public static GenericResource map()

in data-resource-management-service/drms-rdbms-impl/drms-server/src/main/java/org/apache/airavata/drms/api/persistance/mapper/ResourceMapper.java [16:71]


    public static GenericResource map(Resource resource, Entity entity) {

        GenericResource.Builder genericResourceBuilder = GenericResource.newBuilder();

        genericResourceBuilder.setType(entity.getType());
        genericResourceBuilder.setResourceId(entity.getId());
        genericResourceBuilder.setResourceName(entity.getName());
        if (!entity.getParentId().isEmpty()) {
            genericResourceBuilder.setParentId(entity.getParentId());
        }
        genericResourceBuilder.putProperties("owner", entity.getOwnerId());
        genericResourceBuilder.putProperties("description", entity.getDescription());
        genericResourceBuilder.putProperties("createdTime", String.valueOf(entity.getCreatedAt()));
        genericResourceBuilder.putProperties("lastModifiedTime", String.valueOf(entity.getUpdatedAt()));
        Set<ResourceProperty> resourcePropertySet = resource.getResourceProperty();


        SharingMetadata sharingMetadata = entity.getSharingMetadata();
        if (sharingMetadata != null && !sharingMetadata.getPermissionsList().isEmpty()) {
            String permission = "";
            for (PermissionType permissionType : sharingMetadata.getPermissionsList()) {
                if (permission.length() == 0) {
                    permission = permissionType.getId();
                } else {
                    permission = permissionType.getId() + " " + permission;
                }

            }
            genericResourceBuilder.putProperties("permission", permission);
        }


        Iterator<ResourceProperty> iterator = resourcePropertySet.iterator();

        while (iterator.hasNext()) {
            ResourceProperty resourceProperty = iterator.next();
            if (resourceProperty.getPropertyKey().equals("resourcePath")) {
                genericResourceBuilder.setResourcePath(resourceProperty.getPropertyValue());
            }
            if (resourceProperty.getPropertyKey().equals("note")) {
                genericResourceBuilder.putProperties(resourceProperty.getPropertyKey(), resourceProperty.getPropertyValue());
            }

            if (resourceProperty.getPropertyKey().equals("image") || resourceProperty.getPropertyKey().equals("thumbnail")) {
                String[] urlArrays = resourceProperty.getPropertyValue().split("/");
                String imagePath = "https://gateway.iubemcenter.indiana.edu/resource-images/";
                String fullPath = imagePath + urlArrays[urlArrays.length - 1];
                genericResourceBuilder.putProperties(resourceProperty.getPropertyKey(), fullPath);
            }


//            genericResourceBuilder.putProperties(resourceProperty.getPropertyKey(), resourceProperty.getPropertyValue());

        }
        return genericResourceBuilder.build();
    }