+ * Inserts the given project.
+ *
+ * @param project
+ * The project to insert
+ */
+ private void insertProject(Project project) {
+ Node targetNode = project.getNode();
+ if (targetNode == null) {
+ JComboBox nodeComboBox = new JComboBox();
+ for (Node node : nodeList) {
+ ((DefaultComboBoxModel) nodeComboBox.getModel()).addElement(node.getName() + " (" + node.getHostname() + ":" + node.getPort() + ")");
+ }
+ int selectedOption = JOptionPane.showConfirmDialog(mainWindow, new Object[] { I18n.get("nodeSelectionDialog.selectNode.text"), nodeComboBox }, I18n.get("nodeSelectionDialog.noNodeSelected.text"), JOptionPane.OK_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE);
+ if (selectedOption == JOptionPane.CANCEL_OPTION) {
+ return;
+ }
+ int selectedNodeIndex = nodeComboBox.getSelectedIndex();
+ logger.log(Level.FINE, "selected node index: " + selectedNodeIndex);
+ targetNode = nodeList.get(selectedNodeIndex);
+ }
+ logger.log(Level.INFO, "Inserting project “" + project.getName() + "” to node “" + targetNode.getName() + "”...");
+ if (!core.isNodeConnected(targetNode)) {
+ JOptionPane.showMessageDialog(mainWindow, I18n.get("mainWindow.error.nodeNotConnected.message", targetNode.getName()), I18n.get("mainWindow.error.nodeNotConnected.title", targetNode.getName()), JOptionPane.ERROR_MESSAGE);
+ return;
+ }
+ core.insertProject(targetNode, project);
+ }
+
+ /**