package it.demo.twitterlike.android.tasks; import it.demo.twitterlike.android.domain.InternalMessage; import it.demo.twitterlike.rest.api.Message; import java.util.ArrayList; import org.springframework.hateoas.Link; import org.springframework.hateoas.PagedResources; import org.springframework.hateoas.Resource; import com.telly.groundy.TaskResult; public class MessageListTask extends AbstractMessageBasedRemoteInvocationTask { public static final String ARGS_LINK = "link"; public static final String MESSAGE_LIST = "messages"; public MessageListTask() { super(true); } protected TaskResult doInRemote() { String _link = getStringArg(ARGS_LINK); Link link = _link == null ? null : new Link(_link); PagedResources<Resource<Message>> pages = getMessageOperations() .findDashboardMessages(null, Integer.MAX_VALUE, link); ArrayList<InternalMessage> result = new ArrayList<InternalMessage>(); if (pages != null) { for (Resource<Message> currentMessage : pages) { result.add(buildInternalMessage(currentMessage)); } } return succeeded().add(MESSAGE_LIST, result); } }