Return local Sones from core and web interface.
[Sone.git] / src / main / java / net / pterodactylus / sone / web / CreatePostPage.java
index e77e55a..d66690e 100644 (file)
@@ -17,6 +17,9 @@
 
 package net.pterodactylus.sone.web;
 
+import com.google.common.base.Optional;
+
+import net.pterodactylus.sone.data.LocalSone;
 import net.pterodactylus.sone.data.Post;
 import net.pterodactylus.sone.data.Sone;
 import net.pterodactylus.sone.text.TextFilter;
@@ -60,14 +63,13 @@ public class CreatePostPage extends SoneTemplatePage {
                        if (text.length() != 0) {
                                String senderId = request.getHttpRequest().getPartAsStringFailsafe("sender", 43);
                                String recipientId = request.getHttpRequest().getPartAsStringFailsafe("recipient", 43);
-                               Sone currentSone = getCurrentSone(request.getToadletContext());
-                               Sone sender = webInterface.getCore().getLocalSone(senderId, false);
-                               if (sender == null) {
-                                       sender = currentSone;
+                               Optional<Sone> recipient = webInterface.getCore().getSone(recipientId);
+                               Optional<LocalSone> sender = webInterface.getCore().getLocalSone(senderId);
+                               if (!sender.isPresent()) {
+                                       sender = getCurrentSone(request.getToadletContext());
                                }
-                               Sone recipient = webInterface.getCore().getSone(recipientId);
                                text = TextFilter.filter(request.getHttpRequest().getHeader("host"), text);
-                               webInterface.getCore().createPost(sender, recipient, System.currentTimeMillis(), text);
+                               webInterface.getCore().createPost(sender.get(), recipient, text);
                                throw new RedirectException(returnPage);
                        }
                        templateContext.set("errorTextEmpty", true);