/*
- * jSite -
+ * jSite -
* Copyright (C) 2006 David Roden
*
* This program is free software; you can redistribute it and/or modify
import de.todesbaum.jsite.application.Node;
import de.todesbaum.jsite.application.Project;
import de.todesbaum.jsite.application.ProjectInserter;
+import de.todesbaum.util.io.StreamCopier.ProgressListener;
/**
* Command-line interface for jSite.
- *
+ *
* @author David ‘Bombe’ Roden <bombe@freenetproject.org>
*/
public class CLI implements InsertListener {
/**
* Creates a new command-line interface.
- *
+ *
* @param args
* The command-line arguments
*/
/**
* Returns the project with the given name.
- *
+ *
* @param name
* The name of the project
* @return The project, or <code>null</code> if no project could be found
/**
* Returns the node with the given name.
- *
+ *
* @param name
* The name of the node
* @return The node, or <code>null</code> if no node could be found
/**
* Inserts the given project.
- *
+ *
* @param currentProject
* The project to insert
* @return <code>true</code> if the insert finished successfully,
return false;
}
projectInserter.setProject(currentProject);
- projectInserter.start();
+ projectInserter.start(new ProgressListener() {
+
+ public void onProgress(long copied, long length) {
+ System.out.print("Uploaded: " + copied + " / " + length + " bytes...\r");
+ }
+ });
synchronized (lockObject) {
while (!finished) {
try {
/**
* {@inheritDoc}
*/
+ public void projectUploadFinished(Project project) {
+ outputWriter.println("Project \"" + project.getName() + "\" has ben uploaded, starting insert...");
+ }
+
+ /**
+ * {@inheritDoc}
+ */
public void projectURIGenerated(Project project, String uri) {
outputWriter.println("URI: " + uri);
}
/**
* Creates a new command-line interface with the given arguments.
- *
+ *
* @param args
* The command-line arguments
*/