public List retrieve()

in appengine-java8/translate-pubsub/src/main/java/com/example/appengine/translatepubsub/MessageRepositoryImpl.java [77:115]


  public List<Message> retrieve(int limit) {
    // Get Message saved in Datastore
    Datastore datastore = getDatastoreInstance();
    Query<Entity> query =
        Query.newEntityQueryBuilder()
            .setKind(messagesKind)
            .setLimit(limit)
            .addOrderBy(StructuredQuery.OrderBy.desc("publishTime"))
            .build();
    QueryResults<Entity> results = datastore.run(query);

    List<Message> messages = new ArrayList<>();
    while (results.hasNext()) {
      Entity entity = results.next();
      Message message = new Message(entity.getString("messageId"));
      String data = entity.getString("data");
      if (data != null) {
        message.setData(data);
      }
      String publishTime = entity.getString("publishTime");
      if (publishTime != null) {
        message.setPublishTime(publishTime);
      }
      if (entity.contains("sourceLang")) {
        String sourceLang = entity.getString("sourceLang");
        if (sourceLang != null) {
          message.setSourceLang(sourceLang);
        }
      }
      if (entity.contains("targetLang")) {
        String targetLang = entity.getString("targetLang");
        if (targetLang != null) {
          message.setTargetLang(targetLang);
        }
      }
      messages.add(message);
    }
    return messages;
  }