intermediary commit

This commit is contained in:
Raf Ponsaerts
2018-11-26 09:02:30 +01:00
parent 925b83bc02
commit c6dfae90de
5 changed files with 28 additions and 2 deletions

View File

@@ -300,4 +300,9 @@ public class RelationshipServiceImpl implements RelationshipService {
}
return listToReturn;
}
public List<Relationship> findByRelationshipType(Context context, RelationshipType relationshipType)
throws SQLException {
return relationshipDAO.findByRelationshipType(context, relationshipType);
}
}

View File

@@ -12,6 +12,7 @@ import java.util.List;
import org.dspace.content.Item;
import org.dspace.content.Relationship;
import org.dspace.content.RelationshipType;
import org.dspace.core.Context;
import org.dspace.core.GenericDAO;
@@ -56,4 +57,6 @@ public interface RelationshipDAO extends GenericDAO<Relationship> {
* @throws SQLException If something goes wrong
*/
int findRightPlaceByRightItem(Context context,Item item) throws SQLException;
List<Relationship> findByRelationshipType(Context context, RelationshipType relationshipType) throws SQLException;
}

View File

@@ -15,6 +15,7 @@ import javax.persistence.criteria.Root;
import org.dspace.content.Item;
import org.dspace.content.Relationship;
import org.dspace.content.RelationshipType;
import org.dspace.content.Relationship_;
import org.dspace.content.dao.RelationshipDAO;
import org.dspace.core.AbstractHibernateDAO;
@@ -62,4 +63,17 @@ public class RelationshipDAOImpl extends AbstractHibernateDAO<Relationship> impl
return 1;
}
}
public List<Relationship> findByRelationshipType(Context context, RelationshipType relationshipType)
throws SQLException {
CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context);
CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, Relationship.class);
Root<Relationship> relationshipRoot = criteriaQuery.from(Relationship.class);
criteriaQuery.select(relationshipRoot);
criteriaQuery
.where(criteriaBuilder.equal(relationshipRoot.get(Relationship_.relationshipType), relationshipType));
return list(context, criteriaQuery, true, Relationship.class, -1, -1);
}
}

View File

@@ -76,4 +76,6 @@ public interface RelationshipService extends DSpaceCRUDService<Relationship> {
public List<Relationship> findByItemAndRelationshipType(Context context, Item item,
RelationshipType relationshipType)
throws SQLException;
List<Relationship> findByRelationshipType(Context context, RelationshipType relationshipType) throws SQLException;
}

View File

@@ -82,8 +82,10 @@ public class RelationshipRestController {
relationships.addAll(relationshipService.findByItemAndRelationshipType(context, item, relationshipType));
}
} else {
//TODO Find by label
relationships = relationshipService.findAll(context);
for (RelationshipType relationshipType : relationshipTypeList) {
relationships.addAll(relationshipService.findByRelationshipType(context, relationshipType));
}
// relationships = relationshipService.findAll(context);
}
List<RelationshipRest> relationshipRests = new LinkedList<>();