createContainers(files, containers, containerFiles);
/* collect files */
- int edition = ((EditionProject) project).getEdition();
+ int edition = project.getEdition();
String dirURI = "freenet:USK@" + project.getInsertURI() + "/" + project.getPath() + "/" + edition + "/";
ClientPutComplexDir putDir = new ClientPutComplexDir("dir-" + counter++, dirURI);
putDir.setDefaultName(project.getIndexFile());
}
/* parse progress and success messages */
+ String finalURI = null;
boolean success = false;
boolean finished = false;
boolean disconnected = false;
if (!finished) {
String messageName = message.getName();
if ("URIGenerated".equals(messageName)) {
- fireProjectURIGenerated(message.get("URI"));
+ finalURI = message.get("URI");
+ fireProjectURIGenerated(finalURI);
}
if ("SimpleProgress".equals(messageName)) {
int total = Integer.parseInt(message.get("Total"));
/* post-insert work */
fireProjectInsertFinished(success, disconnected ? new IOException("Connection terminated") : null);
if (success) {
- if (project instanceof EditionProject) {
- ((EditionProject) project).setEdition(edition + 1);
- }
+ String editionPart = finalURI.substring(finalURI.lastIndexOf('/') + 1);
+ int newEdition = Integer.parseInt(editionPart);
+ project.setEdition(newEdition);
}
}