mirror of
https://github.com/DSpace/DSpace.git
synced 2025-10-18 07:23:08 +00:00
Merge pull request #2409 from atmire/rename-VirtualBean-VirtualMetadataPopularConfiguration
Rename virtual bean virtual metadata configuration
This commit is contained in:
@@ -44,7 +44,7 @@ import org.dspace.content.service.ItemService;
|
|||||||
import org.dspace.content.service.MetadataSchemaService;
|
import org.dspace.content.service.MetadataSchemaService;
|
||||||
import org.dspace.content.service.RelationshipService;
|
import org.dspace.content.service.RelationshipService;
|
||||||
import org.dspace.content.service.WorkspaceItemService;
|
import org.dspace.content.service.WorkspaceItemService;
|
||||||
import org.dspace.content.virtual.VirtualBean;
|
import org.dspace.content.virtual.VirtualMetadataConfiguration;
|
||||||
import org.dspace.content.virtual.VirtualMetadataPopulator;
|
import org.dspace.content.virtual.VirtualMetadataPopulator;
|
||||||
import org.dspace.core.Constants;
|
import org.dspace.core.Constants;
|
||||||
import org.dspace.core.Context;
|
import org.dspace.core.Context;
|
||||||
@@ -1424,7 +1424,7 @@ prevent the generation of resource policy entry values with null dspace_object a
|
|||||||
throws SQLException {
|
throws SQLException {
|
||||||
List<RelationshipMetadataValue> resultingMetadataValueList = new LinkedList<>();
|
List<RelationshipMetadataValue> resultingMetadataValueList = new LinkedList<>();
|
||||||
RelationshipType relationshipType = relationship.getRelationshipType();
|
RelationshipType relationshipType = relationship.getRelationshipType();
|
||||||
HashMap<String, VirtualBean> hashMaps;
|
HashMap<String, VirtualMetadataConfiguration> hashMaps;
|
||||||
String relationName = "";
|
String relationName = "";
|
||||||
Item otherItem = null;
|
Item otherItem = null;
|
||||||
int place = 0;
|
int place = 0;
|
||||||
@@ -1460,15 +1460,14 @@ prevent the generation of resource policy entry values with null dspace_object a
|
|||||||
//hashmaps parameter. The beans will be used to retrieve the values for the RelationshipMetadataValue objects
|
//hashmaps parameter. The beans will be used to retrieve the values for the RelationshipMetadataValue objects
|
||||||
//and the keys of the hashmap will be used to construct the RelationshipMetadataValue object.
|
//and the keys of the hashmap will be used to construct the RelationshipMetadataValue object.
|
||||||
private List<RelationshipMetadataValue> handleRelationshipTypeMetadataMapping(Context context, Item item,
|
private List<RelationshipMetadataValue> handleRelationshipTypeMetadataMapping(Context context, Item item,
|
||||||
HashMap<String, VirtualBean>
|
HashMap<String, VirtualMetadataConfiguration> hashMaps,
|
||||||
hashMaps,
|
|
||||||
Item otherItem, String relationName,
|
Item otherItem, String relationName,
|
||||||
Integer relationshipId, int place)
|
Integer relationshipId, int place)
|
||||||
throws SQLException {
|
throws SQLException {
|
||||||
List<RelationshipMetadataValue> resultingMetadataValueList = new LinkedList<>();
|
List<RelationshipMetadataValue> resultingMetadataValueList = new LinkedList<>();
|
||||||
for (Map.Entry<String, VirtualBean> entry : hashMaps.entrySet()) {
|
for (Map.Entry<String, VirtualMetadataConfiguration> entry : hashMaps.entrySet()) {
|
||||||
String key = entry.getKey();
|
String key = entry.getKey();
|
||||||
VirtualBean virtualBean = entry.getValue();
|
VirtualMetadataConfiguration virtualBean = entry.getValue();
|
||||||
|
|
||||||
for (String value : virtualBean.getValues(context, otherItem)) {
|
for (String value : virtualBean.getValues(context, otherItem)) {
|
||||||
RelationshipMetadataValue metadataValue = constructMetadataValue(context, key);
|
RelationshipMetadataValue metadataValue = constructMetadataValue(context, key);
|
||||||
|
@@ -18,12 +18,13 @@ 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
|
* A bean implementing the {@link VirtualMetadataConfiguration} 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
|
* 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.
|
* 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
|
* All values from the metadata fields will returned as separate elements
|
||||||
*/
|
*/
|
||||||
public class Collected implements VirtualBean {
|
public class Collected implements VirtualMetadataConfiguration {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ItemService itemService;
|
private ItemService itemService;
|
||||||
|
@@ -18,13 +18,14 @@ 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
|
* A bean implementing the {@link VirtualMetadataConfiguration} interface to achieve the generation of Virtual
|
||||||
|
* metadata
|
||||||
* The Concatenate bean will take all the values of each metadata field configured in the list
|
* 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
|
* 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
|
* 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
|
* joined together with this separator. Only one value will be returned
|
||||||
*/
|
*/
|
||||||
public class Concatenate implements VirtualBean {
|
public class Concatenate implements VirtualMetadataConfiguration {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ItemService itemService;
|
private ItemService itemService;
|
||||||
|
@@ -25,16 +25,16 @@ 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
|
* A bean implementing the {@link VirtualMetadataConfiguration} interface to achieve the generation of
|
||||||
* by traversing the path of relation specified in the config for this bean
|
* Virtual metadata 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 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
|
* the current item and it'll use the related item from that relationship to pass it along to the
|
||||||
* property which in turn refers to another VirtualBean instance and it continues the chain until it reaches
|
* virtualMetadataConfiguration property which in turn refers to another VirtualBean instance and it continues
|
||||||
* either a Concatenate or Collected bean to retrieve the values. It will then return that value through the chain
|
* the chain until it reaches either a Concatenate or Collected bean to retrieve the values. It will then return
|
||||||
* again and it'll fill the values into the virtual metadata fields that are defined in the map for the first
|
* that value through the chain again and it'll fill the values into the virtual metadata fields that are defined
|
||||||
* Related bean.
|
* in the map for the first Related bean.
|
||||||
*/
|
*/
|
||||||
public class Related implements VirtualBean {
|
public class Related implements VirtualMetadataConfiguration {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private RelationshipTypeService relationshipTypeService;
|
private RelationshipTypeService relationshipTypeService;
|
||||||
@@ -59,7 +59,7 @@ public class Related implements VirtualBean {
|
|||||||
/**
|
/**
|
||||||
* The next bean to call its getValues() method on
|
* The next bean to call its getValues() method on
|
||||||
*/
|
*/
|
||||||
private VirtualBean virtualBean;
|
private VirtualMetadataConfiguration virtualMetadataConfiguration;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The boolean value indicating whether this field should be used for place or not
|
* The boolean value indicating whether this field should be used for place or not
|
||||||
@@ -99,19 +99,21 @@ public class Related implements VirtualBean {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Generic getter for the virtualBean property of this class
|
* Generic getter for the virtualMetadataConfiguration property of this class
|
||||||
* @return The virtualBean property
|
* @return The virtualMetadataConfiguration property
|
||||||
*/
|
*/
|
||||||
public VirtualBean getVirtualBean() {
|
public VirtualMetadataConfiguration getVirtualMetadataConfiguration() {
|
||||||
return virtualBean;
|
return virtualMetadataConfiguration;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Generic setter for the virtualBean property of this class
|
* Generic setter for the virtualMetadataConfiguration property of this class
|
||||||
* @param virtualBean The VirtualBean to which the virtualBean property will be set to
|
* @param virtualMetadataConfiguration The VirtualBean to which the
|
||||||
|
* virtualMetadataConfiguration property will be set to
|
||||||
*/
|
*/
|
||||||
public void setVirtualBean(VirtualBean virtualBean) {
|
public void setVirtualMetadataConfiguration(VirtualMetadataConfiguration
|
||||||
this.virtualBean = virtualBean;
|
virtualMetadataConfiguration) {
|
||||||
|
this.virtualMetadataConfiguration = virtualMetadataConfiguration;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -162,12 +164,12 @@ public class Related implements VirtualBean {
|
|||||||
if (relationship.getRelationshipType().getLeftType() == entityType) {
|
if (relationship.getRelationshipType().getLeftType() == entityType) {
|
||||||
if (relationship.getLeftPlace() == place) {
|
if (relationship.getLeftPlace() == place) {
|
||||||
Item otherItem = relationship.getRightItem();
|
Item otherItem = relationship.getRightItem();
|
||||||
return virtualBean.getValues(context, otherItem);
|
return virtualMetadataConfiguration.getValues(context, otherItem);
|
||||||
}
|
}
|
||||||
} else if (relationship.getRelationshipType().getRightType() == entityType) {
|
} else if (relationship.getRelationshipType().getRightType() == entityType) {
|
||||||
if (relationship.getRightPlace() == place) {
|
if (relationship.getRightPlace() == place) {
|
||||||
Item otherItem = relationship.getLeftItem();
|
Item otherItem = relationship.getLeftItem();
|
||||||
return virtualBean.getValues(context, otherItem);
|
return virtualMetadataConfiguration.getValues(context, otherItem);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -18,7 +18,7 @@ import org.dspace.core.Context;
|
|||||||
* This class is used by the VirtualMetadataPopulator. It will simply take the ID of the item that's passed along
|
* This class is used by the VirtualMetadataPopulator. It will simply take the ID of the item that's passed along
|
||||||
* to this and return that as it's value
|
* to this and return that as it's value
|
||||||
*/
|
*/
|
||||||
public class UUIDValue implements VirtualBean {
|
public class UUIDValue implements VirtualMetadataConfiguration {
|
||||||
|
|
||||||
private boolean useForPlace;
|
private boolean useForPlace;
|
||||||
|
|
||||||
|
@@ -18,7 +18,7 @@ import org.dspace.core.Context;
|
|||||||
* The config is located in core-services.xml whilst the actual code implementation is located in
|
* The config is located in core-services.xml whilst the actual code implementation is located in
|
||||||
* {@link org.dspace.content.ItemServiceImpl}
|
* {@link org.dspace.content.ItemServiceImpl}
|
||||||
*/
|
*/
|
||||||
public interface VirtualBean {
|
public interface VirtualMetadataConfiguration {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method will return a list filled with String values which will be determine by the bean that's responsible
|
* This method will return a list filled with String values which will be determine by the bean that's responsible
|
@@ -22,13 +22,13 @@ public class VirtualMetadataPopulator {
|
|||||||
/**
|
/**
|
||||||
* The map that holds this representation
|
* The map that holds this representation
|
||||||
*/
|
*/
|
||||||
private Map<String, HashMap<String, VirtualBean>> map;
|
private Map<String, HashMap<String, VirtualMetadataConfiguration>> map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Standard setter for the map
|
* Standard setter for the map
|
||||||
* @param map The map to be used in the VirtualMetadataPopulator
|
* @param map The map to be used in the VirtualMetadataPopulator
|
||||||
*/
|
*/
|
||||||
public void setMap(Map<String, HashMap<String, VirtualBean>> map) {
|
public void setMap(Map<String, HashMap<String, VirtualMetadataConfiguration>> map) {
|
||||||
this.map = map;
|
this.map = map;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -36,7 +36,7 @@ public class VirtualMetadataPopulator {
|
|||||||
* Standard getter for the map
|
* Standard getter for the map
|
||||||
* @return The map that is used in the VirtualMetadataPopulator
|
* @return The map that is used in the VirtualMetadataPopulator
|
||||||
*/
|
*/
|
||||||
public Map<String, HashMap<String, VirtualBean>> getMap() {
|
public Map<String, HashMap<String, VirtualMetadataConfiguration>> getMap() {
|
||||||
return map;
|
return map;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -48,15 +48,15 @@ public class VirtualMetadataPopulator {
|
|||||||
* @return A boolean indicating whether the useForPlace is true or not for the given parameters
|
* @return A boolean indicating whether the useForPlace is true or not for the given parameters
|
||||||
*/
|
*/
|
||||||
public boolean isUseForPlaceTrueForRelationshipType(RelationshipType relationshipType, boolean isLeft) {
|
public boolean isUseForPlaceTrueForRelationshipType(RelationshipType relationshipType, boolean isLeft) {
|
||||||
HashMap<String, VirtualBean> hashMaps;
|
HashMap<String, VirtualMetadataConfiguration> hashMaps;
|
||||||
if (isLeft) {
|
if (isLeft) {
|
||||||
hashMaps = this.getMap().get(relationshipType.getLeftLabel());
|
hashMaps = this.getMap().get(relationshipType.getLeftLabel());
|
||||||
} else {
|
} else {
|
||||||
hashMaps = this.getMap().get(relationshipType.getRightLabel());
|
hashMaps = this.getMap().get(relationshipType.getRightLabel());
|
||||||
}
|
}
|
||||||
if (hashMaps != null) {
|
if (hashMaps != null) {
|
||||||
for (Map.Entry<String, VirtualBean> entry : hashMaps.entrySet()) {
|
for (Map.Entry<String, VirtualMetadataConfiguration> entry : hashMaps.entrySet()) {
|
||||||
VirtualBean virtualBean = entry.getValue();
|
VirtualMetadataConfiguration virtualBean = entry.getValue();
|
||||||
boolean useForPlace = virtualBean.getUseForPlace();
|
boolean useForPlace = virtualBean.getUseForPlace();
|
||||||
if (useForPlace) {
|
if (useForPlace) {
|
||||||
return true;
|
return true;
|
||||||
|
@@ -37,7 +37,7 @@
|
|||||||
|
|
||||||
<!-- Config like this will tell our VirtualMetadataPopulator to include the virtual metadata field
|
<!-- Config like this will tell our VirtualMetadataPopulator to include the virtual metadata field
|
||||||
'dc.contributor.author' on the appropriate item with the values defined in the value-ref.
|
'dc.contributor.author' on the appropriate item with the values defined in the value-ref.
|
||||||
This value-ref should be a bean of type VirtualBean -->
|
This value-ref should be a bean of type VirtualMetadataConfiguration -->
|
||||||
<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>
|
||||||
@@ -62,7 +62,7 @@
|
|||||||
|
|
||||||
<!-- Config like this will tell our VirtualMetadataPopulator to include the virtual metadata field
|
<!-- Config like this will tell our VirtualMetadataPopulator to include the virtual metadata field
|
||||||
'dc.contributor.other' on the appropriate item with the values defined in the value-ref.
|
'dc.contributor.other' on the appropriate item with the values defined in the value-ref.
|
||||||
This value-ref should be a bean of type VirtualBean -->
|
This value-ref should be a bean of type VirtualMetadataConfiguration -->
|
||||||
<util:map id="isOrgUnitOfPublicationMap">
|
<util:map id="isOrgUnitOfPublicationMap">
|
||||||
<entry key="dc.contributor.other" value-ref="publicationOrgUnit_name"/>
|
<entry key="dc.contributor.other" value-ref="publicationOrgUnit_name"/>
|
||||||
</util:map>
|
</util:map>
|
||||||
@@ -154,18 +154,18 @@
|
|||||||
alone, we need to pass this call higher up the chain to the journalvolume's relationships to find the journal.
|
alone, we need to pass this call higher up the chain to the journalvolume's relationships to find the journal.
|
||||||
Therefore we've created this Related bean which will look at the journalvolume's relationships with type
|
Therefore we've created this Related bean which will look at the journalvolume's relationships with type
|
||||||
'isJournalOfVolume' to find the journal that this journalvolume is related to and it'll then call the next
|
'isJournalOfVolume' to find the journal that this journalvolume is related to and it'll then call the next
|
||||||
VirtualBean with that journal to retrieve the value. This will leave the retrieving of the values to the
|
VirtualMetadataConfiguration with that journal to retrieve the value. This will leave the retrieving
|
||||||
next bean in the chain -->
|
of the values to the next bean in the chain -->
|
||||||
<bean class="org.dspace.content.virtual.Related" id="volumeJournal_issn_related">
|
<bean class="org.dspace.content.virtual.Related" id="volumeJournal_issn_related">
|
||||||
<property name="relationshipTypeString" value="isJournalOfVolume"/>
|
<property name="relationshipTypeString" value="isJournalOfVolume"/>
|
||||||
<property name="place" value="1"/>
|
<property name="place" value="1"/>
|
||||||
<property name="virtualBean" ref="volumeJournal_issn"/>
|
<property name="virtualMetadataConfiguration" ref="volumeJournal_issn"/>
|
||||||
</bean>
|
</bean>
|
||||||
|
|
||||||
<bean class="org.dspace.content.virtual.Related" id="volumeJournal_title_related">
|
<bean class="org.dspace.content.virtual.Related" id="volumeJournal_title_related">
|
||||||
<property name="relationshipTypeString" value="isJournalOfVolume"/>
|
<property name="relationshipTypeString" value="isJournalOfVolume"/>
|
||||||
<property name="place" value="1"/>
|
<property name="place" value="1"/>
|
||||||
<property name="virtualBean" ref="volumeJournal_title"/>
|
<property name="virtualMetadataConfiguration" ref="volumeJournal_title"/>
|
||||||
</bean>
|
</bean>
|
||||||
|
|
||||||
<util:map id="isJournalOfVolumeMap">
|
<util:map id="isJournalOfVolumeMap">
|
||||||
@@ -224,39 +224,39 @@
|
|||||||
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.
|
||||||
Therefore we've created this Related bean which will look at the journalissue's relationships with type
|
Therefore we've created this Related bean which will look at the journalissue's relationships with type
|
||||||
'isJournalVolumeOfIssue' to find the journalvolume that this journalissue is related to and it'll then call the next
|
'isJournalVolumeOfIssue' to find the journalvolume that this journalissue is related to and it'll then call the next
|
||||||
VirtualBean with that journalvolume to retrieve the value. This will leave the retrieving of the values to the
|
VirtualMetadataConfiguration with that journalvolume to retrieve the value. This will leave the retrieving
|
||||||
next bean in the chain.
|
of the values to the next bean in the chain.
|
||||||
In this specific case, it'll call another Related bean to retrieve the journal for the journalvolume and it'll
|
In this specific case, it'll call another Related bean to retrieve the journal for the journalvolume and it'll
|
||||||
then retrieve the volume. This example has 2 Related beans chained to eachother to finally chain to a Collected
|
then retrieve the volume. This example has 2 Related beans chained to eachother to finally chain to a Collected
|
||||||
bean to retrieve the final value -->
|
bean to retrieve the final value -->
|
||||||
<bean class="org.dspace.content.virtual.Related" id="issueVolumeJournal_issn_related">
|
<bean class="org.dspace.content.virtual.Related" id="issueVolumeJournal_issn_related">
|
||||||
<property name="relationshipTypeString" value="isJournalVolumeOfIssue"/>
|
<property name="relationshipTypeString" value="isJournalVolumeOfIssue"/>
|
||||||
<property name="place" value="1"/>
|
<property name="place" value="1"/>
|
||||||
<property name="virtualBean" ref="volumeJournal_issn_related"/>
|
<property name="virtualMetadataConfiguration" ref="volumeJournal_issn_related"/>
|
||||||
</bean>
|
</bean>
|
||||||
|
|
||||||
<bean class="org.dspace.content.virtual.Related" id="issueVolumeJournal_title_related">
|
<bean class="org.dspace.content.virtual.Related" id="issueVolumeJournal_title_related">
|
||||||
<property name="relationshipTypeString" value="isJournalVolumeOfIssue"/>
|
<property name="relationshipTypeString" value="isJournalVolumeOfIssue"/>
|
||||||
<property name="place" value="1"/>
|
<property name="place" value="1"/>
|
||||||
<property name="virtualBean" ref="volumeJournal_title_related"/>
|
<property name="virtualMetadataConfiguration" ref="volumeJournal_title_related"/>
|
||||||
</bean>
|
</bean>
|
||||||
|
|
||||||
<bean class="org.dspace.content.virtual.Related" id="issueVolume_title_related">
|
<bean class="org.dspace.content.virtual.Related" id="issueVolume_title_related">
|
||||||
<property name="relationshipTypeString" value="isJournalVolumeOfIssue"/>
|
<property name="relationshipTypeString" value="isJournalVolumeOfIssue"/>
|
||||||
<property name="place" value="1"/>
|
<property name="place" value="1"/>
|
||||||
<property name="virtualBean" ref="issueVolume_title"/>
|
<property name="virtualMetadataConfiguration" ref="issueVolume_title"/>
|
||||||
</bean>
|
</bean>
|
||||||
|
|
||||||
<bean class="org.dspace.content.virtual.Related" id="issueVolumeJournal_uuid_related">
|
<bean class="org.dspace.content.virtual.Related" id="issueVolumeJournal_uuid_related">
|
||||||
<property name="relationshipTypeString" value="isJournalVolumeOfIssue"/>
|
<property name="relationshipTypeString" value="isJournalVolumeOfIssue"/>
|
||||||
<property name="place" value="1"/>
|
<property name="place" value="1"/>
|
||||||
<property name="virtualBean" ref="volumeJournal_uuid_related"/>
|
<property name="virtualMetadataConfiguration" ref="volumeJournal_uuid_related"/>
|
||||||
</bean>
|
</bean>
|
||||||
|
|
||||||
<bean class="org.dspace.content.virtual.Related" id="volumeJournal_uuid_related">
|
<bean class="org.dspace.content.virtual.Related" id="volumeJournal_uuid_related">
|
||||||
<property name="relationshipTypeString" value="isJournalOfVolume"/>
|
<property name="relationshipTypeString" value="isJournalOfVolume"/>
|
||||||
<property name="place" value="1"/>
|
<property name="place" value="1"/>
|
||||||
<property name="virtualBean" ref="volumeJournal_uuid"/>
|
<property name="virtualMetadataConfiguration" ref="volumeJournal_uuid"/>
|
||||||
</bean>
|
</bean>
|
||||||
<bean class="org.dspace.content.virtual.UUIDValue" id="volumeJournal_uuid"/>
|
<bean class="org.dspace.content.virtual.UUIDValue" id="volumeJournal_uuid"/>
|
||||||
</beans>
|
</beans>
|
||||||
|
Reference in New Issue
Block a user