public void mapModelToEntity()

in data-catalog-api/server/service/src/main/java/org/apache/airavata/datacatalog/api/mapper/DataProductMapper.java [33:64]


    public void mapModelToEntity(DataProduct dataProduct, DataProductEntity dataProductEntity) {

        dataProductEntity.setName(dataProduct.getName());

        if (dataProduct.hasParentDataProductId() && !dataProduct.getParentDataProductId().isEmpty()) {
            DataProductEntity parentDataProductEntity = dataProductRepository
                    .findByExternalId(dataProduct.getParentDataProductId())
                    .orElseThrow(
                            () -> new EntityNotFoundException("Could not find the parent data product with the ID: "
                                    + dataProduct.getParentDataProductId()));
            dataProductEntity.setParentDataProductEntity(parentDataProductEntity);
        }
        if (dataProduct.hasMetadata()) {
            ObjectMapper mapper = new ObjectMapper();
            try {
                JsonNode metadata = mapper.readTree(dataProduct.getMetadata());
                dataProductEntity.setMetadata(metadata);
            } catch (JsonProcessingException e) {
                throw new RuntimeException(e);
            }
        }

        // Synchronize the list of metadata schemas
        if (dataProductEntity.getMetadataSchemas() != null) {
            dataProductEntity.getMetadataSchemas().clear();
        }
        for (String metadataSchemaName : dataProduct.getMetadataSchemasList()) {
            // TODO: handle metadata schema not found
            MetadataSchemaEntity metadataSchema = metadataSchemaRepository.findBySchemaName(metadataSchemaName);
            dataProductEntity.addMetadataSchema(metadataSchema);
        }
    }