mirror of
https://github.com/DSpace/DSpace.git
synced 2025-10-12 12:33:18 +00:00
Feedback on PR-2376
This commit is contained in:
@@ -730,17 +730,16 @@ public class MetadataImport {
|
||||
}
|
||||
|
||||
if (acceptableRelationshipTypes.size() > 1) {
|
||||
System.out.println("Ambiguous relationship_types were found");
|
||||
log.error("Ambiguous relationship_types were found");
|
||||
return;
|
||||
}
|
||||
if (acceptableRelationshipTypes.size() == 0) {
|
||||
System.out.println("no relationship_types were found");
|
||||
log.error("no relationship_types were found");
|
||||
return;
|
||||
}
|
||||
|
||||
buildRelationObject(c, item, value, left, acceptableRelationshipTypes);
|
||||
//There is exactly one
|
||||
buildRelationObject(c, item, value, left, acceptableRelationshipTypes.get(0));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -749,16 +748,15 @@ public class MetadataImport {
|
||||
* @param item The item for which this relationship will be constructed
|
||||
* @param value The value for the relationship
|
||||
* @param left A boolean indicating whether the item is the leftItem or the rightItem
|
||||
* @param acceptableRelationshipTypes The acceptable relationship types
|
||||
* @param acceptedRelationshipType The acceptable relationship type
|
||||
* @throws SQLException If something goes wrong
|
||||
* @throws AuthorizeException If something goes wrong
|
||||
*/
|
||||
private void buildRelationObject(Context c, Item item, String value, boolean left,
|
||||
List<RelationshipType> acceptableRelationshipTypes)
|
||||
RelationshipType acceptedRelationshipType)
|
||||
throws SQLException, AuthorizeException {
|
||||
Item leftItem = null;
|
||||
Item rightItem = null;
|
||||
RelationshipType acceptedRelationshipType = acceptableRelationshipTypes.get(0);
|
||||
if (left) {
|
||||
leftItem = item;
|
||||
rightItem = itemService.findByIdOrLegacyId(c, value);
|
||||
|
@@ -124,7 +124,6 @@ public class InitializeEntities {
|
||||
relationshipTypeService.update(context, relationshipTypeFromDb);
|
||||
}
|
||||
}
|
||||
context.commit();
|
||||
context.complete();
|
||||
}
|
||||
|
||||
@@ -187,7 +186,7 @@ public class InitializeEntities {
|
||||
}
|
||||
return relationshipTypes;
|
||||
} catch (ParserConfigurationException | SAXException | IOException | SQLException e) {
|
||||
log.error(e, e);
|
||||
log.error("An error occurred while parsing the XML file to relations", e);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
@@ -59,7 +59,7 @@ public class EntityServiceImpl implements EntityService {
|
||||
List<Relationship> fullList = this.getAllRelations(context, entity);
|
||||
List<Relationship> listToReturn = new LinkedList<>();
|
||||
for (Relationship relationship : fullList) {
|
||||
if (relationship.getLeftItem() == entity.getItem()) {
|
||||
if (relationship.getLeftItem().getID() == entity.getItem().getID()) {
|
||||
listToReturn.add(relationship);
|
||||
}
|
||||
}
|
||||
@@ -70,7 +70,7 @@ public class EntityServiceImpl implements EntityService {
|
||||
List<Relationship> fullList = this.getAllRelations(context, entity);
|
||||
List<Relationship> listToReturn = new LinkedList<>();
|
||||
for (Relationship relationship : fullList) {
|
||||
if (relationship.getRightItem() == entity.getItem()) {
|
||||
if (relationship.getRightItem().getID() == entity.getItem().getID()) {
|
||||
listToReturn.add(relationship);
|
||||
}
|
||||
}
|
||||
@@ -94,8 +94,8 @@ public class EntityServiceImpl implements EntityService {
|
||||
EntityType entityType = this.getType(context, entity);
|
||||
List<RelationshipType> listToReturn = new LinkedList<>();
|
||||
for (RelationshipType relationshipType : relationshipTypeService.findAll(context)) {
|
||||
if (relationshipType.getLeftType() == entityType ||
|
||||
relationshipType.getRightType() == entityType) {
|
||||
if (relationshipType.getLeftType().getID() == entityType.getID() ||
|
||||
relationshipType.getRightType().getID() == entityType.getID()) {
|
||||
listToReturn.add(relationshipType);
|
||||
}
|
||||
}
|
||||
@@ -106,7 +106,7 @@ public class EntityServiceImpl implements EntityService {
|
||||
EntityType entityType = this.getType(context, entity);
|
||||
List<RelationshipType> listToReturn = new LinkedList<>();
|
||||
for (RelationshipType relationshipType : relationshipTypeService.findAll(context)) {
|
||||
if (relationshipType.getLeftType() == entityType) {
|
||||
if (relationshipType.getLeftType().getID() == entityType.getID()) {
|
||||
listToReturn.add(relationshipType);
|
||||
}
|
||||
}
|
||||
@@ -117,7 +117,7 @@ public class EntityServiceImpl implements EntityService {
|
||||
EntityType entityType = this.getType(context, entity);
|
||||
List<RelationshipType> listToReturn = new LinkedList<>();
|
||||
for (RelationshipType relationshipType : relationshipTypeService.findAll(context)) {
|
||||
if (relationshipType.getRightType() == entityType) {
|
||||
if (relationshipType.getRightType().getID() == entityType.getID()) {
|
||||
listToReturn.add(relationshipType);
|
||||
}
|
||||
}
|
||||
|
@@ -48,7 +48,7 @@ public class RelationshipTypeServiceImpl implements RelationshipTypeService {
|
||||
@Override
|
||||
public RelationshipType findbyTypesAndLabels(Context context,EntityType leftType,EntityType rightType,
|
||||
String leftLabel,String rightLabel) throws SQLException {
|
||||
return relationshipTypeDAO.findbyTypesAndLabels(context, leftType, rightType, leftLabel, rightLabel);
|
||||
return relationshipTypeDAO.findByTypesAndLabels(context, leftType, rightType, leftLabel, rightLabel);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -34,7 +34,7 @@ public interface RelationshipTypeDAO extends GenericDAO<RelationshipType> {
|
||||
* @return The RelationshipType object that matches all the given parameters
|
||||
* @throws SQLException If something goes wrong
|
||||
*/
|
||||
RelationshipType findbyTypesAndLabels(Context context,
|
||||
RelationshipType findByTypesAndLabels(Context context,
|
||||
EntityType leftType,EntityType rightType,String leftLabel,String rightLabel)
|
||||
throws SQLException;
|
||||
|
||||
|
@@ -23,7 +23,7 @@ import org.dspace.core.Context;
|
||||
public class RelationshipTypeDAOImpl extends AbstractHibernateDAO<RelationshipType> implements RelationshipTypeDAO {
|
||||
|
||||
@Override
|
||||
public RelationshipType findbyTypesAndLabels(Context context, EntityType leftType, EntityType rightType,
|
||||
public RelationshipType findByTypesAndLabels(Context context, EntityType leftType, EntityType rightType,
|
||||
String leftLabel, String rightLabel)
|
||||
throws SQLException {
|
||||
CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context);
|
||||
|
@@ -0,0 +1,13 @@
|
||||
<!-- Build relationships from XML -->
|
||||
|
||||
|
||||
<!ELEMENT relationships (type)*>
|
||||
<!ELEMENT type (leftType|rightType|leftLabel|rightLabel|leftCardinality|rightCardinality)*>
|
||||
<!ELEMENT leftType (#PCDATA)>
|
||||
<!ELEMENT rightType (#PCDATA)>
|
||||
<!ELEMENT leftLabel (#PCDATA)>
|
||||
<!ELEMENT rightLabel (#PCDATA)>
|
||||
<!ELEMENT leftCardinality (min|max)*>
|
||||
<!ELEMENT min (#PCDATA)>
|
||||
<!ELEMENT rightCardinality (min|max)*>
|
||||
<!ELEMENT max (#PCDATA)>
|
@@ -1,4 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE relationships SYSTEM "relationship-types.dtd">
|
||||
|
||||
<relationships>
|
||||
<type>
|
||||
<leftType>Publication</leftType>
|
||||
|
@@ -41,8 +41,6 @@ public class RootRestResourceController {
|
||||
@Autowired
|
||||
RootRestRepository rootRestRepository;
|
||||
|
||||
private static Logger log = LogManager.getLogger();
|
||||
|
||||
@RequestMapping(method = RequestMethod.GET)
|
||||
public RootResource listDefinedEndpoint(HttpServletRequest request) {
|
||||
|
||||
|
@@ -86,7 +86,7 @@ public class ItemConverter extends DSpaceObjectConverter<org.dspace.content.Item
|
||||
try {
|
||||
relationships = relationshipService.findByItem(new Context(), obj);
|
||||
} catch (SQLException e) {
|
||||
log.error(e, e);
|
||||
log.error("Error retrieving relationships for item " + item.getHandle(), e);
|
||||
}
|
||||
List<RelationshipRest> relationshipRestList = new LinkedList<>();
|
||||
for (Relationship relationship : relationships) {
|
||||
|
@@ -1,2 +0,0 @@
|
||||
id,collection,dc.title,relationship.type,relation.isAuthorOfPublication
|
||||
636e440b-f554-4c27-9b9f-1696b18adbb2,123456789/674,Article,Publication,9cb4955a-abbd-40a0-b1aa-124e7ff83c1d||bb7053bf-7963-464a-bd70-2253d6b3cb37||77020ca8-f04e-4370-b259-d05b4939bab1
|
|
Reference in New Issue
Block a user