X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;ds=sidebyside;f=src%2Fde%2Ftodesbaum%2Fjsite%2Fmain%2FCLI.java;h=1fe69baa80e1e60f6c78d6649a7ddd46da562174;hb=61db8327999361bf9154236a8713bf72c06bc3d7;hp=435902820bc46197847d67493bd161ecc188a202;hpb=e44d6888ffaa3151a99b9bb7cb3c887d11feb596;p=jSite.git
diff --git a/src/de/todesbaum/jsite/main/CLI.java b/src/de/todesbaum/jsite/main/CLI.java
index 4359028..1fe69ba 100644
--- a/src/de/todesbaum/jsite/main/CLI.java
+++ b/src/de/todesbaum/jsite/main/CLI.java
@@ -1,5 +1,5 @@
/*
- * jSite -
+ * jSite -
* Copyright (C) 2006 David Roden
*
* This program is free software; you can redistribute it and/or modify
@@ -28,20 +28,42 @@ import de.todesbaum.jsite.application.Project;
import de.todesbaum.jsite.application.ProjectInserter;
/**
- * @author David Roden <droden@gmail.com>
- * @version $Id$
+ * Command-line interface for jSite.
+ *
+ * @author David âBombeâ Roden <bombe@freenetproject.org>
*/
public class CLI implements InsertListener {
+ /** Object used for synchronization. */
private Object lockObject = new Object();
+
+ /** Writer for the console. */
private PrintWriter outputWriter = new PrintWriter(System.out, true);
+
+ /** The freenet interface. */
private Freenet7Interface freenetInterface;
+
+ /** The project inserter. */
private ProjectInserter projectInserter = new ProjectInserter();
+
+ /** The list of nodes. */
private Node[] nodes;
+
+ /** The projects. */
private Project[] projects;
+
+ /** Whether the insert has finished. */
private boolean finished = false;
+
+ /** Whether the insert finished successfully. */
private boolean success;
+ /**
+ * Creates a new command-line interface.
+ *
+ * @param args
+ * The command-line arguments
+ */
private CLI(String[] args) {
if ((args.length == 0) || args[0].equals("-h") || args[0].equals("--help")) {
@@ -74,7 +96,7 @@ public class CLI implements InsertListener {
projectInserter.setFreenetInterface(freenetInterface);
Project currentProject = null;
- for (String argument: args) {
+ for (String argument : args) {
String value = argument.substring(argument.indexOf('=') + 1).trim();
if (argument.startsWith("--node=")) {
Node newNode = getNode(value);
@@ -133,8 +155,15 @@ public class CLI implements InsertListener {
configuration.save();
}
+ /**
+ * Returns the project with the given name.
+ *
+ * @param name
+ * The name of the project
+ * @return The project, or null
if no project could be found
+ */
private Project getProject(String name) {
- for (Project project: projects) {
+ for (Project project : projects) {
if (project.getName().equals(name)) {
return project;
}
@@ -142,8 +171,15 @@ public class CLI implements InsertListener {
return null;
}
+ /**
+ * Returns the node with the given name.
+ *
+ * @param name
+ * The name of the node
+ * @return The node, or null
if no node could be found
+ */
private Node getNode(String name) {
- for (Node node: nodes) {
+ for (Node node : nodes) {
if (node.getName().equals(name)) {
return node;
}
@@ -151,6 +187,14 @@ public class CLI implements InsertListener {
return null;
}
+ /**
+ * Inserts the given project.
+ *
+ * @param currentProject
+ * The project to insert
+ * @return true
if the insert finished successfully,
+ * false
otherwise
+ */
private boolean insertProject(Project currentProject) {
if (!freenetInterface.hasNode()) {
outputWriter.println("Node is not running!");
@@ -163,6 +207,7 @@ public class CLI implements InsertListener {
try {
lockObject.wait();
} catch (InterruptedException e) {
+ /* ignore, we're in a loop. */
}
}
}
@@ -180,6 +225,9 @@ public class CLI implements InsertListener {
outputWriter.println("Starting Insert of project \"" + project.getName() + "\".");
}
+ /**
+ * {@inheritDoc}
+ */
public void projectURIGenerated(Project project, String uri) {
outputWriter.println("URI: " + uri);
}
@@ -207,6 +255,12 @@ public class CLI implements InsertListener {
// MAIN
//
+ /**
+ * Creates a new command-line interface with the given arguments.
+ *
+ * @param args
+ * The command-line arguments
+ */
public static void main(String[] args) {
new CLI(args);
}