import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
+import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
import net.pterodactylus.jsite.core.Core;
import net.pterodactylus.jsite.core.CoreListener;
+import net.pterodactylus.jsite.core.JSiteException;
import net.pterodactylus.jsite.core.Node;
-import net.pterodactylus.jsite.core.Project;
-import net.pterodactylus.jsite.core.Request;
import net.pterodactylus.jsite.i18n.I18n;
import net.pterodactylus.jsite.i18n.gui.I18nAction;
+import net.pterodactylus.jsite.project.Project;
import net.pterodactylus.util.image.IconLoader;
import net.pterodactylus.util.io.Closer;
import net.pterodactylus.util.logging.Logging;
nodeNodeDisconnectActions.clear();
nodeDisconnectActionNodes.clear();
for (Node node: nodes) {
- logger.finer("adding node “" + node + "” to menu");
+ logger.finer("adding node “" + node + "” to menus");
Action nodeConnectAction = new AbstractAction(node.getName()) {
/**
* Adds a project.
*/
private void addProject() {
- Project project = new Project();
- project.setName("New Project");
- project.setDescription("");
+ try {
+ Project project = core.createProject();
+ project.setName(I18n.get("general.newProject.name"));
+ project.setDescription(I18n.get("general.newProject.description", new Date()));
+ mainWindow.addProject(project, true);
+ } catch (JSiteException nne1) {
+ /* TODO - add i18n */
+ JOptionPane.showMessageDialog(mainWindow, I18n.get(""), I18n.get(""), JOptionPane.ERROR_MESSAGE);
+ } catch (IOException e) {
+ /* TODO - add i18n */
+ JOptionPane.showMessageDialog(mainWindow, I18n.get(""), I18n.get(""), JOptionPane.ERROR_MESSAGE);
+ }
}
/**
*/
public void loadingProjectsDone(String directory) {
mainWindow.setStatusBarText(I18n.get("mainWindow.statusBar.projectLoadingDone"));
+ for (Project project: core.getProjects()) {
+ mainWindow.addProject(project, false);
+ }
}
/**
public void nodeAdded(Node node) {
logger.log(Level.INFO, "node added: " + node);
nodeList.add(node);
+ logger.log(Level.FINE, "nodeList.size(): " + nodeList.size());
manageNodesDialog.setNodeList(nodeList);
rebuildNodeActions(nodeList);
mainWindow.refreshNodeMenuItems();
/**
* {@inheritDoc}
*/
+ public void nodeConnectionFailed(Node node, Throwable cause) {
+ Action nodeConnectAction = nodeNodeConnectActions.get(node);
+ nodeConnectActions.add(nodeConnectAction);
+ mainWindow.setStatusBarText(I18n.get("mainWindow.statusBar.connectionToNodeFailed", node.getName(), node.getHostname(), node.getPort(), (cause != null) ? cause.getMessage() : "no reason given"));
+ JOptionPane.showMessageDialog(mainWindow, I18n.get("mainWindow.error.nodeConnectionFailed.message", node.getName(), node.getHostname(), node.getPort(), (cause != null) ? cause.getMessage() : "no reason given"), I18n.get("mainWindow.error.nodeConnectionFailed.title"), JOptionPane.ERROR_MESSAGE);
+ mainWindow.refreshNodeMenuItems();
+ }
+
+ /**
+ * {@inheritDoc}
+ */
public void nodeDisconnected(Node node, Throwable throwable) {
Action nodeConnectAction = nodeNodeConnectActions.get(node);
nodeConnectActions.add(nodeConnectAction);
}
/**
- * {@inheritDoc}
+ * @see net.pterodactylus.jsite.core.CoreListener#projectInsertStarted(net.pterodactylus.jsite.project.Project)
*/
- public void requestAdded(Node node, Request request) {
- logger.log(Level.INFO, "request added to node: " + request + ", " + node);
- /* TODO - implement */
+ public void projectInsertStarted(Project project) {
+ mainWindow.projectInsertStarted(project);
}
/**
- * {@inheritDoc}
+ * @see net.pterodactylus.jsite.core.CoreListener#projectInsertProgressed(net.pterodactylus.jsite.project.Project,
+ * int, int, int, int, int, boolean)
+ */
+ public void projectInsertProgressed(Project project, int totalBlocks, int requiredBlocks, int successfulBlocks, int failedBlocks, int fatallyFailedBlocks, boolean finalizedTotal) {
+ mainWindow.projectInsertProgressed(project, totalBlocks, requiredBlocks, successfulBlocks, failedBlocks, fatallyFailedBlocks, finalizedTotal);
+ }
+
+ /**
+ * @see net.pterodactylus.jsite.core.CoreListener#projectInsertGeneratedURI(net.pterodactylus.jsite.project.Project,
+ * java.lang.String)
+ */
+ public void projectInsertGeneratedURI(Project project, String uri) {
+ mainWindow.projectInsertGeneratedURI(project);
+ }
+
+ /**
+ * @see net.pterodactylus.jsite.core.CoreListener#projectInsertFinished(net.pterodactylus.jsite.project.Project,
+ * boolean)
*/
- public void requestProgressed(Request request, int totalBlocks, int requiredBlocks, int successfulBlocks, int failedBlocks, int fatallyFailedBlocks, boolean finalizedTotal) {
- /* TODO - update table model */
- mainWindow.setStatusBarText(request.getIdentifier() + " @ " + ((10000 * successfulBlocks / requiredBlocks) / 100.0));
+ public void projectInsertFinished(Project project, boolean success) {
+ mainWindow.projectInsertFinished(project, success);
}
//