public Task<?> destroy(final Application application) { return mgmt.getExecutionManager().submit(new Runnable() { @Override public void run() { ((EntityInternal)application).destroy(); mgmt.getEntityManager().unmanage(application); } }); }
@Override public void setPersister(BrooklynMementoPersister val) { if (persister != null && persister != val) { throw new IllegalStateException("Dynamically changing persister is not supported: old="+persister+"; new="+val); } this.persister = checkNotNull(val, "persister"); if (running) { this.realChangeListener = new PeriodicDeltaChangeListener(managementContext.getExecutionManager(), persister, periodicPersistPeriod); this.changeListener = new SafeChangeListener(realChangeListener); } }
@Override public Iterable<TaskSummary> children(String taskId) { Task<?> t = mgmt().getExecutionManager().getTask(taskId); if (t==null) throw WebResourceUtils.notFound("Cannot find task '%s'", taskId); if (!(t instanceof HasTaskChildren)) return Collections.emptyList(); return Collections2.transform(Lists.newArrayList(((HasTaskChildren)t).getChildren()), TaskTransformer.FROM_TASK); }
public BasicBrooklynCatalog(final ManagementContext mgmt, final CatalogDto dto) { this.mgmt = Preconditions.checkNotNull(mgmt, "managementContext"); this.catalog = new CatalogDo(dto); mgmt.getExecutionManager().submit(MutableMap.of("name", "loading catalog"), new Runnable() { public void run() { log.debug("Loading catalog for "+mgmt); catalog.load(mgmt, null); if (log.isDebugEnabled()) log.debug("Loaded catalog for "+mgmt+": "+catalog+"; search classpath is "+catalog.getRootClassLoader()); } }); }
@Override public TaskSummary get(String taskId) { Task<?> t = mgmt().getExecutionManager().getTask(taskId); if (t==null) throw WebResourceUtils.notFound("Cannot find task '%s'", taskId); return TaskTransformer.FROM_TASK.apply(t); }
@Override public TaskSummary getTask(final String application, final String entityToken, String taskId) { // TODO deprecate in favour of ActivityApi.get ? Task<?> t = mgmt().getExecutionManager().getTask(taskId); if (t==null) throw WebResourceUtils.notFound("Cannot find task '%s'", taskId); return TaskTransformer.FROM_TASK.apply(t); }
@GET @ApiOperation( value = "Fetch list of activities for this application" ) public Iterable<TaskSummary> list(@PathParam("application") String applicationId, @PathParam("entity") String entityId) { Entity entity = brooklyn().getEntity(applicationId, entityId); Set<Task<?>> tasks = mgmt().getExecutionManager().getTasksWithTag(entity); return Collections2.transform(tasks, TaskSummary.FROM_TASK); }
public Task<?> destroy(final Application application) { return mgmt.getExecutionManager().submit( MutableMap.of("displayName", "destroying "+application, "description", "REST call to destroy application "+application.getDisplayName()+" ("+application+")"), new Runnable() { @Override public void run() { ((EntityInternal)application).destroy(); mgmt.getEntityManager().unmanage(application); } }); }
@Override public Iterable<TaskSummary> listTasks(String applicationId, String entityId) { Entity entity = brooklyn().getEntity(applicationId, entityId); Set<Task<?>> tasks = BrooklynTasks.getTasksInEntityContext(mgmt().getExecutionManager(), entity); return Collections2.transform(tasks, TaskTransformer.FROM_TASK); }
public String stream(String taskId, String streamId) { Task<?> t = mgmt().getExecutionManager().getTask(taskId); if (t==null) throw WebResourceUtils.notFound("Cannot find task '%s'", taskId); WrappedStream stream = BrooklynTasks.stream(t, streamId); if (stream==null) throw WebResourceUtils.notFound("Cannot find stream '%s' in task '%s'", streamId, taskId); return stream.streamContents.get(); }
@GET @Path("/{task}") @ApiOperation(value = "Fetch task details", responseClass = "brooklyn.rest.domain.TaskSummary") @ApiErrors(value = { @ApiError(code = 404, reason = "Could not find application, entity or task") }) @Produces("text/json") public TaskSummary get( @ApiParam(value = "Application ID or name", required = true) @PathParam("application") final String application, @ApiParam(value = "Entity ID or name", required = true) @PathParam("entity") final String entityToken, @ApiParam(value = "Task ID", required = true) @PathParam("task") String taskId ) { // final EntityLocal entity = brooklyn().getEntity(application, entityToken); // no entity checking done/needed // (should API be refactored to be a top-level?) Task<?> t = mgmt().getExecutionManager().getTask(taskId); if (t==null) throw WebResourceUtils.notFound("Cannot find task '%s'", taskId); return TaskSummary.FROM_TASK.apply(t); }
private void refreshSensors() { ManagementContext managementContext = getManagementContext(); BasicExecutionManager execManager = (BasicExecutionManager) (managementContext != null ? managementContext.getExecutionManager() : null); LocalSubscriptionManager subsManager = (LocalSubscriptionManager) (managementContext != null ? managementContext.getSubscriptionManager() : null); if (managementContext != null) { setAttribute(TOTAL_EFFECTORS_INVOKED, ((ManagementContextInternal)managementContext).getTotalEffectorInvocations()); } if (execManager != null) { setAttribute(TOTAL_TASKS_SUBMITTED, execManager.getTotalTasksSubmitted()); setAttribute(NUM_INCOMPLETE_TASKS, execManager.getNumIncompleteTasks()); setAttribute(NUM_ACTIVE_TASKS, execManager.getNumActiveTasks()); } if (subsManager != null) { setAttribute(TOTAL_EVENTS_PUBLISHED, subsManager.getTotalEventsPublished()); setAttribute(TOTAL_EVENTS_DELIVERED, subsManager.getTotalEventsDelivered()); setAttribute(NUM_SUBSCRIPTIONS, subsManager.getNumSubscriptions()); } } }