/** * REVIEW - looks similar to above methods, but now unused; can it be deleted? */ public static JsonRepresentation readParameterMapAsMap(final Map<String, String[]> parameterMap) { final JsonRepresentation map = JsonRepresentation.newMap(); for (final Map.Entry<String, String[]> parameter : parameterMap.entrySet()) { map.mapPut(parameter.getKey(), parameter.getValue()[0]); } return map; }
public static JsonRepresentation readParameterMapAsMap(final Map<String, String[]> parameterMap) { final JsonRepresentation map = JsonRepresentation.newMap(); for (final Map.Entry<String, String[]> parameter : parameterMap.entrySet()) { map.mapPut(parameter.getKey(), parameter.getValue()[0]); } return map; }
/** * Will lazily create extensions map as required */ protected JsonRepresentation getExtensions() { JsonRepresentation extensions = representation.getMap("extensions"); if (extensions == null) { extensions = JsonRepresentation.newMap(); representation.mapPut("extensions", extensions); } return extensions; }
private JsonRepresentation getMembersOfType(String memberTypeOf) { final JsonRepresentation members = getRepresentation("members"); return JsonRepresentation.newMap().mapPut( Iterables.filter(members.mapIterable(), havingMemberTypeOf(memberTypeOf))); }
@Override public ResponseBuilder buildResponse( final RepresentationService.Context2 rendererContext, final ObjectAdapter objectAdapter) { final List<MediaType> list = rendererContext.getAcceptableMediaTypes(); ensureCompatibleAcceptHeader(RepresentationType.DOMAIN_OBJECT, list); final ResponseBuilder responseBuilder = buildResponseTo( rendererContext, objectAdapter, JsonRepresentation.newMap(), null); return responseBuilder(responseBuilder); }
@Override @Produces({ MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_USER }) public Response user() { init(RepresentationType.USER, Where.NOWHERE, RepresentationService.Intent.NOT_APPLICABLE); final UserReprRenderer renderer = new UserReprRenderer(getResourceContext(), null, JsonRepresentation.newMap()); renderer.includesSelf().with(getAuthenticationSession()); return Responses.ofOk(renderer, Caching.ONE_HOUR).build(); }
Response collectionDetails(final ObjectAdapter objectAdapter, final String collectionId, final MemberMode memberMode, final Caching caching, Where where) { final OneToManyAssociation collection = getCollectionThatIsVisibleAndUsable(collectionId, Intent.ACCESS, where); final RendererFactory factory = RendererFactoryRegistry.instance.find(RepresentationType.OBJECT_COLLECTION); final ObjectCollectionReprRenderer renderer = (ObjectCollectionReprRenderer) factory.newRenderer(resourceContext, null, JsonRepresentation.newMap()); renderer.with(new ObjectAndCollection(objectAdapter, collection)).usingLinkTo(adapterLinkTo); memberMode.apply(renderer); return ResourceAbstract.responseOfOk(renderer, caching).build(); }
Response actionPrompt(final String actionId, Where where) { final ObjectAction action = getObjectActionThatIsVisibleAndUsable(actionId, Intent.ACCESS, where); final RendererFactory factory = getRendererFactoryRegistry().find(RepresentationType.OBJECT_ACTION); final ObjectActionReprRenderer renderer = (ObjectActionReprRenderer) factory.newRenderer(resourceContext, null, JsonRepresentation.newMap()); renderer.with(new ObjectAndAction(objectAdapter, action)).usingLinkTo(adapterLinkTo).asStandalone(); return ResourceAbstract.responseOfOk(renderer, Caching.NONE).build(); }
@Test(expected = IllegalArgumentException.class) public void whenObjectSpecIsIntegerButReprIsNot() throws Exception { // given allowingObjectSpecHas(EncodableFacet.class, encodableFacet); allowingObjectSpecCorrespondingClassIs(int.class); representation = JsonRepresentation.newMap("foo", "bar"); // when jsonValueEncoder.asAdapter(objectSpec, representation); }
@Test(expected = IllegalArgumentException.class) public void whenObjectSpecIsDoubleButReprIsNot() throws Exception { // given allowingObjectSpecHas(EncodableFacet.class, encodableFacet); allowingObjectSpecCorrespondingClassIs(double.class); representation = JsonRepresentation.newMap("foo", "bar"); // when jsonValueEncoder.asAdapter(objectSpec, representation); }
@Test(expected = IllegalArgumentException.class) public void whenObjectSpecIsBigDecimalButReprIsNot() throws Exception { // given allowingObjectSpecHas(EncodableFacet.class, encodableFacet); allowingObjectSpecCorrespondingClassIs(BigDecimal.class); representation = JsonRepresentation.newMap("foo", "bar"); // when jsonValueEncoder.asAdapter(objectSpec, representation); }
@Test public void domainTypeFromLinkTrailingSlash() throws Exception { final JsonRepresentation link = JsonRepresentation.newMap(); link.mapPut("href", "http://localhost/domainTypes/com.mycompany.myapp.Customer/"); final String oidFromHref = UrlParserUtils.domainTypeFrom(link); assertEquals("com.mycompany.myapp.Customer", oidFromHref); }
private void addLinkToUp() { final JsonRepresentation link = LinkBuilder.newBuilder(rendererContext, Rel.UP.getName(), RepresentationType.HOME_PAGE, "").build(); final LinkFollowSpecs linkFollower = getLinkFollowSpecs().follow("links"); if (linkFollower.matches(link)) { final HomePageReprRenderer renderer = new HomePageReprRenderer(getRendererContext(), linkFollower, JsonRepresentation.newMap()); link.mapPut("value", renderer.render()); } getLinks().arrayAdd(link); }
private void addLinkToUp() { final JsonRepresentation link = LinkBuilder.newBuilder(rendererContext, Rel.UP.getName(), RepresentationType.HOME_PAGE, "").build(); final LinkFollowSpecs linkFollower = getLinkFollowSpecs().follow("links"); if (linkFollower.matches(link)) { final HomePageReprRenderer renderer = new HomePageReprRenderer(getRendererContext(), linkFollower, JsonRepresentation.newMap()); link.mapPut("value", renderer.render()); } getLinks().arrayAdd(link); }
private void addLinkToVersion() { final JsonRepresentation link = LinkBuilder.newBuilder(getRendererContext(), Rel.VERSION.getName(), RepresentationType.VERSION, "version").build(); final LinkFollowSpecs linkFollower = getLinkFollowSpecs().follow("links"); if (linkFollower.matches(link)) { final VersionReprRenderer renderer = new VersionReprRenderer(getRendererContext(), linkFollower, JsonRepresentation.newMap()); link.mapPut("value", renderer.render()); } getLinks().arrayAdd(link); }
@Before public void setUp() throws Exception { mockObjectSpec = context.mock(ObjectSpecification.class); mockEncodableFacet = context.mock(EncodableFacet.class); mockObjectAdapter = context.mock(ObjectAdapter.class); mockAdapterManager = context.mock(AdapterManager.class); JsonValueEncoder.testSetAdapterManager(mockAdapterManager); representation = JsonRepresentation.newMap(); }
private void addLinkToDomainTypes(final Collection<ObjectSpecification> specifications) { final JsonRepresentation link = LinkBuilder.newBuilder(getRendererContext(), Rel.DOMAIN_TYPES.getName(), RepresentationType.TYPE_LIST, "domain-types").build(); final LinkFollowSpecs linkFollower = getLinkFollowSpecs().follow("links"); if (linkFollower.matches(link)) { final TypeListReprRenderer renderer = new TypeListReprRenderer(getRendererContext(), linkFollower, JsonRepresentation.newMap()); renderer.withLink(Rel.SELF, "domain-types").with(specifications); link.mapPut("value", renderer.render()); } getLinks().arrayAdd(link); }
private void addLinkToDescribedBy() { final JsonRepresentation link = DomainTypeReprRenderer.newLinkToBuilder(getRendererContext(), Rel.DESCRIBEDBY, objectAdapter.getSpecification()).build(); final LinkFollowSpecs linkFollower = getLinkFollowSpecs().follow("links"); if (linkFollower.matches(link)) { final DomainTypeReprRenderer renderer = new DomainTypeReprRenderer(getRendererContext(), linkFollower, JsonRepresentation.newMap()); renderer.with(objectAdapter.getSpecification()); link.mapPut("value", renderer.render()); } getLinks().arrayAdd(link); }
private void addUpdatePropertiesLinkIfPersistent() { if (!objectAdapter.representsPersistent()) { return; } final RendererFactory rendererFactory = getRendererFactoryRegistry().find(RepresentationType.DOMAIN_OBJECT); final DomainObjectReprRenderer renderer = (DomainObjectReprRenderer) rendererFactory.newRenderer(getResourceContext(), null, JsonRepresentation.newMap()); final JsonRepresentation domainObjectRepr = renderer.with(objectAdapter).asModifyPropertiesLinkArguments().render(); final LinkBuilder persistLinkBuilder = LinkBuilder.newBuilder(getResourceContext(), Rel.MODIFY, RepresentationType.DOMAIN_OBJECT, "objects/%s", getOidStr()).withHttpMethod(HttpMethod.PUT).withArguments(domainObjectRepr); getLinks().arrayAdd(persistLinkBuilder.build()); }
private void addLinkToUser() { final JsonRepresentation link = LinkBuilder.newBuilder(getResourceContext(), Rel.USER, RepresentationType.USER, "user").build(); final LinkFollower linkFollower = getLinkFollower().follow("links[rel=user]"); if (linkFollower.matches(link)) { final RendererFactory factory = RendererFactoryRegistry.instance.find(RepresentationType.USER); final UserReprRenderer renderer = (UserReprRenderer) factory.newRenderer(getResourceContext(), linkFollower, JsonRepresentation.newMap()); renderer.with(getResourceContext().getAuthenticationSession()); link.mapPut("value", renderer.render()); } getLinks().arrayAdd(link); }