@Nullable private ActionDescriptor getActionDescriptorForHttpGet(Link templatedAffordance) { if (!(templatedAffordance instanceof Affordance)) { return null; } final List<ActionDescriptor> actionDescriptors = ((Affordance) templatedAffordance).getActionDescriptors(); ActionDescriptor actionDescriptorGet = null; for (ActionDescriptor actionDescriptor : actionDescriptors) { String httpMethod = actionDescriptor.getHttpMethod(); if ("GET".equalsIgnoreCase(httpMethod)) { actionDescriptorGet = actionDescriptor; } } return actionDescriptorGet; }
private List<Link> getEmbeddedLinks(List<Link> links) { List<Link> ret = new ArrayList<Link>(); for (Link link : links) { if (!navigationalRels.contains(link.getRel())) { if (link instanceof Affordance) { Affordance affordance = (Affordance) link; List<ActionDescriptor> actionDescriptors = affordance.getActionDescriptors(); for (ActionDescriptor actionDescriptor : actionDescriptors) { if ("GET".equals(actionDescriptor.getHttpMethod()) && !affordance.isTemplated()) { ret.add(link); } } } else { // templated links are actions, not embedded links if(!link.isTemplated()) { ret.add(link); } } } } return ret; }
private List<Link> getEmbeddedLinks(List<Link> links) { List<Link> ret = new ArrayList<Link>(); for (Link link : links) { if (!navigationalRels.contains(link.getRel())) { if (link instanceof Affordance) { Affordance affordance = (Affordance) link; List<ActionDescriptor> actionDescriptors = affordance.getActionDescriptors(); for (ActionDescriptor actionDescriptor : actionDescriptors) { if ("GET".equals(actionDescriptor.getHttpMethod()) && !affordance.isTemplated()) { ret.add(link); } } } else { // templated links are actions, not embedded links if(!link.isTemplated()) { ret.add(link); } } } } return ret; }
private List<Link> getActions(List<Link> links) { List<Link> ret = new ArrayList<Link>(); for (Link link : links) { if (link instanceof Affordance) { Affordance affordance = (Affordance) link; List<ActionDescriptor> actionDescriptors = affordance.getActionDescriptors(); for (ActionDescriptor actionDescriptor : actionDescriptors) { // non-self GET non-GET and templated links are actions if (!("GET".equals(actionDescriptor.getHttpMethod())) || affordance.isTemplated()) { ret.add(link); // add just once for eligible link break; } } } else { // templated links are actions if (!navigationalRels.contains(link.getRel()) && link.isTemplated()) { ret.add(link); } } } return ret; }
private List<Link> getActions(List<Link> links) { List<Link> ret = new ArrayList<Link>(); for (Link link : links) { if (link instanceof Affordance) { Affordance affordance = (Affordance) link; List<ActionDescriptor> actionDescriptors = affordance.getActionDescriptors(); for (ActionDescriptor actionDescriptor : actionDescriptors) { // non-self GET non-GET and templated links are actions if (!("GET".equals(actionDescriptor.getHttpMethod())) || affordance.isTemplated()) { ret.add(link); // add just once for eligible link break; } } } else { // templated links are actions if (!navigationalRels.contains(link.getRel()) && link.isTemplated()) { ret.add(link); } } } return ret; }
public static List<ActionDescriptor> getActionDescriptors(Link link) { List<ActionDescriptor> actionDescriptors; if (link instanceof Affordance) { actionDescriptors = ((Affordance) link).getActionDescriptors(); } else { SpringActionDescriptor actionDescriptor = new SpringActionDescriptor("get", RequestMethod.GET .name()); PartialUriTemplate partialUriTemplate = new PartialUriTemplate(link.getHref()); PartialUriTemplateComponents parts = partialUriTemplate.asComponents(); actionDescriptors = Arrays.asList((ActionDescriptor) actionDescriptor); } return actionDescriptors; }
public static List<ActionDescriptor> getActionDescriptors(Link link) { List<ActionDescriptor> actionDescriptors; if (link instanceof Affordance) { actionDescriptors = ((Affordance) link).getActionDescriptors(); } else { SpringActionDescriptor actionDescriptor = new SpringActionDescriptor("get", RequestMethod.GET .name()); PartialUriTemplate partialUriTemplate = new PartialUriTemplate(link.getHref()); PartialUriTemplateComponents parts = partialUriTemplate.asComponents(); actionDescriptors = Arrays.asList((ActionDescriptor) actionDescriptor); } return actionDescriptors; }
if (link instanceof Affordance) { final Affordance affordance = (Affordance) link; final List<ActionDescriptor> actionDescriptors = affordance.getActionDescriptors(); if (!actionDescriptors.isEmpty()) { List<ActionDescriptor> actionDescriptors = collectionAffordance.getActionDescriptors(); if (!actionDescriptors.isEmpty()) { jgen.writeArrayFieldStart("hydra:operation"); List<ActionDescriptor> actionDescriptors = affordance.getActionDescriptors();
if (link instanceof Affordance) { Affordance affordance = (Affordance) link; List<ActionDescriptor> actionDescriptors = affordance.getActionDescriptors(); for (ActionDescriptor actionDescriptor : actionDescriptors) { List<SirenField> fields = toSirenFields(actionDescriptor);
if (link instanceof Affordance) { Affordance affordance = (Affordance) link; List<ActionDescriptor> actionDescriptors = affordance.getActionDescriptors(); for (ActionDescriptor actionDescriptor : actionDescriptors) { List<SirenField> fields = toSirenFields(actionDescriptor);
List<ActionDescriptor> actionDescriptors = affordance.getActionDescriptors(); if (actionDescriptors.isEmpty()) {
List<ActionDescriptor> actionDescriptors = affordance.getActionDescriptors(); if (actionDescriptors.isEmpty()) {
@Test public void testActionDescriptorForRequestBody() { final Affordance affordance = AffordanceBuilder.linkTo(AffordanceBuilder.methodOn(DummyController.class) .updateThing(1, (Thing) null)) .rel("event") .build(); Assert.assertEquals("Link: <http://example.com/things/1>; rel=\"event\"", affordance.toString()); final ActionDescriptor actionDescriptor = affordance.getActionDescriptors() .get(0); final ActionInputParameter thingParameter = actionDescriptor.getRequestBody(); Assert.assertEquals("Thing", ((Class) thingParameter.getGenericParameterType()).getSimpleName()); Assert.assertThat(thingParameter.isRequestBody(), Matchers.is(true)); Assert.assertEquals("updateThing", actionDescriptor.getActionName()); }
@Test public void testActionDescriptorForRequestParams() { final Affordance affordance = AffordanceBuilder.linkTo(AffordanceBuilder.methodOn(DummyController.class) .updateThing(1, (EventStatusType) null)) .rel("eventStatus") .build(); Assert.assertEquals("Link-Template: <http://example.com/things/1/eventStatus{?eventStatus}>; " + "rel=\"eventStatus\"", affordance.toString()); final ActionDescriptor actionDescriptor = affordance.getActionDescriptors() .get(0); Assert.assertThat((EventStatusType[]) actionDescriptor.getActionInputParameter("eventStatus") .getPossibleValues(actionDescriptor), Matchers.arrayContainingInAnyOrder( EventStatusType.EVENT_CANCELLED, EventStatusType.EVENT_POSTPONED, EventStatusType.EVENT_RESCHEDULED, EventStatusType.EVENT_SCHEDULED)); Assert.assertEquals("updateThing", actionDescriptor.getActionName()); }