Create keys correctly.
[Sone.git] / src / main / java / net / pterodactylus / sone / core / Core.java
index aeb7d4f..dfa94d6 100644 (file)
@@ -201,7 +201,7 @@ public class Core extends AbstractService {
                Sone sone;
                try {
                        logger.log(Level.FINEST, "Creating new Sone ā€œ%sā€ at %s (%s)ā€¦", new Object[] { name, finalRequestUri, finalInsertUri });
-                       sone = new Sone(UUID.randomUUID(), name, new FreenetURI(finalRequestUri).setKeyType("USK"), new FreenetURI(finalInsertUri).setKeyType("USK"));
+                       sone = new Sone(UUID.randomUUID(), name, new FreenetURI(finalRequestUri).setKeyType("USK").setDocName("Sone-" + name), new FreenetURI(finalInsertUri).setKeyType("USK").setDocName("Sone-" + name));
                        sone.setProfile(new Profile());
                        /* set modification counter to 1 so it is inserted immediately. */
                        sone.setModificationCounter(1);
@@ -352,6 +352,9 @@ public class Core extends AbstractService {
                                        configuration.getLongValue(postPrefix + "/Time").setValue(post.getTime());
                                        configuration.getStringValue(postPrefix + "/Text").setValue(post.getText());
                                }
+                               /* write null ID as terminator. */
+                               configuration.getStringValue(sonePrefix + "/Post." + postId + "/ID").setValue(null);
+
                                int replyId = 0;
                                for (Reply reply : sone.getReplies()) {
                                        String replyPrefix = sonePrefix + "/Reply." + replyId++;
@@ -363,7 +366,12 @@ public class Core extends AbstractService {
                                        configuration.getLongValue(replyPrefix + "/Time").setValue(reply.getTime());
                                        configuration.getStringValue(replyPrefix + "/Text").setValue(reply.getText());
                                }
+                               /* write null ID as terminator. */
+                               configuration.getStringValue(sonePrefix + "/Reply." + replyId + "/ID").setValue(null);
                        }
+                       /* write null ID as terminator. */
+                       configuration.getStringValue("Sone/Sone." + soneId + "/ID").setValue(null);
+
                } catch (ConfigurationException ce1) {
                        logger.log(Level.WARNING, "Could not store configuration!", ce1);
                }