Class RelationshipMetadataServiceImpl

    • Constructor Detail

      • RelationshipMetadataServiceImpl

        public RelationshipMetadataServiceImpl()
    • Method Detail

      • getRelationshipMetadata

        public List<RelationshipMetadataValue> getRelationshipMetadata​(Item item,
                                                                       boolean enableVirtualMetadata)
        Description copied from interface: RelationshipMetadataService
        This method retrieves a list of MetadataValue objects that get constructed from processing the given Item's Relationships through the config given to the VirtualMetadataPopulator
        Specified by:
        getRelationshipMetadata in interface RelationshipMetadataService
        Parameters:
        item - The Item that will be processed through it's Relationships
        enableVirtualMetadata - This parameter will determine whether the list of Relationship metadata should be populated with metadata that is being generated through the VirtualMetadataPopulator functionality or not
        Returns:
        The list of MetadataValue objects constructed through the Relationships
      • findLatestForDiscoveryMetadataValues

        protected List<RelationshipMetadataValue> findLatestForDiscoveryMetadataValues​(Context context,
                                                                                       Item item,
                                                                                       EntityType itemEntityType)
                                                                                throws SQLException
        Create the list of relation.*.latestForDiscovery virtual metadata values for the given item.
        Parameters:
        context - the DSpace context.
        item - the item.
        itemEntityType - the entity type of the item.
        Returns:
        a list (may be empty) of metadata values of type relation.*.latestForDiscovery.
        Throws:
        SQLException
      • constructLatestForDiscoveryMetadataValues

        protected List<RelationshipMetadataValue> constructLatestForDiscoveryMetadataValues​(Context context,
                                                                                            String schema,
                                                                                            String element,
                                                                                            String qualifier,
                                                                                            List<ItemUuidAndRelationshipId> data)
        Turn the given data into a list of relation.*.latestForDiscovery virtual metadata values.
        Parameters:
        context - the DSpace context.
        schema - the schema for all metadata values.
        element - the element for all metadata values.
        qualifier - the qualifier for all metadata values.
        data - a POJO containing the item uuid and relationship id.
        Returns:
        a list (may be empty) of metadata values of type relation.*.latestForDiscovery.
      • findRelationshipMetadataValueForItemRelationship

        public List<RelationshipMetadataValue> findRelationshipMetadataValueForItemRelationship​(Context context,
                                                                                                Item item,
                                                                                                String entityType,
                                                                                                Relationship relationship,
                                                                                                boolean enableVirtualMetadata)
                                                                                         throws SQLException
        Description copied from interface: RelationshipMetadataService
        Retrieves the list of RelationshipMetadataValue objects specific to only one Relationship of the item. This method processes one Relationship of an Item and will return a list of RelationshipMetadataValue objects that are generated for this specific relationship for the item through the config in VirtualMetadataPopulator It returns a combination of the output of the findVirtualMetadataFromConfiguration method and the getRelationMetadataFromOtherItem method.
        Specified by:
        findRelationshipMetadataValueForItemRelationship in interface RelationshipMetadataService
        Parameters:
        context - The context
        item - The item whose virtual metadata is requested
        entityType - The entity type of the given item
        relationship - The relationship whose virtual metadata is requested
        enableVirtualMetadata - Determines whether the VirtualMetadataPopulator should be used. If false, only the relation."relationname" metadata is populated If true, fields from the spring config virtual metadata is included as well
        Returns:
        The list of virtual metadata values
        Throws:
        SQLException