/** * Construct the set of action links for an object * * @param uriInfo the URI info * @param model the object * @param suggestedParentType the suggested parent type * @return the object, including its set of action links */ private static <R extends BaseResource> void setActions(UriInfo uriInfo, R model, Class<? extends BaseResource> suggestedParentType) { Collection collection = getCollection(model); UriBuilder uriBuilder = getUriBuilder(uriInfo, model, suggestedParentType); if (uriBuilder != null) { ActionsBuilder actionsBuilder = new ActionsBuilder(uriBuilder, collection.getResourceType()); model.setActions(actionsBuilder.build()); } }
public StorageDomain addLinks() { StorageDomain storageDomain = JAXBHelper.clone(OBJECT_FACTORY.createStorageDomain(getModel())); storageDomain = LinkHelper.addLinks(getUriInfo(), storageDomain); UriBuilder uriBuilder = LinkHelper.getUriBuilder(getUriInfo(), storageDomain); ActionsBuilder actionsBuilder = new ActionsBuilder(uriBuilder, StorageDomainResource.class); storageDomain.setActions(actionsBuilder.build()); return storageDomain; }
public static StorageDomain addLinks(UriInfo uriInfo, StorageDomain storageDomain) { storageDomain = JAXBHelper.clone("storage_domain", StorageDomain.class, storageDomain); if (isExport(storageDomain)) { String [] subCollections = { "templates", "vms" }; storageDomain.getLinks().clear(); for (String collection : subCollections) { addSubCollection(uriInfo, storageDomain, collection); } } storageDomain = LinkHelper.addLinks(uriInfo, storageDomain); String [] subCollections = { "files" }; for (String collection : subCollections) { Link link = new Link(); link.setRel(collection); link.setHref(LinkHelper.getUriBuilder(uriInfo, storageDomain).path(collection).build().toString()); storageDomain.getLinks().add(link); } ActionsBuilder actionsBuilder = new ActionsBuilder(LinkHelper.getUriBuilder(uriInfo, storageDomain), StorageDomainResource.class); storageDomain.setActions(actionsBuilder.build()); return storageDomain; }