Package net.pterodactylus.sone.data

Examples of net.pterodactylus.sone.data.PostReply


    Optional<Post> post = webInterface.getCore().getPost(postId);
    if (!post.isPresent()) {
      return createErrorJsonObject("invalid-post-id");
    }
    text = TextFilter.filter(request.getHttpRequest().getHeader("host"), text);
    PostReply reply = webInterface.getCore().createReply(sender, post.get(), text);
    return createSuccessJsonObject().put("reply", reply.getId()).put("sone", sender.getId());
  }
View Full Code Here


   * @param newPostReplyFoundEvent
   *            The event
   */
  @Subscribe
  public void newReplyFound(NewPostReplyFoundEvent newPostReplyFoundEvent) {
    PostReply reply = newPostReplyFoundEvent.postReply();
    boolean isLocal = reply.getSone().isLocal();
    if (isLocal) {
      localReplyNotification.add(reply);
    } else {
      newReplyNotification.add(reply);
    }
    if (!hasFirstStartNotification()) {
      notificationManager.addNotification(isLocal ? localReplyNotification : newReplyNotification);
      if (!getMentionedSones(reply.getText()).isEmpty() && !isLocal && reply.getPost().isPresent() && (reply.getTime() <= System.currentTimeMillis())) {
        mentionNotification.add(reply.getPost().get());
        notificationManager.addNotification(mentionNotification);
      }
    } else {
      getCore().markReplyKnown(reply);
    }
View Full Code Here

   * @param postReplyRemovedEvent
   *            The event
   */
  @Subscribe
  public void replyRemoved(PostReplyRemovedEvent postReplyRemovedEvent) {
    PostReply reply = postReplyRemovedEvent.postReply();
    newReplyNotification.remove(reply);
    localReplyNotification.remove(reply);
    if (!getMentionedSones(reply.getText()).isEmpty() && reply.getPost().isPresent()) {
      boolean isMentioned = false;
      for (PostReply existingReply : getCore().getReplies(reply.getPostId())) {
        isMentioned |= !reply.isKnown() && !getMentionedSones(existingReply.getText()).isEmpty();
      }
      if (!isMentioned) {
        mentionNotification.remove(reply.getPost().get());
      }
    }
  }
View Full Code Here

   */
  @Override
  public PostReply build() throws IllegalStateException {
    validate();

    PostReply postReply = new MemoryPostReply(database, soneProvider, randomId ? UUID.randomUUID().toString() : id, senderId, currentTime ? System.currentTimeMillis() : time, text, postId);
    postReply.setKnown(database.isPostReplyKnown(postReply));
    return postReply;
  }
View Full Code Here

  /**
   * {@inheritDoc}
   */
  @Override
  public Response execute(SimpleFieldSet parameters, Bucket data, AccessType accessType) throws FcpException {
    PostReply reply = getReply(parameters, "Reply");
    if (!reply.getSone().isLocal()) {
      return new ErrorResponse(401, "Not allowed.");
    }
    return new Response("ReplyDeleted", new SimpleFieldSetBuilder().get());
  }
View Full Code Here

  /**
   * {@inheritDoc}
   */
  @Override
  public Response execute(SimpleFieldSet parameters, Bucket data, AccessType accessType) throws FcpException {
    PostReply reply = getReply(parameters, "Reply");
    Sone sone = getSone(parameters, "Sone", true);
    sone.addLikedReplyId(reply.getId());
    return new Response("ReplyLiked", new SimpleFieldSetBuilder().put("LikeCount", getCore().getLikes(reply).size()).get());
  }
View Full Code Here

  @Override
  public Response execute(SimpleFieldSet parameters, Bucket data, AccessType accessType) throws FcpException {
    Sone sone = getSone(parameters, "Sone", true);
    Post post = getPost(parameters, "Post");
    String text = getString(parameters, "Text");
    PostReply reply = getCore().createReply(sone, post, text);
    return new Response("ReplyCreated", new SimpleFieldSetBuilder().put("Reply", reply.getId()).get());
  }
View Full Code Here

      logger.log(Level.FINE, String.format("Tried to create reply for non-local Sone: %s", sone));
      return null;
    }
    PostReplyBuilder postReplyBuilder = postReplyBuilder();
    postReplyBuilder.randomId().from(sone.getId()).to(post.getId()).currentTime().withText(text.trim());
    final PostReply reply = postReplyBuilder.build();
    database.storePostReply(reply);
    eventBus.post(new NewPostReplyFoundEvent(reply));
    sone.addReply(reply);
    touchConfiguration();
    localElementTicker.schedule(new Runnable() {
View Full Code Here

  /**
   * {@inheritDoc}
   */
  @Override
  public Object get(TemplateContext templateContext, Object object, String member) {
    PostReply reply = (PostReply) object;
    if ("likes".equals(member)) {
      return core.getLikes(reply);
    } else if (member.equals("liked")) {
      Sone currentSone = (Sone) templateContext.get("currentSone");
      return (currentSone != null) && (currentSone.isLikedReplyId(reply.getId()));
    } else if (member.equals("new")) {
      return !reply.isKnown();
    } else if (member.equals("loaded")) {
      return reply.getSone() != null;
    }
    return super.get(templateContext, object, member);
  }
View Full Code Here

TOP

Related Classes of net.pterodactylus.sone.data.PostReply

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.