package algoLike.push;
import java.util.*;
import java.util.stream.Collectors;
import javax.ws.rs.*;
import javax.ws.rs.client.*;
import javax.ws.rs.core.*;
import org.springframework.stereotype.Component;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.core.JsonProcessingException;
import pushPullRefactor.Getter;
import pushPullRefactor.Message;
import pushPullRefactor.Resource;
import pushPullRefactor.State;
@Path("/loseA")
@Component
@Resource("loseA")
public class LoseA {
private client client = ClientBUilder.newClient();
@PullReference("handsA")
@Pushable
private String handsA = "/handsA";
@Produces(MediaType.APPLICATION_JSON)
@GET
@Getter
public boolean getValue() {
List<Map<String, Boolean>> handsA_json = client.target("http:localhost:8080").path(this.handsA).request().get(ArrayList.class);
List<Map.Entry<Integer, Boolean>> handsA = new ArrayList<>();
for (Map<String, Boolean> i : handsA_json) {
handsA.add(new AbstractMap.SimpleEntry<>(
Integer.parseInt(i.entrySet().iterator().next().getKey()),
i.entrySet().iterator().next().getValue()));
}
return (handsA.stream().filter(item -> item.getValue()==false).collect(Collectors.toList()).size()==0);
}
}