protected PolicySummary(Entity entity, Policy policy) { this.id = policy.getId(); this.name = policy.getName(); this.state = Policies.getPolicyStatus(policy); String applicationUri = "/v1/applications/" + entity.getApplicationId(); String entityUri = applicationUri + "/entities/" + entity.getId(); this.links = ImmutableMap.<String, URI>builder() .put("self", URI.create(entityUri + "/policies/" + policy.getId())) .put("config", URI.create(entityUri + "/policies/" + policy.getId() + "/config")) .put("start", URI.create(entityUri + "/policies/" + policy.getId() + "/start")) .put("stop", URI.create(entityUri + "/policies/" + policy.getId() + "/stop")) .put("destroy", URI.create(entityUri + "/policies/" + policy.getId() + "/destroy")) .put("application", URI.create(applicationUri)) .put("entity", URI.create(entityUri)) .build(); }
@Override public void setEntity(EntityLocal entity) { super.setEntity(entity); entity.subscribe(entity, sensor, listenerFromValueClosure(code)); } };
public static PolicySummary policySummary(Entity entity, Policy policy) { String applicationUri = "/v1/applications/" + entity.getApplicationId(); String entityUri = applicationUri + "/entities/" + entity.getId(); Map<String, URI> links = ImmutableMap.<String, URI>builder() .put("self", URI.create(entityUri + "/policies/" + policy.getId())) .put("config", URI.create(entityUri + "/policies/" + policy.getId() + "/config")) .put("start", URI.create(entityUri + "/policies/" + policy.getId() + "/start")) .put("stop", URI.create(entityUri + "/policies/" + policy.getId() + "/stop")) .put("destroy", URI.create(entityUri + "/policies/" + policy.getId() + "/destroy")) .put("application", URI.create(applicationUri)) .put("entity", URI.create(entityUri)) .build(); return new PolicySummary(policy.getId(), policy.getName(), ApplicationTransformer.statusFromLifecycle(Policies.getPolicyStatus(policy)), links); }
@Override public void setEntity(EntityLocal entity) { super.setEntity(entity); entity.subscribe(remoteEntity, remoteSensor, listenerFromValueClosure(code)); } };
@Override public Status getStatus(String application, String entityToken, String policyId) { Policy policy = brooklyn().getPolicy(application, entityToken, policyId); return ApplicationTransformer.statusFromLifecycle(Policies.getPolicyStatus(policy)); }
@GET @Path("/{policy}") @ApiOperation(value = "Gets status of a policy (RUNNING / SUSPENDED)") @ApiErrors(value = { @ApiError(code = 404, reason = "Could not find application, entity or policy") }) public Lifecycle getStatus( @ApiParam(name = "application", value = "Application ID or name", required = true) @PathParam("application") String application, @ApiParam(name = "entity", value = "Entity ID or name", required = true) @PathParam("entity") String entityToken, @ApiParam(name = "policy", value = "Policy ID or name", required = true) @PathParam("policy") String policyId ) { Policy policy = brooklyn().getPolicy(application, entityToken, policyId); return Policies.getPolicyStatus(policy); }