Treat an empty index file as no index file.
[jSite.git] / src / de / todesbaum / jsite / application / ProjectInserter.java
index 3d2457b..7256bbe 100644 (file)
@@ -54,6 +54,9 @@ import de.todesbaum.util.io.StreamCopier;
  */
 public class ProjectInserter implements FileScannerListener, Runnable {
 
+       /** Random number for FCP instances. */
+       private static final int random = (int) (Math.random() * Integer.MAX_VALUE);
+
        /** Counter for FCP connection identifier. */
        private static int counter = 0;
 
@@ -366,7 +369,7 @@ public class ProjectInserter implements FileScannerListener, Runnable {
                List<String> files = fileScanner.getFiles();
 
                /* create connection to node */
-               Connection connection = freenetInterface.getConnection("project-insert-" + counter++);
+               Connection connection = freenetInterface.getConnection("project-insert-" + random + counter++);
                boolean connected = false;
                Throwable cause = null;
                try {
@@ -391,7 +394,9 @@ public class ProjectInserter implements FileScannerListener, Runnable {
                int edition = project.getEdition();
                String dirURI = "USK@" + project.getInsertURI() + "/" + project.getPath() + "/" + edition + "/";
                ClientPutComplexDir putDir = new ClientPutComplexDir("dir-" + counter++, dirURI);
-               putDir.setDefaultName(project.getIndexFile());
+               if ((project.getIndexFile() != null) && (project.getIndexFile().length() > 0)) {
+                       putDir.setDefaultName(project.getIndexFile());
+               }
                putDir.setVerbosity(Verbosity.ALL);
                putDir.setMaxRetries(-1);
                for (String filename : files) {
@@ -421,6 +426,7 @@ public class ProjectInserter implements FileScannerListener, Runnable {
                                System.out.println(message);
                        }
                        if (!finished) {
+                               @SuppressWarnings("null")
                                String messageName = message.getName();
                                if ("URIGenerated".equals(messageName)) {
                                        finalURI = message.get("URI");
@@ -442,6 +448,7 @@ public class ProjectInserter implements FileScannerListener, Runnable {
                /* post-insert work */
                fireProjectInsertFinished(success, disconnected ? new IOException("Connection terminated") : null);
                if (success) {
+                       @SuppressWarnings("null")
                        String editionPart = finalURI.substring(finalURI.lastIndexOf('/') + 1);
                        int newEdition = Integer.parseInt(editionPart);
                        project.setEdition(newEdition);