private List<CloudRoute> toCloudRoutes(List<Map<String, Object>> resources) { return resources.stream() .map(resource -> resourceMapper.mapResource(resource, CloudRoute.class)) .collect(Collectors.toList()); }
@Override public List<CloudServiceBroker> getServiceBrokers() { String urlPath = "/v2/service_brokers?inline-relations-depth=1"; List<Map<String, Object>> resourceList = getAllResources(urlPath, null); List<CloudServiceBroker> serviceBrokers = new ArrayList<CloudServiceBroker>(); for (Map<String, Object> resource : resourceList) { CloudServiceBroker broker = resourceMapper.mapResource(resource, CloudServiceBroker.class); serviceBrokers.add(broker); } return serviceBrokers; }
@Override public List<CloudSpace> getSpaces() { String urlPath = "/v2/spaces?inline-relations-depth=1"; List<Map<String, Object>> resourceList = getAllResources(urlPath, null); List<CloudSpace> spaces = new ArrayList<CloudSpace>(); for (Map<String, Object> resource : resourceList) { spaces.add(resourceMapper.mapResource(resource, CloudSpace.class)); } return spaces; }
private List<CloudEvent> doGetEvents(String urlPath, Map<String, Object> urlVars) { List<Map<String, Object>> resourceList = getAllResources(urlPath, urlVars); List<CloudEvent> events = new ArrayList<CloudEvent>(); for (Map<String, Object> resource : resourceList) { if (resource != null) { events.add(resourceMapper.mapResource(resource, CloudEvent.class)); } } return events; }
@Override public List<CloudSecurityGroup> getSecurityGroups() { String urlPath = "/v2/security_groups"; List<Map<String, Object>> resourceList = getAllResources(urlPath); List<CloudSecurityGroup> groups = new ArrayList<CloudSecurityGroup>(); for (Map<String, Object> resource : resourceList) { groups.add(resourceMapper.mapResource(resource, CloudSecurityGroup.class)); } return groups; }
@Override public List<CloudServiceBroker> getServiceBrokers() { String urlPath = "/v2/service_brokers?inline-relations-depth=1"; List<Map<String, Object>> resourceList = getAllResources(urlPath); List<CloudServiceBroker> serviceBrokers = new ArrayList<CloudServiceBroker>(); for (Map<String, Object> resource : resourceList) { CloudServiceBroker broker = resourceMapper.mapResource(resource, CloudServiceBroker.class); serviceBrokers.add(broker); } return serviceBrokers; }
@Override public List<CloudStack> getStacks() { String urlPath = "/v2/stacks"; List<Map<String, Object>> resources = getAllResources(urlPath); List<CloudStack> stacks = new ArrayList<CloudStack>(); for (Map<String, Object> resource : resources) { stacks.add(resourceMapper.mapResource(resource, CloudStack.class)); } return stacks; }
@Override public List<CloudSecurityGroup> getStagingSecurityGroups() { String urlPath = "/v2/config/staging_security_groups"; List<Map<String, Object>> resourceList = getAllResources(urlPath); List<CloudSecurityGroup> groups = new ArrayList<CloudSecurityGroup>(); for (Map<String, Object> resource : resourceList) { groups.add(resourceMapper.mapResource(resource, CloudSecurityGroup.class)); } return groups; }
@Override public List<CloudOrganization> getOrganizations() { String urlPath = "/v2/organizations?inline-relations-depth=0"; List<Map<String, Object>> resourceList = getAllResources(urlPath, null); List<CloudOrganization> orgs = new ArrayList<CloudOrganization>(); for (Map<String, Object> resource : resourceList) { orgs.add(resourceMapper.mapResource(resource, CloudOrganization.class)); } return orgs; }
@Override public CloudService getService(String serviceName) { Map<String, Object> resource = doGetServiceInstance(serviceName, 0); if (resource == null) { return null; } return resourceMapper.mapResource(resource, CloudService.class); }
@Override public List<CloudSecurityGroup> getSecurityGroups() { String urlPath = "/v2/security_groups"; List<Map<String, Object>> resourceList = getAllResources(urlPath, null); List<CloudSecurityGroup> groups = new ArrayList<CloudSecurityGroup>(); for (Map<String, Object> resource : resourceList) { groups.add(resourceMapper.mapResource(resource, CloudSecurityGroup.class)); } return groups; }
@Override public List<CloudSecurityGroup> getRunningSecurityGroups() { String urlPath = "/v2/config/running_security_groups"; List<Map<String, Object>> resourceList = getAllResources(urlPath, null); List<CloudSecurityGroup> groups = new ArrayList<CloudSecurityGroup>(); for (Map<String, Object> resource : resourceList) { groups.add(resourceMapper.mapResource(resource, CloudSecurityGroup.class)); } return groups; }
@Override public List<CloudOrganization> getOrganizations() { String urlPath = "/v2/organizations?inline-relations-depth=0"; List<Map<String, Object>> resourceList = getAllResources(urlPath); List<CloudOrganization> orgs = new ArrayList<CloudOrganization>(); for (Map<String, Object> resource : resourceList) { orgs.add(resourceMapper.mapResource(resource, CloudOrganization.class)); } return orgs; }
private CloudJob getJob(String jobUrl) { ResponseEntity<Map<String, Object>> jobProgressEntity = getRestTemplate().exchange(jobUrl, HttpMethod.GET, HttpEntity.EMPTY, new ParameterizedTypeReference<Map<String, Object>>() { }); return resourceMapper.mapResource(jobProgressEntity.getBody(), CloudJob.class); }
@Override public CloudTask getTask(UUID taskGuid) { String urlPath = "/v3/tasks/{taskGuid}"; Map<String, Object> urlVariables = new HashMap<>(); urlVariables.put("taskGuid", taskGuid); @SuppressWarnings("unchecked") Map<String, Object> response = getRestTemplate().getForObject(getUrl(urlPath), Map.class, urlVariables); return resourceMapper.mapResource(response, CloudTask.class); }
public List<CloudEvent> getEvents(UUID uuid, CloudControllerClient client) { Map<String, Object> queryParames = buildQueryParameters(uuid); String controllerUrl = client.getCloudControllerUrl() .toString(); RestTemplate restTemplate = getRestTemplate(client); List<Map<String, Object>> resources = getAllResources(restTemplate, controllerUrl, EVENTS_URL, queryParames); return resources.stream() .filter(Objects::nonNull) .map(map -> resourceMapper.mapResource(map, CloudEvent.class)) .collect(Collectors.toList()); }
@Override public CloudServiceInstance getServiceInstance(String serviceName, boolean required) { Map<String, Object> resource = doGetServiceInstance(serviceName, 1); CloudServiceInstance serviceInstance = null; if (resource != null) { serviceInstance = resourceMapper.mapResource(resource, CloudServiceInstance.class); } if (serviceInstance == null && required) { throw new CloudOperationException(HttpStatus.NOT_FOUND, "Not Found", "Service instance '" + serviceName + "' not found."); } return serviceInstance; }
@Override public CloudSpace getSpace(String spaceName, boolean required) { Map<String, Object> resource = findSpaceResource(spaceName); CloudSpace space = null; if (resource != null) { space = resourceMapper.mapResource(resource, CloudSpace.class); } if (space == null && required) { throw new CloudOperationException(HttpStatus.NOT_FOUND, "Not Found", "Space '" + spaceName + "' not found."); } return space; }
@Override public CloudBuild createBuild(UUID packageGuid) { Map<String, Object> buildRequest = new HashMap<>(); Map<String, Object> packageMap = new HashMap<>(); packageMap.put("guid", packageGuid); buildRequest.put("package", packageMap); String buildResponse = getRestTemplate().postForObject(getUrl("/v3/builds"), buildRequest, String.class); Map<String, Object> buildEntity = JsonUtil.convertJsonToMap(buildResponse); return resourceMapper.mapResource(buildEntity, CloudBuild.class); }
@Override public CloudService getService(String serviceName, boolean required) { Map<String, Object> resource = doGetServiceInstance(serviceName, 0); CloudService service = null; if (resource != null) { service = resourceMapper.mapResource(resource, CloudService.class); } if (service == null && required) { throw new CloudOperationException(HttpStatus.NOT_FOUND, "Not Found", "Service '" + serviceName + "' not found."); } return service; }