+ public AsdMetadata getAsdMetadata(Rapp rApp) {
+ AsdMetadata asdMetadata = new AsdMetadata();
+ File csarFile = getCsarFile(rApp);
+ String asdDefinitionLocation = getAsdDefinitionLocation(csarFile);
+ if (asdDefinitionLocation != null && !asdDefinitionLocation.isEmpty()) {
+ try {
+ String asdContent = getFileFromCsar(csarFile, asdDefinitionLocation).toString();
+ if (asdContent != null && !asdContent.isEmpty()) {
+ JsonNode jsonNode = getAsdContentNode(asdContent);
+ JsonNode asdJsonNode = jsonNode.at(RappCsarPathProvider.ASD_LOCATION_JSON_POINTER);
+ asdMetadata = objectMapper.convertValue(asdJsonNode.at("/properties"), AsdMetadata.class);
+ asdMetadata.setDescription(asdJsonNode.at("/description").asText());
+
+ JsonNode artifactsJsonNode = jsonNode.at(RappCsarPathProvider.ASD_ARTIFACTS_LOCATION_JSON_POINTER);
+ final List<DeploymentItem> deploymentItems = new ArrayList<>();
+ artifactsJsonNode.forEach(artifactJsonNode -> {
+ DeploymentItem deploymentItem =
+ objectMapper.convertValue(artifactJsonNode.at("/properties"), DeploymentItem.class);
+ deploymentItem.setFile(artifactJsonNode.at("/file").asText());
+ deploymentItems.add(deploymentItem);
+ });
+ asdMetadata.setDeploymentItems(deploymentItems);
+ }
+ } catch (Exception e) {
+ logger.warn("Unable to get the asd metadata items", e);
+ }
+ }
+ return asdMetadata;
+ }
+