mirror of
https://github.com/DSpace/DSpace.git
synced 2025-10-07 18:14:26 +00:00
JavaDoc updates
This commit is contained in:
@@ -1387,7 +1387,7 @@ prevent the generation of resource policy entry values with null dspace_object a
|
|||||||
}
|
}
|
||||||
|
|
||||||
private MetadataValue getRelationMetadataFromOtherItem(Item otherItem, String relationName) {
|
private MetadataValue getRelationMetadataFromOtherItem(Item otherItem, String relationName) {
|
||||||
MetadataValue metadataValue = constructMetadataValue("relation." + relationName);
|
MetadataValue metadataValue = constructMetadataValue(MetadataSchemaEnum.RELATION.getName() + "." + relationName);
|
||||||
metadataValue.setAuthority("virtual");
|
metadataValue.setAuthority("virtual");
|
||||||
metadataValue.setValue(otherItem.getID().toString());
|
metadataValue.setValue(otherItem.getID().toString());
|
||||||
return metadataValue;
|
return metadataValue;
|
||||||
|
@@ -17,6 +17,12 @@ import org.dspace.content.service.ItemService;
|
|||||||
import org.dspace.core.Context;
|
import org.dspace.core.Context;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A bean implementing the {@link VirtualBean} interface to achieve the generation of Virtual metadata
|
||||||
|
* The Collected bean will take all the values of each metadata field defined in the list and it'll
|
||||||
|
* create a list of virtual metadata fields defined by the map in which it's defined.
|
||||||
|
* All values from the metadata fields will returned as separate elements
|
||||||
|
*/
|
||||||
public class Collected implements VirtualBean {
|
public class Collected implements VirtualBean {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
@@ -44,6 +50,13 @@ public class Collected implements VirtualBean {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* this method will retrieve the metadata values from the given item for all the metadata fields listed
|
||||||
|
* in the fields property and it'll return all those values as a list
|
||||||
|
* @param context The relevant DSpace context
|
||||||
|
* @param item The item that will be used to either retrieve metadata values from
|
||||||
|
* @return The String values for all of the retrieved metadatavalues
|
||||||
|
*/
|
||||||
public List<String> getValues(Context context, Item item) {
|
public List<String> getValues(Context context, Item item) {
|
||||||
List<String> resultValues = new LinkedList<>();
|
List<String> resultValues = new LinkedList<>();
|
||||||
List<String> value = this.getFields();
|
List<String> value = this.getFields();
|
||||||
|
@@ -19,6 +19,10 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* A bean implementing the {@link VirtualBean} interface to achieve the generation of Virtual metadata
|
* A bean implementing the {@link VirtualBean} interface to achieve the generation of Virtual metadata
|
||||||
|
* The Concatenate bean will take all the values of each metadata field configured in the list
|
||||||
|
* and it will join all of these together with the separator defined in this bean. This means that whichever
|
||||||
|
* entry this bean belongs to, that metadata field will have the value of the related item's metadata values
|
||||||
|
* joined together with this separator. Only one value will be returned
|
||||||
*/
|
*/
|
||||||
public class Concatenate implements VirtualBean {
|
public class Concatenate implements VirtualBean {
|
||||||
|
|
||||||
@@ -30,7 +34,7 @@ public class Concatenate implements VirtualBean {
|
|||||||
*/
|
*/
|
||||||
private List<String> fields;
|
private List<String> fields;
|
||||||
/**
|
/**
|
||||||
* The seperator that will be used to concatenate the values retrieved from the above mentioned fields
|
* The separator that will be used to concatenate the values retrieved from the above mentioned fields
|
||||||
*/
|
*/
|
||||||
private String separator;
|
private String separator;
|
||||||
|
|
||||||
@@ -68,11 +72,11 @@ public class Concatenate implements VirtualBean {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* this method will retrieve the metadata values from the given item for all the metadata fields listed
|
* this method will retrieve the metadata values from the given item for all the metadata fields listed
|
||||||
* in the fields property and it'll concatenate all those values together with the seperrator specified
|
* in the fields property and it'll concatenate all those values together with the separator specified
|
||||||
* in this class
|
* in this class
|
||||||
* @param context The relevant DSpace context
|
* @param context The relevant DSpace context
|
||||||
* @param item The item that will be used to either retrieve metadata values from
|
* @param item The item that will be used to either retrieve metadata values from
|
||||||
* @return The String value for all of the retrieved metadatavalues combined with the seperator
|
* @return The String value for all of the retrieved metadatavalues combined with the separator
|
||||||
*/
|
*/
|
||||||
public List<String> getValues(Context context, Item item) {
|
public List<String> getValues(Context context, Item item) {
|
||||||
|
|
||||||
|
@@ -27,6 +27,12 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||||||
/**
|
/**
|
||||||
* A bean implementing the {@link VirtualBean} interface to achieve the generation of Virtual metadata
|
* A bean implementing the {@link VirtualBean} interface to achieve the generation of Virtual metadata
|
||||||
* by traversing the path of relation specified in the config for this bean
|
* by traversing the path of relation specified in the config for this bean
|
||||||
|
* The Related bean will find the relationshiptype defined in the relationshipTypeString property on
|
||||||
|
* the current item and it'll use the related item from that relationship to pass it along to the virtualBean
|
||||||
|
* property which in turn refers to another VirtualBean instance and it continues the chain until it reaches
|
||||||
|
* either a Concatenate or Collected bean to retrieve the values. It will then return that value through the chain
|
||||||
|
* again and it'll fill the values into the virtual metadata fields that are defined in the map for the first
|
||||||
|
* Related bean.
|
||||||
*/
|
*/
|
||||||
public class Related implements VirtualBean {
|
public class Related implements VirtualBean {
|
||||||
|
|
||||||
|
@@ -154,10 +154,7 @@
|
|||||||
<util:map id="isAuthorOfPublicationMap">
|
<util:map id="isAuthorOfPublicationMap">
|
||||||
<entry key="dc.contributor.author" value-ref="publicationAuthor_author"/>
|
<entry key="dc.contributor.author" value-ref="publicationAuthor_author"/>
|
||||||
</util:map>
|
</util:map>
|
||||||
<!-- This Concatenate bean will take all the values of each metadata field configured in the list
|
<!--
|
||||||
and it will join all of these together with the separator defined in this bean. This means that whichever
|
|
||||||
entry this bean belongs to, that metadata field will have the value of the related item's metadata values
|
|
||||||
joined together with this separator.
|
|
||||||
If the related item has:
|
If the related item has:
|
||||||
person.identifier.lastname = Smith
|
person.identifier.lastname = Smith
|
||||||
person.identifier.firstname = John
|
person.identifier.firstname = John
|
||||||
@@ -192,10 +189,7 @@
|
|||||||
<util:map id="isPersonOfProjectMap">
|
<util:map id="isPersonOfProjectMap">
|
||||||
<entry key="project_contributor_author" value-ref="projectPerson_author"/>
|
<entry key="project_contributor_author" value-ref="projectPerson_author"/>
|
||||||
</util:map>
|
</util:map>
|
||||||
<!-- This Concatenate bean will take all the values of each metadata field configured in the list
|
<!--
|
||||||
and it will join all of these together with the separator defined in this bean. This means that whichever
|
|
||||||
entry this bean belongs to, that metadata field will have the value of the related item's metadata values
|
|
||||||
joined together with this separator.
|
|
||||||
If the related item has:
|
If the related item has:
|
||||||
person.identifier.lastname = Smith
|
person.identifier.lastname = Smith
|
||||||
person.identifier.firstname = John
|
person.identifier.firstname = John
|
||||||
@@ -216,9 +210,7 @@
|
|||||||
<util:map id="isOrgUnitOfProjectMap">
|
<util:map id="isOrgUnitOfProjectMap">
|
||||||
<entry key="project_contributor_other" value-ref="projectOrgUnit_other"/>
|
<entry key="project_contributor_other" value-ref="projectOrgUnit_other"/>
|
||||||
</util:map>
|
</util:map>
|
||||||
<!-- This Collected bean will take all the values of each metadata field defined in the list and it'll
|
<!-- This Collected bean wil create a list of project.contributor.other virtual metadata fields that hold
|
||||||
create a list of virtual metadata fields defined by the map in which it's defined.
|
|
||||||
In this case it'll create a list of project.contributor.other virtual metadata fields that hold
|
|
||||||
the value of orgunit.identifier.name, each of them in a separate metadatavalue
|
the value of orgunit.identifier.name, each of them in a separate metadatavalue
|
||||||
If the related item has:
|
If the related item has:
|
||||||
orgunit.identifier.name = Generic name
|
orgunit.identifier.name = Generic name
|
||||||
@@ -249,9 +241,7 @@
|
|||||||
<entry key="journalvolume.identifier.volume" value-ref="issueVolume_volume"/>
|
<entry key="journalvolume.identifier.volume" value-ref="issueVolume_volume"/>
|
||||||
<entry key="journal.identifier.issn" value-ref="volumeJournal_issn_related"/>
|
<entry key="journal.identifier.issn" value-ref="volumeJournal_issn_related"/>
|
||||||
</util:map>
|
</util:map>
|
||||||
<!-- This Collected bean will take all the values of each metadata field defined in the list and it'll
|
<!-- This Collected bean will create a list of journalvolume.identifier.volume virtual metadata fields that hold
|
||||||
create a list of virtual metadata fields defined by the map in which it's defined.
|
|
||||||
In this case it'll create a list of journalvolume.identifier.volume virtual metadata fields that hold
|
|
||||||
the value of journalvolume.identifier.volume, each of them in a separate metadatavalue
|
the value of journalvolume.identifier.volume, each of them in a separate metadatavalue
|
||||||
If the related item has:
|
If the related item has:
|
||||||
journalvolume.identifier.volume = Generic volume
|
journalvolume.identifier.volume = Generic volume
|
||||||
@@ -268,14 +258,7 @@
|
|||||||
</util:list>
|
</util:list>
|
||||||
</property>
|
</property>
|
||||||
</bean>
|
</bean>
|
||||||
<!-- This is a Related bean, which will find the relationshiptype defined in the relationshipTypeString property on
|
<!-- This Related bean defines a relationship type that will be used on a journal issue.
|
||||||
the current item and it'll use the related item from that relationship to pass it along to the virtualBean
|
|
||||||
property which in turn refers to another VirtualBean instance and it continues the chain until it reaches
|
|
||||||
either a Concatenate or Collected bean to retrieve the values. It will then return that value through the chain
|
|
||||||
again and it'll fill the values into the virtual metadata fields that are defined in the map for the first
|
|
||||||
Related bean.
|
|
||||||
Lets look at this example: we've defined a Related bean for a relationship type that will be used on a
|
|
||||||
journal issue.
|
|
||||||
The journal issue will receive 2 metadata fields if we look at the map 'isJournalVolumeOfIssueMap' it'll
|
The journal issue will receive 2 metadata fields if we look at the map 'isJournalVolumeOfIssueMap' it'll
|
||||||
receive the journalvolume.identifier.volume metadata field and the journal.identifier.issn metadata field.
|
receive the journalvolume.identifier.volume metadata field and the journal.identifier.issn metadata field.
|
||||||
Since the journal.identifier.issn metadata field can't be filled in through the metadata of the journalvolume
|
Since the journal.identifier.issn metadata field can't be filled in through the metadata of the journalvolume
|
||||||
@@ -327,13 +310,7 @@
|
|||||||
<entry key="journal.identifier.issn" value-ref="issueVolumeJournal_issn_related"/>
|
<entry key="journal.identifier.issn" value-ref="issueVolumeJournal_issn_related"/>
|
||||||
</util:map>
|
</util:map>
|
||||||
|
|
||||||
<!-- This is a Related bean, which will find the relationshiptype defined in the relationshipTypeString property on
|
<!-- This Related bean defines a relationship type that will be used on a publication.
|
||||||
the current item and it'll use the related item from that relationship to pass it along to the virtualBean
|
|
||||||
property which in turn refers to another VirtualBean instance and it continues the chain until it reaches
|
|
||||||
either a Concatenate or Collected bean to retrieve the values. It will then return that value through the chain
|
|
||||||
again and it'll fill the values into the virtual metadata fields that are defined in the map for the first
|
|
||||||
Related bean.
|
|
||||||
Lets look at this example: we've defined a Related bean for a relationship type that will be used on a publication.
|
|
||||||
The publication will receive 1 virtual metadata value namely the journal.identifier.issn to which it belongs
|
The publication will receive 1 virtual metadata value namely the journal.identifier.issn to which it belongs
|
||||||
Since the journal.identifier.issn metadata field can't be filled in through the metadata of the journalIssue
|
Since the journal.identifier.issn metadata field can't be filled in through the metadata of the journalIssue
|
||||||
alone, we need to pass this call higher up the chain to the journalissue's relationships to find the journal.
|
alone, we need to pass this call higher up the chain to the journalissue's relationships to find the journal.
|
||||||
|
Reference in New Issue
Block a user