+ String sonePrefix = "Sone/Sone." + soneId++;
+ configuration.getStringValue(sonePrefix + "/ID").setValue(sone.getId());
+ configuration.getStringValue(sonePrefix + "/Name").setValue(sone.getName());
+ configuration.getStringValue(sonePrefix + "/RequestURI").setValue(sone.getRequestUri().toString());
+ configuration.getStringValue(sonePrefix + "/InsertURI").setValue(sone.getInsertUri().toString());
+ configuration.getLongValue(sonePrefix + "/ModificationCounter").setValue(sone.getModificationCounter());
+ Profile profile = sone.getProfile();
+ configuration.getStringValue(sonePrefix + "/Profile/FirstName").setValue(profile.getFirstName());
+ configuration.getStringValue(sonePrefix + "/Profile/MiddleName").setValue(profile.getMiddleName());
+ configuration.getStringValue(sonePrefix + "/Profile/LastName").setValue(profile.getLastName());
+ int postId = 0;
+ for (Post post : sone.getPosts()) {
+ String postPrefix = sonePrefix + "/Post." + postId++;
+ configuration.getStringValue(postPrefix + "/ID").setValue(post.getId());
+ 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++;
+ configuration.getStringValue(replyPrefix + "/ID").setValue(reply.getId());
+ configuration.getStringValue(replyPrefix + "/Post").setValue(reply.getPost().getId());
+ 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);
+
+ int friendId = 0;
+ for (Sone friend : sone.getFriends()) {
+ String friendPrefix = sonePrefix + "/Friend." + friendId++;
+ configuration.getStringValue(friendPrefix + "/ID").setValue(friend.getId());
+ configuration.getStringValue(friendPrefix + "/Key").setValue(friend.getRequestUri().toString());
+ configuration.getStringValue(friendPrefix + "/Name").setValue(friend.getName());
+ }
+ /* write null ID as terminator. */
+ configuration.getStringValue(sonePrefix + "/Friend." + friendId + "/ID").setValue(null);
+