public Builder() { cloudPackage = new CloudPackage(); }
public Builder meta(Meta meta) { cloudPackage.setMeta(meta); return this; } }
private UUID createPackageForApplication(UUID appGuid) { Map<String, Object> packageRequest = new HashMap<>(); packageRequest.put("type", "bits"); Map<String, Map<String, Map<String, Object>>> relationships = new HashMap<>(); Map<String, Map<String, Object>> app = new HashMap<>(); Map<String, Object> data = new HashMap<>(); data.put("guid", appGuid); app.put("data", data); relationships.put("app", app); packageRequest.put("relationships", relationships); String packageResponse = getRestTemplate().postForObject(getUrl("/v3/packages"), packageRequest, String.class); Map<String, Object> packageEntity = JsonUtil.convertJsonToMap(packageResponse); return resourceMapper.mapResource(packageEntity, CloudPackage.class) .getMeta() .getGuid(); }
private UploadToken startUpload(String appName, ApplicationArchive archive, UploadStatusCallback callback) throws IOException { Assert.notNull(appName, "AppName must not be null"); Assert.notNull(archive, "Archive must not be null"); UUID appGuid = getApplicationId(appName); if (callback == null) { callback = UploadStatusCallback.NONE; } CloudResources knownRemoteResources = getKnownRemoteResources(archive); callback.onCheckResources(); callback.onMatchedFileNames(knownRemoteResources.getFilenames()); UploadApplicationPayload payload = new UploadApplicationPayload(archive, knownRemoteResources); callback.onProcessMatchedResources(payload.getTotalUncompressedSize()); HttpEntity<?> entity = generatePartialResourceRequest(payload, knownRemoteResources); UUID packageGuid = createPackageForApplication(appGuid); ResponseEntity<Map<String, Object>> responseEntity = getRestTemplate().exchange(getUrl("/v3/packages/{packageGuid}/upload"), HttpMethod.POST, entity, new ParameterizedTypeReference<Map<String, Object>>() { }, packageGuid); CloudPackage cloudPackage = resourceMapper.mapResource(responseEntity.getBody(), CloudPackage.class); return new UploadToken(getUrl("/v3/packages/" + cloudPackage.getMeta() .getGuid()), cloudPackage.getMeta() .getGuid()); }