String toApplicationName(ModuleDeploymentId moduleDeploymentId) { return APPLICATION_PREFIX + moduleDeploymentId.toString(); }
@Override public Map<ModuleDeploymentId, ModuleStatus> status() { HashMap<ModuleDeploymentId, ModuleStatus> statuses = new HashMap<ModuleDeploymentId, ModuleStatus>(); for (Entry<String, String> entry : yarnCloudAppService.getClustersStates().entrySet()) { ModuleDeploymentId id = clusterIdToModuleDeploymentId(entry.getKey()); YarnModuleInstanceStatus status = new YarnModuleInstanceStatus(id.toString(), entry .getValue().equals("RUNNING"), null); statuses.put(id, ModuleStatus.of(id).with(status).build()); } return statuses; }
@Override public ModuleStatus status(ModuleDeploymentId id) { ModuleStatus status = status().get(id); if (status == null) { status = ModuleStatus.of(id) .with(new YarnModuleInstanceStatus(id.toString(), false, Collections.<String, String>emptyMap())) .build(); } return status; }
@Override protected ModuleStatusResource instantiateResource(ModuleStatus entity) { ModuleStatusResource resource = new ModuleStatusResource(entity.getModuleDeploymentId().toString(), entity.getState().name()); List<ModuleInstanceStatusResource> instanceStatusResources = new ArrayList<>(); InstanceAssembler instanceAssembler = new InstanceAssembler(entity); List<ModuleInstanceStatus> instanceStatuses = new ArrayList<>(entity.getInstances().values()); Collections.sort(instanceStatuses, INSTANCE_SORTER); for (ModuleInstanceStatus moduleInstanceStatus : instanceStatuses) { instanceStatusResources.add(instanceAssembler.toResource(moduleInstanceStatus)); } resource.setInstances(new Resources<>(instanceStatusResources)); return resource; } }