From bfbc0b1bb6de4a19436ab45fa6f8aec0d449b882 Mon Sep 17 00:00:00 2001 From: "Mark H. Wood" Date: Sun, 2 Jul 2023 11:46:57 -0400 Subject: [PATCH 01/14] Switch all DAOs to take Session rather than Context. This frees us to use DAOs with multiple Sessions per "request". A consequence of this change is that DAOs may not call model object Services. I consider doing that a layering violation, so I treat this as a feature. Only RelationshipDAOImpl reqired changes, so see that for the sort of changes required (which were minimal). --- .../alerts/SystemWideAlertServiceImpl.java | 16 +- .../dspace/alerts/dao/SystemWideAlertDAO.java | 10 +- .../dao/impl/SystemWideAlertDAOImpl.java | 16 +- .../requestitem/RequestItemServiceImpl.java | 15 +- .../app/requestitem/dao/RequestItemDAO.java | 8 +- .../dao/impl/RequestItemDAOImpl.java | 12 +- .../dspace/app/util/WebAppServiceImpl.java | 8 +- .../authorize/ResourcePolicyServiceImpl.java | 80 +++-- .../authorize/dao/ResourcePolicyDAO.java | 132 +++++---- .../dao/impl/ResourcePolicyDAOImpl.java | 159 +++++----- .../checker/ChecksumHistoryServiceImpl.java | 12 +- .../checker/ChecksumResultServiceImpl.java | 4 +- .../MostRecentChecksumServiceImpl.java | 23 +- .../checker/dao/ChecksumHistoryDAO.java | 10 +- .../dspace/checker/dao/ChecksumResultDAO.java | 4 +- .../checker/dao/MostRecentChecksumDAO.java | 23 +- .../dao/impl/ChecksumHistoryDAOImpl.java | 10 +- .../dao/impl/ChecksumResultDAOImpl.java | 8 +- .../dao/impl/MostRecentChecksumDAOImpl.java | 45 ++- .../content/BitstreamFormatServiceImpl.java | 30 +- .../dspace/content/BitstreamServiceImpl.java | 43 +-- .../org/dspace/content/BundleServiceImpl.java | 20 +- .../dspace/content/CollectionServiceImpl.java | 36 +-- .../dspace/content/CommunityServiceImpl.java | 30 +- .../dspace/content/EntityTypeServiceImpl.java | 18 +- .../org/dspace/content/ItemServiceImpl.java | 88 +++--- .../content/MetadataFieldServiceImpl.java | 24 +- .../content/MetadataSchemaServiceImpl.java | 22 +- .../content/MetadataValueServiceImpl.java | 22 +- .../content/RelationshipServiceImpl.java | 43 +-- .../content/RelationshipTypeServiceImpl.java | 28 +- .../org/dspace/content/SiteServiceImpl.java | 8 +- .../content/WorkspaceItemServiceImpl.java | 33 ++- .../org/dspace/content/dao/BitstreamDAO.java | 28 +- .../content/dao/BitstreamFormatDAO.java | 12 +- .../org/dspace/content/dao/BundleDAO.java | 4 +- .../org/dspace/content/dao/CollectionDAO.java | 25 +- .../org/dspace/content/dao/CommunityDAO.java | 16 +- .../dao/DSpaceObjectLegacySupportDAO.java | 4 +- .../org/dspace/content/dao/EntityTypeDAO.java | 18 +- .../java/org/dspace/content/dao/ItemDAO.java | 71 +++-- .../dspace/content/dao/MetadataFieldDAO.java | 12 +- .../dspace/content/dao/MetadataSchemaDAO.java | 10 +- .../dspace/content/dao/MetadataValueDAO.java | 14 +- .../org/dspace/content/dao/ProcessDAO.java | 55 ++-- .../dspace/content/dao/RelationshipDAO.java | 73 ++--- .../content/dao/RelationshipTypeDAO.java | 36 +-- .../java/org/dspace/content/dao/SiteDAO.java | 4 +- .../dspace/content/dao/WorkspaceItemDAO.java | 27 +- .../content/dao/impl/BitstreamDAOImpl.java | 61 ++-- .../dao/impl/BitstreamFormatDAOImpl.java | 42 +-- .../content/dao/impl/BundleDAOImpl.java | 6 +- .../content/dao/impl/CollectionDAOImpl.java | 48 +-- .../content/dao/impl/CommunityDAOImpl.java | 40 +-- .../content/dao/impl/EntityTypeDAOImpl.java | 21 +- .../dspace/content/dao/impl/ItemDAOImpl.java | 109 +++---- .../dao/impl/MetadataFieldDAOImpl.java | 36 ++- .../dao/impl/MetadataSchemaDAOImpl.java | 32 +- .../dao/impl/MetadataValueDAOImpl.java | 30 +- .../content/dao/impl/ProcessDAOImpl.java | 66 ++--- .../content/dao/impl/RelationshipDAOImpl.java | 102 ++++--- .../dao/impl/RelationshipTypeDAOImpl.java | 45 ++- .../dspace/content/dao/impl/SiteDAOImpl.java | 8 +- .../dao/impl/WorkspaceItemDAOImpl.java | 50 ++-- .../org/dspace/core/AbstractHibernateDAO.java | 157 +++++----- .../dspace/core/AbstractHibernateDSODAO.java | 14 +- .../main/java/org/dspace/core/Context.java | 13 + .../main/java/org/dspace/core/GenericDAO.java | 38 +-- .../dspace/eperson/EPersonServiceImpl.java | 38 +-- .../org/dspace/eperson/GroupServiceImpl.java | 53 ++-- .../eperson/RegistrationDataServiceImpl.java | 14 +- .../dspace/eperson/SubscribeServiceImpl.java | 52 ++-- .../org/dspace/eperson/dao/EPersonDAO.java | 22 +- .../eperson/dao/Group2GroupCacheDAO.java | 12 +- .../java/org/dspace/eperson/dao/GroupDAO.java | 46 +-- .../eperson/dao/RegistrationDataDAO.java | 8 +- .../dspace/eperson/dao/SubscriptionDAO.java | 68 ++--- .../eperson/dao/impl/EPersonDAOImpl.java | 58 ++-- .../dao/impl/Group2GroupCacheDAOImpl.java | 28 +- .../dspace/eperson/dao/impl/GroupDAOImpl.java | 52 ++-- .../dao/impl/RegistrationDataDAOImpl.java | 18 +- .../eperson/dao/impl/SubscriptionDAOImpl.java | 62 ++-- .../org/dspace/handle/HandleServiceImpl.java | 24 +- .../java/org/dspace/handle/dao/HandleDAO.java | 16 +- .../dspace/handle/dao/impl/HandleDAOImpl.java | 36 +-- .../HarvestedCollectionServiceImpl.java | 23 +- .../harvest/HarvestedItemServiceImpl.java | 11 +- .../harvest/dao/HarvestedCollectionDAO.java | 14 +- .../dspace/harvest/dao/HarvestedItemDAO.java | 6 +- .../dao/impl/HarvestedCollectionDAOImpl.java | 42 +-- .../dao/impl/HarvestedItemDAOImpl.java | 15 +- .../org/dspace/identifier/DOIServiceImpl.java | 14 +- .../org/dspace/identifier/dao/DOIDAO.java | 12 +- .../identifier/dao/impl/DOIDAOImpl.java | 32 +- .../org/dspace/orcid/dao/OrcidHistoryDAO.java | 18 +- .../org/dspace/orcid/dao/OrcidQueueDAO.java | 32 +- .../org/dspace/orcid/dao/OrcidTokenDAO.java | 10 +- .../orcid/dao/impl/OrcidHistoryDAOImpl.java | 19 +- .../orcid/dao/impl/OrcidQueueDAOImpl.java | 32 +- .../orcid/dao/impl/OrcidTokenDAOImpl.java | 11 +- .../orcid/service/OrcidTokenService.java | 16 +- .../service/impl/OrcidHistoryServiceImpl.java | 34 ++- .../service/impl/OrcidQueueServiceImpl.java | 42 +-- .../service/impl/OrcidTokenServiceImpl.java | 23 +- .../dspace/scripts/ProcessServiceImpl.java | 27 +- .../FailedOpenURLTrackerServiceImpl.java | 8 +- .../SupervisionOrderServiceImpl.java | 18 +- .../supervision/dao/SupervisionOrderDao.java | 10 +- .../dao/impl/SupervisionOrderDaoImpl.java | 14 +- .../versioning/VersionHistoryServiceImpl.java | 10 +- .../versioning/VersioningServiceImpl.java | 30 +- .../org/dspace/versioning/dao/VersionDAO.java | 23 +- .../versioning/dao/VersionHistoryDAO.java | 4 +- .../versioning/dao/impl/VersionDAOImpl.java | 29 +- .../dao/impl/VersionHistoryDAOImpl.java | 8 +- .../ClaimedTaskServiceImpl.java | 31 +- .../CollectionRoleServiceImpl.java | 16 +- .../InProgressUserServiceImpl.java | 18 +- .../storedcomponents/PoolTaskServiceImpl.java | 26 +- .../WorkflowItemRoleServiceImpl.java | 14 +- .../XmlWorkflowItemServiceImpl.java | 29 +- .../storedcomponents/dao/ClaimedTaskDAO.java | 20 +- .../dao/CollectionRoleDAO.java | 16 +- .../dao/InProgressUserDAO.java | 12 +- .../storedcomponents/dao/PoolTaskDAO.java | 12 +- .../dao/WorkflowItemRoleDAO.java | 8 +- .../dao/XmlWorkflowItemDAO.java | 37 +-- .../dao/impl/ClaimedTaskDAOImpl.java | 47 ++- .../dao/impl/CollectionRoleDAOImpl.java | 24 +- .../dao/impl/InProgressUserDAOImpl.java | 33 +-- .../dao/impl/PoolTaskDAOImpl.java | 33 +-- .../dao/impl/WorkflowItemRoleDAOImpl.java | 20 +- .../dao/impl/XmlWorkflowItemDAOImpl.java | 46 +-- .../alerts/SystemWideAlertServiceTest.java | 12 +- .../dao/impl/ChecksumHistoryDAOImplTest.java | 2 +- .../content/EntityTypeServiceImplTest.java | 8 +- .../content/RelationshipServiceImplTest.java | 13 +- ...RelationshipServiceImplVersioningTest.java | 276 +++++++++++------- .../dspace/content/RelationshipTypeTest.java | 5 +- .../handle/dao/impl/HandleDAOImplTest.java | 4 +- .../FailedOpenURLTrackerServiceImplTest.java | 5 +- .../rest/RegistrationRestRepositoryIT.java | 56 ++-- 142 files changed, 2247 insertions(+), 2137 deletions(-) diff --git a/dspace-api/src/main/java/org/dspace/alerts/SystemWideAlertServiceImpl.java b/dspace-api/src/main/java/org/dspace/alerts/SystemWideAlertServiceImpl.java index 9ddf6c97d111..a584779ac8e5 100644 --- a/dspace-api/src/main/java/org/dspace/alerts/SystemWideAlertServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/alerts/SystemWideAlertServiceImpl.java @@ -51,35 +51,35 @@ public SystemWideAlert create(final Context context, final String message, systemWideAlert.setCountdownTo(countdownTo); systemWideAlert.setActive(active); - SystemWideAlert createdAlert = systemWideAlertDAO.create(context, systemWideAlert); + SystemWideAlert createdAlert + = systemWideAlertDAO.create(context.getSession(), systemWideAlert); log.info(LogHelper.getHeader(context, "system_wide_alert_create", "System Wide Alert has been created with message: '" + message + "' and ID " + createdAlert.getID() + " and allowSessionsType " + allowSessionsType + " and active set to " + active)); - return createdAlert; } @Override public SystemWideAlert find(final Context context, final int alertId) throws SQLException { - return systemWideAlertDAO.findByID(context, SystemWideAlert.class, alertId); + return systemWideAlertDAO.findByID(context.getSession(), SystemWideAlert.class, alertId); } @Override public List findAll(final Context context) throws SQLException { - return systemWideAlertDAO.findAll(context, SystemWideAlert.class); + return systemWideAlertDAO.findAll(context.getSession(), SystemWideAlert.class); } @Override public List findAll(final Context context, final int limit, final int offset) throws SQLException { - return systemWideAlertDAO.findAll(context, limit, offset); + return systemWideAlertDAO.findAll(context.getSession(), limit, offset); } @Override public List findAllActive(final Context context, final int limit, final int offset) throws SQLException { - return systemWideAlertDAO.findAllActive(context, limit, offset); + return systemWideAlertDAO.findAllActive(context.getSession(), limit, offset); } @Override @@ -89,7 +89,7 @@ public void delete(final Context context, final SystemWideAlert systemWideAlert) throw new AuthorizeException( "Only administrators can create a system-wide alert"); } - systemWideAlertDAO.delete(context, systemWideAlert); + systemWideAlertDAO.delete(context.getSession(), systemWideAlert); log.info(LogHelper.getHeader(context, "system_wide_alert_create", "System Wide Alert with ID " + systemWideAlert.getID() + " has been deleted")); @@ -102,7 +102,7 @@ public void update(final Context context, final SystemWideAlert systemWideAlert) throw new AuthorizeException( "Only administrators can create a system-wide alert"); } - systemWideAlertDAO.save(context, systemWideAlert); + systemWideAlertDAO.save(context.getSession(), systemWideAlert); } diff --git a/dspace-api/src/main/java/org/dspace/alerts/dao/SystemWideAlertDAO.java b/dspace-api/src/main/java/org/dspace/alerts/dao/SystemWideAlertDAO.java index b26b64758355..a7a90a1d6faf 100644 --- a/dspace-api/src/main/java/org/dspace/alerts/dao/SystemWideAlertDAO.java +++ b/dspace-api/src/main/java/org/dspace/alerts/dao/SystemWideAlertDAO.java @@ -11,8 +11,8 @@ import java.util.List; import org.dspace.alerts.SystemWideAlert; -import org.dspace.core.Context; import org.dspace.core.GenericDAO; +import org.hibernate.Session; /** * This is the Data Access Object for the {@link SystemWideAlert} object @@ -22,24 +22,24 @@ public interface SystemWideAlertDAO extends GenericDAO { /** * Returns a list of all SystemWideAlert objects in the database * - * @param context The relevant DSpace context + * @param session The current request's database context. * @param limit The limit for the amount of SystemWideAlerts returned * @param offset The offset for the Processes to be returned * @return The list of all SystemWideAlert objects in the Database * @throws SQLException If something goes wrong */ - List findAll(Context context, int limit, int offset) throws SQLException; + List findAll(Session session, int limit, int offset) throws SQLException; /** * Returns a list of all active SystemWideAlert objects in the database * - * @param context The relevant DSpace context + * @param session The current request's database context. * @param limit The limit for the amount of SystemWideAlerts returned * @param offset The offset for the Processes to be returned * @return The list of all SystemWideAlert objects in the Database * @throws SQLException If something goes wrong */ - List findAllActive(Context context, int limit, int offset) throws SQLException; + List findAllActive(Session session, int limit, int offset) throws SQLException; } diff --git a/dspace-api/src/main/java/org/dspace/alerts/dao/impl/SystemWideAlertDAOImpl.java b/dspace-api/src/main/java/org/dspace/alerts/dao/impl/SystemWideAlertDAOImpl.java index 13a0e0af236a..dff21a2cbed1 100644 --- a/dspace-api/src/main/java/org/dspace/alerts/dao/impl/SystemWideAlertDAOImpl.java +++ b/dspace-api/src/main/java/org/dspace/alerts/dao/impl/SystemWideAlertDAOImpl.java @@ -17,31 +17,33 @@ import org.dspace.alerts.SystemWideAlert_; import org.dspace.alerts.dao.SystemWideAlertDAO; import org.dspace.core.AbstractHibernateDAO; -import org.dspace.core.Context; +import org.hibernate.Session; /** * Implementation class for the {@link SystemWideAlertDAO} */ public class SystemWideAlertDAOImpl extends AbstractHibernateDAO implements SystemWideAlertDAO { - public List findAll(final Context context, final int limit, final int offset) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + @Override + public List findAll(final Session session, final int limit, final int offset) throws SQLException { + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, SystemWideAlert.class); Root alertRoot = criteriaQuery.from(SystemWideAlert.class); criteriaQuery.select(alertRoot); - return list(context, criteriaQuery, false, SystemWideAlert.class, limit, offset); + return list(session, criteriaQuery, false, SystemWideAlert.class, limit, offset); } - public List findAllActive(final Context context, final int limit, final int offset) + @Override + public List findAllActive(final Session session, final int limit, final int offset) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, SystemWideAlert.class); Root alertRoot = criteriaQuery.from(SystemWideAlert.class); criteriaQuery.select(alertRoot); criteriaQuery.where(criteriaBuilder.equal(alertRoot.get(SystemWideAlert_.active), true)); - return list(context, criteriaQuery, false, SystemWideAlert.class, limit, offset); + return list(session, criteriaQuery, false, SystemWideAlert.class, limit, offset); } diff --git a/dspace-api/src/main/java/org/dspace/app/requestitem/RequestItemServiceImpl.java b/dspace-api/src/main/java/org/dspace/app/requestitem/RequestItemServiceImpl.java index b915cfedd346..62d5abbc1e3c 100644 --- a/dspace-api/src/main/java/org/dspace/app/requestitem/RequestItemServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/app/requestitem/RequestItemServiceImpl.java @@ -57,7 +57,8 @@ protected RequestItemServiceImpl() { public String createRequest(Context context, Bitstream bitstream, Item item, boolean allFiles, String reqEmail, String reqName, String reqMessage) throws SQLException { - RequestItem requestItem = requestItemDAO.create(context, new RequestItem()); + RequestItem requestItem + = requestItemDAO.create(context.getSession(), new RequestItem()); requestItem.setToken(Utils.generateHexKey()); requestItem.setBitstream(bitstream); @@ -68,7 +69,7 @@ public String createRequest(Context context, Bitstream bitstream, Item item, requestItem.setReqMessage(reqMessage); requestItem.setRequest_date(new Date()); - requestItemDAO.save(context, requestItem); + requestItemDAO.save(context.getSession(), requestItem); log.debug("Created RequestItem with ID {} and token {}", requestItem::getID, requestItem::getToken); @@ -78,13 +79,13 @@ public String createRequest(Context context, Bitstream bitstream, Item item, @Override public List findAll(Context context) throws SQLException { - return requestItemDAO.findAll(context, RequestItem.class); + return requestItemDAO.findAll(context.getSession(), RequestItem.class); } @Override public RequestItem findByToken(Context context, String token) { try { - return requestItemDAO.findByToken(context, token); + return requestItemDAO.findByToken(context.getSession(), token); } catch (SQLException e) { log.error(e.getMessage()); return null; @@ -93,13 +94,13 @@ public RequestItem findByToken(Context context, String token) { @Override public Iterator findByItem(Context context, Item item) throws SQLException { - return requestItemDAO.findByItem(context, item); + return requestItemDAO.findByItem(context.getSession(), item); } @Override public void update(Context context, RequestItem requestItem) { try { - requestItemDAO.save(context, requestItem); + requestItemDAO.save(context.getSession(), requestItem); } catch (SQLException e) { log.error(e.getMessage()); } @@ -110,7 +111,7 @@ public void delete(Context context, RequestItem requestItem) { log.debug(LogHelper.getHeader(context, "delete_itemrequest", "request_id={}"), requestItem.getID()); try { - requestItemDAO.delete(context, requestItem); + requestItemDAO.delete(context.getSession(), requestItem); } catch (SQLException e) { log.error(e.getMessage()); } diff --git a/dspace-api/src/main/java/org/dspace/app/requestitem/dao/RequestItemDAO.java b/dspace-api/src/main/java/org/dspace/app/requestitem/dao/RequestItemDAO.java index b36ae58e0ca1..19037c4b793a 100644 --- a/dspace-api/src/main/java/org/dspace/app/requestitem/dao/RequestItemDAO.java +++ b/dspace-api/src/main/java/org/dspace/app/requestitem/dao/RequestItemDAO.java @@ -12,8 +12,8 @@ import org.dspace.app.requestitem.RequestItem; import org.dspace.content.Item; -import org.dspace.core.Context; import org.dspace.core.GenericDAO; +import org.hibernate.Session; /** * Database Access Object interface class for the RequestItem object. @@ -28,12 +28,12 @@ public interface RequestItemDAO extends GenericDAO { /** * Fetch a request named by its unique token (passed in emails). * - * @param context the current DSpace context. + * @param session the current request's database context. * @param token uniquely identifies the request. * @return the found request (or {@code null}?) * @throws SQLException passed through. */ - public RequestItem findByToken(Context context, String token) throws SQLException; + public RequestItem findByToken(Session session, String token) throws SQLException; - public Iterator findByItem(Context context, Item item) throws SQLException; + public Iterator findByItem(Session session, Item item) throws SQLException; } diff --git a/dspace-api/src/main/java/org/dspace/app/requestitem/dao/impl/RequestItemDAOImpl.java b/dspace-api/src/main/java/org/dspace/app/requestitem/dao/impl/RequestItemDAOImpl.java index 008174ded88c..ea512593934f 100644 --- a/dspace-api/src/main/java/org/dspace/app/requestitem/dao/impl/RequestItemDAOImpl.java +++ b/dspace-api/src/main/java/org/dspace/app/requestitem/dao/impl/RequestItemDAOImpl.java @@ -19,7 +19,7 @@ import org.dspace.app.requestitem.dao.RequestItemDAO; import org.dspace.content.Item; import org.dspace.core.AbstractHibernateDAO; -import org.dspace.core.Context; +import org.hibernate.Session; /** * Hibernate implementation of the Database Access Object interface class for the RequestItem object. @@ -34,17 +34,17 @@ protected RequestItemDAOImpl() { } @Override - public RequestItem findByToken(Context context, String token) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + public RequestItem findByToken(Session session, String token) throws SQLException { + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, RequestItem.class); Root requestItemRoot = criteriaQuery.from(RequestItem.class); criteriaQuery.select(requestItemRoot); criteriaQuery.where(criteriaBuilder.equal(requestItemRoot.get(RequestItem_.token), token)); - return uniqueResult(context, criteriaQuery, false, RequestItem.class); + return uniqueResult(session, criteriaQuery, false, RequestItem.class); } @Override - public Iterator findByItem(Context context, Item item) throws SQLException { - Query query = createQuery(context, "FROM RequestItem WHERE item_id= :uuid"); + public Iterator findByItem(Session session, Item item) throws SQLException { + Query query = createQuery(session, "FROM RequestItem WHERE item_id= :uuid"); query.setParameter("uuid", item.getID()); return iterate(query); } diff --git a/dspace-api/src/main/java/org/dspace/app/util/WebAppServiceImpl.java b/dspace-api/src/main/java/org/dspace/app/util/WebAppServiceImpl.java index 8dcd78c8823b..3a553c534e8e 100644 --- a/dspace-api/src/main/java/org/dspace/app/util/WebAppServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/app/util/WebAppServiceImpl.java @@ -45,23 +45,23 @@ protected WebAppServiceImpl() { @Override public WebApp create(Context context, String appName, String url, Date started, int isUI) throws SQLException { - WebApp webApp = webAppDAO.create(context, new WebApp()); + WebApp webApp = webAppDAO.create(context.getSession(), new WebApp()); webApp.setAppName(appName); webApp.setUrl(url); webApp.setStarted(started); webApp.setIsui(isUI); - webAppDAO.save(context, webApp); + webAppDAO.save(context.getSession(), webApp); return webApp; } @Override public void delete(Context context, WebApp webApp) throws SQLException { - webAppDAO.delete(context, webApp); + webAppDAO.delete(context.getSession(), webApp); } @Override public List findAll(Context context) throws SQLException { - return webAppDAO.findAll(context, WebApp.class); + return webAppDAO.findAll(context.getSession(), WebApp.class); } @Override diff --git a/dspace-api/src/main/java/org/dspace/authorize/ResourcePolicyServiceImpl.java b/dspace-api/src/main/java/org/dspace/authorize/ResourcePolicyServiceImpl.java index b762107a84c5..18286f4ba9b6 100644 --- a/dspace-api/src/main/java/org/dspace/authorize/ResourcePolicyServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/authorize/ResourcePolicyServiceImpl.java @@ -17,7 +17,6 @@ import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.ObjectUtils; -import org.apache.logging.log4j.Logger; import org.dspace.authorize.dao.ResourcePolicyDAO; import org.dspace.authorize.service.ResourcePolicyService; import org.dspace.content.DSpaceObject; @@ -37,11 +36,6 @@ * @author kevinvandevelde at atmire.com */ public class ResourcePolicyServiceImpl implements ResourcePolicyService { - /** - * log4j logger - */ - private static Logger log = org.apache.logging.log4j.LogManager.getLogger(ResourcePolicyServiceImpl.class); - @Autowired(required = true) protected ContentServiceFactory contentServiceFactory; @@ -64,7 +58,7 @@ protected ResourcePolicyServiceImpl() { */ @Override public ResourcePolicy find(Context context, int id) throws SQLException { - return resourcePolicyDAO.findByID(context, ResourcePolicy.class, id); + return resourcePolicyDAO.findByID(context.getSession(), ResourcePolicy.class, id); } /** @@ -78,52 +72,54 @@ public ResourcePolicy find(Context context, int id) throws SQLException { public ResourcePolicy create(Context context) throws SQLException { // FIXME: Check authorisation // Create a table row - ResourcePolicy resourcePolicy = resourcePolicyDAO.create(context, new ResourcePolicy()); + ResourcePolicy resourcePolicy + = resourcePolicyDAO.create(context.getSession(), new ResourcePolicy()); return resourcePolicy; } @Override public List find(Context c, DSpaceObject o) throws SQLException { - return resourcePolicyDAO.findByDso(c, o); + return resourcePolicyDAO.findByDso(c.getSession(), o); } @Override public List find(Context c, DSpaceObject o, String type) throws SQLException { - return resourcePolicyDAO.findByDsoAndType(c, o, type); + return resourcePolicyDAO.findByDsoAndType(c.getSession(), o, type); } @Override public List find(Context context, Group group) throws SQLException { - return resourcePolicyDAO.findByGroup(context, group); + return resourcePolicyDAO.findByGroup(context.getSession(), group); } @Override public List find(Context c, DSpaceObject o, int actionId) throws SQLException { - return resourcePolicyDAO.findByDSoAndAction(c, o, actionId); + return resourcePolicyDAO.findByDSoAndAction(c.getSession(), o, actionId); } @Override public List find(Context c, DSpaceObject dso, Group group, int action) throws SQLException { - return resourcePolicyDAO.findByTypeGroupAction(c, dso, group, action); + return resourcePolicyDAO.findByTypeGroupAction(c.getSession(), dso, group, action); } @Override public List find(Context c, EPerson e, List groups, int action, int type_id) throws SQLException { - return resourcePolicyDAO.findByEPersonGroupTypeIdAction(c, e, groups, action, type_id); + return resourcePolicyDAO.findByEPersonGroupTypeIdAction(c.getSession(), e, groups, action, type_id); } @Override public List find(Context context, EPerson ePerson) throws SQLException { - return resourcePolicyDAO.findByEPerson(context, ePerson); + return resourcePolicyDAO.findByEPerson(context.getSession(), ePerson); } @Override public List findByTypeGroupActionExceptId(Context context, DSpaceObject dso, Group group, int action, int notPolicyID) throws SQLException { - return resourcePolicyDAO.findByTypeGroupActionExceptId(context, dso, group, action, notPolicyID); + return resourcePolicyDAO.findByTypeGroupActionExceptId(context.getSession(), + dso, group, action, notPolicyID); } @@ -139,7 +135,7 @@ public List findByTypeGroupActionExceptId(Context context, DSpac public void delete(Context context, ResourcePolicy resourcePolicy) throws SQLException, AuthorizeException { // FIXME: authorizations // Remove ourself - resourcePolicyDAO.delete(context, resourcePolicy); + resourcePolicyDAO.delete(context.getSession(), resourcePolicy); context.turnOffAuthorisationSystem(); if (resourcePolicy.getdSpaceObject() != null) { @@ -218,7 +214,7 @@ public ResourcePolicy clone(Context context, ResourcePolicy resourcePolicy) @Override public void removeAllPolicies(Context c, DSpaceObject o) throws SQLException, AuthorizeException { - resourcePolicyDAO.deleteByDso(c, o); + resourcePolicyDAO.deleteByDso(c.getSession(), o); c.turnOffAuthorisationSystem(); contentServiceFactory.getDSpaceObjectService(o).updateLastModified(c, o); c.restoreAuthSystemState(); @@ -226,7 +222,7 @@ public void removeAllPolicies(Context c, DSpaceObject o) throws SQLException, Au @Override public void removePolicies(Context c, DSpaceObject o, String type) throws SQLException, AuthorizeException { - resourcePolicyDAO.deleteByDsoAndType(c, o, type); + resourcePolicyDAO.deleteByDsoAndType(c.getSession(), o, type); c.turnOffAuthorisationSystem(); contentServiceFactory.getDSpaceObjectService(o).updateLastModified(c, o); c.restoreAuthSystemState(); @@ -235,7 +231,7 @@ public void removePolicies(Context c, DSpaceObject o, String type) throws SQLExc @Override public void removePolicies(Context c, DSpaceObject o, String type, int action) throws SQLException, AuthorizeException { - resourcePolicyDAO.deleteByDsoAndTypeAndAction(c, o, type, action); + resourcePolicyDAO.deleteByDsoAndTypeAndAction(c.getSession(), o, type, action); c.turnOffAuthorisationSystem(); contentServiceFactory.getDSpaceObjectService(o).updateLastModified(c, o); c.restoreAuthSystemState(); @@ -244,7 +240,7 @@ public void removePolicies(Context c, DSpaceObject o, String type, int action) @Override public void removeDsoGroupPolicies(Context context, DSpaceObject dso, Group group) throws SQLException, AuthorizeException { - resourcePolicyDAO.deleteByDsoGroupPolicies(context, dso, group); + resourcePolicyDAO.deleteByDsoGroupPolicies(context.getSession(), dso, group); context.turnOffAuthorisationSystem(); contentServiceFactory.getDSpaceObjectService(dso).updateLastModified(context, dso); context.restoreAuthSystemState(); @@ -253,7 +249,7 @@ public void removeDsoGroupPolicies(Context context, DSpaceObject dso, Group grou @Override public void removeDsoEPersonPolicies(Context context, DSpaceObject dso, EPerson ePerson) throws SQLException, AuthorizeException { - resourcePolicyDAO.deleteByDsoEPersonPolicies(context, dso, ePerson); + resourcePolicyDAO.deleteByDsoEPersonPolicies(context.getSession(), dso, ePerson); context.turnOffAuthorisationSystem(); contentServiceFactory.getDSpaceObjectService(dso).updateLastModified(context, dso); context.restoreAuthSystemState(); @@ -262,12 +258,12 @@ public void removeDsoEPersonPolicies(Context context, DSpaceObject dso, EPerson @Override public void removeAllEPersonPolicies(Context context, EPerson ePerson) throws SQLException, AuthorizeException { - resourcePolicyDAO.deleteByEPerson(context, ePerson); + resourcePolicyDAO.deleteByEPerson(context.getSession(), ePerson); } @Override public void removeGroupPolicies(Context c, Group group) throws SQLException { - resourcePolicyDAO.deleteByGroup(c, group); + resourcePolicyDAO.deleteByGroup(c.getSession(), group); } @Override @@ -275,7 +271,7 @@ public void removePolicies(Context c, DSpaceObject o, int actionId) throws SQLEx if (actionId == -1) { removeAllPolicies(c, o); } else { - resourcePolicyDAO.deleteByDsoAndAction(c, o, actionId); + resourcePolicyDAO.deleteByDsoAndAction(c.getSession(), o, actionId); c.turnOffAuthorisationSystem(); contentServiceFactory.getDSpaceObjectService(o).updateLastModified(c, o); c.restoreAuthSystemState(); @@ -285,7 +281,7 @@ public void removePolicies(Context c, DSpaceObject o, int actionId) throws SQLEx @Override public void removeDsoAndTypeNotEqualsToPolicies(Context c, DSpaceObject o, String type) throws SQLException, AuthorizeException { - resourcePolicyDAO.deleteByDsoAndTypeNotEqualsTo(c, o, type); + resourcePolicyDAO.deleteByDsoAndTypeNotEqualsTo(c.getSession(), o, type); c.turnOffAuthorisationSystem(); contentServiceFactory.getDSpaceObjectService(o).updateLastModified(c, o); c.restoreAuthSystemState(); @@ -319,7 +315,7 @@ public void update(Context context, List resourcePolicies) throw } // FIXME: Check authorisation - resourcePolicyDAO.save(context, resourcePolicy); + resourcePolicyDAO.save(context.getSession(), resourcePolicy); } //Update the last modified timestamp of all related DSpace Objects @@ -335,80 +331,82 @@ public void update(Context context, List resourcePolicies) throw @Override public List findExceptRpType(Context c, DSpaceObject o, int actionID, String rpType) throws SQLException { - return resourcePolicyDAO.findByDSoAndActionExceptRpType(c, o, actionID, rpType); + return resourcePolicyDAO.findByDSoAndActionExceptRpType(c.getSession(), o, actionID, rpType); } @Override public List findByEPerson(Context context, EPerson ePerson, int offset, int limit) throws SQLException { - return resourcePolicyDAO.findByEPerson(context, ePerson, offset, limit); + return resourcePolicyDAO.findByEPerson(context.getSession(), ePerson, offset, limit); } @Override public int countByEPerson(Context context, EPerson eperson) throws SQLException { - return resourcePolicyDAO.countByEPerson(context, eperson); + return resourcePolicyDAO.countByEPerson(context.getSession(), eperson); } @Override public List findByEPersonAndResourceUuid(Context context, EPerson eperson, UUID resourceUuid, int offset, int limit) throws SQLException { - return resourcePolicyDAO.findByEPersonAndResourceUuid(context, eperson, resourceUuid, offset, limit); + return resourcePolicyDAO.findByEPersonAndResourceUuid(context.getSession(), + eperson, resourceUuid, offset, limit); } @Override public int countResourcePoliciesByEPersonAndResourceUuid(Context context, EPerson eperson, UUID resourceUuid) throws SQLException { - return resourcePolicyDAO.countByEPersonAndResourceUuid(context, eperson, resourceUuid); + return resourcePolicyDAO.countByEPersonAndResourceUuid(context.getSession(), eperson, resourceUuid); } @Override public List findByResouceUuidAndActionId(Context context, UUID resourceUuid, int actionId, int offset, int limit) throws SQLException { - return resourcePolicyDAO.findByResouceUuidAndActionId(context, resourceUuid, actionId, offset, limit); + return resourcePolicyDAO.findByResouceUuidAndActionId(context.getSession(), + resourceUuid, actionId, offset, limit); } @Override public int countByResouceUuidAndActionId(Context context, UUID resourceUuid, int actionId) throws SQLException { - return resourcePolicyDAO.countByResouceUuidAndActionId(context, resourceUuid, actionId); + return resourcePolicyDAO.countByResouceUuidAndActionId(context.getSession(), resourceUuid, actionId); } @Override public List findByResouceUuid(Context context, UUID resourceUuid, int offset, int limit) throws SQLException { - return resourcePolicyDAO.findByResouceUuid(context, resourceUuid, offset, limit); + return resourcePolicyDAO.findByResouceUuid(context.getSession(), resourceUuid, offset, limit); } @Override public int countByResourceUuid(Context context, UUID resourceUuid) throws SQLException { - return resourcePolicyDAO.countByResourceUuid(context, resourceUuid); + return resourcePolicyDAO.countByResourceUuid(context.getSession(), resourceUuid); } @Override public List findByGroup(Context context, Group group, int offset, int limit) throws SQLException { - return resourcePolicyDAO.findByGroup(context, group, offset, limit); + return resourcePolicyDAO.findByGroup(context.getSession(), group, offset, limit); } @Override public int countResourcePolicyByGroup(Context context, Group group) throws SQLException { - return resourcePolicyDAO.countResourcePolicyByGroup(context, group); + return resourcePolicyDAO.countResourcePolicyByGroup(context.getSession(), group); } @Override public List findByGroupAndResourceUuid(Context context, Group group, UUID resourceUuid, int offset, int limit) throws SQLException { - return resourcePolicyDAO.findByGroupAndResourceUuid(context, group, resourceUuid, offset, limit); + return resourcePolicyDAO.findByGroupAndResourceUuid(context.getSession(), group, resourceUuid, offset, limit); } @Override public int countByGroupAndResourceUuid(Context context, Group group, UUID resourceUuid) throws SQLException { - return resourcePolicyDAO.countByGroupAndResourceUuid(context, group, resourceUuid); + return resourcePolicyDAO.countByGroupAndResourceUuid(context.getSession(), group, resourceUuid); } @Override public boolean isMyResourcePolicy(Context context, EPerson eperson, Integer id) throws SQLException { boolean isMy = false; - ResourcePolicy resourcePolicy = resourcePolicyDAO.findOneById(context, id); + ResourcePolicy resourcePolicy = resourcePolicyDAO.findOneById(context.getSession(), id); Group group = resourcePolicy.getGroup(); if (resourcePolicy.getEPerson() != null && resourcePolicy.getEPerson().getID() == eperson.getID()) { diff --git a/dspace-api/src/main/java/org/dspace/authorize/dao/ResourcePolicyDAO.java b/dspace-api/src/main/java/org/dspace/authorize/dao/ResourcePolicyDAO.java index 4e12cd0bfd66..bff8755dde30 100644 --- a/dspace-api/src/main/java/org/dspace/authorize/dao/ResourcePolicyDAO.java +++ b/dspace-api/src/main/java/org/dspace/authorize/dao/ResourcePolicyDAO.java @@ -13,10 +13,10 @@ import org.dspace.authorize.ResourcePolicy; import org.dspace.content.DSpaceObject; -import org.dspace.core.Context; import org.dspace.core.GenericDAO; import org.dspace.eperson.EPerson; import org.dspace.eperson.Group; +import org.hibernate.Session; /** * Database Access Object interface class for the ResourcePolicy object. @@ -28,99 +28,107 @@ */ public interface ResourcePolicyDAO extends GenericDAO { - public List findByDso(Context context, DSpaceObject dso) throws SQLException; + public List findByDso(Session session, DSpaceObject dso) throws SQLException; - public List findByDsoAndType(Context context, DSpaceObject dSpaceObject, String type) + public List findByDsoAndType(Session session, DSpaceObject dSpaceObject, String type) throws SQLException; - public List findByEPerson(Context context, EPerson ePerson) throws SQLException; + public List findByEPerson(Session session, EPerson ePerson) throws SQLException; - public List findByGroup(Context context, Group group) throws SQLException; + public List findByGroup(Session session, Group group) throws SQLException; - public List findByDSoAndAction(Context context, DSpaceObject dso, int actionId) throws SQLException; + public List findByDSoAndAction(Session session, DSpaceObject dso, int actionId) throws SQLException; - public void deleteByDsoAndTypeAndAction(Context context, DSpaceObject dSpaceObject, String type, int action) + public void deleteByDsoAndTypeAndAction(Session session, DSpaceObject dSpaceObject, String type, int action) throws SQLException; - public List findByTypeGroupAction(Context context, DSpaceObject dso, Group group, int action) + public List findByTypeGroupAction(Session session, DSpaceObject dso, Group group, int action) throws SQLException; /** - * Look for ResourcePolicies by DSpaceObject, Group, and action, ignoring IDs with a specific PolicyID. - * This method can be used to detect duplicate ResourcePolicies. + * Look for ResourcePolicies by DSpaceObject, Group, and action, ignoring + * IDs with a specific PolicyID. This method can be used to detect + * duplicate ResourcePolicies. * - * @param notPolicyID ResourcePolicies with this ID will be ignored while looking out for equal ResourcePolicies. - * @return List of resource policies for the same DSpaceObject, group and action but other policyID. + * @param session the current request's database context. + * @param dso the object in question. + * @param group the group in question. + * @param action the required action. + * @param notPolicyID ResourcePolicies with this ID will be ignored while + * looking for equal ResourcePolicies. + * @return List of resource policies for the same DSpaceObject, group and + * action but other policyID. * @throws SQLException */ - public List findByTypeGroupActionExceptId(Context context, DSpaceObject dso, Group group, + public List findByTypeGroupActionExceptId(Session session, DSpaceObject dso, Group group, int action, int notPolicyID) throws SQLException; - public List findByEPersonGroupTypeIdAction(Context context, EPerson e, List groups, + public List findByEPersonGroupTypeIdAction(Session session, EPerson e, List groups, int action, int type_id) throws SQLException; - public void deleteByDso(Context context, DSpaceObject dso) throws SQLException; + public void deleteByDso(Session session, DSpaceObject dso) throws SQLException; - public void deleteByDsoAndAction(Context context, DSpaceObject dso, int actionId) throws SQLException; + public void deleteByDsoAndAction(Session session, DSpaceObject dso, int actionId) throws SQLException; - public void deleteByDsoAndType(Context context, DSpaceObject dSpaceObject, String type) throws SQLException; + public void deleteByDsoAndType(Session session, DSpaceObject dSpaceObject, String type) throws SQLException; - public void deleteByGroup(Context context, Group group) throws SQLException; + public void deleteByGroup(Session session, Group group) throws SQLException; - public void deleteByDsoGroupPolicies(Context context, DSpaceObject dso, Group group) throws SQLException; + public void deleteByDsoGroupPolicies(Session session, DSpaceObject dso, Group group) throws SQLException; - public void deleteByDsoEPersonPolicies(Context context, DSpaceObject dso, EPerson ePerson) throws SQLException; + public void deleteByDsoEPersonPolicies(Session session, DSpaceObject dso, EPerson ePerson) throws SQLException; /** * Deletes all policies that belong to an EPerson * - * @param context DSpace context object + * @param session current request's database context. * @param ePerson ePerson whose policies to delete * @throws SQLException if database error */ - public void deleteByEPerson(Context context, EPerson ePerson) throws SQLException; + public void deleteByEPerson(Session session, EPerson ePerson) throws SQLException; - public void deleteByDsoAndTypeNotEqualsTo(Context c, DSpaceObject o, String type) throws SQLException; + public void deleteByDsoAndTypeNotEqualsTo(Session session, DSpaceObject o, String type) throws SQLException; /** * Return a list of policies for an object that match the action except the record labeled with the rpType * - * @param c context + * @param session current request's database session. * @param o DSpaceObject policies relate to * @param actionID action (defined in class Constants) * @param rpType the resource policy type * @return list of resource policies * @throws SQLException if there's a database problem */ - public List findByDSoAndActionExceptRpType(Context c, DSpaceObject o, int actionID, + public List findByDSoAndActionExceptRpType(Session session, DSpaceObject o, int actionID, String rpType) throws SQLException; /** * Return a paginated list of policies that belong to an EPerson - * - * @param context DSpace context object + * + * @param session current request's database context * @param ePerson ePerson whose policies want to find * @param offset the position of the first result to return * @param limit paging limit + * @return matching policies * @throws SQLException if database error */ - public List findByEPerson(Context context, EPerson ePerson, int offset, int limit) + public List findByEPerson(Session session, EPerson ePerson, int offset, int limit) throws SQLException; /** * Count all the resource policies of the ePerson - * - * @param context DSpace context object + * + * @param session current request's database context * @param ePerson ePerson whose policies want to count * @return total resource policies of the ePerson * @throws SQLException if database error */ - public int countByEPerson(Context context, EPerson ePerson) throws SQLException; + public int countByEPerson(Session session, EPerson ePerson) throws SQLException; /** * Return a paginated list of policies related to a resourceUuid belong to an ePerson - * - * @param context DSpace context object + * + * @param session current request's database context * @param ePerson ePerson whose policies want to find * @param resourceUuid the uuid of an DSpace resource * @param offset the position of the first result to return @@ -128,25 +136,25 @@ public List findByEPerson(Context context, EPerson ePerson, int * @return list of resource policies * @throws SQLException if database error */ - public List findByEPersonAndResourceUuid(Context context, EPerson ePerson, UUID resourceUuid, + public List findByEPersonAndResourceUuid(Session session, EPerson ePerson, UUID resourceUuid, int offset, int limit) throws SQLException; /** * Count all the policies related to a resourceUuid belong to an ePerson - * - * @param context DSpace context object + * + * @param session current request's database context * @param resourceUuid the uuid of an DSpace resource * @param ePerson ePerson whose policies want to find * @return total policies * @throws SQLException if database error */ - public int countByEPersonAndResourceUuid(Context context, EPerson ePerson, UUID resourceUuid) + public int countByEPersonAndResourceUuid(Session session, EPerson ePerson, UUID resourceUuid) throws SQLException; /** * Return a paginated list of policies related to a DSpace resource filter by actionId - * - * @param context DSpace context object + * + * @param session current request's database context * @param resourceUuid the uuid of an DSpace resource * @param actionId id relative to action as READ, WRITE, DELITE etc. * @param offset the position of the first result to return @@ -154,71 +162,71 @@ public int countByEPersonAndResourceUuid(Context context, EPerson ePerson, UUID * @return list of resource policies * @throws SQLException if database error */ - public List findByResouceUuidAndActionId(Context context, UUID resourceUuid, int actionId, + public List findByResouceUuidAndActionId(Session session, UUID resourceUuid, int actionId, int offset, int limit) throws SQLException; /** * Count all the policies related to a resourceUuid and actionId - * - * @param context DSpace context object + * + * @param session current request's database context * @param resourceUuid the uuid of an DSpace resource * @param actionId id relative to action as READ, WRITE, DELITE etc. * @return total policies * @throws SQLException if database error */ - public int countByResouceUuidAndActionId(Context context, UUID resourceUuid, int actionId) + public int countByResouceUuidAndActionId(Session session, UUID resourceUuid, int actionId) throws SQLException; /** * Return a paginated list of policies related to a DSpace resource - * - * @param context DSpace context object + * + * @param session current request's database context * @param resourceUuid the uuid of an DSpace resource * @param offset the position of the first result to return * @param limit paging limit * @return list of resource policies * @throws SQLException if database error */ - public List findByResouceUuid(Context context, UUID resourceUuid, int offset, int limit) + public List findByResouceUuid(Session session, UUID resourceUuid, int offset, int limit) throws SQLException; /** * Count all the policies by resourceUuid - * - * @param context DSpace context object + * + * @param session current request's database context * @param resourceUuid the uuid of an DSpace resource * @return total policies * @throws SQLException if database error */ - public int countByResourceUuid(Context context, UUID resourceUuid) throws SQLException; + public int countByResourceUuid(Session session, UUID resourceUuid) throws SQLException; /** * Return a paginated list of policies related to a group - * - * @param context DSpace context object + * + * @param session current request's database context * @param group DSpace group * @param offset the position of the first result to return * @param limit paging limit * @return list of resource policies * @throws SQLException if database error */ - public List findByGroup(Context context, Group group, int offset, int limit) + public List findByGroup(Session session, Group group, int offset, int limit) throws SQLException; /** * Count all the resource policies of the group - * - * @param context DSpace context object + * + * @param session current request's database context * @param group DSpace group * @return total policies * @throws SQLException if database error */ - public int countResourcePolicyByGroup(Context context, Group group) throws SQLException; + public int countResourcePolicyByGroup(Session session, Group group) throws SQLException; /** * Return a paginated list of policies related to a group and related to a resourceUuid - * - * @param context DSpace context object + * + * @param session current request's database context * @param group DSpace group * @param resourceUuid the uuid of an DSpace resource * @param offset the position of the first result to return @@ -226,21 +234,21 @@ public List findByGroup(Context context, Group group, int offset * @return list of resource policies * @throws SQLException if database error */ - public List findByGroupAndResourceUuid(Context context, Group group, UUID resourceUuid, + public List findByGroupAndResourceUuid(Session session, Group group, UUID resourceUuid, int offset, int limit) throws SQLException; /** * Count all the resource policies of the group and of the resourceUuid - * - * @param context DSpace context object + * + * @param session current request's database context * @param group DSpace group * @param resourceUuid the uuid of an DSpace resource * @return total policies * @throws SQLException if database error */ - public int countByGroupAndResourceUuid(Context context, Group group, UUID resourceUuid) throws SQLException; + public int countByGroupAndResourceUuid(Session session, Group group, UUID resourceUuid) throws SQLException; - public ResourcePolicy findOneById(Context context, Integer id) throws SQLException; + public ResourcePolicy findOneById(Session session, Integer id) throws SQLException; } diff --git a/dspace-api/src/main/java/org/dspace/authorize/dao/impl/ResourcePolicyDAOImpl.java b/dspace-api/src/main/java/org/dspace/authorize/dao/impl/ResourcePolicyDAOImpl.java index 26b6bb1d7345..9eba1db2bde9 100644 --- a/dspace-api/src/main/java/org/dspace/authorize/dao/impl/ResourcePolicyDAOImpl.java +++ b/dspace-api/src/main/java/org/dspace/authorize/dao/impl/ResourcePolicyDAOImpl.java @@ -24,9 +24,9 @@ import org.dspace.content.DSpaceObject; import org.dspace.content.DSpaceObject_; import org.dspace.core.AbstractHibernateDAO; -import org.dspace.core.Context; import org.dspace.eperson.EPerson; import org.dspace.eperson.Group; +import org.hibernate.Session; /** * Hibernate implementation of the Database Access Object interface class for the ResourcePolicy object. @@ -42,18 +42,18 @@ protected ResourcePolicyDAOImpl() { } @Override - public List findByDso(Context context, DSpaceObject dso) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + public List findByDso(Session session, DSpaceObject dso) throws SQLException { + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, ResourcePolicy.class); Root resourcePolicyRoot = criteriaQuery.from(ResourcePolicy.class); criteriaQuery.select(resourcePolicyRoot); criteriaQuery.where(criteriaBuilder.equal(resourcePolicyRoot.get(ResourcePolicy_.dSpaceObject), dso)); - return list(context, criteriaQuery, false, ResourcePolicy.class, -1, -1); + return list(session, criteriaQuery, false, ResourcePolicy.class, -1, -1); } @Override - public List findByDsoAndType(Context context, DSpaceObject dso, String type) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + public List findByDsoAndType(Session session, DSpaceObject dso, String type) throws SQLException { + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, ResourcePolicy.class); Root resourcePolicyRoot = criteriaQuery.from(ResourcePolicy.class); criteriaQuery.select(resourcePolicyRoot); @@ -65,33 +65,33 @@ public List findByDsoAndType(Context context, DSpaceObject dso, List orderList = new LinkedList<>(); orderList.add(criteriaBuilder.asc(resourcePolicyRoot.get(ResourcePolicy_.id))); criteriaQuery.orderBy(orderList); - return list(context, criteriaQuery, false, ResourcePolicy.class, -1, -1); + return list(session, criteriaQuery, false, ResourcePolicy.class, -1, -1); } @Override - public List findByEPerson(Context context, EPerson ePerson) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + public List findByEPerson(Session session, EPerson ePerson) throws SQLException { + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, ResourcePolicy.class); Root resourcePolicyRoot = criteriaQuery.from(ResourcePolicy.class); criteriaQuery.select(resourcePolicyRoot); criteriaQuery.where(criteriaBuilder.equal(resourcePolicyRoot.get(ResourcePolicy_.eperson), ePerson)); - return list(context, criteriaQuery, false, ResourcePolicy.class, -1, -1); + return list(session, criteriaQuery, false, ResourcePolicy.class, -1, -1); } @Override - public List findByGroup(Context context, Group group) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + public List findByGroup(Session session, Group group) throws SQLException { + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, ResourcePolicy.class); Root resourcePolicyRoot = criteriaQuery.from(ResourcePolicy.class); criteriaQuery.select(resourcePolicyRoot); criteriaQuery.where(criteriaBuilder.equal(resourcePolicyRoot.get(ResourcePolicy_.epersonGroup), group)); - return list(context, criteriaQuery, false, ResourcePolicy.class, -1, -1); + return list(session, criteriaQuery, false, ResourcePolicy.class, -1, -1); } @Override - public List findByDSoAndAction(Context context, DSpaceObject dso, int actionId) + public List findByDSoAndAction(Session session, DSpaceObject dso, int actionId) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, ResourcePolicy.class); Root resourcePolicyRoot = criteriaQuery.from(ResourcePolicy.class); criteriaQuery.select(resourcePolicyRoot); @@ -100,15 +100,15 @@ public List findByDSoAndAction(Context context, DSpaceObject dso criteriaBuilder.equal(resourcePolicyRoot.get(ResourcePolicy_.actionId), actionId) ) ); - return list(context, criteriaQuery, false, ResourcePolicy.class, -1, -1); + return list(session, criteriaQuery, false, ResourcePolicy.class, -1, -1); } @Override - public void deleteByDsoAndTypeAndAction(Context context, DSpaceObject dso, String type, int actionId) + public void deleteByDsoAndTypeAndAction(Session session, DSpaceObject dso, String type, int actionId) throws SQLException { String queryString = "delete from ResourcePolicy where dSpaceObject.id = :dsoId " + "AND rptype = :rptype AND actionId= :actionId"; - Query query = createQuery(context, queryString); + Query query = createQuery(session, queryString); query.setParameter("dsoId", dso.getID()); query.setParameter("rptype", type); query.setParameter("actionId", actionId); @@ -117,9 +117,9 @@ public void deleteByDsoAndTypeAndAction(Context context, DSpaceObject dso, Strin } @Override - public List findByTypeGroupAction(Context context, DSpaceObject dso, Group group, int action) + public List findByTypeGroupAction(Session session, DSpaceObject dso, Group group, int action) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, ResourcePolicy.class); Root resourcePolicyRoot = criteriaQuery.from(ResourcePolicy.class); criteriaQuery.select(resourcePolicyRoot); @@ -130,13 +130,13 @@ public List findByTypeGroupAction(Context context, DSpaceObject criteriaBuilder.equal(resourcePolicyRoot.get(ResourcePolicy_.actionId), action) ) ); - return list(context, criteriaQuery, false, ResourcePolicy.class, 1, -1); + return list(session, criteriaQuery, false, ResourcePolicy.class, 1, -1); } @Override - public List findByTypeGroupActionExceptId(Context context, DSpaceObject dso, Group group, + public List findByTypeGroupActionExceptId(Session session, DSpaceObject dso, Group group, int action, int notPolicyID) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, ResourcePolicy.class); Root resourcePolicyRoot = criteriaQuery.from(ResourcePolicy.class); criteriaQuery.select(resourcePolicyRoot); @@ -148,12 +148,13 @@ public List findByTypeGroupActionExceptId(Context context, DSpac criteriaBuilder.notEqual(resourcePolicyRoot.get(ResourcePolicy_.id), notPolicyID) ) ); - return list(context, criteriaQuery, false, ResourcePolicy.class, 1, -1); + return list(session, criteriaQuery, false, ResourcePolicy.class, 1, -1); } - public List findByEPersonGroupTypeIdAction(Context context, EPerson e, List groups, + @Override + public List findByEPersonGroupTypeIdAction(Session session, EPerson e, List groups, int action, int type_id) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, ResourcePolicy.class); Root resourcePolicyRoot = criteriaQuery.from(ResourcePolicy.class); criteriaQuery.select(resourcePolicyRoot); @@ -165,47 +166,47 @@ public List findByEPersonGroupTypeIdAction(Context context, EPer (resourcePolicyRoot.get(ResourcePolicy_.epersonGroup).in(groups))) ) ); - return list(context, criteriaQuery, false, ResourcePolicy.class, 1, -1); + return list(session, criteriaQuery, false, ResourcePolicy.class, 1, -1); } @Override - public void deleteByDso(Context context, DSpaceObject dso) throws SQLException { + public void deleteByDso(Session session, DSpaceObject dso) throws SQLException { String queryString = "delete from ResourcePolicy where dSpaceObject= :dSpaceObject"; - Query query = createQuery(context, queryString); + Query query = createQuery(session, queryString); query.setParameter("dSpaceObject", dso); query.executeUpdate(); } @Override - public void deleteByDsoAndAction(Context context, DSpaceObject dso, int actionId) throws SQLException { + public void deleteByDsoAndAction(Session session, DSpaceObject dso, int actionId) throws SQLException { String queryString = "delete from ResourcePolicy where dSpaceObject= :dSpaceObject AND actionId= :actionId"; - Query query = createQuery(context, queryString); + Query query = createQuery(session, queryString); query.setParameter("dSpaceObject", dso); query.setParameter("actionId", actionId); query.executeUpdate(); } @Override - public void deleteByDsoAndType(Context context, DSpaceObject dso, String type) throws SQLException { + public void deleteByDsoAndType(Session session, DSpaceObject dso, String type) throws SQLException { String queryString = "delete from ResourcePolicy where dSpaceObject.id = :dsoId AND rptype = :rptype"; - Query query = createQuery(context, queryString); + Query query = createQuery(session, queryString); query.setParameter("dsoId", dso.getID()); query.setParameter("rptype", type); query.executeUpdate(); } @Override - public void deleteByGroup(Context context, Group group) throws SQLException { + public void deleteByGroup(Session session, Group group) throws SQLException { String queryString = "delete from ResourcePolicy where epersonGroup= :epersonGroup"; - Query query = createQuery(context, queryString); + Query query = createQuery(session, queryString); query.setParameter("epersonGroup", group); query.executeUpdate(); } @Override - public void deleteByDsoGroupPolicies(Context context, DSpaceObject dso, Group group) throws SQLException { + public void deleteByDsoGroupPolicies(Session session, DSpaceObject dso, Group group) throws SQLException { String queryString = "delete from ResourcePolicy where dSpaceObject = :dso AND epersonGroup= :epersonGroup"; - Query query = createQuery(context, queryString); + Query query = createQuery(session, queryString); query.setParameter("dso", dso); query.setParameter("epersonGroup", group); query.executeUpdate(); @@ -213,9 +214,9 @@ public void deleteByDsoGroupPolicies(Context context, DSpaceObject dso, Group gr } @Override - public void deleteByDsoEPersonPolicies(Context context, DSpaceObject dso, EPerson ePerson) throws SQLException { + public void deleteByDsoEPersonPolicies(Session session, DSpaceObject dso, EPerson ePerson) throws SQLException { String queryString = "delete from ResourcePolicy where dSpaceObject= :dso AND eperson= :eperson"; - Query query = createQuery(context, queryString); + Query query = createQuery(session, queryString); query.setParameter("dso", dso); query.setParameter("eperson", ePerson); query.executeUpdate(); @@ -223,28 +224,28 @@ public void deleteByDsoEPersonPolicies(Context context, DSpaceObject dso, EPerso } @Override - public void deleteByEPerson(Context context, EPerson ePerson) throws SQLException { + public void deleteByEPerson(Session session, EPerson ePerson) throws SQLException { String queryString = "delete from ResourcePolicy where eperson= :eperson"; - Query query = createQuery(context, queryString); + Query query = createQuery(session, queryString); query.setParameter("eperson", ePerson); query.executeUpdate(); } @Override - public void deleteByDsoAndTypeNotEqualsTo(Context context, DSpaceObject dso, String type) throws SQLException { + public void deleteByDsoAndTypeNotEqualsTo(Session session, DSpaceObject dso, String type) throws SQLException { String queryString = "delete from ResourcePolicy where dSpaceObject=:dso AND rptype <> :rptype"; - Query query = createQuery(context, queryString); + Query query = createQuery(session, queryString); query.setParameter("dso", dso); query.setParameter("rptype", type); query.executeUpdate(); } @Override - public List findByDSoAndActionExceptRpType(Context context, DSpaceObject dso, int action, + public List findByDSoAndActionExceptRpType(Session session, DSpaceObject dso, int action, String rpType) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, ResourcePolicy.class); Root resourcePolicyRoot = criteriaQuery.from(ResourcePolicy.class); @@ -269,44 +270,44 @@ public List findByDSoAndActionExceptRpType(Context context, DSpa ) ); } - return list(context, criteriaQuery, false, ResourcePolicy.class, 1, 1); + return list(session, criteriaQuery, false, ResourcePolicy.class, 1, 1); } @Override - public List findByEPerson(Context context, EPerson ePerson, int offset, int limit) + public List findByEPerson(Session session, EPerson ePerson, int offset, int limit) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, ResourcePolicy.class); Root resourcePolicyRoot = criteriaQuery.from(ResourcePolicy.class); criteriaQuery.select(resourcePolicyRoot); criteriaQuery.where(criteriaBuilder.equal(resourcePolicyRoot.get(ResourcePolicy_.eperson), ePerson)); - return list(context, criteriaQuery, false, ResourcePolicy.class, limit, offset); + return list(session, criteriaQuery, false, ResourcePolicy.class, limit, offset); } @Override - public int countByEPerson(Context context, EPerson ePerson) throws SQLException { - Query query = createQuery(context, + public int countByEPerson(Session session, EPerson ePerson) throws SQLException { + Query query = createQuery(session, "SELECT count(*) FROM " + ResourcePolicy.class.getSimpleName() + " WHERE eperson_id = (:epersonUuid) "); query.setParameter("epersonUuid", ePerson.getID()); return count(query); } @Override - public List findByEPersonAndResourceUuid(Context context, EPerson ePerson, UUID resourceUuid, + public List findByEPersonAndResourceUuid(Session session, EPerson ePerson, UUID resourceUuid, int offset, int limit) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, ResourcePolicy.class); Root resourcePolicyRoot = criteriaQuery.from(ResourcePolicy.class); Join join = resourcePolicyRoot.join(ResourcePolicy_.dSpaceObject); criteriaQuery.where( criteriaBuilder.and(criteriaBuilder.equal(resourcePolicyRoot.get(ResourcePolicy_.eperson), ePerson), criteriaBuilder.equal(join.get(DSpaceObject_.id), resourceUuid))); - return list(context, criteriaQuery, false, ResourcePolicy.class, limit, offset); + return list(session, criteriaQuery, false, ResourcePolicy.class, limit, offset); } @Override - public int countByEPersonAndResourceUuid(Context context, EPerson eperson, UUID resourceUuid) throws SQLException { - Query query = createQuery(context, "SELECT count(*) FROM " + ResourcePolicy.class.getSimpleName() + public int countByEPersonAndResourceUuid(Session session, EPerson eperson, UUID resourceUuid) throws SQLException { + Query query = createQuery(session, "SELECT count(*) FROM " + ResourcePolicy.class.getSimpleName() + " WHERE eperson_id = (:epersonUuid) AND dspace_object = (:resourceUuid) "); query.setParameter("resourceUuid", resourceUuid); query.setParameter("epersonUuid", eperson.getID()); @@ -314,21 +315,21 @@ public int countByEPersonAndResourceUuid(Context context, EPerson eperson, UUID } @Override - public List findByResouceUuidAndActionId(Context context, UUID resourceUuid, int actionId, + public List findByResouceUuidAndActionId(Session session, UUID resourceUuid, int actionId, int offset, int limit) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, ResourcePolicy.class); Root resourcePolicyRoot = criteriaQuery.from(ResourcePolicy.class); Join join = resourcePolicyRoot.join(ResourcePolicy_.dSpaceObject); criteriaQuery.where( criteriaBuilder.and(criteriaBuilder.equal(resourcePolicyRoot.get(ResourcePolicy_.actionId), actionId), criteriaBuilder.equal(join.get(DSpaceObject_.id), resourceUuid))); - return list(context, criteriaQuery, false, ResourcePolicy.class, limit, offset); + return list(session, criteriaQuery, false, ResourcePolicy.class, limit, offset); } @Override - public int countByResouceUuidAndActionId(Context context, UUID resourceUuid, int actionId) throws SQLException { - Query query = createQuery(context, "SELECT count(*) FROM " + ResourcePolicy.class.getSimpleName() + public int countByResouceUuidAndActionId(Session session, UUID resourceUuid, int actionId) throws SQLException { + Query query = createQuery(session, "SELECT count(*) FROM " + ResourcePolicy.class.getSimpleName() + " WHERE dspace_object = (:resourceUuid) AND action_id = (:actionId) "); query.setParameter("resourceUuid", resourceUuid); query.setParameter("actionId", actionId); @@ -336,58 +337,58 @@ public int countByResouceUuidAndActionId(Context context, UUID resourceUuid, int } @Override - public List findByResouceUuid(Context context, UUID resourceUuid, int offset, int limit) + public List findByResouceUuid(Session session, UUID resourceUuid, int offset, int limit) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, ResourcePolicy.class); Root resourcePolicyRoot = criteriaQuery.from(ResourcePolicy.class); Join join = resourcePolicyRoot.join(ResourcePolicy_.dSpaceObject); criteriaQuery.where(criteriaBuilder.equal(join.get(DSpaceObject_.id), resourceUuid)); - return list(context, criteriaQuery, false, ResourcePolicy.class, limit, offset); + return list(session, criteriaQuery, false, ResourcePolicy.class, limit, offset); } @Override - public int countByResourceUuid(Context context, UUID resourceUuid) throws SQLException { - Query query = createQuery(context, "SELECT count(*) FROM " + ResourcePolicy.class.getSimpleName() + public int countByResourceUuid(Session session, UUID resourceUuid) throws SQLException { + Query query = createQuery(session, "SELECT count(*) FROM " + ResourcePolicy.class.getSimpleName() + " WHERE dspace_object = (:resourceUuid) "); query.setParameter("resourceUuid", resourceUuid); return count(query); } @Override - public List findByGroup(Context context, Group group, int offset, int limit) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + public List findByGroup(Session session, Group group, int offset, int limit) throws SQLException { + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, ResourcePolicy.class); Root resourcePolicyRoot = criteriaQuery.from(ResourcePolicy.class); criteriaQuery.select(resourcePolicyRoot); criteriaQuery.where(criteriaBuilder.equal(resourcePolicyRoot.get(ResourcePolicy_.epersonGroup), group)); - return list(context, criteriaQuery, false, ResourcePolicy.class, limit, offset); + return list(session, criteriaQuery, false, ResourcePolicy.class, limit, offset); } @Override - public int countResourcePolicyByGroup(Context context, Group group) throws SQLException { - Query query = createQuery(context, "SELECT count(*) " + "FROM " + ResourcePolicy.class.getSimpleName() + public int countResourcePolicyByGroup(Session session, Group group) throws SQLException { + Query query = createQuery(session, "SELECT count(*) " + "FROM " + ResourcePolicy.class.getSimpleName() + " WHERE epersongroup_id = (:groupUuid) "); query.setParameter("groupUuid", group.getID()); return count(query); } @Override - public List findByGroupAndResourceUuid(Context context, Group group, UUID resourceUuid, + public List findByGroupAndResourceUuid(Session session, Group group, UUID resourceUuid, int offset, int limit) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, ResourcePolicy.class); Root resourcePolicyRoot = criteriaQuery.from(ResourcePolicy.class); Join join = resourcePolicyRoot.join(ResourcePolicy_.dSpaceObject); criteriaQuery.where( criteriaBuilder.and(criteriaBuilder.equal(resourcePolicyRoot.get(ResourcePolicy_.epersonGroup), group), criteriaBuilder.equal(join.get(DSpaceObject_.id), resourceUuid))); - return list(context, criteriaQuery, false, ResourcePolicy.class, limit, offset); + return list(session, criteriaQuery, false, ResourcePolicy.class, limit, offset); } @Override - public int countByGroupAndResourceUuid(Context context, Group group, UUID resourceUuid) throws SQLException { - Query query = createQuery(context, "SELECT count(*) FROM " + ResourcePolicy.class.getSimpleName() + public int countByGroupAndResourceUuid(Session session, Group group, UUID resourceUuid) throws SQLException { + Query query = createQuery(session, "SELECT count(*) FROM " + ResourcePolicy.class.getSimpleName() + " WHERE dspace_object = (:resourceUuid) AND epersongroup_id = (:groupUuid) "); query.setParameter("resourceUuid", resourceUuid); query.setParameter("groupUuid", group.getID()); @@ -395,12 +396,12 @@ public int countByGroupAndResourceUuid(Context context, Group group, UUID resour } @Override - public ResourcePolicy findOneById(Context context, Integer id) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + public ResourcePolicy findOneById(Session session, Integer id) throws SQLException { + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, ResourcePolicy.class); Root resourcePolicyRoot = criteriaQuery.from(ResourcePolicy.class); criteriaQuery.select(resourcePolicyRoot); criteriaQuery.where(criteriaBuilder.equal(resourcePolicyRoot.get(ResourcePolicy_.id), id)); - return singleResult(context, criteriaQuery); + return singleResult(session, criteriaQuery); } } diff --git a/dspace-api/src/main/java/org/dspace/checker/ChecksumHistoryServiceImpl.java b/dspace-api/src/main/java/org/dspace/checker/ChecksumHistoryServiceImpl.java index f7b05d4de9d3..5a406033f5ed 100644 --- a/dspace-api/src/main/java/org/dspace/checker/ChecksumHistoryServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/checker/ChecksumHistoryServiceImpl.java @@ -80,8 +80,8 @@ public void addHistory(Context context, MostRecentChecksum mostRecentChecksum) t checksumHistory.setResult(checksumResult); - checksumHistoryDAO.create(context, checksumHistory); - checksumHistoryDAO.save(context, checksumHistory); + checksumHistoryDAO.create(context.getSession(), checksumHistory); + checksumHistoryDAO.save(context.getSession(), checksumHistory); } /** @@ -96,7 +96,7 @@ public void addHistory(Context context, MostRecentChecksum mostRecentChecksum) t @Override public int deleteByDateAndCode(Context context, Date retentionDate, ChecksumResultCode checksumResultCode) throws SQLException { - return checksumHistoryDAO.deleteByDateAndCode(context, retentionDate, checksumResultCode); + return checksumHistoryDAO.deleteByDateAndCode(context.getSession(), retentionDate, checksumResultCode); } @Override @@ -104,7 +104,7 @@ public void deleteByBitstream(Context context, Bitstream bitstream) throws SQLEx //Delete the most recent mostRecentChecksumService.deleteByBitstream(context, bitstream); //Delete the history as well - checksumHistoryDAO.deleteByBitstream(context, bitstream); + checksumHistoryDAO.deleteByBitstream(context.getSession(), bitstream); } @Override @@ -112,11 +112,9 @@ public int prune(Context context, Map interests) throw long now = System.currentTimeMillis(); int count = 0; for (Map.Entry interest : interests.entrySet()) { - count += deleteByDateAndCode(context, new Date(now - interest.getValue().longValue()), + count += deleteByDateAndCode(context, new Date(now - interest.getValue()), interest.getKey()); } return count; - } - } diff --git a/dspace-api/src/main/java/org/dspace/checker/ChecksumResultServiceImpl.java b/dspace-api/src/main/java/org/dspace/checker/ChecksumResultServiceImpl.java index a06e3018dc6b..2688d02ae407 100644 --- a/dspace-api/src/main/java/org/dspace/checker/ChecksumResultServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/checker/ChecksumResultServiceImpl.java @@ -41,7 +41,7 @@ protected ChecksumResultServiceImpl() { */ @Override public ChecksumResult findByCode(Context context, ChecksumResultCode code) throws SQLException { - return checksumResultDAO.findByCode(context, code); + return checksumResultDAO.findByCode(context.getSession(), code); } /** @@ -53,6 +53,6 @@ public ChecksumResult findByCode(Context context, ChecksumResultCode code) throw */ @Override public List findAll(Context context) throws SQLException { - return checksumResultDAO.findAll(context, ChecksumResult.class); + return checksumResultDAO.findAll(context.getSession(), ChecksumResult.class); } } diff --git a/dspace-api/src/main/java/org/dspace/checker/MostRecentChecksumServiceImpl.java b/dspace-api/src/main/java/org/dspace/checker/MostRecentChecksumServiceImpl.java index d267171aa0d9..55af484c24b7 100644 --- a/dspace-api/src/main/java/org/dspace/checker/MostRecentChecksumServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/checker/MostRecentChecksumServiceImpl.java @@ -22,7 +22,8 @@ /** * Service implementation for the MostRecentChecksum object. - * This class is responsible for all business logic calls for the MostRecentChecksum object and is autowired by spring. + * This class is responsible for all business logic calls for the + * MostRecentChecksum object and is autowired by Spring. * This class should never be accessed directly. * * @author kevinvandevelde at atmire.com @@ -51,7 +52,7 @@ public MostRecentChecksum getNonPersistedObject() { @Override public MostRecentChecksum findByBitstream(Context context, Bitstream bitstream) throws SQLException { - return mostRecentChecksumDAO.findByBitstream(context, bitstream); + return mostRecentChecksumDAO.findByBitstream(context.getSession(), bitstream); } /** @@ -67,7 +68,7 @@ public MostRecentChecksum findByBitstream(Context context, Bitstream bitstream) @Override public List findNotProcessedBitstreamsReport(Context context, Date startDate, Date endDate) throws SQLException { - return mostRecentChecksumDAO.findByNotProcessedInDateRange(context, startDate, endDate); + return mostRecentChecksumDAO.findByNotProcessedInDateRange(context.getSession(), startDate, endDate); } /** @@ -84,7 +85,7 @@ public List findNotProcessedBitstreamsReport(Context context @Override public List findBitstreamResultTypeReport(Context context, Date startDate, Date endDate, ChecksumResultCode resultCode) throws SQLException { - return mostRecentChecksumDAO.findByResultTypeInDateRange(context, startDate, endDate, resultCode); + return mostRecentChecksumDAO.findByResultTypeInDateRange(context.getSession(), startDate, endDate, resultCode); } /** @@ -142,14 +143,14 @@ public void updateMissingBitstreams(Context context) throws SQLException { checksumResult = checksumResultService.findByCode(context, ChecksumResultCode.CHECKSUM_MATCH); } mostRecentChecksum.setChecksumResult(checksumResult); - mostRecentChecksumDAO.create(context, mostRecentChecksum); - mostRecentChecksumDAO.save(context, mostRecentChecksum); + mostRecentChecksumDAO.create(context.getSession(), mostRecentChecksum); + mostRecentChecksumDAO.save(context.getSession(), mostRecentChecksum); } } @Override public void deleteByBitstream(Context context, Bitstream bitstream) throws SQLException { - mostRecentChecksumDAO.deleteByBitstream(context, bitstream); + mostRecentChecksumDAO.deleteByBitstream(context.getSession(), bitstream); } /** @@ -162,7 +163,7 @@ public void deleteByBitstream(Context context, Bitstream bitstream) throws SQLEx */ @Override public MostRecentChecksum findOldestRecord(Context context) throws SQLException { - return mostRecentChecksumDAO.getOldestRecord(context); + return mostRecentChecksumDAO.getOldestRecord(context.getSession()); } /** @@ -176,16 +177,16 @@ public MostRecentChecksum findOldestRecord(Context context) throws SQLException */ @Override public MostRecentChecksum findOldestRecord(Context context, Date lessThanDate) throws SQLException { - return mostRecentChecksumDAO.getOldestRecord(context, lessThanDate); + return mostRecentChecksumDAO.getOldestRecord(context.getSession(), lessThanDate); } @Override public List findNotInHistory(Context context) throws SQLException { - return mostRecentChecksumDAO.findNotInHistory(context); + return mostRecentChecksumDAO.findNotInHistory(context.getSession()); } @Override public void update(Context context, MostRecentChecksum mostRecentChecksum) throws SQLException { - mostRecentChecksumDAO.save(context, mostRecentChecksum); + mostRecentChecksumDAO.save(context.getSession(), mostRecentChecksum); } } diff --git a/dspace-api/src/main/java/org/dspace/checker/dao/ChecksumHistoryDAO.java b/dspace-api/src/main/java/org/dspace/checker/dao/ChecksumHistoryDAO.java index 54e503235c5d..5952ba28f17d 100644 --- a/dspace-api/src/main/java/org/dspace/checker/dao/ChecksumHistoryDAO.java +++ b/dspace-api/src/main/java/org/dspace/checker/dao/ChecksumHistoryDAO.java @@ -13,8 +13,8 @@ import org.dspace.checker.ChecksumHistory; import org.dspace.checker.ChecksumResultCode; import org.dspace.content.Bitstream; -import org.dspace.core.Context; import org.dspace.core.GenericDAO; +import org.hibernate.Session; /** * Database Access Object interface class for the ChecksumHistory object. @@ -30,21 +30,21 @@ public interface ChecksumHistoryDAO extends GenericDAO { * Delete all ChecksumHistory rows with retention date before the given and * the specified result code. * - * @param context The relevant DSpace Context. + * @param session The current request's database context. * @param retentionDate row must be older than this to be deleted. * @param checksumResultCode row must have this result to be deleted. * @return number of rows deleted. * @throws SQLException if database error */ - public int deleteByDateAndCode(Context context, Date retentionDate, ChecksumResultCode checksumResultCode) + public int deleteByDateAndCode(Session session, Date retentionDate, ChecksumResultCode checksumResultCode) throws SQLException; /** * Delete all ChecksumHistory rows for the given Bitstream. * - * @param context The relevant DSpace Context. + * @param session The current request's database context. * @param bitstream which bitstream's checksums to delete * @throws SQLException if database error */ - public void deleteByBitstream(Context context, Bitstream bitstream) throws SQLException; + public void deleteByBitstream(Session session, Bitstream bitstream) throws SQLException; } diff --git a/dspace-api/src/main/java/org/dspace/checker/dao/ChecksumResultDAO.java b/dspace-api/src/main/java/org/dspace/checker/dao/ChecksumResultDAO.java index 9191a2891d57..4c8fa0011796 100644 --- a/dspace-api/src/main/java/org/dspace/checker/dao/ChecksumResultDAO.java +++ b/dspace-api/src/main/java/org/dspace/checker/dao/ChecksumResultDAO.java @@ -11,8 +11,8 @@ import org.dspace.checker.ChecksumResult; import org.dspace.checker.ChecksumResultCode; -import org.dspace.core.Context; import org.dspace.core.GenericDAO; +import org.hibernate.Session; /** * Database Access Object interface class for the ChecksumResult object. @@ -24,6 +24,6 @@ */ public interface ChecksumResultDAO extends GenericDAO { - public ChecksumResult findByCode(Context context, ChecksumResultCode code) throws SQLException; + public ChecksumResult findByCode(Session session, ChecksumResultCode code) throws SQLException; } diff --git a/dspace-api/src/main/java/org/dspace/checker/dao/MostRecentChecksumDAO.java b/dspace-api/src/main/java/org/dspace/checker/dao/MostRecentChecksumDAO.java index 56485c9b4b4b..ec6cc0fd18dd 100644 --- a/dspace-api/src/main/java/org/dspace/checker/dao/MostRecentChecksumDAO.java +++ b/dspace-api/src/main/java/org/dspace/checker/dao/MostRecentChecksumDAO.java @@ -14,32 +14,33 @@ import org.dspace.checker.ChecksumResultCode; import org.dspace.checker.MostRecentChecksum; import org.dspace.content.Bitstream; -import org.dspace.core.Context; import org.dspace.core.GenericDAO; +import org.hibernate.Session; /** * Database Access Object interface class for the MostRecentChecksum object. - * The implementation of this class is responsible for all database calls for the MostRecentChecksum object and is - * autowired by spring - * This class should only be accessed from a single service and should never be exposed outside of the API + * The implementation of this class is responsible for all database calls for + * the MostRecentChecksum object and is autowired by Spring. + * This class should only be accessed from a single service and should never be + * exposed outside of the API. * * @author kevinvandevelde at atmire.com */ public interface MostRecentChecksumDAO extends GenericDAO { - public List findByNotProcessedInDateRange(Context context, Date startDate, Date endDate) + public List findByNotProcessedInDateRange(Session session, Date startDate, Date endDate) throws SQLException; - public List findByResultTypeInDateRange(Context context, Date startDate, Date endDate, + public List findByResultTypeInDateRange(Session session, Date startDate, Date endDate, ChecksumResultCode resultCode) throws SQLException; - public void deleteByBitstream(Context context, Bitstream bitstream) throws SQLException; + public void deleteByBitstream(Session session, Bitstream bitstream) throws SQLException; - public MostRecentChecksum getOldestRecord(Context context) throws SQLException; + public MostRecentChecksum getOldestRecord(Session session) throws SQLException; - public MostRecentChecksum getOldestRecord(Context context, Date lessThanDate) throws SQLException; + public MostRecentChecksum getOldestRecord(Session session, Date lessThanDate) throws SQLException; - public List findNotInHistory(Context context) throws SQLException; + public List findNotInHistory(Session session) throws SQLException; - public MostRecentChecksum findByBitstream(Context context, Bitstream bitstream) throws SQLException; + public MostRecentChecksum findByBitstream(Session session, Bitstream bitstream) throws SQLException; } diff --git a/dspace-api/src/main/java/org/dspace/checker/dao/impl/ChecksumHistoryDAOImpl.java b/dspace-api/src/main/java/org/dspace/checker/dao/impl/ChecksumHistoryDAOImpl.java index 328d4a717eb1..b6f3600b63d6 100644 --- a/dspace-api/src/main/java/org/dspace/checker/dao/impl/ChecksumHistoryDAOImpl.java +++ b/dspace-api/src/main/java/org/dspace/checker/dao/impl/ChecksumHistoryDAOImpl.java @@ -17,7 +17,7 @@ import org.dspace.checker.dao.ChecksumHistoryDAO; import org.dspace.content.Bitstream; import org.dspace.core.AbstractHibernateDAO; -import org.dspace.core.Context; +import org.hibernate.Session; /** *

@@ -40,20 +40,20 @@ protected ChecksumHistoryDAOImpl() { } @Override - public int deleteByDateAndCode(Context context, Date retentionDate, ChecksumResultCode resultCode) + public int deleteByDateAndCode(Session session, Date retentionDate, ChecksumResultCode resultCode) throws SQLException { String hql = "delete from ChecksumHistory where processEndDate < :processEndDate AND checksumResult" + ".resultCode=:resultCode"; - Query query = createQuery(context, hql); + Query query = createQuery(session, hql); query.setParameter("processEndDate", retentionDate, TemporalType.TIMESTAMP); query.setParameter("resultCode", resultCode); return query.executeUpdate(); } @Override - public void deleteByBitstream(Context context, Bitstream bitstream) throws SQLException { + public void deleteByBitstream(Session session, Bitstream bitstream) throws SQLException { String hql = "delete from ChecksumHistory where bitstream=:bitstream"; - Query query = createQuery(context, hql); + Query query = createQuery(session, hql); query.setParameter("bitstream", bitstream); query.executeUpdate(); } diff --git a/dspace-api/src/main/java/org/dspace/checker/dao/impl/ChecksumResultDAOImpl.java b/dspace-api/src/main/java/org/dspace/checker/dao/impl/ChecksumResultDAOImpl.java index 7552c6d5bb8f..f9fff98b67ed 100644 --- a/dspace-api/src/main/java/org/dspace/checker/dao/impl/ChecksumResultDAOImpl.java +++ b/dspace-api/src/main/java/org/dspace/checker/dao/impl/ChecksumResultDAOImpl.java @@ -17,7 +17,7 @@ import org.dspace.checker.ChecksumResult_; import org.dspace.checker.dao.ChecksumResultDAO; import org.dspace.core.AbstractHibernateDAO; -import org.dspace.core.Context; +import org.hibernate.Session; /** * Hibernate implementation of the Database Access Object interface class for the ChecksumResult object. @@ -33,12 +33,12 @@ protected ChecksumResultDAOImpl() { } @Override - public ChecksumResult findByCode(Context context, ChecksumResultCode code) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + public ChecksumResult findByCode(Session session, ChecksumResultCode code) throws SQLException { + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, ChecksumResult.class); Root checksumResultRoot = criteriaQuery.from(ChecksumResult.class); criteriaQuery.select(checksumResultRoot); criteriaQuery.where(criteriaBuilder.equal(checksumResultRoot.get(ChecksumResult_.resultCode), code)); - return uniqueResult(context, criteriaQuery, false, ChecksumResult.class); + return uniqueResult(session, criteriaQuery, false, ChecksumResult.class); } } diff --git a/dspace-api/src/main/java/org/dspace/checker/dao/impl/MostRecentChecksumDAOImpl.java b/dspace-api/src/main/java/org/dspace/checker/dao/impl/MostRecentChecksumDAOImpl.java index a31e02cbab4a..33c736627f03 100644 --- a/dspace-api/src/main/java/org/dspace/checker/dao/impl/MostRecentChecksumDAOImpl.java +++ b/dspace-api/src/main/java/org/dspace/checker/dao/impl/MostRecentChecksumDAOImpl.java @@ -29,7 +29,7 @@ import org.dspace.checker.dao.MostRecentChecksumDAO; import org.dspace.content.Bitstream; import org.dspace.core.AbstractHibernateDAO; -import org.dspace.core.Context; +import org.hibernate.Session; /** * Hibernate implementation of the Database Access Object interface class for the MostRecentChecksum object. @@ -44,12 +44,11 @@ protected MostRecentChecksumDAOImpl() { super(); } - @Override - public List findByNotProcessedInDateRange(Context context, Date startDate, Date endDate) + public List findByNotProcessedInDateRange(Session session, Date startDate, Date endDate) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, MostRecentChecksum.class); Root mostRecentChecksumRoot = criteriaQuery.from(MostRecentChecksum.class); criteriaQuery.select(mostRecentChecksumRoot); @@ -63,26 +62,24 @@ public List findByNotProcessedInDateRange(Context context, D List orderList = new LinkedList<>(); orderList.add(criteriaBuilder.asc(mostRecentChecksumRoot.get(MostRecentChecksum_.bitstream))); criteriaQuery.orderBy(orderList); - return list(context, criteriaQuery, false, MostRecentChecksum.class, -1, -1); + return list(session, criteriaQuery, false, MostRecentChecksum.class, -1, -1); } - @Override - public MostRecentChecksum findByBitstream(Context context, Bitstream bitstream) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + public MostRecentChecksum findByBitstream(Session session, Bitstream bitstream) throws SQLException { + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, MostRecentChecksum.class); Root mostRecentChecksumRoot = criteriaQuery.from(MostRecentChecksum.class); criteriaQuery.select(mostRecentChecksumRoot); criteriaQuery .where(criteriaBuilder.equal(mostRecentChecksumRoot.get(MostRecentChecksum_.bitstream), bitstream)); - return singleResult(context, criteriaQuery); + return singleResult(session, criteriaQuery); } - @Override - public List findByResultTypeInDateRange(Context context, Date startDate, Date endDate, + public List findByResultTypeInDateRange(Session session, Date startDate, Date endDate, ChecksumResultCode resultCode) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, MostRecentChecksum.class); Root mostRecentChecksumRoot = criteriaQuery.from(MostRecentChecksum.class); Join mostRecentResult = @@ -99,21 +96,21 @@ public List findByResultTypeInDateRange(Context context, Dat List orderList = new LinkedList<>(); orderList.add(criteriaBuilder.asc(mostRecentChecksumRoot.get(MostRecentChecksum_.bitstream))); criteriaQuery.orderBy(orderList); - return list(context, criteriaQuery, false, MostRecentChecksum.class, -1, -1); + return list(session, criteriaQuery, false, MostRecentChecksum.class, -1, -1); } @Override - public void deleteByBitstream(Context context, Bitstream bitstream) throws SQLException { + public void deleteByBitstream(Session session, Bitstream bitstream) throws SQLException { String hql = "delete from MostRecentChecksum WHERE bitstream=:bitstream"; - Query query = createQuery(context, hql); + Query query = createQuery(session, hql); query.setParameter("bitstream", bitstream); query.executeUpdate(); } @Override - public MostRecentChecksum getOldestRecord(Context context) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + public MostRecentChecksum getOldestRecord(Session session) throws SQLException { + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, MostRecentChecksum.class); Root mostRecentChecksumRoot = criteriaQuery.from(MostRecentChecksum.class); criteriaQuery.select(mostRecentChecksumRoot); @@ -122,12 +119,12 @@ public MostRecentChecksum getOldestRecord(Context context) throws SQLException { orderList.add(criteriaBuilder.asc(mostRecentChecksumRoot.get(MostRecentChecksum_.processEndDate))); orderList.add(criteriaBuilder.asc(mostRecentChecksumRoot.get(MostRecentChecksum_.bitstream))); criteriaQuery.orderBy(orderList); - return singleResult(context, criteriaQuery); + return singleResult(session, criteriaQuery); } @Override - public MostRecentChecksum getOldestRecord(Context context, Date lessThanDate) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + public MostRecentChecksum getOldestRecord(Session session, Date lessThanDate) throws SQLException { + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, MostRecentChecksum.class); Root mostRecentChecksumRoot = criteriaQuery.from(MostRecentChecksum.class); criteriaQuery.select(mostRecentChecksumRoot); @@ -142,13 +139,13 @@ public MostRecentChecksum getOldestRecord(Context context, Date lessThanDate) th orderList.add(criteriaBuilder.asc(mostRecentChecksumRoot.get(MostRecentChecksum_.bitstream))); criteriaQuery.orderBy(orderList); - return singleResult(context, criteriaQuery); + return singleResult(session, criteriaQuery); } @Override - public List findNotInHistory(Context context) throws SQLException { + public List findNotInHistory(Session session) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, MostRecentChecksum.class); Root checksumRoot = criteriaQuery.from(MostRecentChecksum.class); @@ -159,6 +156,6 @@ public List findNotInHistory(Context context) throws SQLExce criteriaQuery.where( criteriaBuilder.not(checksumRoot.get(MostRecentChecksum_.bitstream).in(subQuery))); - return list(context, criteriaQuery, false, MostRecentChecksum.class, -1, -1); + return list(session, criteriaQuery, false, MostRecentChecksum.class, -1, -1); } } diff --git a/dspace-api/src/main/java/org/dspace/content/BitstreamFormatServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/BitstreamFormatServiceImpl.java index fa5932ded1f7..279b4a306c2b 100644 --- a/dspace-api/src/main/java/org/dspace/content/BitstreamFormatServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/BitstreamFormatServiceImpl.java @@ -23,7 +23,8 @@ /** * Service implementation for the BitstreamFormat object. - * This class is responsible for all business logic calls for the BitstreamFormat object and is autowired by spring. + * This class is responsible for all business logic calls for the + * BitstreamFormat object and is autowired by Spring. * This class should never be accessed directly. * * @author kevinvandevelde at atmire.com @@ -33,7 +34,7 @@ public class BitstreamFormatServiceImpl implements BitstreamFormatService { /** * log4j logger */ - private static Logger log = org.apache.logging.log4j.LogManager.getLogger(BitstreamFormat.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(); @Autowired(required = true) protected BitstreamFormatDAO bitstreamFormatDAO; @@ -64,7 +65,8 @@ protected BitstreamFormatServiceImpl() { @Override public BitstreamFormat find(Context context, int id) throws SQLException { - BitstreamFormat bitstreamFormat = bitstreamFormatDAO.findByID(context, BitstreamFormat.class, id); + BitstreamFormat bitstreamFormat + = bitstreamFormatDAO.findByID(context.getSession(), BitstreamFormat.class, id); if (bitstreamFormat == null) { if (log.isDebugEnabled()) { @@ -87,12 +89,12 @@ public BitstreamFormat find(Context context, int id) @Override public BitstreamFormat findByMIMEType(Context context, String mimeType) throws SQLException { - return bitstreamFormatDAO.findByMIMEType(context, mimeType, false); + return bitstreamFormatDAO.findByMIMEType(context.getSession(), mimeType, false); } @Override public BitstreamFormat findByShortDescription(Context context, String desc) throws SQLException { - return bitstreamFormatDAO.findByShortDescription(context, desc); + return bitstreamFormatDAO.findByShortDescription(context.getSession(), desc); } @Override @@ -109,12 +111,12 @@ public BitstreamFormat findUnknown(Context context) throws SQLException { @Override public List findAll(Context context) throws SQLException { - return bitstreamFormatDAO.findAll(context, BitstreamFormat.class); + return bitstreamFormatDAO.findAll(context.getSession(), BitstreamFormat.class); } @Override public List findNonInternal(Context context) throws SQLException { - return bitstreamFormatDAO.findNonInternal(context); + return bitstreamFormatDAO.findNonInternal(context.getSession()); } @Override @@ -126,8 +128,8 @@ public BitstreamFormat create(Context context) throws SQLException, AuthorizeExc } // Create a table row - BitstreamFormat bitstreamFormat = bitstreamFormatDAO.create(context, new BitstreamFormat()); - + BitstreamFormat bitstreamFormat + = bitstreamFormatDAO.create(context.getSession(), new BitstreamFormat()); log.info(LogHelper.getHeader(context, "create_bitstream_format", "bitstream_format_id=" @@ -192,7 +194,7 @@ public void update(Context context, List bitstreamFormats) log.info(LogHelper.getHeader(context, "update_bitstream_format", "bitstream_format_id=" + bitstreamFormat.getID())); - bitstreamFormatDAO.save(context, bitstreamFormat); + bitstreamFormatDAO.save(context.getSession(), bitstreamFormat); } } } @@ -213,10 +215,11 @@ public void delete(Context context, BitstreamFormat bitstreamFormat) throws SQLE } // Set bitstreams with this format to "unknown" - int numberChanged = bitstreamFormatDAO.updateRemovedBitstreamFormat(context, bitstreamFormat, unknown); + int numberChanged = bitstreamFormatDAO.updateRemovedBitstreamFormat(context.getSession(), + bitstreamFormat, unknown); // Delete this format from database - bitstreamFormatDAO.delete(context, bitstreamFormat); + bitstreamFormatDAO.delete(context.getSession(), bitstreamFormat); log.info(LogHelper.getHeader(context, "delete_bitstream_format", "bitstream_format_id=" + bitstreamFormat.getID() + ",bitstreams_changed=" @@ -263,7 +266,8 @@ public BitstreamFormat guessFormat(Context context, Bitstream bitstream) throws return null; } - List bitstreamFormats = bitstreamFormatDAO.findByFileExtension(context, extension); + List bitstreamFormats + = bitstreamFormatDAO.findByFileExtension(context.getSession(), extension); if (CollectionUtils.isNotEmpty(bitstreamFormats)) { return bitstreamFormats.get(0); diff --git a/dspace-api/src/main/java/org/dspace/content/BitstreamServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/BitstreamServiceImpl.java index cc89cea33a25..87c2e03c4174 100644 --- a/dspace-api/src/main/java/org/dspace/content/BitstreamServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/BitstreamServiceImpl.java @@ -70,7 +70,7 @@ protected BitstreamServiceImpl() { @Override public Bitstream find(Context context, UUID id) throws SQLException { - Bitstream bitstream = bitstreamDAO.findByID(context, Bitstream.class, id); + Bitstream bitstream = bitstreamDAO.findByID(context.getSession(), Bitstream.class, id); if (bitstream == null) { if (log.isDebugEnabled()) { @@ -92,14 +92,14 @@ public Bitstream find(Context context, UUID id) throws SQLException { @Override public List findAll(Context context) throws SQLException { - return bitstreamDAO.findAll(context, Bitstream.class); + return bitstreamDAO.findAll(context.getSession(), Bitstream.class); } @Override public Bitstream clone(Context context, Bitstream bitstream) throws SQLException, AuthorizeException { // Create a new bitstream with a new ID. - Bitstream clonedBitstream = bitstreamDAO.create(context, new Bitstream()); + Bitstream clonedBitstream = bitstreamDAO.create(context.getSession(), new Bitstream()); // Set the internal identifier, file size, checksum, and // checksum algorithm as same as the given bitstream. clonedBitstream.setInternalId(bitstream.getInternalId()); @@ -113,13 +113,14 @@ public Bitstream clone(Context context, Bitstream bitstream) @Override public Iterator findAll(Context context, int limit, int offset) throws SQLException { - return bitstreamDAO.findAll(context, limit, offset); + return bitstreamDAO.findAll(context.getSession(), limit, offset); } @Override public Bitstream create(Context context, InputStream is) throws IOException, SQLException { // Store the bits - UUID bitstreamID = bitstreamStorageService.store(context, bitstreamDAO.create(context, new Bitstream()), is); + UUID bitstreamID = bitstreamStorageService.store(context, + bitstreamDAO.create(context.getSession(), new Bitstream()), is); log.info(LogHelper.getHeader(context, "create_bitstream", "bitstream_id=" + bitstreamID)); @@ -177,7 +178,7 @@ public Bitstream register(Context context, int assetstore, String bitstreamPath) throws IOException, SQLException, AuthorizeException { // Store the bits - Bitstream bitstream = bitstreamDAO.create(context, new Bitstream()); + Bitstream bitstream = bitstreamDAO.create(context.getSession(), new Bitstream()); bitstreamStorageService.register( context, bitstream, assetstore, bitstreamPath); @@ -254,7 +255,7 @@ public void update(Context context, Bitstream bitstream) throws SQLException, Au bitstream.clearDetails(); } - bitstreamDAO.save(context, bitstream); + bitstreamDAO.save(context.getSession(), bitstream); } @Override @@ -333,7 +334,7 @@ public void updateLastModified(Context context, Bitstream bitstream) { @Override public List findDeletedBitstreams(Context context, int limit, int offset) throws SQLException { - return bitstreamDAO.findDeletedBitstreams(context, limit, offset); + return bitstreamDAO.findDeletedBitstreams(context.getSession(), limit, offset); } @Override @@ -343,34 +344,34 @@ public void expunge(Context context, Bitstream bitstream) throws SQLException, A throw new IllegalStateException("Bitstream " + bitstream.getID().toString() + " must be deleted before it can be removed from the database."); } - bitstreamDAO.delete(context, bitstream); + bitstreamDAO.delete(context.getSession(), bitstream); } @Override public List findDuplicateInternalIdentifier(Context context, Bitstream bitstream) throws SQLException { - return bitstreamDAO.findDuplicateInternalIdentifier(context, bitstream); + return bitstreamDAO.findDuplicateInternalIdentifier(context.getSession(), bitstream); } @Override public Iterator getItemBitstreams(Context context, Item item) throws SQLException { - return bitstreamDAO.findByItem(context, item); + return bitstreamDAO.findByItem(context.getSession(), item); } @Override public Iterator getCollectionBitstreams(Context context, Collection collection) throws SQLException { - return bitstreamDAO.findByCollection(context, collection); + return bitstreamDAO.findByCollection(context.getSession(), collection); } @Override public Iterator getCommunityBitstreams(Context context, Community community) throws SQLException { - return bitstreamDAO.findByCommunity(context, community); + return bitstreamDAO.findByCommunity(context.getSession(), community); } @Override public List findBitstreamsWithNoRecentChecksum(Context context) throws SQLException { - return bitstreamDAO.findBitstreamsWithNoRecentChecksum(context); + return bitstreamDAO.findBitstreamsWithNoRecentChecksum(context.getSession()); } @Override @@ -431,17 +432,17 @@ public BitstreamFormat getFormat(Context context, Bitstream bitstream) throws SQ @Override public Iterator findByStoreNumber(Context context, Integer storeNumber) throws SQLException { - return bitstreamDAO.findByStoreNumber(context, storeNumber); + return bitstreamDAO.findByStoreNumber(context.getSession(), storeNumber); } @Override public Long countByStoreNumber(Context context, Integer storeNumber) throws SQLException { - return bitstreamDAO.countByStoreNumber(context, storeNumber); + return bitstreamDAO.countByStoreNumber(context.getSession(), storeNumber); } @Override public int countTotal(Context context) throws SQLException { - return bitstreamDAO.countRows(context); + return bitstreamDAO.countRows(context.getSession()); } @Override @@ -455,23 +456,23 @@ public Bitstream findByIdOrLegacyId(Context context, String id) throws SQLExcept @Override public Bitstream findByLegacyId(Context context, int id) throws SQLException { - return bitstreamDAO.findByLegacyId(context, id, Bitstream.class); + return bitstreamDAO.findByLegacyId(context.getSession(), id, Bitstream.class); } @Override public int countDeletedBitstreams(Context context) throws SQLException { - return bitstreamDAO.countDeleted(context); + return bitstreamDAO.countDeleted(context.getSession()); } @Override public int countBitstreamsWithoutPolicy(Context context) throws SQLException { - return bitstreamDAO.countWithNoPolicy(context); + return bitstreamDAO.countWithNoPolicy(context.getSession()); } @Override public List getNotReferencedBitstreams(Context context) throws SQLException { - return bitstreamDAO.getNotReferencedBitstreams(context); + return bitstreamDAO.getNotReferencedBitstreams(context.getSession()); } @Nullable diff --git a/dspace-api/src/main/java/org/dspace/content/BundleServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/BundleServiceImpl.java index 546d48d4306b..6a31c060fcf7 100644 --- a/dspace-api/src/main/java/org/dspace/content/BundleServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/BundleServiceImpl.java @@ -51,7 +51,7 @@ public class BundleServiceImpl extends DSpaceObjectServiceImpl implement /** * log4j logger */ - private static Logger log = org.apache.logging.log4j.LogManager.getLogger(Bundle.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(); @Autowired(required = true) protected BundleDAO bundleDAO; @@ -72,7 +72,7 @@ protected BundleServiceImpl() { @Override public Bundle find(Context context, UUID id) throws SQLException { // First check the cache - Bundle bundle = bundleDAO.findByID(context, Bundle.class, id); + Bundle bundle = bundleDAO.findByID(context.getSession(), Bundle.class, id); if (bundle == null) { if (log.isDebugEnabled()) { log.debug(LogHelper.getHeader(context, "find_bundle", @@ -99,7 +99,7 @@ public Bundle create(Context context, Item item, String name) throws SQLExceptio // Create a table row - Bundle bundle = bundleDAO.create(context, new Bundle()); + Bundle bundle = bundleDAO.create(context.getSession(), new Bundle()); bundle.setName(context, name); itemService.addBundle(context, item, bundle); if (!bundle.getItems().contains(item)) { @@ -268,7 +268,7 @@ public void inheritCollectionDefaultPolicies(Context context, Bundle bundle, Col + " has no default bitstream READ policies"); } - List newPolicies = new ArrayList(); + List newPolicies = new ArrayList<>(); while (i.hasNext()) { ResourcePolicy rp = resourcePolicyService.clone(context, i.next()); rp.setAction(Constants.READ); @@ -296,7 +296,7 @@ public void replaceAllBitstreamPolicies(Context context, Bundle bundle, List getBitstreamPolicies(Context context, Bundle bundle) throws SQLException { - List list = new ArrayList(); + List list = new ArrayList<>(); List bitstreams = bundle.getBitstreams(); if (CollectionUtils.isNotEmpty(bitstreams)) { for (Bitstream bs : bitstreams) { @@ -391,7 +391,7 @@ public void setOrder(Context context, Bundle bundle, UUID[] bitstreamIds) throws authorizeService.authorizeAction(context, bundle, Constants.WRITE); List currentBitstreams = bundle.getBitstreams(); - List updatedBitstreams = new ArrayList(); + List updatedBitstreams = new ArrayList<>(); // Loop through and ensure these Bitstream IDs are all valid. Add them to list of updatedBitstreams. for (int i = 0; i < bitstreamIds.length; i++) { @@ -514,7 +514,7 @@ public void update(Context context, Bundle bundle) throws SQLException, Authoriz + bundle.getID())); super.update(context, bundle); - bundleDAO.save(context, bundle); + bundleDAO.save(context.getSession(), bundle); if (bundle.isModified() || bundle.isMetadataModified()) { if (bundle.isMetadataModified()) { @@ -552,7 +552,7 @@ public void delete(Context context, Bundle bundle) throws SQLException, Authoriz } // Remove ourself - bundleDAO.delete(context, bundle); + bundleDAO.delete(context.getSession(), bundle); } @Override @@ -571,11 +571,11 @@ public Bundle findByIdOrLegacyId(Context context, String id) throws SQLException @Override public Bundle findByLegacyId(Context context, int id) throws SQLException { - return bundleDAO.findByLegacyId(context, id, Bundle.class); + return bundleDAO.findByLegacyId(context.getSession(), id, Bundle.class); } @Override public int countTotal(Context context) throws SQLException { - return bundleDAO.countRows(context); + return bundleDAO.countRows(context.getSession()); } } diff --git a/dspace-api/src/main/java/org/dspace/content/CollectionServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/CollectionServiceImpl.java index 84ca1692ccf2..eaedc9ccebb9 100644 --- a/dspace-api/src/main/java/org/dspace/content/CollectionServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/CollectionServiceImpl.java @@ -71,7 +71,8 @@ /** * Service implementation for the Collection object. - * This class is responsible for all business logic calls for the Collection object and is autowired by spring. + * This class is responsible for all business logic calls for the Collection + * object and is autowired by Spring. * This class should never be accessed directly. * * @author kevinvandevelde at atmire.com @@ -81,7 +82,7 @@ public class CollectionServiceImpl extends DSpaceObjectServiceImpl i /** * log4j category */ - private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(CollectionServiceImpl.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(); @Autowired(required = true) protected CollectionDAO collectionDAO; @@ -146,9 +147,9 @@ public Collection create(Context context, Community community, Collection newCollection; if (uuid != null) { - newCollection = collectionDAO.create(context, new Collection(uuid)); + newCollection = collectionDAO.create(context.getSession(), new Collection(uuid)); } else { - newCollection = collectionDAO.create(context, new Collection()); + newCollection = collectionDAO.create(context.getSession(), new Collection()); } //Add our newly created collection to our community, authorization checks occur in THIS method communityService.addCollection(context, community, newCollection); @@ -166,7 +167,7 @@ public Collection create(Context context, Community community, .createResourcePolicy(context, newCollection, anonymousGroup, null, Constants.DEFAULT_BITSTREAM_READ, null); - collectionDAO.save(context, newCollection); + collectionDAO.save(context.getSession(), newCollection); //Update our collection so we have a collection identifier try { @@ -199,7 +200,7 @@ public List findAll(Context context) throws SQLException { "Required metadata field '" + MetadataSchemaEnum.DC.getName() + ".title' doesn't exist!"); } - return collectionDAO.findAll(context, nameField); + return collectionDAO.findAll(context.getSession(), nameField); } @Override @@ -211,7 +212,7 @@ public List findAll(Context context, Integer limit, Integer offset) "Required metadata field '" + MetadataSchemaEnum.DC.getName() + ".title' doesn't exist!"); } - return collectionDAO.findAll(context, nameField, limit, offset); + return collectionDAO.findAll(context.getSession(), nameField, limit, offset); } @Override @@ -280,7 +281,8 @@ public List findAuthorizedOptimized(Context context, int actionID) t @Override public List findDirectMapped(Context context, int actionID) throws SQLException { return collectionDAO - .findAuthorized(context, context.getCurrentUser(), Arrays.asList(Constants.ADD, Constants.ADMIN)); + .findAuthorized(context.getSession(), context.getCurrentUser(), + Arrays.asList(Constants.ADD, Constants.ADMIN)); } @Override @@ -297,7 +299,7 @@ public List findGroup2CommunityMapped(Context context) throws SQLExc @Override public List findGroup2GroupMapped(Context context, int actionID) throws SQLException { return collectionDAO - .findAuthorizedByGroup(context, context.getCurrentUser(), Collections.singletonList(actionID)); + .findAuthorizedByGroup(context.getSession(), context.getCurrentUser(), Collections.singletonList(actionID)); } @Override @@ -313,7 +315,7 @@ public List findGroupMapped(Context context, int actionID) throws SQ @Override public Collection find(Context context, UUID id) throws SQLException { - return collectionDAO.findByID(context, Collection.class, id); + return collectionDAO.findByID(context.getSession(), Collection.class, id); } @Override @@ -669,7 +671,7 @@ public void update(Context context, Collection collection) throws SQLException, "collection_id=" + collection.getID())); super.update(context, collection); - collectionDAO.save(context, collection); + collectionDAO.save(context.getSession(), collection); if (collection.isModified()) { context.addEvent(new Event(Event.MODIFY, Constants.COLLECTION, @@ -806,7 +808,7 @@ public void delete(Context context, Collection collection) throws SQLException, owningCommunity.removeCollection(collection); } - collectionDAO.delete(context, collection); + collectionDAO.delete(context.getSession(), collection); } @Override @@ -838,12 +840,12 @@ public List findAuthorized(Context context, Community community, int @Override public Collection findByGroup(Context context, Group group) throws SQLException { - return collectionDAO.findByGroup(context, group); + return collectionDAO.findByGroup(context.getSession(), group); } @Override public List findCollectionsWithSubscribers(Context context) throws SQLException { - return collectionDAO.findCollectionsWithSubscribers(context); + return collectionDAO.findCollectionsWithSubscribers(context.getSession()); } @Override @@ -904,18 +906,18 @@ public Collection findByIdOrLegacyId(Context context, String id) throws SQLExcep @Override public Collection findByLegacyId(Context context, int id) throws SQLException { - return collectionDAO.findByLegacyId(context, id, Collection.class); + return collectionDAO.findByLegacyId(context.getSession(), id, Collection.class); } @Override public int countTotal(Context context) throws SQLException { - return collectionDAO.countRows(context); + return collectionDAO.countRows(context.getSession()); } @Override public List> getCollectionsWithBitstreamSizesTotal(Context context) throws SQLException { - return collectionDAO.getCollectionsWithBitstreamSizesTotal(context); + return collectionDAO.getCollectionsWithBitstreamSizesTotal(context.getSession()); } @Override diff --git a/dspace-api/src/main/java/org/dspace/content/CommunityServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/CommunityServiceImpl.java index 15ac1c58a690..f1f01c736769 100644 --- a/dspace-api/src/main/java/org/dspace/content/CommunityServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/CommunityServiceImpl.java @@ -56,7 +56,7 @@ public class CommunityServiceImpl extends DSpaceObjectServiceImpl imp /** * log4j category */ - private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(CommunityServiceImpl.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(); @Autowired(required = true) protected CommunityDAO communityDAO; @@ -104,9 +104,9 @@ public Community create(Community parent, Context context, String handle, Community newCommunity; if (uuid != null) { - newCommunity = communityDAO.create(context, new Community(uuid)); + newCommunity = communityDAO.create(context.getSession(), new Community(uuid)); } else { - newCommunity = communityDAO.create(context, new Community()); + newCommunity = communityDAO.create(context.getSession(), new Community()); } if (parent != null) { @@ -121,7 +121,7 @@ public Community create(Community parent, Context context, String handle, authorizeService.createResourcePolicy(context, newCommunity, anonymousGroup, null, Constants.READ, null); - communityDAO.save(context, newCommunity); + communityDAO.save(context.getSession(), newCommunity); try { if (handle == null) { @@ -152,7 +152,7 @@ public Community create(Community parent, Context context, String handle, @Override public Community find(Context context, UUID id) throws SQLException { - return communityDAO.findByID(context, Community.class, id); + return communityDAO.findByID(context.getSession(), Community.class, id); } @Override @@ -164,7 +164,7 @@ public List findAll(Context context) throws SQLException { "Required metadata field '" + MetadataSchemaEnum.DC.getName() + ".title' doesn't exist!"); } - return communityDAO.findAll(context, sortField); + return communityDAO.findAll(context.getSession(), sortField); } @Override @@ -176,7 +176,7 @@ public List findAll(Context context, Integer limit, Integer offset) t "Required metadata field '" + MetadataSchemaEnum.DC.getName() + ".title' doesn't exist!"); } - return communityDAO.findAll(context, nameField, limit, offset); + return communityDAO.findAll(context.getSession(), nameField, limit, offset); } @Override @@ -189,7 +189,7 @@ public List findAllTop(Context context) throws SQLException { "Required metadata field '" + MetadataSchemaEnum.DC.getName() + ".title' doesn't exist!"); } - return communityDAO.findAllNoParent(context, sortField); + return communityDAO.findAllNoParent(context.getSession(), sortField); } @Override @@ -267,7 +267,7 @@ public void update(Context context, Community community) throws SQLException, Au super.update(context, community); - communityDAO.save(context, community); + communityDAO.save(context.getSession(), community); if (community.isModified()) { context.addEvent(new Event(Event.MODIFY, Constants.COMMUNITY, community.getID(), null, getIdentifiers(context, community))); @@ -588,7 +588,7 @@ protected void rawDelete(Context context, Community community) Group g = community.getAdministrators(); // Delete community row - communityDAO.delete(context, community); + communityDAO.delete(context.getSession(), community); // Remove administrators group - must happen after deleting community @@ -629,17 +629,17 @@ public void canEdit(Context context, Community community) throws AuthorizeExcept @Override public Community findByAdminGroup(Context context, Group group) throws SQLException { - return communityDAO.findByAdminGroup(context, group); + return communityDAO.findByAdminGroup(context.getSession(), group); } @Override public List findAuthorized(Context context, List actions) throws SQLException { - return communityDAO.findAuthorized(context, context.getCurrentUser(), actions); + return communityDAO.findAuthorized(context.getSession(), context.getCurrentUser(), actions); } @Override public List findAuthorizedGroupMapped(Context context, List actions) throws SQLException { - return communityDAO.findAuthorizedByGroup(context, context.getCurrentUser(), actions); + return communityDAO.findAuthorizedByGroup(context.getSession(), context.getCurrentUser(), actions); } @Override @@ -703,12 +703,12 @@ public Community findByIdOrLegacyId(Context context, String id) throws SQLExcept @Override public Community findByLegacyId(Context context, int id) throws SQLException { - return communityDAO.findByLegacyId(context, id, Community.class); + return communityDAO.findByLegacyId(context.getSession(), id, Community.class); } @Override public int countTotal(Context context) throws SQLException { - return communityDAO.countRows(context); + return communityDAO.countRows(context.getSession()); } /** diff --git a/dspace-api/src/main/java/org/dspace/content/EntityTypeServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/EntityTypeServiceImpl.java index 0e0c6d51e501..d1edc7605c24 100644 --- a/dspace-api/src/main/java/org/dspace/content/EntityTypeServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/EntityTypeServiceImpl.java @@ -50,7 +50,7 @@ public class EntityTypeServiceImpl implements EntityTypeService { @Override public EntityType findByEntityType(Context context, String entityType) throws SQLException { - return entityTypeDAO.findByEntityType(context, entityType); + return entityTypeDAO.findByEntityType(context.getSession(), entityType); } @Override @@ -62,7 +62,7 @@ public List findAll(Context context) throws SQLException { @Override public List findAll(Context context, Integer limit, Integer offset) throws SQLException { - return entityTypeDAO.findAll(context, EntityType.class, limit, offset); + return entityTypeDAO.findAll(context.getSession(), EntityType.class, limit, offset); } @Override @@ -71,7 +71,7 @@ public EntityType create(Context context) throws SQLException, AuthorizeExceptio throw new AuthorizeException( "Only administrators can modify entityType"); } - return entityTypeDAO.create(context, new EntityType()); + return entityTypeDAO.create(context.getSession(), new EntityType()); } @Override @@ -82,12 +82,12 @@ public EntityType create(Context context, String entityTypeString) throws SQLExc } EntityType entityType = new EntityType(); entityType.setLabel(entityTypeString); - return entityTypeDAO.create(context, entityType); + return entityTypeDAO.create(context.getSession(), entityType); } @Override public EntityType find(Context context,int id) throws SQLException { - EntityType entityType = entityTypeDAO.findByID(context, EntityType.class, id); + EntityType entityType = entityTypeDAO.findByID(context.getSession(), EntityType.class, id); return entityType; } @@ -106,7 +106,7 @@ public void update(Context context,List entityTypes) throws SQLExcep } for (EntityType entityType : entityTypes) { - entityTypeDAO.save(context, entityType); + entityTypeDAO.save(context.getSession(), entityType); } } } @@ -117,7 +117,7 @@ public void delete(Context context,EntityType entityType) throws SQLException, A throw new AuthorizeException( "Only administrators can delete entityType"); } - entityTypeDAO.delete(context, entityType); + entityTypeDAO.delete(context.getSession(), entityType); } @Override @@ -161,12 +161,12 @@ public List getSubmitAuthorizedTypes(Context context) @Override public List getEntityTypesByNames(Context context, List names, Integer limit, Integer offset) throws SQLException { - return entityTypeDAO.getEntityTypesByNames(context, names, limit, offset); + return entityTypeDAO.getEntityTypesByNames(context.getSession(), names, limit, offset); } @Override public int countEntityTypesByNames(Context context, List names) throws SQLException { - return entityTypeDAO.countEntityTypesByNames(context, names); + return entityTypeDAO.countEntityTypesByNames(context.getSession(), names); } @Override diff --git a/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java index 8d1ba14b2c4a..b5da6bf8dbd7 100644 --- a/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java @@ -95,7 +95,7 @@ public class ItemServiceImpl extends DSpaceObjectServiceImpl implements It /** * log4j category */ - private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(Item.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(); @Autowired(required = true) protected ItemDAO itemDAO; @@ -207,7 +207,7 @@ public Thumbnail getThumbnail(Context context, Item item, boolean requireOrigina @Override public Item find(Context context, UUID id) throws SQLException { - Item item = itemDAO.findByID(context, Item.class, id); + Item item = itemDAO.findByID(context.getSession(), Item.class, id); if (item == null) { if (log.isDebugEnabled()) { log.debug(LogHelper.getHeader(context, "find_item", @@ -278,33 +278,33 @@ public Item createTemplateItem(Context context, Collection collection) throws SQ @Override public Iterator findAll(Context context) throws SQLException { - return itemDAO.findAll(context, true); + return itemDAO.findAll(context.getSession(), true); } @Override public Iterator findAll(Context context, Integer limit, Integer offset) throws SQLException { - return itemDAO.findAll(context, true, limit, offset); + return itemDAO.findAll(context.getSession(), true, limit, offset); } @Override public Iterator findAllUnfiltered(Context context) throws SQLException { - return itemDAO.findAll(context, true, true); + return itemDAO.findAll(context.getSession(), true, true); } @Override public Iterator findAllRegularItems(Context context) throws SQLException { - return itemDAO.findAllRegularItems(context); + return itemDAO.findAllRegularItems(context.getSession()); } @Override public Iterator findBySubmitter(Context context, EPerson eperson) throws SQLException { - return itemDAO.findBySubmitter(context, eperson); + return itemDAO.findBySubmitter(context.getSession(), eperson); } @Override public Iterator findBySubmitter(Context context, EPerson eperson, boolean retrieveAllItems) throws SQLException { - return itemDAO.findBySubmitter(context, eperson, retrieveAllItems); + return itemDAO.findBySubmitter(context.getSession(), eperson, retrieveAllItems); } @Override @@ -318,7 +318,7 @@ public Iterator findBySubmitterDateSorted(Context context, EPerson eperson "Required metadata field '" + MetadataSchemaEnum.DC.getName() + ".date.accessioned' doesn't exist!"); } - return itemDAO.findBySubmitter(context, eperson, metadataField, limit); + return itemDAO.findBySubmitter(context.getSession(), eperson, metadataField, limit); } @Override @@ -329,41 +329,41 @@ public Iterator findByCollection(Context context, Collection collection) t @Override public Iterator findByCollection(Context context, Collection collection, Integer limit, Integer offset) throws SQLException { - return itemDAO.findArchivedByCollection(context, collection, limit, offset); + return itemDAO.findArchivedByCollection(context.getSession(), collection, limit, offset); } @Override public Iterator findByCollectionMapping(Context context, Collection collection, Integer limit, Integer offset) throws SQLException { - return itemDAO.findArchivedByCollectionExcludingOwning(context, collection, limit, offset); + return itemDAO.findArchivedByCollectionExcludingOwning(context.getSession(), collection, limit, offset); } @Override public int countByCollectionMapping(Context context, Collection collection) throws SQLException { - return itemDAO.countArchivedByCollectionExcludingOwning(context, collection); + return itemDAO.countArchivedByCollectionExcludingOwning(context.getSession(), collection); } @Override public Iterator findAllByCollection(Context context, Collection collection) throws SQLException { - return itemDAO.findAllByCollection(context, collection); + return itemDAO.findAllByCollection(context.getSession(), collection); } @Override public Iterator findAllByCollection(Context context, Collection collection, Integer limit, Integer offset) throws SQLException { - return itemDAO.findAllByCollection(context, collection, limit, offset); + return itemDAO.findAllByCollection(context.getSession(), collection, limit, offset); } @Override public Iterator findInArchiveOrWithdrawnDiscoverableModifiedSince(Context context, Date since) throws SQLException { - return itemDAO.findAll(context, true, true, true, since); + return itemDAO.findAll(context.getSession(), true, true, true, since); } @Override public Iterator findInArchiveOrWithdrawnNonDiscoverableModifiedSince(Context context, Date since) throws SQLException { - return itemDAO.findAll(context, true, true, false, since); + return itemDAO.findAll(context.getSession(), true, true, false, since); } @Override @@ -490,9 +490,9 @@ public List getNonInternalBitstreams(Context context, Item item) thro protected Item createItem(Context context, UUID uuid) throws SQLException, AuthorizeException { Item item; if (uuid != null) { - item = itemDAO.create(context, new Item(uuid)); + item = itemDAO.create(context.getSession(), new Item(uuid)); } else { - item = itemDAO.create(context, new Item()); + item = itemDAO.create(context.getSession(), new Item()); } // set discoverable to true (default) item.setDiscoverable(true); @@ -512,7 +512,7 @@ protected Item createItem(Context context, UUID uuid) throws SQLException, Autho } protected Item createItem(Context context) throws SQLException, AuthorizeException { - Item item = itemDAO.create(context, new Item()); + Item item = itemDAO.create(context.getSession(), new Item()); // set discoverable to true (default) item.setDiscoverable(true); @@ -623,7 +623,7 @@ public void update(Context context, Item item) throws SQLException, AuthorizeExc // Set the last modified date item.setLastModified(new Date()); - itemDAO.save(context, item); + itemDAO.save(context.getSession(), item); if (item.isMetadataModified()) { context.addEvent(new Event(Event.MODIFY_METADATA, item.getType(), item.getID(), item.getDetails(), @@ -742,11 +742,11 @@ public void reinstate(Context context, Item item) throws SQLException, Authorize } // check if the item was withdrawn before the fix DS-3097 - if (authorizeService.getPoliciesActionFilter(context, item, Constants.WITHDRAWN_READ).size() != 0) { + if (!authorizeService.getPoliciesActionFilter(context, item, Constants.WITHDRAWN_READ).isEmpty()) { authorizeService.switchPoliciesAction(context, item, Constants.WITHDRAWN_READ, Constants.READ); } else { // authorization policies - if (colls.size() > 0) { + if (!colls.isEmpty()) { // remove the item's policies and replace them with // the defaults from the collection adjustItemPolicies(context, item, item.getOwningCollection()); @@ -824,7 +824,7 @@ protected void rawDelete(Context context, Item item) throws AuthorizeException, item.setOwningCollection(null); // Finally remove item row - itemDAO.delete(context, item); + itemDAO.delete(context.getSession(), item); } protected void removeRequest(Context context, Item item) throws SQLException { @@ -1240,8 +1240,8 @@ protected void addDefaultPoliciesNotInPlace(Context context, DSpaceObject dso, private void addCustomPoliciesNotInPlace(Context context, DSpaceObject dso, List customPolicies) throws SQLException, AuthorizeException { - boolean customPoliciesAlreadyInPlace = authorizeService - .findPoliciesByDSOAndType(context, dso, ResourcePolicy.TYPE_CUSTOM).size() > 0; + boolean customPoliciesAlreadyInPlace = !authorizeService + .findPoliciesByDSOAndType(context, dso, ResourcePolicy.TYPE_CUSTOM).isEmpty(); if (!customPoliciesAlreadyInPlace) { authorizeService.addPolicies(context, customPolicies, dso); } @@ -1326,9 +1326,9 @@ public Iterator findArchivedByMetadataField(Context context, } if (Item.ANY.equals(value)) { - return itemDAO.findByMetadataField(context, mdf, null, true); + return itemDAO.findByMetadataField(context.getSession(), mdf, null, true); } else { - return itemDAO.findByMetadataField(context, mdf, value, true); + return itemDAO.findByMetadataField(context.getSession(), mdf, value, true); } } @@ -1372,9 +1372,9 @@ public Iterator findByMetadataField(Context context, } if (Item.ANY.equals(value)) { - return itemDAO.findByMetadataField(context, mdf, null, true); + return itemDAO.findByMetadataField(context.getSession(), mdf, null, true); } else { - return itemDAO.findByMetadataField(context, mdf, value, true); + return itemDAO.findByMetadataField(context.getSession(), mdf, value, true); } } @@ -1384,8 +1384,8 @@ public Iterator findByMetadataQuery(Context context, List findByAuthorityValue(Context context, String schema, Strin "No such metadata field: schema=" + schema + ", element=" + element + ", qualifier=" + qualifier); } - return itemDAO.findByAuthorityValue(context, mdf, value, true); + return itemDAO.findByAuthorityValue(context.getSession(), mdf, value, true); } @Override @@ -1523,13 +1523,13 @@ public boolean isItemListedForUser(Context context, Item item) { @Override public int countItems(Context context, Collection collection) throws SQLException { - return itemDAO.countItems(context, collection, true, false); + return itemDAO.countItems(context.getSession(), collection, true, false); } @Override public int countAllItems(Context context, Collection collection) throws SQLException { - return itemDAO.countItems(context, collection, true, false) + itemDAO.countItems(context, collection, - false, true); + return itemDAO.countItems(context.getSession(), collection, true, false) + + itemDAO.countItems(context.getSession(), collection, false, true); } @Override @@ -1538,7 +1538,7 @@ public int countItems(Context context, Community community) throws SQLException List collections = communityService.getAllCollections(context, community); // Now, lets count unique items across that list of collections - return itemDAO.countItems(context, collections, true, false); + return itemDAO.countItems(context.getSession(), collections, true, false); } @Override @@ -1547,8 +1547,8 @@ public int countAllItems(Context context, Community community) throws SQLExcepti List collections = communityService.getAllCollections(context, community); // Now, lets count unique items across that list of collections - return itemDAO.countItems(context, collections, true, false) + itemDAO.countItems(context, collections, - false, true); + return itemDAO.countItems(context.getSession(), collections, true, false) + + itemDAO.countItems(context.getSession(), collections, false, true); } @Override @@ -1570,36 +1570,36 @@ public Item findByIdOrLegacyId(Context context, String id) throws SQLException { @Override public Item findByLegacyId(Context context, int id) throws SQLException { - return itemDAO.findByLegacyId(context, id, Item.class); + return itemDAO.findByLegacyId(context.getSession(), id, Item.class); } @Override public Iterator findByLastModifiedSince(Context context, Date last) throws SQLException { - return itemDAO.findByLastModifiedSince(context, last); + return itemDAO.findByLastModifiedSince(context.getSession(), last); } @Override public int countTotal(Context context) throws SQLException { - return itemDAO.countRows(context); + return itemDAO.countRows(context.getSession()); } @Override public int countNotArchivedItems(Context context) throws SQLException { // return count of items not in archive and also not withdrawn - return itemDAO.countItems(context, false, false); + return itemDAO.countItems(context.getSession(), false, false); } @Override public int countArchivedItems(Context context) throws SQLException { // return count of items in archive and also not withdrawn - return itemDAO.countItems(context, true, false); + return itemDAO.countItems(context.getSession(), true, false); } @Override public int countWithdrawnItems(Context context) throws SQLException { // return count of items that are not in archive and withdrawn - return itemDAO.countItems(context, false, true); + return itemDAO.countItems(context.getSession(), false, true); } @Override diff --git a/dspace-api/src/main/java/org/dspace/content/MetadataFieldServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/MetadataFieldServiceImpl.java index 254cff0266c2..4cbb45f43cf1 100644 --- a/dspace-api/src/main/java/org/dspace/content/MetadataFieldServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/MetadataFieldServiceImpl.java @@ -41,7 +41,7 @@ public class MetadataFieldServiceImpl implements MetadataFieldService { /** * log4j logger */ - private static Logger log = org.apache.logging.log4j.LogManager.getLogger(MetadataFieldServiceImpl.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(); @Autowired(required = true) protected MetadataFieldDAO metadataFieldDAO; @@ -80,8 +80,8 @@ public MetadataField create(Context context, MetadataSchema metadataSchema, Stri metadataField.setQualifier(qualifier); metadataField.setScopeNote(scopeNote); metadataField.setMetadataSchema(metadataSchema); - metadataField = metadataFieldDAO.create(context, metadataField); - metadataFieldDAO.save(context, metadataField); + metadataField = metadataFieldDAO.create(context.getSession(), metadataField); + metadataFieldDAO.save(context.getSession(), metadataField); log.info(LogHelper.getHeader(context, "create_metadata_field", "metadata_field_id=" + metadataField.getID())); @@ -92,19 +92,19 @@ public MetadataField create(Context context, MetadataSchema metadataSchema, Stri @Override public MetadataField find(Context context, int id) throws SQLException { - return metadataFieldDAO.findByID(context, MetadataField.class, id); + return metadataFieldDAO.findByID(context.getSession(), MetadataField.class, id); } @Override public MetadataField findByElement(Context context, MetadataSchema metadataSchema, String element, String qualifier) throws SQLException { - return metadataFieldDAO.findByElement(context, metadataSchema, element, qualifier); + return metadataFieldDAO.findByElement(context.getSession(), metadataSchema, element, qualifier); } @Override public MetadataField findByElement(Context context, String metadataSchemaName, String element, String qualifier) throws SQLException { - return metadataFieldDAO.findByElement(context, metadataSchemaName, element, qualifier); + return metadataFieldDAO.findByElement(context.getSession(), metadataSchemaName, element, qualifier); } @Override @@ -123,17 +123,17 @@ public MetadataField findByString(Context context, String mdString, char separat @Override public List findFieldsByElementNameUnqualified(Context context, String metadataSchemaName, String element) throws SQLException { - return metadataFieldDAO.findFieldsByElementNameUnqualified(context, metadataSchemaName, element); + return metadataFieldDAO.findFieldsByElementNameUnqualified(context.getSession(), metadataSchemaName, element); } @Override public List findAll(Context context) throws SQLException { - return metadataFieldDAO.findAll(context, MetadataField.class); + return metadataFieldDAO.findAll(context.getSession(), MetadataField.class); } @Override public List findAllInSchema(Context context, MetadataSchema metadataSchema) throws SQLException { - return metadataFieldDAO.findAllInSchema(context, metadataSchema); + return metadataFieldDAO.findAllInSchema(context.getSession(), metadataSchema); } @Override @@ -153,7 +153,7 @@ public void update(Context context, MetadataField metadataField) + metadataField.getQualifier()); } - metadataFieldDAO.save(context, metadataField); + metadataFieldDAO.save(context.getSession(), metadataField); log.info(LogHelper.getHeader(context, "update_metadatafieldregistry", "metadata_field_id=" + metadataField.getID() + "element=" + metadataField @@ -181,7 +181,7 @@ public void delete(Context context, MetadataField metadataField) throws SQLExcep // Only remove this field if it is NOT in use (as we don't want to bulk delete metadata values) if (CollectionUtils.isEmpty(values)) { - metadataFieldDAO.delete(context, metadataField); + metadataFieldDAO.delete(context.getSession(), metadataField); } else { throw new IllegalStateException("Metadata field " + metadataField .toString() + " cannot be deleted as it is currently used by one or more objects."); @@ -221,7 +221,7 @@ private void triggerEventToUpdateIndex(Context context, int mdFieldId) { */ protected boolean hasElement(Context context, int fieldId, MetadataSchema metadataSchema, String element, String qualifier) throws SQLException { - return metadataFieldDAO.find(context, fieldId, metadataSchema, element, qualifier) != null; + return metadataFieldDAO.find(context.getSession(), fieldId, metadataSchema, element, qualifier) != null; } } diff --git a/dspace-api/src/main/java/org/dspace/content/MetadataSchemaServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/MetadataSchemaServiceImpl.java index 2eeb57a395e2..b18f841d9b01 100644 --- a/dspace-api/src/main/java/org/dspace/content/MetadataSchemaServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/MetadataSchemaServiceImpl.java @@ -32,7 +32,7 @@ public class MetadataSchemaServiceImpl implements MetadataSchemaService { /** * log4j logger */ - private static Logger log = org.apache.logging.log4j.LogManager.getLogger(MetadataSchemaServiceImpl.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(); @Autowired protected MetadataFieldService metadataFieldService; @@ -70,10 +70,10 @@ public MetadataSchema create(Context context, String name, String namespace) // Create a table row and update it with the values - MetadataSchema metadataSchema = metadataSchemaDAO.create(context, new MetadataSchema()); + MetadataSchema metadataSchema = metadataSchemaDAO.create(context.getSession(), new MetadataSchema()); metadataSchema.setNamespace(namespace); metadataSchema.setName(name); - metadataSchemaDAO.save(context, metadataSchema); + metadataSchemaDAO.save(context.getSession(), metadataSchema); log.info(LogHelper.getHeader(context, "create_metadata_schema", "metadata_schema_id=" + metadataSchema.getID())); @@ -82,7 +82,7 @@ public MetadataSchema create(Context context, String name, String namespace) @Override public MetadataSchema findByNamespace(Context context, String namespace) throws SQLException { - return metadataSchemaDAO.findByNamespace(context, namespace); + return metadataSchemaDAO.findByNamespace(context.getSession(), namespace); } @Override @@ -105,7 +105,7 @@ public void update(Context context, MetadataSchema metadataSchema) throw new NonUniqueMetadataException("Please make the namespace " + metadataSchema.getNamespace() + " unique"); } - metadataSchemaDAO.save(context, metadataSchema); + metadataSchemaDAO.save(context.getSession(), metadataSchema); log.info(LogHelper.getHeader(context, "update_metadata_schema", "metadata_schema_id=" + metadataSchema.getID() + "namespace=" + metadataSchema.getNamespace() + "name=" + metadataSchema.getName())); @@ -123,7 +123,7 @@ public void delete(Context context, MetadataSchema metadataSchema) throws SQLExc metadataFieldService.delete(context, metadataField); } - metadataSchemaDAO.delete(context, metadataSchema); + metadataSchemaDAO.delete(context.getSession(), metadataSchema); log.info(LogHelper.getHeader(context, "delete_metadata_schema", "metadata_schema_id=" + metadataSchema.getID())); @@ -131,12 +131,12 @@ public void delete(Context context, MetadataSchema metadataSchema) throws SQLExc @Override public List findAll(Context context) throws SQLException { - return metadataSchemaDAO.findAll(context, MetadataSchema.class); + return metadataSchemaDAO.findAll(context.getSession(), MetadataSchema.class); } @Override public MetadataSchema find(Context context, int id) throws SQLException { - return metadataSchemaDAO.findByID(context, MetadataSchema.class, id); + return metadataSchemaDAO.findByID(context.getSession(), MetadataSchema.class, id); } @Override @@ -145,7 +145,7 @@ public MetadataSchema find(Context context, String shortName) throws SQLExceptio if (shortName == null) { return null; } - return metadataSchemaDAO.find(context, shortName); + return metadataSchemaDAO.find(context.getSession(), shortName); } @@ -161,7 +161,7 @@ public MetadataSchema find(Context context, String shortName) throws SQLExceptio */ protected boolean uniqueNamespace(Context context, int metadataSchemaId, String namespace) throws SQLException { - return metadataSchemaDAO.uniqueNamespace(context, metadataSchemaId, namespace); + return metadataSchemaDAO.uniqueNamespace(context.getSession(), metadataSchemaId, namespace); } /** @@ -175,6 +175,6 @@ protected boolean uniqueNamespace(Context context, int metadataSchemaId, String */ protected boolean uniqueShortName(Context context, int metadataSchemaId, String name) throws SQLException { - return metadataSchemaDAO.uniqueShortName(context, metadataSchemaId, name); + return metadataSchemaDAO.uniqueShortName(context.getSession(), metadataSchemaId, name); } } diff --git a/dspace-api/src/main/java/org/dspace/content/MetadataValueServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/MetadataValueServiceImpl.java index 0c34c04f3051..70dc4a4530ab 100644 --- a/dspace-api/src/main/java/org/dspace/content/MetadataValueServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/MetadataValueServiceImpl.java @@ -33,7 +33,7 @@ */ public class MetadataValueServiceImpl implements MetadataValueService { - private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(MetadataValueServiceImpl.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(); @Autowired(required = true) protected AuthorizeService authorizeService; @@ -54,7 +54,7 @@ public MetadataValue create(Context context, DSpaceObject dso, MetadataField met dso.addMetadata(metadataValue); //An update here isn't needed, this is persited upon the merge of the owning object // metadataValueDAO.save(context, metadataValue); - metadataValue = metadataValueDAO.create(context, metadataValue); + metadataValue = metadataValueDAO.create(context.getSession(), metadataValue); log.info(LogHelper.getHeader(context, "add_metadatavalue", "metadata_value_id=" + metadataValue.getID())); @@ -64,24 +64,24 @@ public MetadataValue create(Context context, DSpaceObject dso, MetadataField met @Override public MetadataValue find(Context context, int valueId) throws IOException, SQLException { // Grab row from DB - return metadataValueDAO.findByID(context, MetadataValue.class, valueId); + return metadataValueDAO.findByID(context.getSession(), MetadataValue.class, valueId); } @Override public List findByField(Context context, MetadataField metadataField) throws IOException, SQLException { - return metadataValueDAO.findByField(context, metadataField); + return metadataValueDAO.findByField(context.getSession(), metadataField); } @Override public Iterator findByFieldAndValue(Context context, MetadataField metadataField, String value) throws SQLException { - return metadataValueDAO.findItemValuesByFieldAndValue(context, metadataField, value); + return metadataValueDAO.findItemValuesByFieldAndValue(context.getSession(), metadataField, value); } @Override public void update(Context context, MetadataValue metadataValue) throws SQLException { - metadataValueDAO.save(context, metadataValue); + metadataValueDAO.save(context.getSession(), metadataValue); log.info(LogHelper.getHeader(context, "update_metadatavalue", "metadata_value_id=" + metadataValue.getID())); @@ -106,28 +106,28 @@ public void update(Context context, MetadataValue metadataValue, boolean updateL public void delete(Context context, MetadataValue metadataValue) throws SQLException { log.info(LogHelper.getHeader(context, "delete_metadata_value", " metadata_value_id=" + metadataValue.getID())); - metadataValueDAO.delete(context, metadataValue); + metadataValueDAO.delete(context.getSession(), metadataValue); } @Override public Iterator findByValueLike(Context context, String value) throws SQLException { - return metadataValueDAO.findByValueLike(context, value); + return metadataValueDAO.findByValueLike(context.getSession(), value); } @Override public void deleteByMetadataField(Context context, MetadataField metadataField) throws SQLException { - metadataValueDAO.deleteByMetadataField(context, metadataField); + metadataValueDAO.deleteByMetadataField(context.getSession(), metadataField); } @Override public MetadataValue getMinimum(Context context, int metadataFieldId) throws SQLException { - return metadataValueDAO.getMinimum(context, + return metadataValueDAO.getMinimum(context.getSession(), metadataFieldId); } @Override public int countTotal(Context context) throws SQLException { - return metadataValueDAO.countRows(context); + return metadataValueDAO.countRows(context.getSession()); } } diff --git a/dspace-api/src/main/java/org/dspace/content/RelationshipServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/RelationshipServiceImpl.java index 1fdfde6c7462..3bc1607994e9 100644 --- a/dspace-api/src/main/java/org/dspace/content/RelationshipServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/RelationshipServiceImpl.java @@ -74,7 +74,7 @@ public Relationship create(Context context) throws SQLException, AuthorizeExcept throw new AuthorizeException( "Only administrators can modify relationship"); } - return relationshipDAO.create(context, new Relationship()); + return relationshipDAO.create(context.getSession(), new Relationship()); } @Override @@ -120,7 +120,7 @@ public Relationship create(Context context, Relationship relationship) throws SQ authorizeService.authorizeActionBoolean(context, relationship.getRightItem(), Constants.WRITE)) { // This order of execution should be handled in the creation (create, updateplace, update relationship) // for a proper place allocation - Relationship relationshipToReturn = relationshipDAO.create(context, relationship); + Relationship relationshipToReturn = relationshipDAO.create(context.getSession(), relationship); updatePlaceInRelationship(context, relationshipToReturn, null, null, true, true); update(context, relationshipToReturn); updateItemsInRelationship(context, relationship); @@ -603,7 +603,7 @@ private boolean verifyEntityTypes(Item itemToProcess, EntityType entityTypeToPro @Override public Relationship find(Context context, int id) throws SQLException { - Relationship relationship = relationshipDAO.findByID(context, Relationship.class, id); + Relationship relationship = relationshipDAO.findByID(context.getSession(), Relationship.class, id); return relationship; } @@ -624,7 +624,7 @@ public List findByItem( Context context, Item item, Integer limit, Integer offset, boolean excludeTilted, boolean excludeNonLatest ) throws SQLException { List list = - relationshipDAO.findByItem(context, item, limit, offset, excludeTilted, excludeNonLatest); + relationshipDAO.findByItem(context.getSession(), item, limit, offset, excludeTilted, excludeNonLatest); list.sort((o1, o2) -> { int relationshipType = o1.getRelationshipType().getLeftwardType() @@ -649,7 +649,7 @@ public List findAll(Context context) throws SQLException { @Override public List findAll(Context context, Integer limit, Integer offset) throws SQLException { - return relationshipDAO.findAll(context, Relationship.class, limit, offset); + return relationshipDAO.findAll(context.getSession(), Relationship.class, limit, offset); } @Override @@ -665,7 +665,7 @@ public void update(Context context, List relationships) throws SQL if (authorizeService.authorizeActionBoolean(context, relationship.getLeftItem(), Constants.WRITE) || authorizeService.authorizeActionBoolean(context, relationship.getRightItem(), Constants.WRITE)) { if (isRelationshipValidToCreate(context, relationship)) { - relationshipDAO.save(context, relationship); + relationshipDAO.save(context.getSession(), relationship); } } else { throw new AuthorizeException("You do not have write rights on this relationship's items"); @@ -718,7 +718,7 @@ private void deleteRelationshipAndCopyToItem(Context context, Relationship relat copyMetadataValues(context, relationship, copyToLeftItem, copyToRightItem); if (authorizeService.authorizeActionBoolean(context, relationship.getLeftItem(), Constants.WRITE) || authorizeService.authorizeActionBoolean(context, relationship.getRightItem(), Constants.WRITE)) { - relationshipDAO.delete(context, relationship); + relationshipDAO.delete(context.getSession(), relationship); updatePlaceInRelationship(context, relationship, null, null, false, false); updateItemsInRelationship(context, relationship); } else { @@ -847,7 +847,7 @@ private void findModifiedDiscoveryItemsForCurrentItem(Context context, Item item */ private boolean containsVirtualMetadata(String typeToSearchInVirtualMetadata) { return virtualMetadataPopulator.getMap().containsKey(typeToSearchInVirtualMetadata) - && virtualMetadataPopulator.getMap().get(typeToSearchInVirtualMetadata).size() > 0; + && !virtualMetadataPopulator.getMap().get(typeToSearchInVirtualMetadata).isEmpty(); } /** @@ -1005,7 +1005,8 @@ public List findByItemAndRelationshipType( Context context, Item item, RelationshipType relationshipType, int limit, int offset, boolean excludeNonLatest ) throws SQLException { return relationshipDAO - .findByItemAndRelationshipType(context, item, relationshipType, limit, offset, excludeNonLatest); + .findByItemAndRelationshipType(context.getSession(), item, + relationshipType, limit, offset, excludeNonLatest); } @Override @@ -1021,7 +1022,8 @@ public List findByItemAndRelationshipType( boolean excludeNonLatest ) throws SQLException { return relationshipDAO - .findByItemAndRelationshipType(context, item, relationshipType, isLeft, limit, offset, excludeNonLatest); + .findByItemAndRelationshipType(context.getSession(), item, + relationshipType, isLeft, limit, offset, excludeNonLatest); } @Override @@ -1029,7 +1031,7 @@ public List findByLatestItemAndRelationshipType( Context context, Item latestItem, RelationshipType relationshipType, boolean isLeft ) throws SQLException { return relationshipDAO - .findByLatestItemAndRelationshipType(context, latestItem, relationshipType, isLeft); + .findByLatestItemAndRelationshipType(context.getSession(), latestItem, relationshipType, isLeft); } @Override @@ -1043,7 +1045,7 @@ public List findByRelationshipType(Context context, RelationshipTy public List findByRelationshipType(Context context, RelationshipType relationshipType, Integer limit, Integer offset) throws SQLException { - return relationshipDAO.findByRelationshipType(context, relationshipType, limit, offset); + return relationshipDAO.findByRelationshipType(context.getSession(), relationshipType, limit, offset); } @Override @@ -1055,13 +1057,13 @@ public List findByTypeName(Context context, String typeName) @Override public List findByTypeName(Context context, String typeName, Integer limit, Integer offset) throws SQLException { - return relationshipDAO.findByTypeName(context, typeName, limit, offset); + return relationshipDAO.findByTypeName(context.getSession(), typeName, limit, offset); } @Override public int countTotal(Context context) throws SQLException { - return relationshipDAO.countRows(context); + return relationshipDAO.countRows(context.getSession()); } @Override @@ -1073,12 +1075,12 @@ public int countByItem(Context context, Item item) throws SQLException { public int countByItem( Context context, Item item, boolean excludeTilted, boolean excludeNonLatest ) throws SQLException { - return relationshipDAO.countByItem(context, item, excludeTilted, excludeNonLatest); + return relationshipDAO.countByItem(context.getSession(), item, excludeTilted, excludeNonLatest); } @Override public int countByRelationshipType(Context context, RelationshipType relationshipType) throws SQLException { - return relationshipDAO.countByRelationshipType(context, relationshipType); + return relationshipDAO.countByRelationshipType(context.getSession(), relationshipType); } @Override @@ -1093,13 +1095,13 @@ public int countByItemAndRelationshipType( Context context, Item item, RelationshipType relationshipType, boolean isLeft, boolean excludeNonLatest ) throws SQLException { return relationshipDAO - .countByItemAndRelationshipType(context, item, relationshipType, isLeft, excludeNonLatest); + .countByItemAndRelationshipType(context.getSession(), item, relationshipType, isLeft, excludeNonLatest); } @Override public int countByTypeName(Context context, String typeName) throws SQLException { - return relationshipDAO.countByTypeName(context, typeName); + return relationshipDAO.countByTypeName(context.getSession(), typeName); } @Override @@ -1107,13 +1109,14 @@ public List findByItemRelationshipTypeAndRelatedList(Context conte RelationshipType relationshipType, List items, boolean isLeft, int offset, int limit) throws SQLException { return relationshipDAO - .findByItemAndRelationshipTypeAndList(context, focusUUID, relationshipType, items, isLeft, offset,limit); + .findByItemAndRelationshipTypeAndList(context.getSession(), + focusUUID, relationshipType, items, isLeft, offset,limit); } @Override public int countByItemRelationshipTypeAndRelatedList(Context context, UUID focusUUID, RelationshipType relationshipType, List items, boolean isLeft) throws SQLException { return relationshipDAO - .countByItemAndRelationshipTypeAndList(context, focusUUID, relationshipType, items, isLeft); + .countByItemAndRelationshipTypeAndList(context.getSession(), focusUUID, relationshipType, items, isLeft); } } diff --git a/dspace-api/src/main/java/org/dspace/content/RelationshipTypeServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/RelationshipTypeServiceImpl.java index 9e5de89ae28e..47fff2b862df 100644 --- a/dspace-api/src/main/java/org/dspace/content/RelationshipTypeServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/RelationshipTypeServiceImpl.java @@ -33,7 +33,7 @@ public RelationshipType create(Context context) throws SQLException, AuthorizeEx throw new AuthorizeException( "Only administrators can modify relationshipType"); } - return relationshipTypeDAO.create(context, new RelationshipType()); + return relationshipTypeDAO.create(context.getSession(), new RelationshipType()); } @Override @@ -43,13 +43,15 @@ public RelationshipType create(Context context, RelationshipType relationshipTyp throw new AuthorizeException( "Only administrators can modify relationshipType"); } - return relationshipTypeDAO.create(context, relationshipType); + return relationshipTypeDAO.create(context.getSession(), relationshipType); } @Override - public RelationshipType findbyTypesAndTypeName(Context context,EntityType leftType,EntityType rightType, - String leftwardType,String rightwardType) throws SQLException { - return relationshipTypeDAO.findbyTypesAndTypeName(context, leftType, rightType, leftwardType, rightwardType); + public RelationshipType findbyTypesAndTypeName(Context context, + EntityType leftType, EntityType rightType, + String leftwardType,String rightwardType) throws SQLException { + return relationshipTypeDAO.findbyTypesAndTypeName(context.getSession(), + leftType, rightType, leftwardType, rightwardType); } @Override @@ -60,7 +62,7 @@ public List findAll(Context context) throws SQLException { @Override public List findAll(Context context, Integer limit, Integer offset) throws SQLException { - return relationshipTypeDAO.findAll(context, RelationshipType.class, limit, offset); + return relationshipTypeDAO.findAll(context.getSession(), RelationshipType.class, limit, offset); } @Override @@ -73,7 +75,7 @@ public List findByLeftwardOrRightwardTypeName(Context context, public List findByLeftwardOrRightwardTypeName(Context context, String typeName, Integer limit, Integer offset) throws SQLException { - return relationshipTypeDAO.findByLeftwardOrRightwardTypeName(context, typeName, limit, offset); + return relationshipTypeDAO.findByLeftwardOrRightwardTypeName(context.getSession(), typeName, limit, offset); } @Override @@ -84,7 +86,7 @@ public List findByEntityType(Context context, EntityType entit @Override public List findByEntityType(Context context, EntityType entityType, Integer limit, Integer offset) throws SQLException { - return relationshipTypeDAO.findByEntityType(context, entityType, limit, offset); + return relationshipTypeDAO.findByEntityType(context.getSession(), entityType, limit, offset); } @Override @@ -96,7 +98,7 @@ public List findByEntityType(Context context, EntityType entit @Override public List findByEntityType(Context context, EntityType entityType, boolean isLeft, Integer limit, Integer offset) throws SQLException { - return relationshipTypeDAO.findByEntityType(context, entityType, isLeft, limit, offset); + return relationshipTypeDAO.findByEntityType(context.getSession(), entityType, isLeft, limit, offset); } @Override @@ -141,7 +143,7 @@ public RelationshipType create(Context context, EntityType leftEntityType, Entit @Override public RelationshipType find(Context context,int id) throws SQLException { - return relationshipTypeDAO.findByID(context, RelationshipType.class, id); + return relationshipTypeDAO.findByID(context.getSession(), RelationshipType.class, id); } @Override @@ -160,7 +162,7 @@ public void update(Context context,List relationshipTypes) } for (RelationshipType relationshipType : relationshipTypes) { - relationshipTypeDAO.save(context, relationshipType); + relationshipTypeDAO.save(context.getSession(), relationshipType); } } @@ -172,11 +174,11 @@ public void delete(Context context,RelationshipType relationshipType) throws SQL throw new AuthorizeException( "Only administrators can delete entityType"); } - relationshipTypeDAO.delete(context, relationshipType); + relationshipTypeDAO.delete(context.getSession(), relationshipType); } @Override public int countByEntityType(Context context, EntityType entityType) throws SQLException { - return relationshipTypeDAO.countByEntityType(context, entityType); + return relationshipTypeDAO.countByEntityType(context.getSession(), entityType); } } diff --git a/dspace-api/src/main/java/org/dspace/content/SiteServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/SiteServiceImpl.java index 2f53ed0928a2..e719fd6c6cce 100644 --- a/dspace-api/src/main/java/org/dspace/content/SiteServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/SiteServiceImpl.java @@ -48,7 +48,7 @@ public Site createSite(Context context) throws SQLException { Site site = findSite(context); if (site == null) { //Only one site can be created at any point in time - site = siteDAO.create(context, new Site()); + site = siteDAO.create(context.getSession(), new Site()); handleService.createHandle(context, site, configurationService.getProperty("handle.prefix") + "/0"); } return site; @@ -56,12 +56,12 @@ public Site createSite(Context context) throws SQLException { @Override public Site findSite(Context context) throws SQLException { - return siteDAO.findSite(context); + return siteDAO.findSite(context.getSession()); } @Override public Site find(Context context, UUID id) throws SQLException { - return siteDAO.findByID(context, Site.class, id); + return siteDAO.findByID(context.getSession(), Site.class, id); } @Override @@ -88,7 +88,7 @@ public void update(Context context, Site site) throws SQLException, AuthorizeExc site.clearModified(); site.clearDetails(); - siteDAO.save(context, site); + siteDAO.save(context.getSession(), site); } @Override diff --git a/dspace-api/src/main/java/org/dspace/content/WorkspaceItemServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/WorkspaceItemServiceImpl.java index b6e7372af184..f9cb4ab9cb65 100644 --- a/dspace-api/src/main/java/org/dspace/content/WorkspaceItemServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/WorkspaceItemServiceImpl.java @@ -54,7 +54,7 @@ */ public class WorkspaceItemServiceImpl implements WorkspaceItemService { - private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(WorkspaceItemServiceImpl.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(); @Autowired(required = true) protected WorkspaceItemDAO workspaceItemDAO; @@ -77,7 +77,8 @@ protected WorkspaceItemServiceImpl() { @Override public WorkspaceItem find(Context context, int id) throws SQLException { - WorkspaceItem workspaceItem = workspaceItemDAO.findByID(context, WorkspaceItem.class, id); + WorkspaceItem workspaceItem + = workspaceItemDAO.findByID(context.getSession(), WorkspaceItem.class, id); if (workspaceItem == null) { if (log.isDebugEnabled()) { @@ -105,7 +106,7 @@ public WorkspaceItem create(Context context, Collection collection, UUID uuid, b // Check the user has permission to ADD to the collection authorizeService.authorizeAction(context, collection, Constants.ADD); - WorkspaceItem workspaceItem = workspaceItemDAO.create(context, new WorkspaceItem()); + WorkspaceItem workspaceItem = workspaceItemDAO.create(context.getSession(), new WorkspaceItem()); workspaceItem.setCollection(collection); @@ -215,7 +216,7 @@ private Optional getDSpaceEntityType(DSpaceObject dSpaceObject) { @Override public WorkspaceItem create(Context c, WorkflowItem workflowItem) throws SQLException, AuthorizeException { - WorkspaceItem workspaceItem = workspaceItemDAO.create(c, new WorkspaceItem()); + WorkspaceItem workspaceItem = workspaceItemDAO.create(c.getSession(), new WorkspaceItem()); workspaceItem.setItem(workflowItem.getItem()); workspaceItem.setCollection(workflowItem.getCollection()); update(c, workspaceItem); @@ -224,33 +225,33 @@ public WorkspaceItem create(Context c, WorkflowItem workflowItem) throws SQLExce @Override public List findByEPerson(Context context, EPerson ep) throws SQLException { - return workspaceItemDAO.findByEPerson(context, ep); + return workspaceItemDAO.findByEPerson(context.getSession(), ep); } @Override public List findByEPerson(Context context, EPerson ep, Integer limit, Integer offset) throws SQLException { - return workspaceItemDAO.findByEPerson(context, ep, limit, offset); + return workspaceItemDAO.findByEPerson(context.getSession(), ep, limit, offset); } @Override public List findByCollection(Context context, Collection collection) throws SQLException { - return workspaceItemDAO.findByCollection(context, collection); + return workspaceItemDAO.findByCollection(context.getSession(), collection); } @Override public WorkspaceItem findByItem(Context context, Item item) throws SQLException { - return workspaceItemDAO.findByItem(context, item); + return workspaceItemDAO.findByItem(context.getSession(), item); } @Override public List findAll(Context context) throws SQLException { - return workspaceItemDAO.findAll(context); + return workspaceItemDAO.findAll(context.getSession()); } @Override public List findAll(Context context, Integer limit, Integer offset) throws SQLException { - return workspaceItemDAO.findAll(context, limit, offset); + return workspaceItemDAO.findAll(context.getSession(), limit, offset); } @Override @@ -264,7 +265,7 @@ public void update(Context context, WorkspaceItem workspaceItem) throws SQLExcep itemService.update(context, workspaceItem.getItem()); // Update ourselves - workspaceItemDAO.save(context, workspaceItem); + workspaceItemDAO.save(context.getSession(), workspaceItem); } @Override @@ -291,7 +292,7 @@ public void deleteAll(Context context, WorkspaceItem workspaceItem) // Need to delete the workspaceitem row first since it refers // to item ID - workspaceItemDAO.delete(context, workspaceItem); + workspaceItemDAO.delete(context.getSession(), workspaceItem); // Delete item itemService.delete(context, item); @@ -299,17 +300,17 @@ public void deleteAll(Context context, WorkspaceItem workspaceItem) @Override public int countTotal(Context context) throws SQLException { - return workspaceItemDAO.countRows(context); + return workspaceItemDAO.countRows(context.getSession()); } @Override public int countByEPerson(Context context, EPerson ep) throws SQLException { - return workspaceItemDAO.countRows(context, ep); + return workspaceItemDAO.countRows(context.getSession(), ep); } @Override public List> getStageReachedCounts(Context context) throws SQLException { - return workspaceItemDAO.getStageReachedCounts(context); + return workspaceItemDAO.getStageReachedCounts(context.getSession()); } @Override @@ -324,7 +325,7 @@ public void deleteWrapper(Context context, WorkspaceItem workspaceItem) throws S // deleteSubmitPermissions(); - workspaceItemDAO.delete(context, workspaceItem); + workspaceItemDAO.delete(context.getSession(), workspaceItem); } diff --git a/dspace-api/src/main/java/org/dspace/content/dao/BitstreamDAO.java b/dspace-api/src/main/java/org/dspace/content/dao/BitstreamDAO.java index 0d7afaa3cd73..96e6eacbb720 100644 --- a/dspace-api/src/main/java/org/dspace/content/dao/BitstreamDAO.java +++ b/dspace-api/src/main/java/org/dspace/content/dao/BitstreamDAO.java @@ -15,7 +15,7 @@ import org.dspace.content.Collection; import org.dspace.content.Community; import org.dspace.content.Item; -import org.dspace.core.Context; +import org.hibernate.Session; /** * Database Access Object interface class for the Bitstream object. @@ -27,29 +27,29 @@ */ public interface BitstreamDAO extends DSpaceObjectLegacySupportDAO { - public Iterator findAll(Context context, int limit, int offset) throws SQLException; + public Iterator findAll(Session session, int limit, int offset) throws SQLException; - public List findDeletedBitstreams(Context context, int limit, int offset) throws SQLException; + public List findDeletedBitstreams(Session session, int limit, int offset) throws SQLException; - public List findDuplicateInternalIdentifier(Context context, Bitstream bitstream) throws SQLException; + public List findDuplicateInternalIdentifier(Session session, Bitstream bitstream) throws SQLException; - public List findBitstreamsWithNoRecentChecksum(Context context) throws SQLException; + public List findBitstreamsWithNoRecentChecksum(Session session) throws SQLException; - public Iterator findByCommunity(Context context, Community community) throws SQLException; + public Iterator findByCommunity(Session session, Community community) throws SQLException; - public Iterator findByCollection(Context context, Collection collection) throws SQLException; + public Iterator findByCollection(Session session, Collection collection) throws SQLException; - public Iterator findByItem(Context context, Item item) throws SQLException; + public Iterator findByItem(Session session, Item item) throws SQLException; - public Iterator findByStoreNumber(Context context, Integer storeNumber) throws SQLException; + public Iterator findByStoreNumber(Session session, Integer storeNumber) throws SQLException; - public Long countByStoreNumber(Context context, Integer storeNumber) throws SQLException; + public Long countByStoreNumber(Session session, Integer storeNumber) throws SQLException; - int countRows(Context context) throws SQLException; + int countRows(Session session) throws SQLException; - int countDeleted(Context context) throws SQLException; + int countDeleted(Session session) throws SQLException; - int countWithNoPolicy(Context context) throws SQLException; + int countWithNoPolicy(Session session) throws SQLException; - List getNotReferencedBitstreams(Context context) throws SQLException; + List getNotReferencedBitstreams(Session session) throws SQLException; } diff --git a/dspace-api/src/main/java/org/dspace/content/dao/BitstreamFormatDAO.java b/dspace-api/src/main/java/org/dspace/content/dao/BitstreamFormatDAO.java index 4e50ccb0d417..1bec42d1aa26 100644 --- a/dspace-api/src/main/java/org/dspace/content/dao/BitstreamFormatDAO.java +++ b/dspace-api/src/main/java/org/dspace/content/dao/BitstreamFormatDAO.java @@ -11,8 +11,8 @@ import java.util.List; import org.dspace.content.BitstreamFormat; -import org.dspace.core.Context; import org.dspace.core.GenericDAO; +import org.hibernate.Session; /** * Database Access Object interface class for the BitstreamFormat object. @@ -24,15 +24,15 @@ */ public interface BitstreamFormatDAO extends GenericDAO { - public BitstreamFormat findByMIMEType(Context context, String mimeType, boolean includeInternal) + public BitstreamFormat findByMIMEType(Session session, String mimeType, boolean includeInternal) throws SQLException; - public BitstreamFormat findByShortDescription(Context context, String desc) throws SQLException; + public BitstreamFormat findByShortDescription(Session session, String desc) throws SQLException; - public int updateRemovedBitstreamFormat(Context context, BitstreamFormat deletedBitstreamFormat, + public int updateRemovedBitstreamFormat(Session session, BitstreamFormat deletedBitstreamFormat, BitstreamFormat newBitstreamFormat) throws SQLException; - public List findNonInternal(Context context) throws SQLException; + public List findNonInternal(Session session) throws SQLException; - public List findByFileExtension(Context context, String extension) throws SQLException; + public List findByFileExtension(Session session, String extension) throws SQLException; } diff --git a/dspace-api/src/main/java/org/dspace/content/dao/BundleDAO.java b/dspace-api/src/main/java/org/dspace/content/dao/BundleDAO.java index da7435d46643..edbdfdc77245 100644 --- a/dspace-api/src/main/java/org/dspace/content/dao/BundleDAO.java +++ b/dspace-api/src/main/java/org/dspace/content/dao/BundleDAO.java @@ -10,7 +10,7 @@ import java.sql.SQLException; import org.dspace.content.Bundle; -import org.dspace.core.Context; +import org.hibernate.Session; /** * Database Access Object interface class for the Bundle object. @@ -21,5 +21,5 @@ * @author kevinvandevelde at atmire.com */ public interface BundleDAO extends DSpaceObjectLegacySupportDAO { - int countRows(Context context) throws SQLException; + int countRows(Session session) throws SQLException; } diff --git a/dspace-api/src/main/java/org/dspace/content/dao/CollectionDAO.java b/dspace-api/src/main/java/org/dspace/content/dao/CollectionDAO.java index 6bb65bbb46d8..36026b2ee537 100644 --- a/dspace-api/src/main/java/org/dspace/content/dao/CollectionDAO.java +++ b/dspace-api/src/main/java/org/dspace/content/dao/CollectionDAO.java @@ -14,9 +14,9 @@ import org.dspace.content.Collection; import org.dspace.content.Item; import org.dspace.content.MetadataField; -import org.dspace.core.Context; import org.dspace.eperson.EPerson; import org.dspace.eperson.Group; +import org.hibernate.Session; /** * Database Access Object interface class for the Collection object. @@ -28,29 +28,30 @@ */ public interface CollectionDAO extends DSpaceObjectLegacySupportDAO { - public List findAll(Context context, MetadataField order) throws SQLException; + public List findAll(Session session, MetadataField order) throws SQLException; - public List findAll(Context context, MetadataField order, Integer limit, Integer offset) + public List findAll(Session session, MetadataField order, Integer limit, Integer offset) throws SQLException; - public Collection findByTemplateItem(Context context, Item item) throws SQLException; + public Collection findByTemplateItem(Session session, Item item) throws SQLException; /** - * - * @param context DSpace Context + * Find a Collection having a given submitter or administrator group. + * + * @param session current request's database context. * @param group EPerson Group * @return the collection, if any, that has the specified group as administrators or submitters * @throws SQLException */ - public Collection findByGroup(Context context, Group group) throws SQLException; + public Collection findByGroup(Session session, Group group) throws SQLException; - public List findAuthorized(Context context, EPerson ePerson, List actions) throws SQLException; + public List findAuthorized(Session session, EPerson ePerson, List actions) throws SQLException; - List findAuthorizedByGroup(Context context, EPerson ePerson, List actions) throws SQLException; + List findAuthorizedByGroup(Session session, EPerson ePerson, List actions) throws SQLException; - List findCollectionsWithSubscribers(Context context) throws SQLException; + List findCollectionsWithSubscribers(Session session) throws SQLException; - int countRows(Context context) throws SQLException; + int countRows(Session session) throws SQLException; - List> getCollectionsWithBitstreamSizesTotal(Context context) throws SQLException; + List> getCollectionsWithBitstreamSizesTotal(Session session) throws SQLException; } diff --git a/dspace-api/src/main/java/org/dspace/content/dao/CommunityDAO.java b/dspace-api/src/main/java/org/dspace/content/dao/CommunityDAO.java index e09748e14487..6e5694016165 100644 --- a/dspace-api/src/main/java/org/dspace/content/dao/CommunityDAO.java +++ b/dspace-api/src/main/java/org/dspace/content/dao/CommunityDAO.java @@ -12,9 +12,9 @@ import org.dspace.content.Community; import org.dspace.content.MetadataField; -import org.dspace.core.Context; import org.dspace.eperson.EPerson; import org.dspace.eperson.Group; +import org.hibernate.Session; /** * Database Access Object interface class for the Community object. @@ -26,19 +26,19 @@ */ public interface CommunityDAO extends DSpaceObjectLegacySupportDAO { - public List findAll(Context context, MetadataField sortField) throws SQLException; + public List findAll(Session session, MetadataField sortField) throws SQLException; - public List findAll(Context context, MetadataField sortField, Integer limit, Integer offset) + public List findAll(Session session, MetadataField sortField, Integer limit, Integer offset) throws SQLException; - public Community findByAdminGroup(Context context, Group group) throws SQLException; + public Community findByAdminGroup(Session session, Group group) throws SQLException; - public List findAllNoParent(Context context, MetadataField sortField) throws SQLException; + public List findAllNoParent(Session session, MetadataField sortField) throws SQLException; - public List findAuthorized(Context context, EPerson ePerson, List actions) throws SQLException; + public List findAuthorized(Session session, EPerson ePerson, List actions) throws SQLException; - public List findAuthorizedByGroup(Context context, EPerson currentUser, List actions) + public List findAuthorizedByGroup(Session session, EPerson currentUser, List actions) throws SQLException; - int countRows(Context context) throws SQLException; + int countRows(Session session) throws SQLException; } diff --git a/dspace-api/src/main/java/org/dspace/content/dao/DSpaceObjectLegacySupportDAO.java b/dspace-api/src/main/java/org/dspace/content/dao/DSpaceObjectLegacySupportDAO.java index c82dda4a0f6f..540ce668bde4 100644 --- a/dspace-api/src/main/java/org/dspace/content/dao/DSpaceObjectLegacySupportDAO.java +++ b/dspace-api/src/main/java/org/dspace/content/dao/DSpaceObjectLegacySupportDAO.java @@ -10,7 +10,7 @@ import java.sql.SQLException; import org.dspace.content.DSpaceObject; -import org.dspace.core.Context; +import org.hibernate.Session; /** * Database Access Object interface interface class that adds support to retrieve DSpaceObject by the old integer @@ -22,5 +22,5 @@ */ public interface DSpaceObjectLegacySupportDAO extends DSpaceObjectDAO { - public T findByLegacyId(Context context, int legacyId, Class clazz) throws SQLException; + public T findByLegacyId(Session session, int legacyId, Class clazz) throws SQLException; } diff --git a/dspace-api/src/main/java/org/dspace/content/dao/EntityTypeDAO.java b/dspace-api/src/main/java/org/dspace/content/dao/EntityTypeDAO.java index 8dbdc0ef7030..53e1ed0d3823 100644 --- a/dspace-api/src/main/java/org/dspace/content/dao/EntityTypeDAO.java +++ b/dspace-api/src/main/java/org/dspace/content/dao/EntityTypeDAO.java @@ -11,8 +11,8 @@ import java.util.List; import org.dspace.content.EntityType; -import org.dspace.core.Context; import org.dspace.core.GenericDAO; +import org.hibernate.Session; /** * Database Access Object Interface class for the EntityType object @@ -25,33 +25,33 @@ public interface EntityTypeDAO extends GenericDAO { /** * This method returns the EntityType object that has the given entityType String * as label - * @param context The relevant DSpace context + * @param session The current request's database context. * @param entityType The entityType String that will be matched on to find * the correct EntityType * @return The EntityType object that has the entityType String as label * @throws SQLException If something goes wrong */ - public EntityType findByEntityType(Context context, String entityType) throws SQLException; + public EntityType findByEntityType(Session session, String entityType) throws SQLException; /** - * - * @param context DSpace context object + * + * @param session The current request's database context. * @param names List of Entity type names that you want to retrieve * @param limit paging limit * @param offset the position of the first result to return * @return * @throws SQLException if database error */ - public List getEntityTypesByNames(Context context, List names, Integer limit, Integer offset) + public List getEntityTypesByNames(Session session, List names, Integer limit, Integer offset) throws SQLException; /** - * - * @param context DSpace context object + * + * @param session The current request's database context. * @param names List of Entity type names that you want to retrieve * @return * @throws SQLException If database error */ - public int countEntityTypesByNames(Context context, List names) throws SQLException; + public int countEntityTypesByNames(Session session, List names) throws SQLException; } diff --git a/dspace-api/src/main/java/org/dspace/content/dao/ItemDAO.java b/dspace-api/src/main/java/org/dspace/content/dao/ItemDAO.java index 86da51e6cc2b..3b518d1cfa26 100644 --- a/dspace-api/src/main/java/org/dspace/content/dao/ItemDAO.java +++ b/dspace-api/src/main/java/org/dspace/content/dao/ItemDAO.java @@ -17,8 +17,8 @@ import org.dspace.content.Community; import org.dspace.content.Item; import org.dspace.content.MetadataField; -import org.dspace.core.Context; import org.dspace.eperson.EPerson; +import org.hibernate.Session; /** * Database Access Object interface class for the Item object. @@ -28,12 +28,12 @@ * @author kevinvandevelde at atmire.com */ public interface ItemDAO extends DSpaceObjectLegacySupportDAO { - public Iterator findAll(Context context, boolean archived) throws SQLException; + public Iterator findAll(Session session, boolean archived) throws SQLException; - public Iterator findAll(Context context, boolean archived, int limit, int offset) throws SQLException; + public Iterator findAll(Session session, boolean archived, int limit, int offset) throws SQLException; @Deprecated - public Iterator findAll(Context context, boolean archived, boolean withdrawn) throws SQLException; + public Iterator findAll(Session session, boolean archived, boolean withdrawn) throws SQLException; /** * Find all items that are: @@ -42,93 +42,93 @@ public interface ItemDAO extends DSpaceObjectLegacySupportDAO { * - NOT a template item for e.g. a collection * * This implies that the result also contains older versions of items and withdrawn items. - * @param context the DSpace context. + * @param session the current request's database context. * @return iterator over all regular items. * @throws SQLException if database error. */ - public Iterator findAllRegularItems(Context context) throws SQLException; + public Iterator findAllRegularItems(Session session) throws SQLException; /** * Find all Items modified since a Date. * - * @param context Context + * @param session the current request's database context. * @param since Earliest interesting last-modified date. * @return iterator over items * @throws SQLException if database error */ - public Iterator findByLastModifiedSince(Context context, Date since) + public Iterator findByLastModifiedSince(Session session, Date since) throws SQLException; - public Iterator findBySubmitter(Context context, EPerson eperson) throws SQLException; + public Iterator findBySubmitter(Session session, EPerson eperson) throws SQLException; /** * Find all the items by a given submitter. The order is * indeterminate. All items are included. * - * @param context DSpace context object + * @param session the current request's database context. * @param eperson the submitter * @param retrieveAllItems flag to determine if only archive should be returned * @return an iterator over the items submitted by eperson * @throws SQLException if database error */ - public Iterator findBySubmitter(Context context, EPerson eperson, boolean retrieveAllItems) + public Iterator findBySubmitter(Session session, EPerson eperson, boolean retrieveAllItems) throws SQLException; - public Iterator findBySubmitter(Context context, EPerson eperson, MetadataField metadataField, int limit) + public Iterator findBySubmitter(Session session, EPerson eperson, MetadataField metadataField, int limit) throws SQLException; - public Iterator findByMetadataField(Context context, MetadataField metadataField, String value, + public Iterator findByMetadataField(Session session, MetadataField metadataField, String value, boolean inArchive) throws SQLException; - public Iterator findByMetadataQuery(Context context, List> listFieldList, + public Iterator findByMetadataQuery(Session session, List> listFieldList, List query_op, List query_val, List collectionUuids, String regexClause, int offset, int limit) throws SQLException; - public Iterator findByAuthorityValue(Context context, MetadataField metadataField, String authority, + public Iterator findByAuthorityValue(Session session, MetadataField metadataField, String authority, boolean inArchive) throws SQLException; - public Iterator findArchivedByCollection(Context context, Collection collection, Integer limit, + public Iterator findArchivedByCollection(Session session, Collection collection, Integer limit, Integer offset) throws SQLException; /** * Returns all the Items in an iterator that are archived and for which the given Collection is part of the Item's * Collections but it is not the owning collection - * @param context The relevant DSpace context + * @param session The current request's database context. * @param collection The collection to check on * @param limit The limit for the query * @param offset The offset for the query * @return An iterator containing the items for which the constraints hold true * @throws SQLException If something goes wrong */ - public Iterator findArchivedByCollectionExcludingOwning(Context context, Collection collection, Integer limit, + public Iterator findArchivedByCollectionExcludingOwning(Session session, Collection collection, Integer limit, Integer offset) throws SQLException; /** * Counts all the items that are archived and for which the given Collection is part of the Item's Collections * but it is not the owning Collection - * @param context The relevant DSpace context + * @param session The current request's database context. * @param collection The collection to check on * @return The total amount of items that fit the constraints * @throws SQLException If something goes wrong */ - public int countArchivedByCollectionExcludingOwning(Context context, Collection collection) throws SQLException; + public int countArchivedByCollectionExcludingOwning(Session session, Collection collection) throws SQLException; - public Iterator findAllByCollection(Context context, Collection collection) throws SQLException; + public Iterator findAllByCollection(Session session, Collection collection) throws SQLException; - public Iterator findAllByCollection(Context context, Collection collection, Integer limit, Integer offset) + public Iterator findAllByCollection(Session session, Collection collection, Integer limit, Integer offset) throws SQLException; /** * Count number of items in a given collection * - * @param context context + * @param session the current request's database context. * @param collection the collection * @param includeArchived whether to include archived items in count * @param includeWithdrawn whether to include withdrawn items in count * @return item count * @throws SQLException if database error */ - public int countItems(Context context, Collection collection, boolean includeArchived, boolean includeWithdrawn) + public int countItems(Session session, Collection collection, boolean includeArchived, boolean includeWithdrawn) throws SQLException; /** @@ -137,20 +137,20 @@ public int countItems(Context context, Collection collection, boolean includeArc * {@link org.dspace.content.service.CommunityService#getAllCollections(Context, Community)} * to determine the unique number of items in a Community. * - * @param context context + * @param session the current request's database context. * @param collections the list of collections * @param includeArchived whether to include archived items in count * @param includeWithdrawn whether to include withdrawn items in count * @return item count * @throws SQLException if database error */ - public int countItems(Context context, List collections, boolean includeArchived, + public int countItems(Session session, List collections, boolean includeArchived, boolean includeWithdrawn) throws SQLException; /** * Get all Items installed or withdrawn, discoverable, and modified since a Date. * - * @param context context + * @param session the current request's database context. * @param archived whether to find archived * @param withdrawn whether to find withdrawn * @param discoverable whether to find discoverable @@ -158,41 +158,40 @@ public int countItems(Context context, List collections, boolean inc * @return iterator over items * @throws SQLException if database error */ - public Iterator findAll(Context context, boolean archived, + public Iterator findAll(Session session, boolean archived, boolean withdrawn, boolean discoverable, Date lastModified) throws SQLException; /** - * Count total number of items (rows in item table) + * Count total number of items (rows in item table). * - * @param context context + * @param session the current request's database context. * @return total count * @throws SQLException if database error */ - int countRows(Context context) throws SQLException; + int countRows(Session session) throws SQLException; /** * Count number of items based on specific status flags * - * @param context context + * @param session the current request's database context. * @param includeArchived whether to include archived items in count * @param includeWithdrawn whether to include withdrawn items in count * @return count of items * @throws SQLException if database error */ - int countItems(Context context, boolean includeArchived, boolean includeWithdrawn) throws SQLException; + int countItems(Session session, boolean includeArchived, boolean includeWithdrawn) throws SQLException; /** * Count number of items from the specified submitter based on specific status flags * - * @param context context + * @param session the current request's database context. * @param submitter the submitter * @param includeArchived whether to include archived items in count * @param includeWithdrawn whether to include withdrawn items in count * @return count of items * @throws SQLException if database error */ - public int countItems(Context context, EPerson submitter, boolean includeArchived, boolean includeWithdrawn) + public int countItems(Session session, EPerson submitter, boolean includeArchived, boolean includeWithdrawn) throws SQLException; - } diff --git a/dspace-api/src/main/java/org/dspace/content/dao/MetadataFieldDAO.java b/dspace-api/src/main/java/org/dspace/content/dao/MetadataFieldDAO.java index 5b694c73eb20..a2f3e60415fe 100644 --- a/dspace-api/src/main/java/org/dspace/content/dao/MetadataFieldDAO.java +++ b/dspace-api/src/main/java/org/dspace/content/dao/MetadataFieldDAO.java @@ -12,8 +12,8 @@ import org.dspace.content.MetadataField; import org.dspace.content.MetadataSchema; -import org.dspace.core.Context; import org.dspace.core.GenericDAO; +import org.hibernate.Session; /** * Database Access Object interface class for the MetadataField object. @@ -25,21 +25,21 @@ */ public interface MetadataFieldDAO extends GenericDAO { - public MetadataField find(Context context, int metadataFieldId, MetadataSchema metadataSchema, String element, + public MetadataField find(Session session, int metadataFieldId, MetadataSchema metadataSchema, String element, String qualifier) throws SQLException; - public MetadataField findByElement(Context context, MetadataSchema metadataSchema, String element, String qualifier) + public MetadataField findByElement(Session session, MetadataSchema metadataSchema, String element, String qualifier) throws SQLException; - public MetadataField findByElement(Context context, String metadataSchema, String element, String qualifier) + public MetadataField findByElement(Session session, String metadataSchema, String element, String qualifier) throws SQLException; - public List findFieldsByElementNameUnqualified(Context context, String metadataSchema, + public List findFieldsByElementNameUnqualified(Session session, String metadataSchema, String element) throws SQLException; - public List findAllInSchema(Context context, MetadataSchema metadataSchema) + public List findAllInSchema(Session session, MetadataSchema metadataSchema) throws SQLException; } diff --git a/dspace-api/src/main/java/org/dspace/content/dao/MetadataSchemaDAO.java b/dspace-api/src/main/java/org/dspace/content/dao/MetadataSchemaDAO.java index b5e1d8f8b1be..6130d9f95e0d 100644 --- a/dspace-api/src/main/java/org/dspace/content/dao/MetadataSchemaDAO.java +++ b/dspace-api/src/main/java/org/dspace/content/dao/MetadataSchemaDAO.java @@ -10,8 +10,8 @@ import java.sql.SQLException; import org.dspace.content.MetadataSchema; -import org.dspace.core.Context; import org.dspace.core.GenericDAO; +import org.hibernate.Session; /** * Database Access Object interface class for the MetadataSchema object. @@ -23,11 +23,11 @@ */ public interface MetadataSchemaDAO extends GenericDAO { - public MetadataSchema findByNamespace(Context context, String namespace) throws SQLException; + public MetadataSchema findByNamespace(Session session, String namespace) throws SQLException; - public boolean uniqueNamespace(Context context, int metadataSchemaId, String namespace) throws SQLException; + public boolean uniqueNamespace(Session session, int metadataSchemaId, String namespace) throws SQLException; - public boolean uniqueShortName(Context context, int metadataSchemaId, String name) throws SQLException; + public boolean uniqueShortName(Session session, int metadataSchemaId, String name) throws SQLException; - public MetadataSchema find(Context context, String shortName) throws SQLException; + public MetadataSchema find(Session session, String shortName) throws SQLException; } diff --git a/dspace-api/src/main/java/org/dspace/content/dao/MetadataValueDAO.java b/dspace-api/src/main/java/org/dspace/content/dao/MetadataValueDAO.java index 6a09cfdd8e00..73493b171de4 100644 --- a/dspace-api/src/main/java/org/dspace/content/dao/MetadataValueDAO.java +++ b/dspace-api/src/main/java/org/dspace/content/dao/MetadataValueDAO.java @@ -13,8 +13,8 @@ import org.dspace.content.MetadataField; import org.dspace.content.MetadataValue; -import org.dspace.core.Context; import org.dspace.core.GenericDAO; +import org.hibernate.Session; /** * Database Access Object interface class for the MetadataValue object. @@ -26,19 +26,19 @@ */ public interface MetadataValueDAO extends GenericDAO { - public List findByField(Context context, MetadataField fieldId) throws SQLException; + public List findByField(Session session, MetadataField fieldId) throws SQLException; - public Iterator findItemValuesByFieldAndValue(Context context, + public Iterator findItemValuesByFieldAndValue(Session session, MetadataField metadataField, String value) throws SQLException; - public Iterator findByValueLike(Context context, String value) throws SQLException; + public Iterator findByValueLike(Session session, String value) throws SQLException; - public void deleteByMetadataField(Context context, MetadataField metadataField) throws SQLException; + public void deleteByMetadataField(Session session, MetadataField metadataField) throws SQLException; - public MetadataValue getMinimum(Context context, int metadataFieldId) + public MetadataValue getMinimum(Session session, int metadataFieldId) throws SQLException; - int countRows(Context context) throws SQLException; + int countRows(Session session) throws SQLException; } diff --git a/dspace-api/src/main/java/org/dspace/content/dao/ProcessDAO.java b/dspace-api/src/main/java/org/dspace/content/dao/ProcessDAO.java index 95ec40c7a542..6d595a571b62 100644 --- a/dspace-api/src/main/java/org/dspace/content/dao/ProcessDAO.java +++ b/dspace-api/src/main/java/org/dspace/content/dao/ProcessDAO.java @@ -12,11 +12,11 @@ import java.util.List; import org.dspace.content.ProcessStatus; -import org.dspace.core.Context; import org.dspace.core.GenericDAO; import org.dspace.eperson.EPerson; import org.dspace.scripts.Process; import org.dspace.scripts.ProcessQueryParameterContainer; +import org.hibernate.Session; /** * This is the Data Access Object for the {@link Process} object @@ -24,44 +24,47 @@ public interface ProcessDAO extends GenericDAO { /** - * This method will return all the Process objects in the database in a list and it'll be sorted by script name - * @param context The relevant DSpace context - * @return The list of all Process objects in the database sorted on scriptname + * This method will return all the Process objects in the database in a list + * sorted by script name. + * @param session The current request's database context. + * @return The list of all Process objects in the database sorted on script name. * @throws SQLException If something goes wrong */ - public List findAllSortByScript(Context context) throws SQLException; + public List findAllSortByScript(Session session) throws SQLException; /** - * This method will return all the Process objects in the database in a list and it'll be sorted by start time. + * This method will return all the Process objects in the database in a list + * sorted by start time. * The most recent one will be shown first - * @param context The relevant DSpace context - * @return The list of all Process objects in the database sorted by starttime + * @param session The current request's database context. + * @return The list of all Process objects in the database sorted by start time * @throws SQLException If something goes wrong */ - public List findAllSortByStartTime(Context context) throws SQLException; + public List findAllSortByStartTime(Session session) throws SQLException; /** * Returns a list of all Process objects in the database - * @param context The relevant DSpace context + * @param session The current request's database context. * @param limit The limit for the amount of Processes returned * @param offset The offset for the Processes to be returned * @return The list of all Process objects in the Database * @throws SQLException If something goes wrong */ - List findAll(Context context, int limit, int offset) throws SQLException; + List findAll(Session session, int limit, int offset) throws SQLException; /** - * Returns the total amount of Process objects in the dataase - * @param context The relevant DSpace context + * Returns the total number of Process objects in the database. + * @param session The current request's database context. * @return An integer that describes the amount of Process objects in the database * @throws SQLException If something goes wrong */ - int countRows(Context context) throws SQLException; + int countRows(Session session) throws SQLException; /** - * Returns a list of all Processes in the database which match the given field requirements. If the - * requirements are not null, they will be combined with an AND operation. - * @param context The relevant DSpace context + * Returns a list of all Processes in the database which match the given + * field requirements. If the requirements are not null, they will be + * combined with an AND operation. + * @param session The current request's database context. * @param processQueryParameterContainer The {@link ProcessQueryParameterContainer} containing all the values * that the returned {@link Process} objects must adhere to * @param limit The limit for the amount of Processes returned @@ -69,55 +72,55 @@ public interface ProcessDAO extends GenericDAO { * @return The list of all Processes which match the metadata requirements * @throws SQLException If something goes wrong */ - List search(Context context, ProcessQueryParameterContainer processQueryParameterContainer, int limit, + List search(Session session, ProcessQueryParameterContainer processQueryParameterContainer, int limit, int offset) throws SQLException; /** * Count all the processes which match the requirements. The requirements are evaluated like the search * method. - * @param context The relevant DSpace context + * @param session The current request's database context. * @param processQueryParameterContainer The {@link ProcessQueryParameterContainer} containing all the values * that the returned {@link Process} objects must adhere to * @return The number of results matching the query * @throws SQLException If something goes wrong */ - int countTotalWithParameters(Context context, ProcessQueryParameterContainer processQueryParameterContainer) + int countTotalWithParameters(Session session, ProcessQueryParameterContainer processQueryParameterContainer) throws SQLException; /** * Find all the processes with one of the given status and with a creation time * older than the specified date. * - * @param context The relevant DSpace context + * @param session The current request's database context. * @param statuses the statuses of the processes to search for * @param date the creation date to search for * @return The list of all Processes which match requirements * @throws SQLException If something goes wrong */ - List findByStatusAndCreationTimeOlderThan(Context context, List statuses, Date date) + List findByStatusAndCreationTimeOlderThan(Session session, List statuses, Date date) throws SQLException; /** * Returns a list of all Process objects in the database by the given user. * - * @param context The relevant DSpace context + * @param session The current request's database context. * @param user The user to search for * @param limit The limit for the amount of Processes returned * @param offset The offset for the Processes to be returned * @return The list of all Process objects in the Database * @throws SQLException If something goes wrong */ - List findByUser(Context context, EPerson user, int limit, int offset) throws SQLException; + List findByUser(Session session, EPerson user, int limit, int offset) throws SQLException; /** * Count all the processes which is related to the given user. * - * @param context The relevant DSpace context + * @param session The current request's database context. * @param user The user to search for * @return The number of results matching the query * @throws SQLException If something goes wrong */ - int countByUser(Context context, EPerson user) throws SQLException; + int countByUser(Session session, EPerson user) throws SQLException; } diff --git a/dspace-api/src/main/java/org/dspace/content/dao/RelationshipDAO.java b/dspace-api/src/main/java/org/dspace/content/dao/RelationshipDAO.java index a152b5b90220..b83a015cbe8c 100644 --- a/dspace-api/src/main/java/org/dspace/content/dao/RelationshipDAO.java +++ b/dspace-api/src/main/java/org/dspace/content/dao/RelationshipDAO.java @@ -15,21 +15,22 @@ import org.dspace.content.Relationship; import org.dspace.content.RelationshipType; import org.dspace.content.dao.pojo.ItemUuidAndRelationshipId; -import org.dspace.core.Context; import org.dspace.core.GenericDAO; +import org.hibernate.Session; /** - * Database Access Object Interface class for the Relationship object + * Database Access Object Interface class for the Relationship object. * The implementation of this class is responsible for all - * database calls for the Relationship object and is autowired by spring - * This class should only be accessed from a single service and should never be exposed outside of the API + * database calls for the Relationship object and is autowired by Spring. + * This class should only be accessed from a single service and should never be + * exposed outside of the API. */ public interface RelationshipDAO extends GenericDAO { /** * This method returns a list of Relationship objects that have the given Item object * as a leftItem or a rightItem - * @param context The relevant DSpace context + * @param session The current request's database context. * @param item The item that should be either a leftItem or a rightItem of all * the Relationship objects in the returned list * @param excludeTilted If true, excludes tilted relationships @@ -40,13 +41,13 @@ public interface RelationshipDAO extends GenericDAO { * @throws SQLException If something goes wrong */ List findByItem( - Context context, Item item, boolean excludeTilted, boolean excludeNonLatest + Session session, Item item, boolean excludeTilted, boolean excludeNonLatest ) throws SQLException; /** * This method returns a list of Relationship objects that have the given Item object * as a leftItem or a rightItem - * @param context The relevant DSpace context + * @param session The current request's database context. * @param item The item that should be either a leftItem or a rightItem of all * the Relationship objects in the returned list * @param limit paging limit @@ -59,26 +60,26 @@ List findByItem( * @throws SQLException If something goes wrong */ List findByItem( - Context context, Item item, Integer limit, Integer offset, boolean excludeTilted, boolean excludeNonLatest + Session session, Item item, Integer limit, Integer offset, boolean excludeTilted, boolean excludeNonLatest ) throws SQLException; /** * This method returns a list of Relationship objects for the given RelationshipType object. * It will construct a list of all Relationship objects that have the given RelationshipType object * as the relationshipType property - * @param context The relevant DSpace context + * @param session The current request's database context. * @param relationshipType The RelationshipType object to be checked on * @return A list of Relationship objects that have the given RelationshipType object as the * relationshipType property * @throws SQLException If something goes wrong */ - List findByRelationshipType(Context context, RelationshipType relationshipType) throws SQLException; + List findByRelationshipType(Session session, RelationshipType relationshipType) throws SQLException; /** * This method returns a list of Relationship objects for the given RelationshipType object. * It will construct a list of all Relationship objects that have the given RelationshipType object * as the relationshipType property - * @param context The relevant DSpace context + * @param session The current request's database context. * @param relationshipType The RelationshipType object to be checked on * @param limit paging limit * @param offset paging offset @@ -86,14 +87,14 @@ List findByItem( * relationshipType property * @throws SQLException If something goes wrong */ - List findByRelationshipType(Context context, RelationshipType relationshipType, + List findByRelationshipType(Session session, RelationshipType relationshipType, Integer limit, Integer offset) throws SQLException; /** * This method returns a list of Relationship objects for the given RelationshipType object. * It will construct a list of all Relationship objects that have the given RelationshipType object * as the relationshipType property - * @param context The relevant DSpace context + * @param session The current request's database context. * @param item item to filter by * @param relationshipType The RelationshipType object to be checked on * @param limit paging limit @@ -105,7 +106,7 @@ List findByRelationshipType(Context context, RelationshipType rela * @throws SQLException If something goes wrong */ List findByItemAndRelationshipType( - Context context, Item item, RelationshipType relationshipType, Integer limit, Integer offset, + Session session, Item item, RelationshipType relationshipType, Integer limit, Integer offset, boolean excludeNonLatest ) throws SQLException; @@ -113,7 +114,7 @@ List findByItemAndRelationshipType( * This method returns a list of Relationship objects for the given RelationshipType object. * It will construct a list of all Relationship objects that have the given RelationshipType object * as the relationshipType property - * @param context The relevant DSpace context + * @param session The current request's database context. * @param item item to filter by * @param relationshipType The RelationshipType object to be checked on * @param isLeft Is item left or right @@ -126,7 +127,7 @@ List findByItemAndRelationshipType( * @throws SQLException If something goes wrong */ List findByItemAndRelationshipType( - Context context, Item item, RelationshipType relationshipType, boolean isLeft, Integer limit, Integer offset, + Session session, Item item, RelationshipType relationshipType, boolean isLeft, Integer limit, Integer offset, boolean excludeNonLatest ) throws SQLException; @@ -145,7 +146,7 @@ List findByItemAndRelationshipType( * NOTE: This method does not return {@link Relationship}s for performance, because doing so would eagerly fetch * the items on both sides, which is unnecessary. * NOTE: tilted relationships are NEVER excluded when fetching one relationship type. - * @param context the DSpace context. + * @param session the DSpace context. * @param latestItem the target item; only relationships where this item has "latest status" should be considered. * @param relationshipType the relationship type for which relationships should be selected. * @param isLeft whether the entity type of the item occurs on the left or right side of the relationship type. @@ -155,23 +156,23 @@ List findByItemAndRelationshipType( * @throws SQLException if something goes wrong. */ public List findByLatestItemAndRelationshipType( - Context context, Item latestItem, RelationshipType relationshipType, boolean isLeft + Session session, Item latestItem, RelationshipType relationshipType, boolean isLeft ) throws SQLException; /** * This method returns a list of Relationship objects for the given typeName - * @param context The relevant DSpace context + * @param session The current request's database context. * @param typeName The leftward or rightward typeName of the relationship type * @return A list of Relationship objects that have the given RelationshipType object as the * relationshipType property * @throws SQLException If something goes wrong */ - List findByTypeName(Context context, String typeName) + List findByTypeName(Session session, String typeName) throws SQLException; /** * This method returns a list of Relationship objects for the given typeName - * @param context The relevant DSpace context + * @param session The current request's database context. * @param typeName The leftward or rightward typeName of the relationship type * @param limit paging limit * @param offset paging offset @@ -179,32 +180,32 @@ List findByTypeName(Context context, String typeName) * relationshipType property * @throws SQLException If something goes wrong */ - List findByTypeName(Context context, String typeName, Integer limit, Integer offset) + List findByTypeName(Session session, String typeName, Integer limit, Integer offset) throws SQLException; /** * Count total number of relationships (rows in relationship table) * - * @param context context + * @param session context * @return total count * @throws SQLException if database error */ - int countRows(Context context) throws SQLException; + int countRows(Session session) throws SQLException; /** * Count total number of relationships (rows in relationship table) by a relationship type * - * @param context context + * @param session context * @param relationshipType relationship type to filter by * @return total count * @throws SQLException if database error */ - int countByRelationshipType(Context context, RelationshipType relationshipType) throws SQLException; + int countByRelationshipType(Session session, RelationshipType relationshipType) throws SQLException; /** * This method returns a count of Relationship objects that have the given Item object * as a leftItem or a rightItem - * @param context The relevant DSpace context + * @param session The current request's database context. * @param item The item that should be either a leftItem or a rightItem of all * the Relationship objects in the returned list * @param excludeTilted if true, excludes tilted relationships @@ -214,13 +215,13 @@ List findByTypeName(Context context, String typeName, Integer limi * right item that is equal to the given item * @throws SQLException If something goes wrong */ - int countByItem(Context context, Item item, boolean excludeTilted, boolean excludeNonLatest) throws SQLException; + int countByItem(Session session, Item item, boolean excludeTilted, boolean excludeNonLatest) throws SQLException; /** * Count total number of relationships (rows in relationship table) by an item and a relationship type and a boolean * indicating whether the item should be the leftItem or the rightItem * - * @param context context + * @param session context * @param relationshipType relationship type to filter by * @param item item to filter by * @param isLeft indicating whether the counted Relationships should have the given Item on the left side @@ -230,25 +231,25 @@ List findByTypeName(Context context, String typeName, Integer limi * @throws SQLException if database error */ int countByItemAndRelationshipType( - Context context, Item item, RelationshipType relationshipType, boolean isLeft, boolean excludeNonLatest + Session session, Item item, RelationshipType relationshipType, boolean isLeft, boolean excludeNonLatest ) throws SQLException; /** * Count total number of relationships (rows in relationship table) given a typeName * - * @param context context + * @param session context * @param typeName the relationship typeName to filter by * @return total count * @throws SQLException if database error */ - int countByTypeName(Context context, String typeName) + int countByTypeName(Session session, String typeName) throws SQLException; /** * This method is used to retrieve relationships that match focusItem * on the one hand and matches list of related items elsewhere. * - * @param context DSpace context object + * @param session DSpace context object * @param focusUUID UUID of Item that will match left side if the param isLeft is true otherwise right side * @param relationshipType Relationship type to filter by * @param items List of UUID that will use to filter other side respect the focusUUID @@ -259,7 +260,7 @@ int countByTypeName(Context context, String typeName) * @return * @throws SQLException If database error */ - List findByItemAndRelationshipTypeAndList(Context context, UUID focusUUID, + List findByItemAndRelationshipTypeAndList(Session session, UUID focusUUID, RelationshipType relationshipType, List items, boolean isLeft, int offset, int limit) throws SQLException; @@ -267,7 +268,7 @@ List findByItemAndRelationshipTypeAndList(Context context, UUID fo * Count total number of relationships that match focusItem * on the one hand and matches list of related items elsewhere. * - * @param context DSpace context object + * @param session DSpace context object * @param focusUUID UUID of Item that will match left side if the param isLeft is true otherwise right side * @param relationshipType Relationship type to filter by * @param items List of UUID that will use to filter other side respect the focusUUID @@ -276,6 +277,6 @@ List findByItemAndRelationshipTypeAndList(Context context, UUID fo * @return * @throws SQLException If database error */ - int countByItemAndRelationshipTypeAndList(Context context, UUID focusUUID, RelationshipType relationshipType, + int countByItemAndRelationshipTypeAndList(Session session, UUID focusUUID, RelationshipType relationshipType, List items, boolean isLeft) throws SQLException; } diff --git a/dspace-api/src/main/java/org/dspace/content/dao/RelationshipTypeDAO.java b/dspace-api/src/main/java/org/dspace/content/dao/RelationshipTypeDAO.java index f374f2cabcc6..1ebaa695d734 100644 --- a/dspace-api/src/main/java/org/dspace/content/dao/RelationshipTypeDAO.java +++ b/dspace-api/src/main/java/org/dspace/content/dao/RelationshipTypeDAO.java @@ -12,8 +12,8 @@ import org.dspace.content.EntityType; import org.dspace.content.RelationshipType; -import org.dspace.core.Context; import org.dspace.core.GenericDAO; +import org.hibernate.Session; /** * Database Access Object Interface class for the RelationshipType object @@ -26,7 +26,7 @@ public interface RelationshipTypeDAO extends GenericDAO { /** * This method is used to retrieve the RelationshipType object that has the same * leftType, rightType, leftwardType and rightwardType as given in the parameters - * @param context The relevant DSpace context + * @param session The current request's database context. * @param leftType The leftType EntityType object to be matched in the query * @param rightType The rightType EntityType object to be matched in the query * @param leftwardType The leftwardType String to be matched in the query @@ -34,7 +34,7 @@ public interface RelationshipTypeDAO extends GenericDAO { * @return The RelationshipType object that matches all the given parameters * @throws SQLException If something goes wrong */ - RelationshipType findbyTypesAndTypeName(Context context, EntityType leftType,EntityType rightType, + RelationshipType findbyTypesAndTypeName(Session session, EntityType leftType,EntityType rightType, String leftwardType, String rightwardType) throws SQLException; @@ -42,43 +42,43 @@ RelationshipType findbyTypesAndTypeName(Context context, EntityType leftType,Ent /** * This method will return a list of RelationshipType objects for which the given label is equal to * either the leftwardType or rightwardType. - * @param context The relevant DSpace context + * @param session The current request's database context. * @param type The label that will be used to check on * @return A list of RelationshipType objects that have the given label as either the leftwardType * or rightwardType * @throws SQLException If something goes wrong */ - List findByLeftwardOrRightwardTypeName(Context context, String type) throws SQLException; + List findByLeftwardOrRightwardTypeName(Session session, String type) throws SQLException; /** * This method will return a list of RelationshipType objects for which the given label is equal to * either the leftLabel or rightLabel. - * @param context The relevant DSpace context + * @param session The current request's database context. * @param type The label that will be used to check on * @param limit paging limit * @param offset paging offset * @return A list of RelationshipType objects that have the given label as either the leftLabel or rightLabel * @throws SQLException If something goes wrong */ - List findByLeftwardOrRightwardTypeName(Context context, String type, Integer limit, + List findByLeftwardOrRightwardTypeName(Session session, String type, Integer limit, Integer offset) throws SQLException; /** * This method will return a list of RelationshipType objects for which the given EntityType object is equal * to the leftType or rightType - * @param context The relevant DSpace context + * @param session The current request's database context. * @param entityType The EntityType object that will be used to check on * @return The list of RelationshipType objects that have the given EntityType object * as either a leftType or rightType * @throws SQLException If something goes wrong */ - List findByEntityType(Context context, EntityType entityType) throws SQLException; + List findByEntityType(Session session, EntityType entityType) throws SQLException; /** * This method will return a list of RelationshipType objects for which the given EntityType object is equal * to the leftType or rightType - * @param context The relevant DSpace context + * @param session The current request's database context. * @param entityType The EntityType object that will be used to check on * @param limit paging limit * @param offset paging offset @@ -86,13 +86,13 @@ List findByLeftwardOrRightwardTypeName(Context context, String * as either a leftType or rightType * @throws SQLException If something goes wrong */ - List findByEntityType(Context context, EntityType entityType, Integer limit, Integer offset) + List findByEntityType(Session session, EntityType entityType, Integer limit, Integer offset) throws SQLException; /** * This method will return a list of RelationshipType objects for which the given EntityType object is equal * to the leftType or rightType - * @param context The relevant DSpace context + * @param session The current request's database context. * @param entityType The EntityType object that will be used to check on * @param isLeft Boolean value used to filter by left_type or right_type. If true left_type results only * else right_type results. @@ -100,14 +100,14 @@ List findByEntityType(Context context, EntityType entityType, * as either a leftType or rightType * @throws SQLException If something goes wrong */ - List findByEntityType(Context context, EntityType entityType, Boolean isLeft) + List findByEntityType(Session session, EntityType entityType, Boolean isLeft) throws SQLException; /** * This method will return a list of RelationshipType objects for which the given EntityType object is equal * to the leftType or rightType - * @param context The relevant DSpace context + * @param session The current request's database context. * @param entityType The EntityType object that will be used to check on * @param isLeft Boolean value used to filter by left_type or right_type. If true left_type results only * else right_type results. @@ -117,19 +117,19 @@ List findByEntityType(Context context, EntityType entityType, * as either a leftType or rightType * @throws SQLException If something goes wrong */ - List findByEntityType(Context context, EntityType entityType, Boolean isLeft, + List findByEntityType(Session session, EntityType entityType, Boolean isLeft, Integer limit, Integer offset) throws SQLException; /** * Count all RelationshipType objects for which the given EntityType * is equal to either the leftType or the rightType - * - * @param context DSpace context object + * + * @param session DSpace context object * @param entityType The EntityType object used to check the leftType and rightType properties * @return Total RelationshipType objects * @throws SQLException If database error */ - public int countByEntityType(Context context, EntityType entityType) throws SQLException; + public int countByEntityType(Session session, EntityType entityType) throws SQLException; } diff --git a/dspace-api/src/main/java/org/dspace/content/dao/SiteDAO.java b/dspace-api/src/main/java/org/dspace/content/dao/SiteDAO.java index ba45b244c462..6b11ce5044df 100644 --- a/dspace-api/src/main/java/org/dspace/content/dao/SiteDAO.java +++ b/dspace-api/src/main/java/org/dspace/content/dao/SiteDAO.java @@ -10,7 +10,7 @@ import java.sql.SQLException; import org.dspace.content.Site; -import org.dspace.core.Context; +import org.hibernate.Session; /** * Database Access Object interface class for the Site object. @@ -21,5 +21,5 @@ */ public interface SiteDAO extends DSpaceObjectDAO { - public Site findSite(Context context) throws SQLException; + public Site findSite(Session session) throws SQLException; } diff --git a/dspace-api/src/main/java/org/dspace/content/dao/WorkspaceItemDAO.java b/dspace-api/src/main/java/org/dspace/content/dao/WorkspaceItemDAO.java index 900858b72869..80b825114826 100644 --- a/dspace-api/src/main/java/org/dspace/content/dao/WorkspaceItemDAO.java +++ b/dspace-api/src/main/java/org/dspace/content/dao/WorkspaceItemDAO.java @@ -14,37 +14,38 @@ import org.dspace.content.Collection; import org.dspace.content.Item; import org.dspace.content.WorkspaceItem; -import org.dspace.core.Context; import org.dspace.core.GenericDAO; import org.dspace.eperson.EPerson; +import org.hibernate.Session; /** * Database Access Object interface class for the WorkspaceItem object. - * The implementation of this class is responsible for all database calls for the WorkspaceItem object and is - * autowired by spring - * This class should only be accessed from a single service and should never be exposed outside of the API + * The implementation of this class is responsible for all database calls for + * the WorkspaceItem object and is autowired by Spring. + * This class should only be accessed from a single service and should never be + * exposed outside of the API. * * @author kevinvandevelde at atmire.com */ public interface WorkspaceItemDAO extends GenericDAO { - public List findByEPerson(Context context, EPerson ep) throws SQLException; + public List findByEPerson(Session session, EPerson ep) throws SQLException; - public List findByEPerson(Context context, EPerson ep, Integer limit, Integer offset) + public List findByEPerson(Session session, EPerson ep, Integer limit, Integer offset) throws SQLException; - public List findByCollection(Context context, Collection c) throws SQLException; + public List findByCollection(Session session, Collection c) throws SQLException; - public WorkspaceItem findByItem(Context context, Item i) throws SQLException; + public WorkspaceItem findByItem(Session session, Item i) throws SQLException; - public List findAll(Context context) throws SQLException; + public List findAll(Session session) throws SQLException; - public List findAll(Context context, Integer limit, Integer offset) throws SQLException; + public List findAll(Session session, Integer limit, Integer offset) throws SQLException; - int countRows(Context context) throws SQLException; + int countRows(Session session) throws SQLException; - List> getStageReachedCounts(Context context) throws SQLException; + List> getStageReachedCounts(Session session) throws SQLException; - public int countRows(Context context, EPerson ep) throws SQLException; + public int countRows(Session session, EPerson ep) throws SQLException; } diff --git a/dspace-api/src/main/java/org/dspace/content/dao/impl/BitstreamDAOImpl.java b/dspace-api/src/main/java/org/dspace/content/dao/impl/BitstreamDAOImpl.java index d6d77fe7f0c7..5453258a5846 100644 --- a/dspace-api/src/main/java/org/dspace/content/dao/impl/BitstreamDAOImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/dao/impl/BitstreamDAOImpl.java @@ -25,7 +25,7 @@ import org.dspace.content.dao.BitstreamDAO; import org.dspace.core.AbstractHibernateDSODAO; import org.dspace.core.Constants; -import org.dspace.core.Context; +import org.hibernate.Session; /** * Hibernate implementation of the Database Access Object interface class for the Bitstream object. @@ -41,20 +41,20 @@ protected BitstreamDAOImpl() { } @Override - public List findDeletedBitstreams(Context context, int limit, int offset) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + public List findDeletedBitstreams(Session session, int limit, int offset) throws SQLException { + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, Bitstream.class); Root bitstreamRoot = criteriaQuery.from(Bitstream.class); criteriaQuery.select(bitstreamRoot); criteriaQuery.orderBy(criteriaBuilder.desc(bitstreamRoot.get(Bitstream_.ID))); criteriaQuery.where(criteriaBuilder.equal(bitstreamRoot.get(Bitstream_.deleted), true)); - return list(context, criteriaQuery, false, Bitstream.class, limit, offset); + return list(session, criteriaQuery, false, Bitstream.class, limit, offset); } @Override - public List findDuplicateInternalIdentifier(Context context, Bitstream bitstream) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + public List findDuplicateInternalIdentifier(Session session, Bitstream bitstream) throws SQLException { + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, Bitstream.class); Root bitstreamRoot = criteriaQuery.from(Bitstream.class); criteriaQuery.select(bitstreamRoot); @@ -63,20 +63,20 @@ public List findDuplicateInternalIdentifier(Context context, Bitstrea criteriaBuilder.notEqual(bitstreamRoot.get(Bitstream_.id), bitstream.getID()) ) ); - return list(context, criteriaQuery, false, Bitstream.class, -1, -1); + return list(session, criteriaQuery, false, Bitstream.class, -1, -1); } @Override - public List findBitstreamsWithNoRecentChecksum(Context context) throws SQLException { - Query query = createQuery(context, + public List findBitstreamsWithNoRecentChecksum(Session session) throws SQLException { + Query query = createQuery(session, "select b from Bitstream b where b not in (select c.bitstream from " + "MostRecentChecksum c)"); return query.getResultList(); } @Override - public Iterator findByCommunity(Context context, Community community) throws SQLException { - Query query = createQuery(context, "select b from Bitstream b " + + public Iterator findByCommunity(Session session, Community community) throws SQLException { + Query query = createQuery(session, "select b from Bitstream b " + "join b.bundles bitBundles " + "join bitBundles.items item " + "join item.collections itemColl " + @@ -89,8 +89,8 @@ public Iterator findByCommunity(Context context, Community community) } @Override - public Iterator findByCollection(Context context, Collection collection) throws SQLException { - Query query = createQuery(context, "select b from Bitstream b " + + public Iterator findByCollection(Session session, Collection collection) throws SQLException { + Query query = createQuery(session, "select b from Bitstream b " + "join b.bundles bitBundles " + "join bitBundles.items item " + "join item.collections c " + @@ -102,8 +102,8 @@ public Iterator findByCollection(Context context, Collection collecti } @Override - public Iterator findByItem(Context context, Item item) throws SQLException { - Query query = createQuery(context, "select b from Bitstream b " + + public Iterator findByItem(Session session, Item item) throws SQLException { + Query query = createQuery(session, "select b from Bitstream b " + "join b.bundles bitBundles " + "join bitBundles.items item " + "WHERE :item IN item"); @@ -114,37 +114,37 @@ public Iterator findByItem(Context context, Item item) throws SQLExce } @Override - public Iterator findByStoreNumber(Context context, Integer storeNumber) throws SQLException { - Query query = createQuery(context, "select b from Bitstream b where b.storeNumber = :storeNumber"); + public Iterator findByStoreNumber(Session session, Integer storeNumber) throws SQLException { + Query query = createQuery(session, "select b from Bitstream b where b.storeNumber = :storeNumber"); query.setParameter("storeNumber", storeNumber); return iterate(query); } @Override - public Long countByStoreNumber(Context context, Integer storeNumber) throws SQLException { + public Long countByStoreNumber(Session session, Integer storeNumber) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = criteriaBuilder.createQuery(Long.class); Root bitstreamRoot = criteriaQuery.from(Bitstream.class); criteriaQuery.where(criteriaBuilder.equal(bitstreamRoot.get(Bitstream_.storeNumber), storeNumber)); - return countLong(context, criteriaQuery, criteriaBuilder, bitstreamRoot); + return countLong(session, criteriaQuery, criteriaBuilder, bitstreamRoot); } @Override - public int countRows(Context context) throws SQLException { - return count(createQuery(context, "SELECT count(*) from Bitstream")); + public int countRows(Session session) throws SQLException { + return count(createQuery(session, "SELECT count(*) from Bitstream")); } @Override - public int countDeleted(Context context) throws SQLException { - return count(createQuery(context, "SELECT count(*) FROM Bitstream b WHERE b.deleted=true")); + public int countDeleted(Session session) throws SQLException { + return count(createQuery(session, "SELECT count(*) FROM Bitstream b WHERE b.deleted=true")); } @Override - public int countWithNoPolicy(Context context) throws SQLException { - Query query = createQuery(context, + public int countWithNoPolicy(Session session) throws SQLException { + Query query = createQuery(session, "SELECT count(bit.id) from Bitstream bit where bit.deleted<>true and bit.id not in" + " (select res.dSpaceObject from ResourcePolicy res where res.resourceTypeId = " + ":typeId )"); @@ -153,8 +153,8 @@ public int countWithNoPolicy(Context context) throws SQLException { } @Override - public List getNotReferencedBitstreams(Context context) throws SQLException { - return list(createQuery(context, "select bit from Bitstream bit where bit.deleted != true" + + public List getNotReferencedBitstreams(Session session) throws SQLException { + return list(createQuery(session, "select bit from Bitstream bit where bit.deleted != true" + " and bit.id not in (select bit2.id from Bundle bun join bun.bitstreams bit2)" + " and bit.id not in (select com.logo.id from Community com)" + " and bit.id not in (select col.logo.id from Collection col)" + @@ -162,9 +162,8 @@ public List getNotReferencedBitstreams(Context context) throws SQLExc } @Override - public Iterator findAll(Context context, int limit, int offset) throws SQLException { + public Iterator findAll(Session session, int limit, int offset) throws SQLException { Map map = new HashMap<>(); - return findByX(context, Bitstream.class, map, true, limit, offset).iterator(); - + return findByX(session, Bitstream.class, map, true, limit, offset).iterator(); } } diff --git a/dspace-api/src/main/java/org/dspace/content/dao/impl/BitstreamFormatDAOImpl.java b/dspace-api/src/main/java/org/dspace/content/dao/impl/BitstreamFormatDAOImpl.java index 4d9283bbec4d..9ac25ddca300 100644 --- a/dspace-api/src/main/java/org/dspace/content/dao/impl/BitstreamFormatDAOImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/dao/impl/BitstreamFormatDAOImpl.java @@ -19,7 +19,7 @@ import org.dspace.content.BitstreamFormat_; import org.dspace.content.dao.BitstreamFormatDAO; import org.dspace.core.AbstractHibernateDAO; -import org.dspace.core.Context; +import org.hibernate.Session; /** * Hibernate implementation of the Database Access Object interface class for the BitstreamFormat object. @@ -39,8 +39,8 @@ protected BitstreamFormatDAOImpl() { * If more than one bitstream format has the same MIME type, the * one returned is unpredictable. * - * @param context - * DSpace context object + * @param session + * The current request's database context. * @param mimeType * MIME type value * @param includeInternal whether to include internal mimetypes @@ -50,11 +50,11 @@ protected BitstreamFormatDAOImpl() { * @throws SQLException if database error */ @Override - public BitstreamFormat findByMIMEType(Context context, String mimeType, boolean includeInternal) + public BitstreamFormat findByMIMEType(Session session, String mimeType, boolean includeInternal) throws SQLException { // NOTE: Avoid internal formats since e.g. "License" also has // a MIMEtype of text/plain. - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, BitstreamFormat.class); Root bitstreamFormatRoot = criteriaQuery.from(BitstreamFormat.class); criteriaQuery.select(bitstreamFormatRoot); @@ -63,14 +63,14 @@ public BitstreamFormat findByMIMEType(Context context, String mimeType, boolean criteriaBuilder.like(bitstreamFormatRoot.get(BitstreamFormat_.mimetype), mimeType) ) ); - return singleResult(context, criteriaQuery); + return singleResult(session, criteriaQuery); } /** * Find a bitstream format by its (unique) short description * - * @param context - * DSpace context object + * @param session + * The current request's database context. * @param desc * the short description * @@ -79,21 +79,21 @@ public BitstreamFormat findByMIMEType(Context context, String mimeType, boolean * @throws SQLException if database error */ @Override - public BitstreamFormat findByShortDescription(Context context, + public BitstreamFormat findByShortDescription(Session session, String desc) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, BitstreamFormat.class); Root bitstreamFormatRoot = criteriaQuery.from(BitstreamFormat.class); criteriaQuery.select(bitstreamFormatRoot); criteriaQuery.where(criteriaBuilder.equal(bitstreamFormatRoot.get(BitstreamFormat_.shortDescription), desc)); - return uniqueResult(context, criteriaQuery, false, BitstreamFormat.class); + return uniqueResult(session, criteriaQuery, false, BitstreamFormat.class); } @Override - public int updateRemovedBitstreamFormat(Context context, BitstreamFormat deletedBitstreamFormat, + public int updateRemovedBitstreamFormat(Session session, BitstreamFormat deletedBitstreamFormat, BitstreamFormat newBitstreamFormat) throws SQLException { // Set bitstreams with this format to "unknown" - Query query = createQuery(context, + Query query = createQuery(session, "update Bitstream set bitstreamFormat = :unknown_format where bitstreamFormat = " + ":deleted_format"); query.setParameter("unknown_format", newBitstreamFormat); @@ -103,9 +103,9 @@ public int updateRemovedBitstreamFormat(Context context, BitstreamFormat deleted } @Override - public List findNonInternal(Context context) throws SQLException { + public List findNonInternal(Session session) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, BitstreamFormat.class); Root bitstreamFormatRoot = criteriaQuery.from(BitstreamFormat.class); criteriaQuery.select(bitstreamFormatRoot); @@ -125,23 +125,23 @@ public List findNonInternal(Context context) throws SQLExceptio criteriaQuery.orderBy(orderList); - return list(context, criteriaQuery, false, BitstreamFormat.class, -1, -1); + return list(session, criteriaQuery, false, BitstreamFormat.class, -1, -1); } @Override - public List findByFileExtension(Context context, String extension) throws SQLException { + public List findByFileExtension(Session session, String extension) throws SQLException { - Query query = createQuery(context, "from BitstreamFormat bf where :extension in elements(bf.fileExtensions)"); + Query query = createQuery(session, "from BitstreamFormat bf where :extension in elements(bf.fileExtensions)"); query.setParameter("extension", extension); return list(query); } @Override - public List findAll(Context context, Class clazz) throws SQLException { + public List findAll(Session session, Class clazz) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, BitstreamFormat.class); Root bitstreamFormatRoot = criteriaQuery.from(BitstreamFormat.class); criteriaQuery.select(bitstreamFormatRoot); @@ -150,7 +150,7 @@ public List findAll(Context context, Class clazz) throws SQLExc orderList.add(criteriaBuilder.asc(bitstreamFormatRoot.get(BitstreamFormat_.id))); criteriaQuery.orderBy(orderList); - return list(context, criteriaQuery, false, BitstreamFormat.class, -1, -1); + return list(session, criteriaQuery, false, BitstreamFormat.class, -1, -1); } } diff --git a/dspace-api/src/main/java/org/dspace/content/dao/impl/BundleDAOImpl.java b/dspace-api/src/main/java/org/dspace/content/dao/impl/BundleDAOImpl.java index 991636108495..6f3985480501 100644 --- a/dspace-api/src/main/java/org/dspace/content/dao/impl/BundleDAOImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/dao/impl/BundleDAOImpl.java @@ -12,7 +12,7 @@ import org.dspace.content.Bundle; import org.dspace.content.dao.BundleDAO; import org.dspace.core.AbstractHibernateDSODAO; -import org.dspace.core.Context; +import org.hibernate.Session; /** * Hibernate implementation of the Database Access Object interface class for the Bundle object. @@ -28,7 +28,7 @@ protected BundleDAOImpl() { @Override - public int countRows(Context context) throws SQLException { - return count(createQuery(context, "SELECT count(*) from Bundle")); + public int countRows(Session session) throws SQLException { + return count(createQuery(session, "SELECT count(*) from Bundle")); } } diff --git a/dspace-api/src/main/java/org/dspace/content/dao/impl/CollectionDAOImpl.java b/dspace-api/src/main/java/org/dspace/content/dao/impl/CollectionDAOImpl.java index c0ef6ea42fce..c9f36878224b 100644 --- a/dspace-api/src/main/java/org/dspace/content/dao/impl/CollectionDAOImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/dao/impl/CollectionDAOImpl.java @@ -28,9 +28,9 @@ import org.dspace.content.dao.CollectionDAO; import org.dspace.core.AbstractHibernateDSODAO; import org.dspace.core.Constants; -import org.dspace.core.Context; import org.dspace.eperson.EPerson; import org.dspace.eperson.Group; +import org.hibernate.Session; /** * Hibernate implementation of the Database Access Object interface class for the Collection object. @@ -48,19 +48,19 @@ protected CollectionDAOImpl() { * Get all collections in the system. These are alphabetically sorted by * collection name. * - * @param context - * DSpace context object + * @param session + * The current request's database context. * @param order order by MetadataField * @return the collections in the system * @throws SQLException if database error */ @Override - public List findAll(Context context, MetadataField order) throws SQLException { - return findAll(context, order, null, null); + public List findAll(Session session, MetadataField order) throws SQLException { + return findAll(session, order, null, null); } @Override - public List findAll(Context context, MetadataField order, Integer limit, Integer offset) + public List findAll(Session session, MetadataField order, Integer limit, Integer offset) throws SQLException { StringBuilder query = new StringBuilder(); @@ -77,7 +77,7 @@ public List findAll(Context context, MetadataField order, Integer li "where internal.metadataField = :sortField and" + " internal.dSpaceObject = c.id)" + " ORDER BY LOWER(title.value)"); - Query hibernateQuery = createQuery(context, query.toString()); + Query hibernateQuery = createQuery(session, query.toString()); if (offset != null) { hibernateQuery.setFirstResult(offset); } @@ -89,18 +89,18 @@ public List findAll(Context context, MetadataField order, Integer li } @Override - public Collection findByTemplateItem(Context context, Item item) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + public Collection findByTemplateItem(Session session, Item item) throws SQLException { + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, Collection.class); Root collectionRoot = criteriaQuery.from(Collection.class); criteriaQuery.select(collectionRoot); criteriaQuery.where(criteriaBuilder.equal(collectionRoot.get(Collection_.template), item)); - return uniqueResult(context, criteriaQuery, false, Collection.class); + return uniqueResult(session, criteriaQuery, false, Collection.class); } @Override - public Collection findByGroup(Context context, Group group) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + public Collection findByGroup(Session session, Group group) throws SQLException { + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, Collection.class); Root collectionRoot = criteriaQuery.from(Collection.class); criteriaQuery.select(collectionRoot); @@ -109,13 +109,13 @@ public Collection findByGroup(Context context, Group group) throws SQLException criteriaBuilder.equal(collectionRoot.get(Collection_.admins), group) ) ); - return singleResult(context, criteriaQuery); + return singleResult(session, criteriaQuery); } @Override - public List findAuthorized(Context context, EPerson ePerson, List actions) + public List findAuthorized(Session session, EPerson ePerson, List actions) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, Collection.class); Root collectionRoot = criteriaQuery.from(Collection.class); Join join = collectionRoot.join("resourcePolicies"); @@ -129,11 +129,11 @@ public List findAuthorized(Context context, EPerson ePerson, List findAuthorizedByGroup(Context context, EPerson ePerson, List actions) + public List findAuthorizedByGroup(Session session, EPerson ePerson, List actions) throws SQLException { StringBuilder query = new StringBuilder(); query.append("select c from Collection c join c.resourcePolicies rp join rp.epersonGroup rpGroup WHERE "); @@ -148,7 +148,7 @@ public List findAuthorizedByGroup(Context context, EPerson ePerson, query.append( " AND rp.epersonGroup.id IN (select g.id from Group g where (from EPerson e where e.id = :eperson_id) in " + "elements(epeople))"); - Query persistenceQuery = createQuery(context, query.toString()); + Query persistenceQuery = createQuery(session, query.toString()); persistenceQuery.setParameter("eperson_id", ePerson.getID()); persistenceQuery.setHint("org.hibernate.cacheable", Boolean.TRUE); @@ -158,22 +158,22 @@ public List findAuthorizedByGroup(Context context, EPerson ePerson, } @Override - public List findCollectionsWithSubscribers(Context context) throws SQLException { - return list(createQuery(context, "SELECT DISTINCT col FROM Subscription s join s.collection col")); + public List findCollectionsWithSubscribers(Session session) throws SQLException { + return list(createQuery(session, "SELECT DISTINCT col FROM Subscription s join s.collection col")); } @Override - public int countRows(Context context) throws SQLException { - return count(createQuery(context, "SELECT count(*) FROM Collection")); + public int countRows(Session session) throws SQLException { + return count(createQuery(session, "SELECT count(*) FROM Collection")); } @Override @SuppressWarnings("unchecked") - public List> getCollectionsWithBitstreamSizesTotal(Context context) + public List> getCollectionsWithBitstreamSizesTotal(Session session) throws SQLException { String q = "select col as collection, sum(bit.sizeBytes) as totalBytes from Item i join i.collections col " + "join i.bundles bun join bun.bitstreams bit group by col"; - Query query = createQuery(context, q); + Query query = createQuery(session, q); List list = query.getResultList(); List> returnList = new ArrayList<>(list.size()); diff --git a/dspace-api/src/main/java/org/dspace/content/dao/impl/CommunityDAOImpl.java b/dspace-api/src/main/java/org/dspace/content/dao/impl/CommunityDAOImpl.java index 7a3750485151..9ed1eb57c8d0 100644 --- a/dspace-api/src/main/java/org/dspace/content/dao/impl/CommunityDAOImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/dao/impl/CommunityDAOImpl.java @@ -25,9 +25,9 @@ import org.dspace.content.dao.CommunityDAO; import org.dspace.core.AbstractHibernateDSODAO; import org.dspace.core.Constants; -import org.dspace.core.Context; import org.dspace.eperson.EPerson; import org.dspace.eperson.Group; +import org.hibernate.Session; /** * Hibernate implementation of the Database Access Object interface class for the Community object. @@ -45,19 +45,19 @@ protected CommunityDAOImpl() { * Get a list of all communities in the system. These are alphabetically * sorted by community name. * - * @param context DSpace context object + * @param session current request's database context * @param sortField sort field * * @return the communities in the system * @throws SQLException if database error */ @Override - public List findAll(Context context, MetadataField sortField) throws SQLException { - return findAll(context, sortField, null, null); + public List findAll(Session session, MetadataField sortField) throws SQLException { + return findAll(session, sortField, null, null); } @Override - public List findAll(Context context, MetadataField sortField, Integer limit, Integer offset) + public List findAll(Session session, MetadataField sortField, Integer limit, Integer offset) throws SQLException { StringBuilder queryBuilder = new StringBuilder(); @@ -74,7 +74,7 @@ public List findAll(Context context, MetadataField sortField, Integer "where internal.metadataField = :sortField and" + " internal.dSpaceObject = c.id)" + " ORDER BY LOWER(title.value)"); - Query query = createQuery(context, queryBuilder.toString()); + Query query = createQuery(session, queryBuilder.toString()); if (offset != null) { query.setFirstResult(offset); } @@ -87,17 +87,17 @@ public List findAll(Context context, MetadataField sortField, Integer } @Override - public Community findByAdminGroup(Context context, Group group) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + public Community findByAdminGroup(Session session, Group group) throws SQLException { + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, Community.class); Root communityRoot = criteriaQuery.from(Community.class); criteriaQuery.select(communityRoot); criteriaQuery.where(criteriaBuilder.equal(communityRoot.get(Community_.admins), group)); - return singleResult(context, criteriaQuery); + return singleResult(session, criteriaQuery); } @Override - public List findAllNoParent(Context context, MetadataField sortField) throws SQLException { + public List findAllNoParent(Session session, MetadataField sortField) throws SQLException { StringBuilder queryBuilder = new StringBuilder(); // The query has to be rather complex because we want to sort the retrieval of Communities based on the title @@ -115,15 +115,15 @@ public List findAllNoParent(Context context, MetadataField sortField) " internal.dSpaceObject = c.id)" + " WHERE c.parentCommunities IS EMPTY " + " ORDER BY LOWER(title.value)"); - Query query = createQuery(context, queryBuilder.toString()); + Query query = createQuery(session, queryBuilder.toString()); query.setParameter("sortField", sortField); query.setHint("org.hibernate.cacheable", Boolean.TRUE); - return findMany(context, query); + return findMany(session, query); } @Override - public List findAuthorized(Context context, EPerson ePerson, List actions) throws SQLException { + public List findAuthorized(Session session, EPerson ePerson, List actions) throws SQLException { /*TableRowIterator tri = DatabaseManager.query(context, "SELECT \n" + @@ -145,11 +145,11 @@ public List findAuthorized(Context context, EPerson ePerson, List communityRoot = criteriaQuery.from(Community.class); Join join = communityRoot.join("resourcePolicies"); - List orPredicates = new LinkedList(); + List orPredicates = new LinkedList<>(); for (Integer action : actions) { orPredicates.add(criteriaBuilder.equal(join.get(ResourcePolicy_.actionId), action)); } @@ -161,11 +161,11 @@ public List findAuthorized(Context context, EPerson ePerson, List findAuthorizedByGroup(Context context, EPerson ePerson, List actions) + public List findAuthorizedByGroup(Session session, EPerson ePerson, List actions) throws SQLException { StringBuilder query = new StringBuilder(); query.append("select c from Community c join c.resourcePolicies rp join rp.epersonGroup rpGroup WHERE "); @@ -180,7 +180,7 @@ public List findAuthorizedByGroup(Context context, EPerson ePerson, L query.append( " AND rp.epersonGroup.id IN (select g.id from Group g where (from EPerson e where e.id = :eperson_id) in " + "elements(epeople))"); - Query persistenceQuery = createQuery(context, query.toString()); + Query persistenceQuery = createQuery(session, query.toString()); persistenceQuery.setParameter("eperson_id", ePerson.getID()); persistenceQuery.setHint("org.hibernate.cacheable", Boolean.TRUE); @@ -189,7 +189,7 @@ public List findAuthorizedByGroup(Context context, EPerson ePerson, L } @Override - public int countRows(Context context) throws SQLException { - return count(createQuery(context, "SELECT count(*) FROM Community")); + public int countRows(Session session) throws SQLException { + return count(createQuery(session, "SELECT count(*) FROM Community")); } } diff --git a/dspace-api/src/main/java/org/dspace/content/dao/impl/EntityTypeDAOImpl.java b/dspace-api/src/main/java/org/dspace/content/dao/impl/EntityTypeDAOImpl.java index 489f4cd0667d..9e85222e46f1 100644 --- a/dspace-api/src/main/java/org/dspace/content/dao/impl/EntityTypeDAOImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/dao/impl/EntityTypeDAOImpl.java @@ -19,7 +19,7 @@ import org.dspace.content.EntityType_; import org.dspace.content.dao.EntityTypeDAO; import org.dspace.core.AbstractHibernateDAO; -import org.dspace.core.Context; +import org.hibernate.Session; /** * Hibernate implementation of the Database Access Object interface class for @@ -33,37 +33,36 @@ public class EntityTypeDAOImpl extends AbstractHibernateDAO implements EntityTypeDAO { @Override - public EntityType findByEntityType(Context context, String entityType) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + public EntityType findByEntityType(Session session, String entityType) throws SQLException { + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, EntityType.class); Root entityTypeRoot = criteriaQuery.from(EntityType.class); criteriaQuery.select(entityTypeRoot); criteriaQuery.where(criteriaBuilder.equal(criteriaBuilder.upper(entityTypeRoot.get(EntityType_.label)), entityType.toUpperCase())); - return uniqueResult(context, criteriaQuery, true, EntityType.class); + return uniqueResult(session, criteriaQuery, true, EntityType.class); } @Override - public List getEntityTypesByNames(Context context, List names, Integer limit, Integer offset) + public List getEntityTypesByNames(Session session, List names, Integer limit, Integer offset) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, EntityType.class); Root entityTypeRoot = criteriaQuery.from(EntityType.class); List orderList = new LinkedList<>(); orderList.add(criteriaBuilder.desc(entityTypeRoot.get(EntityType_.label))); criteriaQuery.select(entityTypeRoot).orderBy(orderList); criteriaQuery.where(entityTypeRoot.get(EntityType_.LABEL).in(names)); - return list(context, criteriaQuery, false, EntityType.class, limit, offset); + return list(session, criteriaQuery, false, EntityType.class, limit, offset); } @Override - public int countEntityTypesByNames(Context context, List names) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + public int countEntityTypesByNames(Session session, List names) throws SQLException { + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, EntityType.class); Root entityTypeRoot = criteriaQuery.from(EntityType.class); criteriaQuery.select(entityTypeRoot); criteriaQuery.where(entityTypeRoot.get(EntityType_.LABEL).in(names)); - return count(context, criteriaQuery, criteriaBuilder, entityTypeRoot); + return count(session, criteriaQuery, criteriaBuilder, entityTypeRoot); } - } diff --git a/dspace-api/src/main/java/org/dspace/content/dao/impl/ItemDAOImpl.java b/dspace-api/src/main/java/org/dspace/content/dao/impl/ItemDAOImpl.java index aad8cf3c50ff..8eeb3db3bad8 100644 --- a/dspace-api/src/main/java/org/dspace/content/dao/impl/ItemDAOImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/dao/impl/ItemDAOImpl.java @@ -27,9 +27,9 @@ import org.dspace.content.MetadataValue; import org.dspace.content.dao.ItemDAO; import org.dspace.core.AbstractHibernateDSODAO; -import org.dspace.core.Context; import org.dspace.eperson.EPerson; import org.hibernate.Criteria; +import org.hibernate.Session; import org.hibernate.criterion.Criterion; import org.hibernate.criterion.DetachedCriteria; import org.hibernate.criterion.Order; @@ -54,15 +54,15 @@ protected ItemDAOImpl() { } @Override - public Iterator findAll(Context context, boolean archived) throws SQLException { - Query query = createQuery(context, "FROM Item WHERE inArchive=:in_archive ORDER BY id"); + public Iterator findAll(Session session, boolean archived) throws SQLException { + Query query = createQuery(session, "FROM Item WHERE inArchive=:in_archive ORDER BY id"); query.setParameter("in_archive", archived); return iterate(query); } @Override - public Iterator findAll(Context context, boolean archived, int limit, int offset) throws SQLException { - Query query = createQuery(context, "FROM Item WHERE inArchive=:in_archive ORDER BY id"); + public Iterator findAll(Session session, boolean archived, int limit, int offset) throws SQLException { + Query query = createQuery(session, "FROM Item WHERE inArchive=:in_archive ORDER BY id"); query.setParameter("in_archive", archived); query.setFirstResult(offset); query.setMaxResults(limit); @@ -71,8 +71,8 @@ public Iterator findAll(Context context, boolean archived, int limit, int @Override - public Iterator findAll(Context context, boolean archived, boolean withdrawn) throws SQLException { - Query query = createQuery(context, + public Iterator findAll(Session session, boolean archived, boolean withdrawn) throws SQLException { + Query query = createQuery(session, "FROM Item WHERE inArchive=:in_archive or withdrawn=:withdrawn ORDER BY id"); query.setParameter("in_archive", archived); query.setParameter("withdrawn", withdrawn); @@ -80,11 +80,11 @@ public Iterator findAll(Context context, boolean archived, boolean withdra } @Override - public Iterator findAllRegularItems(Context context) throws SQLException { + public Iterator findAllRegularItems(Session session) throws SQLException { // NOTE: This query includes archived items, withdrawn items and older versions of items. // It does not include workspace, workflow or template items. Query query = createQuery( - context, + session, "SELECT i FROM Item as i " + "LEFT JOIN Version as v ON i = v.item " + "WHERE i.inArchive=true or i.withdrawn=true or (i.inArchive=false and v.id IS NOT NULL) " + @@ -94,7 +94,7 @@ public Iterator findAllRegularItems(Context context) throws SQLException { } @Override - public Iterator findAll(Context context, boolean archived, + public Iterator findAll(Session session, boolean archived, boolean withdrawn, boolean discoverable, Date lastModified) throws SQLException { StringBuilder queryStr = new StringBuilder(); @@ -107,7 +107,7 @@ public Iterator findAll(Context context, boolean archived, } queryStr.append(" ORDER BY i.id"); - Query query = createQuery(context, queryStr.toString()); + Query query = createQuery(session, queryStr.toString()); query.setParameter("in_archive", archived); query.setParameter("withdrawn", withdrawn); query.setParameter("discoverable", discoverable); @@ -118,8 +118,8 @@ public Iterator findAll(Context context, boolean archived, } @Override - public Iterator findBySubmitter(Context context, EPerson eperson) throws SQLException { - Query query = createQuery(context, + public Iterator findBySubmitter(Session session, EPerson eperson) throws SQLException { + Query query = createQuery(session, "FROM Item WHERE inArchive=:in_archive and submitter=:submitter ORDER BY id"); query.setParameter("in_archive", true); query.setParameter("submitter", eperson); @@ -127,18 +127,18 @@ public Iterator findBySubmitter(Context context, EPerson eperson) throws S } @Override - public Iterator findBySubmitter(Context context, EPerson eperson, boolean retrieveAllItems) + public Iterator findBySubmitter(Session session, EPerson eperson, boolean retrieveAllItems) throws SQLException { if (!retrieveAllItems) { - return findBySubmitter(context, eperson); + return findBySubmitter(session, eperson); } - Query query = createQuery(context, "FROM Item WHERE submitter=:submitter ORDER BY id"); + Query query = createQuery(session, "FROM Item WHERE submitter=:submitter ORDER BY id"); query.setParameter("submitter", eperson); return iterate(query); } @Override - public Iterator findBySubmitter(Context context, EPerson eperson, MetadataField metadataField, int limit) + public Iterator findBySubmitter(Session session, EPerson eperson, MetadataField metadataField, int limit) throws SQLException { StringBuilder query = new StringBuilder(); query.append("SELECT item FROM Item as item "); @@ -148,7 +148,7 @@ public Iterator findBySubmitter(Context context, EPerson eperson, Metadata //submissions should sort in reverse by date by default addMetadataSortQuery(query, Collections.singletonList(metadataField), null, Collections.singletonList("desc")); - Query hibernateQuery = createQuery(context, query.toString()); + Query hibernateQuery = createQuery(session, query.toString()); hibernateQuery.setParameter(metadataField.toString(), metadataField.getID()); hibernateQuery.setParameter("in_archive", true); hibernateQuery.setParameter("submitter", eperson); @@ -157,14 +157,14 @@ public Iterator findBySubmitter(Context context, EPerson eperson, Metadata } @Override - public Iterator findByMetadataField(Context context, MetadataField metadataField, String value, + public Iterator findByMetadataField(Session session, MetadataField metadataField, String value, boolean inArchive) throws SQLException { String hqlQueryString = "SELECT item FROM Item as item join item.metadata metadatavalue " + "WHERE item.inArchive=:in_archive AND metadatavalue.metadataField = :metadata_field"; if (value != null) { hqlQueryString += " AND STR(metadatavalue.value) = :text_value"; } - Query query = createQuery(context, hqlQueryString + " ORDER BY item.id"); + Query query = createQuery(session, hqlQueryString + " ORDER BY item.id"); query.setParameter("in_archive", inArchive); query.setParameter("metadata_field", metadataField); @@ -176,51 +176,61 @@ public Iterator findByMetadataField(Context context, MetadataField metadat enum OP { equals { + @Override public Criterion buildPredicate(String val, String regexClause) { return Property.forName("mv.value").eq(val); } }, not_equals { + @Override public Criterion buildPredicate(String val, String regexClause) { return OP.equals.buildPredicate(val, regexClause); } }, like { + @Override public Criterion buildPredicate(String val, String regexClause) { return Property.forName("mv.value").like(val); } }, not_like { + @Override public Criterion buildPredicate(String val, String regexClause) { return OP.like.buildPredicate(val, regexClause); } }, contains { + @Override public Criterion buildPredicate(String val, String regexClause) { return Property.forName("mv.value").like("%" + val + "%"); } }, doesnt_contain { + @Override public Criterion buildPredicate(String val, String regexClause) { return OP.contains.buildPredicate(val, regexClause); } }, exists { + @Override public Criterion buildPredicate(String val, String regexClause) { return Property.forName("mv.value").isNotNull(); } }, doesnt_exist { + @Override public Criterion buildPredicate(String val, String regexClause) { return OP.exists.buildPredicate(val, regexClause); } }, matches { + @Override public Criterion buildPredicate(String val, String regexClause) { return Restrictions.sqlRestriction(regexClause, val, StandardBasicTypes.STRING); } }, doesnt_match { + @Override public Criterion buildPredicate(String val, String regexClause) { return OP.matches.buildPredicate(val, regexClause); } @@ -231,11 +241,11 @@ public Criterion buildPredicate(String val, String regexClause) { @Override @Deprecated - public Iterator findByMetadataQuery(Context context, List> listFieldList, + public Iterator findByMetadataQuery(Session session, List> listFieldList, List query_op, List query_val, List collectionUuids, String regexClause, int offset, int limit) throws SQLException { - Criteria criteria = getHibernateSession(context).createCriteria(Item.class, "item"); + Criteria criteria = session.createCriteria(Item.class, "item"); criteria.setFirstResult(offset); criteria.setMaxResults(limit); @@ -289,9 +299,9 @@ public Iterator findByMetadataQuery(Context context, List findByAuthorityValue(Context context, MetadataField metadataField, String authority, + public Iterator findByAuthorityValue(Session session, MetadataField metadataField, String authority, boolean inArchive) throws SQLException { - Query query = createQuery(context, + Query query = createQuery(session, "SELECT item FROM Item as item join item.metadata metadatavalue " + "WHERE item.inArchive=:in_archive AND metadatavalue.metadataField = :metadata_field AND " + "metadatavalue.authority = :authority ORDER BY item.id"); @@ -302,9 +312,9 @@ public Iterator findByAuthorityValue(Context context, MetadataField metada } @Override - public Iterator findArchivedByCollection(Context context, Collection collection, Integer limit, + public Iterator findArchivedByCollection(Session session, Collection collection, Integer limit, Integer offset) throws SQLException { - Query query = createQuery(context, + Query query = createQuery(session, "select i from Item i join i.collections c " + "WHERE :collection IN c AND i.inArchive=:in_archive ORDER BY i.id"); query.setParameter("collection", collection); @@ -319,9 +329,9 @@ public Iterator findArchivedByCollection(Context context, Collection colle } @Override - public Iterator findArchivedByCollectionExcludingOwning(Context context, Collection collection, Integer limit, + public Iterator findArchivedByCollectionExcludingOwning(Session session, Collection collection, Integer limit, Integer offset) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, Item.class); Root itemRoot = criteriaQuery.from(Item.class); criteriaQuery.select(itemRoot); @@ -331,12 +341,12 @@ public Iterator findArchivedByCollectionExcludingOwning(Context context, C criteriaBuilder.isTrue(itemRoot.get(Item_.inArchive)))); criteriaQuery.orderBy(criteriaBuilder.asc(itemRoot.get(Item_.id))); criteriaQuery.groupBy(itemRoot.get(Item_.id)); - return list(context, criteriaQuery, false, Item.class, limit, offset).iterator(); + return list(session, criteriaQuery, false, Item.class, limit, offset).iterator(); } @Override - public int countArchivedByCollectionExcludingOwning(Context context, Collection collection) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + public int countArchivedByCollectionExcludingOwning(Session session, Collection collection) throws SQLException { + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, Item.class); Root itemRoot = criteriaQuery.from(Item.class); criteriaQuery.select(itemRoot); @@ -344,12 +354,12 @@ public int countArchivedByCollectionExcludingOwning(Context context, Collection criteriaBuilder.notEqual(itemRoot.get(Item_.owningCollection), collection), criteriaBuilder.isMember(collection, itemRoot.get(Item_.collections)), criteriaBuilder.isTrue(itemRoot.get(Item_.inArchive)))); - return count(context, criteriaQuery, criteriaBuilder, itemRoot); + return count(session, criteriaQuery, criteriaBuilder, itemRoot); } @Override - public Iterator findAllByCollection(Context context, Collection collection) throws SQLException { - Query query = createQuery(context, + public Iterator findAllByCollection(Session session, Collection collection) throws SQLException { + Query query = createQuery(session, "select i from Item i join i.collections c WHERE :collection IN c ORDER BY i.id"); query.setParameter("collection", collection); @@ -357,9 +367,9 @@ public Iterator findAllByCollection(Context context, Collection collection } @Override - public Iterator findAllByCollection(Context context, Collection collection, Integer limit, Integer offset) + public Iterator findAllByCollection(Session session, Collection collection, Integer limit, Integer offset) throws SQLException { - Query query = createQuery(context, + Query query = createQuery(session, "select i from Item i join i.collections c WHERE :collection IN c ORDER BY i.id"); query.setParameter("collection", collection); @@ -374,9 +384,9 @@ public Iterator findAllByCollection(Context context, Collection collection } @Override - public int countItems(Context context, Collection collection, boolean includeArchived, boolean includeWithdrawn) + public int countItems(Session session, Collection collection, boolean includeArchived, boolean includeWithdrawn) throws SQLException { - Query query = createQuery(context, + Query query = createQuery(session, "select count(i) from Item i join i.collections c " + "WHERE :collection IN c AND i.inArchive=:in_archive AND i.withdrawn=:withdrawn"); query.setParameter("collection", collection); @@ -387,12 +397,12 @@ public int countItems(Context context, Collection collection, boolean includeArc } @Override - public int countItems(Context context, List collections, boolean includeArchived, + public int countItems(Session session, List collections, boolean includeArchived, boolean includeWithdrawn) throws SQLException { - if (collections.size() == 0) { + if (collections.isEmpty()) { return 0; } - Query query = createQuery(context, "select count(distinct i) from Item i " + + Query query = createQuery(session, "select count(distinct i) from Item i " + "join i.collections collection " + "WHERE collection IN (:collections) AND i.inArchive=:in_archive AND i.withdrawn=:withdrawn"); query.setParameter("collections", collections); @@ -403,22 +413,22 @@ public int countItems(Context context, List collections, boolean inc } @Override - public Iterator findByLastModifiedSince(Context context, Date since) + public Iterator findByLastModifiedSince(Session session, Date since) throws SQLException { - Query query = createQuery(context, + Query query = createQuery(session, "SELECT i FROM Item i WHERE last_modified > :last_modified ORDER BY id"); query.setParameter("last_modified", since, TemporalType.TIMESTAMP); return iterate(query); } @Override - public int countRows(Context context) throws SQLException { - return count(createQuery(context, "SELECT count(*) FROM Item")); + public int countRows(Session session) throws SQLException { + return count(createQuery(session, "SELECT count(*) FROM Item")); } @Override - public int countItems(Context context, boolean includeArchived, boolean includeWithdrawn) throws SQLException { - Query query = createQuery(context, + public int countItems(Session session, boolean includeArchived, boolean includeWithdrawn) throws SQLException { + Query query = createQuery(session, "SELECT count(*) FROM Item i " + "WHERE i.inArchive=:in_archive AND i.withdrawn=:withdrawn"); query.setParameter("in_archive", includeArchived); @@ -427,15 +437,14 @@ public int countItems(Context context, boolean includeArchived, boolean includeW } @Override - public int countItems(Context context, EPerson submitter, boolean includeArchived, boolean includeWithdrawn) + public int countItems(Session session, EPerson submitter, boolean includeArchived, boolean includeWithdrawn) throws SQLException { - Query query = createQuery(context, + Query query = createQuery(session, "SELECT count(*) FROM Item i join i.submitter submitter " + "WHERE i.inArchive=:in_archive AND i.withdrawn=:withdrawn AND submitter = :submitter"); query.setParameter("submitter", submitter); query.setParameter("in_archive", includeArchived); query.setParameter("withdrawn", includeWithdrawn); return count(query); - } } diff --git a/dspace-api/src/main/java/org/dspace/content/dao/impl/MetadataFieldDAOImpl.java b/dspace-api/src/main/java/org/dspace/content/dao/impl/MetadataFieldDAOImpl.java index e64aaa4dd29f..4cc5b48c9883 100644 --- a/dspace-api/src/main/java/org/dspace/content/dao/impl/MetadataFieldDAOImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/dao/impl/MetadataFieldDAOImpl.java @@ -26,7 +26,6 @@ import org.dspace.content.MetadataSchema_; import org.dspace.content.dao.MetadataFieldDAO; import org.dspace.core.AbstractHibernateDAO; -import org.dspace.core.Context; import org.hibernate.Session; /** @@ -40,32 +39,32 @@ public class MetadataFieldDAOImpl extends AbstractHibernateDAO im /** * log4j logger */ - private static Logger log = org.apache.logging.log4j.LogManager.getLogger(MetadataFieldDAOImpl.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(); /** * Cache for improvement the performance of searching metadata fields * This cache only stores IDs, the actual MetadataField is retrieved from hibernate */ - private static Map cachedFields = new HashMap(); + private static final Map cachedFields = new HashMap(); protected MetadataFieldDAOImpl() { super(); } @Override - public MetadataField find(Context context, int metadataFieldId, MetadataSchema metadataSchema, String element, + public MetadataField find(Session session, int metadataFieldId, MetadataSchema metadataSchema, String element, String qualifier) throws SQLException { Query query; if (qualifier != null) { - query = createQuery(context, "SELECT mf " + + query = createQuery(session, "SELECT mf " + "FROM MetadataField mf " + "JOIN FETCH mf.metadataSchema ms " + "WHERE mf.id != :id " + "AND ms.name = :name AND mf.element = :element " + "AND qualifier = :qualifier"); } else { - query = createQuery(context, "SELECT mf " + + query = createQuery(session, "SELECT mf " + "FROM MetadataField mf " + "JOIN FETCH mf.metadataSchema ms " + "WHERE mf.id != :id " + @@ -86,17 +85,16 @@ public MetadataField find(Context context, int metadataFieldId, MetadataSchema m } @Override - public MetadataField findByElement(Context context, MetadataSchema metadataSchema, String element, String qualifier) + public MetadataField findByElement(Session session, MetadataSchema metadataSchema, String element, String qualifier) throws SQLException { - return findByElement(context, metadataSchema.getName(), element, qualifier); + return findByElement(session, metadataSchema.getName(), element, qualifier); } @Override - public MetadataField findByElement(Context context, String metadataSchema, String element, String qualifier) + public MetadataField findByElement(Session session, String metadataSchema, String element, String qualifier) throws SQLException { String key = metadataSchema + "." + element + "." + qualifier; if (cachedFields.containsKey(key)) { - Session session = getHibernateSession(context); MetadataField metadataField = null; try { metadataField = session.load(MetadataField.class, cachedFields.get(key)); @@ -121,13 +119,13 @@ public MetadataField findByElement(Context context, String metadataSchema, Strin Query query; if (StringUtils.isNotBlank(qualifier)) { - query = createQuery(context, "SELECT mf " + + query = createQuery(session, "SELECT mf " + "FROM MetadataField mf " + "JOIN FETCH mf.metadataSchema ms " + "WHERE ms.name = :name AND mf.element = :element " + "AND qualifier = :qualifier"); } else { - query = createQuery(context, "SELECT mf " + + query = createQuery(session, "SELECT mf " + "FROM MetadataField mf " + "JOIN FETCH mf.metadataSchema ms " + "WHERE ms.name = :name AND mf.element = :element " + @@ -150,9 +148,9 @@ public MetadataField findByElement(Context context, String metadataSchema, Strin } @Override - public List findAll(Context context, Class clazz) throws SQLException { + public List findAll(Session session, Class clazz) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, MetadataField.class); Root metadataFieldRoot = criteriaQuery.from(MetadataField.class); Join join = metadataFieldRoot.join("metadataSchema"); @@ -164,13 +162,13 @@ public List findAll(Context context, Class clazz) orderList.add(criteriaBuilder.asc(metadataFieldRoot.get(MetadataField_.qualifier))); criteriaQuery.orderBy(orderList); - return list(context, criteriaQuery, true, MetadataField.class, -1, -1, false); + return list(session, criteriaQuery, true, MetadataField.class, -1, -1, false); } @Override - public List findFieldsByElementNameUnqualified(Context context, String metadataSchema, + public List findFieldsByElementNameUnqualified(Session session, String metadataSchema, String element) throws SQLException { - Query query = createQuery(context, "SELECT mf " + + Query query = createQuery(session, "SELECT mf " + "FROM MetadataField mf " + "JOIN FETCH mf.metadataSchema ms " + "WHERE ms.name = :name AND mf.element = :element "); @@ -185,9 +183,9 @@ public List findFieldsByElementNameUnqualified(Context context, S @Override - public List findAllInSchema(Context context, MetadataSchema metadataSchema) throws SQLException { + public List findAllInSchema(Session session, MetadataSchema metadataSchema) throws SQLException { - Query query = createQuery(context, "SELECT mf " + + Query query = createQuery(session, "SELECT mf " + "FROM MetadataField mf " + "JOIN FETCH mf.metadataSchema ms " + "WHERE ms.name = :name " + diff --git a/dspace-api/src/main/java/org/dspace/content/dao/impl/MetadataSchemaDAOImpl.java b/dspace-api/src/main/java/org/dspace/content/dao/impl/MetadataSchemaDAOImpl.java index 71eb487b8395..cd441a411ac7 100644 --- a/dspace-api/src/main/java/org/dspace/content/dao/impl/MetadataSchemaDAOImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/dao/impl/MetadataSchemaDAOImpl.java @@ -19,7 +19,7 @@ import org.dspace.content.MetadataSchema_; import org.dspace.content.dao.MetadataSchemaDAO; import org.dspace.core.AbstractHibernateDAO; -import org.dspace.core.Context; +import org.hibernate.Session; /** * Hibernate implementation of the Database Access Object interface class for the MetadataSchema object. @@ -36,15 +36,15 @@ protected MetadataSchemaDAOImpl() { /** * Get the schema object corresponding to this namespace URI. * - * @param context DSpace context + * @param session The current request's database context. * @param namespace namespace URI to match * @return metadata schema object or null if none found. * @throws SQLException if database error */ @Override - public MetadataSchema findByNamespace(Context context, String namespace) throws SQLException { + public MetadataSchema findByNamespace(Session session, String namespace) throws SQLException { // Grab rows from DB - Query query = createQuery(context, + Query query = createQuery(session, "SELECT ms FROM MetadataSchema ms " + "WHERE ms.namespace = :namespace "); @@ -55,10 +55,10 @@ public MetadataSchema findByNamespace(Context context, String namespace) throws } @Override - public List findAll(Context context, Class clazz) throws SQLException { + public List findAll(Session session, Class clazz) throws SQLException { // Get all the metadataschema rows - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, MetadataSchema.class); Root metadataSchemaRoot = criteriaQuery.from(MetadataSchema.class); criteriaQuery.select(metadataSchemaRoot); @@ -67,22 +67,22 @@ public List findAll(Context context, Class clazz) throws SQLExce orderList.add(criteriaBuilder.asc(metadataSchemaRoot.get(MetadataSchema_.id))); criteriaQuery.orderBy(orderList); - return list(context, criteriaQuery, true, MetadataSchema.class, -1, -1); + return list(session, criteriaQuery, true, MetadataSchema.class, -1, -1); } /** * Return true if and only if the passed name appears within the allowed * number of times in the current schema. * - * @param context DSpace context + * @param session The current request's database context. * @param metadataSchemaId schema id * @param namespace namespace URI to match * @return true of false * @throws SQLException if database error */ @Override - public boolean uniqueNamespace(Context context, int metadataSchemaId, String namespace) throws SQLException { - Query query = createQuery(context, + public boolean uniqueNamespace(Session session, int metadataSchemaId, String namespace) throws SQLException { + Query query = createQuery(session, "SELECT ms FROM MetadataSchema ms " + "WHERE ms.namespace = :namespace and ms.id != :id"); @@ -96,15 +96,15 @@ public boolean uniqueNamespace(Context context, int metadataSchemaId, String nam /** * Return true if and only if the passed name is unique. * - * @param context DSpace context + * @param session The current request's database context. * @param metadataSchemaId schema id * @param name short name of schema * @return true of false * @throws SQLException if database error */ @Override - public boolean uniqueShortName(Context context, int metadataSchemaId, String name) throws SQLException { - Query query = createQuery(context, + public boolean uniqueShortName(Session session, int metadataSchemaId, String name) throws SQLException { + Query query = createQuery(session, "SELECT ms FROM MetadataSchema ms " + "WHERE ms.name = :name and ms.id != :id"); @@ -118,7 +118,7 @@ public boolean uniqueShortName(Context context, int metadataSchemaId, String nam /** * Get the schema corresponding with this short name. * - * @param context + * @param session * context, in case we need to read it in from DB * @param shortName * the short name for the schema @@ -126,8 +126,8 @@ public boolean uniqueShortName(Context context, int metadataSchemaId, String nam * @throws SQLException if database error */ @Override - public MetadataSchema find(Context context, String shortName) throws SQLException { - Query query = createQuery(context, + public MetadataSchema find(Session session, String shortName) throws SQLException { + Query query = createQuery(session, "SELECT ms FROM MetadataSchema ms " + "WHERE ms.name = :name"); diff --git a/dspace-api/src/main/java/org/dspace/content/dao/impl/MetadataValueDAOImpl.java b/dspace-api/src/main/java/org/dspace/content/dao/impl/MetadataValueDAOImpl.java index f37ced9ab7d4..5e2c1a6c5773 100644 --- a/dspace-api/src/main/java/org/dspace/content/dao/impl/MetadataValueDAOImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/dao/impl/MetadataValueDAOImpl.java @@ -21,7 +21,7 @@ import org.dspace.content.MetadataValue; import org.dspace.content.dao.MetadataValueDAO; import org.dspace.core.AbstractHibernateDAO; -import org.dspace.core.Context; +import org.hibernate.Session; /** * Hibernate implementation of the Database Access Object interface class for the MetadataValue object. @@ -35,65 +35,63 @@ protected MetadataValueDAOImpl() { super(); } - @Override - public List findByField(Context context, MetadataField metadataField) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + public List findByField(Session session, MetadataField metadataField) throws SQLException { + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, MetadataValue.class); Root metadataValueRoot = criteriaQuery.from(MetadataValue.class); Join join = metadataValueRoot.join("metadataField"); criteriaQuery.select(metadataValueRoot); criteriaQuery.where(criteriaBuilder.equal(join.get(MetadataField_.id), metadataField.getID())); - return list(context, criteriaQuery, false, MetadataValue.class, -1, -1); + return list(session, criteriaQuery, false, MetadataValue.class, -1, -1); } @Override - public Iterator findItemValuesByFieldAndValue(Context context, + public Iterator findItemValuesByFieldAndValue(Session session, MetadataField metadataField, String value) throws SQLException { String queryString = "SELECT m from MetadataValue m " + "join Item i on m.dSpaceObject = i.id where m.metadataField.id = :metadata_field_id " + "and m.value = :text_value"; - Query query = createQuery(context, queryString); + Query query = createQuery(session, queryString); query.setParameter("metadata_field_id", metadataField.getID()); query.setParameter("text_value", value); return iterate(query); } @Override - public Iterator findByValueLike(Context context, String value) throws SQLException { + public Iterator findByValueLike(Session session, String value) throws SQLException { String queryString = "SELECT m FROM MetadataValue m JOIN m.metadataField f " + "WHERE m.value like concat('%', concat(:searchString,'%')) ORDER BY m.id ASC"; - Query query = createQuery(context, queryString); + Query query = createQuery(session, queryString); query.setParameter("searchString", value); return iterate(query); } @Override - public void deleteByMetadataField(Context context, MetadataField metadataField) throws SQLException { + public void deleteByMetadataField(Session session, MetadataField metadataField) throws SQLException { String queryString = "delete from MetadataValue where metadataField= :metadataField"; - Query query = createQuery(context, queryString); + Query query = createQuery(session, queryString); query.setParameter("metadataField", metadataField); query.executeUpdate(); } @Override - public MetadataValue getMinimum(Context context, int metadataFieldId) + public MetadataValue getMinimum(Session session, int metadataFieldId) throws SQLException { String queryString = "SELECT m FROM MetadataValue m JOIN FETCH m.metadataField WHERE m.metadataField.id = " + ":metadata_field_id ORDER BY text_value"; - Query query = createQuery(context, queryString); + Query query = createQuery(session, queryString); query.setParameter("metadata_field_id", metadataFieldId); query.setMaxResults(1); return (MetadataValue) query.getSingleResult(); } @Override - public int countRows(Context context) throws SQLException { - return count(createQuery(context, "SELECT count(*) FROM MetadataValue")); + public int countRows(Session session) throws SQLException { + return count(createQuery(session, "SELECT count(*) FROM MetadataValue")); } - } diff --git a/dspace-api/src/main/java/org/dspace/content/dao/impl/ProcessDAOImpl.java b/dspace-api/src/main/java/org/dspace/content/dao/impl/ProcessDAOImpl.java index d719b5006c14..5434a2019bae 100644 --- a/dspace-api/src/main/java/org/dspace/content/dao/impl/ProcessDAOImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/dao/impl/ProcessDAOImpl.java @@ -23,11 +23,11 @@ import org.dspace.content.ProcessStatus; import org.dspace.content.dao.ProcessDAO; import org.dspace.core.AbstractHibernateDAO; -import org.dspace.core.Context; import org.dspace.eperson.EPerson; import org.dspace.scripts.Process; import org.dspace.scripts.ProcessQueryParameterContainer; import org.dspace.scripts.Process_; +import org.hibernate.Session; /** * @@ -36,69 +36,67 @@ public class ProcessDAOImpl extends AbstractHibernateDAO implements ProcessDAO { @Override - public List findAllSortByScript(Context context) throws SQLException { + public List findAllSortByScript(Session session) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, Process.class); Root processRoot = criteriaQuery.from(Process.class); criteriaQuery.select(processRoot); criteriaQuery.orderBy(criteriaBuilder.asc(processRoot.get(Process_.name))); - return list(context, criteriaQuery, false, Process.class, -1, -1); - + return list(session, criteriaQuery, false, Process.class, -1, -1); } @Override - public List findAllSortByStartTime(Context context) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + public List findAllSortByStartTime(Session session) throws SQLException { + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, Process.class); Root processRoot = criteriaQuery.from(Process.class); criteriaQuery.select(processRoot); criteriaQuery.orderBy(criteriaBuilder.desc(processRoot.get(Process_.startTime)), criteriaBuilder.desc(processRoot.get(Process_.processId))); - return list(context, criteriaQuery, false, Process.class, -1, -1); + return list(session, criteriaQuery, false, Process.class, -1, -1); } @Override - public List findAll(Context context, int limit, int offset) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + public List findAll(Session session, int limit, int offset) throws SQLException { + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, Process.class); Root processRoot = criteriaQuery.from(Process.class); criteriaQuery.select(processRoot); criteriaQuery.orderBy(criteriaBuilder.desc(processRoot.get(Process_.processId))); - return list(context, criteriaQuery, false, Process.class, limit, offset); + return list(session, criteriaQuery, false, Process.class, limit, offset); } @Override - public int countRows(Context context) throws SQLException { + public int countRows(Session session) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, Process.class); Root processRoot = criteriaQuery.from(Process.class); criteriaQuery.select(processRoot); - return count(context, criteriaQuery, criteriaBuilder, processRoot); - + return count(session, criteriaQuery, criteriaBuilder, processRoot); } @Override - public List search(Context context, ProcessQueryParameterContainer processQueryParameterContainer, + public List search(Session session, ProcessQueryParameterContainer processQueryParameterContainer, int limit, int offset) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, Process.class); Root processRoot = criteriaQuery.from(Process.class); criteriaQuery.select(processRoot); handleProcessQueryParameters(processQueryParameterContainer, criteriaBuilder, criteriaQuery, processRoot); - return list(context, criteriaQuery, false, Process.class, limit, offset); - + return list(session, criteriaQuery, false, Process.class, limit, offset); } /** - * This method will ensure that the params contained in the {@link ProcessQueryParameterContainer} are transferred - * to the ProcessRoot and that the correct conditions apply to the query + * This method will ensure that the parameters contained in the + * {@link ProcessQueryParameterContainer} are transferred + * to the ProcessRoot and that the correct conditions apply to the query. * @param processQueryParameterContainer The object containing the conditions that need to be met * @param criteriaBuilder The criteriaBuilder to be used * @param criteriaQuery The criteriaQuery to be used @@ -139,24 +137,23 @@ private void addProcessQueryParameters(ProcessQueryParameterContainer processQue } @Override - public int countTotalWithParameters(Context context, ProcessQueryParameterContainer processQueryParameterContainer) + public int countTotalWithParameters(Session session, ProcessQueryParameterContainer processQueryParameterContainer) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, Process.class); Root processRoot = criteriaQuery.from(Process.class); criteriaQuery.select(processRoot); addProcessQueryParameters(processQueryParameterContainer, criteriaBuilder, criteriaQuery, processRoot); - return count(context, criteriaQuery, criteriaBuilder, processRoot); + return count(session, criteriaQuery, criteriaBuilder, processRoot); } - @Override - public List findByStatusAndCreationTimeOlderThan(Context context, List statuses, + public List findByStatusAndCreationTimeOlderThan(Session session, List statuses, Date date) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, Process.class); Root processRoot = criteriaQuery.from(Process.class); @@ -166,12 +163,12 @@ public List findByStatusAndCreationTimeOlderThan(Context context, List< Predicate statusIn = processRoot.get(Process_.PROCESS_STATUS).in(statuses); criteriaQuery.where(criteriaBuilder.and(creationTimeLessThanGivenDate, statusIn)); - return list(context, criteriaQuery, false, Process.class, -1, -1); + return list(session, criteriaQuery, false, Process.class, -1, -1); } @Override - public List findByUser(Context context, EPerson user, int limit, int offset) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + public List findByUser(Session session, EPerson user, int limit, int offset) throws SQLException { + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, Process.class); Root processRoot = criteriaQuery.from(Process.class); @@ -182,20 +179,19 @@ public List findByUser(Context context, EPerson user, int limit, int of orderList.add(criteriaBuilder.desc(processRoot.get(Process_.PROCESS_ID))); criteriaQuery.orderBy(orderList); - return list(context, criteriaQuery, false, Process.class, limit, offset); + return list(session, criteriaQuery, false, Process.class, limit, offset); } @Override - public int countByUser(Context context, EPerson user) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + public int countByUser(Session session, EPerson user) throws SQLException { + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, Process.class); Root processRoot = criteriaQuery.from(Process.class); criteriaQuery.select(processRoot); criteriaQuery.where(criteriaBuilder.equal(processRoot.get(Process_.E_PERSON), user)); - return count(context, criteriaQuery, criteriaBuilder, processRoot); + return count(session, criteriaQuery, criteriaBuilder, processRoot); } - } diff --git a/dspace-api/src/main/java/org/dspace/content/dao/impl/RelationshipDAOImpl.java b/dspace-api/src/main/java/org/dspace/content/dao/impl/RelationshipDAOImpl.java index e2f84bc1cb64..b082a4956a05 100644 --- a/dspace-api/src/main/java/org/dspace/content/dao/impl/RelationshipDAOImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/dao/impl/RelationshipDAOImpl.java @@ -12,6 +12,7 @@ import java.util.List; import java.util.UUID; import java.util.stream.Collectors; +import javax.inject.Inject; import javax.persistence.Query; import javax.persistence.Tuple; import javax.persistence.criteria.CriteriaBuilder; @@ -26,26 +27,27 @@ import org.dspace.content.RelationshipType_; import org.dspace.content.Relationship_; import org.dspace.content.dao.RelationshipDAO; +import org.dspace.content.dao.RelationshipTypeDAO; import org.dspace.content.dao.pojo.ItemUuidAndRelationshipId; -import org.dspace.content.factory.ContentServiceFactory; -import org.dspace.content.service.RelationshipTypeService; import org.dspace.core.AbstractHibernateDAO; -import org.dspace.core.Context; +import org.hibernate.Session; public class RelationshipDAOImpl extends AbstractHibernateDAO implements RelationshipDAO { + @Inject + RelationshipTypeDAO rtdao; @Override public List findByItem( - Context context, Item item, boolean excludeTilted, boolean excludeNonLatest + Session session, Item item, boolean excludeTilted, boolean excludeNonLatest ) throws SQLException { - return findByItem(context, item, -1, -1, excludeTilted, excludeNonLatest); + return findByItem(session, item, -1, -1, excludeTilted, excludeNonLatest); } @Override public List findByItem( - Context context, Item item, Integer limit, Integer offset, boolean excludeTilted, boolean excludeNonLatest + Session session, Item item, Integer limit, Integer offset, boolean excludeTilted, boolean excludeNonLatest ) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, Relationship.class); Root relationshipRoot = criteriaQuery.from(Relationship.class); criteriaQuery.select(relationshipRoot); @@ -57,7 +59,7 @@ public List findByItem( ) ); - return list(context, criteriaQuery, false, Relationship.class, limit, offset); + return list(session, criteriaQuery, false, Relationship.class, limit, offset); } /** @@ -164,9 +166,9 @@ protected Predicate getRightItemPredicate( @Override public int countByItem( - Context context, Item item, boolean excludeTilted, boolean excludeNonLatest + Session session, Item item, boolean excludeTilted, boolean excludeNonLatest ) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, Relationship.class); Root relationshipRoot = criteriaQuery.from(Relationship.class); criteriaQuery.select(relationshipRoot); @@ -178,35 +180,35 @@ public int countByItem( ) ); - return count(context, criteriaQuery, criteriaBuilder, relationshipRoot); + return count(session, criteriaQuery, criteriaBuilder, relationshipRoot); } @Override - public List findByRelationshipType(Context context, RelationshipType relationshipType) + public List findByRelationshipType(Session session, RelationshipType relationshipType) throws SQLException { - return findByRelationshipType(context, relationshipType, -1, -1); + return findByRelationshipType(session, relationshipType, -1, -1); } @Override - public List findByRelationshipType(Context context, RelationshipType relationshipType, + public List findByRelationshipType(Session session, RelationshipType relationshipType, Integer limit, Integer offset) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, Relationship.class); Root relationshipRoot = criteriaQuery.from(Relationship.class); criteriaQuery.select(relationshipRoot); criteriaQuery .where(criteriaBuilder.equal(relationshipRoot.get(Relationship_.relationshipType), relationshipType)); - return list(context, criteriaQuery, true, Relationship.class, limit, offset); + return list(session, criteriaQuery, true, Relationship.class, limit, offset); } @Override public List findByItemAndRelationshipType( - Context context, Item item, RelationshipType relationshipType, Integer limit, Integer offset, + Session session, Item item, RelationshipType relationshipType, Integer limit, Integer offset, boolean excludeNonLatest ) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, Relationship.class); Root relationshipRoot = criteriaQuery.from(Relationship.class); criteriaQuery.select(relationshipRoot); @@ -219,15 +221,15 @@ public List findByItemAndRelationshipType( ) ); - return list(context, criteriaQuery, true, Relationship.class, limit, offset); + return list(session, criteriaQuery, true, Relationship.class, limit, offset); } @Override public List findByItemAndRelationshipType( - Context context, Item item, RelationshipType relationshipType, boolean isLeft, Integer limit, Integer offset, + Session session, Item item, RelationshipType relationshipType, boolean isLeft, Integer limit, Integer offset, boolean excludeNonLatest ) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, Relationship.class); Root relationshipRoot = criteriaQuery.from(Relationship.class); criteriaQuery.select(relationshipRoot); @@ -246,17 +248,17 @@ public List findByItemAndRelationshipType( criteriaQuery.orderBy(criteriaBuilder.asc(relationshipRoot.get(Relationship_.rightPlace))); } - return list(context, criteriaQuery, true, Relationship.class, limit, offset); + return list(session, criteriaQuery, true, Relationship.class, limit, offset); } @Override public List findByLatestItemAndRelationshipType( - Context context, Item latestItem, RelationshipType relationshipType, boolean isLeft + Session session, Item latestItem, RelationshipType relationshipType, boolean isLeft ) throws SQLException { final String relationshipIdAlias = "relationshipId"; final String itemUuidAlias = "itemUuid"; - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = criteriaBuilder.createTupleQuery(); Root relationshipRoot = criteriaQuery.from(Relationship.class); @@ -314,7 +316,7 @@ public List findByLatestItemAndRelationshipType( criteriaQuery.distinct(true); // execute query - Query query = this.getHibernateSession(context).createQuery(criteriaQuery); + Query query = session.createQuery(criteriaQuery); query.setHint("org.hibernate.cacheable", true); List resultList = query.getResultList(); @@ -329,54 +331,52 @@ public List findByLatestItemAndRelationshipType( } @Override - public List findByTypeName(Context context, String typeName) + public List findByTypeName(Session session, String typeName) throws SQLException { - return this.findByTypeName(context, typeName, -1, -1); + return this.findByTypeName(session, typeName, -1, -1); } @Override - public List findByTypeName(Context context, String typeName, Integer limit, Integer offset) + public List findByTypeName(Session session, String typeName, Integer limit, Integer offset) throws SQLException { - RelationshipTypeService relationshipTypeService = ContentServiceFactory.getInstance() - .getRelationshipTypeService(); - List relTypes = relationshipTypeService.findByLeftwardOrRightwardTypeName(context, typeName); + List relTypes = rtdao.findByLeftwardOrRightwardTypeName(session, typeName); List ids = new ArrayList<>(); for ( RelationshipType relationshipType : relTypes) { ids.add(relationshipType.getID()); } - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, Relationship.class); Root relationshipRoot = criteriaQuery.from(Relationship.class); criteriaQuery.where(relationshipRoot.get(Relationship_.relationshipType).in(ids)); - return list(context, criteriaQuery, true, Relationship.class, limit, offset); + return list(session, criteriaQuery, true, Relationship.class, limit, offset); } @Override - public int countByRelationshipType(Context context, RelationshipType relationshipType) throws SQLException { + public int countByRelationshipType(Session session, RelationshipType relationshipType) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, Relationship.class); Root relationshipRoot = criteriaQuery.from(Relationship.class); criteriaQuery.select(relationshipRoot); criteriaQuery .where(criteriaBuilder.equal(relationshipRoot.get(Relationship_.relationshipType), relationshipType)); - return count(context, criteriaQuery, criteriaBuilder, relationshipRoot); + return count(session, criteriaQuery, criteriaBuilder, relationshipRoot); } @Override - public int countRows(Context context) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + public int countRows(Session session) throws SQLException { + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, Relationship.class); Root relationshipRoot = criteriaQuery.from(Relationship.class); criteriaQuery.select(relationshipRoot); - return count(context, criteriaQuery, criteriaBuilder, relationshipRoot); + return count(session, criteriaQuery, criteriaBuilder, relationshipRoot); } @Override public int countByItemAndRelationshipType( - Context context, Item item, RelationshipType relationshipType, boolean isLeft, boolean excludeNonLatest + Session session, Item item, RelationshipType relationshipType, boolean isLeft, boolean excludeNonLatest ) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, Relationship.class); Root relationshipRoot = criteriaQuery.from(Relationship.class); criteriaQuery.select(relationshipRoot); @@ -393,33 +393,31 @@ public int countByItemAndRelationshipType( ); } - return count(context, criteriaQuery, criteriaBuilder, relationshipRoot); + return count(session, criteriaQuery, criteriaBuilder, relationshipRoot); } @Override - public int countByTypeName(Context context, String typeName) + public int countByTypeName(Session session, String typeName) throws SQLException { - RelationshipTypeService relationshipTypeService = ContentServiceFactory.getInstance() - .getRelationshipTypeService(); - List relTypes = relationshipTypeService.findByLeftwardOrRightwardTypeName(context, typeName); + List relTypes = rtdao.findByLeftwardOrRightwardTypeName(session, typeName); List ids = new ArrayList<>(); for ( RelationshipType relationshipType : relTypes) { ids.add(relationshipType.getID()); } - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, Relationship.class); Root relationshipRoot = criteriaQuery.from(Relationship.class); criteriaQuery.where(relationshipRoot.get(Relationship_.relationshipType).in(ids)); - return count(context, criteriaQuery, criteriaBuilder, relationshipRoot); + return count(session, criteriaQuery, criteriaBuilder, relationshipRoot); } @Override - public List findByItemAndRelationshipTypeAndList(Context context, UUID focusUUID, + public List findByItemAndRelationshipTypeAndList(Session session, UUID focusUUID, RelationshipType relationshipType, List items, boolean isLeft, int offset, int limit) throws SQLException { String side = isLeft ? "left_id" : "right_id"; String otherSide = !isLeft ? "left_id" : "right_id"; - Query query = createQuery(context, "FROM " + Relationship.class.getSimpleName() + + Query query = createQuery(session, "FROM " + Relationship.class.getSimpleName() + " WHERE type_id = (:typeId) " + "AND " + side + " = (:focusUUID) " + "AND " + otherSide + " in (:list) " + @@ -431,11 +429,11 @@ public List findByItemAndRelationshipTypeAndList(Context context, } @Override - public int countByItemAndRelationshipTypeAndList(Context context, UUID focusUUID, RelationshipType relationshipType, + public int countByItemAndRelationshipTypeAndList(Session session, UUID focusUUID, RelationshipType relationshipType, List items, boolean isLeft) throws SQLException { String side = isLeft ? "left_id" : "right_id"; String otherSide = !isLeft ? "left_id" : "right_id"; - Query query = createQuery(context, "SELECT count(*) " + + Query query = createQuery(session, "SELECT count(*) " + "FROM " + Relationship.class.getSimpleName() + " WHERE type_id = (:typeId) " + "AND " + side + " = (:focusUUID) " + diff --git a/dspace-api/src/main/java/org/dspace/content/dao/impl/RelationshipTypeDAOImpl.java b/dspace-api/src/main/java/org/dspace/content/dao/impl/RelationshipTypeDAOImpl.java index 7fff2a1f57da..91ba1d885295 100644 --- a/dspace-api/src/main/java/org/dspace/content/dao/impl/RelationshipTypeDAOImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/dao/impl/RelationshipTypeDAOImpl.java @@ -19,7 +19,7 @@ import org.dspace.content.RelationshipType_; import org.dspace.content.dao.RelationshipTypeDAO; import org.dspace.core.AbstractHibernateDAO; -import org.dspace.core.Context; +import org.hibernate.Session; /** * Hibernate implementation of the Database Access Object interface class for @@ -33,10 +33,10 @@ public class RelationshipTypeDAOImpl extends AbstractHibernateDAO implements RelationshipTypeDAO { @Override - public RelationshipType findbyTypesAndTypeName(Context context, EntityType leftType, EntityType rightType, + public RelationshipType findbyTypesAndTypeName(Session session, EntityType leftType, EntityType rightType, String leftwardType, String rightwardType) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, RelationshipType.class); Root relationshipTypeRoot = criteriaQuery.from(RelationshipType.class); criteriaQuery.select(relationshipTypeRoot); @@ -46,21 +46,21 @@ public RelationshipType findbyTypesAndTypeName(Context context, EntityType leftT criteriaBuilder.equal(relationshipTypeRoot.get(RelationshipType_.rightType), rightType), criteriaBuilder.equal(relationshipTypeRoot.get(RelationshipType_.leftwardType), leftwardType), criteriaBuilder.equal(relationshipTypeRoot.get(RelationshipType_.rightwardType), rightwardType))); - return uniqueResult(context, criteriaQuery, false, RelationshipType.class); + return uniqueResult(session, criteriaQuery, false, RelationshipType.class); } @Override - public List findByLeftwardOrRightwardTypeName(Context context, String type) throws SQLException { + public List findByLeftwardOrRightwardTypeName(Session session, String type) throws SQLException { - return findByLeftwardOrRightwardTypeName(context, type, -1, -1); + return findByLeftwardOrRightwardTypeName(session, type, -1, -1); } @Override - public List findByLeftwardOrRightwardTypeName(Context context, String type, Integer limit, + public List findByLeftwardOrRightwardTypeName(Session session, String type, Integer limit, Integer offset) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, RelationshipType.class); Root relationshipTypeRoot = criteriaQuery.from(RelationshipType.class); criteriaQuery.select(relationshipTypeRoot); @@ -70,19 +70,19 @@ public List findByLeftwardOrRightwardTypeName(Context context, criteriaBuilder.equal(relationshipTypeRoot.get(RelationshipType_.rightwardType), type) ) ); - return list(context, criteriaQuery, true, RelationshipType.class, limit, offset); + return list(session, criteriaQuery, true, RelationshipType.class, limit, offset); } @Override - public List findByEntityType(Context context, EntityType entityType) throws SQLException { - return findByEntityType(context, entityType, -1, -1); + public List findByEntityType(Session session, EntityType entityType) throws SQLException { + return findByEntityType(session, entityType, -1, -1); } @Override - public List findByEntityType(Context context, EntityType entityType, + public List findByEntityType(Session session, EntityType entityType, Integer limit, Integer offset) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, RelationshipType.class); Root relationshipTypeRoot = criteriaQuery.from(RelationshipType.class); criteriaQuery.select(relationshipTypeRoot); @@ -96,20 +96,20 @@ public List findByEntityType(Context context, EntityType entit List orderList = new LinkedList<>(); orderList.add(criteriaBuilder.asc(relationshipTypeRoot.get(RelationshipType_.ID))); criteriaQuery.orderBy(orderList); - return list(context, criteriaQuery, false, RelationshipType.class, limit, offset); + return list(session, criteriaQuery, false, RelationshipType.class, limit, offset); } @Override - public List findByEntityType(Context context, EntityType entityType, Boolean isLeft) + public List findByEntityType(Session session, EntityType entityType, Boolean isLeft) throws SQLException { - return findByEntityType(context, entityType, isLeft, -1, -1); + return findByEntityType(session, entityType, isLeft, -1, -1); } @Override - public List findByEntityType(Context context, EntityType entityType, Boolean isLeft, + public List findByEntityType(Session session, EntityType entityType, Boolean isLeft, Integer limit, Integer offset) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, RelationshipType.class); Root relationshipTypeRoot = criteriaQuery.from(RelationshipType.class); criteriaQuery.select(relationshipTypeRoot); @@ -122,12 +122,12 @@ public List findByEntityType(Context context, EntityType entit criteriaBuilder.equal(relationshipTypeRoot.get(RelationshipType_.rightType), entityType) ); } - return list(context, criteriaQuery, false, RelationshipType.class, limit, offset); + return list(session, criteriaQuery, false, RelationshipType.class, limit, offset); } @Override - public int countByEntityType(Context context, EntityType entityType) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + public int countByEntityType(Session session, EntityType entityType) throws SQLException { + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, RelationshipType.class); Root relationshipTypeRoot = criteriaQuery.from(RelationshipType.class); criteriaQuery.select(relationshipTypeRoot); @@ -135,7 +135,6 @@ public int countByEntityType(Context context, EntityType entityType) throws SQLE criteriaBuilder.equal(relationshipTypeRoot.get(RelationshipType_.leftType), entityType), criteriaBuilder.equal(relationshipTypeRoot.get(RelationshipType_.rightType), entityType) )); - return count(context, criteriaQuery, criteriaBuilder, relationshipTypeRoot); + return count(session, criteriaQuery, criteriaBuilder, relationshipTypeRoot); } - } diff --git a/dspace-api/src/main/java/org/dspace/content/dao/impl/SiteDAOImpl.java b/dspace-api/src/main/java/org/dspace/content/dao/impl/SiteDAOImpl.java index 8889909b1a49..5e106a04973e 100644 --- a/dspace-api/src/main/java/org/dspace/content/dao/impl/SiteDAOImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/dao/impl/SiteDAOImpl.java @@ -15,7 +15,7 @@ import org.dspace.content.Site; import org.dspace.content.dao.SiteDAO; import org.dspace.core.AbstractHibernateDAO; -import org.dspace.core.Context; +import org.hibernate.Session; /** * Hibernate implementation of the Database Access Object interface class for the Site object. @@ -30,11 +30,11 @@ protected SiteDAOImpl() { } @Override - public Site findSite(Context context) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + public Site findSite(Session session) throws SQLException { + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, Site.class); Root siteRoot = criteriaQuery.from(Site.class); criteriaQuery.select(siteRoot); - return uniqueResult(context, criteriaQuery, true, Site.class); + return uniqueResult(session, criteriaQuery, true, Site.class); } } diff --git a/dspace-api/src/main/java/org/dspace/content/dao/impl/WorkspaceItemDAOImpl.java b/dspace-api/src/main/java/org/dspace/content/dao/impl/WorkspaceItemDAOImpl.java index 138451365522..a94ad172cb2d 100644 --- a/dspace-api/src/main/java/org/dspace/content/dao/impl/WorkspaceItemDAOImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/dao/impl/WorkspaceItemDAOImpl.java @@ -23,8 +23,8 @@ import org.dspace.content.WorkspaceItem_; import org.dspace.content.dao.WorkspaceItemDAO; import org.dspace.core.AbstractHibernateDAO; -import org.dspace.core.Context; import org.dspace.eperson.EPerson; +import org.hibernate.Session; /** * Hibernate implementation of the Database Access Object interface class for the WorkspaceItem object. @@ -40,8 +40,8 @@ protected WorkspaceItemDAOImpl() { @Override - public List findByEPerson(Context context, EPerson ep) throws SQLException { - Query query = createQuery(context, + public List findByEPerson(Session session, EPerson ep) throws SQLException { + Query query = createQuery(session, "from WorkspaceItem ws where ws.item.submitter = :submitter order by " + "workspaceItemId"); query.setParameter("submitter", ep); @@ -49,41 +49,41 @@ public List findByEPerson(Context context, EPerson ep) throws SQL } @Override - public List findByEPerson(Context context, EPerson ep, Integer limit, Integer offset) + public List findByEPerson(Session session, EPerson ep, Integer limit, Integer offset) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, WorkspaceItem.class); Root workspaceItemRoot = criteriaQuery.from(WorkspaceItem.class); criteriaQuery.select(workspaceItemRoot); criteriaQuery.where(criteriaBuilder.equal(workspaceItemRoot.get(WorkspaceItem_.item).get("submitter"), ep)); criteriaQuery.orderBy(criteriaBuilder.asc(workspaceItemRoot.get(WorkspaceItem_.workspaceItemId))); - return list(context, criteriaQuery, false, WorkspaceItem.class, limit, offset); + return list(session, criteriaQuery, false, WorkspaceItem.class, limit, offset); } @Override - public List findByCollection(Context context, Collection c) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + public List findByCollection(Session session, Collection c) throws SQLException { + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, WorkspaceItem.class); Root workspaceItemRoot = criteriaQuery.from(WorkspaceItem.class); criteriaQuery.select(workspaceItemRoot); criteriaQuery.where(criteriaBuilder.equal(workspaceItemRoot.get(WorkspaceItem_.collection), c)); criteriaQuery.orderBy(criteriaBuilder.asc(workspaceItemRoot.get(WorkspaceItem_.workspaceItemId))); - return list(context, criteriaQuery, false, WorkspaceItem.class, -1, -1); + return list(session, criteriaQuery, false, WorkspaceItem.class, -1, -1); } @Override - public WorkspaceItem findByItem(Context context, Item i) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + public WorkspaceItem findByItem(Session session, Item i) throws SQLException { + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, WorkspaceItem.class); Root workspaceItemRoot = criteriaQuery.from(WorkspaceItem.class); criteriaQuery.select(workspaceItemRoot); criteriaQuery.where(criteriaBuilder.equal(workspaceItemRoot.get(WorkspaceItem_.item), i)); - return uniqueResult(context, criteriaQuery, false, WorkspaceItem.class); + return uniqueResult(session, criteriaQuery, false, WorkspaceItem.class); } @Override - public List findAll(Context context) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + public List findAll(Session session) throws SQLException { + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, WorkspaceItem.class); Root workspaceItemRoot = criteriaQuery.from(WorkspaceItem.class); criteriaQuery.select(workspaceItemRoot); @@ -91,14 +91,12 @@ public List findAll(Context context) throws SQLException { List orderList = new LinkedList<>(); orderList.add(criteriaBuilder.asc(workspaceItemRoot.get(WorkspaceItem_.workspaceItemId))); criteriaQuery.orderBy(orderList); - - - return list(context, criteriaQuery, false, WorkspaceItem.class, -1, -1); + return list(session, criteriaQuery, false, WorkspaceItem.class, -1, -1); } @Override - public List findAll(Context context, Integer limit, Integer offset) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + public List findAll(Session session, Integer limit, Integer offset) throws SQLException { + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, WorkspaceItem.class); Root workspaceItemRoot = criteriaQuery.from(WorkspaceItem.class); criteriaQuery.select(workspaceItemRoot); @@ -108,17 +106,17 @@ public List findAll(Context context, Integer limit, Integer offse criteriaQuery.orderBy(orderList); - return list(context, criteriaQuery, false, WorkspaceItem.class, limit, offset); + return list(session, criteriaQuery, false, WorkspaceItem.class, limit, offset); } @Override - public int countRows(Context context) throws SQLException { - return count(createQuery(context, "SELECT count(*) from WorkspaceItem")); + public int countRows(Session session) throws SQLException { + return count(createQuery(session, "SELECT count(*) from WorkspaceItem")); } @Override - public int countRows(Context context, EPerson ep) throws SQLException { - Query query = createQuery(context, + public int countRows(Session session, EPerson ep) throws SQLException { + Query query = createQuery(session, "SELECT count(*) from WorkspaceItem ws where ws.item.submitter = :submitter"); query.setParameter("submitter", ep); return count(query); @@ -126,8 +124,8 @@ public int countRows(Context context, EPerson ep) throws SQLException { @Override @SuppressWarnings("unchecked") - public List> getStageReachedCounts(Context context) throws SQLException { - Query query = createQuery(context, + public List> getStageReachedCounts(Session session) throws SQLException { + Query query = createQuery(session, "SELECT wi.stageReached as stage_reached, count(*) as cnt from WorkspaceItem wi" + " group by wi.stageReached order by wi.stageReached"); diff --git a/dspace-api/src/main/java/org/dspace/core/AbstractHibernateDAO.java b/dspace-api/src/main/java/org/dspace/core/AbstractHibernateDAO.java index 32ad747d765e..6014c14f4eff 100644 --- a/dspace-api/src/main/java/org/dspace/core/AbstractHibernateDAO.java +++ b/dspace-api/src/main/java/org/dspace/core/AbstractHibernateDAO.java @@ -38,88 +38,77 @@ protected AbstractHibernateDAO() { } @Override - public T create(Context context, T t) throws SQLException { - getHibernateSession(context).persist(t); + public T create(Session session, T t) throws SQLException { + session.persist(t); return t; } @Override - public void save(Context context, T t) throws SQLException { - //Isn't required, is just here for other DB implementation. Hibernate auto keeps track of changes. - } - - /** - * The Session used to manipulate entities of this type. - * - * @param context current DSpace context. - * @return the current Session. - * @throws SQLException - */ - protected Session getHibernateSession(Context context) throws SQLException { - return ((Session) context.getDBConnection().getSession()); + public void save(Session session, T t) throws SQLException { + //Isn't required, is just here for other DB implementations. + //Hibernate automatically keeps track of changes. } @Override - public void delete(Context context, T t) throws SQLException { - getHibernateSession(context).delete(t); + public void delete(Session session, T t) throws SQLException { + session.delete(t); } @Override - public List findAll(Context context, Class clazz) throws SQLException { - - return findAll(context, clazz, -1, -1); + public List findAll(Session session, Class clazz) throws SQLException { + return findAll(session, clazz, -1, -1); } @Override - public List findAll(Context context, Class clazz, Integer limit, Integer offset) throws SQLException { - CriteriaQuery criteriaQuery = getCriteriaQuery(getCriteriaBuilder(context), clazz); + public List findAll(Session session, Class clazz, Integer limit, Integer offset) throws SQLException { + CriteriaQuery criteriaQuery = getCriteriaQuery(getCriteriaBuilder(session), clazz); Root root = criteriaQuery.from(clazz); criteriaQuery.select(root); - return executeCriteriaQuery(context, criteriaQuery, false, limit, offset); + return executeCriteriaQuery(session, criteriaQuery, false, limit, offset); } @Override - public T findUnique(Context context, String query) throws SQLException { + public T findUnique(Session session, String query) throws SQLException { @SuppressWarnings("unchecked") - T result = (T) createQuery(context, query).getSingleResult(); + T result = (T) createQuery(session, query).getSingleResult(); return result; } @Override - public T findByID(Context context, Class clazz, UUID id) throws SQLException { + public T findByID(Session session, Class clazz, UUID id) throws SQLException { if (id == null) { return null; } @SuppressWarnings("unchecked") - T result = (T) getHibernateSession(context).get(clazz, id); + T result = (T) session.get(clazz, id); return result; } @Override - public T findByID(Context context, Class clazz, int id) throws SQLException { + public T findByID(Session session, Class clazz, int id) throws SQLException { @SuppressWarnings("unchecked") - T result = (T) getHibernateSession(context).get(clazz, id); + T result = (T) session.get(clazz, id); return result; } @Override - public List findMany(Context context, String query) throws SQLException { + public List findMany(Session session, String query) throws SQLException { @SuppressWarnings("unchecked") - List result = (List) createQuery(context, query).getResultList(); + List result = (List) createQuery(session, query).getResultList(); return result; } /** * Execute a JPA Criteria query and return a collection of results. * - * @param context - * The relevant DSpace Context. + * @param session + * The current request's database session. * @param query * JPQL query string * @return list of DAOs specified by the query string * @throws SQLException if database error */ - public List findMany(Context context, Query query) throws SQLException { + public List findMany(Session session, Query query) throws SQLException { @SuppressWarnings("unchecked") List result = (List) query.getResultList(); return result; @@ -128,20 +117,20 @@ public List findMany(Context context, Query query) throws SQLException { /** * Create a parsed query from a query expression. * - * @param context current DSpace context. + * @param session current request's database context. * @param query textual form of the query. * @return parsed form of the query. * @throws SQLException */ - public Query createQuery(Context context, String query) throws SQLException { - return getHibernateSession(context).createQuery(query); + public Query createQuery(Session session, String query) throws SQLException { + return session.createQuery(query); } /** * This method will return a list with unique results, no duplicates, made by the given CriteriaQuery and parameters * - * @param context - * The standard DSpace context object + * @param session + * The current request's database context. * @param criteriaQuery * The CriteriaQuery for which this list will be retrieved * @param cacheable @@ -156,17 +145,17 @@ public Query createQuery(Context context, String query) throws SQLException { * @throws SQLException */ public List list( - Context context, CriteriaQuery criteriaQuery, boolean cacheable, Class clazz, int maxResults, int offset + Session session, CriteriaQuery criteriaQuery, boolean cacheable, Class clazz, int maxResults, int offset ) throws SQLException { criteriaQuery.distinct(true); - return executeCriteriaQuery(context, criteriaQuery, cacheable, maxResults, offset); + return executeCriteriaQuery(session, criteriaQuery, cacheable, maxResults, offset); } /** * This method will return a list of results for the given CriteriaQuery and parameters * - * @param context - * The standard DSpace context object + * @param session + * The current request's database context. * @param criteriaQuery * The CriteriaQuery to be used to find the list of results * @param cacheable @@ -183,11 +172,11 @@ public List list( * @throws SQLException */ public List list( - Context context, CriteriaQuery criteriaQuery, boolean cacheable, Class clazz, int maxResults, int offset, + Session session, CriteriaQuery criteriaQuery, boolean cacheable, Class clazz, int maxResults, int offset, boolean distinct ) throws SQLException { criteriaQuery.distinct(distinct); - return executeCriteriaQuery(context, criteriaQuery, cacheable, maxResults, offset); + return executeCriteriaQuery(session, criteriaQuery, cacheable, maxResults, offset); } /** @@ -205,7 +194,7 @@ public List list(Query query) { /** * This method will return a list of results for the given Query and parameters - * + * * @param query The query for which the resulting list will be returned * @param limit The maximum amount of results to be returned * @param offset The offset to be used for the Query @@ -223,7 +212,7 @@ public List list(Query query, int limit, int offset) { * Retrieve a unique result from the query. If multiple results CAN be * retrieved an exception will be thrown, so only use when the criteria * state uniqueness in the database. - * @param context current DSpace session. + * @param session current request's database context. * @param criteriaQuery JPA criteria * @param cacheable whether or not this query should be cacheable. * @param clazz type of object that should match the query. @@ -232,9 +221,9 @@ public List list(Query query, int limit, int offset) { * @throws java.sql.SQLException passed through. * @throws IllegalArgumentException if multiple objects match. */ - public T uniqueResult(Context context, CriteriaQuery criteriaQuery, + public T uniqueResult(Session session, CriteriaQuery criteriaQuery, boolean cacheable, Class clazz) throws SQLException { - List list = list(context, criteriaQuery, cacheable, clazz, -1, -1); + List list = list(session, criteriaQuery, cacheable, clazz, -1, -1); if (CollectionUtils.isNotEmpty(list)) { if (list.size() == 1) { return list.get(0); @@ -249,19 +238,19 @@ public T uniqueResult(Context context, CriteriaQuery criteriaQuery, /** * Retrieve a single result from the query. Best used if you expect a * single result, but this isn't enforced on the database. - * @param context current DSpace session + * @param session current request's database context. * @param criteriaQuery JPA criteria * @return a DAO specified by the criteria * @throws java.sql.SQLException passed through. */ - public T singleResult(Context context, CriteriaQuery criteriaQuery) throws SQLException { - Query query = this.getHibernateSession(context).createQuery(criteriaQuery); + public T singleResult(Session session, CriteriaQuery criteriaQuery) throws SQLException { + Query query = session.createQuery(criteriaQuery); return singleResult(query); - } /** - * This method will return the first result from the given query or null if no results were found + * This method will return the first result from the given query or null if + * no results were found. * * @param query * The query that is to be executed @@ -275,7 +264,6 @@ public T singleResult(final Query query) { } else { return null; } - } /** @@ -318,8 +306,8 @@ public void finalize() { /** * This method will return the amount of results that would be generated for this CriteriaQuery as an integer * - * @param context - * The standard DSpace Context object + * @param session + * The current request's database context. * @param criteriaQuery * The CriteriaQuery for which this result will be retrieved * @param criteriaBuilder @@ -329,9 +317,9 @@ public void finalize() { * @return The amount of results that would be found by this CriteriaQuery as an integer value * @throws SQLException */ - public int count(Context context, CriteriaQuery criteriaQuery, CriteriaBuilder criteriaBuilder, Root root) + public int count(Session session, CriteriaQuery criteriaQuery, CriteriaBuilder criteriaBuilder, Root root) throws SQLException { - return Math.toIntExact(countLong(context, criteriaQuery, criteriaBuilder, root)); + return Math.toIntExact(countLong(session, criteriaQuery, criteriaBuilder, root)); } /** @@ -347,10 +335,10 @@ public int count(Query query) { } /** - * This method will return the count of items for this query as a long + * This method will return the count of items for this query as a long. * - * @param context - * The standard DSpace Context object + * @param session + * The current request's database context. * @param criteriaQuery * The CriteriaQuery for which the amount of results will be retrieved * @param criteriaBuilder @@ -360,11 +348,11 @@ public int count(Query query) { * @return A long value that depicts the amount of results this query has found * @throws SQLException */ - public long countLong(Context context, CriteriaQuery criteriaQuery, CriteriaBuilder criteriaBuilder, Root root) + public long countLong(Session session, CriteriaQuery criteriaQuery, CriteriaBuilder criteriaBuilder, Root root) throws SQLException { Expression countExpression = criteriaBuilder.countDistinct(root); criteriaQuery.select(countExpression); - return (Long) this.getHibernateSession(context).createQuery(criteriaQuery).getSingleResult(); + return (Long) session.createQuery(criteriaQuery).getSingleResult(); } /** @@ -383,23 +371,23 @@ public CriteriaQuery getCriteriaQuery(CriteriaBuilder criteriaBuilder, Class< } /** - * This method should always be used in order to retrieve a CriteriaBuilder for the given context + * This method should always be used in order to retrieve a CriteriaBuilder + * for the given context. * - * @param context - * The standard DSpace Context class for which a CriteriaBuilder will be made + * @param session the current request's database context. * @return A CriteriaBuilder that can be used to create the query * @throws SQLException */ - public CriteriaBuilder getCriteriaBuilder(Context context) throws SQLException { - return this.getHibernateSession(context).getCriteriaBuilder(); + public CriteriaBuilder getCriteriaBuilder(Session session) throws SQLException { + return session.getCriteriaBuilder(); } /** * This method will return a list of objects to be returned that match the given criteriaQuery and parameters. * The maxResults and offSet can be circumvented by entering the value -1 for them. * - * @param context - * The standard context DSpace object + * @param session + * The current request's database context. * @param criteriaQuery * The CriteriaQuery that will be used for executing the query * @param cacheable @@ -413,9 +401,9 @@ public CriteriaBuilder getCriteriaBuilder(Context context) throws SQLException { * @return This will return a list of objects that conform to the made query * @throws SQLException */ - public List executeCriteriaQuery(Context context, CriteriaQuery criteriaQuery, boolean cacheable, + public List executeCriteriaQuery(Session session, CriteriaQuery criteriaQuery, boolean cacheable, int maxResults, int offset) throws SQLException { - Query query = this.getHibernateSession(context).createQuery(criteriaQuery); + Query query = session.createQuery(criteriaQuery); query.setHint("org.hibernate.cacheable", cacheable); if (maxResults != -1) { @@ -429,28 +417,29 @@ public List executeCriteriaQuery(Context context, CriteriaQuery criteriaQu } /** - * This method can be used to construct a query for which there needs to be a bunch of equal properties - * These properties can be passed along in the equals hashmap + * Construct a query for which there needs to be a bunch of equal properties. + * These properties can be passed along in the equals Map. * - * @param context - * The standard DSpace context object + * @param session + * The current request's database context. * @param clazz * The class on which the criteriaQuery will be built * @param equals - * A hashmap that can be used to store the String representation of the column - * and the value that should match that in the DB + * A map that can be used to store the String representation of the + * column and the value that should match that in the DB. * @param cacheable * A boolean indicating whether this query should be cacheable or not * @param maxResults * The max amount of results to be returned by this query * @param offset * The offset to be used in this query - * @return Will return a list of objects that correspond with the constructed query and parameters - * @throws SQLException + * @return Will return a list of objects that correspond with the + * constructed query and parameters. + * @throws SQLException passed through */ - public List findByX(Context context, Class clazz, Map equals, boolean cacheable, int maxResults, + public List findByX(Session session, Class clazz, Map equals, boolean cacheable, int maxResults, int offset) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteria = getCriteriaQuery(criteriaBuilder, clazz); Root root = criteria.from(clazz); criteria.select(root); @@ -458,7 +447,7 @@ public List findByX(Context context, Class clazz, Map equals, for (Map.Entry entry : equals.entrySet()) { criteria.where(criteriaBuilder.equal(root.get(entry.getKey()), entry.getValue())); } - return executeCriteriaQuery(context, criteria, cacheable, maxResults, offset); + return executeCriteriaQuery(session, criteria, cacheable, maxResults, offset); } } diff --git a/dspace-api/src/main/java/org/dspace/core/AbstractHibernateDSODAO.java b/dspace-api/src/main/java/org/dspace/core/AbstractHibernateDSODAO.java index e6535f094152..d5bb1d1182da 100644 --- a/dspace-api/src/main/java/org/dspace/core/AbstractHibernateDSODAO.java +++ b/dspace-api/src/main/java/org/dspace/core/AbstractHibernateDSODAO.java @@ -19,6 +19,7 @@ import org.apache.commons.lang3.StringUtils; import org.dspace.content.DSpaceObject; import org.dspace.content.MetadataField; +import org.hibernate.Session; /** * Hibernate implementation used by DSpaceObject Database Access Objects. @@ -37,18 +38,18 @@ public abstract class AbstractHibernateDSODAO extends Ab * All DSOs now have UUID primary keys, and those should be used when available. * Each type derived from DSpaceObject had its own stream of record IDs, so * it is also necessary to know the specific type. - * @param context current DSpace context. + * @param session current request's database context. * @param legacyId the old integer record identifier. * @param clazz DSO subtype of record identified by {@link legacyId}. * @return * @throws SQLException */ - public T findByLegacyId(Context context, int legacyId, Class clazz) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + public T findByLegacyId(Session session, int legacyId, Class clazz) throws SQLException { + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, clazz); Root root = criteriaQuery.from(clazz); criteriaQuery.where(criteriaBuilder.equal(root.get("legacyId"), legacyId)); - return uniqueResult(context, criteriaQuery, false, clazz); + return uniqueResult(session, criteriaQuery, false, clazz); } /** @@ -87,8 +88,9 @@ protected void addMetadataValueWhereQuery(StringBuilder query, List { /** * Create a new instance of this type in the database. * - * @param context current DSpace context. + * @param session current request's database context. * @param t type to be created. * @return entity tracking the created instance. * @throws SQLException */ - public T create(Context context, T t) throws SQLException; + public T create(Session session, T t) throws SQLException; /** * Persist this instance in the database. * - * @param context current DSpace context. + * @param session current request's database context. * @param t type created here. * @throws SQLException passed through. */ - public void save(Context context, T t) throws SQLException; + public void save(Session session, T t) throws SQLException; /** * Remove an instance from the database. * - * @param context current DSpace context. + * @param session current request's database context. * @param t type of the instance to be removed. * @throws SQLException passed through. */ - public void delete(Context context, T t) throws SQLException; + public void delete(Session session, T t) throws SQLException; /** * Fetch all persisted instances of a given object type. * - * @param context The relevant DSpace Context. + * @param session The relevant DSpace Context. * @param clazz the desired type. * @return list of DAOs of the same type as clazz * @throws SQLException if database error */ - public List findAll(Context context, Class clazz) throws SQLException; + public List findAll(Session session, Class clazz) throws SQLException; /** * Fetch all persisted instances of a given object type. * - * @param context The relevant DSpace Context. + * @param session The relevant DSpace Context. * @param clazz the desired type. * @param limit paging limit * @param offset paging offset * @return list of DAOs of the same type as clazz * @throws SQLException if database error */ - List findAll(Context context, Class clazz, Integer limit, Integer offset) throws SQLException; + List findAll(Session session, Class clazz, Integer limit, Integer offset) throws SQLException; /** * Execute a JPQL query returning a unique result. * - * @param context The relevant DSpace Context. + * @param session The relevant DSpace Context. * @param query JPQL query string * @return a DAO specified by the query string * @throws SQLException if database error */ - public T findUnique(Context context, String query) throws SQLException; + public T findUnique(Session session, String query) throws SQLException; /** * Fetch the entity identified by its legacy database identifier. * - * @param context current DSpace context. + * @param session current request's database context. * @param clazz class of entity to be found. * @param id legacy database record ID. * @return the found entity. * @throws SQLException passed through. */ - public T findByID(Context context, Class clazz, int id) throws SQLException; + public T findByID(Session session, Class clazz, int id) throws SQLException; /** * Fetch the entity identified by its UUID primary key. * - * @param context current DSpace context. + * @param session current request's database context. * @param clazz class of entity to be found. * @param id primary key of the database record. * @return the found entity. * @throws SQLException */ - public T findByID(Context context, Class clazz, UUID id) throws SQLException; + public T findByID(Session session, Class clazz, UUID id) throws SQLException; /** * Execute a JPQL query and return a collection of results. * - * @param context The relevant DSpace Context. + * @param session The relevant DSpace Context. * @param query JPQL query string * @return list of DAOs specified by the query string * @throws SQLException if database error */ - public List findMany(Context context, String query) throws SQLException; + public List findMany(Session session, String query) throws SQLException; } diff --git a/dspace-api/src/main/java/org/dspace/eperson/EPersonServiceImpl.java b/dspace-api/src/main/java/org/dspace/eperson/EPersonServiceImpl.java index 61477995c7ed..064d93e0a1fe 100644 --- a/dspace-api/src/main/java/org/dspace/eperson/EPersonServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/eperson/EPersonServiceImpl.java @@ -110,7 +110,7 @@ protected EPersonServiceImpl() { @Override public EPerson find(Context context, UUID id) throws SQLException { - return ePersonDAO.findByID(context, EPerson.class, id); + return ePersonDAO.findByID(context.getSession(), EPerson.class, id); } @Override @@ -124,7 +124,7 @@ public EPerson findByIdOrLegacyId(Context context, String id) throws SQLExceptio @Override public EPerson findByLegacyId(Context context, int legacyId) throws SQLException { - return ePersonDAO.findByLegacyId(context, legacyId, EPerson.class); + return ePersonDAO.findByLegacyId(context.getSession(), legacyId, EPerson.class); } @Override @@ -134,7 +134,7 @@ public EPerson findByEmail(Context context, String email) throws SQLException { } // All email addresses are stored as lowercase, so ensure that the email address is lowercased for the lookup - return ePersonDAO.findByEmail(context, email); + return ePersonDAO.findByEmail(context.getSession(), email); } @Override @@ -143,7 +143,7 @@ public EPerson findByNetid(Context context, String netId) throws SQLException { return null; } - return ePersonDAO.findByNetid(context, netId); + return ePersonDAO.findByNetid(context.getSession(), netId); } @Override @@ -170,7 +170,7 @@ public List search(Context context, String query, int offset, int limit if (StringUtils.isBlank(query)) { query = null; } - return ePersonDAO.search(context, query, Arrays.asList(firstNameField, lastNameField), + return ePersonDAO.search(context.getSession(), query, Arrays.asList(firstNameField, lastNameField), Arrays.asList(firstNameField, lastNameField), offset, limit); } } @@ -182,7 +182,7 @@ public int searchResultCount(Context context, String query) throws SQLException if (StringUtils.isBlank(query)) { query = null; } - return ePersonDAO.searchResultCount(context, query, Arrays.asList(firstNameField, lastNameField)); + return ePersonDAO.searchResultCount(context.getSession(), query, Arrays.asList(firstNameField, lastNameField)); } @Override @@ -213,7 +213,7 @@ public List findAll(Context context, int sortField, int pageSize, int o default: metadataFieldSort = metadataFieldService.findByElement(context, "eperson", "lastname", null); } - return ePersonDAO.findAll(context, metadataFieldSort, sortColumn, pageSize, offset); + return ePersonDAO.findAll(context.getSession(), metadataFieldSort, sortColumn, pageSize, offset); } @Override @@ -225,7 +225,7 @@ public EPerson create(Context context) throws SQLException, AuthorizeException { } // Create a table row - EPerson e = ePersonDAO.create(context, new EPerson()); + EPerson e = ePersonDAO.create(context.getSession(), new EPerson()); log.info(LogHelper.getHeader(context, "create_eperson", "eperson_id=" + e.getID())); @@ -288,7 +288,7 @@ public void delete(Context context, EPerson ePerson, boolean cascade) // check for presence of eperson in tables that // have constraints on eperson_id List constraintList = getDeleteConstraints(context, ePerson); - if (constraintList.size() > 0) { + if (!constraintList.isEmpty()) { // Check if the constraints we found should be deleted if (cascade) { Iterator constraintsIterator = constraintList.iterator(); @@ -310,7 +310,7 @@ public void delete(Context context, EPerson ePerson, boolean cascade) for (Version version : versioningService.getVersionsByHistory(context, versionHistory)) { version.setePerson(null); - versionDAO.save(context, version); + versionDAO.save(context.getSession(), version); } } WorkspaceItemService workspaceItemService = ContentServiceFactory.getInstance() @@ -392,7 +392,7 @@ public void delete(Context context, EPerson ePerson, boolean cascade) subscribeService.deleteByEPerson(context, ePerson); // Remove ourself - ePersonDAO.delete(context, ePerson); + ePersonDAO.delete(context.getSession(), ePerson); log.info(LogHelper.getHeader(context, "delete_eperson", "eperson_id=" + ePerson.getID())); @@ -493,7 +493,7 @@ public void update(Context context, EPerson ePerson) throws SQLException, Author super.update(context, ePerson); - ePersonDAO.save(context, ePerson); + ePersonDAO.save(context.getSession(), ePerson); log.info(LogHelper.getHeader(context, "update_eperson", "eperson_id=" + ePerson.getID())); @@ -520,12 +520,12 @@ public List getDeleteConstraints(Context context, EPerson ePerson) throw WorkspaceItemService workspaceItemService = ContentServiceFactory.getInstance().getWorkspaceItemService(); List workspaceBySubmitter = workspaceItemService.findByEPerson(context, ePerson); - if (workspaceBySubmitter.size() > 0) { + if (!workspaceBySubmitter.isEmpty()) { tableList.add("workspaceitem"); } ResourcePolicyService resourcePolicyService = AuthorizeServiceFactory.getInstance().getResourcePolicyService(); - if (resourcePolicyService.find(context, ePerson).size() > 0) { + if (!resourcePolicyService.find(context, ePerson).isEmpty()) { tableList.add("resourcepolicy"); } @@ -542,7 +542,7 @@ public List getDeleteConstraints(Context context, EPerson ePerson) throw public List findByGroups(Context c, Set groups) throws SQLException { //Make sure we at least have one group, if not don't even bother searching. if (CollectionUtils.isNotEmpty(groups)) { - return ePersonDAO.findByGroups(c, groups); + return ePersonDAO.findByGroups(c.getSession(), groups); } else { return new ArrayList<>(); } @@ -550,7 +550,7 @@ public List findByGroups(Context c, Set groups) throws SQLExcept @Override public List findEPeopleWithSubscription(Context context) throws SQLException { - return ePersonDAO.findAllSubscribers(context); + return ePersonDAO.findAllSubscribers(context.getSession()); } @Override @@ -566,17 +566,17 @@ public String getMetadata(EPerson dso, String field) { @Override public List findUnsalted(Context context) throws SQLException { - return ePersonDAO.findWithPasswordWithoutDigestAlgorithm(context); + return ePersonDAO.findWithPasswordWithoutDigestAlgorithm(context.getSession()); } @Override public List findNotActiveSince(Context context, Date date) throws SQLException { - return ePersonDAO.findNotActiveSince(context, date); + return ePersonDAO.findNotActiveSince(context.getSession(), date); } @Override public int countTotal(Context context) throws SQLException { - return ePersonDAO.countRows(context); + return ePersonDAO.countRows(context.getSession()); } @Override diff --git a/dspace-api/src/main/java/org/dspace/eperson/GroupServiceImpl.java b/dspace-api/src/main/java/org/dspace/eperson/GroupServiceImpl.java index 607e57af0b2c..48ca86f5c8b6 100644 --- a/dspace-api/src/main/java/org/dspace/eperson/GroupServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/eperson/GroupServiceImpl.java @@ -109,7 +109,7 @@ public Group create(Context context) throws SQLException, AuthorizeException { } // Create a table row - Group g = groupDAO.create(context, new Group()); + Group g = groupDAO.create(context.getSession(), new Group()); log.info(LogHelper.getHeader(context, "create_group", "group_id=" + g.getID())); @@ -243,7 +243,7 @@ public boolean isMember(Group owningGroup, Group childGroup) { @Override public boolean isParentOf(Context context, Group parentGroup, Group childGroup) throws SQLException { - return group2GroupCacheDAO.findByParentAndChild(context, parentGroup, childGroup) != null; + return group2GroupCacheDAO.findByParentAndChild(context.getSession(), parentGroup, childGroup) != null; } @Override @@ -334,7 +334,7 @@ public Set allMemberGroupsSet(Context context, EPerson ePerson) throws SQ if (ePerson != null) { // two queries - first to get groups eperson is a member of // second query gets parent groups for groups eperson is a member of - groups.addAll(groupDAO.findByEPerson(context, ePerson)); + groups.addAll(groupDAO.findByEPerson(context.getSession(), ePerson)); } // Also need to get all "Special Groups" user is a member of! // Otherwise, you're ignoring the user's membership to these groups! @@ -351,7 +351,7 @@ public Set allMemberGroupsSet(Context context, EPerson ePerson) throws SQ // all the users are members of the anonymous group groups.add(findByName(context, Group.ANONYMOUS)); - List groupCache = group2GroupCacheDAO.findByChildren(context, groups); + List groupCache = group2GroupCacheDAO.findByChildren(context.getSession(), groups); // now we have all owning groups, also grab all parents of owning groups for (Group2GroupCache group2GroupCache : groupCache) { groups.add(group2GroupCache.getParent()); @@ -367,7 +367,7 @@ public List allMembers(Context c, Group g) throws SQLException { // second query gets all members of each group in the first query // Get all groups which are a member of this group - List group2GroupCaches = group2GroupCacheDAO.findByParent(c, g); + List group2GroupCaches = group2GroupCacheDAO.findByParent(c.getSession(), g); Set groups = new HashSet<>(); for (Group2GroupCache group2GroupCache : group2GroupCaches) { groups.add(group2GroupCache.getChild()); @@ -386,7 +386,7 @@ public Group find(Context context, UUID id) throws SQLException { if (id == null) { return null; } else { - return groupDAO.findByID(context, Group.class, id); + return groupDAO.findByID(context.getSession(), Group.class, id); } } @@ -396,7 +396,7 @@ public Group findByName(Context context, String name) throws SQLException { return null; } - return groupDAO.findByName(context, name); + return groupDAO.findByName(context.getSession(), name); } /** @@ -421,9 +421,9 @@ public List findAll(Context context, List metadataSortFiel public List findAll(Context context, List metadataSortFields, int pageSize, int offset) throws SQLException { if (CollectionUtils.isEmpty(metadataSortFields)) { - return groupDAO.findAll(context, pageSize, offset); + return groupDAO.findAll(context.getSession(), pageSize, offset); } else { - return groupDAO.findAll(context, metadataSortFields, pageSize, offset); + return groupDAO.findAll(context.getSession(), metadataSortFields, pageSize, offset); } } @@ -438,7 +438,7 @@ public List search(Context context, String groupIdentifier, int offset, i UUID uuid = UUIDUtils.fromString(groupIdentifier); if (uuid == null) { //Search by group name - groups = groupDAO.findByNameLike(context, groupIdentifier, offset, limit); + groups = groupDAO.findByNameLike(context.getSession(), groupIdentifier, offset, limit); } else { //Search by group id Group group = find(context, uuid); @@ -456,7 +456,7 @@ public int searchResultCount(Context context, String groupIdentifier) throws SQL UUID uuid = UUIDUtils.fromString(groupIdentifier); if (uuid == null) { //Search by group name - result = groupDAO.countByNameLike(context, groupIdentifier); + result = groupDAO.countByNameLike(context.getSession(), groupIdentifier); } else { //Search by group id Group group = find(context, uuid); @@ -493,9 +493,9 @@ public void delete(Context context, Group group) throws SQLException { } // empty out group2groupcache table (if we do it after we delete our object we get an issue with references) - group2GroupCacheDAO.deleteAll(context); + group2GroupCacheDAO.deleteAll(context.getSession()); // Remove ourself - groupDAO.delete(context, group); + groupDAO.delete(context.getSession(), group); rethinkGroupCache(context, false); log.info(LogHelper.getHeader(context, "delete_group", "group_id=" @@ -561,7 +561,7 @@ public void initDefaultGroupNames(Context context) throws SQLException, Authoriz */ @Override public List getEmptyGroups(Context context) throws SQLException { - return groupDAO.getEmptyGroups(context); + return groupDAO.getEmptyGroups(context.getSession()); } /** @@ -578,7 +578,7 @@ public void update(Context context, Group group) throws SQLException, AuthorizeE super.update(context, group); // FIXME: Check authorisation - groupDAO.save(context, group); + groupDAO.save(context.getSession(), group); if (group.isMetadataModified()) { context.addEvent(new Event(Event.MODIFY_METADATA, Constants.GROUP, group.getID(), group.getDetails(), @@ -598,13 +598,13 @@ public void update(Context context, Group group) throws SQLException, AuthorizeE protected boolean isEPersonInGroup(Context context, Group group, EPerson ePerson) throws SQLException { - return groupDAO.findByIdAndMembership(context, group.getID(), ePerson) != null; + return groupDAO.findByIdAndMembership(context.getSession(), group.getID(), ePerson) != null; } /** - * Regenerate the group cache AKA the group2groupcache table in the database - - * meant to be called when a group is added or removed from another group + * Regenerate the group cache AKA the group2groupcache table in the database. + * Meant to be called when a group is added or removed from another group. * * @param context The relevant DSpace Context. * @param flushQueries flushQueries Flush all pending queries @@ -614,7 +614,7 @@ protected void rethinkGroupCache(Context context, boolean flushQueries) throws S Map> parents = new HashMap<>(); - List> group2groupResults = groupDAO.getGroup2GroupResults(context, flushQueries); + List> group2groupResults = groupDAO.getGroup2GroupResults(context.getSession(), flushQueries); for (Pair group2groupResult : group2groupResults) { UUID parent = group2groupResult.getLeft(); UUID child = group2groupResult.getRight(); @@ -645,7 +645,7 @@ protected void rethinkGroupCache(Context context, boolean flushQueries) throws S } // empty out group2groupcache table - group2GroupCacheDAO.deleteAll(context); + group2GroupCacheDAO.deleteAll(context.getSession()); // write out new one for (Map.Entry> parent : parents.entrySet()) { @@ -658,11 +658,12 @@ protected void rethinkGroupCache(Context context, boolean flushQueries) throws S if (parentGroup != null && childGroup != null && group2GroupCacheDAO - .find(context, parentGroup, childGroup) == null) { - Group2GroupCache group2GroupCache = group2GroupCacheDAO.create(context, new Group2GroupCache()); + .find(context.getSession(), parentGroup, childGroup) == null) { + Group2GroupCache group2GroupCache + = group2GroupCacheDAO.create(context.getSession(), new Group2GroupCache()); group2GroupCache.setParent(parentGroup); group2GroupCache.setChild(childGroup); - group2GroupCacheDAO.save(context, group2GroupCache); + group2GroupCacheDAO.save(context.getSession(), group2GroupCache); } } } @@ -811,18 +812,18 @@ public Group findByIdOrLegacyId(Context context, String id) throws SQLException @Override public Group findByLegacyId(Context context, int id) throws SQLException { - return groupDAO.findByLegacyId(context, id, Group.class); + return groupDAO.findByLegacyId(context.getSession(), id, Group.class); } @Override public int countTotal(Context context) throws SQLException { - return groupDAO.countRows(context); + return groupDAO.countRows(context.getSession()); } @Override public List findByMetadataField(final Context context, final String searchValue, final MetadataField metadataField) throws SQLException { - return groupDAO.findByMetadataField(context, searchValue, metadataField); + return groupDAO.findByMetadataField(context.getSession(), searchValue, metadataField); } @Override diff --git a/dspace-api/src/main/java/org/dspace/eperson/RegistrationDataServiceImpl.java b/dspace-api/src/main/java/org/dspace/eperson/RegistrationDataServiceImpl.java index b27275168556..1668d15583d4 100644 --- a/dspace-api/src/main/java/org/dspace/eperson/RegistrationDataServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/eperson/RegistrationDataServiceImpl.java @@ -35,29 +35,29 @@ protected RegistrationDataServiceImpl() { @Override public RegistrationData create(Context context) throws SQLException, AuthorizeException { - return registrationDataDAO.create(context, new RegistrationData()); + return registrationDataDAO.create(context.getSession(), new RegistrationData()); } @Override public RegistrationData findByToken(Context context, String token) throws SQLException { - return registrationDataDAO.findByToken(context, token); + return registrationDataDAO.findByToken(context.getSession(), token); } @Override public RegistrationData findByEmail(Context context, String email) throws SQLException { - return registrationDataDAO.findByEmail(context, email); + return registrationDataDAO.findByEmail(context.getSession(), email); } @Override public void deleteByToken(Context context, String token) throws SQLException { - registrationDataDAO.deleteByToken(context, token); + registrationDataDAO.deleteByToken(context.getSession(), token); } @Override public RegistrationData find(Context context, int id) throws SQLException { - return registrationDataDAO.findByID(context, RegistrationData.class, id); + return registrationDataDAO.findByID(context.getSession(), RegistrationData.class, id); } @Override @@ -70,13 +70,13 @@ public void update(Context context, List registrationDataRecor throws SQLException, AuthorizeException { if (CollectionUtils.isNotEmpty(registrationDataRecords)) { for (RegistrationData registrationData : registrationDataRecords) { - registrationDataDAO.save(context, registrationData); + registrationDataDAO.save(context.getSession(), registrationData); } } } @Override public void delete(Context context, RegistrationData registrationData) throws SQLException, AuthorizeException { - registrationDataDAO.delete(context, registrationData); + registrationDataDAO.delete(context.getSession(), registrationData); } } diff --git a/dspace-api/src/main/java/org/dspace/eperson/SubscribeServiceImpl.java b/dspace-api/src/main/java/org/dspace/eperson/SubscribeServiceImpl.java index 2e4d94f4431e..5beb622eb452 100644 --- a/dspace-api/src/main/java/org/dspace/eperson/SubscribeServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/eperson/SubscribeServiceImpl.java @@ -28,14 +28,13 @@ import org.springframework.beans.factory.annotation.Autowired; /** - * Class defining methods for sending new item e-mail alerts to users + * Class defining methods for sending new item e-mail alerts to users. * * @author Robert Tansley - * @version $Revision$ */ public class SubscribeServiceImpl implements SubscribeService { - private Logger log = LogManager.getLogger(SubscribeServiceImpl.class); + private final Logger log = LogManager.getLogger(); @Autowired(required = true) private SubscriptionDAO subscriptionDAO; @@ -48,11 +47,12 @@ public class SubscribeServiceImpl implements SubscribeService { public List findAll(Context context, String resourceType, Integer limit, Integer offset) throws Exception { if (StringUtils.isBlank(resourceType)) { - return subscriptionDAO.findAllOrderedByDSO(context, limit, offset); + return subscriptionDAO.findAllOrderedByDSO(context.getSession(), limit, offset); } else { if (resourceType.equals(Collection.class.getSimpleName()) || resourceType.equals(Community.class.getSimpleName())) { - return subscriptionDAO.findAllOrderedByIDAndResourceType(context, resourceType, limit, offset); + return subscriptionDAO.findAllOrderedByIDAndResourceType(context.getSession(), + resourceType, limit, offset); } else { log.error("Resource type must be Collection or Community"); throw new Exception("Resource type must be Collection or Community"); @@ -69,7 +69,7 @@ public Subscription subscribe(Context context, EPerson eperson, if (authorizeService.isAdmin(context) || ((context.getCurrentUser() != null) && (context .getCurrentUser().getID().equals(eperson.getID())))) { - Subscription newSubscription = subscriptionDAO.create(context, new Subscription()); + Subscription newSubscription = subscriptionDAO.create(context.getSession(), new Subscription()); subscriptionParameterList.forEach(subscriptionParameter -> newSubscription.addParameter(subscriptionParameter)); newSubscription.setEPerson(eperson); @@ -90,9 +90,9 @@ public void unsubscribe(Context context, EPerson eperson, DSpaceObject dSpaceObj .getCurrentUser().getID().equals(eperson.getID())))) { if (dSpaceObject == null) { // Unsubscribe from all - subscriptionDAO.deleteByEPerson(context, eperson); + subscriptionDAO.deleteByEPerson(context.getSession(), eperson); } else { - subscriptionDAO.deleteByDSOAndEPerson(context, dSpaceObject, eperson); + subscriptionDAO.deleteByDSOAndEPerson(context.getSession(), dSpaceObject, eperson); log.info(LogHelper.getHeader(context, "unsubscribe", "eperson_id=" + eperson.getID() + ",collection_id=" @@ -106,14 +106,14 @@ public void unsubscribe(Context context, EPerson eperson, DSpaceObject dSpaceObj @Override public List findSubscriptionsByEPerson(Context context, EPerson eperson, Integer limit,Integer offset) throws SQLException { - return subscriptionDAO.findByEPerson(context, eperson, limit, offset); + return subscriptionDAO.findByEPerson(context.getSession(), eperson, limit, offset); } @Override public List findSubscriptionsByEPersonAndDso(Context context, EPerson eperson, DSpaceObject dSpaceObject, Integer limit, Integer offset) throws SQLException { - return subscriptionDAO.findByEPersonAndDso(context, eperson, dSpaceObject, limit, offset); + return subscriptionDAO.findByEPersonAndDso(context.getSession(), eperson, dSpaceObject, limit, offset); } @Override @@ -131,80 +131,80 @@ public List findAvailableSubscriptions(Context context, EPerson eper @Override public boolean isSubscribed(Context context, EPerson eperson, DSpaceObject dSpaceObject) throws SQLException { - return subscriptionDAO.findByEPersonAndDso(context, eperson, dSpaceObject, -1, -1) != null; + return subscriptionDAO.findByEPersonAndDso(context.getSession(), eperson, dSpaceObject, -1, -1) != null; } @Override public void deleteByDspaceObject(Context context, DSpaceObject dSpaceObject) throws SQLException { - subscriptionDAO.deleteByDspaceObject(context, dSpaceObject); + subscriptionDAO.deleteByDspaceObject(context.getSession(), dSpaceObject); } @Override public void deleteByEPerson(Context context, EPerson ePerson) throws SQLException { - subscriptionDAO.deleteByEPerson(context, ePerson); + subscriptionDAO.deleteByEPerson(context.getSession(), ePerson); } @Override public Subscription findById(Context context, int id) throws SQLException { - return subscriptionDAO.findByID(context, Subscription.class, id); + return subscriptionDAO.findByID(context.getSession(), Subscription.class, id); } @Override public Subscription updateSubscription(Context context, Integer id, String subscriptionType, List subscriptionParameterList) throws SQLException { - Subscription subscriptionDB = subscriptionDAO.findByID(context, Subscription.class, id); + Subscription subscriptionDB = subscriptionDAO.findByID(context.getSession(), Subscription.class, id); subscriptionDB.removeParameterList(); subscriptionDB.setSubscriptionType(subscriptionType); subscriptionParameterList.forEach(x -> subscriptionDB.addParameter(x)); - subscriptionDAO.save(context, subscriptionDB); + subscriptionDAO.save(context.getSession(), subscriptionDB); return subscriptionDB; } @Override public Subscription addSubscriptionParameter(Context context, Integer id, SubscriptionParameter subscriptionParam) throws SQLException { - Subscription subscriptionDB = subscriptionDAO.findByID(context, Subscription.class, id); + Subscription subscriptionDB = subscriptionDAO.findByID(context.getSession(), Subscription.class, id); subscriptionDB.addParameter(subscriptionParam); - subscriptionDAO.save(context, subscriptionDB); + subscriptionDAO.save(context.getSession(), subscriptionDB); return subscriptionDB; } @Override public Subscription removeSubscriptionParameter(Context context,Integer id, SubscriptionParameter subscriptionParam) throws SQLException { - Subscription subscriptionDB = subscriptionDAO.findByID(context, Subscription.class, id); + Subscription subscriptionDB = subscriptionDAO.findByID(context.getSession(), Subscription.class, id); subscriptionDB.removeParameter(subscriptionParam); - subscriptionDAO.save(context, subscriptionDB); + subscriptionDAO.save(context.getSession(), subscriptionDB); return subscriptionDB; } @Override public void deleteSubscription(Context context, Subscription subscription) throws SQLException { - subscriptionDAO.delete(context, subscription); + subscriptionDAO.delete(context.getSession(), subscription); } @Override public List findAllSubscriptionsBySubscriptionTypeAndFrequency(Context context, String subscriptionType, String frequencyValue) throws SQLException { - return subscriptionDAO.findAllSubscriptionsBySubscriptionTypeAndFrequency(context, subscriptionType, - frequencyValue); + return subscriptionDAO.findAllSubscriptionsBySubscriptionTypeAndFrequency(context.getSession(), + subscriptionType, frequencyValue); } @Override public Long countAll(Context context) throws SQLException { - return subscriptionDAO.countAll(context); + return subscriptionDAO.countAll(context.getSession()); } @Override public Long countSubscriptionsByEPerson(Context context, EPerson ePerson) throws SQLException { - return subscriptionDAO.countAllByEPerson(context, ePerson); + return subscriptionDAO.countAllByEPerson(context.getSession(), ePerson); } @Override public Long countByEPersonAndDSO(Context context, EPerson ePerson, DSpaceObject dSpaceObject) throws SQLException { - return subscriptionDAO.countAllByEPersonAndDso(context, ePerson, dSpaceObject); + return subscriptionDAO.countAllByEPersonAndDso(context.getSession(), ePerson, dSpaceObject); } } diff --git a/dspace-api/src/main/java/org/dspace/eperson/dao/EPersonDAO.java b/dspace-api/src/main/java/org/dspace/eperson/dao/EPersonDAO.java index 51ab89ef7e8f..1980862b5955 100644 --- a/dspace-api/src/main/java/org/dspace/eperson/dao/EPersonDAO.java +++ b/dspace-api/src/main/java/org/dspace/eperson/dao/EPersonDAO.java @@ -15,9 +15,9 @@ import org.dspace.content.MetadataField; import org.dspace.content.dao.DSpaceObjectDAO; import org.dspace.content.dao.DSpaceObjectLegacySupportDAO; -import org.dspace.core.Context; import org.dspace.eperson.EPerson; import org.dspace.eperson.Group; +import org.hibernate.Session; /** * Database Access Object interface class for the EPerson object. @@ -29,25 +29,25 @@ */ public interface EPersonDAO extends DSpaceObjectDAO, DSpaceObjectLegacySupportDAO { - public EPerson findByEmail(Context context, String email) throws SQLException; + public EPerson findByEmail(Session session, String email) throws SQLException; - public EPerson findByNetid(Context context, String netid) throws SQLException; + public EPerson findByNetid(Session session, String netid) throws SQLException; - public List search(Context context, String query, List queryFields, + public List search(Session session, String query, List queryFields, List sortFields, int offset, int limit) throws SQLException; - public int searchResultCount(Context context, String query, List queryFields) throws SQLException; + public int searchResultCount(Session session, String query, List queryFields) throws SQLException; - public List findByGroups(Context context, Set groups) throws SQLException; + public List findByGroups(Session session, Set groups) throws SQLException; - public List findWithPasswordWithoutDigestAlgorithm(Context context) throws SQLException; + public List findWithPasswordWithoutDigestAlgorithm(Session session) throws SQLException; - public List findNotActiveSince(Context context, Date date) throws SQLException; + public List findNotActiveSince(Session session, Date date) throws SQLException; - public List findAll(Context context, MetadataField metadataFieldSort, String sortColumn, int pageSize, + public List findAll(Session session, MetadataField metadataFieldSort, String sortColumn, int pageSize, int offset) throws SQLException; - public List findAllSubscribers(Context context) throws SQLException; + public List findAllSubscribers(Session session) throws SQLException; - int countRows(Context context) throws SQLException; + int countRows(Session session) throws SQLException; } diff --git a/dspace-api/src/main/java/org/dspace/eperson/dao/Group2GroupCacheDAO.java b/dspace-api/src/main/java/org/dspace/eperson/dao/Group2GroupCacheDAO.java index 7db569a59e2b..877f84f29988 100644 --- a/dspace-api/src/main/java/org/dspace/eperson/dao/Group2GroupCacheDAO.java +++ b/dspace-api/src/main/java/org/dspace/eperson/dao/Group2GroupCacheDAO.java @@ -10,10 +10,10 @@ import java.sql.SQLException; import java.util.List; -import org.dspace.core.Context; import org.dspace.core.GenericDAO; import org.dspace.eperson.Group; import org.dspace.eperson.Group2GroupCache; +import org.hibernate.Session; /** * Database Access Object interface class for the Group2GroupCache object. @@ -25,13 +25,13 @@ */ public interface Group2GroupCacheDAO extends GenericDAO { - public List findByParent(Context context, Group group) throws SQLException; + public List findByParent(Session session, Group group) throws SQLException; - public List findByChildren(Context context, Iterable groups) throws SQLException; + public List findByChildren(Session session, Iterable groups) throws SQLException; - public Group2GroupCache findByParentAndChild(Context context, Group parent, Group child) throws SQLException; + public Group2GroupCache findByParentAndChild(Session session, Group parent, Group child) throws SQLException; - public Group2GroupCache find(Context context, Group parent, Group child) throws SQLException; + public Group2GroupCache find(Session session, Group parent, Group child) throws SQLException; - public void deleteAll(Context context) throws SQLException; + public void deleteAll(Session session) throws SQLException; } diff --git a/dspace-api/src/main/java/org/dspace/eperson/dao/GroupDAO.java b/dspace-api/src/main/java/org/dspace/eperson/dao/GroupDAO.java index 2cc77129f038..c75ba7446680 100644 --- a/dspace-api/src/main/java/org/dspace/eperson/dao/GroupDAO.java +++ b/dspace-api/src/main/java/org/dspace/eperson/dao/GroupDAO.java @@ -15,9 +15,9 @@ import org.dspace.content.MetadataField; import org.dspace.content.dao.DSpaceObjectDAO; import org.dspace.content.dao.DSpaceObjectLegacySupportDAO; -import org.dspace.core.Context; import org.dspace.eperson.EPerson; import org.dspace.eperson.Group; +import org.hibernate.Session; /** * Database Access Object interface class for the Group object. @@ -32,118 +32,118 @@ public interface GroupDAO extends DSpaceObjectDAO, DSpaceObjectLegacySupp /** * Look up groups based on their value for a certain metadata field (NOTE: name is not stored as metadata) * - * @param context The DSpace context + * @param session The current request's database context. * @param searchValue The value to match * @param metadataField The metadata field to search in * @return The groups that have a matching value for specified metadata field * @throws SQLException if database error */ - List findByMetadataField(Context context, String searchValue, MetadataField metadataField) + List findByMetadataField(Session session, String searchValue, MetadataField metadataField) throws SQLException; /** * Find all groups ordered by the specified metadata fields ascending * - * @param context The DSpace context + * @param session The current request's database context. * @param metadataSortFields The metadata fields to sort on * @param pageSize how many results return * @param offset the position of the first result to return * @return A list of all groups, ordered by metadata fields * @throws SQLException if database error */ - List findAll(Context context, List metadataSortFields, int pageSize, int offset) + List findAll(Session session, List metadataSortFields, int pageSize, int offset) throws SQLException; /** * Find all groups ordered by name ascending * - * @param context The DSpace context + * @param session The current request's database context. * @param pageSize how many results return * @param offset the position of the first result to return * @return A list of all groups, ordered by name * @throws SQLException if database error */ - List findAll(Context context, int pageSize, int offset) throws SQLException; + List findAll(Session session, int pageSize, int offset) throws SQLException; /** * Find all groups that the given ePerson belongs to * - * @param context The DSpace context + * @param session The current request's database context. * @param ePerson The EPerson to match * @return A list of all groups to which the given EPerson belongs * @throws SQLException if database error */ - List findByEPerson(Context context, EPerson ePerson) throws SQLException; + List findByEPerson(Session session, EPerson ePerson) throws SQLException; /** * Get a list of all direct parent - child group relations in the database * - * @param context The DSpace context + * @param session The current request's database context. * @param flushQueries Flush all pending queries * @return A list of pairs indicating parent - child * @throws SQLException if database error */ - List> getGroup2GroupResults(Context context, boolean flushQueries) throws SQLException; + List> getGroup2GroupResults(Session session, boolean flushQueries) throws SQLException; /** * Return all empty groups * - * @param context The DSpace context + * @param session The current request's database context. * @return All empty groups * @throws SQLException if database error */ - List getEmptyGroups(Context context) throws SQLException; + List getEmptyGroups(Session session) throws SQLException; /** * Count the number of groups in DSpace * - * @param context The DSpace context + * @param session The current request's database context. * @return The number of groups * @throws SQLException if database error */ - int countRows(Context context) throws SQLException; + int countRows(Session session) throws SQLException; /** * Find a group by its name (exact match) * - * @param context The DSpace context + * @param session The current request's database context. * @param name The name of the group to look for * @return The group with the specified name * @throws SQLException if database error */ - Group findByName(Context context, String name) throws SQLException; + Group findByName(Session session, String name) throws SQLException; /** * Find a group by its name (fuzzy match) * - * @param context The DSpace context + * @param session The current request's database context. * @param groupName Part of the group's name to search for * @param offset Offset to use for pagination (-1 to disable) * @param limit The maximum number of results to return (-1 to disable) * @return Groups matching the query * @throws SQLException if database error */ - List findByNameLike(Context context, String groupName, int offset, int limit) throws SQLException; + List findByNameLike(Session session, String groupName, int offset, int limit) throws SQLException; /** * Count the number of groups that have a name that contains the given string * - * @param context The DSpace context + * @param session The current request's database context. * @param groupName Part of the group's name to search for * @return The number of matching groups * @throws SQLException if database error */ - int countByNameLike(Context context, String groupName) throws SQLException; + int countByNameLike(Session session, String groupName) throws SQLException; /** * Find a group by its name and the membership of the given EPerson * - * @param context The DSpace context + * @param session The current request's database context. * @param id The id of the group to look for * @param ePerson The EPerson which has to be a member * @return The group with the specified name * @throws SQLException if database error */ - Group findByIdAndMembership(Context context, UUID id, EPerson ePerson) throws SQLException; + Group findByIdAndMembership(Session session, UUID id, EPerson ePerson) throws SQLException; } diff --git a/dspace-api/src/main/java/org/dspace/eperson/dao/RegistrationDataDAO.java b/dspace-api/src/main/java/org/dspace/eperson/dao/RegistrationDataDAO.java index 5650c5e5b2be..aba4c6f11a68 100644 --- a/dspace-api/src/main/java/org/dspace/eperson/dao/RegistrationDataDAO.java +++ b/dspace-api/src/main/java/org/dspace/eperson/dao/RegistrationDataDAO.java @@ -9,9 +9,9 @@ import java.sql.SQLException; -import org.dspace.core.Context; import org.dspace.core.GenericDAO; import org.dspace.eperson.RegistrationData; +import org.hibernate.Session; /** * Database Access Object interface class for the RegistrationData object. @@ -23,9 +23,9 @@ */ public interface RegistrationDataDAO extends GenericDAO { - public RegistrationData findByEmail(Context context, String email) throws SQLException; + public RegistrationData findByEmail(Session session, String email) throws SQLException; - public RegistrationData findByToken(Context context, String token) throws SQLException; + public RegistrationData findByToken(Session session, String token) throws SQLException; - public void deleteByToken(Context context, String token) throws SQLException; + public void deleteByToken(Session session, String token) throws SQLException; } diff --git a/dspace-api/src/main/java/org/dspace/eperson/dao/SubscriptionDAO.java b/dspace-api/src/main/java/org/dspace/eperson/dao/SubscriptionDAO.java index 4d762c1775dd..b35896aeb0e5 100644 --- a/dspace-api/src/main/java/org/dspace/eperson/dao/SubscriptionDAO.java +++ b/dspace-api/src/main/java/org/dspace/eperson/dao/SubscriptionDAO.java @@ -11,10 +11,10 @@ import java.util.List; import org.dspace.content.DSpaceObject; -import org.dspace.core.Context; import org.dspace.core.GenericDAO; import org.dspace.eperson.EPerson; import org.dspace.eperson.Subscription; +import org.hibernate.Session; /** * Database Access Object interface class for the Subscription object. @@ -28,30 +28,30 @@ public interface SubscriptionDAO extends GenericDAO { /** * Delete all subscription of provided dSpaceObject - * - * @param context DSpace context object + * + * @param session The current request's database context. * @param dSpaceObject DSpace resource * @throws SQLException If database error */ - public void deleteByDspaceObject(Context context, DSpaceObject dSpaceObject) throws SQLException; + public void deleteByDspaceObject(Session session, DSpaceObject dSpaceObject) throws SQLException; /** * Return a paginated list of all subscriptions of the eperson - * - * @param context DSpace context object + * + * @param session The current request's database context. * @param eperson ePerson whose subscriptions want to find * @param limit Paging limit * @param offset The position of the first result to return * @return * @throws SQLException If database error */ - public List findByEPerson(Context context, EPerson eperson, Integer limit, Integer offset) + public List findByEPerson(Session session, EPerson eperson, Integer limit, Integer offset) throws SQLException; /** * Return a paginated list of subscriptions related to a DSpaceObject belong to an ePerson - * - * @param context DSpace context object + * + * @param session The current request's database context. * @param eperson ePerson whose subscriptions want to find * @param dSpaceObject DSpaceObject of whom subscriptions want to find * @param limit Paging limit @@ -59,92 +59,92 @@ public List findByEPerson(Context context, EPerson eperson, Intege * @return * @throws SQLException If database error */ - public List findByEPersonAndDso(Context context, EPerson eperson, DSpaceObject dSpaceObject, + public List findByEPersonAndDso(Session session, EPerson eperson, DSpaceObject dSpaceObject, Integer limit, Integer offset) throws SQLException; /** * Delete all subscription of provided ePerson - * - * @param context DSpace context object + * + * @param session The current request's database context. * @param eperson ePerson whose subscriptions want to delete * @throws SQLException If database error */ - public void deleteByEPerson(Context context, EPerson eperson) throws SQLException; + public void deleteByEPerson(Session session, EPerson eperson) throws SQLException; /** * Delete all subscriptions related to a DSpaceObject belong to an ePerson - * - * @param context DSpace context object + * + * @param session The current request's database context. * @param dSpaceObject DSpaceObject of whom subscriptions want to delete * @param eperson ePerson whose subscriptions want to delete * @throws SQLException If database error */ - public void deleteByDSOAndEPerson(Context context, DSpaceObject dSpaceObject, EPerson eperson) throws SQLException; + public void deleteByDSOAndEPerson(Session session, DSpaceObject dSpaceObject, EPerson eperson) throws SQLException; /** * Return a paginated list of all subscriptions ordered by ID and resourceType - * - * @param context DSpace context object + * + * @param session The current request's database context. * @param resourceType Could be Collection or Community * @param limit Paging limit * @param offset The position of the first result to return * @return * @throws SQLException If database error */ - public List findAllOrderedByIDAndResourceType(Context context, String resourceType, + public List findAllOrderedByIDAndResourceType(Session session, String resourceType, Integer limit, Integer offset) throws SQLException; /** * Return a paginated list of subscriptions ordered by DSpaceObject - * - * @param context DSpace context object + * + * @param session The current request's database context. * @param limit Paging limit * @param offset The position of the first result to return * @return * @throws SQLException If database error */ - public List findAllOrderedByDSO(Context context, Integer limit, Integer offset) throws SQLException; + public List findAllOrderedByDSO(Session session, Integer limit, Integer offset) throws SQLException; /** * Return a list of all subscriptions by subscriptionType and frequency - * - * @param context DSpace context object + * + * @param session The current request's database context. * @param subscriptionType Could be "content" or "statistics". NOTE: in DSpace we have only "content" * @param frequencyValue Could be "D" stand for Day, "W" stand for Week, and "M" stand for Month * @return * @throws SQLException If database error */ - public List findAllSubscriptionsBySubscriptionTypeAndFrequency(Context context, + public List findAllSubscriptionsBySubscriptionTypeAndFrequency(Session session, String subscriptionType, String frequencyValue) throws SQLException; /** * Count all subscriptions - * - * @param context DSpace context object + * + * @param session The current request's database context. * @return Total of all subscriptions * @throws SQLException If database error */ - public Long countAll(Context context) throws SQLException; + public Long countAll(Session session) throws SQLException; /** * Count all subscriptions belong to an ePerson - * - * @param context DSpace context object + * + * @param session The current request's database context. * @param ePerson ePerson whose subscriptions want count * @return Total of all subscriptions belong to an ePerson * @throws SQLException If database error */ - public Long countAllByEPerson(Context context, EPerson ePerson) throws SQLException; + public Long countAllByEPerson(Session session, EPerson ePerson) throws SQLException; /** * Count all subscriptions related to a DSpaceObject belong to an ePerson - * - * @param context DSpace context object + * + * @param session The current request's database context. * @param ePerson ePerson whose subscriptions want count * @param dSpaceObject DSpaceObject of whom subscriptions want count * @return * @throws SQLException If database error */ - public Long countAllByEPersonAndDso(Context context, EPerson ePerson,DSpaceObject dSpaceObject) throws SQLException; + public Long countAllByEPersonAndDso(Session session, EPerson ePerson,DSpaceObject dSpaceObject) throws SQLException; } diff --git a/dspace-api/src/main/java/org/dspace/eperson/dao/impl/EPersonDAOImpl.java b/dspace-api/src/main/java/org/dspace/eperson/dao/impl/EPersonDAOImpl.java index 50547a500745..7ebe7354ccf9 100644 --- a/dspace-api/src/main/java/org/dspace/eperson/dao/impl/EPersonDAOImpl.java +++ b/dspace-api/src/main/java/org/dspace/eperson/dao/impl/EPersonDAOImpl.java @@ -25,11 +25,11 @@ import org.apache.commons.lang3.StringUtils; import org.dspace.content.MetadataField; import org.dspace.core.AbstractHibernateDSODAO; -import org.dspace.core.Context; import org.dspace.eperson.EPerson; import org.dspace.eperson.EPerson_; import org.dspace.eperson.Group; import org.dspace.eperson.dao.EPersonDAO; +import org.hibernate.Session; /** * Hibernate implementation of the Database Access Object interface class for the EPerson object. @@ -44,28 +44,28 @@ protected EPersonDAOImpl() { } @Override - public EPerson findByEmail(Context context, String email) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + public EPerson findByEmail(Session session, String email) throws SQLException { + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, EPerson.class); Root ePersonRoot = criteriaQuery.from(EPerson.class); criteriaQuery.select(ePersonRoot); criteriaQuery.where(criteriaBuilder.equal(ePersonRoot.get(EPerson_.email), email.toLowerCase())); - return uniqueResult(context, criteriaQuery, true, EPerson.class); + return uniqueResult(session, criteriaQuery, true, EPerson.class); } @Override - public EPerson findByNetid(Context context, String netid) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + public EPerson findByNetid(Session session, String netid) throws SQLException { + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, EPerson.class); Root ePersonRoot = criteriaQuery.from(EPerson.class); criteriaQuery.select(ePersonRoot); criteriaQuery.where((criteriaBuilder.equal(ePersonRoot.get(EPerson_.netid), netid))); - return uniqueResult(context, criteriaQuery, true, EPerson.class); + return uniqueResult(session, criteriaQuery, true, EPerson.class); } @Override - public List search(Context context, String query, List queryFields, + public List search(Session session, String query, List queryFields, List sortFields, int offset, int limit) throws SQLException { String queryString = "SELECT " + EPerson.class.getSimpleName() .toLowerCase() + " FROM EPerson as " + EPerson.class @@ -73,7 +73,7 @@ public List search(Context context, String query, List q if (query != null) { query = "%" + query.toLowerCase() + "%"; } - Query hibernateQuery = getSearchQuery(context, queryString, query, queryFields, sortFields, null); + Query hibernateQuery = getSearchQuery(session, queryString, query, queryFields, sortFields, null); if (0 <= offset) { hibernateQuery.setFirstResult(offset); @@ -85,15 +85,15 @@ public List search(Context context, String query, List q } @Override - public int searchResultCount(Context context, String query, List queryFields) throws SQLException { + public int searchResultCount(Session session, String query, List queryFields) throws SQLException { String queryString = "SELECT count(*) FROM EPerson as " + EPerson.class.getSimpleName().toLowerCase(); - Query hibernateQuery = getSearchQuery(context, queryString, query, queryFields, Collections.EMPTY_LIST, null); + Query hibernateQuery = getSearchQuery(session, queryString, query, queryFields, Collections.EMPTY_LIST, null); return count(hibernateQuery); } @Override - public List findAll(Context context, MetadataField metadataSortField, String sortField, int pageSize, + public List findAll(Session session, MetadataField metadataSortField, String sortField, int pageSize, int offset) throws SQLException { String queryString = "SELECT " + EPerson.class.getSimpleName() .toLowerCase() + " FROM EPerson as " + EPerson.class @@ -105,15 +105,15 @@ public List findAll(Context context, MetadataField metadataSortField, S sortFields = Collections.singletonList(metadataSortField); } - Query query = getSearchQuery(context, queryString, null, ListUtils.EMPTY_LIST, sortFields, sortField, pageSize, + Query query = getSearchQuery(session, queryString, null, ListUtils.EMPTY_LIST, sortFields, sortField, pageSize, offset); return list(query); } @Override - public List findByGroups(Context context, Set groups) throws SQLException { - Query query = createQuery(context, + public List findByGroups(Session session, Set groups) throws SQLException { + Query query = createQuery(session, "SELECT DISTINCT e FROM EPerson e " + "JOIN e.groups g " + "WHERE g.id IN (:idList) "); @@ -129,8 +129,8 @@ public List findByGroups(Context context, Set groups) throws SQL } @Override - public List findWithPasswordWithoutDigestAlgorithm(Context context) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + public List findWithPasswordWithoutDigestAlgorithm(Session session) throws SQLException { + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, EPerson.class); Root ePersonRoot = criteriaQuery.from(EPerson.class); criteriaQuery.select(ePersonRoot); @@ -138,26 +138,26 @@ public List findWithPasswordWithoutDigestAlgorithm(Context context) thr criteriaBuilder.isNull(ePersonRoot.get(EPerson_.digestAlgorithm)) ) ); - return list(context, criteriaQuery, false, EPerson.class, -1, -1); + return list(session, criteriaQuery, false, EPerson.class, -1, -1); } @Override - public List findNotActiveSince(Context context, Date date) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + public List findNotActiveSince(Session session, Date date) throws SQLException { + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, EPerson.class); Root ePersonRoot = criteriaQuery.from(EPerson.class); criteriaQuery.select(ePersonRoot); criteriaQuery.where(criteriaBuilder.lessThanOrEqualTo(ePersonRoot.get(EPerson_.lastActive), date)); - return list(context, criteriaQuery, false, EPerson.class, -1, -1); + return list(session, criteriaQuery, false, EPerson.class, -1, -1); } - protected Query getSearchQuery(Context context, String queryString, String queryParam, + protected Query getSearchQuery(Session session, String queryString, String queryParam, List queryFields, List sortFields, String sortField) throws SQLException { - return getSearchQuery(context, queryString, queryParam, queryFields, sortFields, sortField, -1, -1); + return getSearchQuery(session, queryString, queryParam, queryFields, sortFields, sortField, -1, -1); } - protected Query getSearchQuery(Context context, String queryString, String queryParam, + protected Query getSearchQuery(Session session, String queryString, String queryParam, List queryFields, List sortFields, String sortField, int pageSize, int offset) throws SQLException { @@ -178,7 +178,7 @@ protected Query getSearchQuery(Context context, String queryString, String query addMetadataSortQuery(queryBuilder, sortFields, Collections.singletonList(sortField)); } - Query query = createQuery(context, queryBuilder.toString()); + Query query = createQuery(session, queryBuilder.toString()); if (pageSize > 0) { query.setMaxResults(pageSize); } @@ -196,12 +196,12 @@ protected Query getSearchQuery(Context context, String queryString, String query } @Override - public List findAllSubscribers(Context context) throws SQLException { - return list(createQuery(context, "SELECT DISTINCT e from Subscription s join s.ePerson e")); + public List findAllSubscribers(Session session) throws SQLException { + return list(createQuery(session, "SELECT DISTINCT e from Subscription s join s.ePerson e")); } @Override - public int countRows(Context context) throws SQLException { - return count(createQuery(context, "SELECT count(*) FROM EPerson")); + public int countRows(Session session) throws SQLException { + return count(createQuery(session, "SELECT count(*) FROM EPerson")); } } diff --git a/dspace-api/src/main/java/org/dspace/eperson/dao/impl/Group2GroupCacheDAOImpl.java b/dspace-api/src/main/java/org/dspace/eperson/dao/impl/Group2GroupCacheDAOImpl.java index 83fb48aaf03d..e8c636d7ea49 100644 --- a/dspace-api/src/main/java/org/dspace/eperson/dao/impl/Group2GroupCacheDAOImpl.java +++ b/dspace-api/src/main/java/org/dspace/eperson/dao/impl/Group2GroupCacheDAOImpl.java @@ -17,11 +17,11 @@ import javax.persistence.criteria.Root; import org.dspace.core.AbstractHibernateDAO; -import org.dspace.core.Context; import org.dspace.eperson.Group; import org.dspace.eperson.Group2GroupCache; import org.dspace.eperson.Group2GroupCache_; import org.dspace.eperson.dao.Group2GroupCacheDAO; +import org.hibernate.Session; /** * Hibernate implementation of the Database Access Object interface class for the Group2GroupCache object. @@ -36,18 +36,18 @@ protected Group2GroupCacheDAOImpl() { } @Override - public List findByParent(Context context, Group group) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + public List findByParent(Session session, Group group) throws SQLException { + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, Group2GroupCache.class); Root group2GroupCacheRoot = criteriaQuery.from(Group2GroupCache.class); criteriaQuery.select(group2GroupCacheRoot); criteriaQuery.where(criteriaBuilder.equal(group2GroupCacheRoot.get(Group2GroupCache_.parent), group)); - return list(context, criteriaQuery, true, Group2GroupCache.class, -1, -1); + return list(session, criteriaQuery, true, Group2GroupCache.class, -1, -1); } @Override - public List findByChildren(Context context, Iterable groups) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + public List findByChildren(Session session, Iterable groups) throws SQLException { + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, Group2GroupCache.class); Root group2GroupCacheRoot = criteriaQuery.from(Group2GroupCache.class); List eqPredicates = new LinkedList<>(); @@ -57,12 +57,12 @@ public List findByChildren(Context context, Iterable gr Predicate orPredicate = criteriaBuilder.or(eqPredicates.toArray(new Predicate[] {})); criteriaQuery.select(group2GroupCacheRoot); criteriaQuery.where(orPredicate); - return list(context, criteriaQuery, true, Group2GroupCache.class, -1, -1); + return list(session, criteriaQuery, true, Group2GroupCache.class, -1, -1); } @Override - public Group2GroupCache findByParentAndChild(Context context, Group parent, Group child) throws SQLException { - Query query = createQuery(context, + public Group2GroupCache findByParentAndChild(Session session, Group parent, Group child) throws SQLException { + Query query = createQuery(session, "FROM Group2GroupCache g WHERE g.parent = :parentGroup AND g.child = :childGroup"); query.setParameter("parentGroup", parent); @@ -73,8 +73,8 @@ public Group2GroupCache findByParentAndChild(Context context, Group parent, Grou } @Override - public Group2GroupCache find(Context context, Group parent, Group child) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + public Group2GroupCache find(Session session, Group parent, Group child) throws SQLException { + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, Group2GroupCache.class); Root group2GroupCacheRoot = criteriaQuery.from(Group2GroupCache.class); criteriaQuery.select(group2GroupCacheRoot); @@ -83,11 +83,11 @@ public Group2GroupCache find(Context context, Group parent, Group child) throws criteriaBuilder.equal(group2GroupCacheRoot.get(Group2GroupCache_.child), child) ) ); - return uniqueResult(context, criteriaQuery, true, Group2GroupCache.class); + return uniqueResult(session, criteriaQuery, true, Group2GroupCache.class); } @Override - public void deleteAll(Context context) throws SQLException { - createQuery(context, "delete from Group2GroupCache").executeUpdate(); + public void deleteAll(Session session) throws SQLException { + createQuery(session, "delete from Group2GroupCache").executeUpdate(); } } diff --git a/dspace-api/src/main/java/org/dspace/eperson/dao/impl/GroupDAOImpl.java b/dspace-api/src/main/java/org/dspace/eperson/dao/impl/GroupDAOImpl.java index edc2ab749bfa..5f3bd0fc936b 100644 --- a/dspace-api/src/main/java/org/dspace/eperson/dao/impl/GroupDAOImpl.java +++ b/dspace-api/src/main/java/org/dspace/eperson/dao/impl/GroupDAOImpl.java @@ -17,10 +17,10 @@ import org.apache.commons.lang3.tuple.Pair; import org.dspace.content.MetadataField; import org.dspace.core.AbstractHibernateDSODAO; -import org.dspace.core.Context; import org.dspace.eperson.EPerson; import org.dspace.eperson.Group; import org.dspace.eperson.dao.GroupDAO; +import org.hibernate.Session; /** * Hibernate implementation of the Database Access Object interface class for the Group object. @@ -35,7 +35,7 @@ protected GroupDAOImpl() { } @Override - public List findByMetadataField(Context context, String searchValue, MetadataField metadataField) + public List findByMetadataField(Session session, String searchValue, MetadataField metadataField) throws SQLException { StringBuilder queryBuilder = new StringBuilder(); String groupTableName = "g"; @@ -44,7 +44,7 @@ public List findByMetadataField(Context context, String searchValue, Meta addMetadataLeftJoin(queryBuilder, groupTableName, Collections.singletonList(metadataField)); addMetadataValueWhereQuery(queryBuilder, Collections.singletonList(metadataField), "=", null); - Query query = createQuery(context, queryBuilder.toString()); + Query query = createQuery(session, queryBuilder.toString()); query.setParameter(metadataField.toString(), metadataField.getID()); query.setParameter("queryParam", searchValue); @@ -52,7 +52,7 @@ public List findByMetadataField(Context context, String searchValue, Meta } @Override - public List findAll(Context context, List sortMetadataFields, int pageSize, int offset) + public List findAll(Session session, List sortMetadataFields, int pageSize, int offset) throws SQLException { StringBuilder queryBuilder = new StringBuilder(); String groupTableName = "g"; @@ -61,7 +61,7 @@ public List findAll(Context context, List sortMetadataFiel addMetadataLeftJoin(queryBuilder, groupTableName, sortMetadataFields); addMetadataSortQuery(queryBuilder, sortMetadataFields, null); - Query query = createQuery(context, queryBuilder.toString()); + Query query = createQuery(session, queryBuilder.toString()); if (pageSize > 0) { query.setMaxResults(pageSize); } @@ -75,8 +75,8 @@ public List findAll(Context context, List sortMetadataFiel } @Override - public List findAll(Context context, int pageSize, int offset) throws SQLException { - Query query = createQuery(context, + public List findAll(Session session, int pageSize, int offset) throws SQLException { + Query query = createQuery(session, "SELECT g FROM Group g ORDER BY g.name ASC"); if (pageSize > 0) { query.setMaxResults(pageSize); @@ -90,8 +90,8 @@ public List findAll(Context context, int pageSize, int offset) throws SQL } @Override - public List findByEPerson(Context context, EPerson ePerson) throws SQLException { - Query query = createQuery(context, + public List findByEPerson(Session session, EPerson ePerson) throws SQLException { + Query query = createQuery(session, "from Group where (from EPerson e where e.id = :eperson_id) in elements(epeople)"); query.setParameter("eperson_id", ePerson.getID()); query.setHint("org.hibernate.cacheable", Boolean.TRUE); @@ -100,8 +100,8 @@ public List findByEPerson(Context context, EPerson ePerson) throws SQLExc } @Override - public Group findByName(final Context context, final String name) throws SQLException { - Query query = createQuery(context, + public Group findByName(final Session session, final String name) throws SQLException { + Query query = createQuery(session, "SELECT g from Group g " + "where g.name = :name "); @@ -112,11 +112,11 @@ public Group findByName(final Context context, final String name) throws SQLExce } @Override - public Group findByIdAndMembership(Context context, UUID id, EPerson ePerson) throws SQLException { + public Group findByIdAndMembership(Session session, UUID id, EPerson ePerson) throws SQLException { if (id == null || ePerson == null) { return null; } else { - Query query = createQuery(context, + Query query = createQuery(session, "SELECT DISTINCT g FROM Group g " + "LEFT JOIN g.epeople p " + "WHERE g.id = :id AND " + @@ -139,9 +139,9 @@ public Group findByIdAndMembership(Context context, UUID id, EPerson ePerson) th } @Override - public List findByNameLike(final Context context, final String groupName, final int offset, final int limit) + public List findByNameLike(final Session session, final String groupName, final int offset, final int limit) throws SQLException { - Query query = createQuery(context, + Query query = createQuery(session, "SELECT g FROM Group g WHERE lower(g.name) LIKE lower(:name)"); query.setParameter("name", "%" + StringUtils.trimToEmpty(groupName) + "%"); @@ -156,8 +156,8 @@ public List findByNameLike(final Context context, final String groupName, } @Override - public int countByNameLike(final Context context, final String groupName) throws SQLException { - Query query = createQuery(context, + public int countByNameLike(final Session session, final String groupName) throws SQLException { + Query query = createQuery(session, "SELECT count(*) FROM Group g WHERE lower(g.name) LIKE lower(:name)"); query.setParameter("name", "%" + groupName + "%"); @@ -165,19 +165,19 @@ public int countByNameLike(final Context context, final String groupName) throws } @Override - public void delete(Context context, Group group) throws SQLException { - Query query = getHibernateSession(context) + public void delete(Session session, Group group) throws SQLException { + Query query = session .createNativeQuery("DELETE FROM group2group WHERE parent_id=:groupId or child_id=:groupId"); query.setParameter("groupId", group.getID()); query.executeUpdate(); - super.delete(context, group); + super.delete(session, group); } @Override - public List> getGroup2GroupResults(Context context, boolean flushQueries) throws SQLException { + public List> getGroup2GroupResults(Session session, boolean flushQueries) throws SQLException { - Query query = createQuery(context, "SELECT new org.apache.commons.lang3.tuple.ImmutablePair(g.id, c.id) " + + Query query = createQuery(session, "SELECT new org.apache.commons.lang3.tuple.ImmutablePair(g.id, c.id) " + "FROM Group g " + "JOIN g.groups c "); @@ -187,13 +187,13 @@ public List> getGroup2GroupResults(Context context, boolean flu } @Override - public List getEmptyGroups(Context context) throws SQLException { - return list(createQuery(context, "SELECT g from Group g where g.epeople is EMPTY")); + public List getEmptyGroups(Session session) throws SQLException { + return list(createQuery(session, "SELECT g from Group g where g.epeople is EMPTY")); } @Override - public int countRows(Context context) throws SQLException { - return count(createQuery(context, "SELECT count(*) FROM Group")); + public int countRows(Session session) throws SQLException { + return count(createQuery(session, "SELECT count(*) FROM Group")); } } diff --git a/dspace-api/src/main/java/org/dspace/eperson/dao/impl/RegistrationDataDAOImpl.java b/dspace-api/src/main/java/org/dspace/eperson/dao/impl/RegistrationDataDAOImpl.java index 4a15dcc86796..e1fae556f0bf 100644 --- a/dspace-api/src/main/java/org/dspace/eperson/dao/impl/RegistrationDataDAOImpl.java +++ b/dspace-api/src/main/java/org/dspace/eperson/dao/impl/RegistrationDataDAOImpl.java @@ -14,10 +14,10 @@ import javax.persistence.criteria.Root; import org.dspace.core.AbstractHibernateDAO; -import org.dspace.core.Context; import org.dspace.eperson.RegistrationData; import org.dspace.eperson.RegistrationData_; import org.dspace.eperson.dao.RegistrationDataDAO; +import org.hibernate.Session; /** * Hibernate implementation of the Database Access Object interface class for the RegistrationData object. @@ -33,29 +33,29 @@ protected RegistrationDataDAOImpl() { } @Override - public RegistrationData findByEmail(Context context, String email) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + public RegistrationData findByEmail(Session session, String email) throws SQLException { + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, RegistrationData.class); Root registrationDataRoot = criteriaQuery.from(RegistrationData.class); criteriaQuery.select(registrationDataRoot); criteriaQuery.where(criteriaBuilder.equal(registrationDataRoot.get(RegistrationData_.email), email)); - return uniqueResult(context, criteriaQuery, false, RegistrationData.class); + return uniqueResult(session, criteriaQuery, false, RegistrationData.class); } @Override - public RegistrationData findByToken(Context context, String token) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + public RegistrationData findByToken(Session session, String token) throws SQLException { + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, RegistrationData.class); Root registrationDataRoot = criteriaQuery.from(RegistrationData.class); criteriaQuery.select(registrationDataRoot); criteriaQuery.where(criteriaBuilder.equal(registrationDataRoot.get(RegistrationData_.token), token)); - return uniqueResult(context, criteriaQuery, false, RegistrationData.class); + return uniqueResult(session, criteriaQuery, false, RegistrationData.class); } @Override - public void deleteByToken(Context context, String token) throws SQLException { + public void deleteByToken(Session session, String token) throws SQLException { String hql = "delete from RegistrationData where token=:token"; - Query query = createQuery(context, hql); + Query query = createQuery(session, hql); query.setParameter("token", token); query.executeUpdate(); } diff --git a/dspace-api/src/main/java/org/dspace/eperson/dao/impl/SubscriptionDAOImpl.java b/dspace-api/src/main/java/org/dspace/eperson/dao/impl/SubscriptionDAOImpl.java index 6c36211f310c..508ac08c293e 100644 --- a/dspace-api/src/main/java/org/dspace/eperson/dao/impl/SubscriptionDAOImpl.java +++ b/dspace-api/src/main/java/org/dspace/eperson/dao/impl/SubscriptionDAOImpl.java @@ -19,13 +19,13 @@ import org.dspace.content.DSpaceObject; import org.dspace.core.AbstractHibernateDAO; -import org.dspace.core.Context; import org.dspace.eperson.EPerson; import org.dspace.eperson.Subscription; import org.dspace.eperson.SubscriptionParameter; import org.dspace.eperson.SubscriptionParameter_; import org.dspace.eperson.Subscription_; import org.dspace.eperson.dao.SubscriptionDAO; +import org.hibernate.Session; /** * Hibernate implementation of the Database Access Object interface class for the Subscription object. @@ -41,9 +41,9 @@ protected SubscriptionDAOImpl() { } @Override - public List findByEPerson(Context context, EPerson eperson, Integer limit, Integer offset) + public List findByEPerson(Session session, EPerson eperson, Integer limit, Integer offset) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); javax.persistence.criteria.CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, Subscription.class); Root subscriptionRoot = criteriaQuery.from(Subscription.class); criteriaQuery.select(subscriptionRoot); @@ -51,14 +51,14 @@ public List findByEPerson(Context context, EPerson eperson, Intege List orderList = new LinkedList<>(); orderList.add(criteriaBuilder.asc(subscriptionRoot.get(Subscription_.dSpaceObject))); criteriaQuery.orderBy(orderList); - return list(context, criteriaQuery, false, Subscription.class, limit, offset); + return list(session, criteriaQuery, false, Subscription.class, limit, offset); } @Override - public List findByEPersonAndDso(Context context, EPerson eperson, + public List findByEPersonAndDso(Session session, EPerson eperson, DSpaceObject dSpaceObject, Integer limit, Integer offset) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); javax.persistence.criteria.CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, Subscription.class); Root subscriptionRoot = criteriaQuery.from(Subscription.class); @@ -70,45 +70,44 @@ public List findByEPersonAndDso(Context context, EPerson eperson, List orderList = new LinkedList<>(); orderList.add(criteriaBuilder.asc(subscriptionRoot.get(Subscription_.dSpaceObject))); criteriaQuery.orderBy(orderList); - return list(context, criteriaQuery, false, Subscription.class, limit, offset); + return list(session, criteriaQuery, false, Subscription.class, limit, offset); } - @Override - public void deleteByDspaceObject(Context context, DSpaceObject dSpaceObject) throws SQLException { + public void deleteByDspaceObject(Session session, DSpaceObject dSpaceObject) throws SQLException { String hqlQuery = "delete from Subscription where dSpaceObject=:dSpaceObject"; - Query query = createQuery(context, hqlQuery); + Query query = createQuery(session, hqlQuery); query.setParameter("dSpaceObject", dSpaceObject); query.executeUpdate(); } @Override - public void deleteByEPerson(Context context, EPerson eperson) throws SQLException { + public void deleteByEPerson(Session session, EPerson eperson) throws SQLException { String hqlQuery = "delete from Subscription where ePerson=:ePerson"; - Query query = createQuery(context, hqlQuery); + Query query = createQuery(session, hqlQuery); query.setParameter("ePerson", eperson); query.executeUpdate(); } @Override - public void deleteByDSOAndEPerson(Context context, DSpaceObject dSpaceObject, EPerson eperson) + public void deleteByDSOAndEPerson(Session session, DSpaceObject dSpaceObject, EPerson eperson) throws SQLException { String hqlQuery = "delete from Subscription where dSpaceObject=:dSpaceObject AND ePerson=:ePerson"; - Query query = createQuery(context, hqlQuery); + Query query = createQuery(session, hqlQuery); query.setParameter("dSpaceObject", dSpaceObject); query.setParameter("ePerson", eperson); query.executeUpdate(); } @Override - public List findAllOrderedByIDAndResourceType(Context context, String resourceType, + public List findAllOrderedByIDAndResourceType(Session session, String resourceType, Integer limit, Integer offset) throws SQLException { String hqlQuery = "select s from Subscription s join %s dso " + "ON dso.id = s.dSpaceObject ORDER BY subscription_id"; if (resourceType != null) { hqlQuery = String.format(hqlQuery, resourceType); } - Query query = createQuery(context, hqlQuery); + Query query = createQuery(session, hqlQuery); if (limit != -1) { query.setMaxResults(limit); } @@ -120,21 +119,21 @@ public List findAllOrderedByIDAndResourceType(Context context, Str } @Override - public List findAllOrderedByDSO(Context context, Integer limit, Integer offset) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + public List findAllOrderedByDSO(Session session, Integer limit, Integer offset) throws SQLException { + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, Subscription.class); Root subscriptionRoot = criteriaQuery.from(Subscription.class); criteriaQuery.select(subscriptionRoot); List orderList = new LinkedList<>(); orderList.add(criteriaBuilder.asc(subscriptionRoot.get(Subscription_.dSpaceObject))); criteriaQuery.orderBy(orderList); - return list(context, criteriaQuery, false, Subscription.class, limit, offset); + return list(session, criteriaQuery, false, Subscription.class, limit, offset); } @Override - public List findAllSubscriptionsBySubscriptionTypeAndFrequency(Context context, + public List findAllSubscriptionsBySubscriptionTypeAndFrequency(Session session, String subscriptionType, String frequencyValue) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, Subscription.class); Root subscriptionRoot = criteriaQuery.from(Subscription.class); criteriaQuery.select(subscriptionRoot); @@ -149,40 +148,39 @@ public List findAllSubscriptionsBySubscriptionTypeAndFrequency(Con orderList.add(criteriaBuilder.asc(subscriptionRoot.get(Subscription_.ePerson))); orderList.add(criteriaBuilder.asc(subscriptionRoot.get(Subscription_.id))); criteriaQuery.orderBy(orderList); - return list(context, criteriaQuery, false, Subscription.class, 10000, -1); + return list(session, criteriaQuery, false, Subscription.class, 10000, -1); } @Override - public Long countAll(Context context) throws SQLException { - CriteriaBuilder qb = getCriteriaBuilder(context); + public Long countAll(Session session) throws SQLException { + CriteriaBuilder qb = getCriteriaBuilder(session); CriteriaQuery cq = qb.createQuery(Long.class); cq.select(qb.count(cq.from(Subscription.class))); - Query query = this.getHibernateSession(context).createQuery(cq); + Query query = session.createQuery(cq); return (Long) query.getSingleResult(); } @Override - public Long countAllByEPerson(Context context, EPerson ePerson) throws SQLException { - CriteriaBuilder qb = getCriteriaBuilder(context); + public Long countAllByEPerson(Session session, EPerson ePerson) throws SQLException { + CriteriaBuilder qb = getCriteriaBuilder(session); CriteriaQuery cq = qb.createQuery(Long.class); Root subscriptionRoot = cq.from(Subscription.class); cq.select(qb.count(subscriptionRoot)); cq.where(qb.equal(subscriptionRoot.get(Subscription_.ePerson), ePerson)); - Query query = this.getHibernateSession(context).createQuery(cq); + Query query = session.createQuery(cq); return (Long) query.getSingleResult(); } @Override - public Long countAllByEPersonAndDso(Context context, + public Long countAllByEPersonAndDso(Session session, EPerson ePerson, DSpaceObject dSpaceObject) throws SQLException { - CriteriaBuilder qb = getCriteriaBuilder(context); + CriteriaBuilder qb = getCriteriaBuilder(session); CriteriaQuery cq = qb.createQuery(Long.class); Root subscriptionRoot = cq.from(Subscription.class); cq.select(qb.count(subscriptionRoot)); cq.where(qb.and(qb.equal(subscriptionRoot.get(Subscription_.ePerson) , ePerson), qb.equal(subscriptionRoot.get(Subscription_.dSpaceObject), dSpaceObject))); - Query query = this.getHibernateSession(context).createQuery(cq); + Query query = session.createQuery(cq); return (Long) query.getSingleResult(); } - } \ No newline at end of file diff --git a/dspace-api/src/main/java/org/dspace/handle/HandleServiceImpl.java b/dspace-api/src/main/java/org/dspace/handle/HandleServiceImpl.java index aa730fe2b115..ef0a7625ba1e 100644 --- a/dspace-api/src/main/java/org/dspace/handle/HandleServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/handle/HandleServiceImpl.java @@ -138,14 +138,14 @@ public String getCanonicalForm(String handle) { @Override public String createHandle(Context context, DSpaceObject dso) throws SQLException { - Handle handle = handleDAO.create(context, new Handle()); + Handle handle = handleDAO.create(context.getSession(), new Handle()); String handleId = createId(context); handle.setHandle(handleId); handle.setDSpaceObject(dso); dso.addHandle(handle); handle.setResourceTypeId(dso.getType()); - handleDAO.save(context, handle); + handleDAO.save(context.getSession(), handle); log.debug("Created new handle for {} (ID={}) {}", () -> Constants.typeText[dso.getType()], @@ -192,14 +192,14 @@ public String createHandle(Context context, DSpaceObject dso, } else if (handle == null) { //if handle not found, create it //handle not found in DB table -- create a new table entry - handle = handleDAO.create(context, new Handle()); + handle = handleDAO.create(context.getSession(), new Handle()); handle.setHandle(suppliedHandle); } handle.setResourceTypeId(dso.getType()); handle.setDSpaceObject(dso); dso.addHandle(handle); - handleDAO.save(context, handle); + handleDAO.save(context.getSession(), handle); log.debug("Created new handle for {} (ID={}) {}", () -> Constants.typeText[dso.getType()], @@ -224,7 +224,7 @@ public void unbindHandle(Context context, DSpaceObject dso) handle.setDSpaceObject(null); - handleDAO.save(context, handle); + handleDAO.save(context.getSession(), handle); log.debug("Unbound Handle {} from object {} id={}", () -> handle.getHandle(), @@ -279,7 +279,7 @@ public String findHandle(Context context, DSpaceObject dso) @Override public List getHandlesForPrefix(Context context, String prefix) throws SQLException { - List handles = handleDAO.findByPrefix(context, prefix); + List handles = handleDAO.findByPrefix(context.getSession(), prefix); List handleStrings = new ArrayList<>(handles.size()); for (Handle handle : handles) { handleStrings.add(handle.getHandle()); @@ -299,12 +299,12 @@ public String getPrefix() { @Override public long countHandlesByPrefix(Context context, String prefix) throws SQLException { - return handleDAO.countHandlesByPrefix(context, prefix); + return handleDAO.countHandlesByPrefix(context.getSession(), prefix); } @Override public int updateHandlesWithNewPrefix(Context context, String newPrefix, String oldPrefix) throws SQLException { - return handleDAO.updateHandlesWithNewPrefix(context, newPrefix, oldPrefix); + return handleDAO.updateHandlesWithNewPrefix(context.getSession(), newPrefix, oldPrefix); } @Override @@ -321,7 +321,7 @@ public void modifyHandleDSpaceObject(Context context, String handle, DSpaceObjec dbHandle.setDSpaceObject(newOwner); dbHandle.setResourceTypeId(newOwner.getType()); newOwner.getHandles().add(0, dbHandle); - handleDAO.save(context, dbHandle); + handleDAO.save(context.getSession(), dbHandle); } } @@ -343,7 +343,7 @@ protected Handle findHandleInternal(Context context, String handle) throw new IllegalArgumentException("Handle is null"); } - return handleDAO.findByHandle(context, handle); + return handleDAO.findByHandle(context.getSession(), handle); } /** @@ -358,14 +358,14 @@ protected String createId(Context context) throws SQLException { String handlePrefix = getPrefix(); // Get next available suffix (as a Long, since DSpace uses an incrementing sequence) - Long handleSuffix = handleDAO.getNextHandleSuffix(context); + Long handleSuffix = handleDAO.getNextHandleSuffix(context.getSession()); return handlePrefix + (handlePrefix.endsWith("/") ? "" : "/") + handleSuffix.toString(); } @Override public int countTotal(Context context) throws SQLException { - return handleDAO.countRows(context); + return handleDAO.countRows(context.getSession()); } @Override diff --git a/dspace-api/src/main/java/org/dspace/handle/dao/HandleDAO.java b/dspace-api/src/main/java/org/dspace/handle/dao/HandleDAO.java index 2b4d16447e8b..57b0063d1512 100644 --- a/dspace-api/src/main/java/org/dspace/handle/dao/HandleDAO.java +++ b/dspace-api/src/main/java/org/dspace/handle/dao/HandleDAO.java @@ -11,9 +11,9 @@ import java.util.List; import org.dspace.content.DSpaceObject; -import org.dspace.core.Context; import org.dspace.core.GenericDAO; import org.dspace.handle.Handle; +import org.hibernate.Session; /** * Database Access Object interface class for the Handle object. @@ -25,17 +25,17 @@ */ public interface HandleDAO extends GenericDAO { - public Long getNextHandleSuffix(Context context) throws SQLException; + public Long getNextHandleSuffix(Session session) throws SQLException; - public List getHandlesByDSpaceObject(Context context, DSpaceObject dso) throws SQLException; + public List getHandlesByDSpaceObject(Session session, DSpaceObject dso) throws SQLException; - public Handle findByHandle(Context context, String handle) throws SQLException; + public Handle findByHandle(Session session, String handle) throws SQLException; - public List findByPrefix(Context context, String prefix) throws SQLException; + public List findByPrefix(Session session, String prefix) throws SQLException; - public long countHandlesByPrefix(Context context, String prefix) throws SQLException; + public long countHandlesByPrefix(Session session, String prefix) throws SQLException; - int updateHandlesWithNewPrefix(Context context, String newPrefix, String oldPrefix) throws SQLException; + int updateHandlesWithNewPrefix(Session session, String newPrefix, String oldPrefix) throws SQLException; - int countRows(Context context) throws SQLException; + int countRows(Session session) throws SQLException; } diff --git a/dspace-api/src/main/java/org/dspace/handle/dao/impl/HandleDAOImpl.java b/dspace-api/src/main/java/org/dspace/handle/dao/impl/HandleDAOImpl.java index 3bd702bf809c..48c3a98233e3 100644 --- a/dspace-api/src/main/java/org/dspace/handle/dao/impl/HandleDAOImpl.java +++ b/dspace-api/src/main/java/org/dspace/handle/dao/impl/HandleDAOImpl.java @@ -20,10 +20,10 @@ import org.dspace.content.DSpaceObject; import org.dspace.core.AbstractHibernateDAO; -import org.dspace.core.Context; import org.dspace.handle.Handle; import org.dspace.handle.Handle_; import org.dspace.handle.dao.HandleDAO; +import org.hibernate.Session; import org.hibernate.dialect.Dialect; import org.hibernate.engine.jdbc.dialect.internal.StandardDialectResolver; import org.hibernate.engine.jdbc.dialect.spi.DatabaseMetaDataDialectResolutionInfoAdapter; @@ -46,11 +46,11 @@ protected HandleDAOImpl() { } @Override - public List getHandlesByDSpaceObject(Context context, DSpaceObject dso) throws SQLException { + public List getHandlesByDSpaceObject(Session session, DSpaceObject dso) throws SQLException { if (dso == null) { return Collections.emptyList(); } else { - Query query = createQuery(context, + Query query = createQuery(session, "SELECT h " + "FROM Handle h " + "LEFT JOIN FETCH h.dso " + @@ -64,8 +64,8 @@ public List getHandlesByDSpaceObject(Context context, DSpaceObject dso) } @Override - public Handle findByHandle(Context context, String handle) throws SQLException { - Query query = createQuery(context, + public Handle findByHandle(Session session, String handle) throws SQLException { + Query query = createQuery(session, "SELECT h " + "FROM Handle h " + "LEFT JOIN FETCH h.dso " + @@ -78,34 +78,34 @@ public Handle findByHandle(Context context, String handle) throws SQLException { } @Override - public List findByPrefix(Context context, String prefix) throws SQLException { + public List findByPrefix(Session session, String prefix) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, Handle.class); Root handleRoot = criteriaQuery.from(Handle.class); criteriaQuery.select(handleRoot); criteriaQuery.where(criteriaBuilder.like(handleRoot.get(Handle_.handle), prefix + "%")); - return list(context, criteriaQuery, false, Handle.class, -1, -1); + return list(session, criteriaQuery, false, Handle.class, -1, -1); } @Override - public long countHandlesByPrefix(Context context, String prefix) throws SQLException { + public long countHandlesByPrefix(Session session, String prefix) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = criteriaBuilder.createQuery(Long.class); Root handleRoot = criteriaQuery.from(Handle.class); criteriaQuery.select(criteriaBuilder.count(criteriaQuery.from(Handle.class))); criteriaQuery.where(criteriaBuilder.like(handleRoot.get(Handle_.handle), prefix + "%")); - return countLong(context, criteriaQuery, criteriaBuilder, handleRoot); + return countLong(session, criteriaQuery, criteriaBuilder, handleRoot); } @Override - public int updateHandlesWithNewPrefix(Context context, String newPrefix, String oldPrefix) throws SQLException { + public int updateHandlesWithNewPrefix(Session session, String newPrefix, String oldPrefix) throws SQLException { String hql = "UPDATE Handle set handle = concat(:newPrefix, '/', substring(handle, :oldPrefixLength + 2)) " + "WHERE handle like concat(:oldPrefix,'%')"; - Query query = createQuery(context, hql); + Query query = createQuery(session, hql); query.setParameter("newPrefix", newPrefix); query.setParameter("oldPrefixLength", oldPrefix.length()); query.setParameter("oldPrefix", oldPrefix); @@ -113,18 +113,18 @@ public int updateHandlesWithNewPrefix(Context context, String newPrefix, String } @Override - public int countRows(Context context) throws SQLException { - return count(createQuery(context, "SELECT count(*) FROM Handle")); + public int countRows(Session session) throws SQLException { + return count(createQuery(session, "SELECT count(*) FROM Handle")); } /** * Return next available value of Handle suffix (based on DB sequence). - * @param context Current DSpace Context + * @param session the current request's database context. * @return next available Handle suffix (as a Long) * @throws SQLException if database error or sequence doesn't exist */ @Override - public Long getNextHandleSuffix(Context context) throws SQLException { + public Long getNextHandleSuffix(Session session) throws SQLException { // Create a new Hibernate ReturningWork, which will return the // result of the next value in the Handle Sequence. ReturningWork nextValReturningWork = new ReturningWork() { @@ -153,6 +153,6 @@ public Long execute(Connection connection) throws SQLException { }; // Run our work, returning the next value in the sequence (see 'nextValReturningWork' above) - return getHibernateSession(context).doReturningWork(nextValReturningWork); + return session.doReturningWork(nextValReturningWork); } } diff --git a/dspace-api/src/main/java/org/dspace/harvest/HarvestedCollectionServiceImpl.java b/dspace-api/src/main/java/org/dspace/harvest/HarvestedCollectionServiceImpl.java index 0ad83a329234..87efbfb3fc5b 100644 --- a/dspace-api/src/main/java/org/dspace/harvest/HarvestedCollectionServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/harvest/HarvestedCollectionServiceImpl.java @@ -57,12 +57,13 @@ protected HarvestedCollectionServiceImpl() { @Override public HarvestedCollection find(Context context, Collection collection) throws SQLException { - return harvestedCollectionDAO.findByCollection(context, collection); + return harvestedCollectionDAO.findByCollection(context.getSession(), collection); } @Override public HarvestedCollection create(Context context, Collection collection) throws SQLException { - HarvestedCollection harvestedCollection = harvestedCollectionDAO.create(context, new HarvestedCollection()); + HarvestedCollection harvestedCollection + = harvestedCollectionDAO.create(context.getSession(), new HarvestedCollection()); harvestedCollection.setCollection(collection); harvestedCollection.setHarvestType(HarvestedCollection.TYPE_NONE); update(context, harvestedCollection); @@ -109,7 +110,7 @@ public boolean isReady(HarvestedCollection harvestedCollection) throws SQLExcept @Override public List findAll(Context context) throws SQLException { - return harvestedCollectionDAO.findAll(context, HarvestedCollection.class); + return harvestedCollectionDAO.findAll(context.getSession(), HarvestedCollection.class); } @Override @@ -140,7 +141,7 @@ public List findReady(Context context) throws SQLException int[] statuses = new int[] {HarvestedCollection.STATUS_READY, HarvestedCollection.STATUS_OAI_ERROR}; return harvestedCollectionDAO - .findByLastHarvestedAndHarvestTypeAndHarvestStatusesAndHarvestTime(context, startTime, + .findByLastHarvestedAndHarvestTypeAndHarvestStatusesAndHarvestTime(context.getSession(), startTime, HarvestedCollection.TYPE_NONE, statuses, HarvestedCollection.STATUS_BUSY, expirationTime); @@ -148,36 +149,36 @@ public List findReady(Context context) throws SQLException @Override public List findByStatus(Context context, int status) throws SQLException { - return harvestedCollectionDAO.findByStatus(context, status); + return harvestedCollectionDAO.findByStatus(context.getSession(), status); } @Override public HarvestedCollection findOldestHarvest(Context context) throws SQLException { return harvestedCollectionDAO - .findByStatusAndMinimalTypeOrderByLastHarvestedAsc(context, HarvestedCollection.STATUS_READY, + .findByStatusAndMinimalTypeOrderByLastHarvestedAsc(context.getSession(), HarvestedCollection.STATUS_READY, HarvestedCollection.TYPE_NONE, 1); } @Override public HarvestedCollection findNewestHarvest(Context context) throws SQLException { return harvestedCollectionDAO - .findByStatusAndMinimalTypeOrderByLastHarvestedDesc(context, HarvestedCollection.STATUS_READY, + .findByStatusAndMinimalTypeOrderByLastHarvestedDesc(context.getSession(), HarvestedCollection.STATUS_READY, HarvestedCollection.TYPE_NONE, 1); } @Override public void delete(Context context, HarvestedCollection harvestedCollection) throws SQLException { - harvestedCollectionDAO.delete(context, harvestedCollection); + harvestedCollectionDAO.delete(context.getSession(), harvestedCollection); } @Override public void update(Context context, HarvestedCollection harvestedCollection) throws SQLException { - harvestedCollectionDAO.save(context, harvestedCollection); + harvestedCollectionDAO.save(context.getSession(), harvestedCollection); } @Override public boolean exists(Context context) throws SQLException { - return 0 < harvestedCollectionDAO.count(context); + return 0 < harvestedCollectionDAO.count(context.getSession()); } /** @@ -253,7 +254,7 @@ public List verifyOAIharvester(String oaiSource, Document reply = db.build(ls.getDocument()); Element root = reply.getRootElement(); //Check if we can find items, if so this indicates that we have children and our sets exist - foundSet = 0 < root.getChild("ListIdentifiers", OAI_NS).getChildren().size(); + foundSet = !root.getChild("ListIdentifiers", OAI_NS).getChildren().isEmpty(); if (!foundSet) { errorSet.add(OAI_SET_ERROR + ": The OAI server does not have a set with the specified setSpec"); diff --git a/dspace-api/src/main/java/org/dspace/harvest/HarvestedItemServiceImpl.java b/dspace-api/src/main/java/org/dspace/harvest/HarvestedItemServiceImpl.java index 32cc3f8358b7..a7d0fd2aec97 100644 --- a/dspace-api/src/main/java/org/dspace/harvest/HarvestedItemServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/harvest/HarvestedItemServiceImpl.java @@ -34,12 +34,13 @@ protected HarvestedItemServiceImpl() { @Override public HarvestedItem find(Context context, Item item) throws SQLException { - return harvestedItemDAO.findByItem(context, item); + return harvestedItemDAO.findByItem(context.getSession(), item); } @Override public Item getItemByOAIId(Context context, String itemOaiID, Collection collection) throws SQLException { - HarvestedItem harvestedItem = harvestedItemDAO.findByOAIId(context, itemOaiID, collection); + HarvestedItem harvestedItem + = harvestedItemDAO.findByOAIId(context.getSession(), itemOaiID, collection); if (harvestedItem != null) { return harvestedItem.getItem(); } else { @@ -49,7 +50,7 @@ public Item getItemByOAIId(Context context, String itemOaiID, Collection collect @Override public HarvestedItem create(Context context, Item item, String itemOAIid) throws SQLException { - HarvestedItem harvestedItem = harvestedItemDAO.create(context, new HarvestedItem()); + HarvestedItem harvestedItem = harvestedItemDAO.create(context.getSession(), new HarvestedItem()); harvestedItem.setItem(item); harvestedItem.setOaiId(itemOAIid); update(context, harvestedItem); @@ -58,12 +59,12 @@ public HarvestedItem create(Context context, Item item, String itemOAIid) throws @Override public void update(Context context, HarvestedItem harvestedItem) throws SQLException { - harvestedItemDAO.save(context, harvestedItem); + harvestedItemDAO.save(context.getSession(), harvestedItem); } @Override public void delete(Context context, HarvestedItem harvestedItem) throws SQLException { - harvestedItemDAO.delete(context, harvestedItem); + harvestedItemDAO.delete(context.getSession(), harvestedItem); } diff --git a/dspace-api/src/main/java/org/dspace/harvest/dao/HarvestedCollectionDAO.java b/dspace-api/src/main/java/org/dspace/harvest/dao/HarvestedCollectionDAO.java index 8fc1c0eefab6..73334b261979 100644 --- a/dspace-api/src/main/java/org/dspace/harvest/dao/HarvestedCollectionDAO.java +++ b/dspace-api/src/main/java/org/dspace/harvest/dao/HarvestedCollectionDAO.java @@ -12,9 +12,9 @@ import java.util.List; import org.dspace.content.Collection; -import org.dspace.core.Context; import org.dspace.core.GenericDAO; import org.dspace.harvest.HarvestedCollection; +import org.hibernate.Session; /** * Database Access Object interface class for the HarvestedCollection object. @@ -26,17 +26,17 @@ */ public interface HarvestedCollectionDAO extends GenericDAO { - public HarvestedCollection findByStatusAndMinimalTypeOrderByLastHarvestedDesc(Context context, int status, int type, + public HarvestedCollection findByStatusAndMinimalTypeOrderByLastHarvestedDesc(Session session, int status, int type, int limit) throws SQLException; - public HarvestedCollection findByStatusAndMinimalTypeOrderByLastHarvestedAsc(Context context, int status, int type, + public HarvestedCollection findByStatusAndMinimalTypeOrderByLastHarvestedAsc(Session session, int status, int type, int limit) throws SQLException; - public List findByStatus(Context context, int status) throws SQLException; + public List findByStatus(Session session, int status) throws SQLException; - public HarvestedCollection findByCollection(Context context, Collection collection) throws SQLException; + public HarvestedCollection findByCollection(Session session, Collection collection) throws SQLException; - List findByLastHarvestedAndHarvestTypeAndHarvestStatusesAndHarvestTime(Context context, + List findByLastHarvestedAndHarvestTypeAndHarvestStatusesAndHarvestTime(Session session, Date startTime, int minimalType, int[] statuses, @@ -44,6 +44,6 @@ List findByLastHarvestedAndHarvestTypeAndHarvestStatusesAnd Date expirationTime) throws SQLException; - public int count(Context context) throws SQLException; + public int count(Session session) throws SQLException; } diff --git a/dspace-api/src/main/java/org/dspace/harvest/dao/HarvestedItemDAO.java b/dspace-api/src/main/java/org/dspace/harvest/dao/HarvestedItemDAO.java index e20822decc5c..0710c0d81ef1 100644 --- a/dspace-api/src/main/java/org/dspace/harvest/dao/HarvestedItemDAO.java +++ b/dspace-api/src/main/java/org/dspace/harvest/dao/HarvestedItemDAO.java @@ -11,9 +11,9 @@ import org.dspace.content.Collection; import org.dspace.content.Item; -import org.dspace.core.Context; import org.dspace.core.GenericDAO; import org.dspace.harvest.HarvestedItem; +import org.hibernate.Session; /** * Database Access Object interface class for the HarvestedItem object. @@ -25,7 +25,7 @@ */ public interface HarvestedItemDAO extends GenericDAO { - public HarvestedItem findByItem(Context context, Item item) throws SQLException; + public HarvestedItem findByItem(Session session, Item item) throws SQLException; - public HarvestedItem findByOAIId(Context context, String itemOaiID, Collection collection) throws SQLException; + public HarvestedItem findByOAIId(Session session, String itemOaiID, Collection collection) throws SQLException; } diff --git a/dspace-api/src/main/java/org/dspace/harvest/dao/impl/HarvestedCollectionDAOImpl.java b/dspace-api/src/main/java/org/dspace/harvest/dao/impl/HarvestedCollectionDAOImpl.java index 95a0bdf2163e..db49a2d3366c 100644 --- a/dspace-api/src/main/java/org/dspace/harvest/dao/impl/HarvestedCollectionDAOImpl.java +++ b/dspace-api/src/main/java/org/dspace/harvest/dao/impl/HarvestedCollectionDAOImpl.java @@ -18,10 +18,10 @@ import org.dspace.content.Collection; import org.dspace.core.AbstractHibernateDAO; -import org.dspace.core.Context; import org.dspace.harvest.HarvestedCollection; import org.dspace.harvest.HarvestedCollection_; import org.dspace.harvest.dao.HarvestedCollectionDAO; +import org.hibernate.Session; /** * Hibernate implementation of the Database Access Object interface class for the HarvestedCollection object. @@ -38,10 +38,10 @@ protected HarvestedCollectionDAOImpl() { @Override - public HarvestedCollection findByStatusAndMinimalTypeOrderByLastHarvestedDesc(Context context, int status, int type, + public HarvestedCollection findByStatusAndMinimalTypeOrderByLastHarvestedDesc(Session session, int status, int type, int limit) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, HarvestedCollection.class); Root harvestedCollectionRoot = criteriaQuery.from(HarvestedCollection.class); criteriaQuery.select(harvestedCollectionRoot); @@ -50,13 +50,13 @@ public HarvestedCollection findByStatusAndMinimalTypeOrderByLastHarvestedDesc(Co orderList.add(criteriaBuilder.desc(harvestedCollectionRoot.get(HarvestedCollection_.lastHarvested))); criteriaQuery.orderBy(orderList); - return singleResult(context, criteriaQuery); + return singleResult(session, criteriaQuery); } @Override - public HarvestedCollection findByStatusAndMinimalTypeOrderByLastHarvestedAsc(Context context, int status, int type, + public HarvestedCollection findByStatusAndMinimalTypeOrderByLastHarvestedAsc(Session session, int status, int type, int limit) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, HarvestedCollection.class); Root harvestedCollectionRoot = criteriaQuery.from(HarvestedCollection.class); criteriaQuery.select(harvestedCollectionRoot); @@ -65,42 +65,42 @@ public HarvestedCollection findByStatusAndMinimalTypeOrderByLastHarvestedAsc(Con orderList.add(criteriaBuilder.asc(harvestedCollectionRoot.get(HarvestedCollection_.lastHarvested))); criteriaQuery.orderBy(orderList); - return singleResult(context, criteriaQuery); + return singleResult(session, criteriaQuery); } @Override - public List findByStatus(Context context, int status) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + public List findByStatus(Session session, int status) throws SQLException { + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, HarvestedCollection.class); Root harvestedCollectionRoot = criteriaQuery.from(HarvestedCollection.class); criteriaQuery.select(harvestedCollectionRoot); criteriaQuery .where(criteriaBuilder.equal(harvestedCollectionRoot.get(HarvestedCollection_.harvestStatus), status)); - return list(context, criteriaQuery, false, HarvestedCollection.class, -1, -1); + return list(session, criteriaQuery, false, HarvestedCollection.class, -1, -1); } @Override - public HarvestedCollection findByCollection(Context context, Collection collection) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + public HarvestedCollection findByCollection(Session session, Collection collection) throws SQLException { + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, HarvestedCollection.class); Root harvestedCollectionRoot = criteriaQuery.from(HarvestedCollection.class); criteriaQuery.select(harvestedCollectionRoot); criteriaQuery .where(criteriaBuilder.equal(harvestedCollectionRoot.get(HarvestedCollection_.collection), collection)); - return singleResult(context, criteriaQuery); + return singleResult(session, criteriaQuery); } @Override public List - findByLastHarvestedAndHarvestTypeAndHarvestStatusesAndHarvestTime(Context context, + findByLastHarvestedAndHarvestTypeAndHarvestStatusesAndHarvestTime(Session session, Date startTime, int minimalType, int[] statuses, int expirationStatus, Date expirationTime) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, HarvestedCollection.class); Root harvestedCollectionRoot = criteriaQuery.from(HarvestedCollection.class); criteriaQuery.select(harvestedCollectionRoot); @@ -143,24 +143,24 @@ public HarvestedCollection findByCollection(Context context, Collection collecti criteriaQuery.orderBy(orderList); - return list(context, criteriaQuery, false, HarvestedCollection.class, -1, -1); + return list(session, criteriaQuery, false, HarvestedCollection.class, -1, -1); } @Override - public int count(Context context) throws SQLException { + public int count(Session session) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = criteriaBuilder.createQuery(Long.class); Root harvestedCollectionRoot = criteriaQuery.from(HarvestedCollection.class); - return count(context, criteriaQuery, criteriaBuilder, harvestedCollectionRoot); + return count(session, criteriaQuery, criteriaBuilder, harvestedCollectionRoot); } - protected CriteriaQuery getByStatusAndMinimalTypeCriteria(Context context, int status, int type) + protected CriteriaQuery getByStatusAndMinimalTypeCriteria(Session session, int status, int type) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, HarvestedCollection.class); Root harvestedCollectionRoot = criteriaQuery.from(HarvestedCollection.class); criteriaQuery.select(harvestedCollectionRoot); diff --git a/dspace-api/src/main/java/org/dspace/harvest/dao/impl/HarvestedItemDAOImpl.java b/dspace-api/src/main/java/org/dspace/harvest/dao/impl/HarvestedItemDAOImpl.java index 9e9838be6c1c..ae6fad0320e5 100644 --- a/dspace-api/src/main/java/org/dspace/harvest/dao/impl/HarvestedItemDAOImpl.java +++ b/dspace-api/src/main/java/org/dspace/harvest/dao/impl/HarvestedItemDAOImpl.java @@ -17,10 +17,10 @@ import org.dspace.content.Item; import org.dspace.content.Item_; import org.dspace.core.AbstractHibernateDAO; -import org.dspace.core.Context; import org.dspace.harvest.HarvestedItem; import org.dspace.harvest.HarvestedItem_; import org.dspace.harvest.dao.HarvestedItemDAO; +import org.hibernate.Session; /** * Hibernate implementation of the Database Access Object interface class for the HarvestedItem object. @@ -35,19 +35,19 @@ protected HarvestedItemDAOImpl() { } @Override - public HarvestedItem findByItem(Context context, Item item) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + public HarvestedItem findByItem(Session session, Item item) throws SQLException { + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, HarvestedItem.class); Root harvestedItemRoot = criteriaQuery.from(HarvestedItem.class); criteriaQuery.select(harvestedItemRoot); criteriaQuery.where(criteriaBuilder.equal(harvestedItemRoot.get(HarvestedItem_.item), item)); - return singleResult(context, criteriaQuery); + return singleResult(session, criteriaQuery); } @Override - public HarvestedItem findByOAIId(Context context, String itemOaiID, Collection collection) throws SQLException { + public HarvestedItem findByOAIId(Session session, String itemOaiID, Collection collection) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, HarvestedItem.class); Root harvestedItemRoot = criteriaQuery.from(HarvestedItem.class); Join join = harvestedItemRoot.join("item"); @@ -57,7 +57,6 @@ public HarvestedItem findByOAIId(Context context, String itemOaiID, Collection c criteriaBuilder.equal(join.get(Item_.owningCollection), collection) ) ); - return singleResult(context, criteriaQuery); - + return singleResult(session, criteriaQuery); } } diff --git a/dspace-api/src/main/java/org/dspace/identifier/DOIServiceImpl.java b/dspace-api/src/main/java/org/dspace/identifier/DOIServiceImpl.java index 99643db33fa0..e3fde13f588e 100644 --- a/dspace-api/src/main/java/org/dspace/identifier/DOIServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/identifier/DOIServiceImpl.java @@ -49,28 +49,28 @@ protected DOIServiceImpl() { @Override public void update(Context context, DOI doi) throws SQLException { - doiDAO.save(context, doi); + doiDAO.save(context.getSession(), doi); } @Override public DOI create(Context context) throws SQLException { - return doiDAO.create(context, new DOI()); + return doiDAO.create(context.getSession(), new DOI()); } @Override public DOI findByDoi(Context context, String doi) throws SQLException { - return doiDAO.findByDoi(context, doi); + return doiDAO.findByDoi(context.getSession(), doi); } @Override public DOI findDOIByDSpaceObject(Context context, DSpaceObject dso) throws SQLException { - return doiDAO.findDOIByDSpaceObject(context, dso); + return doiDAO.findDOIByDSpaceObject(context.getSession(), dso); } @Override public DOI findDOIByDSpaceObject(Context context, DSpaceObject dso, List statusToExclude) throws SQLException { - return doiDAO.findDOIByDSpaceObject(context, dso, statusToExclude); + return doiDAO.findDOIByDSpaceObject(context.getSession(), dso, statusToExclude); } @Override @@ -161,14 +161,14 @@ public String formatIdentifier(String identifier) throws DOIIdentifierException @Override public List getDOIsByStatus(Context context, List statuses) throws SQLException { - return doiDAO.findByStatus(context, statuses); + return doiDAO.findByStatus(context.getSession(), statuses); } @Override public List getSimilarDOIsNotInState(Context context, String doiPattern, List statuses, boolean dsoIsNotNull) throws SQLException { - return doiDAO.findSimilarNotInState(context, doiPattern, statuses, dsoIsNotNull); + return doiDAO.findSimilarNotInState(context.getSession(), doiPattern, statuses, dsoIsNotNull); } @Override diff --git a/dspace-api/src/main/java/org/dspace/identifier/dao/DOIDAO.java b/dspace-api/src/main/java/org/dspace/identifier/dao/DOIDAO.java index 8085c6599b69..3f2a407fc6b7 100644 --- a/dspace-api/src/main/java/org/dspace/identifier/dao/DOIDAO.java +++ b/dspace-api/src/main/java/org/dspace/identifier/dao/DOIDAO.java @@ -11,9 +11,9 @@ import java.util.List; import org.dspace.content.DSpaceObject; -import org.dspace.core.Context; import org.dspace.core.GenericDAO; import org.dspace.identifier.DOI; +import org.hibernate.Session; /** * Database Access Object interface class for the DOI object. @@ -23,15 +23,15 @@ * @author kevinvandevelde at atmire.com */ public interface DOIDAO extends GenericDAO { - public DOI findByDoi(Context context, String doi) throws SQLException; + public DOI findByDoi(Session session, String doi) throws SQLException; - public DOI findDOIByDSpaceObject(Context context, DSpaceObject dso, List statusToExclude) + public DOI findDOIByDSpaceObject(Session session, DSpaceObject dso, List statusToExclude) throws SQLException; - public List findSimilarNotInState(Context context, String doi, List statuses, boolean dsoNotNull) + public List findSimilarNotInState(Session session, String doi, List statuses, boolean dsoNotNull) throws SQLException; - public List findByStatus(Context context, List statuses) throws SQLException; + public List findByStatus(Session session, List statuses) throws SQLException; - public DOI findDOIByDSpaceObject(Context context, DSpaceObject dso) throws SQLException; + public DOI findDOIByDSpaceObject(Session session, DSpaceObject dso) throws SQLException; } diff --git a/dspace-api/src/main/java/org/dspace/identifier/dao/impl/DOIDAOImpl.java b/dspace-api/src/main/java/org/dspace/identifier/dao/impl/DOIDAOImpl.java index 784fec1d8894..9b4a93c58431 100644 --- a/dspace-api/src/main/java/org/dspace/identifier/dao/impl/DOIDAOImpl.java +++ b/dspace-api/src/main/java/org/dspace/identifier/dao/impl/DOIDAOImpl.java @@ -17,10 +17,10 @@ import org.dspace.content.DSpaceObject; import org.dspace.core.AbstractHibernateDAO; -import org.dspace.core.Context; import org.dspace.identifier.DOI; import org.dspace.identifier.DOI_; import org.dspace.identifier.dao.DOIDAO; +import org.hibernate.Session; /** * Hibernate implementation of the Database Access Object interface class for the DOI object. @@ -35,19 +35,19 @@ protected DOIDAOImpl() { } @Override - public DOI findByDoi(Context context, String doi) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + public DOI findByDoi(Session session, String doi) throws SQLException { + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, DOI.class); Root doiRoot = criteriaQuery.from(DOI.class); criteriaQuery.select(doiRoot); criteriaQuery.where(criteriaBuilder.equal(doiRoot.get(DOI_.doi), doi)); - return uniqueResult(context, criteriaQuery, false, DOI.class); + return uniqueResult(session, criteriaQuery, false, DOI.class); } @Override - public DOI findDOIByDSpaceObject(Context context, DSpaceObject dso, List statusToExclude) + public DOI findDOIByDSpaceObject(Session session, DSpaceObject dso, List statusToExclude) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, DOI.class); Root doiRoot = criteriaQuery.from(DOI.class); criteriaQuery.select(doiRoot); @@ -66,12 +66,12 @@ public DOI findDOIByDSpaceObject(Context context, DSpaceObject dso, List findByStatus(Context context, List statuses) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + public List findByStatus(Session session, List statuses) throws SQLException { + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, DOI.class); Root doiRoot = criteriaQuery.from(DOI.class); criteriaQuery.select(doiRoot); @@ -80,14 +80,14 @@ public List findByStatus(Context context, List statuses) throws SQ orPredicates.add(criteriaBuilder.equal(doiRoot.get(DOI_.status), status)); } criteriaQuery.where(criteriaBuilder.or(orPredicates.toArray(new Predicate[] {}))); - return list(context, criteriaQuery, false, DOI.class, -1, -1); + return list(session, criteriaQuery, false, DOI.class, -1, -1); } @Override - public List findSimilarNotInState(Context context, String doi, List excludedStatuses, + public List findSimilarNotInState(Session session, String doi, List excludedStatuses, boolean dsoNotNull) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, DOI.class); Root doiRoot = criteriaQuery.from(DOI.class); criteriaQuery.select(doiRoot); @@ -106,16 +106,16 @@ public List findSimilarNotInState(Context context, String doi, List doiRoot = criteriaQuery.from(DOI.class); criteriaQuery.select(doiRoot); criteriaQuery.where(criteriaBuilder.equal(doiRoot.get(DOI_.dSpaceObject), dso)); - return singleResult(context, criteriaQuery); + return singleResult(session, criteriaQuery); } } diff --git a/dspace-api/src/main/java/org/dspace/orcid/dao/OrcidHistoryDAO.java b/dspace-api/src/main/java/org/dspace/orcid/dao/OrcidHistoryDAO.java index 9e82f3c51dee..ac7c50821c4d 100644 --- a/dspace-api/src/main/java/org/dspace/orcid/dao/OrcidHistoryDAO.java +++ b/dspace-api/src/main/java/org/dspace/orcid/dao/OrcidHistoryDAO.java @@ -12,9 +12,9 @@ import java.util.UUID; import org.dspace.content.Item; -import org.dspace.core.Context; import org.dspace.core.GenericDAO; import org.dspace.orcid.OrcidHistory; +import org.hibernate.Session; /** * Database Access Object interface class for the OrcidHistory object. The @@ -30,47 +30,47 @@ public interface OrcidHistoryDAO extends GenericDAO { /** * Find all the ORCID history records by the given profileItem and entity uuids. * - * @param context the DSpace context + * @param session the DSpace context * @param profileItemId the profileItem item uuid * @param entityId the entity item uuid * @return the records list * @throws SQLException if an SQL error occurs */ - List findByProfileItemAndEntity(Context context, UUID profileItemId, UUID entityId) + List findByProfileItemAndEntity(Session session, UUID profileItemId, UUID entityId) throws SQLException; /** * Get the OrcidHistory records where the given item is the profileItem or the * entity * - * @param context DSpace context object + * @param session The current request's database context. * @param item the item to search for * @return the found OrcidHistory entities * @throws SQLException if database error */ - public List findByProfileItemOrEntity(Context context, Item item) throws SQLException; + public List findByProfileItemOrEntity(Session session, Item item) throws SQLException; /** * Find the OrcidHistory records related to the given entity item. * - * @param context DSpace context object + * @param session The current request's database context. * @param entity the entity item * @return the found put codes * @throws SQLException if database error */ - List findByEntity(Context context, Item entity) throws SQLException; + List findByEntity(Session session, Item entity) throws SQLException; /** * Find all the successfully Orcid history records with the given record type * related to the given entity. An history record is considered successful if * the status is between 200 and 300. * - * @param context DSpace context object + * @param session The current request's database context. * @param entity the entity item * @param recordType the record type * @return the found orcid history records * @throws SQLException if database error */ - List findSuccessfullyRecordsByEntityAndType(Context context, Item entity, + List findSuccessfullyRecordsByEntityAndType(Session session, Item entity, String recordType) throws SQLException; } diff --git a/dspace-api/src/main/java/org/dspace/orcid/dao/OrcidQueueDAO.java b/dspace-api/src/main/java/org/dspace/orcid/dao/OrcidQueueDAO.java index 235443b15033..f50176965575 100644 --- a/dspace-api/src/main/java/org/dspace/orcid/dao/OrcidQueueDAO.java +++ b/dspace-api/src/main/java/org/dspace/orcid/dao/OrcidQueueDAO.java @@ -12,9 +12,9 @@ import java.util.UUID; import org.dspace.content.Item; -import org.dspace.core.Context; import org.dspace.core.GenericDAO; import org.dspace.orcid.OrcidQueue; +import org.hibernate.Session; /** * Database Access Object interface class for the OrcidQueue object. The @@ -30,78 +30,80 @@ public interface OrcidQueueDAO extends GenericDAO { /** * Get the orcid queue records by the profileItem id. * - * @param context DSpace context object + * @param session The current request's database context. * @param profileItemId the profileItem item id * @param limit limit * @param offset offset * @return the orcid queue records * @throws SQLException if an SQL error occurs */ - public List findByProfileItemId(Context context, UUID profileItemId, Integer limit, Integer offset) + public List findByProfileItemId(Session session, UUID profileItemId, Integer limit, Integer offset) throws SQLException; /** * Count the orcid queue records with the same profileItemId. * - * @param context DSpace context object + * @param session The current request's database context. * @param profileItemId the profileItem item id * @return the count result * @throws SQLException if an SQL error occurs */ - long countByProfileItemId(Context context, UUID profileItemId) throws SQLException; + long countByProfileItemId(Session session, UUID profileItemId) throws SQLException; /** * Returns all the orcid queue records with the given profileItem and entity * items. * - * @param context DSpace context object + * @param session The current request's database context. * @param profileItem the profileItem item * @param entity the entity item * @return the found orcid queue records * @throws SQLException */ - public List findByProfileItemAndEntity(Context context, Item profileItem, Item entity) + public List findByProfileItemAndEntity(Session session, Item profileItem, Item entity) throws SQLException; /** * Get the OrcidQueue records where the given item is the profileItem OR the * entity * - * @param context DSpace context object + * @param session The current request's database context. * @param item the item to search for * @return the found OrcidHistory entities * @throws SQLException if database error */ - public List findByProfileItemOrEntity(Context context, Item item) throws SQLException; + public List findByProfileItemOrEntity(Session session, Item item) throws SQLException; /** * Find all the OrcidQueue records with the given entity and record type. * - * @param context DSpace context object + * @param session The current request's database context. * @param entity the entity item * @param type the record type + * @return the found OrcidQueue records * @throws SQLException if database error occurs */ - public List findByEntityAndRecordType(Context context, Item entity, String type) throws SQLException; + public List findByEntityAndRecordType(Session session, Item entity, String type) throws SQLException; /** * Find all the OrcidQueue records with the given profileItem and record type. * - * @param context DSpace context object + * @param session The current request's database context. * @param profileItem the profileItem item * @param type the record type + * @return the found OrcidQueue records * @throws SQLException if database error occurs */ - public List findByProfileItemAndRecordType(Context context, Item profileItem, String type) + public List findByProfileItemAndRecordType(Session session, Item profileItem, String type) throws SQLException; /** * Get all the OrcidQueue records with attempts less than the given attempts. * - * @param context DSpace context object + * @param session The current request's database context. * @param attempts the maximum value of attempts * @return the found OrcidQueue records * @throws SQLException if database error */ - public List findByAttemptsLessThan(Context context, int attempts) throws SQLException; + public List findByAttemptsLessThan(Session session, int attempts) throws SQLException; } diff --git a/dspace-api/src/main/java/org/dspace/orcid/dao/OrcidTokenDAO.java b/dspace-api/src/main/java/org/dspace/orcid/dao/OrcidTokenDAO.java index 00ec3dd2747e..648f81243e60 100644 --- a/dspace-api/src/main/java/org/dspace/orcid/dao/OrcidTokenDAO.java +++ b/dspace-api/src/main/java/org/dspace/orcid/dao/OrcidTokenDAO.java @@ -8,10 +8,10 @@ package org.dspace.orcid.dao; import org.dspace.content.Item; -import org.dspace.core.Context; import org.dspace.core.GenericDAO; import org.dspace.eperson.EPerson; import org.dspace.orcid.OrcidToken; +import org.hibernate.Session; /** * Database Access Object interface class for the OrcidToken object. The @@ -27,19 +27,19 @@ public interface OrcidTokenDAO extends GenericDAO { /** * Find an OrcidToken by ePerson. * - * @param context the DSpace context + * @param session The current request's database context. * @param ePerson the ePerson to search for * @return the Orcid token, if any */ - public OrcidToken findByEPerson(Context context, EPerson ePerson); + public OrcidToken findByEPerson(Session session, EPerson ePerson); /** * Find an OrcidToken by profileItem. * - * @param context the DSpace context + * @param session The current request's database context. * @param profileItem the profile item to search for * @return the Orcid token, if any */ - public OrcidToken findByProfileItem(Context context, Item profileItem); + public OrcidToken findByProfileItem(Session session, Item profileItem); } diff --git a/dspace-api/src/main/java/org/dspace/orcid/dao/impl/OrcidHistoryDAOImpl.java b/dspace-api/src/main/java/org/dspace/orcid/dao/impl/OrcidHistoryDAOImpl.java index 0b2c7099ffac..9d78478f1690 100644 --- a/dspace-api/src/main/java/org/dspace/orcid/dao/impl/OrcidHistoryDAOImpl.java +++ b/dspace-api/src/main/java/org/dspace/orcid/dao/impl/OrcidHistoryDAOImpl.java @@ -14,9 +14,9 @@ import org.dspace.content.Item; import org.dspace.core.AbstractHibernateDAO; -import org.dspace.core.Context; import org.dspace.orcid.OrcidHistory; import org.dspace.orcid.dao.OrcidHistoryDAO; +import org.hibernate.Session; /** * Implementation of {@link OrcidHistoryDAO}. @@ -28,9 +28,9 @@ public class OrcidHistoryDAOImpl extends AbstractHibernateDAO implements OrcidHistoryDAO { @Override - public List findByProfileItemAndEntity(Context context, UUID profileItemId, UUID entityId) + public List findByProfileItemAndEntity(Session session, UUID profileItemId, UUID entityId) throws SQLException { - Query query = createQuery(context, + Query query = createQuery(session, "FROM OrcidHistory WHERE profileItem.id = :profileItemId AND entity.id = :entityId "); query.setParameter("profileItemId", profileItemId); query.setParameter("entityId", entityId); @@ -38,27 +38,26 @@ public List findByProfileItemAndEntity(Context context, UUID profi } @Override - public List findByProfileItemOrEntity(Context context, Item item) throws SQLException { - Query query = createQuery(context, "FROM OrcidHistory WHERE profileItem.id = :itemId OR entity.id = :itemId"); + public List findByProfileItemOrEntity(Session session, Item item) throws SQLException { + Query query = createQuery(session, "FROM OrcidHistory WHERE profileItem.id = :itemId OR entity.id = :itemId"); query.setParameter("itemId", item.getID()); return query.getResultList(); } @Override - public List findByEntity(Context context, Item entity) throws SQLException { - Query query = createQuery(context, "FROM OrcidHistory WHERE entity.id = :entityId "); + public List findByEntity(Session session, Item entity) throws SQLException { + Query query = createQuery(session, "FROM OrcidHistory WHERE entity.id = :entityId "); query.setParameter("entityId", entity.getID()); return query.getResultList(); } @Override - public List findSuccessfullyRecordsByEntityAndType(Context context, Item entity, + public List findSuccessfullyRecordsByEntityAndType(Session session, Item entity, String recordType) throws SQLException { - Query query = createQuery(context, "FROM OrcidHistory WHERE entity = :entity AND recordType = :type " + Query query = createQuery(session, "FROM OrcidHistory WHERE entity = :entity AND recordType = :type " + "AND status BETWEEN 200 AND 300"); query.setParameter("entity", entity); query.setParameter("type", recordType); return query.getResultList(); } - } diff --git a/dspace-api/src/main/java/org/dspace/orcid/dao/impl/OrcidQueueDAOImpl.java b/dspace-api/src/main/java/org/dspace/orcid/dao/impl/OrcidQueueDAOImpl.java index 2114b2535759..8eb15a282fff 100644 --- a/dspace-api/src/main/java/org/dspace/orcid/dao/impl/OrcidQueueDAOImpl.java +++ b/dspace-api/src/main/java/org/dspace/orcid/dao/impl/OrcidQueueDAOImpl.java @@ -14,9 +14,9 @@ import org.dspace.content.Item; import org.dspace.core.AbstractHibernateDAO; -import org.dspace.core.Context; import org.dspace.orcid.OrcidQueue; import org.dspace.orcid.dao.OrcidQueueDAO; +import org.hibernate.Session; /** * Implementation of {@link OrcidQueueDAO}. @@ -28,11 +28,11 @@ public class OrcidQueueDAOImpl extends AbstractHibernateDAO implements OrcidQueueDAO { @Override - public List findByProfileItemId(Context context, UUID profileItemId, Integer limit, Integer offset) + public List findByProfileItemId(Session session, UUID profileItemId, Integer limit, Integer offset) throws SQLException { - Query query = createQuery(context, "FROM OrcidQueue WHERE profileItem.id= :profileItemId"); + Query query = createQuery(session, "FROM OrcidQueue WHERE profileItem.id= :profileItemId"); query.setParameter("profileItemId", profileItemId); - if (limit != null && limit.intValue() > 0) { + if (limit != null && limit > 0) { query.setMaxResults(limit); } query.setFirstResult(offset); @@ -40,49 +40,49 @@ public List findByProfileItemId(Context context, UUID profileItemId, } @Override - public List findByProfileItemAndEntity(Context context, Item profileItem, Item entity) + public List findByProfileItemAndEntity(Session session, Item profileItem, Item entity) throws SQLException { - Query query = createQuery(context, "FROM OrcidQueue WHERE profileItem = :profileItem AND entity = :entity"); + Query query = createQuery(session, "FROM OrcidQueue WHERE profileItem = :profileItem AND entity = :entity"); query.setParameter("profileItem", profileItem); query.setParameter("entity", entity); return query.getResultList(); } @Override - public long countByProfileItemId(Context context, UUID profileItemId) throws SQLException { - Query query = createQuery(context, + public long countByProfileItemId(Session session, UUID profileItemId) throws SQLException { + Query query = createQuery(session, "SELECT COUNT(queue) FROM OrcidQueue queue WHERE profileItem.id= :profileItemId"); query.setParameter("profileItemId", profileItemId); return (long) query.getSingleResult(); } @Override - public List findByProfileItemOrEntity(Context context, Item item) throws SQLException { - Query query = createQuery(context, "FROM OrcidQueue WHERE profileItem.id= :itemId OR entity.id = :itemId"); + public List findByProfileItemOrEntity(Session session, Item item) throws SQLException { + Query query = createQuery(session, "FROM OrcidQueue WHERE profileItem.id= :itemId OR entity.id = :itemId"); query.setParameter("itemId", item.getID()); return query.getResultList(); } @Override - public List findByEntityAndRecordType(Context context, Item entity, String type) throws SQLException { - Query query = createQuery(context, "FROM OrcidQueue WHERE entity = :entity AND recordType = :type"); + public List findByEntityAndRecordType(Session session, Item entity, String type) throws SQLException { + Query query = createQuery(session, "FROM OrcidQueue WHERE entity = :entity AND recordType = :type"); query.setParameter("entity", entity); query.setParameter("type", type); return query.getResultList(); } @Override - public List findByProfileItemAndRecordType(Context context, Item profileItem, String type) + public List findByProfileItemAndRecordType(Session session, Item profileItem, String type) throws SQLException { - Query query = createQuery(context, "FROM OrcidQueue WHERE profileItem = :profileItem AND recordType = :type"); + Query query = createQuery(session, "FROM OrcidQueue WHERE profileItem = :profileItem AND recordType = :type"); query.setParameter("profileItem", profileItem); query.setParameter("type", type); return query.getResultList(); } @Override - public List findByAttemptsLessThan(Context context, int attempts) throws SQLException { - Query query = createQuery(context, "FROM OrcidQueue WHERE attempts IS NULL OR attempts < :attempts"); + public List findByAttemptsLessThan(Session session, int attempts) throws SQLException { + Query query = createQuery(session, "FROM OrcidQueue WHERE attempts IS NULL OR attempts < :attempts"); query.setParameter("attempts", attempts); return query.getResultList(); } diff --git a/dspace-api/src/main/java/org/dspace/orcid/dao/impl/OrcidTokenDAOImpl.java b/dspace-api/src/main/java/org/dspace/orcid/dao/impl/OrcidTokenDAOImpl.java index 01b03fc35455..496b854c98ed 100644 --- a/dspace-api/src/main/java/org/dspace/orcid/dao/impl/OrcidTokenDAOImpl.java +++ b/dspace-api/src/main/java/org/dspace/orcid/dao/impl/OrcidTokenDAOImpl.java @@ -12,10 +12,10 @@ import org.dspace.content.Item; import org.dspace.core.AbstractHibernateDAO; -import org.dspace.core.Context; import org.dspace.eperson.EPerson; import org.dspace.orcid.OrcidToken; import org.dspace.orcid.dao.OrcidTokenDAO; +import org.hibernate.Session; /** * Implementation of {@link OrcidTokenDAO}. @@ -26,9 +26,9 @@ public class OrcidTokenDAOImpl extends AbstractHibernateDAO implements OrcidTokenDAO { @Override - public OrcidToken findByEPerson(Context context, EPerson ePerson) { + public OrcidToken findByEPerson(Session session, EPerson ePerson) { try { - Query query = createQuery(context, "FROM OrcidToken WHERE ePerson = :ePerson"); + Query query = createQuery(session, "FROM OrcidToken WHERE ePerson = :ePerson"); query.setParameter("ePerson", ePerson); return singleResult(query); } catch (SQLException e) { @@ -37,14 +37,13 @@ public OrcidToken findByEPerson(Context context, EPerson ePerson) { } @Override - public OrcidToken findByProfileItem(Context context, Item profileItem) { + public OrcidToken findByProfileItem(Session session, Item profileItem) { try { - Query query = createQuery(context, "FROM OrcidToken WHERE profileItem = :profileItem"); + Query query = createQuery(session, "FROM OrcidToken WHERE profileItem = :profileItem"); query.setParameter("profileItem", profileItem); return singleResult(query); } catch (SQLException e) { throw new RuntimeException(e); } } - } diff --git a/dspace-api/src/main/java/org/dspace/orcid/service/OrcidTokenService.java b/dspace-api/src/main/java/org/dspace/orcid/service/OrcidTokenService.java index ead968297108..f4bea4b0a4fc 100644 --- a/dspace-api/src/main/java/org/dspace/orcid/service/OrcidTokenService.java +++ b/dspace-api/src/main/java/org/dspace/orcid/service/OrcidTokenService.java @@ -7,6 +7,8 @@ */ package org.dspace.orcid.service; +import java.sql.SQLException; + import org.dspace.content.Item; import org.dspace.core.Context; import org.dspace.eperson.EPerson; @@ -47,8 +49,10 @@ public interface OrcidTokenService { * @param context the DSpace context * @param ePerson the ePerson to search for * @return the Orcid token, if any + * @throws SQLException passed through. */ - public OrcidToken findByEPerson(Context context, EPerson ePerson); + public OrcidToken findByEPerson(Context context, EPerson ePerson) + throws SQLException; /** * Find an OrcidToken by profileItem. @@ -56,8 +60,10 @@ public interface OrcidTokenService { * @param context the DSpace context * @param profileItem the profile item to search for * @return the Orcid token, if any + * @throws SQLException passed through. */ - public OrcidToken findByProfileItem(Context context, Item profileItem); + public OrcidToken findByProfileItem(Context context, Item profileItem) + throws SQLException; /** * Delete the given ORCID token entity. @@ -79,14 +85,16 @@ public interface OrcidTokenService { * * @param context the DSpace context * @param ePerson the ePerson for the deletion + * @throws java.sql.SQLException */ - public void deleteByEPerson(Context context, EPerson ePerson); + public void deleteByEPerson(Context context, EPerson ePerson) throws SQLException; /** * Deletes the ORCID token entity related to the given profile item. * * @param context the DSpace context * @param profileItem the item for the deletion + * @throws java.sql.SQLException */ - public void deleteByProfileItem(Context context, Item profileItem); + public void deleteByProfileItem(Context context, Item profileItem) throws SQLException; } diff --git a/dspace-api/src/main/java/org/dspace/orcid/service/impl/OrcidHistoryServiceImpl.java b/dspace-api/src/main/java/org/dspace/orcid/service/impl/OrcidHistoryServiceImpl.java index 0bec9a12e0ea..8cd3c8c770f3 100644 --- a/dspace-api/src/main/java/org/dspace/orcid/service/impl/OrcidHistoryServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/orcid/service/impl/OrcidHistoryServiceImpl.java @@ -24,6 +24,8 @@ import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.apache.http.HttpStatus; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.dspace.content.Item; import org.dspace.content.MetadataFieldName; import org.dspace.content.MetadataValue; @@ -48,8 +50,6 @@ import org.dspace.orcid.service.OrcidProfileSectionFactoryService; import org.dspace.orcid.service.OrcidTokenService; import org.orcid.jaxb.model.v3.release.record.Activity; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; /** @@ -61,7 +61,7 @@ */ public class OrcidHistoryServiceImpl implements OrcidHistoryService { - private static final Logger LOGGER = LoggerFactory.getLogger(OrcidHistoryServiceImpl.class); + private static final Logger LOGGER = LogManager.getLogger(); @Autowired private OrcidHistoryDAO orcidHistoryDAO; @@ -92,17 +92,17 @@ public class OrcidHistoryServiceImpl implements OrcidHistoryService { @Override public OrcidHistory find(Context context, int id) throws SQLException { - return orcidHistoryDAO.findByID(context, OrcidHistory.class, id); + return orcidHistoryDAO.findByID(context.getSession(), OrcidHistory.class, id); } @Override public List findAll(Context context) throws SQLException { - return orcidHistoryDAO.findAll(context, OrcidHistory.class); + return orcidHistoryDAO.findAll(context.getSession(), OrcidHistory.class); } @Override public List findByProfileItemOrEntity(Context context, Item profileItem) throws SQLException { - return orcidHistoryDAO.findByProfileItemOrEntity(context, profileItem); + return orcidHistoryDAO.findByProfileItemOrEntity(context.getSession(), profileItem); } @Override @@ -110,31 +110,33 @@ public OrcidHistory create(Context context, Item profileItem, Item entity) throw OrcidHistory orcidHistory = new OrcidHistory(); orcidHistory.setEntity(entity); orcidHistory.setProfileItem(profileItem); - return orcidHistoryDAO.create(context, orcidHistory); + return orcidHistoryDAO.create(context.getSession(), orcidHistory); } @Override public void delete(Context context, OrcidHistory orcidHistory) throws SQLException { - orcidHistoryDAO.delete(context, orcidHistory); + orcidHistoryDAO.delete(context.getSession(), orcidHistory); } @Override public void update(Context context, OrcidHistory orcidHistory) throws SQLException { if (orcidHistory != null) { - orcidHistoryDAO.save(context, orcidHistory); + orcidHistoryDAO.save(context.getSession(), orcidHistory); } } @Override public Optional findLastPutCode(Context context, Item profileItem, Item entity) throws SQLException { - List records = orcidHistoryDAO.findByProfileItemAndEntity(context, profileItem.getID(), - entity.getID()); + List records + = orcidHistoryDAO.findByProfileItemAndEntity(context.getSession(), + profileItem.getID(), + entity.getID()); return findLastPutCode(records, profileItem); } @Override public Map findLastPutCodes(Context context, Item entity) throws SQLException { - Map profileItemAndPutCodeMap = new HashMap(); + Map profileItemAndPutCodeMap = new HashMap<>(); List orcidHistoryRecords = findByEntity(context, entity); for (OrcidHistory orcidHistoryRecord : orcidHistoryRecords) { @@ -152,13 +154,13 @@ public Map findLastPutCodes(Context context, Item entity) throws S @Override public List findByEntity(Context context, Item entity) throws SQLException { - return orcidHistoryDAO.findByEntity(context, entity); + return orcidHistoryDAO.findByEntity(context.getSession(), entity); } @Override public List findSuccessfullyRecordsByEntityAndType(Context context, Item entity, String recordType) throws SQLException { - return orcidHistoryDAO.findSuccessfullyRecordsByEntityAndType(context, entity, recordType); + return orcidHistoryDAO.findSuccessfullyRecordsByEntityAndType(context.getSession(), entity, recordType); } @Override @@ -181,7 +183,7 @@ public OrcidHistory synchronizeWithOrcid(Context context, OrcidQueue orcidQueue, OrcidResponse response = synchronizeWithOrcid(context, orcidQueue, orcid, token, operation); OrcidHistory orcidHistory = createHistoryRecordFromOrcidResponse(context, orcidQueue, operation, response); - orcidQueueDAO.delete(context, orcidQueue); + orcidQueueDAO.delete(context.getSession(), orcidQueue); return orcidHistory; } catch (OrcidValidationException ex) { @@ -315,7 +317,7 @@ private OrcidHistory create(Context context, OrcidQueue orcidQueue, String respo history.setMetadata(orcidQueue.getMetadata()); history.setOperation(operation); history.setDescription(orcidQueue.getDescription()); - return orcidHistoryDAO.create(context, history); + return orcidHistoryDAO.create(context.getSession(), history); } private Optional getMetadataValue(Item item, String metadataField) { diff --git a/dspace-api/src/main/java/org/dspace/orcid/service/impl/OrcidQueueServiceImpl.java b/dspace-api/src/main/java/org/dspace/orcid/service/impl/OrcidQueueServiceImpl.java index d3300fea6606..3c286a628574 100644 --- a/dspace-api/src/main/java/org/dspace/orcid/service/impl/OrcidQueueServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/orcid/service/impl/OrcidQueueServiceImpl.java @@ -50,34 +50,34 @@ public class OrcidQueueServiceImpl implements OrcidQueueService { @Override public List findByProfileItemId(Context context, UUID profileItemId) throws SQLException { - return orcidQueueDAO.findByProfileItemId(context, profileItemId, -1, 0); + return orcidQueueDAO.findByProfileItemId(context.getSession(), profileItemId, -1, 0); } @Override public List findByProfileItemId(Context context, UUID profileItemId, Integer limit, Integer offset) throws SQLException { - return orcidQueueDAO.findByProfileItemId(context, profileItemId, limit, offset); + return orcidQueueDAO.findByProfileItemId(context.getSession(), profileItemId, limit, offset); } @Override public List findByProfileItemAndEntity(Context context, Item profileItem, Item entity) throws SQLException { - return orcidQueueDAO.findByProfileItemAndEntity(context, profileItem, entity); + return orcidQueueDAO.findByProfileItemAndEntity(context.getSession(), profileItem, entity); } @Override public List findByProfileItemOrEntity(Context context, Item item) throws SQLException { - return orcidQueueDAO.findByProfileItemOrEntity(context, item); + return orcidQueueDAO.findByProfileItemOrEntity(context.getSession(), item); } @Override public long countByProfileItemId(Context context, UUID profileItemId) throws SQLException { - return orcidQueueDAO.countByProfileItemId(context, profileItemId); + return orcidQueueDAO.countByProfileItemId(context.getSession(), profileItemId); } @Override public List findAll(Context context) throws SQLException { - return orcidQueueDAO.findAll(context, OrcidQueue.class); + return orcidQueueDAO.findAll(context.getSession(), OrcidQueue.class); } @Override @@ -98,7 +98,7 @@ public OrcidQueue createEntityInsertionRecord(Context context, Item profileItem, orcidQueue.setProfileItem(profileItem); orcidQueue.setDescription(getMetadataValue(entity, "dc.title")); orcidQueue.setOperation(OrcidOperation.INSERT); - return orcidQueueDAO.create(context, orcidQueue); + return orcidQueueDAO.create(context.getSession(), orcidQueue); } @Override @@ -111,7 +111,7 @@ public OrcidQueue createEntityUpdateRecord(Context context, Item profileItem, It orcidQueue.setRecordType(itemService.getEntityTypeLabel(entity)); orcidQueue.setDescription(getMetadataValue(entity, "dc.title")); orcidQueue.setOperation(OrcidOperation.UPDATE); - return orcidQueueDAO.create(context, orcidQueue); + return orcidQueueDAO.create(context.getSession(), orcidQueue); } @Override @@ -124,7 +124,7 @@ public OrcidQueue createEntityDeletionRecord(Context context, Item profileItem, orcidQueue.setPutCode(putCode); orcidQueue.setDescription(description); orcidQueue.setOperation(OrcidOperation.DELETE); - return orcidQueueDAO.create(context, orcidQueue); + return orcidQueueDAO.create(context.getSession(), orcidQueue); } @Override @@ -137,7 +137,7 @@ public OrcidQueue createProfileInsertionRecord(Context context, Item profile, St orcidQueue.setDescription(description); orcidQueue.setMetadata(metadata); orcidQueue.setOperation(OrcidOperation.INSERT); - return orcidQueueDAO.create(context, orcidQueue); + return orcidQueueDAO.create(context.getSession(), orcidQueue); } @Override @@ -151,12 +151,12 @@ public OrcidQueue createProfileDeletionRecord(Context context, Item profile, Str orcidQueue.setPutCode(putCode); orcidQueue.setMetadata(metadata); orcidQueue.setOperation(OrcidOperation.DELETE); - return orcidQueueDAO.create(context, orcidQueue); + return orcidQueueDAO.create(context.getSession(), orcidQueue); } @Override public void deleteById(Context context, Integer id) throws SQLException { - OrcidQueue orcidQueue = orcidQueueDAO.findByID(context, OrcidQueue.class, id); + OrcidQueue orcidQueue = orcidQueueDAO.findByID(context.getSession(), OrcidQueue.class, id); if (orcidQueue != null) { delete(context, orcidQueue); } @@ -164,39 +164,41 @@ public void deleteById(Context context, Integer id) throws SQLException { @Override public List findByAttemptsLessThan(Context context, int attempts) throws SQLException { - return orcidQueueDAO.findByAttemptsLessThan(context, attempts); + return orcidQueueDAO.findByAttemptsLessThan(context.getSession(), attempts); } @Override public void delete(Context context, OrcidQueue orcidQueue) throws SQLException { - orcidQueueDAO.delete(context, orcidQueue); + orcidQueueDAO.delete(context.getSession(), orcidQueue); } @Override public void deleteByEntityAndRecordType(Context context, Item entity, String recordType) throws SQLException { - List records = orcidQueueDAO.findByEntityAndRecordType(context, entity, recordType); + List records + = orcidQueueDAO.findByEntityAndRecordType(context.getSession(), entity, recordType); for (OrcidQueue record : records) { - orcidQueueDAO.delete(context, record); + orcidQueueDAO.delete(context.getSession(), record); } } @Override public void deleteByProfileItemAndRecordType(Context context, Item profileItem, String recordType) throws SQLException { - List records = orcidQueueDAO.findByProfileItemAndRecordType(context, profileItem, recordType); + List records + = orcidQueueDAO.findByProfileItemAndRecordType(context.getSession(), profileItem, recordType); for (OrcidQueue record : records) { - orcidQueueDAO.delete(context, record); + orcidQueueDAO.delete(context.getSession(), record); } } @Override public OrcidQueue find(Context context, int id) throws SQLException { - return orcidQueueDAO.findByID(context, OrcidQueue.class, id); + return orcidQueueDAO.findByID(context.getSession(), OrcidQueue.class, id); } @Override public void update(Context context, OrcidQueue orcidQueue) throws SQLException { - orcidQueueDAO.save(context, orcidQueue); + orcidQueueDAO.save(context.getSession(), orcidQueue); } @Override diff --git a/dspace-api/src/main/java/org/dspace/orcid/service/impl/OrcidTokenServiceImpl.java b/dspace-api/src/main/java/org/dspace/orcid/service/impl/OrcidTokenServiceImpl.java index bf10ea981c1b..afe1b7bcc9cd 100644 --- a/dspace-api/src/main/java/org/dspace/orcid/service/impl/OrcidTokenServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/orcid/service/impl/OrcidTokenServiceImpl.java @@ -41,26 +41,28 @@ public OrcidToken create(Context context, EPerson ePerson, Item profileItem, Str orcidToken.setEPerson(ePerson); orcidToken.setProfileItem(profileItem); try { - return orcidTokenDAO.create(context, orcidToken); + return orcidTokenDAO.create(context.getSession(), orcidToken); } catch (SQLException e) { throw new RuntimeException(e); } } @Override - public OrcidToken findByEPerson(Context context, EPerson ePerson) { - return orcidTokenDAO.findByEPerson(context, ePerson); + public OrcidToken findByEPerson(Context context, EPerson ePerson) + throws SQLException { + return orcidTokenDAO.findByEPerson(context.getSession(), ePerson); } @Override - public OrcidToken findByProfileItem(Context context, Item profileItem) { - return orcidTokenDAO.findByProfileItem(context, profileItem); + public OrcidToken findByProfileItem(Context context, Item profileItem) + throws SQLException { + return orcidTokenDAO.findByProfileItem(context.getSession(), profileItem); } @Override public void delete(Context context, OrcidToken orcidToken) { try { - orcidTokenDAO.delete(context, orcidToken); + orcidTokenDAO.delete(context.getSession(), orcidToken); } catch (SQLException e) { throw new RuntimeException(e); } @@ -70,7 +72,7 @@ public void delete(Context context, OrcidToken orcidToken) { public void deleteAll(Context context) { try { - List tokens = orcidTokenDAO.findAll(context, OrcidToken.class); + List tokens = orcidTokenDAO.findAll(context.getSession(), OrcidToken.class); for (OrcidToken token : tokens) { delete(context, token); } @@ -81,7 +83,8 @@ public void deleteAll(Context context) { } @Override - public void deleteByEPerson(Context context, EPerson ePerson) { + public void deleteByEPerson(Context context, EPerson ePerson) + throws SQLException { OrcidToken orcidToken = findByEPerson(context, ePerson); if (orcidToken != null) { delete(context, orcidToken); @@ -89,11 +92,11 @@ public void deleteByEPerson(Context context, EPerson ePerson) { } @Override - public void deleteByProfileItem(Context context, Item profileItem) { + public void deleteByProfileItem(Context context, Item profileItem) + throws SQLException { OrcidToken orcidToken = findByProfileItem(context, profileItem); if (orcidToken != null) { delete(context, orcidToken); } } - } diff --git a/dspace-api/src/main/java/org/dspace/scripts/ProcessServiceImpl.java b/dspace-api/src/main/java/org/dspace/scripts/ProcessServiceImpl.java index 2e14aeaa36c0..596c39737eb1 100644 --- a/dspace-api/src/main/java/org/dspace/scripts/ProcessServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/scripts/ProcessServiceImpl.java @@ -91,7 +91,7 @@ public Process create(Context context, EPerson ePerson, String scriptName, process.setGroups(new ArrayList<>(specialGroupsSet)); }); - Process createdProcess = processDAO.create(context, process); + Process createdProcess = processDAO.create(context.getSession(), process); log.info(LogHelper.getHeader(context, "process_create", "Process has been created for eperson with email " + ePerson.getEmail() + " with ID " + createdProcess.getID() + " and scriptName " + @@ -101,22 +101,22 @@ public Process create(Context context, EPerson ePerson, String scriptName, @Override public Process find(Context context, int processId) throws SQLException { - return processDAO.findByID(context, Process.class, processId); + return processDAO.findByID(context.getSession(), Process.class, processId); } @Override public List findAll(Context context) throws SQLException { - return processDAO.findAll(context, Process.class); + return processDAO.findAll(context.getSession(), Process.class); } @Override public List findAll(Context context, int limit, int offset) throws SQLException { - return processDAO.findAll(context, limit, offset); + return processDAO.findAll(context.getSession(), limit, offset); } @Override public List findAllSortByScript(Context context) throws SQLException { - return processDAO.findAllSortByScript(context); + return processDAO.findAllSortByScript(context.getSession()); } @Override @@ -131,7 +131,7 @@ public List findAllSortByStartTime(Context context) throws SQLException @Override public List findByUser(Context context, EPerson eperson, int limit, int offset) throws SQLException { - return processDAO.findByUser(context, eperson, limit, offset); + return processDAO.findByUser(context.getSession(), eperson, limit, offset); } @Override @@ -191,14 +191,14 @@ public void delete(Context context, Process process) throws SQLException, IOExce for (Bitstream bitstream : ListUtils.emptyIfNull(process.getBitstreams())) { bitstreamService.delete(context, bitstream); } - processDAO.delete(context, process); + processDAO.delete(context.getSession(), process); log.info(LogHelper.getHeader(context, "process_delete", "Process with ID " + process.getID() + " and name " + process.getName() + " has been deleted")); } @Override public void update(Context context, Process process) throws SQLException { - processDAO.save(context, process); + processDAO.save(context.getSession(), process); } @Override @@ -252,8 +252,9 @@ public List getBitstreams(Context context, Process process) { return process.getBitstreams(); } + @Override public int countTotal(Context context) throws SQLException { - return processDAO.countRows(context); + return processDAO.countRows(context.getSession()); } @Override @@ -273,13 +274,13 @@ public List getFileTypesForProcessBitstreams(Context context, Process pr @Override public List search(Context context, ProcessQueryParameterContainer processQueryParameterContainer, int limit, int offset) throws SQLException { - return processDAO.search(context, processQueryParameterContainer, limit, offset); + return processDAO.search(context.getSession(), processQueryParameterContainer, limit, offset); } @Override public int countSearch(Context context, ProcessQueryParameterContainer processQueryParameterContainer) throws SQLException { - return processDAO.countTotalWithParameters(context, processQueryParameterContainer); + return processDAO.countTotalWithParameters(context.getSession(), processQueryParameterContainer); } @@ -313,12 +314,12 @@ public void createLogBitstream(Context context, Process process) @Override public List findByStatusAndCreationTimeOlderThan(Context context, List statuses, Date date) throws SQLException { - return this.processDAO.findByStatusAndCreationTimeOlderThan(context, statuses, date); + return this.processDAO.findByStatusAndCreationTimeOlderThan(context.getSession(), statuses, date); } @Override public int countByUser(Context context, EPerson user) throws SQLException { - return processDAO.countByUser(context, user); + return processDAO.countByUser(context.getSession(), user); } private String formatLogLine(int processId, String scriptName, String output, ProcessLogLevel processLogLevel) { diff --git a/dspace-api/src/main/java/org/dspace/statistics/export/FailedOpenURLTrackerServiceImpl.java b/dspace-api/src/main/java/org/dspace/statistics/export/FailedOpenURLTrackerServiceImpl.java index cb8e64cc65e7..4364f2e7aa21 100644 --- a/dspace-api/src/main/java/org/dspace/statistics/export/FailedOpenURLTrackerServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/statistics/export/FailedOpenURLTrackerServiceImpl.java @@ -31,7 +31,7 @@ public class FailedOpenURLTrackerServiceImpl implements FailedOpenURLTrackerServ */ @Override public void remove(Context context, OpenURLTracker openURLTracker) throws SQLException { - openURLTrackerDAO.delete(context, openURLTracker); + openURLTrackerDAO.delete(context.getSession(), openURLTracker); } /** @@ -42,18 +42,18 @@ public void remove(Context context, OpenURLTracker openURLTracker) throws SQLExc */ @Override public List findAll(Context context) throws SQLException { - return openURLTrackerDAO.findAll(context, OpenURLTracker.class); + return openURLTrackerDAO.findAll(context.getSession(), OpenURLTracker.class); } /** * Creates a new OpenURLTracker * @param context - * @return the creatred OpenURLTracker + * @return the created OpenURLTracker * @throws SQLException */ @Override public OpenURLTracker create(Context context) throws SQLException { - OpenURLTracker openURLTracker = openURLTrackerDAO.create(context, new OpenURLTracker()); + OpenURLTracker openURLTracker = openURLTrackerDAO.create(context.getSession(), new OpenURLTracker()); return openURLTracker; } } diff --git a/dspace-api/src/main/java/org/dspace/supervision/SupervisionOrderServiceImpl.java b/dspace-api/src/main/java/org/dspace/supervision/SupervisionOrderServiceImpl.java index 21a54f085f61..fac9d29e0f7f 100644 --- a/dspace-api/src/main/java/org/dspace/supervision/SupervisionOrderServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/supervision/SupervisionOrderServiceImpl.java @@ -46,18 +46,18 @@ protected SupervisionOrderServiceImpl() { @Override public SupervisionOrder create(Context context) throws SQLException, AuthorizeException { - return supervisionDao.create(context, new SupervisionOrder()); + return supervisionDao.create(context.getSession(), new SupervisionOrder()); } @Override public SupervisionOrder find(Context context, int id) throws SQLException { - return supervisionDao.findByID(context, SupervisionOrder.class, id); + return supervisionDao.findByID(context.getSession(), SupervisionOrder.class, id); } @Override public void update(Context context, SupervisionOrder supervisionOrder) throws SQLException, AuthorizeException { - supervisionDao.save(context, supervisionOrder); + supervisionDao.save(context.getSession(), supervisionOrder); } @Override @@ -65,14 +65,14 @@ public void update(Context context, List supervisionOrders) throws SQLException, AuthorizeException { if (CollectionUtils.isNotEmpty(supervisionOrders)) { for (SupervisionOrder supervisionOrder : supervisionOrders) { - supervisionDao.save(context, supervisionOrder); + supervisionDao.save(context.getSession(), supervisionOrder); } } } @Override public void delete(Context context, SupervisionOrder supervisionOrder) throws SQLException, AuthorizeException { - supervisionDao.delete(context, supervisionOrder); + supervisionDao.delete(context.getSession(), supervisionOrder); } @Override @@ -80,7 +80,7 @@ public SupervisionOrder create(Context context, Item item, Group group) throws S SupervisionOrder supervisionOrder = new SupervisionOrder(); supervisionOrder.setItem(item); supervisionOrder.setGroup(group); - SupervisionOrder supOrder = supervisionDao.create(context, supervisionOrder); + SupervisionOrder supOrder = supervisionDao.create(context.getSession(), supervisionOrder); context.addEvent(new Event(Event.MODIFY, Constants.ITEM, item.getID(), null, itemService.getIdentifiers(context, item))); return supOrder; @@ -88,17 +88,17 @@ public SupervisionOrder create(Context context, Item item, Group group) throws S @Override public List findAll(Context context) throws SQLException { - return supervisionDao.findAll(context, SupervisionOrder.class); + return supervisionDao.findAll(context.getSession(), SupervisionOrder.class); } @Override public List findByItem(Context context, Item item) throws SQLException { - return supervisionDao.findByItem(context, item); + return supervisionDao.findByItem(context.getSession(), item); } @Override public SupervisionOrder findByItemAndGroup(Context context, Item item, Group group) throws SQLException { - return supervisionDao.findByItemAndGroup(context, item, group); + return supervisionDao.findByItemAndGroup(context.getSession(), item, group); } @Override diff --git a/dspace-api/src/main/java/org/dspace/supervision/dao/SupervisionOrderDao.java b/dspace-api/src/main/java/org/dspace/supervision/dao/SupervisionOrderDao.java index 2dd5dad12a4d..9096e399ea0c 100644 --- a/dspace-api/src/main/java/org/dspace/supervision/dao/SupervisionOrderDao.java +++ b/dspace-api/src/main/java/org/dspace/supervision/dao/SupervisionOrderDao.java @@ -11,10 +11,10 @@ import java.util.List; import org.dspace.content.Item; -import org.dspace.core.Context; import org.dspace.core.GenericDAO; import org.dspace.eperson.Group; import org.dspace.supervision.SupervisionOrder; +import org.hibernate.Session; /** * Database Access Object interface class for the SupervisionOrder object. @@ -29,22 +29,22 @@ public interface SupervisionOrderDao extends GenericDAO { /** * find all Supervision Orders related to the item * - * @param context The DSpace context + * @param session The current request's database context. * @param item the item * @return the Supervision Orders related to the item * @throws SQLException If something goes wrong in the database */ - List findByItem(Context context, Item item) throws SQLException; + List findByItem(Session session, Item item) throws SQLException; /** * find the Supervision Order related to the item and group * - * @param context The DSpace context + * @param session The current request's database context. * @param item the item * @param group the group * @return the Supervision Order related to the item and group * @throws SQLException If something goes wrong in the database */ - SupervisionOrder findByItemAndGroup(Context context, Item item, Group group) throws SQLException; + SupervisionOrder findByItemAndGroup(Session session, Item item, Group group) throws SQLException; } diff --git a/dspace-api/src/main/java/org/dspace/supervision/dao/impl/SupervisionOrderDaoImpl.java b/dspace-api/src/main/java/org/dspace/supervision/dao/impl/SupervisionOrderDaoImpl.java index 09cd0841e78f..66815632b354 100644 --- a/dspace-api/src/main/java/org/dspace/supervision/dao/impl/SupervisionOrderDaoImpl.java +++ b/dspace-api/src/main/java/org/dspace/supervision/dao/impl/SupervisionOrderDaoImpl.java @@ -15,11 +15,11 @@ import org.dspace.content.Item; import org.dspace.core.AbstractHibernateDAO; -import org.dspace.core.Context; import org.dspace.eperson.Group; import org.dspace.supervision.SupervisionOrder; import org.dspace.supervision.SupervisionOrder_; import org.dspace.supervision.dao.SupervisionOrderDao; +import org.hibernate.Session; /** * Hibernate implementation of the Database Access Object interface class for the SupervisionOrder object. @@ -31,20 +31,20 @@ public class SupervisionOrderDaoImpl extends AbstractHibernateDAO implements SupervisionOrderDao { @Override - public List findByItem(Context context, Item item) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + public List findByItem(Session session, Item item) throws SQLException { + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, SupervisionOrder.class); Root supervisionOrderRoot = criteriaQuery.from(SupervisionOrder.class); criteriaQuery.select(supervisionOrderRoot); criteriaQuery.where(criteriaBuilder.equal(supervisionOrderRoot.get(SupervisionOrder_.item), item)); - return list(context, criteriaQuery, false, SupervisionOrder.class, -1, -1); + return list(session, criteriaQuery, false, SupervisionOrder.class, -1, -1); } @Override - public SupervisionOrder findByItemAndGroup(Context context, Item item, Group group) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + public SupervisionOrder findByItemAndGroup(Session session, Item item, Group group) throws SQLException { + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, SupervisionOrder.class); Root supervisionOrderRoot = criteriaQuery.from(SupervisionOrder.class); @@ -54,6 +54,6 @@ public SupervisionOrder findByItemAndGroup(Context context, Item item, Group gro criteriaBuilder.equal(supervisionOrderRoot.get(SupervisionOrder_.group), group) )); - return singleResult(context, criteriaQuery); + return singleResult(session, criteriaQuery); } } diff --git a/dspace-api/src/main/java/org/dspace/versioning/VersionHistoryServiceImpl.java b/dspace-api/src/main/java/org/dspace/versioning/VersionHistoryServiceImpl.java index 96c39ac3a8e8..f6bb41127947 100644 --- a/dspace-api/src/main/java/org/dspace/versioning/VersionHistoryServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/versioning/VersionHistoryServiceImpl.java @@ -50,12 +50,12 @@ protected VersionHistoryServiceImpl() { @Override public VersionHistory create(Context context) throws SQLException { - return versionHistoryDAO.create(context, new VersionHistory()); + return versionHistoryDAO.create(context.getSession(), new VersionHistory()); } @Override public VersionHistory find(Context context, int id) throws SQLException { - return versionHistoryDAO.findByID(context, VersionHistory.class, id); + return versionHistoryDAO.findByID(context.getSession(), VersionHistory.class, id); } @Override @@ -67,14 +67,14 @@ public void update(Context context, VersionHistory versionHistory) throws SQLExc public void update(Context context, List versionHistories) throws SQLException, AuthorizeException { if (CollectionUtils.isNotEmpty(versionHistories)) { for (VersionHistory versionHistory : versionHistories) { - versionHistoryDAO.save(context, versionHistory); + versionHistoryDAO.save(context.getSession(), versionHistory); } } } @Override public void delete(Context context, VersionHistory versionHistory) throws SQLException, AuthorizeException { - versionHistoryDAO.delete(context, new VersionHistory()); + versionHistoryDAO.delete(context.getSession(), new VersionHistory()); } // LIST order: descending @@ -217,7 +217,7 @@ public void remove(VersionHistory versionHistory, Version version) { @Override public VersionHistory findByItem(Context context, Item item) throws SQLException { - return versionHistoryDAO.findByItem(context, item); + return versionHistoryDAO.findByItem(context.getSession(), item); } @Override diff --git a/dspace-api/src/main/java/org/dspace/versioning/VersioningServiceImpl.java b/dspace-api/src/main/java/org/dspace/versioning/VersioningServiceImpl.java index ece536e81b26..298232d55515 100644 --- a/dspace-api/src/main/java/org/dspace/versioning/VersioningServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/versioning/VersioningServiceImpl.java @@ -75,7 +75,7 @@ public Version createNewVersion(Context c, Item item, String summary) { // get dc:date.accessioned to be set as first version date... List values = itemService.getMetadata(item, "dc", "date", "accessioned", Item.ANY); Date versionDate = new Date(); - if (values != null && values.size() > 0) { + if (values != null && !values.isEmpty()) { String date = values.get(0).getValue(); versionDate = new DCDate(date).toDate(); } @@ -116,7 +116,7 @@ public void delete(Context c, Version version) throws SQLException { version.setSummary(null); version.setVersionDate(null); version.setePerson(null); - versionDAO.save(c, version); + versionDAO.save(c.getSession(), version); // if all versions of a version history were deleted, // we delete the version history. @@ -124,7 +124,7 @@ public void delete(Context c, Version version) throws SQLException { || this.getVersionsByHistory(c, history).isEmpty()) { // hard delete the previously soft deleted versions for (Version v : history.getVersions()) { - versionDAO.delete(c, v); + versionDAO.delete(c.getSession(), v); } // delete the version history versionHistoryService.delete(c, history); @@ -157,7 +157,7 @@ public void delete(Context c, Version version) throws SQLException { @Override public void removeVersion(Context c, Item item) throws SQLException { - Version version = versionDAO.findByItem(c, item); + Version version = versionDAO.findByItem(c.getSession(), item); if (version != null) { delete(c, version); } @@ -165,7 +165,7 @@ public void removeVersion(Context c, Item item) throws SQLException { @Override public Version getVersion(Context c, int versionID) throws SQLException { - return versionDAO.findByID(c, Version.class, versionID); + return versionDAO.findByID(c.getSession(), Version.class, versionID); } @@ -181,22 +181,22 @@ public Version restoreVersion(Context c, Version version, String summary) { @Override public Version updateVersion(Context c, Item item, String summary) throws SQLException { - Version version = versionDAO.findByItem(c, item); + Version version = versionDAO.findByItem(c.getSession(), item); version.setSummary(summary); - versionDAO.save(c, version); + versionDAO.save(c.getSession(), version); return version; } @Override public Version getVersion(Context c, Item item) throws SQLException { - return versionDAO.findByItem(c, item); + return versionDAO.findByItem(c.getSession(), item); } @Override public Version createNewVersion(Context context, VersionHistory history, Item item, String summary, Date date, int versionNumber) { try { - Version version = versionDAO.create(context, new Version()); + Version version = versionDAO.create(context.getSession(), new Version()); if (versionNumber > 0 && !isVersionExist(context, item, versionNumber)) { version.setVersionNumber(versionNumber); } else { @@ -207,7 +207,7 @@ public Version createNewVersion(Context context, VersionHistory history, Item it version.setItem(item); version.setSummary(summary); version.setVersionHistory(history); - versionDAO.save(context, version); + versionDAO.save(context.getSession(), version); versionHistoryService.add(context, history, version); return version; } catch (SQLException e) { @@ -227,14 +227,14 @@ private boolean isVersionExist(Context context, Item item, int versionNumber) th @Override public List getVersionsByHistory(Context c, VersionHistory vh) throws SQLException { - List versions = versionDAO.findVersionsWithItems(c, vh, -1, -1); + List versions = versionDAO.findVersionsWithItems(c.getSession(), vh, -1, -1); return versions; } @Override public List getVersionsByHistoryWithItems(Context c, VersionHistory vh, int offset, int limit) throws SQLException { - return versionDAO.findVersionsWithItems(c, vh, offset, limit); + return versionDAO.findVersionsWithItems(c.getSession(), vh, offset, limit); } // **** PROTECTED METHODS!! @@ -245,7 +245,7 @@ protected Version createVersion(Context c, VersionHistory vh, Item item, String } protected int getNextVersionNumer(Context c, VersionHistory vh) throws SQLException { - int next = versionDAO.getNextVersionNumber(c, vh); + int next = versionDAO.getNextVersionNumber(c.getSession(), vh); // check if we have uncommited versions in DSpace's cache if (versionHistoryService.getLatestVersion(c, vh) != null @@ -258,12 +258,12 @@ protected int getNextVersionNumer(Context c, VersionHistory vh) throws SQLExcept @Override public void update(Context context, Version version) throws SQLException { - versionDAO.save(context, version); + versionDAO.save(context.getSession(), version); } @Override public int countVersionsByHistoryWithItem(Context context, VersionHistory versionHistory) throws SQLException { - return versionDAO.countVersionsByHistoryWithItem(context, versionHistory); + return versionDAO.countVersionsByHistoryWithItem(context.getSession(), versionHistory); } } diff --git a/dspace-api/src/main/java/org/dspace/versioning/dao/VersionDAO.java b/dspace-api/src/main/java/org/dspace/versioning/dao/VersionDAO.java index 6730ece3f516..0315a82d852b 100644 --- a/dspace-api/src/main/java/org/dspace/versioning/dao/VersionDAO.java +++ b/dspace-api/src/main/java/org/dspace/versioning/dao/VersionDAO.java @@ -11,21 +11,22 @@ import java.util.List; import org.dspace.content.Item; -import org.dspace.core.Context; import org.dspace.core.GenericDAO; import org.dspace.versioning.Version; import org.dspace.versioning.VersionHistory; +import org.hibernate.Session; /** * Database Access Object interface class for the Version object. - * The implementation of this class is responsible for all database calls for the Version object and is autowired by - * spring - * This class should only be accessed from a single service and should never be exposed outside of the API + * The implementation of this class is responsible for all database calls for + * the Version object and is autowired by Spring. + * This class should only be accessed from a single service and should never be + * exposed outside of the API. * * @author kevinvandevelde at atmire.com */ public interface VersionDAO extends GenericDAO { - public Version findByItem(Context context, Item item) throws SQLException; + public Version findByItem(Session session, Item item) throws SQLException; /** * This method returns all versions of an version history that have items @@ -34,17 +35,17 @@ public interface VersionDAO extends GenericDAO { * method returns only versions that aren't soft deleted and have items * assigned. * - * @param context The relevant DSpace Context. + * @param session The current request's database context. * @param versionHistory version history * @param offset the position of the first result to return * @param limit paging limit * @return all versions of an version history that have items assigned. * @throws SQLException An exception that provides information on a database access error or other errors. */ - public List findVersionsWithItems(Context context, VersionHistory versionHistory, int offset, int limit) + public List findVersionsWithItems(Session session, VersionHistory versionHistory, int offset, int limit) throws SQLException; - public int getNextVersionNumber(Context c, VersionHistory vh) throws SQLException; + public int getNextVersionNumber(Session session, VersionHistory vh) throws SQLException; /** * This method count versions of an version history that have items @@ -52,12 +53,12 @@ public List findVersionsWithItems(Context context, VersionHistory versi * remove a version we set the item, date, summary and eperson null. This * method returns only versions that aren't soft deleted and have items * assigned. - * - * @param context The relevant DSpace Context. + * + * @param session The current request's database context. * @param versionHistory Version history * @return Total versions of an version history that have items assigned. * @throws SQLException If database error */ - public int countVersionsByHistoryWithItem(Context context, VersionHistory versionHistory) throws SQLException; + public int countVersionsByHistoryWithItem(Session session, VersionHistory versionHistory) throws SQLException; } diff --git a/dspace-api/src/main/java/org/dspace/versioning/dao/VersionHistoryDAO.java b/dspace-api/src/main/java/org/dspace/versioning/dao/VersionHistoryDAO.java index 63e8cc7c5303..14efc5e12a6c 100644 --- a/dspace-api/src/main/java/org/dspace/versioning/dao/VersionHistoryDAO.java +++ b/dspace-api/src/main/java/org/dspace/versioning/dao/VersionHistoryDAO.java @@ -10,9 +10,9 @@ import java.sql.SQLException; import org.dspace.content.Item; -import org.dspace.core.Context; import org.dspace.core.GenericDAO; import org.dspace.versioning.VersionHistory; +import org.hibernate.Session; /** * Database Access Object interface class for the VersionHistory object. @@ -24,5 +24,5 @@ */ public interface VersionHistoryDAO extends GenericDAO { - public VersionHistory findByItem(Context context, Item item) throws SQLException; + public VersionHistory findByItem(Session session, Item item) throws SQLException; } diff --git a/dspace-api/src/main/java/org/dspace/versioning/dao/impl/VersionDAOImpl.java b/dspace-api/src/main/java/org/dspace/versioning/dao/impl/VersionDAOImpl.java index 0e28e72d0752..5f35d1d7dc48 100644 --- a/dspace-api/src/main/java/org/dspace/versioning/dao/impl/VersionDAOImpl.java +++ b/dspace-api/src/main/java/org/dspace/versioning/dao/impl/VersionDAOImpl.java @@ -17,16 +17,17 @@ import org.dspace.content.Item; import org.dspace.core.AbstractHibernateDAO; -import org.dspace.core.Context; import org.dspace.versioning.Version; import org.dspace.versioning.VersionHistory; import org.dspace.versioning.Version_; import org.dspace.versioning.dao.VersionDAO; +import org.hibernate.Session; /** - * Hibernate implementation of the Database Access Object interface class for the Version object. - * This class is responsible for all database calls for the Version object and is autowired by spring - * This class should never be accessed directly. + * Hibernate implementation of the Database Access Object interface class for + * the Version object. This class is responsible for all database calls for the + * Version object and is autowired by Spring. This class should never be + * accessed directly. * * @author Fabio Bolognesi (fabio at atmire dot com) * @author Mark Diggory (markd at atmire dot com) @@ -40,18 +41,18 @@ protected VersionDAOImpl() { } @Override - public Version findByItem(Context context, Item item) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + public Version findByItem(Session session, Item item) throws SQLException { + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, Version.class); Root versionRoot = criteriaQuery.from(Version.class); criteriaQuery.select(versionRoot); criteriaQuery.where(criteriaBuilder.equal(versionRoot.get(Version_.item), item)); - return singleResult(context, criteriaQuery); + return singleResult(session, criteriaQuery); } @Override - public int getNextVersionNumber(Context c, VersionHistory vh) throws SQLException { - Query q = this.createQuery(c, + public int getNextVersionNumber(Session session, VersionHistory vh) throws SQLException { + Query q = this.createQuery(session, "SELECT (COALESCE(MAX(versionNumber), 0) + 1) " + "FROM Version WHERE versionHistory.id = :historyId"); q.setParameter("historyId", vh.getID()); @@ -61,10 +62,10 @@ public int getNextVersionNumber(Context c, VersionHistory vh) throws SQLExceptio } @Override - public List findVersionsWithItems(Context context, VersionHistory versionHistory, int offset, int limit) + public List findVersionsWithItems(Session session, VersionHistory versionHistory, int offset, int limit) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, Version.class); Root versionRoot = criteriaQuery.from(Version.class); criteriaQuery.select(versionRoot); @@ -78,12 +79,12 @@ public List findVersionsWithItems(Context context, VersionHistory versi orderList.add(criteriaBuilder.desc(versionRoot.get(Version_.versionNumber))); criteriaQuery.orderBy(orderList); - return list(context, criteriaQuery, false, Version.class, limit, offset); + return list(session, criteriaQuery, false, Version.class, limit, offset); } @Override - public int countVersionsByHistoryWithItem(Context context, VersionHistory versionHistory) throws SQLException { - Query query = createQuery(context, "SELECT count(*) FROM " + Version.class.getSimpleName() + public int countVersionsByHistoryWithItem(Session session, VersionHistory versionHistory) throws SQLException { + Query query = createQuery(session, "SELECT count(*) FROM " + Version.class.getSimpleName() + " WHERE versionhistory_id = (:versionhistoryId)" + " AND item_id IS NOT NULL"); query.setParameter("versionhistoryId", versionHistory); diff --git a/dspace-api/src/main/java/org/dspace/versioning/dao/impl/VersionHistoryDAOImpl.java b/dspace-api/src/main/java/org/dspace/versioning/dao/impl/VersionHistoryDAOImpl.java index eac78c3e6215..29994f118518 100644 --- a/dspace-api/src/main/java/org/dspace/versioning/dao/impl/VersionHistoryDAOImpl.java +++ b/dspace-api/src/main/java/org/dspace/versioning/dao/impl/VersionHistoryDAOImpl.java @@ -17,11 +17,11 @@ import org.dspace.content.Item; import org.dspace.core.AbstractHibernateDAO; -import org.dspace.core.Context; import org.dspace.versioning.Version; import org.dspace.versioning.VersionHistory; import org.dspace.versioning.Version_; import org.dspace.versioning.dao.VersionHistoryDAO; +import org.hibernate.Session; /** * Hibernate implementation of the Database Access Object interface class for the VersionHistory object. @@ -39,8 +39,8 @@ protected VersionHistoryDAOImpl() { } @Override - public VersionHistory findByItem(Context context, Item item) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + public VersionHistory findByItem(Session session, Item item) throws SQLException { + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, VersionHistory.class); Root versionHistoryRoot = criteriaQuery.from(VersionHistory.class); Join join = versionHistoryRoot.join("versions"); @@ -51,6 +51,6 @@ public VersionHistory findByItem(Context context, Item item) throws SQLException orderList.add(criteriaBuilder.desc(join.get(Version_.versionNumber))); criteriaQuery.orderBy(orderList); - return singleResult(context, criteriaQuery); + return singleResult(session, criteriaQuery); } } diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/ClaimedTaskServiceImpl.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/ClaimedTaskServiceImpl.java index 4bed9cdbf0e0..70ae02fd3f34 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/ClaimedTaskServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/ClaimedTaskServiceImpl.java @@ -22,7 +22,8 @@ /** * Service implementation for the ClaimedTask object. - * This class is responsible for all business logic calls for the ClaimedTask object and is autowired by spring. + * This class is responsible for all business logic calls for the ClaimedTask + * object and is autowired by Spring. * This class should never be accessed directly. * * @author kevinvandevelde at atmire.com @@ -38,17 +39,17 @@ protected ClaimedTaskServiceImpl() { @Override public ClaimedTask create(Context context) throws SQLException, AuthorizeException { - return claimedTaskDAO.create(context, new ClaimedTask()); + return claimedTaskDAO.create(context.getSession(), new ClaimedTask()); } @Override public ClaimedTask find(Context context, int id) throws SQLException { - return claimedTaskDAO.findByID(context, ClaimedTask.class, id); + return claimedTaskDAO.findByID(context.getSession(), ClaimedTask.class, id); } @Override public List findAll(Context context) throws SQLException { - return claimedTaskDAO.findAll(context, ClaimedTask.class); + return claimedTaskDAO.findAll(context.getSession(), ClaimedTask.class); } @Override @@ -60,58 +61,60 @@ public void update(Context context, ClaimedTask claimedTask) throws SQLException public void update(Context context, List claimedTasks) throws SQLException, AuthorizeException { if (CollectionUtils.isNotEmpty(claimedTasks)) { for (ClaimedTask claimedTask : claimedTasks) { - claimedTaskDAO.save(context, claimedTask); + claimedTaskDAO.save(context.getSession(), claimedTask); } } } @Override public void delete(Context context, ClaimedTask claimedTask) throws SQLException, AuthorizeException { - claimedTaskDAO.delete(context, claimedTask); + claimedTaskDAO.delete(context.getSession(), claimedTask); } @Override public List findByWorkflowItem(Context context, XmlWorkflowItem workflowItem) throws SQLException { - return claimedTaskDAO.findByWorkflowItem(context, workflowItem); + return claimedTaskDAO.findByWorkflowItem(context.getSession(), workflowItem); } @Override public ClaimedTask findByWorkflowIdAndEPerson(Context context, XmlWorkflowItem workflowItem, EPerson ePerson) throws SQLException { - return claimedTaskDAO.findByWorkflowItemAndEPerson(context, workflowItem, ePerson); + return claimedTaskDAO.findByWorkflowItemAndEPerson(context.getSession(), workflowItem, ePerson); } @Override public List findByEperson(Context context, EPerson ePerson) throws SQLException { - return claimedTaskDAO.findByEperson(context, ePerson); + return claimedTaskDAO.findByEperson(context.getSession(), ePerson); } @Override public List find(Context context, XmlWorkflowItem workflowItem, String stepID) throws SQLException { - return claimedTaskDAO.findByWorkflowItemAndStepId(context, workflowItem, stepID); + return claimedTaskDAO.findByWorkflowItemAndStepId(context.getSession(), workflowItem, stepID); } @Override public ClaimedTask find(Context context, EPerson ePerson, XmlWorkflowItem workflowItem, String stepID, String actionID) throws SQLException { return claimedTaskDAO - .findByEPersonAndWorkflowItemAndStepIdAndActionId(context, ePerson, workflowItem, stepID, actionID); + .findByEPersonAndWorkflowItemAndStepIdAndActionId(context.getSession(), + ePerson, workflowItem, stepID, actionID); } @Override public List find(Context context, XmlWorkflowItem workflowItem, String stepID, String actionID) throws SQLException { - return claimedTaskDAO.findByWorkflowItemAndStepIdAndActionId(context, workflowItem, stepID, actionID); + return claimedTaskDAO.findByWorkflowItemAndStepIdAndActionId(context.getSession(), + workflowItem, stepID, actionID); } @Override public List find(Context context, XmlWorkflowItem workflowItem) throws SQLException { - return claimedTaskDAO.findByWorkflowItem(context, workflowItem); + return claimedTaskDAO.findByWorkflowItem(context.getSession(), workflowItem); } @Override public List findAllInStep(Context context, String stepID) throws SQLException { - return claimedTaskDAO.findByStep(context, stepID); + return claimedTaskDAO.findByStep(context.getSession(), stepID); } @Override diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/CollectionRoleServiceImpl.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/CollectionRoleServiceImpl.java index cbc98a9dc831..912e58158962 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/CollectionRoleServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/CollectionRoleServiceImpl.java @@ -36,28 +36,28 @@ protected CollectionRoleServiceImpl() { @Override public CollectionRole find(Context context, int id) throws SQLException { - return collectionRoleDAO.findByID(context, CollectionRole.class, id); + return collectionRoleDAO.findByID(context.getSession(), CollectionRole.class, id); } @Override public CollectionRole find(Context context, Collection collection, String role) throws SQLException { - return collectionRoleDAO.findByCollectionAndRole(context, collection, role); + return collectionRoleDAO.findByCollectionAndRole(context.getSession(), collection, role); } @Override public List findByCollection(Context context, Collection collection) throws SQLException { - return collectionRoleDAO.findByCollection(context, collection); + return collectionRoleDAO.findByCollection(context.getSession(), collection); } @Override public List findByGroup(Context context, Group group) throws SQLException { - return collectionRoleDAO.findByGroup(context, group); + return collectionRoleDAO.findByGroup(context.getSession(), group); } @Override public CollectionRole create(Context context, Collection collection, String roleId, Group group) throws SQLException { - CollectionRole collectionRole = collectionRoleDAO.create(context, new CollectionRole()); + CollectionRole collectionRole = collectionRoleDAO.create(context.getSession(), new CollectionRole()); collectionRole.setCollection(collection); collectionRole.setRoleId(roleId); collectionRole.setGroup(group); @@ -67,17 +67,17 @@ public CollectionRole create(Context context, Collection collection, String role @Override public void update(Context context, CollectionRole collectionRole) throws SQLException { - collectionRoleDAO.save(context, collectionRole); + collectionRoleDAO.save(context.getSession(), collectionRole); } @Override public void delete(Context context, CollectionRole collectionRole) throws SQLException { - collectionRoleDAO.delete(context, collectionRole); + collectionRoleDAO.delete(context.getSession(), collectionRole); } @Override public void deleteByCollection(Context context, Collection collection) throws SQLException { - collectionRoleDAO.deleteByCollection(context, collection); + collectionRoleDAO.deleteByCollection(context.getSession(), collection); } } diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/InProgressUserServiceImpl.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/InProgressUserServiceImpl.java index a2b5e718ebdb..428af9455acd 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/InProgressUserServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/InProgressUserServiceImpl.java @@ -38,37 +38,37 @@ protected InProgressUserServiceImpl() { @Override public InProgressUser findByWorkflowItemAndEPerson(Context context, XmlWorkflowItem workflowItem, EPerson ePerson) throws SQLException { - return inProgressUserDAO.findByWorkflowItemAndEPerson(context, workflowItem, ePerson); + return inProgressUserDAO.findByWorkflowItemAndEPerson(context.getSession(), workflowItem, ePerson); } @Override public List findByEperson(Context context, EPerson ePerson) throws SQLException { - return inProgressUserDAO.findByEperson(context, ePerson); + return inProgressUserDAO.findByEperson(context.getSession(), ePerson); } @Override public List findByWorkflowItem(Context context, XmlWorkflowItem workflowItem) throws SQLException { - return inProgressUserDAO.findByWorkflowItem(context, workflowItem); + return inProgressUserDAO.findByWorkflowItem(context.getSession(), workflowItem); } @Override public int getNumberOfInProgressUsers(Context context, XmlWorkflowItem workflowItem) throws SQLException { - return inProgressUserDAO.countInProgressUsers(context, workflowItem); + return inProgressUserDAO.countInProgressUsers(context.getSession(), workflowItem); } @Override public int getNumberOfFinishedUsers(Context context, XmlWorkflowItem workflowItem) throws SQLException { - return inProgressUserDAO.countFinishedUsers(context, workflowItem); + return inProgressUserDAO.countFinishedUsers(context.getSession(), workflowItem); } @Override public InProgressUser create(Context context) throws SQLException, AuthorizeException { - return inProgressUserDAO.create(context, new InProgressUser()); + return inProgressUserDAO.create(context.getSession(), new InProgressUser()); } @Override public InProgressUser find(Context context, int id) throws SQLException { - return inProgressUserDAO.findByID(context, InProgressUser.class, id); + return inProgressUserDAO.findByID(context.getSession(), InProgressUser.class, id); } @Override @@ -80,13 +80,13 @@ public void update(Context context, InProgressUser inProgressUser) throws SQLExc public void update(Context context, List inProgressUsers) throws SQLException, AuthorizeException { if (CollectionUtils.isNotEmpty(inProgressUsers)) { for (InProgressUser inProgressUser : inProgressUsers) { - inProgressUserDAO.save(context, inProgressUser); + inProgressUserDAO.save(context.getSession(), inProgressUser); } } } @Override public void delete(Context context, InProgressUser inProgressUser) throws SQLException, AuthorizeException { - inProgressUserDAO.delete(context, inProgressUser); + inProgressUserDAO.delete(context.getSession(), inProgressUser); } } diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/PoolTaskServiceImpl.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/PoolTaskServiceImpl.java index fb673725e181..b9c1e9825f21 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/PoolTaskServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/PoolTaskServiceImpl.java @@ -49,13 +49,13 @@ protected PoolTaskServiceImpl() { @Override public List findAll(Context context) throws SQLException { - return poolTaskDAO.findAll(context, PoolTask.class); + return poolTaskDAO.findAll(context.getSession(), PoolTask.class); } @Override public List findByEperson(Context context, EPerson ePerson) throws SQLException, AuthorizeException, IOException { - List result = poolTaskDAO.findByEPerson(context, ePerson); + List result = poolTaskDAO.findByEPerson(context.getSession(), ePerson); //Get all PoolTasks for groups of which this eperson is a member List groups = groupService.allMemberGroups(context, ePerson); result.addAll(findByGroups(context, ePerson, groups)); @@ -63,9 +63,9 @@ public List findByEperson(Context context, EPerson ePerson) } protected List findByGroups(Context context, EPerson ePerson, List groups) throws SQLException { - List result = new ArrayList(); + List result = new ArrayList<>(); for (Group group : groups) { - List groupTasks = poolTaskDAO.findByGroup(context, group); + List groupTasks = poolTaskDAO.findByGroup(context.getSession(), group); for (PoolTask poolTask : groupTasks) { XmlWorkflowItem workflowItem = poolTask.getWorkflowItem(); if (inProgressUserService.findByWorkflowItemAndEPerson(context, workflowItem, ePerson) == null) { @@ -79,13 +79,13 @@ protected List findByGroups(Context context, EPerson ePerson, List find(Context context, XmlWorkflowItem workflowItem) throws SQLException { - return poolTaskDAO.findByWorkflowItem(context, workflowItem); + return poolTaskDAO.findByWorkflowItem(context.getSession(), workflowItem); } @Override public PoolTask findByWorkflowIdAndEPerson(Context context, XmlWorkflowItem workflowItem, EPerson ePerson) throws SQLException, AuthorizeException, IOException { - PoolTask poolTask = poolTaskDAO.findByWorkflowItemAndEPerson(context, workflowItem, ePerson); + PoolTask poolTask = poolTaskDAO.findByWorkflowItemAndEPerson(context.getSession(), workflowItem, ePerson); //If there is a pooltask for this eperson, return it if (poolTask != null) { @@ -101,7 +101,7 @@ public PoolTask findByWorkflowIdAndEPerson(Context context, XmlWorkflowItem work //for this workflow item Set groups = groupService.allMemberGroupsSet(context, ePerson); for (Group group : groups) { - poolTask = poolTaskDAO.findByWorkflowItemAndGroup(context, group, workflowItem); + poolTask = poolTaskDAO.findByWorkflowItemAndGroup(context.getSession(), group, workflowItem); if (poolTask != null) { return poolTask; } @@ -140,22 +140,22 @@ public void deleteByEperson(Context context, EPerson ePerson) @Override public List findByEPerson(Context context, EPerson ePerson) throws SQLException { - return poolTaskDAO.findByEPerson(context, ePerson); + return poolTaskDAO.findByEPerson(context.getSession(), ePerson); } @Override public List findByGroup(Context context, Group group) throws SQLException { - return poolTaskDAO.findByGroup(context, group); + return poolTaskDAO.findByGroup(context.getSession(), group); } @Override public PoolTask create(Context context) throws SQLException, AuthorizeException { - return poolTaskDAO.create(context, new PoolTask()); + return poolTaskDAO.create(context.getSession(), new PoolTask()); } @Override public PoolTask find(Context context, int id) throws SQLException { - return poolTaskDAO.findByID(context, PoolTask.class, id); + return poolTaskDAO.findByID(context.getSession(), PoolTask.class, id); } @Override @@ -167,13 +167,13 @@ public void update(Context context, PoolTask poolTask) throws SQLException, Auth public void update(Context context, List poolTasks) throws SQLException, AuthorizeException { if (CollectionUtils.isNotEmpty(poolTasks)) { for (PoolTask poolTask : poolTasks) { - poolTaskDAO.save(context, poolTask); + poolTaskDAO.save(context.getSession(), poolTask); } } } @Override public void delete(Context context, PoolTask poolTask) throws SQLException, AuthorizeException { - poolTaskDAO.delete(context, poolTask); + poolTaskDAO.delete(context.getSession(), poolTask); } } diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/WorkflowItemRoleServiceImpl.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/WorkflowItemRoleServiceImpl.java index 4204c7dcc3f4..97f9dd884365 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/WorkflowItemRoleServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/WorkflowItemRoleServiceImpl.java @@ -38,13 +38,13 @@ protected WorkflowItemRoleServiceImpl() { @Override public List find(Context context, XmlWorkflowItem workflowItem, String role) throws SQLException { - return workflowItemRoleDAO.findByWorkflowItemAndRole(context, workflowItem, role); + return workflowItemRoleDAO.findByWorkflowItemAndRole(context.getSession(), workflowItem, role); } @Override public List findByWorkflowItem(Context context, XmlWorkflowItem xmlWorkflowItem) throws SQLException { - return workflowItemRoleDAO.findByWorkflowItem(context, xmlWorkflowItem); + return workflowItemRoleDAO.findByWorkflowItem(context.getSession(), xmlWorkflowItem); } @Override @@ -70,17 +70,17 @@ public void deleteByEPerson(Context context, EPerson ePerson) throws SQLExceptio @Override public List findByEPerson(Context context, EPerson ePerson) throws SQLException { - return workflowItemRoleDAO.findByEPerson(context, ePerson); + return workflowItemRoleDAO.findByEPerson(context.getSession(), ePerson); } @Override public WorkflowItemRole create(Context context) throws SQLException, AuthorizeException { - return workflowItemRoleDAO.create(context, new WorkflowItemRole()); + return workflowItemRoleDAO.create(context.getSession(), new WorkflowItemRole()); } @Override public WorkflowItemRole find(Context context, int id) throws SQLException { - return workflowItemRoleDAO.findByID(context, WorkflowItemRole.class, id); + return workflowItemRoleDAO.findByID(context.getSession(), WorkflowItemRole.class, id); } @Override @@ -93,13 +93,13 @@ public void update(Context context, List workflowItemRoles) throws SQLException, AuthorizeException { if (CollectionUtils.isNotEmpty(workflowItemRoles)) { for (WorkflowItemRole workflowItemRole : workflowItemRoles) { - workflowItemRoleDAO.save(context, workflowItemRole); + workflowItemRoleDAO.save(context.getSession(), workflowItemRole); } } } @Override public void delete(Context context, WorkflowItemRole workflowItemRole) throws SQLException, AuthorizeException { - workflowItemRoleDAO.delete(context, workflowItemRole); + workflowItemRoleDAO.delete(context.getSession(), workflowItemRole); } } diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/XmlWorkflowItemServiceImpl.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/XmlWorkflowItemServiceImpl.java index 181bb9985fe2..7ca0df2d25db 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/XmlWorkflowItemServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/XmlWorkflowItemServiceImpl.java @@ -55,7 +55,7 @@ public class XmlWorkflowItemServiceImpl implements XmlWorkflowItemService { /* * The current step in the workflow system in which this workflow item is present */ - private Logger log = org.apache.logging.log4j.LogManager.getLogger(XmlWorkflowItemServiceImpl.class); + private final Logger log = org.apache.logging.log4j.LogManager.getLogger(); protected XmlWorkflowItemServiceImpl() { @@ -65,7 +65,7 @@ protected XmlWorkflowItemServiceImpl() { @Override public XmlWorkflowItem create(Context context, Item item, Collection collection) throws SQLException, AuthorizeException { - XmlWorkflowItem xmlWorkflowItem = xmlWorkflowItemDAO.create(context, new XmlWorkflowItem()); + XmlWorkflowItem xmlWorkflowItem = xmlWorkflowItemDAO.create(context.getSession(), new XmlWorkflowItem()); xmlWorkflowItem.setItem(item); xmlWorkflowItem.setCollection(collection); return xmlWorkflowItem; @@ -73,7 +73,7 @@ public XmlWorkflowItem create(Context context, Item item, Collection collection) @Override public XmlWorkflowItem find(Context context, int id) throws SQLException { - XmlWorkflowItem workflowItem = xmlWorkflowItemDAO.findByID(context, XmlWorkflowItem.class, id); + XmlWorkflowItem workflowItem = xmlWorkflowItemDAO.findByID(context.getSession(), XmlWorkflowItem.class, id); if (workflowItem == null) { if (log.isDebugEnabled()) { @@ -91,7 +91,7 @@ public XmlWorkflowItem find(Context context, int id) throws SQLException { @Override public List findAll(Context context) throws SQLException { - return xmlWorkflowItemDAO.findAll(context, XmlWorkflowItem.class); + return xmlWorkflowItemDAO.findAll(context.getSession(), XmlWorkflowItem.class); } @Override @@ -106,22 +106,22 @@ public List findAllInCollection(Context context, Integer page, if (page != null && pagesize != null) { offset = page * pagesize; } - return xmlWorkflowItemDAO.findAllInCollection(context, offset, pagesize, collection); + return xmlWorkflowItemDAO.findAllInCollection(context.getSession(), offset, pagesize, collection); } @Override public int countAll(Context context) throws SQLException { - return xmlWorkflowItemDAO.countAll(context); + return xmlWorkflowItemDAO.countAll(context.getSession()); } @Override public int countAllInCollection(Context context, Collection collection) throws SQLException { - return xmlWorkflowItemDAO.countAllInCollection(context, collection); + return xmlWorkflowItemDAO.countAllInCollection(context.getSession(), collection); } @Override public List findBySubmitter(Context context, EPerson ep) throws SQLException { - return xmlWorkflowItemDAO.findBySubmitter(context, ep); + return xmlWorkflowItemDAO.findBySubmitter(context.getSession(), ep); } @Override @@ -131,12 +131,12 @@ public List findBySubmitter(Context context, EPerson ep, Intege if (pageNumber != null && pageSize != null) { offset = pageNumber * pageSize; } - return xmlWorkflowItemDAO.findBySubmitter(context, ep, pageNumber, pageSize); + return xmlWorkflowItemDAO.findBySubmitter(context.getSession(), ep, pageNumber, pageSize); } @Override public int countBySubmitter(Context context, EPerson ep) throws SQLException { - return xmlWorkflowItemDAO.countBySubmitter(context, ep); + return xmlWorkflowItemDAO.countBySubmitter(context.getSession(), ep); } @Override @@ -165,12 +165,12 @@ public void delete(Context context, XmlWorkflowItem workflowItem) @Override public List findByCollection(Context context, Collection collection) throws SQLException { - return xmlWorkflowItemDAO.findByCollection(context, collection); + return xmlWorkflowItemDAO.findByCollection(context.getSession(), collection); } @Override public XmlWorkflowItem findByItem(Context context, Item item) throws SQLException { - return xmlWorkflowItemDAO.findByItem(context, item); + return xmlWorkflowItemDAO.findByItem(context.getSession(), item); } @Override @@ -182,7 +182,7 @@ public void update(Context context, XmlWorkflowItem workflowItem) throws SQLExce // Update the item itemService.update(context, workflowItem.getItem()); - xmlWorkflowItemDAO.save(context, workflowItem); + xmlWorkflowItemDAO.save(context.getSession(), workflowItem); } @Override @@ -200,10 +200,9 @@ public void deleteWrapper(Context context, XmlWorkflowItem workflowItem) throws claimedTaskService.deleteByWorkflowItem(context, workflowItem); // FIXME - auth? - xmlWorkflowItemDAO.delete(context, workflowItem); + xmlWorkflowItemDAO.delete(context.getSession(), workflowItem); } - @Override public void move(Context context, XmlWorkflowItem inProgressSubmission, Collection fromCollection, Collection toCollection) { diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/dao/ClaimedTaskDAO.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/dao/ClaimedTaskDAO.java index 9d9c8b55e84e..ff9e9665d3b8 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/dao/ClaimedTaskDAO.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/dao/ClaimedTaskDAO.java @@ -10,11 +10,11 @@ import java.sql.SQLException; import java.util.List; -import org.dspace.core.Context; import org.dspace.core.GenericDAO; import org.dspace.eperson.EPerson; import org.dspace.xmlworkflow.storedcomponents.ClaimedTask; import org.dspace.xmlworkflow.storedcomponents.XmlWorkflowItem; +import org.hibernate.Session; /** * Database Access Object interface class for the ClaimedTask object. @@ -29,36 +29,36 @@ public interface ClaimedTaskDAO extends GenericDAO { /** * Find all claimed tasks for a given workflow item. * - * @param context current DSpace session. + * @param session current DSpace session. * @param workflowItem the interesting workflow item. * @return all claimed tasks for that item. * @throws SQLException passed through. */ - public List findByWorkflowItem(Context context, XmlWorkflowItem workflowItem) throws SQLException; + public List findByWorkflowItem(Session session, XmlWorkflowItem workflowItem) throws SQLException; /** * Find the single task for a given workflow item which is claimed by a given EPerson. * - * @param context + * @param session * @param workflowItem find task for this item. * @param ePerson find task claimed by this EPerson. * @return the matching task, or null if none. * @throws SQLException if query cannot be created or fails. */ - public ClaimedTask findByWorkflowItemAndEPerson(Context context, XmlWorkflowItem workflowItem, EPerson ePerson) + public ClaimedTask findByWorkflowItemAndEPerson(Session session, XmlWorkflowItem workflowItem, EPerson ePerson) throws SQLException; - public List findByEperson(Context context, EPerson ePerson) throws SQLException; + public List findByEperson(Session session, EPerson ePerson) throws SQLException; - public List findByWorkflowItemAndStepId(Context context, XmlWorkflowItem workflowItem, String stepID) + public List findByWorkflowItemAndStepId(Session session, XmlWorkflowItem workflowItem, String stepID) throws SQLException; - public ClaimedTask findByEPersonAndWorkflowItemAndStepIdAndActionId(Context context, EPerson ePerson, + public ClaimedTask findByEPersonAndWorkflowItemAndStepIdAndActionId(Session session, EPerson ePerson, XmlWorkflowItem workflowItem, String stepID, String actionID) throws SQLException; - public List findByWorkflowItemAndStepIdAndActionId(Context c, XmlWorkflowItem workflowItem, + public List findByWorkflowItemAndStepIdAndActionId(Session session, XmlWorkflowItem workflowItem, String stepID, String actionID) throws SQLException; - public List findByStep(Context context, String stepID) throws SQLException; + public List findByStep(Session session, String stepID) throws SQLException; } diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/dao/CollectionRoleDAO.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/dao/CollectionRoleDAO.java index 08000bc0659e..2667395828f6 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/dao/CollectionRoleDAO.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/dao/CollectionRoleDAO.java @@ -11,10 +11,10 @@ import java.util.List; import org.dspace.content.Collection; -import org.dspace.core.Context; import org.dspace.core.GenericDAO; import org.dspace.eperson.Group; import org.dspace.xmlworkflow.storedcomponents.CollectionRole; +import org.hibernate.Session; /** * Database Access Object interface class for the CollectionRole object. @@ -26,21 +26,21 @@ */ public interface CollectionRoleDAO extends GenericDAO { - public List findByCollection(Context context, Collection collection) throws SQLException; + public List findByCollection(Session session, Collection collection) throws SQLException; /** - * - * @param context - * DSpace context + * + * @param session + * The current request's database context. * @param group * EPerson Group * @return the list of CollectionRole assigned to the specified group * @throws SQLException */ - public List findByGroup(Context context, Group group) throws SQLException; + public List findByGroup(Session session, Group group) throws SQLException; - public CollectionRole findByCollectionAndRole(Context context, Collection collection, String role) + public CollectionRole findByCollectionAndRole(Session session, Collection collection, String role) throws SQLException; - public void deleteByCollection(Context context, Collection collection) throws SQLException; + public void deleteByCollection(Session session, Collection collection) throws SQLException; } diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/dao/InProgressUserDAO.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/dao/InProgressUserDAO.java index b08d5afc2113..8047a659981c 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/dao/InProgressUserDAO.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/dao/InProgressUserDAO.java @@ -10,11 +10,11 @@ import java.sql.SQLException; import java.util.List; -import org.dspace.core.Context; import org.dspace.core.GenericDAO; import org.dspace.eperson.EPerson; import org.dspace.xmlworkflow.storedcomponents.InProgressUser; import org.dspace.xmlworkflow.storedcomponents.XmlWorkflowItem; +import org.hibernate.Session; /** * Database Access Object interface class for the InProgressUser object. @@ -26,14 +26,14 @@ */ public interface InProgressUserDAO extends GenericDAO { - public InProgressUser findByWorkflowItemAndEPerson(Context context, XmlWorkflowItem workflowItem, EPerson ePerson) + public InProgressUser findByWorkflowItemAndEPerson(Session session, XmlWorkflowItem workflowItem, EPerson ePerson) throws SQLException; - public List findByEperson(Context context, EPerson ePerson) throws SQLException; + public List findByEperson(Session session, EPerson ePerson) throws SQLException; - public List findByWorkflowItem(Context context, XmlWorkflowItem workflowItem) throws SQLException; + public List findByWorkflowItem(Session session, XmlWorkflowItem workflowItem) throws SQLException; - public int countInProgressUsers(Context context, XmlWorkflowItem workflowItem) throws SQLException; + public int countInProgressUsers(Session session, XmlWorkflowItem workflowItem) throws SQLException; - public int countFinishedUsers(Context context, XmlWorkflowItem workflowItem) throws SQLException; + public int countFinishedUsers(Session session, XmlWorkflowItem workflowItem) throws SQLException; } diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/dao/PoolTaskDAO.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/dao/PoolTaskDAO.java index 55aed546d94a..60565052a081 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/dao/PoolTaskDAO.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/dao/PoolTaskDAO.java @@ -10,12 +10,12 @@ import java.sql.SQLException; import java.util.List; -import org.dspace.core.Context; import org.dspace.core.GenericDAO; import org.dspace.eperson.EPerson; import org.dspace.eperson.Group; import org.dspace.xmlworkflow.storedcomponents.PoolTask; import org.dspace.xmlworkflow.storedcomponents.XmlWorkflowItem; +import org.hibernate.Session; /** * Database Access Object interface class for the PoolTask object. @@ -27,15 +27,15 @@ */ public interface PoolTaskDAO extends GenericDAO { - public List findByEPerson(Context context, EPerson ePerson) throws SQLException; + public List findByEPerson(Session session, EPerson ePerson) throws SQLException; - public List findByGroup(Context context, Group group) throws SQLException; + public List findByGroup(Session session, Group group) throws SQLException; - public List findByWorkflowItem(Context context, XmlWorkflowItem workflowItem) throws SQLException; + public List findByWorkflowItem(Session session, XmlWorkflowItem workflowItem) throws SQLException; - public PoolTask findByWorkflowItemAndEPerson(Context context, XmlWorkflowItem workflowItem, EPerson ePerson) + public PoolTask findByWorkflowItemAndEPerson(Session session, XmlWorkflowItem workflowItem, EPerson ePerson) throws SQLException; - public PoolTask findByWorkflowItemAndGroup(Context context, Group group, XmlWorkflowItem workflowItem) + public PoolTask findByWorkflowItemAndGroup(Session session, Group group, XmlWorkflowItem workflowItem) throws SQLException; } diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/dao/WorkflowItemRoleDAO.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/dao/WorkflowItemRoleDAO.java index 8ee9e4e4c0a8..474189e6a037 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/dao/WorkflowItemRoleDAO.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/dao/WorkflowItemRoleDAO.java @@ -10,11 +10,11 @@ import java.sql.SQLException; import java.util.List; -import org.dspace.core.Context; import org.dspace.core.GenericDAO; import org.dspace.eperson.EPerson; import org.dspace.xmlworkflow.storedcomponents.WorkflowItemRole; import org.dspace.xmlworkflow.storedcomponents.XmlWorkflowItem; +import org.hibernate.Session; /** * Database Access Object interface class for the WorkflowItemRole object. @@ -26,10 +26,10 @@ */ public interface WorkflowItemRoleDAO extends GenericDAO { - public List findByWorkflowItemAndRole(Context context, XmlWorkflowItem workflowItem, String role) + public List findByWorkflowItemAndRole(Session session, XmlWorkflowItem workflowItem, String role) throws SQLException; - public List findByWorkflowItem(Context context, XmlWorkflowItem workflowItem) throws SQLException; + public List findByWorkflowItem(Session session, XmlWorkflowItem workflowItem) throws SQLException; - public List findByEPerson(Context context, EPerson ePerson) throws SQLException; + public List findByEPerson(Session session, EPerson ePerson) throws SQLException; } diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/dao/XmlWorkflowItemDAO.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/dao/XmlWorkflowItemDAO.java index d0d11886aa75..3741a94992f6 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/dao/XmlWorkflowItemDAO.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/dao/XmlWorkflowItemDAO.java @@ -12,10 +12,10 @@ import org.dspace.content.Collection; import org.dspace.content.Item; -import org.dspace.core.Context; import org.dspace.core.GenericDAO; import org.dspace.eperson.EPerson; import org.dspace.xmlworkflow.storedcomponents.XmlWorkflowItem; +import org.hibernate.Session; /** * Database Access Object interface class for the XmlWorkflowItem object. @@ -29,9 +29,9 @@ public interface XmlWorkflowItemDAO extends GenericDAO { /** * Find all the workflow items in a specific collection using the pagination parameters (offset, limit) - * - * @param context - * dspace context + * + * @param session + * the current request's database context. * @param offset * the first record to return * @param limit @@ -41,24 +41,24 @@ public interface XmlWorkflowItemDAO extends GenericDAO { * @return all the workflow items respecting the parameters conditions * @throws SQLException */ - public List findAllInCollection(Context context, Integer offset, Integer limit, + public List findAllInCollection(Session session, Integer offset, Integer limit, Collection collection) throws SQLException; - public int countAll(Context context) throws SQLException; + public int countAll(Session session) throws SQLException; - public int countAllInCollection(Context context, Collection collection) throws SQLException; + public int countAllInCollection(Session session, Collection collection) throws SQLException; - public List findBySubmitter(Context context, EPerson ep) throws SQLException; + public List findBySubmitter(Session session, EPerson ep) throws SQLException; - public List findByCollection(Context context, Collection collection) throws SQLException; + public List findByCollection(Session session, Collection collection) throws SQLException; - public XmlWorkflowItem findByItem(Context context, Item item) throws SQLException; + public XmlWorkflowItem findByItem(Session session, Item item) throws SQLException; /** * Return all the workflow items from a specific submitter respecting the pagination parameters - * - * @param context - * The relevant DSpace Context. + * + * @param session + * The current request's database context. * @param ep * the eperson that has submitted the item * @param offset @@ -66,19 +66,20 @@ public List findAllInCollection(Context context, Integer offset * @param limit * the max number of records to return * @return + * @throws SQLException */ - public List findBySubmitter(Context context, EPerson ep, Integer offset, Integer limit) + public List findBySubmitter(Session session, EPerson ep, Integer offset, Integer limit) throws SQLException; /** * Count the number of workflow items from a specific submitter - * - * @param context - * The relevant DSpace Context. + * + * @param session + * The current request's database context. * @param ep * the eperson that has submitted the item * @return * @throws SQLException */ - public int countBySubmitter(Context context, EPerson ep) throws SQLException; + public int countBySubmitter(Session session, EPerson ep) throws SQLException; } diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/dao/impl/ClaimedTaskDAOImpl.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/dao/impl/ClaimedTaskDAOImpl.java index 956a4648c53a..9487c4bd7989 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/dao/impl/ClaimedTaskDAOImpl.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/dao/impl/ClaimedTaskDAOImpl.java @@ -14,12 +14,12 @@ import javax.persistence.criteria.Root; import org.dspace.core.AbstractHibernateDAO; -import org.dspace.core.Context; import org.dspace.eperson.EPerson; import org.dspace.xmlworkflow.storedcomponents.ClaimedTask; import org.dspace.xmlworkflow.storedcomponents.ClaimedTask_; import org.dspace.xmlworkflow.storedcomponents.XmlWorkflowItem; import org.dspace.xmlworkflow.storedcomponents.dao.ClaimedTaskDAO; +import org.hibernate.Session; /** * Hibernate implementation of the Database Access Object interface class for the ClaimedTask object. @@ -34,20 +34,19 @@ protected ClaimedTaskDAOImpl() { } @Override - public List findByWorkflowItem(Context context, XmlWorkflowItem workflowItem) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + public List findByWorkflowItem(Session session, XmlWorkflowItem workflowItem) throws SQLException { + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, ClaimedTask.class); Root claimedTaskRoot = criteriaQuery.from(ClaimedTask.class); criteriaQuery.select(claimedTaskRoot); criteriaQuery.where(criteriaBuilder.equal(claimedTaskRoot.get(ClaimedTask_.workflowItem), workflowItem)); - return list(context, criteriaQuery, false, ClaimedTask.class, -1, -1); - + return list(session, criteriaQuery, false, ClaimedTask.class, -1, -1); } @Override - public ClaimedTask findByWorkflowItemAndEPerson(Context context, XmlWorkflowItem workflowItem, EPerson ePerson) + public ClaimedTask findByWorkflowItemAndEPerson(Session session, XmlWorkflowItem workflowItem, EPerson ePerson) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, ClaimedTask.class); Root claimedTaskRoot = criteriaQuery.from(ClaimedTask.class); criteriaQuery.select(claimedTaskRoot); @@ -56,25 +55,23 @@ public ClaimedTask findByWorkflowItemAndEPerson(Context context, XmlWorkflowItem criteriaBuilder.equal(claimedTaskRoot.get(ClaimedTask_.owner), ePerson) ) ); - return uniqueResult(context, criteriaQuery, false, ClaimedTask.class); - - + return uniqueResult(session, criteriaQuery, false, ClaimedTask.class); } @Override - public List findByEperson(Context context, EPerson ePerson) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + public List findByEperson(Session session, EPerson ePerson) throws SQLException { + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, ClaimedTask.class); Root claimedTaskRoot = criteriaQuery.from(ClaimedTask.class); criteriaQuery.select(claimedTaskRoot); criteriaQuery.where(criteriaBuilder.equal(claimedTaskRoot.get(ClaimedTask_.owner), ePerson)); - return list(context, criteriaQuery, false, ClaimedTask.class, -1, -1); + return list(session, criteriaQuery, false, ClaimedTask.class, -1, -1); } @Override - public List findByWorkflowItemAndStepId(Context context, XmlWorkflowItem workflowItem, String stepID) + public List findByWorkflowItemAndStepId(Session session, XmlWorkflowItem workflowItem, String stepID) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, ClaimedTask.class); Root claimedTaskRoot = criteriaQuery.from(ClaimedTask.class); criteriaQuery.select(claimedTaskRoot); @@ -83,14 +80,14 @@ public List findByWorkflowItemAndStepId(Context context, XmlWorkflo criteriaBuilder.equal(claimedTaskRoot.get(ClaimedTask_.stepId), stepID) ) ); - return list(context, criteriaQuery, false, ClaimedTask.class, -1, -1); + return list(session, criteriaQuery, false, ClaimedTask.class, -1, -1); } @Override - public ClaimedTask findByEPersonAndWorkflowItemAndStepIdAndActionId(Context context, EPerson ePerson, + public ClaimedTask findByEPersonAndWorkflowItemAndStepIdAndActionId(Session session, EPerson ePerson, XmlWorkflowItem workflowItem, String stepID, String actionID) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, ClaimedTask.class); Root claimedTaskRoot = criteriaQuery.from(ClaimedTask.class); criteriaQuery.select(claimedTaskRoot); @@ -101,14 +98,14 @@ public ClaimedTask findByEPersonAndWorkflowItemAndStepIdAndActionId(Context cont criteriaBuilder.equal(claimedTaskRoot.get(ClaimedTask_.actionId), actionID) ) ); - return uniqueResult(context, criteriaQuery, false, ClaimedTask.class); + return uniqueResult(session, criteriaQuery, false, ClaimedTask.class); } @Override - public List findByWorkflowItemAndStepIdAndActionId(Context context, XmlWorkflowItem workflowItem, + public List findByWorkflowItemAndStepIdAndActionId(Session session, XmlWorkflowItem workflowItem, String stepID, String actionID) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, ClaimedTask.class); Root claimedTaskRoot = criteriaQuery.from(ClaimedTask.class); criteriaQuery.select(claimedTaskRoot); @@ -118,16 +115,16 @@ public List findByWorkflowItemAndStepIdAndActionId(Context context, criteriaBuilder.equal(claimedTaskRoot.get(ClaimedTask_.actionId), actionID) ) ); - return list(context, criteriaQuery, false, ClaimedTask.class, -1, -1); + return list(session, criteriaQuery, false, ClaimedTask.class, -1, -1); } @Override - public List findByStep(Context context, String stepID) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + public List findByStep(Session session, String stepID) throws SQLException { + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, ClaimedTask.class); Root claimedTaskRoot = criteriaQuery.from(ClaimedTask.class); criteriaQuery.select(claimedTaskRoot); criteriaQuery.where(criteriaBuilder.equal(claimedTaskRoot.get(ClaimedTask_.stepId), stepID)); - return list(context, criteriaQuery, false, ClaimedTask.class, -1, -1); + return list(session, criteriaQuery, false, ClaimedTask.class, -1, -1); } } diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/dao/impl/CollectionRoleDAOImpl.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/dao/impl/CollectionRoleDAOImpl.java index b3cd32c74f0d..839242a1228f 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/dao/impl/CollectionRoleDAOImpl.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/dao/impl/CollectionRoleDAOImpl.java @@ -16,11 +16,11 @@ import org.dspace.content.Collection; import org.dspace.core.AbstractHibernateDAO; -import org.dspace.core.Context; import org.dspace.eperson.Group; import org.dspace.xmlworkflow.storedcomponents.CollectionRole; import org.dspace.xmlworkflow.storedcomponents.CollectionRole_; import org.dspace.xmlworkflow.storedcomponents.dao.CollectionRoleDAO; +import org.hibernate.Session; /** * Hibernate implementation of the Database Access Object interface class for the CollectionRole object. @@ -35,29 +35,29 @@ protected CollectionRoleDAOImpl() { } @Override - public List findByCollection(Context context, Collection collection) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + public List findByCollection(Session session, Collection collection) throws SQLException { + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, CollectionRole.class); Root collectionRoleRoot = criteriaQuery.from(CollectionRole.class); criteriaQuery.select(collectionRoleRoot); criteriaQuery.where(criteriaBuilder.equal(collectionRoleRoot.get(CollectionRole_.collection), collection)); - return list(context, criteriaQuery, false, CollectionRole.class, -1, -1); + return list(session, criteriaQuery, false, CollectionRole.class, -1, -1); } @Override - public List findByGroup(Context context, Group group) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + public List findByGroup(Session session, Group group) throws SQLException { + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, CollectionRole.class); Root collectionRoleRoot = criteriaQuery.from(CollectionRole.class); criteriaQuery.select(collectionRoleRoot); criteriaQuery.where(criteriaBuilder.equal(collectionRoleRoot.get(CollectionRole_.group), group)); - return list(context, criteriaQuery, false, CollectionRole.class, -1, -1); + return list(session, criteriaQuery, false, CollectionRole.class, -1, -1); } @Override - public CollectionRole findByCollectionAndRole(Context context, Collection collection, String role) + public CollectionRole findByCollectionAndRole(Session session, Collection collection, String role) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, CollectionRole.class); Root collectionRoleRoot = criteriaQuery.from(CollectionRole.class); criteriaQuery.select(collectionRoleRoot); @@ -66,14 +66,14 @@ public CollectionRole findByCollectionAndRole(Context context, Collection collec criteriaBuilder.equal(collectionRoleRoot.get(CollectionRole_.roleId), role) ) ); - return uniqueResult(context, criteriaQuery, false, CollectionRole.class); + return uniqueResult(session, criteriaQuery, false, CollectionRole.class); } @Override - public void deleteByCollection(Context context, Collection collection) throws SQLException { + public void deleteByCollection(Session session, Collection collection) throws SQLException { String hql = "delete from CollectionRole WHERE collection=:collection"; - Query query = createQuery(context, hql); + Query query = createQuery(session, hql); query.setParameter("collection", collection); query.executeUpdate(); } diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/dao/impl/InProgressUserDAOImpl.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/dao/impl/InProgressUserDAOImpl.java index 783d403c054a..d15c2cdeed33 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/dao/impl/InProgressUserDAOImpl.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/dao/impl/InProgressUserDAOImpl.java @@ -14,12 +14,12 @@ import javax.persistence.criteria.Root; import org.dspace.core.AbstractHibernateDAO; -import org.dspace.core.Context; import org.dspace.eperson.EPerson; import org.dspace.xmlworkflow.storedcomponents.InProgressUser; import org.dspace.xmlworkflow.storedcomponents.InProgressUser_; import org.dspace.xmlworkflow.storedcomponents.XmlWorkflowItem; import org.dspace.xmlworkflow.storedcomponents.dao.InProgressUserDAO; +import org.hibernate.Session; /** * Hibernate implementation of the Database Access Object interface class for the InProgressUser object. @@ -34,10 +34,10 @@ protected InProgressUserDAOImpl() { } @Override - public InProgressUser findByWorkflowItemAndEPerson(Context context, XmlWorkflowItem workflowItem, EPerson ePerson) + public InProgressUser findByWorkflowItemAndEPerson(Session session, XmlWorkflowItem workflowItem, EPerson ePerson) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, InProgressUser.class); Root inProgressUserRoot = criteriaQuery.from(InProgressUser.class); criteriaQuery.select(inProgressUserRoot); @@ -46,35 +46,34 @@ public InProgressUser findByWorkflowItemAndEPerson(Context context, XmlWorkflowI criteriaBuilder.equal(inProgressUserRoot.get(InProgressUser_.ePerson), ePerson) ) ); - return uniqueResult(context, criteriaQuery, false, InProgressUser.class); - + return uniqueResult(session, criteriaQuery, false, InProgressUser.class); } @Override - public List findByEperson(Context context, EPerson ePerson) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + public List findByEperson(Session session, EPerson ePerson) throws SQLException { + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, InProgressUser.class); Root inProgressUserRoot = criteriaQuery.from(InProgressUser.class); criteriaQuery.select(inProgressUserRoot); criteriaQuery.where(criteriaBuilder.equal(inProgressUserRoot.get(InProgressUser_.ePerson), ePerson)); - return list(context, criteriaQuery, false, InProgressUser.class, -1, -1); + return list(session, criteriaQuery, false, InProgressUser.class, -1, -1); } @Override - public List findByWorkflowItem(Context context, XmlWorkflowItem workflowItem) throws SQLException { + public List findByWorkflowItem(Session session, XmlWorkflowItem workflowItem) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, InProgressUser.class); Root inProgressUserRoot = criteriaQuery.from(InProgressUser.class); criteriaQuery.select(inProgressUserRoot); criteriaQuery.where(criteriaBuilder.equal(inProgressUserRoot.get(InProgressUser_.workflowItem), workflowItem)); - return list(context, criteriaQuery, false, InProgressUser.class, -1, -1); + return list(session, criteriaQuery, false, InProgressUser.class, -1, -1); } @Override - public int countInProgressUsers(Context context, XmlWorkflowItem workflowItem) throws SQLException { + public int countInProgressUsers(Session session, XmlWorkflowItem workflowItem) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = criteriaBuilder.createQuery(Long.class); Root inProgressUserRoot = criteriaQuery.from(InProgressUser.class); @@ -84,13 +83,13 @@ public int countInProgressUsers(Context context, XmlWorkflowItem workflowItem) t criteriaBuilder.equal(inProgressUserRoot.get(InProgressUser_.finished), false) ) ); - return count(context, criteriaQuery, criteriaBuilder, inProgressUserRoot); + return count(session, criteriaQuery, criteriaBuilder, inProgressUserRoot); } @Override - public int countFinishedUsers(Context context, XmlWorkflowItem workflowItem) throws SQLException { + public int countFinishedUsers(Session session, XmlWorkflowItem workflowItem) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = criteriaBuilder.createQuery(Long.class); Root inProgressUserRoot = criteriaQuery.from(InProgressUser.class); @@ -100,6 +99,6 @@ public int countFinishedUsers(Context context, XmlWorkflowItem workflowItem) thr criteriaBuilder.equal(inProgressUserRoot.get(InProgressUser_.finished), true) ) ); - return count(context, criteriaQuery, criteriaBuilder, inProgressUserRoot); + return count(session, criteriaQuery, criteriaBuilder, inProgressUserRoot); } } diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/dao/impl/PoolTaskDAOImpl.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/dao/impl/PoolTaskDAOImpl.java index 0857a325b5df..3c921f46b8ec 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/dao/impl/PoolTaskDAOImpl.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/dao/impl/PoolTaskDAOImpl.java @@ -14,13 +14,13 @@ import javax.persistence.criteria.Root; import org.dspace.core.AbstractHibernateDAO; -import org.dspace.core.Context; import org.dspace.eperson.EPerson; import org.dspace.eperson.Group; import org.dspace.xmlworkflow.storedcomponents.PoolTask; import org.dspace.xmlworkflow.storedcomponents.PoolTask_; import org.dspace.xmlworkflow.storedcomponents.XmlWorkflowItem; import org.dspace.xmlworkflow.storedcomponents.dao.PoolTaskDAO; +import org.hibernate.Session; /** * Hibernate implementation of the Database Access Object interface class for the PoolTask object. @@ -35,40 +35,39 @@ protected PoolTaskDAOImpl() { } @Override - public List findByEPerson(Context context, EPerson ePerson) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + public List findByEPerson(Session session, EPerson ePerson) throws SQLException { + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, PoolTask.class); Root poolTaskRoot = criteriaQuery.from(PoolTask.class); criteriaQuery.select(poolTaskRoot); criteriaQuery.where(criteriaBuilder.equal(poolTaskRoot.get(PoolTask_.ePerson), ePerson)); - return list(context, criteriaQuery, false, PoolTask.class, -1, -1); - + return list(session, criteriaQuery, false, PoolTask.class, -1, -1); } @Override - public List findByGroup(Context context, Group group) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + public List findByGroup(Session session, Group group) throws SQLException { + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, PoolTask.class); Root poolTaskRoot = criteriaQuery.from(PoolTask.class); criteriaQuery.select(poolTaskRoot); criteriaQuery.where(criteriaBuilder.equal(poolTaskRoot.get(PoolTask_.group), group)); - return list(context, criteriaQuery, false, PoolTask.class, -1, -1); + return list(session, criteriaQuery, false, PoolTask.class, -1, -1); } @Override - public List findByWorkflowItem(Context context, XmlWorkflowItem workflowItem) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + public List findByWorkflowItem(Session session, XmlWorkflowItem workflowItem) throws SQLException { + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, PoolTask.class); Root poolTaskRoot = criteriaQuery.from(PoolTask.class); criteriaQuery.select(poolTaskRoot); criteriaQuery.where(criteriaBuilder.equal(poolTaskRoot.get(PoolTask_.workflowItem), workflowItem)); - return list(context, criteriaQuery, false, PoolTask.class, -1, -1); + return list(session, criteriaQuery, false, PoolTask.class, -1, -1); } @Override - public PoolTask findByWorkflowItemAndEPerson(Context context, XmlWorkflowItem workflowItem, EPerson ePerson) + public PoolTask findByWorkflowItemAndEPerson(Session session, XmlWorkflowItem workflowItem, EPerson ePerson) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, PoolTask.class); Root poolTaskRoot = criteriaQuery.from(PoolTask.class); criteriaQuery.select(poolTaskRoot); @@ -77,13 +76,13 @@ public PoolTask findByWorkflowItemAndEPerson(Context context, XmlWorkflowItem wo criteriaBuilder.equal(poolTaskRoot.get(PoolTask_.ePerson), ePerson) ) ); - return uniqueResult(context, criteriaQuery, false, PoolTask.class); + return uniqueResult(session, criteriaQuery, false, PoolTask.class); } @Override - public PoolTask findByWorkflowItemAndGroup(Context context, Group group, XmlWorkflowItem workflowItem) + public PoolTask findByWorkflowItemAndGroup(Session session, Group group, XmlWorkflowItem workflowItem) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, PoolTask.class); Root poolTaskRoot = criteriaQuery.from(PoolTask.class); criteriaQuery.select(poolTaskRoot); @@ -92,6 +91,6 @@ public PoolTask findByWorkflowItemAndGroup(Context context, Group group, XmlWork criteriaBuilder.equal(poolTaskRoot.get(PoolTask_.group), group) ) ); - return uniqueResult(context, criteriaQuery, false, PoolTask.class); + return uniqueResult(session, criteriaQuery, false, PoolTask.class); } } diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/dao/impl/WorkflowItemRoleDAOImpl.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/dao/impl/WorkflowItemRoleDAOImpl.java index fdc2413b5ffd..c24c20c86bc4 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/dao/impl/WorkflowItemRoleDAOImpl.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/dao/impl/WorkflowItemRoleDAOImpl.java @@ -14,12 +14,12 @@ import javax.persistence.criteria.Root; import org.dspace.core.AbstractHibernateDAO; -import org.dspace.core.Context; import org.dspace.eperson.EPerson; import org.dspace.xmlworkflow.storedcomponents.WorkflowItemRole; import org.dspace.xmlworkflow.storedcomponents.WorkflowItemRole_; import org.dspace.xmlworkflow.storedcomponents.XmlWorkflowItem; import org.dspace.xmlworkflow.storedcomponents.dao.WorkflowItemRoleDAO; +import org.hibernate.Session; /** * Hibernate implementation of the Database Access Object interface class for the WorkflowItemRole object. @@ -35,10 +35,10 @@ protected WorkflowItemRoleDAOImpl() { } @Override - public List findByWorkflowItemAndRole(Context context, + public List findByWorkflowItemAndRole(Session session, XmlWorkflowItem workflowItem, String role) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, WorkflowItemRole.class); Root workflowItemRoleRoot = criteriaQuery.from(WorkflowItemRole.class); criteriaQuery.select(workflowItemRoleRoot); @@ -50,28 +50,28 @@ public List findByWorkflowItemAndRole(Context context, role) ) ); - return list(context, criteriaQuery, false, WorkflowItemRole.class, -1, -1); + return list(session, criteriaQuery, false, WorkflowItemRole.class, -1, -1); } @Override - public List findByWorkflowItem(Context context, + public List findByWorkflowItem(Session session, XmlWorkflowItem workflowItem) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, WorkflowItemRole.class); Root workflowItemRoleRoot = criteriaQuery.from(WorkflowItemRole.class); criteriaQuery.select(workflowItemRoleRoot); criteriaQuery.where(criteriaBuilder.equal(workflowItemRoleRoot.get(WorkflowItemRole_.workflowItem), workflowItem)); - return list(context, criteriaQuery, false, WorkflowItemRole.class, -1, -1); + return list(session, criteriaQuery, false, WorkflowItemRole.class, -1, -1); } @Override - public List findByEPerson(Context context, EPerson ePerson) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + public List findByEPerson(Session session, EPerson ePerson) throws SQLException { + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, WorkflowItemRole.class); Root workflowItemRoleRoot = criteriaQuery.from(WorkflowItemRole.class); criteriaQuery.select(workflowItemRoleRoot); criteriaQuery.where(criteriaBuilder.equal(workflowItemRoleRoot.get(WorkflowItemRole_.ePerson), ePerson)); - return list(context, criteriaQuery, false, WorkflowItemRole.class, -1, -1); + return list(session, criteriaQuery, false, WorkflowItemRole.class, -1, -1); } } diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/dao/impl/XmlWorkflowItemDAOImpl.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/dao/impl/XmlWorkflowItemDAOImpl.java index 659a2123d90a..2c847f5fd5d8 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/dao/impl/XmlWorkflowItemDAOImpl.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/dao/impl/XmlWorkflowItemDAOImpl.java @@ -18,11 +18,11 @@ import org.dspace.content.Item; import org.dspace.content.Item_; import org.dspace.core.AbstractHibernateDAO; -import org.dspace.core.Context; import org.dspace.eperson.EPerson; import org.dspace.xmlworkflow.storedcomponents.XmlWorkflowItem; import org.dspace.xmlworkflow.storedcomponents.XmlWorkflowItem_; import org.dspace.xmlworkflow.storedcomponents.dao.XmlWorkflowItemDAO; +import org.hibernate.Session; /** * Hibernate implementation of the Database Access Object interface class for the XmlWorkflowItem object. @@ -38,10 +38,10 @@ protected XmlWorkflowItemDAOImpl() { } @Override - public List findAllInCollection(Context context, Integer offset, + public List findAllInCollection(Session session, Integer offset, Integer limit, Collection collection) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, XmlWorkflowItem.class); Root xmlWorkflowItemRoot = criteriaQuery.from(XmlWorkflowItem.class); criteriaQuery.select(xmlWorkflowItemRoot); @@ -56,19 +56,19 @@ public List findAllInCollection(Context context, Integer offset limit = -1; } criteriaQuery.orderBy(criteriaBuilder.asc(xmlWorkflowItemRoot.get(XmlWorkflowItem_.id))); - return list(context, criteriaQuery, false, XmlWorkflowItem.class, limit, offset); + return list(session, criteriaQuery, false, XmlWorkflowItem.class, limit, offset); } @Override - public int countAll(Context context) throws SQLException { - return countAllInCollection(context, null); + public int countAll(Session session) throws SQLException { + return countAllInCollection(session, null); } @Override - public int countAllInCollection(Context context, Collection collection) throws SQLException { + public int countAllInCollection(Session session, Collection collection) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = criteriaBuilder.createQuery(Long.class); Root xmlWorkflowItemRoot = criteriaQuery.from(XmlWorkflowItem.class); @@ -76,16 +76,16 @@ public int countAllInCollection(Context context, Collection collection) throws S criteriaQuery.where(criteriaBuilder.equal(xmlWorkflowItemRoot.get(XmlWorkflowItem_.collection), collection)); } - return count(context, criteriaQuery, criteriaBuilder, xmlWorkflowItemRoot); + return count(session, criteriaQuery, criteriaBuilder, xmlWorkflowItemRoot); } @Override - public List findBySubmitter(Context context, EPerson ep) throws SQLException { - return findBySubmitter(context, ep, null, null); + public List findBySubmitter(Session session, EPerson ep) throws SQLException { + return findBySubmitter(session, ep, null, null); } @Override - public List findBySubmitter(Context context, EPerson ep, Integer offset, Integer limit) + public List findBySubmitter(Session session, EPerson ep, Integer offset, Integer limit) throws SQLException { if (offset == null) { offset = -1; @@ -94,44 +94,44 @@ public List findBySubmitter(Context context, EPerson ep, Intege limit = -1; } - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, XmlWorkflowItem.class); Root xmlWorkflowItemRoot = criteriaQuery.from(XmlWorkflowItem.class); Join join = xmlWorkflowItemRoot.join("item"); criteriaQuery.select(xmlWorkflowItemRoot); criteriaQuery.where(criteriaBuilder.equal(join.get(Item_.submitter), ep)); criteriaQuery.orderBy(criteriaBuilder.asc(xmlWorkflowItemRoot.get(XmlWorkflowItem_.id))); - return list(context, criteriaQuery, false, XmlWorkflowItem.class, limit, offset); + return list(session, criteriaQuery, false, XmlWorkflowItem.class, limit, offset); } @Override - public int countBySubmitter(Context context, EPerson ep) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + public int countBySubmitter(Session session, EPerson ep) throws SQLException { + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = criteriaBuilder.createQuery(Long.class); Root xmlWorkflowItemRoot = criteriaQuery.from(XmlWorkflowItem.class); Join join = xmlWorkflowItemRoot.join("item"); criteriaQuery.where(criteriaBuilder.equal(join.get(Item_.submitter), ep)); - return count(context, criteriaQuery, criteriaBuilder, xmlWorkflowItemRoot); + return count(session, criteriaQuery, criteriaBuilder, xmlWorkflowItemRoot); } @Override - public List findByCollection(Context context, Collection collection) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + public List findByCollection(Session session, Collection collection) throws SQLException { + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, XmlWorkflowItem.class); Root xmlWorkflowItemRoot = criteriaQuery.from(XmlWorkflowItem.class); criteriaQuery.select(xmlWorkflowItemRoot); criteriaQuery.where(criteriaBuilder.equal(xmlWorkflowItemRoot.get(XmlWorkflowItem_.collection), collection)); criteriaQuery.orderBy(criteriaBuilder.asc(xmlWorkflowItemRoot.get(XmlWorkflowItem_.id))); - return list(context, criteriaQuery, false, XmlWorkflowItem.class, -1, -1); + return list(session, criteriaQuery, false, XmlWorkflowItem.class, -1, -1); } @Override - public XmlWorkflowItem findByItem(Context context, Item item) throws SQLException { - CriteriaBuilder criteriaBuilder = getCriteriaBuilder(context); + public XmlWorkflowItem findByItem(Session session, Item item) throws SQLException { + CriteriaBuilder criteriaBuilder = getCriteriaBuilder(session); CriteriaQuery criteriaQuery = getCriteriaQuery(criteriaBuilder, XmlWorkflowItem.class); Root xmlWorkflowItemRoot = criteriaQuery.from(XmlWorkflowItem.class); criteriaQuery.select(xmlWorkflowItemRoot); criteriaQuery.where(criteriaBuilder.equal(xmlWorkflowItemRoot.get(XmlWorkflowItem_.item), item)); - return uniqueResult(context, criteriaQuery, false, XmlWorkflowItem.class); + return uniqueResult(session, criteriaQuery, false, XmlWorkflowItem.class); } } diff --git a/dspace-api/src/test/java/org/dspace/alerts/SystemWideAlertServiceTest.java b/dspace-api/src/test/java/org/dspace/alerts/SystemWideAlertServiceTest.java index 5d8d6ac594a6..5ce209196c54 100644 --- a/dspace-api/src/test/java/org/dspace/alerts/SystemWideAlertServiceTest.java +++ b/dspace-api/src/test/java/org/dspace/alerts/SystemWideAlertServiceTest.java @@ -115,7 +115,7 @@ public void testUpdate() throws Exception { systemWideAlertService.update(context, systemWideAlert); // Verify systemWideAlertDAO.save was invoked twice to confirm proper invocation of both impls of update() - Mockito.verify(systemWideAlertDAO, times(1)).save(context, systemWideAlert); + Mockito.verify(systemWideAlertDAO, times(1)).save(context.getSession(), systemWideAlert); } @Test @@ -127,7 +127,7 @@ public void testDelete() throws Exception { systemWideAlertService.delete(context, systemWideAlert); // Verify systemWideAlertDAO.delete() ran once to confirm proper invocation of delete() - Mockito.verify(systemWideAlertDAO, times(1)).delete(context, systemWideAlert); + Mockito.verify(systemWideAlertDAO, times(1)).delete(context.getSession(), systemWideAlert); } @Test @@ -138,7 +138,7 @@ public void canNonAdminUserLoginTrueTest() throws Exception { // Mock DAO to return our defined systemWideAlertList List systemWideAlertList = new ArrayList<>(); systemWideAlertList.add(systemWideAlert); - when(systemWideAlertDAO.findAllActive(context, 1, 0)).thenReturn(systemWideAlertList); + when(systemWideAlertDAO.findAllActive(context.getSession(), 1, 0)).thenReturn(systemWideAlertList); // Assert the non admin users can log in assertTrue("CanNonAdminUserLogin 0", systemWideAlertService.canNonAdminUserLogin(context)); @@ -152,7 +152,7 @@ public void canNonAdminUserLoginFalseTest() throws Exception { // Mock DAO to return our defined systemWideAlertList List systemWideAlertList = new ArrayList<>(); systemWideAlertList.add(systemWideAlert); - when(systemWideAlertDAO.findAllActive(context, 1, 0)).thenReturn(systemWideAlertList); + when(systemWideAlertDAO.findAllActive(context.getSession(), 1, 0)).thenReturn(systemWideAlertList); // Assert the non admin users can log in assertFalse("CanNonAdminUserLogin 1", systemWideAlertService.canNonAdminUserLogin(context)); @@ -174,7 +174,7 @@ public void canUserMaintainSessionTrueTest() throws Exception { // Mock DAO to return our defined systemWideAlertList List systemWideAlertList = new ArrayList<>(); systemWideAlertList.add(systemWideAlert); - when(systemWideAlertDAO.findAllActive(context, 1, 0)).thenReturn(systemWideAlertList); + when(systemWideAlertDAO.findAllActive(context.getSession(), 1, 0)).thenReturn(systemWideAlertList); // Assert the non admin users can main session assertTrue("CanUserMaintainSession 1", systemWideAlertService.canUserMaintainSession(context, eperson)); @@ -191,7 +191,7 @@ public void canUserMaintainSessionFalseTest() throws Exception { // Mock DAO to return our defined systemWideAlertList List systemWideAlertList = new ArrayList<>(); systemWideAlertList.add(systemWideAlert); - when(systemWideAlertDAO.findAllActive(context, 1, 0)).thenReturn(systemWideAlertList); + when(systemWideAlertDAO.findAllActive(context.getSession(), 1, 0)).thenReturn(systemWideAlertList); // Assert the non admin users cannot main session assertFalse("CanUserMaintainSession 2", systemWideAlertService.canUserMaintainSession(context, eperson)); diff --git a/dspace-api/src/test/java/org/dspace/checker/dao/impl/ChecksumHistoryDAOImplTest.java b/dspace-api/src/test/java/org/dspace/checker/dao/impl/ChecksumHistoryDAOImplTest.java index 860df5e887a5..ec1490d42abb 100644 --- a/dspace-api/src/test/java/org/dspace/checker/dao/impl/ChecksumHistoryDAOImplTest.java +++ b/dspace-api/src/test/java/org/dspace/checker/dao/impl/ChecksumHistoryDAOImplTest.java @@ -116,7 +116,7 @@ public void testDeleteByDateAndCode() // Test! ChecksumHistoryDAOImpl instance = new ChecksumHistoryDAOImpl(); int expResult = 1; - int result = instance.deleteByDateAndCode(context, retentionDate, + int result = instance.deleteByDateAndCode(context.getSession(), retentionDate, resultCode); assertEquals(expResult, result); diff --git a/dspace-api/src/test/java/org/dspace/content/EntityTypeServiceImplTest.java b/dspace-api/src/test/java/org/dspace/content/EntityTypeServiceImplTest.java index c54f0fc955b2..3296868e5b12 100644 --- a/dspace-api/src/test/java/org/dspace/content/EntityTypeServiceImplTest.java +++ b/dspace-api/src/test/java/org/dspace/content/EntityTypeServiceImplTest.java @@ -48,7 +48,7 @@ public class EntityTypeServiceImplTest { @Test public void testFindByEntityType() throws Exception { // Mock DAO to return our mocked EntityType - when(entityTypeDAO.findByEntityType(context, "TestType")).thenReturn(entityType); + when(entityTypeDAO.findByEntityType(context.getSession(), "TestType")).thenReturn(entityType); // The EntityType reported from our TestType parameter should match our mocked EntityType assertEquals("TestFindByEntityType 0", entityType, entityTypeService.findByEntityType(context, "TestType")); @@ -86,7 +86,7 @@ public void testCreate() throws Exception { @Test public void testFind() throws Exception { // Mock DAO to return our mocked EntityType - when(entityTypeDAO.findByID(context, EntityType.class, 0)).thenReturn(entityType); + when(entityTypeDAO.findByID(context.getSession(), EntityType.class, 0)).thenReturn(entityType); // The reported EntityType should match our mocked entityType assertEquals("TestFind 0", entityType, entityTypeService.find(context, 0)); @@ -106,7 +106,7 @@ public void testUpdate() throws Exception { entityTypeService.update(context, entityTypeList); // Verify entityTypeDAO.save was invoked twice to confirm proper invocation of both impls of update() - Mockito.verify(entityTypeDAO,times(2)).save(context, entityType); + Mockito.verify(entityTypeDAO,times(2)).save(context.getSession(), entityType); } @Test @@ -118,7 +118,7 @@ public void testDelete() throws Exception { entityTypeService.delete(context, entityType); // Verify entityTypeDAO.delete() ran once to confirm proper invocation of delete() - Mockito.verify(entityTypeDAO,times(1)).delete(context, entityType); + Mockito.verify(entityTypeDAO,times(1)).delete(context.getSession(), entityType); } /** diff --git a/dspace-api/src/test/java/org/dspace/content/RelationshipServiceImplTest.java b/dspace-api/src/test/java/org/dspace/content/RelationshipServiceImplTest.java index 579e05b3deb2..9a4cf3d587f8 100644 --- a/dspace-api/src/test/java/org/dspace/content/RelationshipServiceImplTest.java +++ b/dspace-api/src/test/java/org/dspace/content/RelationshipServiceImplTest.java @@ -85,7 +85,7 @@ public void init() { @Test public void testFindAll() throws Exception { // Mock DAO to return our mocked relationshipsList - when(relationshipDAO.findAll(context, Relationship.class, -1, -1)).thenReturn(relationshipsList); + when(relationshipDAO.findAll(context.getSession(), Relationship.class, -1, -1)).thenReturn(relationshipsList); // The reported Relationship(s) should match our relationshipsList assertEquals("TestFindAll 0", relationshipsList, relationshipService.findAll(context)); } @@ -157,7 +157,8 @@ public void find() throws Exception { relationship.setId(1337); // Mock DAO to return our mocked relationship - when(relationshipDAO.findByID(context, Relationship.class, relationship.getID())).thenReturn(relationship); + when(relationshipDAO.findByID(context.getSession(), Relationship.class, relationship.getID())) + .thenReturn(relationship); // The reported Relationship should match our mocked relationship assertEquals("TestFind 0", relationship, relationshipService.find(context, relationship.getID())); @@ -169,7 +170,7 @@ public void testCreate() throws Exception { when(authorizeService.isAdmin(context)).thenReturn(true); // Declare objects utilized in unit test - Relationship relationship = relationshipDAO.create(context,new Relationship()); + Relationship relationship = relationshipDAO.create(context.getSession(),new Relationship()); context.turnOffAuthorisationSystem(); assertEquals("TestCreate 0", relationship, relationshipService.create(context)); MetadataValue metVal = mock(MetadataValue.class); @@ -255,7 +256,7 @@ public void testDelete() throws Exception { relationshipService.delete(context, relationship); // Verify RelationshipService.delete() ran once to confirm proper invocation of delete() - Mockito.verify(relationshipDAO).delete(context, relationship); + Mockito.verify(relationshipDAO).delete(context.getSession(), relationship); } @Test @@ -290,12 +291,12 @@ public void testUpdate() throws Exception { relationshipService.update(context, relationship); // Verify RelationshipDAO.delete() ran once to confirm proper invocation of update() - Mockito.verify(relationshipDAO).save(context, relationship); + Mockito.verify(relationshipDAO).save(context.getSession(), relationship); } @Test public void testCountTotal() throws Exception { - when(relationshipDAO.countRows(context)).thenReturn(0); + when(relationshipDAO.countRows(context.getSession())).thenReturn(0); assertEquals("TestCountTotal 1", 0, relationshipService.countTotal(context)); } diff --git a/dspace-api/src/test/java/org/dspace/content/RelationshipServiceImplVersioningTest.java b/dspace-api/src/test/java/org/dspace/content/RelationshipServiceImplVersioningTest.java index d42213da2cf8..3c573c235366 100644 --- a/dspace-api/src/test/java/org/dspace/content/RelationshipServiceImplVersioningTest.java +++ b/dspace-api/src/test/java/org/dspace/content/RelationshipServiceImplVersioningTest.java @@ -261,116 +261,136 @@ public void testExcludeNonLatestBoth() throws Exception { assertRelationship( relationship1, - relationshipDAO.findByItem(context, publication1, false, false) + relationshipDAO.findByItem(context.getSession(), publication1, false, false) ); assertRelationship( relationship1, - relationshipDAO.findByItem(context, publication1, false, true) + relationshipDAO.findByItem(context.getSession(), publication1, false, true) ); assertRelationship( relationship1, - relationshipDAO.findByItem(context, person1, false, false) + relationshipDAO.findByItem(context.getSession(), person1, false, false) ); assertRelationship( relationship1, - relationshipDAO.findByItem(context, person1, false, true) + relationshipDAO.findByItem(context.getSession(), person1, false, true) ); assertRelationship( relationship1, - relationshipDAO.findByItem(context, publication1, -1, -1, false, false) + relationshipDAO.findByItem(context.getSession(), publication1, -1, -1, false, false) ); assertRelationship( relationship1, - relationshipDAO.findByItem(context, publication1, -1, -1, false, true) + relationshipDAO.findByItem(context.getSession(), publication1, -1, -1, false, true) ); assertRelationship( relationship1, - relationshipDAO.findByItem(context, person1, -1, -1, false, false) + relationshipDAO.findByItem(context.getSession(), person1, -1, -1, false, false) ); assertRelationship( relationship1, - relationshipDAO.findByItem(context, person1, -1, -1, false, true) + relationshipDAO.findByItem(context.getSession(), person1, -1, -1, false, true) ); - assertEquals(1, relationshipDAO.countByItem(context, publication1, false, false)); - assertEquals(1, relationshipDAO.countByItem(context, publication1, false, true)); - assertEquals(1, relationshipDAO.countByItem(context, person1, false, false)); - assertEquals(1, relationshipDAO.countByItem(context, person1, false, true)); - assertEquals(1, relationshipDAO.countByItem(context, publication1, true, false)); - assertEquals(1, relationshipDAO.countByItem(context, publication1, true, true)); - assertEquals(1, relationshipDAO.countByItem(context, person1, true, false)); - assertEquals(1, relationshipDAO.countByItem(context, person1, true, true)); + assertEquals(1, relationshipDAO.countByItem(context.getSession(), publication1, false, false)); + assertEquals(1, relationshipDAO.countByItem(context.getSession(), publication1, false, true)); + assertEquals(1, relationshipDAO.countByItem(context.getSession(), person1, false, false)); + assertEquals(1, relationshipDAO.countByItem(context.getSession(), person1, false, true)); + assertEquals(1, relationshipDAO.countByItem(context.getSession(), publication1, true, false)); + assertEquals(1, relationshipDAO.countByItem(context.getSession(), publication1, true, true)); + assertEquals(1, relationshipDAO.countByItem(context.getSession(), person1, true, false)); + assertEquals(1, relationshipDAO.countByItem(context.getSession(), person1, true, true)); assertRelationship( relationship1, - relationshipDAO.findByItemAndRelationshipType(context, publication1, relationshipType, -1, -1, false) + relationshipDAO.findByItemAndRelationshipType(context.getSession(), + publication1, relationshipType, -1, -1, false) ); assertRelationship( relationship1, - relationshipDAO.findByItemAndRelationshipType(context, publication1, relationshipType, -1, -1, true) + relationshipDAO.findByItemAndRelationshipType(context.getSession(), + publication1, relationshipType, -1, -1, true) ); assertRelationship( relationship1, - relationshipDAO.findByItemAndRelationshipType(context, person1, relationshipType, -1, -1, false) + relationshipDAO.findByItemAndRelationshipType(context.getSession(), + person1, relationshipType, -1, -1, false) ); assertRelationship( relationship1, - relationshipDAO.findByItemAndRelationshipType(context, person1, relationshipType, -1, -1, true) + relationshipDAO.findByItemAndRelationshipType(context.getSession(), + person1, relationshipType, -1, -1, true) ); assertNoRelationship( - relationshipDAO.findByItemAndRelationshipType(context, publication1, relationshipType, false, -1, -1, false) + relationshipDAO.findByItemAndRelationshipType(context.getSession(), + publication1, relationshipType, false, -1, -1, false) ); assertNoRelationship( - relationshipDAO.findByItemAndRelationshipType(context, publication1, relationshipType, false, -1, -1, true) + relationshipDAO.findByItemAndRelationshipType(context.getSession(), + publication1, relationshipType, false, -1, -1, true) ); assertRelationship( relationship1, - relationshipDAO.findByItemAndRelationshipType(context, publication1, relationshipType, true, -1, -1, false) + relationshipDAO.findByItemAndRelationshipType(context.getSession(), + publication1, relationshipType, true, -1, -1, false) ); assertRelationship( relationship1, - relationshipDAO.findByItemAndRelationshipType(context, publication1, relationshipType, true, -1, -1, true) + relationshipDAO.findByItemAndRelationshipType(context.getSession(), + publication1, relationshipType, true, -1, -1, true) ); assertRelationship( relationship1, - relationshipDAO.findByItemAndRelationshipType(context, person1, relationshipType, false, -1, -1, false) + relationshipDAO.findByItemAndRelationshipType(context.getSession(), + person1, relationshipType, false, -1, -1, false) ); assertRelationship( relationship1, - relationshipDAO.findByItemAndRelationshipType(context, person1, relationshipType, false, -1, -1, true) + relationshipDAO.findByItemAndRelationshipType(context.getSession(), + person1, relationshipType, false, -1, -1, true) ); assertNoRelationship( - relationshipDAO.findByItemAndRelationshipType(context, person1, relationshipType, true, -1, -1, false) + relationshipDAO.findByItemAndRelationshipType(context.getSession(), + person1, relationshipType, true, -1, -1, false) ); assertNoRelationship( - relationshipDAO.findByItemAndRelationshipType(context, person1, relationshipType, true, -1, -1, true) + relationshipDAO.findByItemAndRelationshipType(context.getSession(), + person1, relationshipType, true, -1, -1, true) ); assertEquals( - 0, relationshipDAO.countByItemAndRelationshipType(context, publication1, relationshipType, false, false) + 0, relationshipDAO.countByItemAndRelationshipType(context.getSession(), + publication1, relationshipType, false, false) ); assertEquals( - 0, relationshipDAO.countByItemAndRelationshipType(context, publication1, relationshipType, false, true) + 0, relationshipDAO.countByItemAndRelationshipType(context.getSession(), + publication1, relationshipType, false, true) ); assertEquals( - 1, relationshipDAO.countByItemAndRelationshipType(context, publication1, relationshipType, true, false) + 1, relationshipDAO.countByItemAndRelationshipType(context.getSession(), + publication1, relationshipType, true, false) ); assertEquals( - 1, relationshipDAO.countByItemAndRelationshipType(context, publication1, relationshipType, true, true) + 1, relationshipDAO.countByItemAndRelationshipType(context.getSession(), + publication1, relationshipType, true, true) ); assertEquals( - 1, relationshipDAO.countByItemAndRelationshipType(context, person1, relationshipType, false, false) + 1, relationshipDAO.countByItemAndRelationshipType(context.getSession(), + person1, relationshipType, false, false) ); assertEquals( - 1, relationshipDAO.countByItemAndRelationshipType(context, person1, relationshipType, false, true) + 1, relationshipDAO.countByItemAndRelationshipType(context.getSession(), + person1, relationshipType, false, true) ); assertEquals( - 0, relationshipDAO.countByItemAndRelationshipType(context, person1, relationshipType, true, false) + 0, relationshipDAO.countByItemAndRelationshipType(context.getSession(), + person1, relationshipType, true, false) ); assertEquals( - 0, relationshipDAO.countByItemAndRelationshipType(context, person1, relationshipType, true, true) + 0, relationshipDAO.countByItemAndRelationshipType(context.getSession(), + person1, relationshipType, true, true) ); assertRelationship( @@ -553,112 +573,132 @@ public void testExcludeNonLatestLeftOnly() throws Exception { assertRelationship( relationship1, - relationshipDAO.findByItem(context, publication1, false, false) + relationshipDAO.findByItem(context.getSession(), publication1, false, false) ); assertNoRelationship( - relationshipDAO.findByItem(context, publication1, false, true) + relationshipDAO.findByItem(context.getSession(), publication1, false, true) ); assertRelationship( relationship1, - relationshipDAO.findByItem(context, person1, false, false) + relationshipDAO.findByItem(context.getSession(), person1, false, false) ); assertRelationship( relationship1, - relationshipDAO.findByItem(context, person1, false, true) + relationshipDAO.findByItem(context.getSession(), person1, false, true) ); assertRelationship( relationship1, - relationshipDAO.findByItem(context, publication1, -1, -1, false, false) + relationshipDAO.findByItem(context.getSession(), publication1, -1, -1, false, false) ); assertNoRelationship( - relationshipDAO.findByItem(context, publication1, -1, -1, false, true) + relationshipDAO.findByItem(context.getSession(), publication1, -1, -1, false, true) ); assertRelationship( relationship1, - relationshipDAO.findByItem(context, person1, -1, -1, false, false) + relationshipDAO.findByItem(context.getSession(), person1, -1, -1, false, false) ); assertRelationship( relationship1, - relationshipDAO.findByItem(context, person1, -1, -1, false, true) + relationshipDAO.findByItem(context.getSession(), person1, -1, -1, false, true) ); - assertEquals(1, relationshipDAO.countByItem(context, publication1, false, false)); - assertEquals(0, relationshipDAO.countByItem(context, publication1, false, true)); - assertEquals(1, relationshipDAO.countByItem(context, person1, false, false)); - assertEquals(1, relationshipDAO.countByItem(context, person1, false, true)); - assertEquals(1, relationshipDAO.countByItem(context, publication1, true, false)); - assertEquals(0, relationshipDAO.countByItem(context, publication1, true, true)); - assertEquals(1, relationshipDAO.countByItem(context, person1, true, false)); - assertEquals(1, relationshipDAO.countByItem(context, person1, true, true)); + assertEquals(1, relationshipDAO.countByItem(context.getSession(), publication1, false, false)); + assertEquals(0, relationshipDAO.countByItem(context.getSession(), publication1, false, true)); + assertEquals(1, relationshipDAO.countByItem(context.getSession(), person1, false, false)); + assertEquals(1, relationshipDAO.countByItem(context.getSession(), person1, false, true)); + assertEquals(1, relationshipDAO.countByItem(context.getSession(), publication1, true, false)); + assertEquals(0, relationshipDAO.countByItem(context.getSession(), publication1, true, true)); + assertEquals(1, relationshipDAO.countByItem(context.getSession(), person1, true, false)); + assertEquals(1, relationshipDAO.countByItem(context.getSession(), person1, true, true)); assertRelationship( relationship1, - relationshipDAO.findByItemAndRelationshipType(context, publication1, relationshipType, -1, -1, false) + relationshipDAO.findByItemAndRelationshipType(context.getSession(), + publication1, relationshipType, -1, -1, false) ); assertNoRelationship( - relationshipDAO.findByItemAndRelationshipType(context, publication1, relationshipType, -1, -1, true) + relationshipDAO.findByItemAndRelationshipType(context.getSession(), + publication1, relationshipType, -1, -1, true) ); assertRelationship( relationship1, - relationshipDAO.findByItemAndRelationshipType(context, person1, relationshipType, -1, -1, false) + relationshipDAO.findByItemAndRelationshipType(context.getSession(), + person1, relationshipType, -1, -1, false) ); assertRelationship( relationship1, - relationshipDAO.findByItemAndRelationshipType(context, person1, relationshipType, -1, -1, true) + relationshipDAO.findByItemAndRelationshipType(context.getSession(), + person1, relationshipType, -1, -1, true) ); assertNoRelationship( - relationshipDAO.findByItemAndRelationshipType(context, publication1, relationshipType, false, -1, -1, false) + relationshipDAO.findByItemAndRelationshipType(context.getSession(), + publication1, relationshipType, false, -1, -1, false) ); assertNoRelationship( - relationshipDAO.findByItemAndRelationshipType(context, publication1, relationshipType, false, -1, -1, true) + relationshipDAO.findByItemAndRelationshipType(context.getSession(), + publication1, relationshipType, false, -1, -1, true) ); assertRelationship( relationship1, - relationshipDAO.findByItemAndRelationshipType(context, publication1, relationshipType, true, -1, -1, false) + relationshipDAO.findByItemAndRelationshipType(context.getSession(), + publication1, relationshipType, true, -1, -1, false) ); assertNoRelationship( - relationshipDAO.findByItemAndRelationshipType(context, publication1, relationshipType, true, -1, -1, true) + relationshipDAO.findByItemAndRelationshipType(context.getSession(), + publication1, relationshipType, true, -1, -1, true) ); assertRelationship( relationship1, - relationshipDAO.findByItemAndRelationshipType(context, person1, relationshipType, false, -1, -1, false) + relationshipDAO.findByItemAndRelationshipType(context.getSession(), + person1, relationshipType, false, -1, -1, false) ); assertRelationship( relationship1, - relationshipDAO.findByItemAndRelationshipType(context, person1, relationshipType, false, -1, -1, true) + relationshipDAO.findByItemAndRelationshipType(context.getSession(), + person1, relationshipType, false, -1, -1, true) ); assertNoRelationship( - relationshipDAO.findByItemAndRelationshipType(context, person1, relationshipType, true, -1, -1, false) + relationshipDAO.findByItemAndRelationshipType(context.getSession(), + person1, relationshipType, true, -1, -1, false) ); assertNoRelationship( - relationshipDAO.findByItemAndRelationshipType(context, person1, relationshipType, true, -1, -1, true) + relationshipDAO.findByItemAndRelationshipType(context.getSession(), + person1, relationshipType, true, -1, -1, true) ); assertEquals( - 0, relationshipDAO.countByItemAndRelationshipType(context, publication1, relationshipType, false, false) + 0, relationshipDAO.countByItemAndRelationshipType(context.getSession(), + publication1, relationshipType, false, false) ); assertEquals( - 0, relationshipDAO.countByItemAndRelationshipType(context, publication1, relationshipType, false, true) + 0, relationshipDAO.countByItemAndRelationshipType(context.getSession(), + publication1, relationshipType, false, true) ); assertEquals( - 1, relationshipDAO.countByItemAndRelationshipType(context, publication1, relationshipType, true, false) + 1, relationshipDAO.countByItemAndRelationshipType(context.getSession(), + publication1, relationshipType, true, false) ); assertEquals( - 0, relationshipDAO.countByItemAndRelationshipType(context, publication1, relationshipType, true, true) + 0, relationshipDAO.countByItemAndRelationshipType(context.getSession(), + publication1, relationshipType, true, true) ); assertEquals( - 1, relationshipDAO.countByItemAndRelationshipType(context, person1, relationshipType, false, false) + 1, relationshipDAO.countByItemAndRelationshipType(context.getSession(), + person1, relationshipType, false, false) ); assertEquals( - 1, relationshipDAO.countByItemAndRelationshipType(context, person1, relationshipType, false, true) + 1, relationshipDAO.countByItemAndRelationshipType(context.getSession(), + person1, relationshipType, false, true) ); assertEquals( - 0, relationshipDAO.countByItemAndRelationshipType(context, person1, relationshipType, true, false) + 0, relationshipDAO.countByItemAndRelationshipType(context.getSession(), + person1, relationshipType, true, false) ); assertEquals( - 0, relationshipDAO.countByItemAndRelationshipType(context, person1, relationshipType, true, true) + 0, relationshipDAO.countByItemAndRelationshipType(context.getSession(), + person1, relationshipType, true, true) ); assertNoRelationship( @@ -833,112 +873,132 @@ public void testExcludeNonLatestRightOnly() throws Exception { assertRelationship( relationship1, - relationshipDAO.findByItem(context, publication1, false, false) + relationshipDAO.findByItem(context.getSession(), publication1, false, false) ); assertRelationship( relationship1, - relationshipDAO.findByItem(context, publication1, false, true) + relationshipDAO.findByItem(context.getSession(), publication1, false, true) ); assertRelationship( relationship1, - relationshipDAO.findByItem(context, person1, false, false) + relationshipDAO.findByItem(context.getSession(), person1, false, false) ); assertNoRelationship( - relationshipDAO.findByItem(context, person1, false, true) + relationshipDAO.findByItem(context.getSession(), person1, false, true) ); assertRelationship( relationship1, - relationshipDAO.findByItem(context, publication1, -1, -1, false, false) + relationshipDAO.findByItem(context.getSession(), publication1, -1, -1, false, false) ); assertRelationship( relationship1, - relationshipDAO.findByItem(context, publication1, -1, -1, false, true) + relationshipDAO.findByItem(context.getSession(), publication1, -1, -1, false, true) ); assertRelationship( relationship1, - relationshipDAO.findByItem(context, person1, -1, -1, false, false) + relationshipDAO.findByItem(context.getSession(), person1, -1, -1, false, false) ); assertNoRelationship( - relationshipDAO.findByItem(context, person1, -1, -1, false, true) + relationshipDAO.findByItem(context.getSession(), person1, -1, -1, false, true) ); - assertEquals(1, relationshipDAO.countByItem(context, publication1, false, false)); - assertEquals(1, relationshipDAO.countByItem(context, publication1, false, true)); - assertEquals(1, relationshipDAO.countByItem(context, person1, false, false)); - assertEquals(0, relationshipDAO.countByItem(context, person1, false, true)); - assertEquals(1, relationshipDAO.countByItem(context, publication1, true, false)); - assertEquals(1, relationshipDAO.countByItem(context, publication1, true, true)); - assertEquals(1, relationshipDAO.countByItem(context, person1, true, false)); - assertEquals(0, relationshipDAO.countByItem(context, person1, true, true)); + assertEquals(1, relationshipDAO.countByItem(context.getSession(), publication1, false, false)); + assertEquals(1, relationshipDAO.countByItem(context.getSession(), publication1, false, true)); + assertEquals(1, relationshipDAO.countByItem(context.getSession(), person1, false, false)); + assertEquals(0, relationshipDAO.countByItem(context.getSession(), person1, false, true)); + assertEquals(1, relationshipDAO.countByItem(context.getSession(), publication1, true, false)); + assertEquals(1, relationshipDAO.countByItem(context.getSession(), publication1, true, true)); + assertEquals(1, relationshipDAO.countByItem(context.getSession(), person1, true, false)); + assertEquals(0, relationshipDAO.countByItem(context.getSession(), person1, true, true)); assertRelationship( relationship1, - relationshipDAO.findByItemAndRelationshipType(context, publication1, relationshipType, -1, -1, false) + relationshipDAO.findByItemAndRelationshipType(context.getSession(), + publication1, relationshipType, -1, -1, false) ); assertRelationship( relationship1, - relationshipDAO.findByItemAndRelationshipType(context, publication1, relationshipType, -1, -1, true) + relationshipDAO.findByItemAndRelationshipType(context.getSession(), + publication1, relationshipType, -1, -1, true) ); assertRelationship( relationship1, - relationshipDAO.findByItemAndRelationshipType(context, person1, relationshipType, -1, -1, false) + relationshipDAO.findByItemAndRelationshipType(context.getSession(), + person1, relationshipType, -1, -1, false) ); assertNoRelationship( - relationshipDAO.findByItemAndRelationshipType(context, person1, relationshipType, -1, -1, true) + relationshipDAO.findByItemAndRelationshipType(context.getSession(), + person1, relationshipType, -1, -1, true) ); assertNoRelationship( - relationshipDAO.findByItemAndRelationshipType(context, publication1, relationshipType, false, -1, -1, false) + relationshipDAO.findByItemAndRelationshipType(context.getSession(), + publication1, relationshipType, false, -1, -1, false) ); assertNoRelationship( - relationshipDAO.findByItemAndRelationshipType(context, publication1, relationshipType, false, -1, -1, true) + relationshipDAO.findByItemAndRelationshipType(context.getSession(), + publication1, relationshipType, false, -1, -1, true) ); assertRelationship( relationship1, - relationshipDAO.findByItemAndRelationshipType(context, publication1, relationshipType, true, -1, -1, false) + relationshipDAO.findByItemAndRelationshipType(context.getSession(), + publication1, relationshipType, true, -1, -1, false) ); assertRelationship( relationship1, - relationshipDAO.findByItemAndRelationshipType(context, publication1, relationshipType, true, -1, -1, true) + relationshipDAO.findByItemAndRelationshipType(context.getSession(), + publication1, relationshipType, true, -1, -1, true) ); assertRelationship( relationship1, - relationshipDAO.findByItemAndRelationshipType(context, person1, relationshipType, false, -1, -1, false) + relationshipDAO.findByItemAndRelationshipType(context.getSession(), + person1, relationshipType, false, -1, -1, false) ); assertNoRelationship( - relationshipDAO.findByItemAndRelationshipType(context, person1, relationshipType, false, -1, -1, true) + relationshipDAO.findByItemAndRelationshipType(context.getSession(), + person1, relationshipType, false, -1, -1, true) ); assertNoRelationship( - relationshipDAO.findByItemAndRelationshipType(context, person1, relationshipType, true, -1, -1, false) + relationshipDAO.findByItemAndRelationshipType(context.getSession(), + person1, relationshipType, true, -1, -1, false) ); assertNoRelationship( - relationshipDAO.findByItemAndRelationshipType(context, person1, relationshipType, true, -1, -1, true) + relationshipDAO.findByItemAndRelationshipType(context.getSession(), + person1, relationshipType, true, -1, -1, true) ); assertEquals( - 0, relationshipDAO.countByItemAndRelationshipType(context, publication1, relationshipType, false, false) + 0, relationshipDAO.countByItemAndRelationshipType(context.getSession(), + publication1, relationshipType, false, false) ); assertEquals( - 0, relationshipDAO.countByItemAndRelationshipType(context, publication1, relationshipType, false, true) + 0, relationshipDAO.countByItemAndRelationshipType(context.getSession(), + publication1, relationshipType, false, true) ); assertEquals( - 1, relationshipDAO.countByItemAndRelationshipType(context, publication1, relationshipType, true, false) + 1, relationshipDAO.countByItemAndRelationshipType(context.getSession(), + publication1, relationshipType, true, false) ); assertEquals( - 1, relationshipDAO.countByItemAndRelationshipType(context, publication1, relationshipType, true, true) + 1, relationshipDAO.countByItemAndRelationshipType(context.getSession(), + publication1, relationshipType, true, true) ); assertEquals( - 1, relationshipDAO.countByItemAndRelationshipType(context, person1, relationshipType, false, false) + 1, relationshipDAO.countByItemAndRelationshipType(context.getSession(), + person1, relationshipType, false, false) ); assertEquals( - 0, relationshipDAO.countByItemAndRelationshipType(context, person1, relationshipType, false, true) + 0, relationshipDAO.countByItemAndRelationshipType(context.getSession(), + person1, relationshipType, false, true) ); assertEquals( - 0, relationshipDAO.countByItemAndRelationshipType(context, person1, relationshipType, true, false) + 0, relationshipDAO.countByItemAndRelationshipType(context.getSession(), + person1, relationshipType, true, false) ); assertEquals( - 0, relationshipDAO.countByItemAndRelationshipType(context, person1, relationshipType, true, true) + 0, relationshipDAO.countByItemAndRelationshipType(context.getSession(), + person1, relationshipType, true, true) ); assertRelationship( diff --git a/dspace-api/src/test/java/org/dspace/content/RelationshipTypeTest.java b/dspace-api/src/test/java/org/dspace/content/RelationshipTypeTest.java index 48ff6072feeb..0d4324c2c90c 100644 --- a/dspace-api/src/test/java/org/dspace/content/RelationshipTypeTest.java +++ b/dspace-api/src/test/java/org/dspace/content/RelationshipTypeTest.java @@ -103,7 +103,7 @@ public void testRelationshipTypeFindAll() throws Exception { mockedList.add(secondRelationshipType); // Mock DAO to return our mockedList - when(relationshipTypeDAO.findAll(context, RelationshipType.class, -1, -1)).thenReturn(mockedList); + when(relationshipTypeDAO.findAll(context.getSession(), RelationshipType.class, -1, -1)).thenReturn(mockedList); // Invoke findAll() List foundRelationshipTypes = relationshipTypeService.findAll(context); @@ -120,7 +120,8 @@ public void testRelationshipTypeFindByLeftOrRightwardType() throws Exception { mockedList.add(firstRelationshipType); // Mock DAO to return our mockedList - when(relationshipTypeDAO.findByLeftwardOrRightwardTypeName(context, "mock", -1, -1)).thenReturn(mockedList); + when(relationshipTypeDAO.findByLeftwardOrRightwardTypeName(context.getSession(), + "mock", -1, -1)).thenReturn(mockedList); // Invoke findByLeftwardOrRightwardTypeName() List found = relationshipTypeService.findByLeftwardOrRightwardTypeName(context, "mock"); diff --git a/dspace-api/src/test/java/org/dspace/handle/dao/impl/HandleDAOImplTest.java b/dspace-api/src/test/java/org/dspace/handle/dao/impl/HandleDAOImplTest.java index a761716bb96a..efc1db61b270 100644 --- a/dspace-api/src/test/java/org/dspace/handle/dao/impl/HandleDAOImplTest.java +++ b/dspace-api/src/test/java/org/dspace/handle/dao/impl/HandleDAOImplTest.java @@ -66,7 +66,7 @@ public class HandleDAOImplTest extends AbstractUnitTest { protected InstallItemService installItemService = ContentServiceFactory.getInstance().getInstallItemService(); protected VersioningService versioningService = VersionServiceFactory.getInstance().getVersionService(); - private HandleDAO handleDAO = new DSpace().getServiceManager().getServicesByType(HandleDAO.class).get(0); + private final HandleDAO handleDAO = new DSpace().getServiceManager().getServicesByType(HandleDAO.class).get(0); private Community owningCommunity; @@ -143,7 +143,7 @@ public void updateHandlesWithNewPrefix() throws Exception { context.turnOffAuthorisationSystem(); String newPrefix = "987654321"; - handleDAO.updateHandlesWithNewPrefix(context, newPrefix, HANDLE_PREFIX); + handleDAO.updateHandlesWithNewPrefix(context.getSession(), newPrefix, HANDLE_PREFIX); context.commit(); assertEquals(newPrefix + "/" + SUFFIX_1, itemService.find(context, item1.getID()).getHandle()); diff --git a/dspace-api/src/test/java/org/dspace/statistics/export/FailedOpenURLTrackerServiceImplTest.java b/dspace-api/src/test/java/org/dspace/statistics/export/FailedOpenURLTrackerServiceImplTest.java index 9c567affa5b6..722b52f19ab4 100644 --- a/dspace-api/src/test/java/org/dspace/statistics/export/FailedOpenURLTrackerServiceImplTest.java +++ b/dspace-api/src/test/java/org/dspace/statistics/export/FailedOpenURLTrackerServiceImplTest.java @@ -51,7 +51,7 @@ public class FailedOpenURLTrackerServiceImplTest { public void testRemove() throws SQLException { openURLTrackerLoggerService.remove(context, openURLTracker); - Mockito.verify(openURLTrackerDAO, times(1)).delete(context, openURLTracker); + Mockito.verify(openURLTrackerDAO, times(1)).delete(context.getSession(), openURLTracker); } @@ -63,7 +63,8 @@ public void testRemove() throws SQLException { public void testFindAll() throws SQLException { List trackers = new ArrayList<>(); - when(openURLTrackerDAO.findAll(context, OpenURLTracker.class)).thenReturn(trackers); + when(openURLTrackerDAO.findAll(context.getSession(), OpenURLTracker.class)) + .thenReturn(trackers); assertEquals("TestFindAll 0", trackers, openURLTrackerLoggerService.findAll(context)); } diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/RegistrationRestRepositoryIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/RegistrationRestRepositoryIT.java index 3ba84f344b4c..a1076908fe23 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/RegistrationRestRepositoryIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/RegistrationRestRepositoryIT.java @@ -58,7 +58,7 @@ public class RegistrationRestRepositoryIT extends AbstractControllerIntegrationT public void findByTokenTestExistingUserTest() throws Exception { String email = eperson.getEmail(); createTokenForEmail(email); - RegistrationData registrationData = registrationDataDAO.findByEmail(context, email); + RegistrationData registrationData = registrationDataDAO.findByEmail(context.getSession(), email); try { getClient().perform(get("/api/eperson/registrations/search/findByToken") @@ -67,11 +67,11 @@ public void findByTokenTestExistingUserTest() throws Exception { .andExpect( jsonPath("$", Matchers.is(RegistrationMatcher.matchRegistration(email, eperson.getID())))); - registrationDataDAO.delete(context, registrationData); + registrationDataDAO.delete(context.getSession(), registrationData); email = "newUser@testnewuser.com"; createTokenForEmail(email); - registrationData = registrationDataDAO.findByEmail(context, email); + registrationData = registrationDataDAO.findByEmail(context.getSession(), email); getClient().perform(get("/api/eperson/registrations/search/findByToken") .param("token", registrationData.getToken())) @@ -79,7 +79,7 @@ public void findByTokenTestExistingUserTest() throws Exception { .andExpect( jsonPath("$", Matchers.is(RegistrationMatcher.matchRegistration(email, null)))); } finally { - registrationDataDAO.delete(context, registrationData); + registrationDataDAO.delete(context.getSession(), registrationData); } @@ -89,7 +89,8 @@ public void findByTokenTestExistingUserTest() throws Exception { public void findByTokenTestNewUserTest() throws Exception { String email = "newUser@testnewuser.com"; createTokenForEmail(email); - RegistrationData registrationData = registrationDataDAO.findByEmail(context, email); + RegistrationData registrationData + = registrationDataDAO.findByEmail(context.getSession(), email); try { getClient().perform(get("/api/eperson/registrations/search/findByToken") @@ -98,7 +99,7 @@ public void findByTokenTestNewUserTest() throws Exception { .andExpect( jsonPath("$", Matchers.is(RegistrationMatcher.matchRegistration(email, null)))); } finally { - registrationDataDAO.delete(context, registrationData); + registrationDataDAO.delete(context.getSession(), registrationData); } } @@ -123,7 +124,8 @@ private void createTokenForEmail(String email) throws Exception { @Test public void registrationFlowTest() throws Exception { - List registrationDataList = registrationDataDAO.findAll(context, RegistrationData.class); + List registrationDataList + = registrationDataDAO.findAll(context.getSession(), RegistrationData.class); assertEquals(0, registrationDataList.size()); ObjectMapper mapper = new ObjectMapper(); @@ -136,7 +138,7 @@ public void registrationFlowTest() throws Exception { .content(mapper.writeValueAsBytes(registrationRest)) .contentType(contentType)) .andExpect(status().isCreated()); - registrationDataList = registrationDataDAO.findAll(context, RegistrationData.class); + registrationDataList = registrationDataDAO.findAll(context.getSession(), RegistrationData.class); assertEquals(1, registrationDataList.size()); assertTrue(StringUtils.equalsIgnoreCase(registrationDataList.get(0).getEmail(), eperson.getEmail())); @@ -147,7 +149,7 @@ public void registrationFlowTest() throws Exception { .content(mapper.writeValueAsBytes(registrationRest)) .contentType(contentType)) .andExpect(status().isCreated()); - registrationDataList = registrationDataDAO.findAll(context, RegistrationData.class); + registrationDataList = registrationDataDAO.findAll(context.getSession(), RegistrationData.class); assertTrue(registrationDataList.size() == 2); assertTrue(StringUtils.equalsIgnoreCase(registrationDataList.get(0).getEmail(), newEmail) || StringUtils.equalsIgnoreCase(registrationDataList.get(1).getEmail(), newEmail)); @@ -168,14 +170,15 @@ public void registrationFlowTest() throws Exception { Iterator iterator = registrationDataList.iterator(); while (iterator.hasNext()) { RegistrationData registrationData = iterator.next(); - registrationDataDAO.delete(context, registrationData); + registrationDataDAO.delete(context.getSession(), registrationData); } } } @Test public void testRegisterDomainRegistered() throws Exception { - List registrationDataList = registrationDataDAO.findAll(context, RegistrationData.class); + List registrationDataList + = registrationDataDAO.findAll(context.getSession(), RegistrationData.class); try { configurationService.setProperty("authentication-password.domain.valid", "test.com"); RegistrationRest registrationRest = new RegistrationRest(); @@ -188,14 +191,14 @@ public void testRegisterDomainRegistered() throws Exception { .content(mapper.writeValueAsBytes(registrationRest)) .contentType(contentType)) .andExpect(status().isCreated()); - registrationDataList = registrationDataDAO.findAll(context, RegistrationData.class); + registrationDataList = registrationDataDAO.findAll(context.getSession(), RegistrationData.class); assertEquals(1, registrationDataList.size()); assertTrue(StringUtils.equalsIgnoreCase(registrationDataList.get(0).getEmail(), email)); } finally { Iterator iterator = registrationDataList.iterator(); while (iterator.hasNext()) { RegistrationData registrationData = iterator.next(); - registrationDataDAO.delete(context, registrationData); + registrationDataDAO.delete(context.getSession(), registrationData); } } } @@ -216,18 +219,19 @@ public void testRegisterDomainNotRegistered() throws Exception { .contentType(contentType)) .andExpect(status().isUnprocessableEntity()); } finally { - registrationDataList = registrationDataDAO.findAll(context, RegistrationData.class); + registrationDataList = registrationDataDAO.findAll(context.getSession(), RegistrationData.class); Iterator iterator = registrationDataList.iterator(); while (iterator.hasNext()) { RegistrationData registrationData = iterator.next(); - registrationDataDAO.delete(context, registrationData); + registrationDataDAO.delete(context.getSession(), registrationData); } } } @Test public void testRegisterMailAddressRegistered() throws Exception { - List registrationDataList = registrationDataDAO.findAll(context, RegistrationData.class); + List registrationDataList + = registrationDataDAO.findAll(context.getSession(), RegistrationData.class); try { context.turnOffAuthorisationSystem(); String email = "test@gmail.com"; @@ -246,14 +250,14 @@ public void testRegisterMailAddressRegistered() throws Exception { .content(mapper.writeValueAsBytes(registrationRest)) .contentType(contentType)) .andExpect(status().isCreated()); - registrationDataList = registrationDataDAO.findAll(context, RegistrationData.class); + registrationDataList = registrationDataDAO.findAll(context.getSession(), RegistrationData.class); assertEquals(1, registrationDataList.size()); assertTrue(StringUtils.equalsIgnoreCase(registrationDataList.get(0).getEmail(), email)); } finally { Iterator iterator = registrationDataList.iterator(); while (iterator.hasNext()) { RegistrationData registrationData = iterator.next(); - registrationDataDAO.delete(context, registrationData); + registrationDataDAO.delete(context.getSession(), registrationData); } } } @@ -262,7 +266,8 @@ public void testRegisterMailAddressRegistered() throws Exception { public void forgotPasswordTest() throws Exception { configurationService.setProperty("user.registration", false); - List registrationDataList = registrationDataDAO.findAll(context, RegistrationData.class); + List registrationDataList + = registrationDataDAO.findAll(context.getSession(), RegistrationData.class); try { assertEquals(0, registrationDataList.size()); @@ -274,14 +279,14 @@ public void forgotPasswordTest() throws Exception { .content(mapper.writeValueAsBytes(registrationRest)) .contentType(contentType)) .andExpect(status().isCreated()); - registrationDataList = registrationDataDAO.findAll(context, RegistrationData.class); + registrationDataList = registrationDataDAO.findAll(context.getSession(), RegistrationData.class); assertEquals(1, registrationDataList.size()); assertTrue(StringUtils.equalsIgnoreCase(registrationDataList.get(0).getEmail(), eperson.getEmail())); } finally { Iterator iterator = registrationDataList.iterator(); while (iterator.hasNext()) { RegistrationData registrationData = iterator.next(); - registrationDataDAO.delete(context, registrationData); + registrationDataDAO.delete(context.getSession(), registrationData); } } } @@ -349,7 +354,8 @@ public void registrationFlowWithValidCaptchaTokenTest() throws Exception { doNothing().when(captchaServiceMock).processResponse(eq(captchaToken), eq("register_email")); - List registrationDataList = registrationDataDAO.findAll(context, RegistrationData.class); + List registrationDataList + = registrationDataDAO.findAll(context.getSession(), RegistrationData.class); assertEquals(0, registrationDataList.size()); ObjectMapper mapper = new ObjectMapper(); @@ -371,7 +377,7 @@ public void registrationFlowWithValidCaptchaTokenTest() throws Exception { .contentType(contentType)) .andExpect(status().isCreated()); - registrationDataList = registrationDataDAO.findAll(context, RegistrationData.class); + registrationDataList = registrationDataDAO.findAll(context.getSession(), RegistrationData.class); assertEquals(1, registrationDataList.size()); assertTrue(StringUtils.equalsIgnoreCase(registrationDataList.get(0).getEmail(), eperson.getEmail())); @@ -384,7 +390,7 @@ public void registrationFlowWithValidCaptchaTokenTest() throws Exception { .contentType(contentType)) .andExpect(status().isCreated()); - registrationDataList = registrationDataDAO.findAll(context, RegistrationData.class); + registrationDataList = registrationDataDAO.findAll(context.getSession(), RegistrationData.class); assertTrue(registrationDataList.size() == 2); assertTrue(StringUtils.equalsIgnoreCase(registrationDataList.get(0).getEmail(), newEmail) || StringUtils.equalsIgnoreCase(registrationDataList.get(1).getEmail(), newEmail)); @@ -408,7 +414,7 @@ public void registrationFlowWithValidCaptchaTokenTest() throws Exception { Iterator iterator = registrationDataList.iterator(); while (iterator.hasNext()) { RegistrationData registrationData = iterator.next(); - registrationDataDAO.delete(context, registrationData); + registrationDataDAO.delete(context.getSession(), registrationData); } reloadCaptchaProperties(originVerification, originSecret, originVresion); } From 69aba51716761a289e6bdddc089eb974980aa111 Mon Sep 17 00:00:00 2001 From: "Mark H. Wood" Date: Sun, 2 Jul 2023 14:14:09 -0400 Subject: [PATCH 02/14] Repair un-noticed damage from new SQLException. --- .../impl/OrcidPublicationDataProvider.java | 18 ++++++++++----- .../orcid/consumer/OrcidQueueConsumer.java | 17 +++++++++----- .../service/impl/OrcidHistoryServiceImpl.java | 9 ++++++-- .../impl/OrcidSynchronizationServiceImpl.java | 22 ++++++++++++++++--- .../dspace/content/RelationshipTypeTest.java | 10 ++++----- .../dspace/app/rest/OrcidLoginFilterIT.java | 8 ++++--- .../ResearcherProfileRestRepositoryIT.java | 11 +++++----- 7 files changed, 64 insertions(+), 31 deletions(-) diff --git a/dspace-api/src/main/java/org/dspace/external/provider/impl/OrcidPublicationDataProvider.java b/dspace-api/src/main/java/org/dspace/external/provider/impl/OrcidPublicationDataProvider.java index 4fdf15a8a3ad..53d84dd4be9b 100644 --- a/dspace-api/src/main/java/org/dspace/external/provider/impl/OrcidPublicationDataProvider.java +++ b/dspace-api/src/main/java/org/dspace/external/provider/impl/OrcidPublicationDataProvider.java @@ -18,6 +18,7 @@ import java.io.File; import java.io.FileOutputStream; import java.nio.charset.Charset; +import java.sql.SQLException; import java.util.List; import java.util.Optional; import java.util.function.Supplier; @@ -28,6 +29,8 @@ import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.math.NumberUtils; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.dspace.content.Item; import org.dspace.content.MetadataFieldName; import org.dspace.content.dto.MetadataValueDTO; @@ -63,13 +66,11 @@ import org.orcid.jaxb.model.v3.release.record.summary.WorkGroup; import org.orcid.jaxb.model.v3.release.record.summary.WorkSummary; import org.orcid.jaxb.model.v3.release.record.summary.Works; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; /** * Implementation of {@link ExternalDataProvider} that search for all the works - * of the profile with the given orcid id that hava a source other than DSpace. + * of the profile with the given orcid id that have a source other than DSpace. * The id of the external data objects returned by the methods of this class is * the concatenation of the orcid id and the put code associated with the * publication, separated by :: (example 0000-0000-0123-4567::123456) @@ -79,7 +80,7 @@ */ public class OrcidPublicationDataProvider extends AbstractExternalDataProvider { - private final static Logger LOGGER = LoggerFactory.getLogger(OrcidPublicationDataProvider.class); + private final static Logger LOGGER = LogManager.getLogger(); /** * Examples of valid ORCID IDs: @@ -268,8 +269,13 @@ private String getAccessToken(String orcid) { } private Optional getAccessToken(Item item) { - return ofNullable(orcidTokenService.findByProfileItem(getContext(), item)) - .map(OrcidToken::getAccessToken); + try { + return ofNullable(orcidTokenService.findByProfileItem(getContext(), item)) + .map(OrcidToken::getAccessToken); + } catch (SQLException ex) { + LOGGER.error("Could not fetch access token for Item {}", item::getID, () -> ex); + return Optional.ofNullable(null); + } } private String getReadPublicAccessToken() { diff --git a/dspace-api/src/main/java/org/dspace/orcid/consumer/OrcidQueueConsumer.java b/dspace-api/src/main/java/org/dspace/orcid/consumer/OrcidQueueConsumer.java index d177e61607f1..602a146b7ba9 100644 --- a/dspace-api/src/main/java/org/dspace/orcid/consumer/OrcidQueueConsumer.java +++ b/dspace-api/src/main/java/org/dspace/orcid/consumer/OrcidQueueConsumer.java @@ -22,6 +22,8 @@ import java.util.stream.Stream; import org.apache.commons.lang3.StringUtils; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.dspace.content.DSpaceObject; import org.dspace.content.Item; import org.dspace.content.MetadataFieldName; @@ -45,8 +47,6 @@ import org.dspace.profile.OrcidProfileSyncPreference; import org.dspace.services.ConfigurationService; import org.dspace.services.factory.DSpaceServicesFactory; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; /** * The consumer to fill the ORCID queue. The addition to the queue is made for @@ -56,7 +56,7 @@ * be synchronized (based on the preferences set by the user) *

  • are publications/fundings related to profile items linked to orcid (based * on the preferences set by the user)
  • - * + * * * * @author Luca Giamminonni (luca.giamminonni at 4science.it) @@ -64,7 +64,7 @@ */ public class OrcidQueueConsumer implements Consumer { - private static final Logger LOGGER = LoggerFactory.getLogger(OrcidQueueConsumer.class); + private static final Logger LOGGER = LogManager.getLogger(); private OrcidQueueService orcidQueueService; @@ -82,7 +82,7 @@ public class OrcidQueueConsumer implements Consumer { private RelationshipService relationshipService; - private List alreadyConsumedItems = new ArrayList<>(); + private final List alreadyConsumedItems = new ArrayList<>(); @Override public void initialize() throws Exception { @@ -318,7 +318,12 @@ private boolean isNotLinkedToOrcid(Context context, Item profileItemItem) { } private boolean hasNotOrcidAccessToken(Context context, Item profileItemItem) { - return orcidTokenService.findByProfileItem(context, profileItemItem) == null; + try { + return orcidTokenService.findByProfileItem(context, profileItemItem) == null; + } catch (SQLException ex) { + LOGGER.error("Could not check ORCiD access token of Item {}", profileItemItem::getID, () -> ex); + return true; + } } private boolean shouldNotBeSynchronized(Item profileItem, Item entity) { diff --git a/dspace-api/src/main/java/org/dspace/orcid/service/impl/OrcidHistoryServiceImpl.java b/dspace-api/src/main/java/org/dspace/orcid/service/impl/OrcidHistoryServiceImpl.java index 8cd3c8c770f3..a599c1b3bd38 100644 --- a/dspace-api/src/main/java/org/dspace/orcid/service/impl/OrcidHistoryServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/orcid/service/impl/OrcidHistoryServiceImpl.java @@ -326,8 +326,13 @@ private Optional getMetadataValue(Item item, String metadataField) { } private Optional getAccessToken(Context context, Item item) { - return ofNullable(orcidTokenService.findByProfileItem(context, item)) - .map(orcidToken -> orcidToken.getAccessToken()); + try { + return ofNullable(orcidTokenService.findByProfileItem(context, item)) + .map(orcidToken -> orcidToken.getAccessToken()); + } catch (SQLException ex) { + LOGGER.error("Unable to get ORCiD access token for Item {}", item::getID, () -> ex); + return Optional.ofNullable(null); + } } private boolean isProfileSectionType(OrcidQueue orcidQueue) { diff --git a/dspace-api/src/main/java/org/dspace/orcid/service/impl/OrcidSynchronizationServiceImpl.java b/dspace-api/src/main/java/org/dspace/orcid/service/impl/OrcidSynchronizationServiceImpl.java index 97d832d3de82..eead62af778b 100644 --- a/dspace-api/src/main/java/org/dspace/orcid/service/impl/OrcidSynchronizationServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/orcid/service/impl/OrcidSynchronizationServiceImpl.java @@ -25,6 +25,8 @@ import java.util.stream.Stream; import org.apache.commons.codec.binary.StringUtils; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.dspace.authorize.AuthorizeException; import org.dspace.content.Item; import org.dspace.content.MetadataValue; @@ -56,6 +58,7 @@ * */ public class OrcidSynchronizationServiceImpl implements OrcidSynchronizationService { + private static final Logger LOGGER = LogManager.getLogger(); @Autowired private ItemService itemService; @@ -231,7 +234,14 @@ public OrcidProfileDisconnectionMode getDisconnectionMode() { } private void setAccessToken(Context context, Item profile, EPerson ePerson, String accessToken) { - OrcidToken orcidToken = orcidTokenService.findByEPerson(context, ePerson); + OrcidToken orcidToken; + try { + orcidToken = orcidTokenService.findByEPerson(context, ePerson); + } catch (SQLException ex) { + LOGGER.error("Failed looking up ORCiD access token for EPerson {}", + ePerson::getID, () -> ex); + return; + } if (orcidToken == null) { orcidTokenService.create(context, ePerson, profile, accessToken); } else { @@ -272,8 +282,14 @@ private boolean containsSameValues(List firstList, List secondLi } private Optional getOrcidAccessToken(Context context, Item item) { - return ofNullable(orcidTokenService.findByProfileItem(context, item)) - .map(orcidToken -> orcidToken.getAccessToken()); + try { + return ofNullable(orcidTokenService.findByProfileItem(context, item)) + .map(orcidToken -> orcidToken.getAccessToken()); + } catch (SQLException ex) { + LOGGER.error("Could not get ORCiD access token for Item {}", + item::getID, () -> ex); + return Optional.ofNullable(null); + } } public Optional getOrcid(Item item) { diff --git a/dspace-api/src/test/java/org/dspace/content/RelationshipTypeTest.java b/dspace-api/src/test/java/org/dspace/content/RelationshipTypeTest.java index 0d4324c2c90c..ba4e40ce959c 100644 --- a/dspace-api/src/test/java/org/dspace/content/RelationshipTypeTest.java +++ b/dspace-api/src/test/java/org/dspace/content/RelationshipTypeTest.java @@ -18,8 +18,8 @@ import java.util.List; import java.util.Random; +import org.dspace.AbstractUnitTest; import org.dspace.content.dao.RelationshipTypeDAO; -import org.dspace.core.Context; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; @@ -28,7 +28,8 @@ import org.mockito.junit.MockitoJUnitRunner; @RunWith(MockitoJUnitRunner.class) -public class RelationshipTypeTest { +public class RelationshipTypeTest + extends AbstractUnitTest { @InjectMocks private RelationshipTypeServiceImpl relationshipTypeService; @@ -38,10 +39,8 @@ public class RelationshipTypeTest { private RelationshipType firstRelationshipType; private RelationshipType secondRelationshipType; - private Context context; - @Before - public void init() { + public void myinit() { // Default state of firstRelationshipType firstRelationshipType = mock(RelationshipType.class); firstRelationshipType.setId(1); @@ -67,7 +66,6 @@ public void init() { secondRelationshipType.setRightMinCardinality(null); } - @Test public void testRelationshipTypeFind() throws Exception { // Mock DAO to return our firstRelationshipType diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/OrcidLoginFilterIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/OrcidLoginFilterIT.java index 4b441b1bc8fc..d659186b6042 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/OrcidLoginFilterIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/OrcidLoginFilterIT.java @@ -85,7 +85,7 @@ public class OrcidLoginFilterIT extends AbstractControllerIntegrationTest { private OrcidClient originalOrcidClient; - private OrcidClient orcidClientMock = mock(OrcidClient.class); + private final OrcidClient orcidClientMock = mock(OrcidClient.class); private EPerson createdEperson; @@ -557,12 +557,14 @@ private String getItemIdByProfileId(String token, String id) throws SQLException return JsonPath.read(result.getResponse().getContentAsString(), "$.id"); } - private String getOrcidAccessToken(EPerson ePerson) { + private String getOrcidAccessToken(EPerson ePerson) + throws SQLException { OrcidToken orcidToken = orcidTokenService.findByEPerson(context, ePerson); return orcidToken != null ? orcidToken.getAccessToken() : null; } - private String getOrcidAccessToken(Item item) { + private String getOrcidAccessToken(Item item) + throws SQLException { OrcidToken orcidToken = orcidTokenService.findByProfileItem(context, item); return orcidToken != null ? orcidToken.getAccessToken() : null; } diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/ResearcherProfileRestRepositoryIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/ResearcherProfileRestRepositoryIT.java index 70009d049fc5..7fb64b12bf48 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/ResearcherProfileRestRepositoryIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/ResearcherProfileRestRepositoryIT.java @@ -114,7 +114,7 @@ public class ResearcherProfileRestRepositoryIT extends AbstractControllerIntegra @Autowired private OrcidClient orcidClient; - private OrcidClient orcidClientMock = mock(OrcidClient.class); + private final OrcidClient orcidClientMock = mock(OrcidClient.class); private EPerson user; @@ -1336,7 +1336,7 @@ public void testOrcidMetadataOfEpersonAreCopiedOnProfile() throws Exception { getClient(authToken).perform(post("/api/eperson/profiles/") .contentType(MediaType.APPLICATION_JSON_VALUE)) .andExpect(status().isCreated()) - .andExpect(jsonPath("$.id", is(ePersonId.toString()))) + .andExpect(jsonPath("$.id", is(ePersonId))) .andExpect(jsonPath("$.visible", is(false))) .andExpect(jsonPath("$.type", is("profile"))); @@ -2527,8 +2527,8 @@ private Item createProfile(EPerson ePerson) throws Exception { String authToken = getAuthToken(ePerson.getEmail(), password); - AtomicReference ePersonIdRef = new AtomicReference(); - AtomicReference itemIdRef = new AtomicReference(); + AtomicReference ePersonIdRef = new AtomicReference<>(); + AtomicReference itemIdRef = new AtomicReference<>(); getClient(authToken).perform(post("/api/eperson/profiles/") .contentType(MediaType.APPLICATION_JSON_VALUE)) @@ -2553,7 +2553,8 @@ private String getItemIdByProfileId(String token, String id) throws SQLException return readAttributeFromResponse(result, "$.id"); } - private String getOrcidAccessToken(Item item) { + private String getOrcidAccessToken(Item item) + throws SQLException { OrcidToken orcidToken = orcidTokenService.findByProfileItem(context, item); return orcidToken != null ? orcidToken.getAccessToken() : null; } From ca68d666b9b421503cab7419d503e5ed9ea40650 Mon Sep 17 00:00:00 2001 From: "Mark H. Wood" Date: Wed, 12 Jul 2023 12:50:13 -0400 Subject: [PATCH 03/14] Sample use of new secondary Session (untested). --- .../mediafilter/MediaFilterServiceImpl.java | 36 ++++++------ .../service/MediaFilterService.java | 45 ++++++++++++++- .../org/dspace/content/ItemServiceImpl.java | 12 ++++ .../dspace/content/service/ItemService.java | 55 +++++++++++++------ .../main/java/org/dspace/core/Context.java | 21 +++++++ 5 files changed, 135 insertions(+), 34 deletions(-) diff --git a/dspace-api/src/main/java/org/dspace/app/mediafilter/MediaFilterServiceImpl.java b/dspace-api/src/main/java/org/dspace/app/mediafilter/MediaFilterServiceImpl.java index b50fb22355a3..147a7bf26c71 100644 --- a/dspace-api/src/main/java/org/dspace/app/mediafilter/MediaFilterServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/app/mediafilter/MediaFilterServiceImpl.java @@ -42,6 +42,7 @@ import org.dspace.scripts.handler.DSpaceRunnableHandler; import org.dspace.services.ConfigurationService; import org.dspace.util.ThrowableUtils; +import org.hibernate.Session; import org.springframework.beans.factory.InitializingBean; import org.springframework.beans.factory.annotation.Autowired; @@ -122,9 +123,14 @@ public void applyFiltersAllItems(Context context) throws Exception { } } else { //otherwise, just find every item and process - Iterator itemIterator = itemService.findAll(context); - while (itemIterator.hasNext() && processed < max2Process) { - applyFiltersItem(context, itemIterator.next()); + try (Session session = context.getReadOnlySession()) { + Iterator itemIterator = itemService.findAll(session); + while (itemIterator.hasNext() && processed < max2Process) { + Item roItem = itemIterator.next(); + Item rwItem = itemService.find(context, roItem.getID()); + applyFiltersItem(context, rwItem); + context.commit(); + } } } } @@ -150,9 +156,15 @@ public void applyFiltersCollection(Context context, Collection collection) throws Exception { //only apply filters if collection not in skip-list if (!inSkipList(collection.getHandle())) { - Iterator itemIterator = itemService.findAllByCollection(context, collection); - while (itemIterator.hasNext() && processed < max2Process) { - applyFiltersItem(context, itemIterator.next()); + try (Session driverSession = context.getReadOnlySession();) { + Iterator itemIterator + = itemService.findAllByCollection(driverSession, collection); + while (itemIterator.hasNext() && processed < max2Process) { + Item roItem = itemIterator.next(); + Item rwItem = itemService.find(context, roItem.getID()); + applyFiltersItem(context, rwItem); + context.commit(); + } } } } @@ -169,9 +181,6 @@ public void applyFiltersItem(Context c, Item item) throws Exception { // increment processed count ++processed; } - // clear item objects from context cache and internal cache - c.uncacheEntity(currentItem); - currentItem = null; } } @@ -196,10 +205,9 @@ public boolean filterBitstream(Context context, Item myItem, Bitstream myBitstream) throws Exception { boolean filtered = false; - // iterate through filter classes. A single format may be actioned - // by more than one filter + // Iterate through filter classes. A single format may be filtered + // by more than one filter. for (FormatFilter filterClass : filterClasses) { - //List fmts = (List)filterFormats.get(filterClasses[i].getClass().getName()); String pluginName = null; //if this filter class is a SelfNamedPlugin, @@ -211,10 +219,6 @@ public boolean filterBitstream(Context context, Item myItem, } //Get list of supported formats for the filter (and possibly named plugin) - //For SelfNamedPlugins, map key is: - // - //For other MediaFilters, map key is just: - // List fmts = filterFormats.get(filterClass.getClass().getName() + (pluginName != null ? FILTER_PLUGIN_SEPARATOR + pluginName : "")); diff --git a/dspace-api/src/main/java/org/dspace/app/mediafilter/service/MediaFilterService.java b/dspace-api/src/main/java/org/dspace/app/mediafilter/service/MediaFilterService.java index bc92ff521098..4569589e8a49 100644 --- a/dspace-api/src/main/java/org/dspace/app/mediafilter/service/MediaFilterService.java +++ b/dspace-api/src/main/java/org/dspace/app/mediafilter/service/MediaFilterService.java @@ -35,18 +35,45 @@ public interface MediaFilterService { //for MediaFilters which extend SelfNamedPlugin (\034 is "file separator" char) public static final String FILTER_PLUGIN_SEPARATOR = "\034"; - + /** + * Apply filters to all items in the repository, respecting the skip list if + * any. + * + * @param context the current DSpace session. + * @throws Exception passed through. + */ public void applyFiltersAllItems(Context context) throws Exception; + /** + * Apply filters to all items in a Community, unless the Community is in the + * optional skip list. + * + * @param context the current DSpace session. + * @param community the Community to be filtered. + * @throws Exception passed through. + */ public void applyFiltersCommunity(Context context, Community community) throws Exception; + /** + * Apply filters to all Items in a Collection, unless the Collection is in + * the optional skip list. + * + * @param context the current DSpace session. + * @param collection the Collection to be filtered. + * @throws Exception passed through. + */ public void applyFiltersCollection(Context context, Collection collection) throws Exception; + /** + * Apply filters to an Item, unless the Item is in the optional skip list. + * @param c + * @param item + * @throws Exception + */ public void applyFiltersItem(Context c, Item item) throws Exception; - /** * Iterate through the item's bitstreams in the ORIGINAL bundle, applying * filters if possible. @@ -140,8 +167,22 @@ public void updatePoliciesOfDerivativeBitstreams(Context context, Item item, Bit public void setFilterClasses(List filterClasses); + /** + * Set the optional skip list to skip processing of certain model objects. + * + * @param skipList Handles of the objects to skip. + */ public void setSkipList(List skipList); + /** + * Set the mapping of filters into file formats. + * + * @param filterFormats the mapping. + * For SelfNamedPlugins, map key is: + * {@code } + * For other MediaFilters, map key is just: + * {@code } + */ public void setFilterFormats(Map> filterFormats); /** diff --git a/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java index b5da6bf8dbd7..224cd4e7ca24 100644 --- a/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java @@ -81,6 +81,7 @@ import org.dspace.versioning.service.VersioningService; import org.dspace.workflow.WorkflowItemService; import org.dspace.workflow.factory.WorkflowServiceFactory; +import org.hibernate.Session; import org.springframework.beans.factory.annotation.Autowired; /** @@ -281,6 +282,11 @@ public Iterator findAll(Context context) throws SQLException { return itemDAO.findAll(context.getSession(), true); } + @Override + public Iterator findAll(Session session) throws SQLException { + return itemDAO.findAll(session, true); + } + @Override public Iterator findAll(Context context, Integer limit, Integer offset) throws SQLException { return itemDAO.findAll(context.getSession(), true, limit, offset); @@ -348,6 +354,12 @@ public Iterator findAllByCollection(Context context, Collection collection return itemDAO.findAllByCollection(context.getSession(), collection); } + @Override + public Iterator findAllByCollection(Session session, Collection collection) + throws SQLException { + return itemDAO.findAllByCollection(session, collection); + } + @Override public Iterator findAllByCollection(Context context, Collection collection, Integer limit, Integer offset) throws SQLException { diff --git a/dspace-api/src/main/java/org/dspace/content/service/ItemService.java b/dspace-api/src/main/java/org/dspace/content/service/ItemService.java index b6bf7aa5cfa2..b59dee6970b0 100644 --- a/dspace-api/src/main/java/org/dspace/content/service/ItemService.java +++ b/dspace-api/src/main/java/org/dspace/content/service/ItemService.java @@ -31,6 +31,7 @@ import org.dspace.discovery.SearchServiceException; import org.dspace.eperson.EPerson; import org.dspace.eperson.Group; +import org.hibernate.Session; /** * Service interface class for the Item object. @@ -93,6 +94,17 @@ public interface ItemService */ public Iterator findAll(Context context) throws SQLException; + /** + * Get all the items in the archive. Only items with the "in archive" flag + * set are included. The order of the list is indeterminate. + * + * @param session current request's database context. + * @return an iterator over the items in the archive. + * @throws SQLException if database error + */ + + public Iterator findAll(Session session) throws SQLException; + /** * Get all the items in the archive. Only items with the "in archive" flag * set are included. The order of the list is indeterminate. @@ -214,19 +226,6 @@ public Iterator findByCollectionMapping(Context context, Collection collec */ public int countByCollectionMapping(Context context, Collection collection) throws SQLException; - /** - * Get all the items (including private and withdrawn) in this collection. The order is indeterminate. - * - * @param context DSpace context object - * @param collection Collection (parent) - * @return an iterator over the items in the collection. - * @param limit limited number of items - * @param offset offset value - * @throws SQLException if database error - */ - public Iterator findAllByCollection(Context context, Collection collection, Integer limit, Integer offset) - throws SQLException; - /** * Get all Items installed or withdrawn, discoverable, and modified since a Date. * @@ -258,6 +257,30 @@ public Iterator findInArchiveOrWithdrawnNonDiscoverableModifiedSince(Conte */ public Iterator findAllByCollection(Context context, Collection collection) throws SQLException; + /** + * Get all the items (including private and withdrawn) in this collection. The order is indeterminate. + * + * @param session current request's database session. + * @param collection Collection (parent) + * @return an iterator over the items in the collection. + * @throws SQLException if database error + */ + public Iterator findAllByCollection(Session session, Collection collection) + throws SQLException; + + /** + * Get all the items (including private and withdrawn) in this collection. The order is indeterminate. + * + * @param context DSpace context object + * @param collection Collection (parent) + * @return an iterator over the items in the collection. + * @param limit limited number of items + * @param offset offset value + * @throws SQLException if database error + */ + public Iterator findAllByCollection(Context context, Collection collection, Integer limit, Integer offset) + throws SQLException; + /** * See whether this Item is contained by a given Collection. * @@ -497,7 +520,7 @@ public void inheritCollectionDefaultPolicies(Context context, Item item, Collect * already applied to the bundle/bitstream. Collection's policies are inherited * if there are no other policies defined or if the append mode is defined by * the configuration via the core.authorization.installitem.inheritance-read.append-mode property - * + * * @param context DSpace context object * @param item Item to adjust policies on * @param collection Collection @@ -535,7 +558,7 @@ public void adjustBitstreamPolicies(Context context, Item item, Collection colle * inherited as appropriate. Collection's policies are inherited if there are no * other policies defined or if the append mode is defined by the configuration * via the core.authorization.installitem.inheritance-read.append-mode property - * + * * @param context DSpace context object * @param item Item to adjust policies on * @param collection Collection @@ -681,7 +704,6 @@ public Iterator findByMetadataQuery(Context context, List findByAuthorityValue(Context context, String schema, String element, String qualifier, String value) @@ -883,6 +905,7 @@ public List getMetadata(Item item, String schema, String element, * @param context the DSpace context. * @param item the item. * @return the entity type of the given item, or null if not found. + * @throws java.sql.SQLException passed through. */ public EntityType getEntityType(Context context, Item item) throws SQLException; diff --git a/dspace-api/src/main/java/org/dspace/core/Context.java b/dspace-api/src/main/java/org/dspace/core/Context.java index cd5b53e8eb3b..21b9aeb60614 100644 --- a/dspace-api/src/main/java/org/dspace/core/Context.java +++ b/dspace-api/src/main/java/org/dspace/core/Context.java @@ -19,6 +19,7 @@ import java.util.UUID; import java.util.concurrent.ConcurrentLinkedDeque; import java.util.concurrent.atomic.AtomicBoolean; +import javax.persistence.FlushModeType; import org.apache.logging.log4j.Logger; import org.dspace.authorize.ResourcePolicy; @@ -207,6 +208,26 @@ public Session getSession() return (Session) dbConnection.getSession(); } + /** + * Get an additional JPA {@link Session} from a DSpace {@link Context}, + * set default-read-only. + * Be sure to {@code close()} the Session when finished -- Context does not + * track it. + * + * @return a new read-only JPA {@link Session}. + * @throws SQLException passed through. + */ + public Session getReadOnlySession() + throws SQLException { + DBConnection connection = dbConnection; + Session newSession = connection.getSession() + .getSessionFactory() + .openSession(); + newSession.setDefaultReadOnly(true); + newSession.setFlushMode(FlushModeType.COMMIT); + return newSession; + } + /** * Update the DSpace database, ensuring that any necessary migrations are run prior to initializing * Hibernate. From 4a7fef5c634842adf9713c9e8e84a88c42dc7c8e Mon Sep 17 00:00:00 2001 From: "Mark H. Wood" Date: Tue, 12 Sep 2023 17:59:37 -0400 Subject: [PATCH 04/14] First pass: find* methods take Session not Context. --- .../dspace/administer/CommunityFiliator.java | 2 +- .../administer/CreateAdministrator.java | 2 +- .../dspace/administer/MetadataExporter.java | 13 +- .../dspace/administer/MetadataImporter.java | 6 +- .../org/dspace/administer/StructBuilder.java | 2 +- .../bulkaccesscontrol/BulkAccessControl.java | 2 +- .../BulkAccessControlCli.java | 2 +- .../org/dspace/app/bulkedit/DSpaceCSV.java | 4 +- .../dspace/app/bulkedit/MetadataDeletion.java | 2 +- .../dspace/app/bulkedit/MetadataExport.java | 4 +- .../app/bulkedit/MetadataExportSearch.java | 6 +- .../dspace/app/bulkedit/MetadataImport.java | 49 ++-- .../app/bulkedit/MetadataImportCLI.java | 9 +- .../dspace/app/checker/ChecksumChecker.java | 2 +- .../java/org/dspace/app/harvest/Harvest.java | 9 +- .../org/dspace/app/itemexport/ItemExport.java | 8 +- .../dspace/app/itemexport/ItemExportCLI.java | 4 +- .../app/itemexport/ItemExportServiceImpl.java | 18 +- .../org/dspace/app/itemimport/ItemImport.java | 4 +- .../dspace/app/itemimport/ItemImportCLI.java | 2 +- .../app/itemimport/ItemImportServiceImpl.java | 45 +-- .../app/itemupdate/AddBitstreamsAction.java | 2 +- .../app/itemupdate/AddMetadataAction.java | 4 +- .../itemupdate/DeleteBitstreamsAction.java | 2 +- .../dspace/app/itemupdate/ItemArchive.java | 2 +- .../org/dspace/app/itemupdate/ItemUpdate.java | 2 +- .../mediafilter/MediaFilterServiceImpl.java | 14 +- .../dspace/app/sitemap/GenerateSitemaps.java | 6 +- .../app/util/DSpaceObjectUtilsImpl.java | 3 +- .../dspace/authenticate/IPAuthentication.java | 17 +- .../authenticate/LDAPAuthentication.java | 12 +- .../authenticate/PasswordAuthentication.java | 4 +- .../authenticate/ShibAuthentication.java | 8 +- .../authenticate/X509Authentication.java | 6 +- .../dspace/authority/UpdateAuthorities.java | 2 +- .../authority/indexer/AuthorityConsumer.java | 4 +- .../indexer/AuthorityIndexClient.java | 2 +- .../dspace/authorize/FixDefaultPolicies.java | 9 +- .../java/org/dspace/authorize/PolicySet.java | 6 +- .../org/dspace/checker/CheckerConsumer.java | 5 +- .../MostRecentChecksumServiceImpl.java | 2 +- .../checker/SimpleReporterServiceImpl.java | 2 +- .../dspace/content/BitstreamServiceImpl.java | 47 ++- .../org/dspace/content/BundleServiceImpl.java | 23 +- .../dspace/content/CollectionServiceImpl.java | 39 +-- .../dspace/content/CommunityServiceImpl.java | 45 +-- .../content/DSpaceObjectServiceImpl.java | 6 +- .../org/dspace/content/EntityServiceImpl.java | 13 +- .../org/dspace/content/ItemServiceImpl.java | 170 ++++------- .../MetadataDSpaceCsvExportServiceImpl.java | 6 +- .../content/MetadataFieldServiceImpl.java | 31 +- .../content/MetadataSchemaServiceImpl.java | 11 +- .../content/MetadataValueServiceImpl.java | 20 +- .../RelationshipMetadataServiceImpl.java | 13 +- .../content/RelationshipServiceImpl.java | 85 +++--- .../org/dspace/content/SiteServiceImpl.java | 11 +- .../content/authority/EPersonAuthority.java | 8 +- .../MetadataAuthorityServiceImpl.java | 2 +- .../content/crosswalk/AIPTechMDCrosswalk.java | 4 +- .../crosswalk/CrosswalkMetadataValidator.java | 4 +- .../crosswalk/METSRightsCrosswalk.java | 14 +- .../crosswalk/XSLTIngestionCrosswalk.java | 4 +- .../dspace/content/logic/TestLogicRunner.java | 2 +- .../packager/AbstractMETSDisseminator.java | 4 +- .../packager/AbstractPackageDisseminator.java | 6 +- .../packager/DSpaceAIPDisseminator.java | 8 +- .../dspace/content/packager/PackageUtils.java | 20 +- .../content/packager/RoleDisseminator.java | 2 +- .../dspace/content/packager/RoleIngester.java | 8 +- .../content/service/BitstreamService.java | 18 +- .../content/service/CollectionService.java | 21 +- .../content/service/CommunityService.java | 13 +- .../DSpaceObjectLegacySupportService.java | 13 +- .../content/service/DSpaceObjectService.java | 11 +- .../dspace/content/service/EntityService.java | 9 +- .../dspace/content/service/ItemService.java | 100 +++---- .../content/service/MetadataFieldService.java | 25 +- .../service/MetadataSchemaService.java | 9 +- .../content/service/MetadataValueService.java | 15 +- .../content/service/RelationshipService.java | 71 ++--- .../dspace/content/service/SiteService.java | 3 +- .../org/dspace/content/virtual/Related.java | 7 +- .../main/java/org/dspace/core/Context.java | 4 +- .../dspace/curate/AbstractCurationTask.java | 7 +- .../main/java/org/dspace/curate/Curation.java | 6 +- .../main/java/org/dspace/curate/Curator.java | 12 +- .../curate/XmlWorkflowCuratorServiceImpl.java | 4 +- .../org/dspace/discovery/IndexClient.java | 11 +- .../org/dspace/discovery/SolrServiceImpl.java | 13 +- .../SolrServiceResourceRestrictionPlugin.java | 2 +- .../CollectionIndexFactoryImpl.java | 4 +- .../CommunityIndexFactoryImpl.java | 4 +- .../indexobject/ItemIndexFactoryImpl.java | 8 +- .../MetadataFieldIndexFactoryImpl.java | 6 +- .../dspace/embargo/DefaultEmbargoSetter.java | 2 +- .../dspace/embargo/EmbargoServiceImpl.java | 10 +- .../org/dspace/eperson/EPersonConsumer.java | 2 +- .../dspace/eperson/EPersonServiceImpl.java | 41 +-- .../org/dspace/eperson/GroupServiceImpl.java | 57 ++-- .../dspace/eperson/service/GroupService.java | 21 +- .../src/main/java/org/dspace/event/Event.java | 9 +- .../org/dspace/handle/UpdateHandlePrefix.java | 2 +- .../org/dspace/harvest/HarvestScheduler.java | 2 +- .../org/dspace/harvest/HarvestThread.java | 2 +- .../java/org/dspace/health/ItemCheck.java | 2 +- .../java/org/dspace/health/UserCheck.java | 4 +- .../identifier/EZIDIdentifierProvider.java | 2 +- .../dspace/identifier/doi/DOIOrganiser.java | 2 +- .../canvasdimension/CanvasDimensionCLI.java | 2 +- .../IIIFCanvasDimensionServiceImpl.java | 2 +- .../org/dspace/license/LicenseCleanup.java | 2 +- .../orcid/consumer/OrcidQueueConsumer.java | 2 +- .../factory/impl/OrcidFundingFactory.java | 3 +- .../dspace/orcid/script/OrcidBulkPush.java | 5 +- .../service/impl/OrcidQueueServiceImpl.java | 2 +- .../profile/ResearcherProfileServiceImpl.java | 17 +- .../main/java/org/dspace/rdf/RDFConsumer.java | 11 +- .../src/main/java/org/dspace/rdf/RDFizer.java | 6 +- .../SimpleDSORelationsConverterPlugin.java | 6 +- .../rdf/storage/HandleURIGenerator.java | 2 +- .../dspace/rdf/storage/LocalURIGenerator.java | 2 +- .../dspace/scripts/ProcessServiceImpl.java | 2 +- .../main/java/org/dspace/search/Harvest.java | 2 +- .../statistics/SolrLoggerServiceImpl.java | 9 +- .../statistics/StatisticsLoggingConsumer.java | 30 +- .../content/StatisticsDataVisits.java | 20 +- .../processor/ExportEventProcessor.java | 2 +- .../statistics/util/StatisticsImporter.java | 10 +- .../bitstore/BitstreamStorageServiceImpl.java | 7 +- .../storage/rdbms/SiteServiceInitializer.java | 6 +- .../submit/model/AccessConditionOption.java | 2 +- .../SubscriptionEmailNotification.java | 3 +- .../util/SolrUpgradePre6xStatistics.java | 24 +- .../DefaultItemVersionProvider.java | 3 +- .../dspace/versioning/VersioningConsumer.java | 4 +- .../java/org/dspace/xmlworkflow/Role.java | 2 +- .../org/dspace/xmlworkflow/WorkflowUtils.java | 2 +- .../xmlworkflow/XmlWorkflowFactoryImpl.java | 2 +- .../migration/RestartWorkflow.java | 4 +- .../SelectReviewerAction.java | 8 +- .../AbstractIntegrationTestWithDatabase.java | 2 +- .../status/DefaultAccessStatusHelperTest.java | 10 +- .../dspace/administer/StructBuilderIT.java | 6 +- .../BulkAccessControlIT.java | 16 +- .../app/bulkedit/MetadataDeletionIT.java | 42 +-- .../dspace/app/bulkedit/MetadataImportIT.java | 16 +- .../app/csv/CSVMetadataImportReferenceIT.java | 11 +- .../app/itemexport/ItemExportCLIIT.java | 4 +- .../app/itemimport/ItemImportCLIIT.java | 18 +- .../org/dspace/app/packager/PackagerIT.java | 29 +- .../submit/SHERPASubmitServiceTest.java | 2 +- .../dspace/app/util/GoogleMetadataTest.java | 2 +- .../org/dspace/builder/AbstractBuilder.java | 2 +- .../builder/AbstractDSpaceObjectBuilder.java | 4 +- .../org/dspace/builder/BundleBuilder.java | 2 +- .../org/dspace/builder/CollectionBuilder.java | 8 +- .../org/dspace/builder/CommunityBuilder.java | 2 +- .../org/dspace/builder/EPersonBuilder.java | 2 +- .../java/org/dspace/builder/GroupBuilder.java | 2 +- .../java/org/dspace/builder/ItemBuilder.java | 2 +- .../dspace/builder/MetadataFieldBuilder.java | 4 +- .../dspace/builder/MetadataSchemaBuilder.java | 2 +- .../content/AbstractDSpaceObjectTest.java | 16 +- .../org/dspace/content/BitstreamTest.java | 6 +- .../java/org/dspace/content/BundleTest.java | 14 +- .../org/dspace/content/CollectionTest.java | 14 +- .../org/dspace/content/CommunityTest.java | 24 +- .../dspace/content/EntityServiceImplTest.java | 5 +- .../dspace/content/ITCommunityCollection.java | 20 +- .../java/org/dspace/content/ITMetadata.java | 8 +- .../dspace/content/ItemComparatorTest.java | 27 +- .../java/org/dspace/content/ItemTest.java | 53 ++-- .../content/MetadataFieldPerformanceTest.java | 2 +- .../org/dspace/content/MetadataFieldTest.java | 35 ++- .../dspace/content/MetadataSchemaTest.java | 11 +- .../org/dspace/content/MetadataValueTest.java | 30 +- .../content/RelationshipServiceImplTest.java | 27 +- ...RelationshipServiceImplVersioningTest.java | 262 +++++++++++------ .../java/org/dspace/content/SiteTest.java | 4 +- .../org/dspace/content/VersioningTest.java | 4 +- .../VersioningWithRelationshipsTest.java | 277 +++++++++--------- .../org/dspace/content/WorkspaceItemTest.java | 2 +- .../content/dao/RelationshipDAOImplTest.java | 10 +- .../content/logic/LogicalFilterTest.java | 35 ++- .../dspace/content/packager/ITDSpaceAIP.java | 8 +- .../content/service/ItemServiceTest.java | 8 +- .../service/MetadataFieldServiceTest.java | 36 +-- .../dspace/content/virtual/RelatedTest.java | 4 +- .../java/org/dspace/core/ContextTest.java | 2 +- .../org/dspace/curate/CuratorReportTest.java | 2 +- .../java/org/dspace/curate/CuratorTest.java | 2 +- .../dspace/eperson/EPersonInWorkflowIT.java | 2 +- .../java/org/dspace/eperson/EPersonTest.java | 10 +- .../dspace/eperson/GroupServiceImplTest.java | 6 +- .../java/org/dspace/eperson/GroupTest.java | 10 +- .../handle/dao/impl/HandleDAOImplTest.java | 9 +- .../xmlworkflow/XmlWorkflowServiceIT.java | 2 +- .../dspace/app/iiif/IIIFServiceFacade.java | 4 +- .../iiif/service/AnnotationListService.java | 2 +- .../main/java/org/dspace/xoai/app/XOAI.java | 19 +- .../impl/DSpaceCollectionsService.java | 2 +- .../services/impl/DSpaceFieldResolver.java | 3 +- .../impl/xoai/DSpaceSetRepository.java | 14 +- .../org/dspace/rest/BitstreamResource.java | 12 +- .../org/dspace/rest/CollectionsResource.java | 16 +- .../org/dspace/rest/CommunitiesResource.java | 12 +- .../rest/FilteredCollectionsResource.java | 10 +- .../dspace/rest/FilteredItemsResource.java | 19 +- .../org/dspace/rest/HierarchyResource.java | 14 +- .../java/org/dspace/rest/ItemsResource.java | 24 +- .../dspace/rest/MetadataRegistryResource.java | 54 ++-- .../main/java/org/dspace/rest/Resource.java | 11 +- .../org/dspace/rest/common/Collection.java | 2 +- .../rest/common/FilteredCollection.java | 16 +- .../dspace/rest/common/MetadataSchema.java | 9 +- .../app/rest/BitstreamBundleController.java | 2 +- .../app/rest/BitstreamRestController.java | 6 +- .../rest/BundleUploadBitstreamController.java | 2 +- .../rest/CollectionGroupRestController.java | 22 +- .../CollectionHarvestSettingsController.java | 4 +- .../CollectionItemTemplateController.java | 2 +- .../app/rest/CollectionLogoController.java | 2 +- .../CommunityAdminGroupRestController.java | 4 +- .../app/rest/CommunityLogoController.java | 2 +- .../dspace/app/rest/GroupRestController.java | 16 +- .../app/rest/ItemAddBundleController.java | 2 +- ...mOwningCollectionUpdateRestController.java | 2 +- .../app/rest/ItemTemplateRestController.java | 2 +- .../rest/MappedCollectionRestController.java | 6 +- .../authorization/AuthorizationRestUtil.java | 12 +- .../impl/CanClaimItemFeature.java | 2 +- .../impl/CanCreateVersionFeature.java | 5 +- .../impl/CanManageMappingsFeature.java | 3 +- .../impl/CanManageVersionsFeature.java | 5 +- .../impl/CanSynchronizeWithORCID.java | 2 +- .../impl/ManageGroupFeature.java | 2 +- .../impl/RequestCopyFeature.java | 4 +- ...onResourceWorkflowGroupHalLinkFactory.java | 3 +- .../impl/ResearcherProfileAutomaticClaim.java | 10 +- .../AuthorizationRestRepository.java | 6 +- .../BitstreamBundleLinkRepository.java | 2 +- .../BitstreamFormatLinkRepository.java | 2 +- .../repository/BitstreamRestRepository.java | 6 +- .../BitstreamThumbnailLinkRepository.java | 2 +- .../BundleBitstreamLinkRepository.java | 2 +- .../repository/BundleItemLinkRepository.java | 2 +- .../BundlePrimaryBitstreamLinkRepository.java | 4 +- .../rest/repository/BundleRestRepository.java | 7 +- .../repository/ClaimedTaskRestRepository.java | 6 +- .../CollectionAdminGroupLinkRepository.java | 2 +- ...ctionBitstreamReadGroupLinkRepository.java | 2 +- ...CollectionItemReadGroupLinkRepository.java | 2 +- .../CollectionLicenseLinkRepository.java | 2 +- .../CollectionLogoLinkRepository.java | 2 +- .../CollectionMappedItemLinkRepository.java | 4 +- ...llectionParentCommunityLinkRepository.java | 2 +- .../repository/CollectionRestRepository.java | 24 +- ...ollectionSubmitterGroupLinkRepository.java | 2 +- .../CommunityAdminGroupLinkRepository.java | 2 +- .../CommunityCollectionLinkRepository.java | 2 +- .../CommunityLogoLinkRepository.java | 2 +- ...ommunityParentCommunityLinkRepository.java | 2 +- .../repository/CommunityRestRepository.java | 16 +- .../CommunitySubcommunityLinkRepository.java | 4 +- .../DSpaceObjectRestRepository.java | 4 +- .../EPersonGroupLinkRepository.java | 2 +- .../repository/EPersonRestRepository.java | 4 +- .../GroupEPersonLinkRepository.java | 2 +- .../repository/GroupGroupLinkRepository.java | 2 +- .../GroupParentObjectLinkRepository.java | 2 +- .../rest/repository/GroupRestRepository.java | 6 +- .../repository/IdentifierRestRepository.java | 2 +- .../ItemAccessStatusLinkRepository.java | 2 +- .../repository/ItemBundleLinkRepository.java | 2 +- .../ItemIdentifierLinkRepository.java | 2 +- .../ItemMappedCollectionLinkRepository.java | 2 +- .../ItemOwningCollectionLinkRepository.java | 2 +- .../ItemRelationshipLinkRepository.java | 4 +- .../rest/repository/ItemRestRepository.java | 22 +- .../ItemTemplateItemOfLinkRepository.java | 2 +- .../ItemThumbnailLinkRepository.java | 2 +- .../repository/ItemVersionLinkRepository.java | 2 +- .../MetadataFieldRestRepository.java | 19 +- .../MetadataSchemaRestRepository.java | 6 +- .../repository/PoolTaskRestRepository.java | 6 +- .../repository/ProcessRestRepository.java | 2 +- .../RelationshipRestRepository.java | 27 +- .../repository/RequestItemRepository.java | 4 +- ...esearcherProfileEPersonLinkRepository.java | 2 +- .../ResearcherProfileRestRepository.java | 4 +- .../ResourcePolicyRestRepository.java | 8 +- .../rest/repository/SiteRestRepository.java | 4 +- .../SubmissionDefinitionRestRepository.java | 7 +- .../SubscriptionRestRepository.java | 6 +- .../SupervisionOrderRestRepository.java | 6 +- .../TemplateItemRestRepository.java | 2 +- .../repository/ViewEventRestRepository.java | 2 +- .../repository/VocabularyRestRepository.java | 6 +- .../WorkflowDefinitionRestRepository.java | 2 +- .../WorkflowItemRestRepository.java | 4 +- .../WorkspaceItemRestRepository.java | 8 +- ...ExternalSourceEntryItemUriListHandler.java | 9 +- .../ExternalSourceItemUriListHandler.java | 8 +- .../operation/BitstreamRemoveOperation.java | 3 +- .../DSpaceObjectMetadataPatchUtils.java | 6 +- .../impl/RestDSpaceRunnableHandler.java | 2 +- ...orizeServicePermissionEvaluatorPlugin.java | 2 +- ...orOfAInprogressSubmissionInformations.java | 8 +- .../GroupRestPermissionEvaluatorPlugin.java | 2 +- ...ueSearchRestPermissionEvaluatorPlugin.java | 2 +- .../StatelessAuthenticationFilter.java | 15 +- ...lateItemRestPermissionEvaluatorPlugin.java | 2 +- .../security/jwt/EPersonClaimProvider.java | 5 +- .../controller/LinksetRestController.java | 8 +- .../processor/item/ItemAuthorProcessor.java | 2 +- .../app/rest/submit/SubmissionService.java | 16 +- .../impl/CollectionReplacePatchOperation.java | 2 +- .../app/rest/utils/BitstreamResource.java | 22 +- .../app/rest/utils/DSpaceObjectUtils.java | 4 +- .../dspace/app/rest/utils/ScopeResolver.java | 4 +- .../java/org/dspace/app/rest/utils/Utils.java | 3 +- .../BulkAccessControlScriptIT.java | 2 +- .../dspace/app/itemexport/ItemExportIT.java | 4 +- .../dspace/app/itemimport/ItemImportIT.java | 17 +- .../test/java/org/dspace/app/rdf/RdfIT.java | 3 +- .../rest/AuthorizationFeatureServiceIT.java | 2 +- .../rest/AuthorizationRestRepositoryIT.java | 78 ++--- .../app/rest/BitstreamControllerIT.java | 6 +- .../app/rest/BitstreamRestRepositoryIT.java | 2 +- .../rest/CollectionGroupRestControllerIT.java | 72 ++--- .../app/rest/CollectionRestRepositoryIT.java | 32 +- .../CommunityAdminGroupRestControllerIT.java | 6 +- .../app/rest/CommunityRestRepositoryIT.java | 26 +- .../app/rest/DiscoveryVersioningIT.java | 54 ++-- .../app/rest/EPersonRestRepositoryIT.java | 29 +- .../app/rest/GroupRestRepositoryIT.java | 12 +- .../dspace/app/rest/InitializeEntitiesIT.java | 2 +- .../org/dspace/app/rest/LoginAsEPersonIT.java | 2 +- .../rest/MetadatafieldRestRepositoryIT.java | 51 ++-- .../OidcAuthenticationRestControllerIT.java | 6 +- .../dspace/app/rest/OrcidLoginFilterIT.java | 4 +- .../RelationshipDeleteRestRepositoryIT.java | 74 ++--- .../rest/RelationshipRestRepositoryIT.java | 42 +-- .../ResearcherProfileRestRepositoryIT.java | 10 +- .../rest/ResourcePolicyRestRepositoryIT.java | 129 ++++---- .../rest/WorkspaceItemRestRepositoryIT.java | 31 +- .../authorization/AdministratorFeatureIT.java | 6 +- .../authorization/CanCreateCollectionsIT.java | 6 +- .../authorization/CanCreateCommunitiesIT.java | 6 +- .../CanSendFeedbackFeatureIT.java | 6 +- .../CollectionAdminFeatureIT.java | 58 ++-- .../authorization/ComColAdminFeatureIT.java | 58 ++-- .../CommunityAdminFeatureIT.java | 58 ++-- .../EPersonRegistrationFeatureIT.java | 6 +- .../rest/authorization/EditItemFeatureIT.java | 2 +- .../authorization/EnrollAdministratorIT.java | 8 +- .../GenericAuthorizationFeatureIT.java | 6 +- .../LoginOnBehalfOfFeatureRestIT.java | 8 +- .../authorization/ManageGroupFeatureIT.java | 4 +- .../authorization/ManageGroupsFeatureIT.java | 208 ++++++------- .../rest/authorization/SubmitFeatureIT.java | 2 +- .../TrueForUsersInGroupTestFeature.java | 2 +- .../ViewSearchStatisticsFeatureIT.java | 2 +- .../ViewUsageStatisticsFeatureIT.java | 2 +- .../ViewWorkflowStatisticsFeatureIT.java | 2 +- .../org/dspace/app/rest/csv/CsvImportIT.java | 20 +- .../eperson/DeleteEPersonSubmitterIT.java | 8 +- .../org/dspace/curate/CurationScriptIT.java | 2 +- .../org/dspace/sword/SWORDAuthenticator.java | 4 +- .../org/dspace/sword/SWORDUrlManager.java | 6 +- .../sword2/CollectionListManagerDSpace.java | 2 +- .../sword2/MediaResourceManagerDSpace.java | 14 +- .../org/dspace/sword2/SwordAuthenticator.java | 8 +- .../org/dspace/sword2/SwordUrlManager.java | 8 +- 374 files changed, 2576 insertions(+), 2280 deletions(-) diff --git a/dspace-api/src/main/java/org/dspace/administer/CommunityFiliator.java b/dspace-api/src/main/java/org/dspace/administer/CommunityFiliator.java index aae7711fc7d5..f4a4ebdb6ac0 100644 --- a/dspace-api/src/main/java/org/dspace/administer/CommunityFiliator.java +++ b/dspace-api/src/main/java/org/dspace/administer/CommunityFiliator.java @@ -248,7 +248,7 @@ protected Community resolveCommunity(Context c, String communityID) community = null; } } else { - community = communityService.find(c, UUID.fromString(communityID)); + community = communityService.find(c.getSession(), UUID.fromString(communityID)); } return community; diff --git a/dspace-api/src/main/java/org/dspace/administer/CreateAdministrator.java b/dspace-api/src/main/java/org/dspace/administer/CreateAdministrator.java index 81250e9c8259..a80f1f6f35d5 100644 --- a/dspace-api/src/main/java/org/dspace/administer/CreateAdministrator.java +++ b/dspace-api/src/main/java/org/dspace/administer/CreateAdministrator.java @@ -254,7 +254,7 @@ protected void createAdministrator(String email, String first, String last, context.turnOffAuthorisationSystem(); // Find administrator group - Group admins = groupService.findByName(context, Group.ADMIN); + Group admins = groupService.findByName(context.getSession(), Group.ADMIN); if (admins == null) { throw new IllegalStateException("Error, no admin group (group 1) found"); diff --git a/dspace-api/src/main/java/org/dspace/administer/MetadataExporter.java b/dspace-api/src/main/java/org/dspace/administer/MetadataExporter.java index 3515aa2f5747..140f86e843ad 100644 --- a/dspace-api/src/main/java/org/dspace/administer/MetadataExporter.java +++ b/dspace-api/src/main/java/org/dspace/administer/MetadataExporter.java @@ -133,16 +133,16 @@ public static void saveRegistry(String file, String schema) // If a single schema has been specified if (schema != null && !"".equals(schema)) { // Get the id of that schema - MetadataSchema mdSchema = metadataSchemaService.find(context, schema); + MetadataSchema mdSchema = metadataSchemaService.find(context.getSession(), schema); if (mdSchema == null) { throw new RegistryExportException("no schema to export"); } // Get the metadata fields only for the specified schema - mdFields = metadataFieldService.findAllInSchema(context, mdSchema); + mdFields = metadataFieldService.findAllInSchema(context.getSession(), mdSchema); } else { // Get the metadata fields for all the schemas - mdFields = metadataFieldService.findAll(context); + mdFields = metadataFieldService.findAll(context.getSession()); } // Compose the metadata fields @@ -181,7 +181,7 @@ public static void saveSchema(Context context, Document document, String schema) throws SQLException, RegistryExportException { if (schema != null && !"".equals(schema)) { // Find a single named schema - MetadataSchema mdSchema = metadataSchemaService.find(context, schema); + MetadataSchema mdSchema = metadataSchemaService.find(context.getSession(), schema); saveSchema(document, mdSchema); } else { @@ -300,7 +300,7 @@ private static void saveType(Context context, Document document, MetadataField m } } - static Map schemaMap = new HashMap(); + static Map schemaMap = new HashMap<>(); /** * Helper method to retrieve a schema name for the field. @@ -319,7 +319,8 @@ private static String getSchemaName(Context context, MetadataField mdField) if (name == null) { // Name not retrieved before, so get the schema now - MetadataSchema mdSchema = metadataSchemaService.find(context, mdField.getMetadataSchema().getID()); + MetadataSchema mdSchema = metadataSchemaService.find(context.getSession(), + mdField.getMetadataSchema().getID()); if (mdSchema != null) { name = mdSchema.getName(); schemaMap.put(mdSchema.getID(), name); diff --git a/dspace-api/src/main/java/org/dspace/administer/MetadataImporter.java b/dspace-api/src/main/java/org/dspace/administer/MetadataImporter.java index 2677cb20501f..1ec1b93a2470 100644 --- a/dspace-api/src/main/java/org/dspace/administer/MetadataImporter.java +++ b/dspace-api/src/main/java/org/dspace/administer/MetadataImporter.java @@ -199,7 +199,7 @@ private static void loadSchema(Context context, Node node, boolean updateExistin } // check to see if the schema already exists - MetadataSchema s = metadataSchemaService.find(context, name); + MetadataSchema s = metadataSchemaService.find(context.getSession(), name); if (s == null) { // Schema does not exist - create @@ -257,13 +257,13 @@ private static void loadType(Context context, Node node) // Find the matching schema object - MetadataSchema schemaObj = metadataSchemaService.find(context, schema); + MetadataSchema schemaObj = metadataSchemaService.find(context.getSession(), schema); if (schemaObj == null) { throw new RegistryImportException("Schema '" + schema + "' is not registered and does not exist."); } - MetadataField mf = metadataFieldService.findByElement(context, schemaObj, element, qualifier); + MetadataField mf = metadataFieldService.findByElement(context.getSession(), schemaObj, element, qualifier); if (mf != null) { // Metadata field already exists, skipping it return; diff --git a/dspace-api/src/main/java/org/dspace/administer/StructBuilder.java b/dspace-api/src/main/java/org/dspace/administer/StructBuilder.java index 13a1b3b5bbf8..993ca3d35120 100644 --- a/dspace-api/src/main/java/org/dspace/administer/StructBuilder.java +++ b/dspace-api/src/main/java/org/dspace/administer/StructBuilder.java @@ -434,7 +434,7 @@ static void exportStructure(Context context, OutputStream output) { List communities = null; try { - communities = communityService.findAllTop(context); + communities = communityService.findAllTop(context.getSession()); } catch (SQLException ex) { System.out.printf("Unable to get the list of top-level communities: %s%n", ex.getMessage()); diff --git a/dspace-api/src/main/java/org/dspace/app/bulkaccesscontrol/BulkAccessControl.java b/dspace-api/src/main/java/org/dspace/app/bulkaccesscontrol/BulkAccessControl.java index 50e1022dbe37..32a5566c44a9 100644 --- a/dspace-api/src/main/java/org/dspace/app/bulkaccesscontrol/BulkAccessControl.java +++ b/dspace-api/src/main/java/org/dspace/app/bulkaccesscontrol/BulkAccessControl.java @@ -613,7 +613,7 @@ private void createResourcePolicy(DSpaceObject obj, AccessCondition accessCondit * @throws SQLException if database error */ protected void setEPerson(Context context) throws SQLException { - EPerson myEPerson = epersonService.find(context, this.getEpersonIdentifier()); + EPerson myEPerson = epersonService.find(context.getSession(), this.getEpersonIdentifier()); if (myEPerson == null) { handler.logError("EPerson cannot be found: " + this.getEpersonIdentifier()); diff --git a/dspace-api/src/main/java/org/dspace/app/bulkaccesscontrol/BulkAccessControlCli.java b/dspace-api/src/main/java/org/dspace/app/bulkaccesscontrol/BulkAccessControlCli.java index 4e8cfe480eeb..d6fc3a3f2937 100644 --- a/dspace-api/src/main/java/org/dspace/app/bulkaccesscontrol/BulkAccessControlCli.java +++ b/dspace-api/src/main/java/org/dspace/app/bulkaccesscontrol/BulkAccessControlCli.java @@ -39,7 +39,7 @@ protected void setEPerson(Context context) throws SQLException { if (StringUtils.contains(eperson, '@')) { myEPerson = epersonService.findByEmail(context, eperson); } else { - myEPerson = epersonService.find(context, UUID.fromString(eperson)); + myEPerson = epersonService.find(context.getSession(), UUID.fromString(eperson)); } if (myEPerson == null) { diff --git a/dspace-api/src/main/java/org/dspace/app/bulkedit/DSpaceCSV.java b/dspace-api/src/main/java/org/dspace/app/bulkedit/DSpaceCSV.java index cbc052b5573f..941a94175d20 100644 --- a/dspace-api/src/main/java/org/dspace/app/bulkedit/DSpaceCSV.java +++ b/dspace-api/src/main/java/org/dspace/app/bulkedit/DSpaceCSV.java @@ -204,7 +204,7 @@ public DSpaceCSV(InputStream inputStream, Context c) throws Exception { // Check that the scheme exists if (!StringUtils.equals(metadataSchema, MetadataSchemaEnum.RELATION.getName())) { - MetadataSchema foundSchema = metadataSchemaService.find(c, metadataSchema); + MetadataSchema foundSchema = metadataSchemaService.find(c.getSession(), metadataSchema); if (foundSchema == null) { throw new MetadataImportInvalidHeadingException(clean[0], MetadataImportInvalidHeadingException @@ -214,7 +214,7 @@ public DSpaceCSV(InputStream inputStream, Context c) throws Exception { // Check that the metadata element exists in the schema MetadataField foundField = metadataFieldService - .findByElement(c, foundSchema, metadataElement, metadataQualifier); + .findByElement(c.getSession(), foundSchema, metadataElement, metadataQualifier); if (foundField == null) { throw new MetadataImportInvalidHeadingException(clean[0], MetadataImportInvalidHeadingException diff --git a/dspace-api/src/main/java/org/dspace/app/bulkedit/MetadataDeletion.java b/dspace-api/src/main/java/org/dspace/app/bulkedit/MetadataDeletion.java index 2a77306a5498..40ab72df9fc8 100644 --- a/dspace-api/src/main/java/org/dspace/app/bulkedit/MetadataDeletion.java +++ b/dspace-api/src/main/java/org/dspace/app/bulkedit/MetadataDeletion.java @@ -71,7 +71,7 @@ private void listErasableMetadata() { private void performMetadataValuesDeletion(Context context) throws SQLException { - MetadataField field = metadataFieldService.findByString(context, metadataField, '.'); + MetadataField field = metadataFieldService.findByString(context.getSession(), metadataField, '.'); if (field == null) { throw new IllegalArgumentException("No metadata field found with name " + metadataField); } diff --git a/dspace-api/src/main/java/org/dspace/app/bulkedit/MetadataExport.java b/dspace-api/src/main/java/org/dspace/app/bulkedit/MetadataExport.java index 739e7a648e61..6156bba6235f 100644 --- a/dspace-api/src/main/java/org/dspace/app/bulkedit/MetadataExport.java +++ b/dspace-api/src/main/java/org/dspace/app/bulkedit/MetadataExport.java @@ -57,7 +57,7 @@ public void internalRun() throws Exception { Context context = new Context(); context.turnOffAuthorisationSystem(); try { - context.setCurrentUser(ePersonService.find(context, this.getEpersonIdentifier())); + context.setCurrentUser(ePersonService.find(context.getSession(), this.getEpersonIdentifier())); } catch (SQLException e) { handler.handleException(e); } @@ -108,7 +108,7 @@ protected String getFileNameForExportFile() throws ParseException { dso = dSpaceObjectUtils.findDSpaceObject(context, UUID.fromString(identifier)); } } else { - dso = ContentServiceFactory.getInstance().getSiteService().findSite(context); + dso = ContentServiceFactory.getInstance().getSiteService().findSite(context.getSession()); } if (dso == null) { throw new ParseException("An identifier was given that wasn't able to be parsed to a DSpaceObject"); diff --git a/dspace-api/src/main/java/org/dspace/app/bulkedit/MetadataExportSearch.java b/dspace-api/src/main/java/org/dspace/app/bulkedit/MetadataExportSearch.java index 027ad116a7e2..6b9251638cdd 100644 --- a/dspace-api/src/main/java/org/dspace/app/bulkedit/MetadataExportSearch.java +++ b/dspace-api/src/main/java/org/dspace/app/bulkedit/MetadataExportSearch.java @@ -113,7 +113,7 @@ public void internalRun() throws Exception { IndexableObject dso = null; Context context = new Context(); - context.setCurrentUser(ePersonService.find(context, this.getEpersonIdentifier())); + context.setCurrentUser(ePersonService.find(context.getSession(), this.getEpersonIdentifier())); if (hasScope) { dso = resolveScope(context, identifier); @@ -161,9 +161,9 @@ protected String getFileNameOrExportFile() { public IndexableObject resolveScope(Context context, String id) throws SQLException { UUID uuid = UUID.fromString(id); - IndexableObject scopeObj = new IndexableCommunity(communityService.find(context, uuid)); + IndexableObject scopeObj = new IndexableCommunity(communityService.find(context.getSession(), uuid)); if (scopeObj.getIndexedObject() == null) { - scopeObj = new IndexableCollection(collectionService.find(context, uuid)); + scopeObj = new IndexableCollection(collectionService.find(context.getSession(), uuid)); } return scopeObj; } diff --git a/dspace-api/src/main/java/org/dspace/app/bulkedit/MetadataImport.java b/dspace-api/src/main/java/org/dspace/app/bulkedit/MetadataImport.java index 4161bbb4d817..472f23aec412 100644 --- a/dspace-api/src/main/java/org/dspace/app/bulkedit/MetadataImport.java +++ b/dspace-api/src/main/java/org/dspace/app/bulkedit/MetadataImport.java @@ -268,7 +268,9 @@ protected void assignCurrentUserInContext(Context context) throws ParseException UUID uuid = getEpersonIdentifier(); if (uuid != null) { try { - EPerson ePerson = EPersonServiceFactory.getInstance().getEPersonService().find(context, uuid); + EPerson ePerson = EPersonServiceFactory.getInstance() + .getEPersonService() + .find(context.getSession(), uuid); context.setCurrentUser(ePerson); } catch (SQLException e) { log.error("Something went wrong trying to fetch the eperson for uuid: " + uuid, e); @@ -294,7 +296,7 @@ public MetadataImportScriptConfiguration getScriptConfiguration() { MetadataImportScriptConfiguration.class); } - + @Override public void setup() throws ParseException { useTemplate = false; filename = null; @@ -337,6 +339,7 @@ public void setup() throws ParseException { * Run an import. The import can either be read-only to detect changes, or * can write changes as it goes. * + * @param c current DSpace session. * @param change Whether or not to write the changes to the database * @param useWorkflow Whether the workflows should be used when creating new items * @param workflowNotify If the workflows should be used, whether to send notifications or not @@ -377,7 +380,7 @@ public List runImport(Context c, boolean change, // Is this an existing item? if (id != null) { // Get the item - item = itemService.find(c, id); + item = itemService.find(c.getSession(), id); if (item == null) { throw new MetadataImportException("Unknown item ID " + id); } @@ -389,7 +392,7 @@ public List runImport(Context c, boolean change, List collections = line.get("collection"); if (collections != null) { // Sanity check we're not orphaning it - if (collections.size() == 0) { + if (collections.isEmpty()) { throw new MetadataImportException("Missing collection from item " + item.getHandle()); } List actualCollections = item.getCollections(); @@ -813,7 +816,7 @@ protected void compareAndUpdate(Context c, Item item, String[] fromCSV, boolean .findByLeftwardOrRightwardTypeName(c, element); for (RelationshipType relationshipType : relationshipTypeList) { for (Relationship relationship : relationshipService - .findByItemAndRelationshipType(c, item, relationshipType)) { + .findByItemAndRelationshipType(c.getSession(), item, relationshipType)) { relationshipService.delete(c, relationship); relationshipService.update(c, relationship); } @@ -860,7 +863,7 @@ private Entity getEntity(Context context, String targetReference) throws Metadat UUID uuid = resolveEntityRef(context, targetReference); // At this point, we have a uuid, so we can get an entity try { - entity = entityService.findByItemId(context, uuid); + entity = entityService.findByItemId(context.getSession(), uuid); if (entity.getItem() == null) { throw new IllegalArgumentException("No item found in repository with uuid: " + uuid); } @@ -1384,9 +1387,11 @@ private void setAuthorizedMetadataFields() { } /** - * Gets a copy of the given csv line with all entity target references resolved to UUID strings. - * Keys being iterated over represent metadatafields or special columns to be processed. + * Gets a copy of the given csv line with all entity target references + * resolved to UUID strings. Keys being iterated over represent metadata + * fields or special columns to be processed. * + * @param c current DSpace session. * @param line the csv line to process. * @return a copy, with all references resolved. * @throws MetadataImportException if there is an error resolving any entity target reference. @@ -1397,7 +1402,7 @@ public DSpaceCSVLine resolveEntityRefs(Context c, DSpaceCSVLine line) throws Met for (String key : line.keys()) { // If a key represents a relation field attempt to resolve the target reference from the csvRefMap if (key.split("\\.")[0].equalsIgnoreCase("relation")) { - if (line.get(key).size() > 0) { + if (!line.get(key).isEmpty()) { for (String val : line.get(key)) { // Attempt to resolve the relation target reference // These can be a UUID, metadata target reference or rowName target reference @@ -1411,7 +1416,7 @@ public DSpaceCSVLine resolveEntityRefs(Context c, DSpaceCSVLine line) throws Met newLine.add(key, null); } } else { - if (line.get(key).size() > 0) { + if (!line.get(key).isEmpty()) { for (String value : line.get(key)) { newLine.add(key, value); } @@ -1425,8 +1430,8 @@ public DSpaceCSVLine resolveEntityRefs(Context c, DSpaceCSVLine line) throws Met } /** - * Populate the entityRelationMap with all target references and it's asscoiated typeNames - * to their respective origins + * Populate the entityRelationMap with all target references and it's associated typeNames + * to their respective origins. * * @param refUUID the target reference UUID for the relation * @param relationField the field of the typeNames to relate from @@ -1488,7 +1493,7 @@ private void populateRefAndRowMap(DSpaceCSVLine line, @Nullable UUID uuid) { } } //Populate entityTypeMap - if (key.equalsIgnoreCase("dspace.entity.type") && line.get(key).size() > 0) { + if (key.equalsIgnoreCase("dspace.entity.type") && !line.get(key).isEmpty()) { if (uuid == null) { entityTypeMap.put(new UUID(0, rowCount), line.get(key).get(0)); } else { @@ -1540,8 +1545,10 @@ private UUID resolveEntityRef(Context context, String reference) throws Metadata String element = mf[1]; String qualifier = mf.length == 2 ? null : mf[2]; try { - MetadataField mfo = metadataFieldService.findByElement(context, schema, element, qualifier); - Iterator mdv = metadataValueService.findByFieldAndValue(context, mfo, mfValue); + MetadataField mfo + = metadataFieldService.findByElement(context.getSession(), schema, element, qualifier); + Iterator mdv + = metadataValueService.findByFieldAndValue(context.getSession(), mfo, mfValue); if (mdv.hasNext()) { MetadataValue mdvVal = mdv.next(); uuid = mdvVal.getDSpaceObject().getID(); @@ -1649,13 +1656,13 @@ private void validateExpressedRelations(Context c) throws MetadataImportExceptio // Target item may be archived; check there. // Add to errors if Realtionship.type cannot be derived Item targetItem = null; - if (itemService.find(c, UUID.fromString(targetUUID)) != null) { - targetItem = itemService.find(c, UUID.fromString(targetUUID)); + if (itemService.find(c.getSession(), UUID.fromString(targetUUID)) != null) { + targetItem = itemService.find(c.getSession(), UUID.fromString(targetUUID)); List relTypes = itemService. getMetadata(targetItem, "dspace", "entity", "type", Item.ANY); String relTypeValue = null; - if (relTypes.size() > 0) { + if (!relTypes.isEmpty()) { relTypeValue = relTypes.get(0).getValue(); targetType = entityTypeService.findByEntityType(c, relTypeValue).getLabel(); } else { @@ -1694,7 +1701,7 @@ private void validateExpressedRelations(Context c) throws MetadataImportExceptio // Origin item may be archived; check there. // Add to errors if Realtionship.type cannot be derived. Item originItem = null; - if (itemService.find(c, UUID.fromString(targetUUID)) != null) { + if (itemService.find(c.getSession(), UUID.fromString(targetUUID)) != null) { DSpaceCSVLine dSpaceCSVLine = this.csv.getCSVLines() .get(Integer.valueOf(originRow) - 1); List relTypes = dSpaceCSVLine.get("dspace.entity.type"); @@ -1702,13 +1709,13 @@ private void validateExpressedRelations(Context c) throws MetadataImportExceptio dSpaceCSVLine.get("dspace.entity.type[]"); } - if (relTypes != null && relTypes.size() > 0) { + if (relTypes != null && !relTypes.isEmpty()) { String relTypeValue = relTypes.get(0); relTypeValue = StringUtils.remove(relTypeValue, "\"").trim(); originType = entityTypeService.findByEntityType(c, relTypeValue).getLabel(); validateTypesByTypeByTypeName(c, targetType, originType, typeName, originRow); } else { - originItem = itemService.find(c, UUID.fromString(originRefererUUID)); + originItem = itemService.find(c.getSession(), UUID.fromString(originRefererUUID)); if (originItem != null) { List mdv = itemService.getMetadata(originItem, "dspace", diff --git a/dspace-api/src/main/java/org/dspace/app/bulkedit/MetadataImportCLI.java b/dspace-api/src/main/java/org/dspace/app/bulkedit/MetadataImportCLI.java index c319c26971b6..f6f7f7bb2c37 100644 --- a/dspace-api/src/main/java/org/dspace/app/bulkedit/MetadataImportCLI.java +++ b/dspace-api/src/main/java/org/dspace/app/bulkedit/MetadataImportCLI.java @@ -19,8 +19,9 @@ import org.dspace.scripts.handler.DSpaceRunnableHandler; /** - * CLI variant for the {@link MetadataImport} class - * This has been made so that we can specify the behaviour of the determineChanges method to be specific for the CLI + * CLI variant for the {@link MetadataImport} class. + * This has been made so that we can specify the behaviour of the + * determineChanges method to be specific for the CLI. */ public class MetadataImportCLI extends MetadataImport { @@ -45,7 +46,9 @@ protected void assignCurrentUserInContext(Context context) throws ParseException if (e.indexOf('@') != -1) { eperson = EPersonServiceFactory.getInstance().getEPersonService().findByEmail(context, e); } else { - eperson = EPersonServiceFactory.getInstance().getEPersonService().find(context, UUID.fromString(e)); + eperson = EPersonServiceFactory.getInstance() + .getEPersonService() + .find(context.getSession(), UUID.fromString(e)); } if (eperson == null) { diff --git a/dspace-api/src/main/java/org/dspace/app/checker/ChecksumChecker.java b/dspace-api/src/main/java/org/dspace/app/checker/ChecksumChecker.java index ec024c345263..1f8aacecd34f 100644 --- a/dspace-api/src/main/java/org/dspace/app/checker/ChecksumChecker.java +++ b/dspace-api/src/main/java/org/dspace/app/checker/ChecksumChecker.java @@ -166,7 +166,7 @@ public static void main(String[] args) throws SQLException { for (int i = 0; i < ids.length; i++) { try { - bitstreams.add(bitstreamService.find(context, UUID.fromString(ids[i]))); + bitstreams.add(bitstreamService.find(context.getSession(), UUID.fromString(ids[i]))); } catch (NumberFormatException nfe) { System.err.println("The following argument: " + ids[i] + " is not an integer"); diff --git a/dspace-api/src/main/java/org/dspace/app/harvest/Harvest.java b/dspace-api/src/main/java/org/dspace/app/harvest/Harvest.java index f2630572e362..5e3edff8a08e 100644 --- a/dspace-api/src/main/java/org/dspace/app/harvest/Harvest.java +++ b/dspace-api/src/main/java/org/dspace/app/harvest/Harvest.java @@ -58,11 +58,13 @@ public class Harvest extends DSpaceRunnable { protected Context context; + @Override public HarvestScriptConfiguration getScriptConfiguration() { return new DSpace().getServiceManager() .getServiceByName("harvest", HarvestScriptConfiguration.class); } + @Override public void setup() throws ParseException { harvestedCollectionService = HarvestServiceFactory.getInstance().getHarvestedCollectionService(); @@ -129,7 +131,7 @@ protected void assignCurrentUserInContext() throws ParseException { UUID currentUserUuid = this.getEpersonIdentifier(); try { this.context = new Context(Context.Mode.BATCH_EDIT); - EPerson eperson = ePersonService.find(context, currentUserUuid); + EPerson eperson = ePersonService.find(context.getSession(), currentUserUuid); if (eperson == null) { super.handler.logError("EPerson not found: " + currentUserUuid); throw new IllegalArgumentException("Unable to find a user with uuid: " + currentUserUuid); @@ -140,6 +142,7 @@ protected void assignCurrentUserInContext() throws ParseException { } } + @Override public void internalRun() throws Exception { if (help) { printHelp(); @@ -270,7 +273,7 @@ private Collection resolveCollection(Context context, String collectionID) { } else { // not a handle, try and treat it as an collection database UUID handler.logInfo("Looking up by UUID: " + collectionID + ", " + "in context: " + context); - targetCollection = collectionService.find(context, UUID.fromString(collectionID)); + targetCollection = collectionService.find(context.getSession(), UUID.fromString(collectionID)); } } // was the collection valid? @@ -330,7 +333,7 @@ private void purgeCollection(Context context, String collectionID) { context.turnOffAuthorisationSystem(); ItemService itemService = ContentServiceFactory.getInstance().getItemService(); - Iterator it = itemService.findByCollection(context, collection); + Iterator it = itemService.findByCollection(context.getSession(), collection); int i = 0; while (it.hasNext()) { i++; diff --git a/dspace-api/src/main/java/org/dspace/app/itemexport/ItemExport.java b/dspace-api/src/main/java/org/dspace/app/itemexport/ItemExport.java index 71fc088694d9..c761bba4e4b1 100644 --- a/dspace-api/src/main/java/org/dspace/app/itemexport/ItemExport.java +++ b/dspace-api/src/main/java/org/dspace/app/itemexport/ItemExport.java @@ -139,7 +139,7 @@ public void internalRun() throws Exception { item = null; } } else { - item = itemService.find(context, UUID.fromString(idString)); + item = itemService.find(context.getSession(), UUID.fromString(idString)); } if (item == null) { @@ -158,7 +158,7 @@ public void internalRun() throws Exception { collection = null; } } else { - collection = collectionService.find(context, UUID.fromString(idString)); + collection = collectionService.find(context.getSession(), UUID.fromString(idString)); } if (collection == null) { @@ -211,7 +211,7 @@ protected void process(Context context, ItemExportService itemExportService) thr items = myItems.iterator(); } else { handler.logInfo("Exporting from collection: " + idString); - items = itemService.findByCollection(context, collection); + items = itemService.findByCollection(context.getSession(), collection); } itemExportService.exportAsZip(context, items, destDirName, zipFileName, seqStart, migrate, excludeBitstreams); @@ -251,7 +251,7 @@ protected void setNumber() { } private void setEPerson(Context context) throws SQLException { - EPerson myEPerson = epersonService.find(context, this.getEpersonIdentifier()); + EPerson myEPerson = epersonService.find(context.getSession(), this.getEpersonIdentifier()); // check eperson if (myEPerson == null) { diff --git a/dspace-api/src/main/java/org/dspace/app/itemexport/ItemExportCLI.java b/dspace-api/src/main/java/org/dspace/app/itemexport/ItemExportCLI.java index 8e9af1e01094..3cdef33e4169 100644 --- a/dspace-api/src/main/java/org/dspace/app/itemexport/ItemExportCLI.java +++ b/dspace-api/src/main/java/org/dspace/app/itemexport/ItemExportCLI.java @@ -53,7 +53,7 @@ protected void process(Context context, ItemExportService itemExportService) thr items = myItems.iterator(); } else { handler.logInfo("Exporting from collection: " + idString); - items = itemService.findByCollection(context, collection); + items = itemService.findByCollection(context.getSession(), collection); } itemExportService.exportAsZip(context, items, destDirName, zipFileName, seqStart, migrate, excludeBitstreams); @@ -67,7 +67,7 @@ protected void process(Context context, ItemExportService itemExportService) thr handler.logInfo("Exporting from collection: " + idString); // it's a collection, so do a bunch of items - Iterator i = itemService.findByCollection(context, collection); + Iterator i = itemService.findByCollection(context.getSession(), collection); itemExportService.exportItem(context, i, destDirName, seqStart, migrate, excludeBitstreams); } } diff --git a/dspace-api/src/main/java/org/dspace/app/itemexport/ItemExportServiceImpl.java b/dspace-api/src/main/java/org/dspace/app/itemexport/ItemExportServiceImpl.java index a884f9b07564..81bda5da9970 100644 --- a/dspace-api/src/main/java/org/dspace/app/itemexport/ItemExportServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/app/itemexport/ItemExportServiceImpl.java @@ -572,7 +572,7 @@ protected void processDownloadableExport(List dsObjects, for (Collection collection : collections) { ArrayList items = new ArrayList<>(); // get all the items in each collection - Iterator iitems = itemService.findByCollection(context, collection); + Iterator iitems = itemService.findByCollection(context.getSession(), collection); try { while (iitems.hasNext()) { Item item = iitems.next(); @@ -589,7 +589,7 @@ protected void processDownloadableExport(List dsObjects, items.add(item.getID()); } } finally { - if (items.size() > 0) { + if (!items.isEmpty()) { itemsMap.put("collection_" + collection.getID(), items); } } @@ -599,7 +599,7 @@ protected void processDownloadableExport(List dsObjects, ArrayList items = new ArrayList<>(); // get all the items in the collection - Iterator iitems = itemService.findByCollection(context, collection); + Iterator iitems = itemService.findByCollection(context.getSession(), collection); try { while (iitems.hasNext()) { Item item = iitems.next(); @@ -616,7 +616,7 @@ protected void processDownloadableExport(List dsObjects, items.add(item.getID()); } } finally { - if (items.size() > 0) { + if (!items.isEmpty()) { itemsMap.put("collection_" + collection.getID(), items); } } @@ -660,7 +660,7 @@ protected void processDownloadableExport(List dsObjects, } // if we have any items to process then kick off anonymous thread - if (itemsMap.size() > 0) { + if (!itemsMap.isEmpty()) { Thread go = new Thread() { @Override public void run() { @@ -687,7 +687,7 @@ public void run() { List uuids = itemsMap.get(keyName); List items = new ArrayList<>(); for (UUID uuid : uuids) { - items.add(itemService.find(context, uuid)); + items.add(itemService.find(context.getSession(), uuid)); } iitems = items.iterator(); @@ -836,9 +836,9 @@ protected EPerson getEPersonFromString(Context context, String strID) throws SQL EPerson eperson; try { UUID ePersonId = UUID.fromString(strID); - eperson = ePersonService.find(context, ePersonId); + eperson = ePersonService.find(context.getSession(), ePersonId); } catch (Exception e) { - eperson = ePersonService.findByLegacyId(context, Integer.parseInt(strID)); + eperson = ePersonService.findByLegacyId(context.getSession(), Integer.parseInt(strID)); } return eperson; } @@ -897,7 +897,7 @@ public List getExportsAvailable(EPerson eperson) } } - if (fileNames.size() > 0) { + if (!fileNames.isEmpty()) { return fileNames; } diff --git a/dspace-api/src/main/java/org/dspace/app/itemimport/ItemImport.java b/dspace-api/src/main/java/org/dspace/app/itemimport/ItemImport.java index b32de11f7a7f..c5481edef20a 100644 --- a/dspace-api/src/main/java/org/dspace/app/itemimport/ItemImport.java +++ b/dspace-api/src/main/java/org/dspace/app/itemimport/ItemImport.java @@ -186,7 +186,7 @@ public void internalRun() throws Exception { .resolveToObject(context, collections[i])); } else { // not a handle, try and treat it as an integer collection database ID - collection = collectionService.find(context, UUID.fromString(collections[i])); + collection = collectionService.find(context.getSession(), UUID.fromString(collections[i])); } } @@ -427,7 +427,7 @@ protected void setZip() { * @throws SQLException */ protected void setEPerson(Context context) throws SQLException { - EPerson myEPerson = epersonService.find(context, this.getEpersonIdentifier()); + EPerson myEPerson = epersonService.find(context.getSession(), this.getEpersonIdentifier()); // check eperson if (myEPerson == null) { diff --git a/dspace-api/src/main/java/org/dspace/app/itemimport/ItemImportCLI.java b/dspace-api/src/main/java/org/dspace/app/itemimport/ItemImportCLI.java index 98d2469b7155..44ace3e99e01 100644 --- a/dspace-api/src/main/java/org/dspace/app/itemimport/ItemImportCLI.java +++ b/dspace-api/src/main/java/org/dspace/app/itemimport/ItemImportCLI.java @@ -173,7 +173,7 @@ protected void setEPerson(Context context) throws SQLException { // @ sign, must be an email myEPerson = epersonService.findByEmail(context, eperson); } else { - myEPerson = epersonService.find(context, UUID.fromString(eperson)); + myEPerson = epersonService.find(context.getSession(), UUID.fromString(eperson)); } // check eperson diff --git a/dspace-api/src/main/java/org/dspace/app/itemimport/ItemImportServiceImpl.java b/dspace-api/src/main/java/org/dspace/app/itemimport/ItemImportServiceImpl.java index 4148232cf3ba..abba6a36931a 100644 --- a/dspace-api/src/main/java/org/dspace/app/itemimport/ItemImportServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/app/itemimport/ItemImportServiceImpl.java @@ -332,7 +332,7 @@ public void addItems(Context c, List mycollections, /** * Add relationships from a 'relationships' manifest file. - * + * * @param c Context * @param sourceDir The parent import source directory * @throws Exception @@ -436,7 +436,7 @@ protected void addRelationship(Context c, Item item, Item relationItem, String r /** * Get the item's entity type from meta. - * + * * @param item * @return */ @@ -446,7 +446,7 @@ protected String getEntityType(Item item) { /** * Read the relationship manifest file. - * + * * Each line in the file contains a relationship type id and an item * identifier in the following format: * @@ -532,7 +532,7 @@ protected Map> processRelationshipFile(String path, String * The import item map will be checked first to see if the identifier refers to an item folder * that was just imported. Next it will try to find the item by handle or UUID, or by a unique * meta value. - * + * * @param c Context * @param itemIdentifier The identifier string found in the import manifest (handle, uuid, or import subfolder) * @return Item if found, or null. @@ -569,7 +569,7 @@ protected Item resolveRelatedItem(Context c, String itemIdentifier) throws Excep /** * Resolve an item identifier. - * + * * @param c Context * @param itemIdentifier The identifier string found in the import file (handle or UUID) * @return Item if found, or null. @@ -585,12 +585,12 @@ protected Item resolveItem(Context c, String itemIdentifier) } // resolve by UUID - return itemService.findByIdOrLegacyId(c, itemIdentifier); + return itemService.findByIdOrLegacyId(c.getSession(), itemIdentifier); } /** * Lookup an item by a (unique) meta value. - * + * * @param c current DSpace session. * @param metaKey name of the metadata field to match. * @param metaValue value to be matched. @@ -610,15 +610,15 @@ protected Item findItemByMetaValue(Context c, String metaKey, String metaValue) String element = mf[1]; String qualifier = mf.length == 2 ? null : mf[2]; try { - MetadataField mfo = metadataFieldService.findByElement(c, schema, element, qualifier); - Iterator mdv = metadataValueService.findByFieldAndValue(c, mfo, metaValue); + MetadataField mfo = metadataFieldService.findByElement(c.getSession(), schema, element, qualifier); + Iterator mdv = metadataValueService.findByFieldAndValue(c.getSession(), mfo, metaValue); if (mdv.hasNext()) { MetadataValue mdvVal = mdv.next(); UUID uuid = mdvVal.getDSpaceObject().getID(); if (mdv.hasNext()) { throw new Exception("Ambiguous reference; multiple matches in db: " + metaKey); } - item = itemService.find(c, uuid); + item = itemService.find(c.getSession(), uuid); } } catch (SQLException e) { throw new Exception("Error looking up item by metadata reference: " + metaKey, e); @@ -661,7 +661,7 @@ public void replaceItems(Context c, List mycollections, // add new item, locate old one oldItem = (Item) handleService.resolveToObject(c, oldHandle); } else { - oldItem = itemService.findByIdOrLegacyId(c, oldHandle); + oldItem = itemService.findByIdOrLegacyId(c.getSession(), oldHandle); } /* Rather than exposing public item methods to change handles -- @@ -706,7 +706,7 @@ public void deleteItems(Context c, String mapFile) throws Exception { deleteItem(c, myhandle); } else { // it's an ID - Item myitem = itemService.findByIdOrLegacyId(c, itemID); + Item myitem = itemService.findByIdOrLegacyId(c.getSession(), itemID); logInfo("Deleting item " + itemID); deleteItem(c, myitem); c.uncacheEntity(myitem); @@ -979,14 +979,15 @@ protected void addDCValue(Context c, Item i, String schema, Node n) } } else { // If we're just test the import, let's check that the actual metadata field exists. - MetadataSchema foundSchema = metadataSchemaService.find(c, schema); + MetadataSchema foundSchema = metadataSchemaService.find(c.getSession(), schema); if (foundSchema == null) { logError("ERROR: schema '" + schema + "' was not found in the registry."); return; } - MetadataField foundField = metadataFieldService.findByElement(c, foundSchema, element, qualifier); + MetadataField foundField = metadataFieldService.findByElement(c.getSession(), + foundSchema, element, qualifier); if (foundField == null) { logError( @@ -1031,7 +1032,7 @@ protected List processCollectionFile(Context c, String path, String obj = null; } } else { - obj = collectionService.find(c, UUID.fromString(line)); + obj = collectionService.find(c.getSession(), UUID.fromString(line)); } if (obj == null) { @@ -1667,7 +1668,7 @@ protected void processOptions(Context c, Item myItem, List options) } try { - myGroup = groupService.findByName(c, groupName); + myGroup = groupService.findByName(c.getSession(), groupName); } catch (SQLException sqle) { logError("SQL Exception finding group name: " + groupName); @@ -1752,7 +1753,7 @@ protected void processOptions(Context c, Item myItem, List options) if (labelExists) { MetadataField metadataField = metadataFieldService - .findByElement(c, METADATA_IIIF_SCHEMA, METADATA_IIIF_LABEL_ELEMENT, null); + .findByElement(c.getSession(), METADATA_IIIF_SCHEMA, METADATA_IIIF_LABEL_ELEMENT, null); logInfo("\tSetting label to " + thisLabel + " in element " + metadataField.getElement() + " on " + bitstreamName); bitstreamService.addMetadata(c, bs, metadataField, null, thisLabel); @@ -1761,7 +1762,7 @@ protected void processOptions(Context c, Item myItem, List options) if (heightExists) { MetadataField metadataField = metadataFieldService - .findByElement(c, METADATA_IIIF_SCHEMA, METADATA_IIIF_IMAGE_ELEMENT, + .findByElement(c.getSession(), METADATA_IIIF_SCHEMA, METADATA_IIIF_IMAGE_ELEMENT, METADATA_IIIF_HEIGHT_QUALIFIER); logInfo("\tSetting height to " + thisHeight + " in element " + metadataField.getElement() + " on " + bitstreamName); @@ -1770,7 +1771,7 @@ protected void processOptions(Context c, Item myItem, List options) } if (widthExists) { MetadataField metadataField = metadataFieldService - .findByElement(c, METADATA_IIIF_SCHEMA, METADATA_IIIF_IMAGE_ELEMENT, + .findByElement(c.getSession(), METADATA_IIIF_SCHEMA, METADATA_IIIF_IMAGE_ELEMENT, METADATA_IIIF_WIDTH_QUALIFIER); logInfo("\tSetting width to " + thisWidth + " in element " + metadataField.getElement() + " on " + bitstreamName); @@ -1779,7 +1780,7 @@ protected void processOptions(Context c, Item myItem, List options) } if (tocExists) { MetadataField metadataField = metadataFieldService - .findByElement(c, METADATA_IIIF_SCHEMA, METADATA_IIIF_TOC_ELEMENT, null); + .findByElement(c.getSession(), METADATA_IIIF_SCHEMA, METADATA_IIIF_TOC_ELEMENT, null); logInfo("\tSetting toc to " + thisToc + " in element " + metadataField.getElement() + " on " + bitstreamName); bitstreamService.addMetadata(c, bs, metadataField, null, thisToc); @@ -2073,7 +2074,7 @@ public void run() { EPerson eperson = null; try { - eperson = ePersonService.find(context, oldEPerson.getID()); + eperson = ePersonService.find(context.getSession(), oldEPerson.getID()); context.setCurrentUser(eperson); context.turnOffAuthorisationSystem(); @@ -2085,7 +2086,7 @@ public void run() { UUID colId = UUID.fromString(colID); if (theOwningCollection != null && !theOwningCollection.getID().equals(colId)) { - Collection col = collectionService.find(context, colId); + Collection col = collectionService.find(context.getSession(), colId); if (col != null) { collectionList.add(col); } diff --git a/dspace-api/src/main/java/org/dspace/app/itemupdate/AddBitstreamsAction.java b/dspace-api/src/main/java/org/dspace/app/itemupdate/AddBitstreamsAction.java index 644745304a23..a4354ffe8ca1 100644 --- a/dspace-api/src/main/java/org/dspace/app/itemupdate/AddBitstreamsAction.java +++ b/dspace-api/src/main/java/org/dspace/app/itemupdate/AddBitstreamsAction.java @@ -185,7 +185,7 @@ protected String addBitstream(Context context, ItemArchive itarch, Item item, Fi } if ((ce.permissionsActionId != -1) && (ce.permissionsGroupName != null)) { - Group group = groupService.findByName(context, ce.permissionsGroupName); + Group group = groupService.findByName(context.getSession(), ce.permissionsGroupName); if (group != null) { authorizeService.removeAllPolicies(context, bs); // remove the default policy diff --git a/dspace-api/src/main/java/org/dspace/app/itemupdate/AddMetadataAction.java b/dspace-api/src/main/java/org/dspace/app/itemupdate/AddMetadataAction.java index 89c24b07d5bf..4fc7d7ab80c4 100644 --- a/dspace-api/src/main/java/org/dspace/app/itemupdate/AddMetadataAction.java +++ b/dspace-api/src/main/java/org/dspace/app/itemupdate/AddMetadataAction.java @@ -69,7 +69,7 @@ public void execute(Context context, ItemArchive itarch, boolean isTest, ItemUpdate.pr("Metadata to add: " + dtom.toString()); //validity tests that would occur in actual processing // If we're just test the import, let's check that the actual metadata field exists. - MetadataSchema foundSchema = metadataSchemaService.find(context, dtom.schema); + MetadataSchema foundSchema = metadataSchemaService.find(context.getSession(), dtom.schema); if (foundSchema == null) { ItemUpdate.pr("ERROR: schema '" @@ -77,7 +77,7 @@ public void execute(Context context, ItemArchive itarch, boolean isTest, dirname); } else { MetadataField foundField = metadataFieldService - .findByElement(context, foundSchema, dtom.element, dtom.qualifier); + .findByElement(context.getSession(), foundSchema, dtom.element, dtom.qualifier); if (foundField == null) { ItemUpdate.pr("ERROR: Metadata field: '" + dtom.schema + "." + dtom.element + "." diff --git a/dspace-api/src/main/java/org/dspace/app/itemupdate/DeleteBitstreamsAction.java b/dspace-api/src/main/java/org/dspace/app/itemupdate/DeleteBitstreamsAction.java index cb5dcfb75dc0..f4bbcc4f23a3 100644 --- a/dspace-api/src/main/java/org/dspace/app/itemupdate/DeleteBitstreamsAction.java +++ b/dspace-api/src/main/java/org/dspace/app/itemupdate/DeleteBitstreamsAction.java @@ -55,7 +55,7 @@ public void execute(Context context, ItemArchive itarch, boolean isTest, } else { for (String id : list) { try { - Bitstream bs = bitstreamService.findByIdOrLegacyId(context, id); + Bitstream bs = bitstreamService.findByIdOrLegacyId(context.getSession(), id); if (bs == null) { ItemUpdate.pr("Bitstream not found by id: " + id); } else { diff --git a/dspace-api/src/main/java/org/dspace/app/itemupdate/ItemArchive.java b/dspace-api/src/main/java/org/dspace/app/itemupdate/ItemArchive.java index 26de45caf77e..a8e1c47cecdb 100644 --- a/dspace-api/src/main/java/org/dspace/app/itemupdate/ItemArchive.java +++ b/dspace-api/src/main/java/org/dspace/app/itemupdate/ItemArchive.java @@ -264,7 +264,7 @@ private Item itemFromMetadataField(Context context, String itemField) this.addUndoMetadataField(dtom); //seed the undo list with the identifier field Iterator itr = itemService - .findByMetadataField(context, dtom.schema, dtom.element, dtom.qualifier, dtom.value); + .findByMetadataField(context.getSession(), dtom.schema, dtom.element, dtom.qualifier, dtom.value); int count = 0; while (itr.hasNext()) { item = itr.next(); diff --git a/dspace-api/src/main/java/org/dspace/app/itemupdate/ItemUpdate.java b/dspace-api/src/main/java/org/dspace/app/itemupdate/ItemUpdate.java index a3fe0b2321f7..54334abecd1c 100644 --- a/dspace-api/src/main/java/org/dspace/app/itemupdate/ItemUpdate.java +++ b/dspace-api/src/main/java/org/dspace/app/itemupdate/ItemUpdate.java @@ -534,7 +534,7 @@ protected void setEPerson(Context context, String eperson) // @ sign, must be an email myEPerson = epersonService.findByEmail(context, eperson); } else { - myEPerson = epersonService.find(context, UUID.fromString(eperson)); + myEPerson = epersonService.find(context.getSession(), UUID.fromString(eperson)); } if (myEPerson == null) { diff --git a/dspace-api/src/main/java/org/dspace/app/mediafilter/MediaFilterServiceImpl.java b/dspace-api/src/main/java/org/dspace/app/mediafilter/MediaFilterServiceImpl.java index 147a7bf26c71..eb50f08c8614 100644 --- a/dspace-api/src/main/java/org/dspace/app/mediafilter/MediaFilterServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/app/mediafilter/MediaFilterServiceImpl.java @@ -116,18 +116,19 @@ public void applyFiltersAllItems(Context context) throws Exception { if (skipList != null) { //if a skip-list exists, we need to filter community-by-community //so we can respect what is in the skip-list - List topLevelCommunities = communityService.findAllTop(context); + List topLevelCommunities = communityService.findAllTop(context.getSession()); for (Community topLevelCommunity : topLevelCommunities) { applyFiltersCommunity(context, topLevelCommunity); } } else { //otherwise, just find every item and process - try (Session session = context.getReadOnlySession()) { - Iterator itemIterator = itemService.findAll(session); + try (Session roSession = context.getReadOnlySession()) { + Iterator itemIterator = itemService.findAll(roSession); while (itemIterator.hasNext() && processed < max2Process) { + Session rwSession = context.getSession(); Item roItem = itemIterator.next(); - Item rwItem = itemService.find(context, roItem.getID()); + Item rwItem = itemService.find(rwSession, roItem.getID()); applyFiltersItem(context, rwItem); context.commit(); } @@ -160,8 +161,9 @@ public void applyFiltersCollection(Context context, Collection collection) Iterator itemIterator = itemService.findAllByCollection(driverSession, collection); while (itemIterator.hasNext() && processed < max2Process) { + Session rwSession = context.getSession(); Item roItem = itemIterator.next(); - Item rwItem = itemService.find(context, roItem.getID()); + Item rwItem = itemService.find(rwSession, roItem.getID()); applyFiltersItem(context, rwItem); context.commit(); } @@ -465,7 +467,7 @@ private void updatePoliciesOfDerivativeBitstream(Context context, Bitstream bits authorizeService.removeAllPolicies(context, bitstream); if (publicFiltersClasses.contains(formatFilter.getClass().getSimpleName())) { - Group anonymous = groupService.findByName(context, Group.ANONYMOUS); + Group anonymous = groupService.findByName(context.getSession(), Group.ANONYMOUS); authorizeService.addPolicy(context, bitstream, Constants.READ, anonymous); } else { authorizeService.replaceAllPolicies(context, source, bitstream); diff --git a/dspace-api/src/main/java/org/dspace/app/sitemap/GenerateSitemaps.java b/dspace-api/src/main/java/org/dspace/app/sitemap/GenerateSitemaps.java index d65447d311ee..1232ecc32e25 100644 --- a/dspace-api/src/main/java/org/dspace/app/sitemap/GenerateSitemaps.java +++ b/dspace-api/src/main/java/org/dspace/app/sitemap/GenerateSitemaps.java @@ -209,7 +209,7 @@ public static void generateSitemaps(boolean makeHTMLMap, boolean makeSitemapOrg) Context c = new Context(Context.Mode.READ_ONLY); - List comms = communityService.findAll(c); + List comms = communityService.findAll(c.getSession()); for (Community comm : comms) { String url = uiURLStem + "/communities/" + comm.getID(); @@ -224,7 +224,7 @@ public static void generateSitemaps(boolean makeHTMLMap, boolean makeSitemapOrg) c.uncacheEntity(comm); } - List colls = collectionService.findAll(c); + List colls = collectionService.findAll(c.getSession()); for (Collection coll : colls) { String url = uiURLStem + "/collections/" + coll.getID(); @@ -239,7 +239,7 @@ public static void generateSitemaps(boolean makeHTMLMap, boolean makeSitemapOrg) c.uncacheEntity(coll); } - Iterator allItems = itemService.findAll(c); + Iterator allItems = itemService.findAll(c.getSession()); int itemCount = 0; while (allItems.hasNext()) { diff --git a/dspace-api/src/main/java/org/dspace/app/util/DSpaceObjectUtilsImpl.java b/dspace-api/src/main/java/org/dspace/app/util/DSpaceObjectUtilsImpl.java index e3f2b0ea5faa..d9f7da9700d8 100644 --- a/dspace-api/src/main/java/org/dspace/app/util/DSpaceObjectUtilsImpl.java +++ b/dspace-api/src/main/java/org/dspace/app/util/DSpaceObjectUtilsImpl.java @@ -34,10 +34,11 @@ public class DSpaceObjectUtilsImpl implements DSpaceObjectUtils { * @return the DSpaceObject if any with the supplied uuid * @throws SQLException */ + @Override public DSpaceObject findDSpaceObject(Context context, UUID uuid) throws SQLException { for (DSpaceObjectService dSpaceObjectService : contentServiceFactory.getDSpaceObjectServices()) { - DSpaceObject dso = dSpaceObjectService.find(context, uuid); + DSpaceObject dso = dSpaceObjectService.find(context.getSession(), uuid); if (dso != null) { return dso; } diff --git a/dspace-api/src/main/java/org/dspace/authenticate/IPAuthentication.java b/dspace-api/src/main/java/org/dspace/authenticate/IPAuthentication.java index 3b2366034489..85e58c8b449c 100644 --- a/dspace-api/src/main/java/org/dspace/authenticate/IPAuthentication.java +++ b/dspace-api/src/main/java/org/dspace/authenticate/IPAuthentication.java @@ -17,6 +17,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.dspace.core.Context; import org.dspace.core.LogHelper; @@ -50,7 +51,7 @@ public class IPAuthentication implements AuthenticationMethod { /** * Our logger */ - private static Logger log = org.apache.logging.log4j.LogManager.getLogger(IPAuthentication.class); + private static final Logger log = LogManager.getLogger(); /** * All the IP matchers @@ -83,8 +84,8 @@ public class IPAuthentication implements AuthenticationMethod { * will never fail if the configuration is bad -- a warning will be logged. */ public IPAuthentication() { - ipMatchers = new ArrayList(); - ipNegativeMatchers = new ArrayList(); + ipMatchers = new ArrayList<>(); + ipNegativeMatchers = new ArrayList<>(); ipMatcherGroupIDs = new HashMap<>(); ipMatcherGroupNames = new HashMap<>(); groupService = EPersonServiceFactory.getInstance().getGroupService(); @@ -164,7 +165,7 @@ public List getSpecialGroups(Context context, HttpServletRequest request) if (request == null) { return Collections.EMPTY_LIST; } - List groups = new ArrayList(); + List groups = new ArrayList<>(); // Get the user's IP address String addr = clientInfoService.getClientIp(request); @@ -175,13 +176,13 @@ public List getSpecialGroups(Context context, HttpServletRequest request) // Do we know group ID? UUID g = ipMatcherGroupIDs.get(ipm); if (g != null) { - groups.add(groupService.find(context, g)); + groups.add(groupService.find(context.getSession(), g)); } else { // See if we have a group name String groupName = ipMatcherGroupNames.get(ipm); if (groupName != null) { - Group group = groupService.findByName(context, groupName); + Group group = groupService.findByName(context.getSession(), groupName); if (group != null) { // Add ID so we won't have to do lookup again ipMatcherGroupIDs.put(ipm, (group.getID())); @@ -209,13 +210,13 @@ public List getSpecialGroups(Context context, HttpServletRequest request) // Do we know group ID? UUID g = ipMatcherGroupIDs.get(ipm); if (g != null) { - groups.remove(groupService.find(context, g)); + groups.remove(groupService.find(context.getSession(), g)); } else { // See if we have a group name String groupName = ipMatcherGroupNames.get(ipm); if (groupName != null) { - Group group = groupService.findByName(context, groupName); + Group group = groupService.findByName(context.getSession(), groupName); if (group != null) { // Add ID so we won't have to do lookup again ipMatcherGroupIDs.put(ipm, group.getID()); diff --git a/dspace-api/src/main/java/org/dspace/authenticate/LDAPAuthentication.java b/dspace-api/src/main/java/org/dspace/authenticate/LDAPAuthentication.java index afd82db863ba..059f427ce599 100644 --- a/dspace-api/src/main/java/org/dspace/authenticate/LDAPAuthentication.java +++ b/dspace-api/src/main/java/org/dspace/authenticate/LDAPAuthentication.java @@ -159,7 +159,7 @@ public List getSpecialGroups(Context context, HttpServletRequest request) if (!context.getCurrentUser().getNetid().equals("")) { String groupName = configurationService.getProperty("authentication-ldap.login.specialgroup"); if ((groupName != null) && (!groupName.trim().equals(""))) { - Group ldapGroup = groupService.findByName(context, groupName); + Group ldapGroup = groupService.findByName(context.getSession(), groupName); if (ldapGroup == null) { // Oops - the group isn't there. log.warn(LogHelper.getHeader(context, @@ -551,7 +551,7 @@ protected String getDNOfUser(String adminUser, String adminPassword, Context con att = atts.get(attlist[4]); if (att != null) { // loop through all groups returned by LDAP - ldapGroup = new ArrayList(); + ldapGroup = new ArrayList<>(); for (NamingEnumeration val = att.getAll(); val.hasMoreElements(); ) { ldapGroup.add((String) val.next()); } @@ -700,13 +700,13 @@ public String getName() { /* * Add authenticated users to the group defined in dspace.cfg by * the authentication-ldap.login.groupmap.* key. - * + * * @param dn * The string containing distinguished name of the user - * + * * @param group * List of strings with LDAP dn of groups - * + * * @param context * DSpace context */ @@ -743,7 +743,7 @@ private void assignGroups(String dn, ArrayList group, Context context) { if (cmp) { // assign user to this group try { - Group ldapGroup = groupService.findByName(context, dspaceGroupName); + Group ldapGroup = groupService.findByName(context.getSession(), dspaceGroupName); if (ldapGroup != null) { groupService.addMember(context, ldapGroup, context.getCurrentUser()); groupService.update(context, ldapGroup); diff --git a/dspace-api/src/main/java/org/dspace/authenticate/PasswordAuthentication.java b/dspace-api/src/main/java/org/dspace/authenticate/PasswordAuthentication.java index 6d1ca862d307..ce9cd893ea9d 100644 --- a/dspace-api/src/main/java/org/dspace/authenticate/PasswordAuthentication.java +++ b/dspace-api/src/main/java/org/dspace/authenticate/PasswordAuthentication.java @@ -54,7 +54,7 @@ public class PasswordAuthentication private static final String PASSWORD_AUTHENTICATED = "password.authenticated"; - private EPersonService ePersonService = EPersonServiceFactory.getInstance().getEPersonService(); + private final EPersonService ePersonService = EPersonServiceFactory.getInstance().getEPersonService(); @@ -150,7 +150,7 @@ public List getSpecialGroups(Context context, HttpServletRequest request) .getProperty("authentication-password.login.specialgroup"); if ((groupName != null) && !groupName.trim().isEmpty()) { Group specialGroup = EPersonServiceFactory.getInstance().getGroupService() - .findByName(context, groupName); + .findByName(context.getSession(), groupName); if (specialGroup == null) { // Oops - the group isn't there. log.warn(LogHelper.getHeader(context, diff --git a/dspace-api/src/main/java/org/dspace/authenticate/ShibAuthentication.java b/dspace-api/src/main/java/org/dspace/authenticate/ShibAuthentication.java index 791634a7dc25..cdaaca237edb 100644 --- a/dspace-api/src/main/java/org/dspace/authenticate/ShibAuthentication.java +++ b/dspace-api/src/main/java/org/dspace/authenticate/ShibAuthentication.java @@ -293,7 +293,7 @@ public List getSpecialGroups(Context context, HttpServletRequest request) return Collections.EMPTY_LIST; } - if (context.getSpecialGroups().size() > 0 ) { + if (!context.getSpecialGroups().isEmpty() ) { log.debug("Returning cached special groups."); return context.getSpecialGroups(); } @@ -369,7 +369,7 @@ public List getSpecialGroups(Context context, HttpServletRequest request) // Add each group to the list. for (int i = 0; i < groupNames.length; i++) { try { - Group group = groupService.findByName(context, groupNames[i].trim()); + Group group = groupService.findByName(context.getSession(), groupNames[i].trim()); if (group != null) { groups.add(group); } else { @@ -1030,7 +1030,7 @@ protected synchronized boolean checkIfEpersonMetadataFieldExists(Context context return false; } - MetadataField metadataField = metadataFieldService.findByElement(context, + MetadataField metadataField = metadataFieldService.findByElement(context.getSession(), MetadataSchemaEnum.EPERSON.getName(), metadataName, null); return metadataField != null; } @@ -1064,7 +1064,7 @@ protected synchronized boolean autoCreateEpersonMetadataField(Context context, S return false; } - MetadataSchema epersonSchema = metadataSchemaService.find(context, "eperson"); + MetadataSchema epersonSchema = metadataSchemaService.find(context.getSession(), "eperson"); MetadataField metadataField = null; try { context.turnOffAuthorisationSystem(); diff --git a/dspace-api/src/main/java/org/dspace/authenticate/X509Authentication.java b/dspace-api/src/main/java/org/dspace/authenticate/X509Authentication.java index 12dc5feda583..77c210240413 100644 --- a/dspace-api/src/main/java/org/dspace/authenticate/X509Authentication.java +++ b/dspace-api/src/main/java/org/dspace/authenticate/X509Authentication.java @@ -105,7 +105,7 @@ public class X509Authentication implements AuthenticationMethod { /** * log4j category */ - private static Logger log = org.apache.logging.log4j.LogManager.getLogger(X509Authentication.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(); /** * public key of CA to check client certs against. @@ -388,7 +388,7 @@ public boolean isImplicit() { * @return List of special groups configured for this authenticator */ private List getX509Groups() { - List groupNames = new ArrayList(); + List groupNames = new ArrayList<>(); String[] groups = configurationService .getArrayProperty("authentication-x509.groups"); @@ -459,7 +459,7 @@ public List getSpecialGroups(Context context, HttpServletRequest request) if (groupNames != null) { for (String groupName : groupNames) { if (groupName != null) { - Group group = groupService.findByName(context, groupName); + Group group = groupService.findByName(context.getSession(), groupName); if (group != null) { groups.add(group); } else { diff --git a/dspace-api/src/main/java/org/dspace/authority/UpdateAuthorities.java b/dspace-api/src/main/java/org/dspace/authority/UpdateAuthorities.java index a554aeebcab5..ead7c733809e 100644 --- a/dspace-api/src/main/java/org/dspace/authority/UpdateAuthorities.java +++ b/dspace-api/src/main/java/org/dspace/authority/UpdateAuthorities.java @@ -164,7 +164,7 @@ protected void followUp(AuthorityValue authority) { protected void updateItems(AuthorityValue authority) { try { Iterator itemIterator = itemService - .findByMetadataFieldAuthority(context, authority.getField(), authority.getId()); + .findByMetadataFieldAuthority(context.getSession(), authority.getField(), authority.getId()); while (itemIterator.hasNext()) { Item next = itemIterator.next(); List metadata = itemService.getMetadata(next, authority.getField(), authority.getId()); diff --git a/dspace-api/src/main/java/org/dspace/authority/indexer/AuthorityConsumer.java b/dspace-api/src/main/java/org/dspace/authority/indexer/AuthorityConsumer.java index 2105aa9488ca..1b6f52a4c318 100644 --- a/dspace-api/src/main/java/org/dspace/authority/indexer/AuthorityConsumer.java +++ b/dspace-api/src/main/java/org/dspace/authority/indexer/AuthorityConsumer.java @@ -88,12 +88,12 @@ public void end(Context ctx) throws Exception { try { ctx.turnOffAuthorisationSystem(); for (UUID id : itemsToUpdateAuthority) { - Item item = itemService.find(ctx, id); + Item item = itemService.find(ctx.getSession(), id); authorityService.indexItem(ctx, item); } //Loop over our items which need to be re indexed for (UUID id : itemsToReindex) { - Item item = itemService.find(ctx, id); + Item item = itemService.find(ctx.getSession(), id); authorityService.indexItem(ctx, item); } diff --git a/dspace-api/src/main/java/org/dspace/authority/indexer/AuthorityIndexClient.java b/dspace-api/src/main/java/org/dspace/authority/indexer/AuthorityIndexClient.java index f2a4dcf6c4ee..d32e6143e181 100644 --- a/dspace-api/src/main/java/org/dspace/authority/indexer/AuthorityIndexClient.java +++ b/dspace-api/src/main/java/org/dspace/authority/indexer/AuthorityIndexClient.java @@ -70,7 +70,7 @@ public static void main(String[] args) throws Exception { for (AuthorityIndexerInterface indexerInterface : indexers) { log.info("Initialize " + indexerInterface.getClass().getName()); System.out.println("Initialize " + indexerInterface.getClass().getName()); - Iterator allItems = itemService.findAll(context); + Iterator allItems = itemService.findAll(context.getSession()); Map authorityCache = new HashMap<>(); while (allItems.hasNext()) { Item item = allItems.next(); diff --git a/dspace-api/src/main/java/org/dspace/authorize/FixDefaultPolicies.java b/dspace-api/src/main/java/org/dspace/authorize/FixDefaultPolicies.java index 61e783920ae5..8f0bc1b751c2 100644 --- a/dspace-api/src/main/java/org/dspace/authorize/FixDefaultPolicies.java +++ b/dspace-api/src/main/java/org/dspace/authorize/FixDefaultPolicies.java @@ -54,7 +54,7 @@ public static void main(String[] argv) throws Exception { // carnage begins here ////////////////////// ContentServiceFactory contentServiceFactory = ContentServiceFactory.getInstance(); - List collections = contentServiceFactory.getCollectionService().findAll(c); + List collections = contentServiceFactory.getCollectionService().findAll(c.getSession()); for (Collection t : collections) { System.out.println("Collection " + t + " " + t.getName()); @@ -85,7 +85,7 @@ public static void main(String[] argv) throws Exception { } // now ensure communities have READ policies - List communities = contentServiceFactory.getCommunityService().findAll(c); + List communities = contentServiceFactory.getCommunityService().findAll(c.getSession()); for (Community t : communities) { System.out.println("Community " + t + " " + t.getName()); @@ -112,7 +112,7 @@ private static boolean checkForPolicy(Context c, DSpaceObject t, List policies = AuthorizeServiceFactory.getInstance().getAuthorizeService() .getPoliciesActionFilter(c, t, myaction); - return policies.size() > 0; + return !policies.isEmpty(); } /** @@ -122,7 +122,8 @@ private static boolean checkForPolicy(Context c, DSpaceObject t, private static void addAnonymousPolicy(Context c, DSpaceObject t, int myaction) throws SQLException, AuthorizeException { // group 0 is the anonymous group! - Group anonymousGroup = EPersonServiceFactory.getInstance().getGroupService().findByName(c, Group.ANONYMOUS); + Group anonymousGroup = EPersonServiceFactory.getInstance().getGroupService() + .findByName(c.getSession(), Group.ANONYMOUS); // now create the default policies for submitted items ResourcePolicyService resourcePolicyService = AuthorizeServiceFactory.getInstance().getResourcePolicyService(); diff --git a/dspace-api/src/main/java/org/dspace/authorize/PolicySet.java b/dspace-api/src/main/java/org/dspace/authorize/PolicySet.java index 72998b9fd18a..28287c659731 100644 --- a/dspace-api/src/main/java/org/dspace/authorize/PolicySet.java +++ b/dspace-api/src/main/java/org/dspace/authorize/PolicySet.java @@ -210,10 +210,10 @@ public static void setPoliciesFilter(Context c, int containerType, String name, String description, Date startDate, Date endDate) throws SQLException, AuthorizeException { if (containerType == Constants.COLLECTION) { - Collection collection = collectionService.find(c, containerID); - Group group = groupService.find(c, groupID); + Collection collection = collectionService.find(c.getSession(), containerID); + Group group = groupService.find(c.getSession(), groupID); - Iterator i = itemService.findAllByCollection(c, collection); + Iterator i = itemService.findAllByCollection(c.getSession(), collection); if (contentType == Constants.ITEM) { // build list of all items in a collection while (i.hasNext()) { diff --git a/dspace-api/src/main/java/org/dspace/checker/CheckerConsumer.java b/dspace-api/src/main/java/org/dspace/checker/CheckerConsumer.java index 4601e3867f7e..5f6070edd342 100644 --- a/dspace-api/src/main/java/org/dspace/checker/CheckerConsumer.java +++ b/dspace-api/src/main/java/org/dspace/checker/CheckerConsumer.java @@ -7,6 +7,7 @@ */ package org.dspace.checker; +import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.dspace.checker.factory.CheckerServiceFactory; import org.dspace.checker.service.ChecksumHistoryService; @@ -26,7 +27,7 @@ public class CheckerConsumer implements Consumer { /** * log4j logger */ - private static Logger log = org.apache.logging.log4j.LogManager.getLogger(CheckerConsumer.class); + private static final Logger log = LogManager.getLogger(); protected ChecksumHistoryService checksumHistoryService = CheckerServiceFactory.getInstance() .getChecksumHistoryService(); @@ -54,7 +55,7 @@ public void initialize() throws Exception { public void consume(Context ctx, Event event) throws Exception { if (event.getEventType() == Event.DELETE) { - Bitstream bitstream = bitstreamService.find(ctx, event.getSubjectID()); + Bitstream bitstream = bitstreamService.find(ctx.getSession(), event.getSubjectID()); log.debug("Attempting to remove Checker Info"); checksumHistoryService.deleteByBitstream(ctx, bitstream); log.debug("Completed removing Checker Info"); diff --git a/dspace-api/src/main/java/org/dspace/checker/MostRecentChecksumServiceImpl.java b/dspace-api/src/main/java/org/dspace/checker/MostRecentChecksumServiceImpl.java index 55af484c24b7..041587c4942b 100644 --- a/dspace-api/src/main/java/org/dspace/checker/MostRecentChecksumServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/checker/MostRecentChecksumServiceImpl.java @@ -113,7 +113,7 @@ public void updateMissingBitstreams(Context context) throws SQLException { // + "select 'x' from most_recent_checksum " // + "where most_recent_checksum.bitstream_id = bitstream.bitstream_id )"; - List unknownBitstreams = bitstreamService.findBitstreamsWithNoRecentChecksum(context); + List unknownBitstreams = bitstreamService.findBitstreamsWithNoRecentChecksum(context.getSession()); for (Bitstream bitstream : unknownBitstreams) { log.info(bitstream + " " + bitstream.getID().toString() + " " + bitstream.getName()); diff --git a/dspace-api/src/main/java/org/dspace/checker/SimpleReporterServiceImpl.java b/dspace-api/src/main/java/org/dspace/checker/SimpleReporterServiceImpl.java index ddefb28e1b57..91f9a56132ef 100644 --- a/dspace-api/src/main/java/org/dspace/checker/SimpleReporterServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/checker/SimpleReporterServiceImpl.java @@ -227,7 +227,7 @@ public int getNotToBeProcessedReport(Context context, Date startDate, Date endDa public int getUncheckedBitstreamsReport(Context context, OutputStreamWriter osw) throws IOException, SQLException { // get all the bitstreams marked deleted for today - List bitstreams = bitstreamService.findBitstreamsWithNoRecentChecksum(context); + List bitstreams = bitstreamService.findBitstreamsWithNoRecentChecksum(context.getSession()); osw.write("\n"); osw.write(msg("unchecked-bitstream-report")); diff --git a/dspace-api/src/main/java/org/dspace/content/BitstreamServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/BitstreamServiceImpl.java index 87c2e03c4174..9ed847213d4f 100644 --- a/dspace-api/src/main/java/org/dspace/content/BitstreamServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/BitstreamServiceImpl.java @@ -31,6 +31,7 @@ import org.dspace.core.LogHelper; import org.dspace.event.Event; import org.dspace.storage.bitstore.service.BitstreamStorageService; +import org.hibernate.Session; import org.springframework.beans.factory.annotation.Autowired; /** @@ -69,13 +70,12 @@ protected BitstreamServiceImpl() { } @Override - public Bitstream find(Context context, UUID id) throws SQLException { - Bitstream bitstream = bitstreamDAO.findByID(context.getSession(), Bitstream.class, id); + public Bitstream find(Session session, UUID id) throws SQLException { + Bitstream bitstream = bitstreamDAO.findByID(session.getSession(), Bitstream.class, id); if (bitstream == null) { if (log.isDebugEnabled()) { - log.debug(LogHelper.getHeader(context, "find_bitstream", - "not_found,bitstream_id=" + id)); + log.debug("find_bitstream not_found,bitstream_id={}", id); } return null; @@ -83,16 +83,15 @@ public Bitstream find(Context context, UUID id) throws SQLException { // not null, return Bitstream if (log.isDebugEnabled()) { - log.debug(LogHelper.getHeader(context, "find_bitstream", - "bitstream_id=" + id)); + log.debug("find_bitstream bitstream_id={}", id); } return bitstream; } @Override - public List findAll(Context context) throws SQLException { - return bitstreamDAO.findAll(context.getSession(), Bitstream.class); + public List findAll(Session session) throws SQLException { + return bitstreamDAO.findAll(session, Bitstream.class); } @Override @@ -112,8 +111,8 @@ public Bitstream clone(Context context, Bitstream bitstream) } @Override - public Iterator findAll(Context context, int limit, int offset) throws SQLException { - return bitstreamDAO.findAll(context.getSession(), limit, offset); + public Iterator findAll(Session session, int limit, int offset) throws SQLException { + return bitstreamDAO.findAll(session.getSession(), limit, offset); } @Override @@ -126,7 +125,7 @@ public Bitstream create(Context context, InputStream is) throws IOException, SQL "bitstream_id=" + bitstreamID)); // Set the format to "unknown" - Bitstream bitstream = find(context, bitstreamID); + Bitstream bitstream = find(context.getSession(), bitstreamID); setFormat(context, bitstream, null); context.addEvent( @@ -333,8 +332,8 @@ public void updateLastModified(Context context, Bitstream bitstream) { } @Override - public List findDeletedBitstreams(Context context, int limit, int offset) throws SQLException { - return bitstreamDAO.findDeletedBitstreams(context.getSession(), limit, offset); + public List findDeletedBitstreams(Session session, int limit, int offset) throws SQLException { + return bitstreamDAO.findDeletedBitstreams(session, limit, offset); } @Override @@ -348,8 +347,8 @@ public void expunge(Context context, Bitstream bitstream) throws SQLException, A } @Override - public List findDuplicateInternalIdentifier(Context context, Bitstream bitstream) throws SQLException { - return bitstreamDAO.findDuplicateInternalIdentifier(context.getSession(), bitstream); + public List findDuplicateInternalIdentifier(Session session, Bitstream bitstream) throws SQLException { + return bitstreamDAO.findDuplicateInternalIdentifier(session, bitstream); } @Override @@ -370,8 +369,8 @@ public Iterator getCommunityBitstreams(Context context, Community com } @Override - public List findBitstreamsWithNoRecentChecksum(Context context) throws SQLException { - return bitstreamDAO.findBitstreamsWithNoRecentChecksum(context.getSession()); + public List findBitstreamsWithNoRecentChecksum(Session session) throws SQLException { + return bitstreamDAO.findBitstreamsWithNoRecentChecksum(session); } @Override @@ -431,8 +430,8 @@ public BitstreamFormat getFormat(Context context, Bitstream bitstream) throws SQ } @Override - public Iterator findByStoreNumber(Context context, Integer storeNumber) throws SQLException { - return bitstreamDAO.findByStoreNumber(context.getSession(), storeNumber); + public Iterator findByStoreNumber(Session session, Integer storeNumber) throws SQLException { + return bitstreamDAO.findByStoreNumber(session, storeNumber); } @Override @@ -446,17 +445,17 @@ public int countTotal(Context context) throws SQLException { } @Override - public Bitstream findByIdOrLegacyId(Context context, String id) throws SQLException { + public Bitstream findByIdOrLegacyId(Session session, String id) throws SQLException { if (StringUtils.isNumeric(id)) { - return findByLegacyId(context, Integer.parseInt(id)); + return findByLegacyId(session, Integer.parseInt(id)); } else { - return find(context, UUID.fromString(id)); + return find(session, UUID.fromString(id)); } } @Override - public Bitstream findByLegacyId(Context context, int id) throws SQLException { - return bitstreamDAO.findByLegacyId(context.getSession(), id, Bitstream.class); + public Bitstream findByLegacyId(Session session, int id) throws SQLException { + return bitstreamDAO.findByLegacyId(session.getSession(), id, Bitstream.class); } diff --git a/dspace-api/src/main/java/org/dspace/content/BundleServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/BundleServiceImpl.java index 6a31c060fcf7..e5b95d7d9dc8 100644 --- a/dspace-api/src/main/java/org/dspace/content/BundleServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/BundleServiceImpl.java @@ -37,6 +37,7 @@ import org.dspace.core.LogHelper; import org.dspace.eperson.Group; import org.dspace.event.Event; +import org.hibernate.Session; import org.springframework.beans.factory.annotation.Autowired; /** @@ -70,20 +71,18 @@ protected BundleServiceImpl() { } @Override - public Bundle find(Context context, UUID id) throws SQLException { + public Bundle find(Session session, UUID id) throws SQLException { // First check the cache - Bundle bundle = bundleDAO.findByID(context.getSession(), Bundle.class, id); + Bundle bundle = bundleDAO.findByID(session, Bundle.class, id); if (bundle == null) { if (log.isDebugEnabled()) { - log.debug(LogHelper.getHeader(context, "find_bundle", - "not_found,bundle_id=" + id)); + log.debug("find_bundle not_found,bundle_id={}", id); } return null; } else { if (log.isDebugEnabled()) { - log.debug(LogHelper.getHeader(context, "find_bundle", - "bundle_id=" + id)); + log.debug("find_bundle bundle_id={}", id); } return bundle; @@ -396,7 +395,7 @@ public void setOrder(Context context, Bundle bundle, UUID[] bitstreamIds) throws // Loop through and ensure these Bitstream IDs are all valid. Add them to list of updatedBitstreams. for (int i = 0; i < bitstreamIds.length; i++) { UUID bitstreamId = bitstreamIds[i]; - Bitstream bitstream = bitstreamService.find(context, bitstreamId); + Bitstream bitstream = bitstreamService.find(context.getSession(), bitstreamId); // If we have an invalid Bitstream ID, just ignore it, but log a warning if (bitstream == null) { @@ -561,17 +560,17 @@ public int getSupportsTypeConstant() { } @Override - public Bundle findByIdOrLegacyId(Context context, String id) throws SQLException { + public Bundle findByIdOrLegacyId(Session session, String id) throws SQLException { if (StringUtils.isNumeric(id)) { - return findByLegacyId(context, Integer.parseInt(id)); + return findByLegacyId(session, Integer.parseInt(id)); } else { - return find(context, UUID.fromString(id)); + return find(session, UUID.fromString(id)); } } @Override - public Bundle findByLegacyId(Context context, int id) throws SQLException { - return bundleDAO.findByLegacyId(context.getSession(), id, Bundle.class); + public Bundle findByLegacyId(Session session, int id) throws SQLException { + return bundleDAO.findByLegacyId(session, id, Bundle.class); } @Override diff --git a/dspace-api/src/main/java/org/dspace/content/CollectionServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/CollectionServiceImpl.java index eaedc9ccebb9..945922b4cca7 100644 --- a/dspace-api/src/main/java/org/dspace/content/CollectionServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/CollectionServiceImpl.java @@ -67,6 +67,7 @@ import org.dspace.xmlworkflow.state.Workflow; import org.dspace.xmlworkflow.storedcomponents.CollectionRole; import org.dspace.xmlworkflow.storedcomponents.service.CollectionRoleService; +import org.hibernate.Session; import org.springframework.beans.factory.annotation.Autowired; /** @@ -156,7 +157,7 @@ public Collection create(Context context, Community community, // create the default authorization policy for collections // of 'anonymous' READ - Group anonymousGroup = groupService.findByName(context, Group.ANONYMOUS); + Group anonymousGroup = groupService.findByName(context.getSession(), Group.ANONYMOUS); authorizeService.createResourcePolicy(context, newCollection, anonymousGroup, null, Constants.READ, null); @@ -192,27 +193,27 @@ public Collection create(Context context, Community community, } @Override - public List findAll(Context context) throws SQLException { - MetadataField nameField = metadataFieldService.findByElement(context, MetadataSchemaEnum.DC.getName(), + public List findAll(Session session) throws SQLException { + MetadataField nameField = metadataFieldService.findByElement(session, MetadataSchemaEnum.DC.getName(), "title", null); if (nameField == null) { throw new IllegalArgumentException( "Required metadata field '" + MetadataSchemaEnum.DC.getName() + ".title' doesn't exist!"); } - return collectionDAO.findAll(context.getSession(), nameField); + return collectionDAO.findAll(session.getSession(), nameField); } @Override - public List findAll(Context context, Integer limit, Integer offset) throws SQLException { - MetadataField nameField = metadataFieldService.findByElement(context, MetadataSchemaEnum.DC.getName(), + public List findAll(Session session, Integer limit, Integer offset) throws SQLException { + MetadataField nameField = metadataFieldService.findByElement(session, MetadataSchemaEnum.DC.getName(), "title", null); if (nameField == null) { throw new IllegalArgumentException( "Required metadata field '" + MetadataSchemaEnum.DC.getName() + ".title' doesn't exist!"); } - return collectionDAO.findAll(context.getSession(), nameField, limit, offset); + return collectionDAO.findAll(session.getSession(), nameField, limit, offset); } @Override @@ -226,7 +227,7 @@ public List findAuthorizedOptimized(Context context, int actionID) t List myResults = new ArrayList<>(); if (authorizeService.isAdmin(context)) { - return findAll(context); + return findAll(context.getSession()); } //Check eperson->policy @@ -314,8 +315,8 @@ public List findGroupMapped(Context context, int actionID) throws SQ } @Override - public Collection find(Context context, UUID id) throws SQLException { - return collectionDAO.findByID(context.getSession(), Collection.class, id); + public Collection find(Session session, UUID id) throws SQLException { + return collectionDAO.findByID(session, Collection.class, id); } @Override @@ -747,7 +748,7 @@ public void delete(Context context, Collection collection) throws SQLException, // Remove items // Remove items - Iterator items = itemService.findAllByCollection(context, collection); + Iterator items = itemService.findAllByCollection(context.getSession(), collection); while (items.hasNext()) { Item item = items.next(); // items.remove(); @@ -825,7 +826,7 @@ public List findAuthorized(Context context, Community community, int if (community != null) { myCollections = community.getCollections(); } else { - myCollections = findAll(context); + myCollections = findAll(context.getSession()); } // now build a list of collections you have authorization for @@ -844,8 +845,8 @@ public Collection findByGroup(Context context, Group group) throws SQLException } @Override - public List findCollectionsWithSubscribers(Context context) throws SQLException { - return collectionDAO.findCollectionsWithSubscribers(context.getSession()); + public List findCollectionsWithSubscribers(Session session) throws SQLException { + return collectionDAO.findCollectionsWithSubscribers(session); } @Override @@ -896,17 +897,17 @@ public void updateLastModified(Context context, Collection collection) throws SQ } @Override - public Collection findByIdOrLegacyId(Context context, String id) throws SQLException { + public Collection findByIdOrLegacyId(Session session, String id) throws SQLException { if (StringUtils.isNumeric(id)) { - return findByLegacyId(context, Integer.parseInt(id)); + return findByLegacyId(session, Integer.parseInt(id)); } else { - return find(context, UUID.fromString(id)); + return find(session, UUID.fromString(id)); } } @Override - public Collection findByLegacyId(Context context, int id) throws SQLException { - return collectionDAO.findByLegacyId(context.getSession(), id, Collection.class); + public Collection findByLegacyId(Session session, int id) throws SQLException { + return collectionDAO.findByLegacyId(session.getSession(), id, Collection.class); } @Override diff --git a/dspace-api/src/main/java/org/dspace/content/CommunityServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/CommunityServiceImpl.java index f1f01c736769..2cb012e5a4bc 100644 --- a/dspace-api/src/main/java/org/dspace/content/CommunityServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/CommunityServiceImpl.java @@ -42,6 +42,7 @@ import org.dspace.event.Event; import org.dspace.identifier.IdentifierException; import org.dspace.identifier.service.IdentifierService; +import org.hibernate.Session; import org.springframework.beans.factory.annotation.Autowired; /** @@ -117,7 +118,7 @@ public Community create(Community parent, Context context, String handle, // create the default authorization policy for communities // of 'anonymous' READ - Group anonymousGroup = groupService.findByName(context, Group.ANONYMOUS); + Group anonymousGroup = groupService.findByName(context.getSession(), Group.ANONYMOUS); authorizeService.createResourcePolicy(context, newCommunity, anonymousGroup, null, Constants.READ, null); @@ -138,7 +139,8 @@ public Community create(Community parent, Context context, String handle, // if creating a top-level Community, simulate an ADD event at the Site. if (parent == null) { - context.addEvent(new Event(Event.ADD, Constants.SITE, siteService.findSite(context).getID(), + context.addEvent(new Event(Event.ADD, Constants.SITE, + siteService.findSite(context.getSession()).getID(), Constants.COMMUNITY, newCommunity.getID(), newCommunity.getHandle(), getIdentifiers(context, newCommunity))); } @@ -151,45 +153,45 @@ public Community create(Community parent, Context context, String handle, } @Override - public Community find(Context context, UUID id) throws SQLException { - return communityDAO.findByID(context.getSession(), Community.class, id); + public Community find(Session session, UUID id) throws SQLException { + return communityDAO.findByID(session, Community.class, id); } @Override - public List findAll(Context context) throws SQLException { - MetadataField sortField = metadataFieldService.findByElement(context, MetadataSchemaEnum.DC.getName(), + public List findAll(Session session) throws SQLException { + MetadataField sortField = metadataFieldService.findByElement(session, MetadataSchemaEnum.DC.getName(), "title", null); if (sortField == null) { throw new IllegalArgumentException( "Required metadata field '" + MetadataSchemaEnum.DC.getName() + ".title' doesn't exist!"); } - return communityDAO.findAll(context.getSession(), sortField); + return communityDAO.findAll(session, sortField); } @Override - public List findAll(Context context, Integer limit, Integer offset) throws SQLException { - MetadataField nameField = metadataFieldService.findByElement(context, MetadataSchemaEnum.DC.getName(), + public List findAll(Session session, Integer limit, Integer offset) throws SQLException { + MetadataField nameField = metadataFieldService.findByElement(session, MetadataSchemaEnum.DC.getName(), "title", null); if (nameField == null) { throw new IllegalArgumentException( "Required metadata field '" + MetadataSchemaEnum.DC.getName() + ".title' doesn't exist!"); } - return communityDAO.findAll(context.getSession(), nameField, limit, offset); + return communityDAO.findAll(session, nameField, limit, offset); } @Override - public List findAllTop(Context context) throws SQLException { + public List findAllTop(Session session) throws SQLException { // get all communities that are not children - MetadataField sortField = metadataFieldService.findByElement(context, MetadataSchemaEnum.DC.getName(), + MetadataField sortField = metadataFieldService.findByElement(session, MetadataSchemaEnum.DC.getName(), "title", null); if (sortField == null) { throw new IllegalArgumentException( "Required metadata field '" + MetadataSchemaEnum.DC.getName() + ".title' doesn't exist!"); } - return communityDAO.findAllNoParent(context.getSession(), sortField); + return communityDAO.findAllNoParent(session, sortField); } @Override @@ -525,9 +527,10 @@ public void delete(Context context, Community community) throws SQLException, Au rawDelete(context, community); context.addEvent( - new Event(Event.REMOVE, Constants.SITE, siteService.findSite(context).getID(), Constants.COMMUNITY, - removedId, removedHandle, removedIdentifiers)); - + new Event(Event.REMOVE, Constants.SITE, + siteService.findSite(context.getSession()).getID(), + Constants.COMMUNITY, removedId, removedHandle, + removedIdentifiers)); } @Override @@ -693,17 +696,17 @@ public void updateLastModified(Context context, Community community) { } @Override - public Community findByIdOrLegacyId(Context context, String id) throws SQLException { + public Community findByIdOrLegacyId(Session session, String id) throws SQLException { if (StringUtils.isNumeric(id)) { - return findByLegacyId(context, Integer.parseInt(id)); + return findByLegacyId(session, Integer.parseInt(id)); } else { - return find(context, UUID.fromString(id)); + return find(session, UUID.fromString(id)); } } @Override - public Community findByLegacyId(Context context, int id) throws SQLException { - return communityDAO.findByLegacyId(context.getSession(), id, Community.class); + public Community findByLegacyId(Session session, int id) throws SQLException { + return communityDAO.findByLegacyId(session.getSession(), id, Community.class); } @Override diff --git a/dspace-api/src/main/java/org/dspace/content/DSpaceObjectServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/DSpaceObjectServiceImpl.java index 2119959073f0..c47eb5d76e19 100644 --- a/dspace-api/src/main/java/org/dspace/content/DSpaceObjectServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/DSpaceObjectServiceImpl.java @@ -202,7 +202,8 @@ public List getMetadata(T dso, String schema, String element, Str @Override public List addMetadata(Context context, T dso, String schema, String element, String qualifier, String lang, List values) throws SQLException { - MetadataField metadataField = metadataFieldService.findByElement(context, schema, element, qualifier); + MetadataField metadataField = metadataFieldService.findByElement(context.getSession(), + schema, element, qualifier); if (metadataField == null) { throw new SQLException( "bad_dublin_core schema=" + schema + "." + element + "." + qualifier + ". Metadata field does not " + @@ -218,7 +219,8 @@ public List addMetadata(Context context, T dso, String schema, St throws SQLException { // We will not verify that they are valid entries in the registry // until update() is called. - MetadataField metadataField = metadataFieldService.findByElement(context, schema, element, qualifier); + MetadataField metadataField = metadataFieldService.findByElement(context.getSession(), + schema, element, qualifier); if (metadataField == null) { throw new SQLException( "bad_dublin_core schema=" + schema + "." + element + "." + qualifier + ". Metadata field does not " + diff --git a/dspace-api/src/main/java/org/dspace/content/EntityServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/EntityServiceImpl.java index 2f34129f2e69..90542a079863 100644 --- a/dspace-api/src/main/java/org/dspace/content/EntityServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/EntityServiceImpl.java @@ -18,6 +18,7 @@ import org.dspace.content.service.RelationshipService; import org.dspace.content.service.RelationshipTypeService; import org.dspace.core.Context; +import org.hibernate.Session; import org.springframework.beans.factory.annotation.Autowired; public class EntityServiceImpl implements EntityService { @@ -35,16 +36,16 @@ public class EntityServiceImpl implements EntityService { protected ItemService itemService; @Override - public Entity findByItemId(Context context, UUID itemId) throws SQLException { + public Entity findByItemId(Session session, UUID itemId) throws SQLException { - return findByItemId(context, itemId, -1, -1); + return findByItemId(session, itemId, -1, -1); } @Override - public Entity findByItemId(Context context, UUID itemId, Integer limit, Integer offset) throws SQLException { + public Entity findByItemId(Session session, UUID itemId, Integer limit, Integer offset) throws SQLException { - Item item = itemService.find(context, itemId); - List relationshipList = relationshipService.findByItem(context, item, limit, offset, true); + Item item = itemService.find(session, itemId); + List relationshipList = relationshipService.findByItem(session, item, limit, offset, true); return new Entity(item, relationshipList); } @@ -91,7 +92,7 @@ public List getRelationsByTypeName(Context context, String typeNam @Override public List getRelationsByTypeName(Context context, String typeName, Integer limit, Integer offset) throws SQLException { - return relationshipService.findByTypeName(context, typeName, limit, offset); + return relationshipService.findByTypeName(context.getSession(), typeName, limit, offset); } @Override diff --git a/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java index 224cd4e7ca24..7302cd6045fa 100644 --- a/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java @@ -207,20 +207,18 @@ public Thumbnail getThumbnail(Context context, Item item, boolean requireOrigina } @Override - public Item find(Context context, UUID id) throws SQLException { - Item item = itemDAO.findByID(context.getSession(), Item.class, id); + public Item find(Session session, UUID id) throws SQLException { + Item item = itemDAO.findByID(session.getSession(), Item.class, id); if (item == null) { if (log.isDebugEnabled()) { - log.debug(LogHelper.getHeader(context, "find_item", - "not_found,item_id=" + id)); + log.debug("find_item not_found, item_id={}", id); } return null; } // not null, return item if (log.isDebugEnabled()) { - log.debug(LogHelper.getHeader(context, "find_item", "item_id=" - + id)); + log.debug("find_item item_id={}", id); } return item; @@ -277,71 +275,66 @@ public Item createTemplateItem(Context context, Collection collection) throws SQ } } - @Override - public Iterator findAll(Context context) throws SQLException { - return itemDAO.findAll(context.getSession(), true); - } - @Override public Iterator findAll(Session session) throws SQLException { return itemDAO.findAll(session, true); } @Override - public Iterator findAll(Context context, Integer limit, Integer offset) throws SQLException { - return itemDAO.findAll(context.getSession(), true, limit, offset); + public Iterator findAll(Session session, Integer limit, Integer offset) throws SQLException { + return itemDAO.findAll(session, true, limit, offset); } @Override - public Iterator findAllUnfiltered(Context context) throws SQLException { - return itemDAO.findAll(context.getSession(), true, true); + public Iterator findAllUnfiltered(Session session) throws SQLException { + return itemDAO.findAll(session, true, true); } @Override - public Iterator findAllRegularItems(Context context) throws SQLException { - return itemDAO.findAllRegularItems(context.getSession()); + public Iterator findAllRegularItems(Session session) throws SQLException { + return itemDAO.findAllRegularItems(session); } @Override - public Iterator findBySubmitter(Context context, EPerson eperson) throws SQLException { - return itemDAO.findBySubmitter(context.getSession(), eperson); + public Iterator findBySubmitter(Session session, EPerson eperson) throws SQLException { + return itemDAO.findBySubmitter(session, eperson); } @Override - public Iterator findBySubmitter(Context context, EPerson eperson, boolean retrieveAllItems) + public Iterator findBySubmitter(Session session, EPerson eperson, boolean retrieveAllItems) throws SQLException { - return itemDAO.findBySubmitter(context.getSession(), eperson, retrieveAllItems); + return itemDAO.findBySubmitter(session, eperson, retrieveAllItems); } @Override - public Iterator findBySubmitterDateSorted(Context context, EPerson eperson, Integer limit) + public Iterator findBySubmitterDateSorted(Session session, EPerson eperson, Integer limit) throws SQLException { MetadataField metadataField = metadataFieldService - .findByElement(context, MetadataSchemaEnum.DC.getName(), "date", "accessioned"); + .findByElement(session, MetadataSchemaEnum.DC.getName(), "date", "accessioned"); if (metadataField == null) { throw new IllegalArgumentException( "Required metadata field '" + MetadataSchemaEnum.DC.getName() + ".date.accessioned' doesn't exist!"); } - return itemDAO.findBySubmitter(context.getSession(), eperson, metadataField, limit); + return itemDAO.findBySubmitter(session, eperson, metadataField, limit); } @Override - public Iterator findByCollection(Context context, Collection collection) throws SQLException { - return findByCollection(context, collection, null, null); + public Iterator findByCollection(Session session, Collection collection) throws SQLException { + return findByCollection(session, collection, null, null); } @Override - public Iterator findByCollection(Context context, Collection collection, Integer limit, Integer offset) + public Iterator findByCollection(Session session, Collection collection, Integer limit, Integer offset) throws SQLException { - return itemDAO.findArchivedByCollection(context.getSession(), collection, limit, offset); + return itemDAO.findArchivedByCollection(session, collection, limit, offset); } @Override - public Iterator findByCollectionMapping(Context context, Collection collection, Integer limit, Integer offset) + public Iterator findByCollectionMapping(Session session, Collection collection, Integer limit, Integer offset) throws SQLException { - return itemDAO.findArchivedByCollectionExcludingOwning(context.getSession(), collection, limit, offset); + return itemDAO.findArchivedByCollectionExcludingOwning(session, collection, limit, offset); } @Override @@ -349,11 +342,6 @@ public int countByCollectionMapping(Context context, Collection collection) thro return itemDAO.countArchivedByCollectionExcludingOwning(context.getSession(), collection); } - @Override - public Iterator findAllByCollection(Context context, Collection collection) throws SQLException { - return itemDAO.findAllByCollection(context.getSession(), collection); - } - @Override public Iterator findAllByCollection(Session session, Collection collection) throws SQLException { @@ -361,21 +349,21 @@ public Iterator findAllByCollection(Session session, Collection collection } @Override - public Iterator findAllByCollection(Context context, Collection collection, Integer limit, Integer offset) + public Iterator findAllByCollection(Session session, Collection collection, Integer limit, Integer offset) throws SQLException { - return itemDAO.findAllByCollection(context.getSession(), collection, limit, offset); + return itemDAO.findAllByCollection(session, collection, limit, offset); } @Override - public Iterator findInArchiveOrWithdrawnDiscoverableModifiedSince(Context context, Date since) + public Iterator findInArchiveOrWithdrawnDiscoverableModifiedSince(Session session, Date since) throws SQLException { - return itemDAO.findAll(context.getSession(), true, true, true, since); + return itemDAO.findAll(session, true, true, true, since); } @Override - public Iterator findInArchiveOrWithdrawnNonDiscoverableModifiedSince(Context context, Date since) + public Iterator findInArchiveOrWithdrawnNonDiscoverableModifiedSince(Session session, Date since) throws SQLException { - return itemDAO.findAll(context.getSession(), true, true, false, since); + return itemDAO.findAll(session, true, true, false, since); } @Override @@ -792,7 +780,8 @@ protected void rawDelete(Context context, Item item) throws AuthorizeException, //remove subscription related with it subscribeService.deleteByDspaceObject(context, item); // Remove relationships - for (Relationship relationship : relationshipService.findByItem(context, item, -1, -1, false, false)) { + for (Relationship relationship : relationshipService.findByItem(context.getSession(), + item, -1, -1, false, false)) { relationshipService.forceDelete(context, relationship, false, false); } @@ -1109,7 +1098,7 @@ public boolean hasUploadedFiles(Item item) throws SQLException { @Override public List getCollectionsNotLinked(Context context, Item item) throws SQLException { - List allCollections = collectionService.findAll(context); + List allCollections = collectionService.findAll(context.getSession()); List linkedCollections = item.getCollections(); List notLinkedCollections = new ArrayList<>(allCollections.size() - linkedCollections.size()); @@ -1307,96 +1296,62 @@ private boolean shouldBeAppended(Context context, DSpaceObject dso, ResourcePoli return !(hasCustomPolicy && isAnonimousGroup && datesAreNull); } - /** - * Returns an iterator of Items possessing the passed metadata field, or only - * those matching the passed value, if value is not Item.ANY - * - * @param context DSpace context object - * @param schema metadata field schema - * @param element metadata field element - * @param qualifier metadata field qualifier - * @param value field value or Item.ANY to match any value - * @return an iterator over the items matching that authority value - * @throws SQLException if database error - * An exception that provides information on a database access error or other errors. - * @throws AuthorizeException if authorization error - * Exception indicating the current user of the context does not have permission - * to perform a particular action. - */ @Override - public Iterator findArchivedByMetadataField(Context context, + public Iterator findArchivedByMetadataField(Session session, String schema, String element, String qualifier, String value) throws SQLException, AuthorizeException { - MetadataSchema mds = metadataSchemaService.find(context, schema); + MetadataSchema mds = metadataSchemaService.find(session, schema); if (mds == null) { throw new IllegalArgumentException("No such metadata schema: " + schema); } - MetadataField mdf = metadataFieldService.findByElement(context, mds, element, qualifier); + MetadataField mdf = metadataFieldService.findByElement(session, mds, element, qualifier); if (mdf == null) { throw new IllegalArgumentException( "No such metadata field: schema=" + schema + ", element=" + element + ", qualifier=" + qualifier); } if (Item.ANY.equals(value)) { - return itemDAO.findByMetadataField(context.getSession(), mdf, null, true); + return itemDAO.findByMetadataField(session.getSession(), mdf, null, true); } else { - return itemDAO.findByMetadataField(context.getSession(), mdf, value, true); + return itemDAO.findByMetadataField(session.getSession(), mdf, value, true); } } @Override - public Iterator findArchivedByMetadataField(Context context, String metadataField, String value) + public Iterator findArchivedByMetadataField(Session session, String metadataField, String value) throws SQLException, AuthorizeException { String[] mdValueByField = getMDValueByField(metadataField); - return findArchivedByMetadataField(context, mdValueByField[0], mdValueByField[1], mdValueByField[2], value); + return findArchivedByMetadataField(session, mdValueByField[0], mdValueByField[1], mdValueByField[2], value); } - /** - * Returns an iterator of Items possessing the passed metadata field, or only - * those matching the passed value, if value is not Item.ANY - * - * @param context DSpace context object - * @param schema metadata field schema - * @param element metadata field element - * @param qualifier metadata field qualifier - * @param value field value or Item.ANY to match any value - * @return an iterator over the items matching that authority value - * @throws SQLException if database error - * An exception that provides information on a database access error or other errors. - * @throws AuthorizeException if authorization error - * Exception indicating the current user of the context does not have permission - * to perform a particular action. - * @throws IOException if IO error - * A general class of exceptions produced by failed or interrupted I/O operations. - */ @Override - public Iterator findByMetadataField(Context context, + public Iterator findByMetadataField(Session session, String schema, String element, String qualifier, String value) throws SQLException, AuthorizeException, IOException { - MetadataSchema mds = metadataSchemaService.find(context, schema); + MetadataSchema mds = metadataSchemaService.find(session, schema); if (mds == null) { throw new IllegalArgumentException("No such metadata schema: " + schema); } - MetadataField mdf = metadataFieldService.findByElement(context, mds, element, qualifier); + MetadataField mdf = metadataFieldService.findByElement(session, mds, element, qualifier); if (mdf == null) { throw new IllegalArgumentException( "No such metadata field: schema=" + schema + ", element=" + element + ", qualifier=" + qualifier); } if (Item.ANY.equals(value)) { - return itemDAO.findByMetadataField(context.getSession(), mdf, null, true); + return itemDAO.findByMetadataField(session, mdf, null, true); } else { - return itemDAO.findByMetadataField(context.getSession(), mdf, value, true); + return itemDAO.findByMetadataField(session, mdf, value, true); } } @Override - public Iterator findByMetadataQuery(Context context, List> listFieldList, + public Iterator findByMetadataQuery(Session session, List> listFieldList, List query_op, List query_val, List collectionUuids, String regexClause, int offset, int limit) throws SQLException, AuthorizeException, IOException { return itemDAO - .findByMetadataQuery(context.getSession(), listFieldList, query_op, + .findByMetadataQuery(session, listFieldList, query_op, query_val, collectionUuids, regexClause, offset, limit); } @@ -1480,38 +1435,38 @@ public DSpaceObject getParentObject(Context context, Item item) throws SQLExcept } @Override - public Iterator findByAuthorityValue(Context context, String schema, String element, String qualifier, + public Iterator findByAuthorityValue(Session session, String schema, String element, String qualifier, String value) throws SQLException, AuthorizeException { - MetadataSchema mds = metadataSchemaService.find(context, schema); + MetadataSchema mds = metadataSchemaService.find(session, schema); if (mds == null) { throw new IllegalArgumentException("No such metadata schema: " + schema); } - MetadataField mdf = metadataFieldService.findByElement(context, mds, element, qualifier); + MetadataField mdf = metadataFieldService.findByElement(session, mds, element, qualifier); if (mdf == null) { throw new IllegalArgumentException( "No such metadata field: schema=" + schema + ", element=" + element + ", qualifier=" + qualifier); } - return itemDAO.findByAuthorityValue(context.getSession(), mdf, value, true); + return itemDAO.findByAuthorityValue(session, mdf, value, true); } @Override - public Iterator findByMetadataFieldAuthority(Context context, String mdString, String authority) + public Iterator findByMetadataFieldAuthority(Session session, String mdString, String authority) throws SQLException, AuthorizeException { String[] elements = getElementsFilled(mdString); String schema = elements[0]; String element = elements[1]; String qualifier = elements[2]; - MetadataSchema mds = metadataSchemaService.find(context, schema); + MetadataSchema mds = metadataSchemaService.find(session, schema); if (mds == null) { throw new IllegalArgumentException("No such metadata schema: " + schema); } - MetadataField mdf = metadataFieldService.findByElement(context, mds, element, qualifier); + MetadataField mdf = metadataFieldService.findByElement(session, mds, element, qualifier); if (mdf == null) { throw new IllegalArgumentException( "No such metadata field: schema=" + schema + ", element=" + element + ", qualifier=" + qualifier); } - return findByAuthorityValue(context, mds.getName(), mdf.getElement(), mdf.getQualifier(), authority); + return findByAuthorityValue(session, mds.getName(), mdf.getElement(), mdf.getQualifier(), authority); } @Override @@ -1572,23 +1527,23 @@ protected void getAuthoritiesAndConfidences(String fieldKey, Collection collecti } @Override - public Item findByIdOrLegacyId(Context context, String id) throws SQLException { + public Item findByIdOrLegacyId(Session session, String id) throws SQLException { if (StringUtils.isNumeric(id)) { - return findByLegacyId(context, Integer.parseInt(id)); + return findByLegacyId(session, Integer.parseInt(id)); } else { - return find(context, UUID.fromString(id)); + return find(session, UUID.fromString(id)); } } @Override - public Item findByLegacyId(Context context, int id) throws SQLException { - return itemDAO.findByLegacyId(context.getSession(), id, Item.class); + public Item findByLegacyId(Session session, int id) throws SQLException { + return itemDAO.findByLegacyId(session, id, Item.class); } @Override - public Iterator findByLastModifiedSince(Context context, Date last) + public Iterator findByLastModifiedSince(Session session, Date last) throws SQLException { - return itemDAO.findByLastModifiedSince(context.getSession(), last); + return itemDAO.findByLastModifiedSince(session, last); } @Override @@ -1719,7 +1674,8 @@ public MetadataValue addMetadata(Context context, Item dso, String schema, Strin // We will not verify that they are valid entries in the registry // until update() is called. - MetadataField metadataField = metadataFieldService.findByElement(context, schema, element, qualifier); + MetadataField metadataField = metadataFieldService.findByElement(context.getSession(), + schema, element, qualifier); if (metadataField == null) { throw new SQLException( "bad_dublin_core schema=" + schema + "." + element + "." + qualifier + ". Metadata field does not " + diff --git a/dspace-api/src/main/java/org/dspace/content/MetadataDSpaceCsvExportServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/MetadataDSpaceCsvExportServiceImpl.java index 8bc34d3f5ed1..aae9d73bc215 100644 --- a/dspace-api/src/main/java/org/dspace/content/MetadataDSpaceCsvExportServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/MetadataDSpaceCsvExportServiceImpl.java @@ -43,7 +43,7 @@ public DSpaceCSV handleExport(Context context, boolean exportAllItems, boolean e if (exportAllItems) { handler.logInfo("Exporting whole repository WARNING: May take some time!"); - toExport = itemService.findAll(context); + toExport = itemService.findAll(context.getSession()); } else { DSpaceObject dso = HandleServiceFactory.getInstance().getHandleService() .resolveToObject(context, identifier); @@ -63,7 +63,7 @@ public DSpaceCSV handleExport(Context context, boolean exportAllItems, boolean e } else if (dso.getType() == Constants.COLLECTION) { handler.logInfo("Exporting collection '" + dso.getName() + "' (" + identifier + ")"); Collection collection = (Collection) dso; - toExport = itemService.findByCollection(context, collection); + toExport = itemService.findByCollection(context.getSession(), collection); } else if (dso.getType() == Constants.COMMUNITY) { handler.logInfo("Exporting community '" + dso.getName() + "' (" + identifier + ")"); toExport = buildFromCommunity(context, (Community) dso); @@ -117,7 +117,7 @@ private Iterator buildFromCommunity(Context context, Community community) // Add all the collections List collections = community.getCollections(); for (Collection collection : collections) { - Iterator items = itemService.findByCollection(context, collection); + Iterator items = itemService.findByCollection(context.getSession(), collection); while (items.hasNext()) { result.add(items.next()); } diff --git a/dspace-api/src/main/java/org/dspace/content/MetadataFieldServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/MetadataFieldServiceImpl.java index 4cbb45f43cf1..e0e94e41d9e6 100644 --- a/dspace-api/src/main/java/org/dspace/content/MetadataFieldServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/MetadataFieldServiceImpl.java @@ -28,6 +28,7 @@ import org.dspace.core.LogHelper; import org.dspace.discovery.indexobject.IndexableMetadataField; import org.dspace.event.Event; +import org.hibernate.Session; import org.springframework.beans.factory.annotation.Autowired; /** @@ -91,24 +92,24 @@ public MetadataField create(Context context, MetadataSchema metadataSchema, Stri } @Override - public MetadataField find(Context context, int id) throws SQLException { - return metadataFieldDAO.findByID(context.getSession(), MetadataField.class, id); + public MetadataField find(Session session, int id) throws SQLException { + return metadataFieldDAO.findByID(session, MetadataField.class, id); } @Override - public MetadataField findByElement(Context context, MetadataSchema metadataSchema, String element, String qualifier) + public MetadataField findByElement(Session session, MetadataSchema metadataSchema, String element, String qualifier) throws SQLException { - return metadataFieldDAO.findByElement(context.getSession(), metadataSchema, element, qualifier); + return metadataFieldDAO.findByElement(session, metadataSchema, element, qualifier); } @Override - public MetadataField findByElement(Context context, String metadataSchemaName, String element, String qualifier) + public MetadataField findByElement(Session session, String metadataSchemaName, String element, String qualifier) throws SQLException { - return metadataFieldDAO.findByElement(context.getSession(), metadataSchemaName, element, qualifier); + return metadataFieldDAO.findByElement(session, metadataSchemaName, element, qualifier); } @Override - public MetadataField findByString(Context context, String mdString, char separator) throws SQLException { + public MetadataField findByString(Session session, String mdString, char separator) throws SQLException { String[] seq = StringUtils.split(mdString, separator); String schema = seq.length > 1 ? seq[0] : null; String element = seq.length > 1 ? seq[1] : null; @@ -116,24 +117,24 @@ public MetadataField findByString(Context context, String mdString, char separat if (schema == null || element == null) { return null; } else { - return this.findByElement(context, schema, element, qualifier); + return this.findByElement(session, schema, element, qualifier); } } @Override - public List findFieldsByElementNameUnqualified(Context context, String metadataSchemaName, + public List findFieldsByElementNameUnqualified(Session session, String metadataSchemaName, String element) throws SQLException { - return metadataFieldDAO.findFieldsByElementNameUnqualified(context.getSession(), metadataSchemaName, element); + return metadataFieldDAO.findFieldsByElementNameUnqualified(session, metadataSchemaName, element); } @Override - public List findAll(Context context) throws SQLException { - return metadataFieldDAO.findAll(context.getSession(), MetadataField.class); + public List findAll(Session session) throws SQLException { + return metadataFieldDAO.findAll(session, MetadataField.class); } @Override - public List findAllInSchema(Context context, MetadataSchema metadataSchema) throws SQLException { - return metadataFieldDAO.findAllInSchema(context.getSession(), metadataSchema); + public List findAllInSchema(Session session, MetadataSchema metadataSchema) throws SQLException { + return metadataFieldDAO.findAllInSchema(session, metadataSchema); } @Override @@ -174,7 +175,7 @@ public void delete(Context context, MetadataField metadataField) throws SQLExcep // Check for existing usages of this field List values = null; try { - values = metadataValueService.findByField(context, metadataField); + values = metadataValueService.findByField(context.getSession(), metadataField); } catch (IOException io) { // ignore } diff --git a/dspace-api/src/main/java/org/dspace/content/MetadataSchemaServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/MetadataSchemaServiceImpl.java index b18f841d9b01..da100b492268 100644 --- a/dspace-api/src/main/java/org/dspace/content/MetadataSchemaServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/MetadataSchemaServiceImpl.java @@ -18,6 +18,7 @@ import org.dspace.content.service.MetadataSchemaService; import org.dspace.core.Context; import org.dspace.core.LogHelper; +import org.hibernate.Session; import org.springframework.beans.factory.annotation.Autowired; /** @@ -119,7 +120,7 @@ public void delete(Context context, MetadataSchema metadataSchema) throws SQLExc "Only administrators may modify the metadata registry"); } - for (MetadataField metadataField : metadataFieldService.findAllInSchema(context, metadataSchema)) { + for (MetadataField metadataField : metadataFieldService.findAllInSchema(context.getSession(), metadataSchema)) { metadataFieldService.delete(context, metadataField); } @@ -135,17 +136,17 @@ public List findAll(Context context) throws SQLException { } @Override - public MetadataSchema find(Context context, int id) throws SQLException { - return metadataSchemaDAO.findByID(context.getSession(), MetadataSchema.class, id); + public MetadataSchema find(Session session, int id) throws SQLException { + return metadataSchemaDAO.findByID(session.getSession(), MetadataSchema.class, id); } @Override - public MetadataSchema find(Context context, String shortName) throws SQLException { + public MetadataSchema find(Session session, String shortName) throws SQLException { // If we are not passed a valid schema name then return if (shortName == null) { return null; } - return metadataSchemaDAO.find(context.getSession(), shortName); + return metadataSchemaDAO.find(session.getSession(), shortName); } diff --git a/dspace-api/src/main/java/org/dspace/content/MetadataValueServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/MetadataValueServiceImpl.java index 70dc4a4530ab..da04409ab74e 100644 --- a/dspace-api/src/main/java/org/dspace/content/MetadataValueServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/MetadataValueServiceImpl.java @@ -22,6 +22,7 @@ import org.dspace.core.Constants; import org.dspace.core.Context; import org.dspace.core.LogHelper; +import org.hibernate.Session; import org.springframework.beans.factory.annotation.Autowired; /** @@ -62,21 +63,21 @@ public MetadataValue create(Context context, DSpaceObject dso, MetadataField met } @Override - public MetadataValue find(Context context, int valueId) throws IOException, SQLException { + public MetadataValue find(Session session, int valueId) throws IOException, SQLException { // Grab row from DB - return metadataValueDAO.findByID(context.getSession(), MetadataValue.class, valueId); + return metadataValueDAO.findByID(session, MetadataValue.class, valueId); } @Override - public List findByField(Context context, MetadataField metadataField) + public List findByField(Session session, MetadataField metadataField) throws IOException, SQLException { - return metadataValueDAO.findByField(context.getSession(), metadataField); + return metadataValueDAO.findByField(session, metadataField); } @Override - public Iterator findByFieldAndValue(Context context, MetadataField metadataField, String value) + public Iterator findByFieldAndValue(Session session, MetadataField metadataField, String value) throws SQLException { - return metadataValueDAO.findItemValuesByFieldAndValue(context.getSession(), metadataField, value); + return metadataValueDAO.findItemValuesByFieldAndValue(session, metadataField, value); } @Override @@ -95,7 +96,8 @@ public void update(Context context, MetadataValue metadataValue, boolean updateL DSpaceObjectService dSpaceObjectService = contentServiceFactory .getDSpaceObjectService(metadataValue.getDSpaceObject()); // get the right class for our dspaceobject not the DSpaceObject lazy proxy - DSpaceObject dso = dSpaceObjectService.find(context, metadataValue.getDSpaceObject().getID()); + DSpaceObject dso = dSpaceObjectService.find(context.getSession(), + metadataValue.getDSpaceObject().getID()); dSpaceObjectService.updateLastModified(context, dso); } update(context, metadataValue); @@ -110,8 +112,8 @@ public void delete(Context context, MetadataValue metadataValue) throws SQLExcep } @Override - public Iterator findByValueLike(Context context, String value) throws SQLException { - return metadataValueDAO.findByValueLike(context.getSession(), value); + public Iterator findByValueLike(Session session, String value) throws SQLException { + return metadataValueDAO.findByValueLike(session, value); } @Override diff --git a/dspace-api/src/main/java/org/dspace/content/RelationshipMetadataServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/RelationshipMetadataServiceImpl.java index c6cf21a55fc7..98c5df198f5b 100644 --- a/dspace-api/src/main/java/org/dspace/content/RelationshipMetadataServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/RelationshipMetadataServiceImpl.java @@ -73,7 +73,8 @@ public List getRelationshipMetadata(Item item, boolea // These fields contain the UUIDs of the items that have a relationship with current item, // from the perspective of this item. In other words, given a relationship with this item, // the other item should have "latest status" in order to appear in relation.* fields. - List relationships = relationshipService.findByItem(context, item, -1, -1, true); + List relationships + = relationshipService.findByItem(context.getSession(), item, -1, -1, true); for (Relationship relationship : relationships) { fullMetadataValueList .addAll(findRelationshipMetadataValueForItemRelationship(context, item, entityType.getLabel(), @@ -88,11 +89,13 @@ public List getRelationshipMetadata(Item item, boolea } /** - * Create the list of relation.*.latestForDiscovery virtual metadata values for the given item. + * Create the list of relation.*.latestForDiscovery virtual metadata values + * for the given item. * @param context the DSpace context. * @param item the item. * @param itemEntityType the entity type of the item. * @return a list (may be empty) of metadata values of type relation.*.latestForDiscovery. + * @throws java.sql.SQLException passed through. */ protected List findLatestForDiscoveryMetadataValues( Context context, Item item, EntityType itemEntityType @@ -114,7 +117,7 @@ protected List findLatestForDiscoveryMetadataValues( && Objects.equals(relationshipType.getLeftType(), itemEntityType)) { String element = relationshipType.getLeftwardType(); List data = relationshipService - .findByLatestItemAndRelationshipType(context, item, relationshipType, true); + .findByLatestItemAndRelationshipType(context.getSession(), item, relationshipType, true); mdvs.addAll(constructLatestForDiscoveryMetadataValues(context, schema, element, qualifier, data)); } @@ -127,7 +130,7 @@ protected List findLatestForDiscoveryMetadataValues( if (relationshipType.getTilted() != LEFT && relationshipType.getRightType().equals(itemEntityType)) { String element = relationshipType.getRightwardType(); List data = relationshipService - .findByLatestItemAndRelationshipType(context, item, relationshipType, false); + .findByLatestItemAndRelationshipType(context.getSession(), item, relationshipType, false); mdvs.addAll(constructLatestForDiscoveryMetadataValues(context, schema, element, qualifier, data)); } } @@ -329,7 +332,7 @@ private RelationshipMetadataValue constructMetadataValue(Context context, String MetadataField metadataField = null; try { metadataField = metadataFieldService - .findByElement(context, metadataSchema, metadataElement, metadataQualifier); + .findByElement(context.getSession(), metadataSchema, metadataElement, metadataQualifier); } catch (SQLException e) { log.error("Could not find element with MetadataSchema: " + metadataSchema + ", MetadataElement: " + metadataElement + " and MetadataQualifier: " + metadataQualifier, e); diff --git a/dspace-api/src/main/java/org/dspace/content/RelationshipServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/RelationshipServiceImpl.java index 3bc1607994e9..6dea8ab27c0d 100644 --- a/dspace-api/src/main/java/org/dspace/content/RelationshipServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/RelationshipServiceImpl.java @@ -35,6 +35,7 @@ import org.dspace.core.Context; import org.dspace.services.ConfigurationService; import org.dspace.versioning.utils.RelationshipVersioningUtils; +import org.hibernate.Session; import org.springframework.beans.factory.annotation.Autowired; public class RelationshipServiceImpl implements RelationshipService { @@ -236,10 +237,10 @@ private void updatePlaceInRelationship( // This can also imply there may be overlapping places, and/or the given relationship will overlap // But the shift will allow this, and only happen when needed based on the latest status List leftRelationships = findByItemAndRelationshipType( - context, leftItem, relationship.getRelationshipType(), true, -1, -1, false + context.getSession(), leftItem, relationship.getRelationshipType(), true, -1, -1, false ); List rightRelationships = findByItemAndRelationshipType( - context, rightItem, relationship.getRelationshipType(), false, -1, -1, false + context.getSession(), rightItem, relationship.getRelationshipType(), false, -1, -1, false ); // These relationships are only deleted from the temporary lists in case they're present in them so that we can @@ -583,8 +584,8 @@ private boolean verifyMaxCardinality(Context context, Item itemToProcess, //no need to check the relationships return true; } - List rightRelationships = findByItemAndRelationshipType(context, itemToProcess, relationshipType, - isLeft); + List rightRelationships = findByItemAndRelationshipType(context.getSession(), + itemToProcess, relationshipType, isLeft); if (rightRelationships.size() >= maxCardinality) { return false; } @@ -608,23 +609,23 @@ public Relationship find(Context context, int id) throws SQLException { } @Override - public List findByItem(Context context, Item item) throws SQLException { - return findByItem(context, item, -1, -1, false); + public List findByItem(Session session, Item item) throws SQLException { + return findByItem(session, item, -1, -1, false); } @Override public List findByItem( - Context context, Item item, Integer limit, Integer offset, boolean excludeTilted + Session session, Item item, Integer limit, Integer offset, boolean excludeTilted ) throws SQLException { - return findByItem(context, item, limit, offset, excludeTilted, true); + return findByItem(session, item, limit, offset, excludeTilted, true); } @Override public List findByItem( - Context context, Item item, Integer limit, Integer offset, boolean excludeTilted, boolean excludeNonLatest + Session session, Item item, Integer limit, Integer offset, boolean excludeTilted, boolean excludeNonLatest ) throws SQLException { List list = - relationshipDAO.findByItem(context.getSession(), item, limit, offset, excludeTilted, excludeNonLatest); + relationshipDAO.findByItem(session, item, limit, offset, excludeTilted, excludeNonLatest); list.sort((o1, o2) -> { int relationshipType = o1.getRelationshipType().getLeftwardType() @@ -643,13 +644,13 @@ public List findByItem( } @Override - public List findAll(Context context) throws SQLException { - return findAll(context, -1, -1); + public List findAll(Session session) throws SQLException { + return findAll(session, -1, -1); } @Override - public List findAll(Context context, Integer limit, Integer offset) throws SQLException { - return relationshipDAO.findAll(context.getSession(), Relationship.class, limit, offset); + public List findAll(Session session, Integer limit, Integer offset) throws SQLException { + return relationshipDAO.findAll(session, Relationship.class, limit, offset); } @Override @@ -812,7 +813,8 @@ private void findModifiedDiscoveryItemsForCurrentItem(Context context, Item item // we have a relationship type where the items attached to the current item will inherit // virtual metadata from the current item // retrieving the actual relationships so the related items can be updated - List list = findByItemAndRelationshipType(context, item, relationshipType, isLeft); + List list = findByItemAndRelationshipType(context.getSession(), + item, relationshipType, isLeft); for (Relationship foundRelationship : list) { Item nextItem; if (isLeft) { @@ -972,92 +974,93 @@ private boolean isRelationshipValidToDelete(Context context, Relationship relati private boolean checkMinCardinality(Context context, Item item, Relationship relationship, Integer minCardinality, boolean isLeft) throws SQLException { - List list = this.findByItemAndRelationshipType(context, item, relationship.getRelationshipType(), - isLeft, -1, -1); + List list = this.findByItemAndRelationshipType(context.getSession(), + item, relationship.getRelationshipType(), isLeft, -1, -1); if (minCardinality != null && !(list.size() > minCardinality)) { return false; } return true; } - public List findByItemAndRelationshipType(Context context, Item item, + public List findByItemAndRelationshipType(Session + session, Item item, RelationshipType relationshipType, boolean isLeft) throws SQLException { - return this.findByItemAndRelationshipType(context, item, relationshipType, isLeft, -1, -1); + return this.findByItemAndRelationshipType(session, item, relationshipType, isLeft, -1, -1); } @Override - public List findByItemAndRelationshipType(Context context, Item item, + public List findByItemAndRelationshipType(Session session, Item item, RelationshipType relationshipType) throws SQLException { - return findByItemAndRelationshipType(context, item, relationshipType, -1, -1, true); + return findByItemAndRelationshipType(session, item, relationshipType, -1, -1, true); } @Override - public List findByItemAndRelationshipType(Context context, Item item, + public List findByItemAndRelationshipType(Session session, Item item, RelationshipType relationshipType, int limit, int offset) throws SQLException { - return findByItemAndRelationshipType(context, item, relationshipType, limit, offset, true); + return findByItemAndRelationshipType(session, item, relationshipType, limit, offset, true); } @Override public List findByItemAndRelationshipType( - Context context, Item item, RelationshipType relationshipType, int limit, int offset, boolean excludeNonLatest + Session session, Item item, RelationshipType relationshipType, int limit, int offset, boolean excludeNonLatest ) throws SQLException { return relationshipDAO - .findByItemAndRelationshipType(context.getSession(), item, + .findByItemAndRelationshipType(session, item, relationshipType, limit, offset, excludeNonLatest); } @Override public List findByItemAndRelationshipType( - Context context, Item item, RelationshipType relationshipType, boolean isLeft, int limit, int offset + Session session, Item item, RelationshipType relationshipType, boolean isLeft, int limit, int offset ) throws SQLException { - return findByItemAndRelationshipType(context, item, relationshipType, isLeft, limit, offset, true); + return findByItemAndRelationshipType(session, item, relationshipType, isLeft, limit, offset, true); } @Override public List findByItemAndRelationshipType( - Context context, Item item, RelationshipType relationshipType, boolean isLeft, int limit, int offset, + Session session, Item item, RelationshipType relationshipType, boolean isLeft, int limit, int offset, boolean excludeNonLatest ) throws SQLException { return relationshipDAO - .findByItemAndRelationshipType(context.getSession(), item, + .findByItemAndRelationshipType(session, item, relationshipType, isLeft, limit, offset, excludeNonLatest); } @Override public List findByLatestItemAndRelationshipType( - Context context, Item latestItem, RelationshipType relationshipType, boolean isLeft + Session session, Item latestItem, RelationshipType relationshipType, boolean isLeft ) throws SQLException { return relationshipDAO - .findByLatestItemAndRelationshipType(context.getSession(), latestItem, relationshipType, isLeft); + .findByLatestItemAndRelationshipType(session, latestItem, relationshipType, isLeft); } @Override - public List findByRelationshipType(Context context, RelationshipType relationshipType) + public List findByRelationshipType(Session session, RelationshipType relationshipType) throws SQLException { - return findByRelationshipType(context, relationshipType, -1, -1); + return findByRelationshipType(session, relationshipType, -1, -1); } @Override - public List findByRelationshipType(Context context, RelationshipType relationshipType, Integer limit, + public List findByRelationshipType(Session session, RelationshipType relationshipType, Integer limit, Integer offset) throws SQLException { - return relationshipDAO.findByRelationshipType(context.getSession(), relationshipType, limit, offset); + return relationshipDAO.findByRelationshipType(session, relationshipType, limit, offset); } @Override - public List findByTypeName(Context context, String typeName) + public List findByTypeName(Session session, String typeName) throws SQLException { - return this.findByTypeName(context, typeName, -1, -1); + return this.findByTypeName(session, typeName, -1, -1); } @Override - public List findByTypeName(Context context, String typeName, Integer limit, Integer offset) + public List findByTypeName(Session session, String typeName, Integer limit, Integer offset) throws SQLException { - return relationshipDAO.findByTypeName(context.getSession(), typeName, limit, offset); + return relationshipDAO.findByTypeName(session, typeName, limit, offset); } @@ -1105,11 +1108,11 @@ public int countByTypeName(Context context, String typeName) } @Override - public List findByItemRelationshipTypeAndRelatedList(Context context, UUID focusUUID, + public List findByItemRelationshipTypeAndRelatedList(Session session, UUID focusUUID, RelationshipType relationshipType, List items, boolean isLeft, int offset, int limit) throws SQLException { return relationshipDAO - .findByItemAndRelationshipTypeAndList(context.getSession(), + .findByItemAndRelationshipTypeAndList(session, focusUUID, relationshipType, items, isLeft, offset,limit); } diff --git a/dspace-api/src/main/java/org/dspace/content/SiteServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/SiteServiceImpl.java index e719fd6c6cce..ec0ba9ace80e 100644 --- a/dspace-api/src/main/java/org/dspace/content/SiteServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/SiteServiceImpl.java @@ -19,6 +19,7 @@ import org.dspace.core.Context; import org.dspace.event.Event; import org.dspace.services.ConfigurationService; +import org.hibernate.Session; import org.springframework.beans.factory.annotation.Autowired; /** @@ -45,7 +46,7 @@ protected SiteServiceImpl() { @Override public Site createSite(Context context) throws SQLException { - Site site = findSite(context); + Site site = findSite(context.getSession()); if (site == null) { //Only one site can be created at any point in time site = siteDAO.create(context.getSession(), new Site()); @@ -55,13 +56,13 @@ public Site createSite(Context context) throws SQLException { } @Override - public Site findSite(Context context) throws SQLException { - return siteDAO.findSite(context.getSession()); + public Site findSite(Session session) throws SQLException { + return siteDAO.findSite(session); } @Override - public Site find(Context context, UUID id) throws SQLException { - return siteDAO.findByID(context.getSession(), Site.class, id); + public Site find(Session session, UUID id) throws SQLException { + return siteDAO.findByID(session, Site.class, id); } @Override diff --git a/dspace-api/src/main/java/org/dspace/content/authority/EPersonAuthority.java b/dspace-api/src/main/java/org/dspace/content/authority/EPersonAuthority.java index 8d929a8d3bdf..01821eb00426 100644 --- a/dspace-api/src/main/java/org/dspace/content/authority/EPersonAuthority.java +++ b/dspace-api/src/main/java/org/dspace/content/authority/EPersonAuthority.java @@ -40,9 +40,9 @@ public class EPersonAuthority implements ChoiceAuthority { **/ private String authorityName; - private EPersonService ePersonService = EPersonServiceFactory.getInstance().getEPersonService(); + private final EPersonService ePersonService = EPersonServiceFactory.getInstance().getEPersonService(); - private AuthorizeService authorizeService = AuthorizeServiceFactory.getInstance().getAuthorizeService(); + private final AuthorizeService authorizeService = AuthorizeServiceFactory.getInstance().getAuthorizeService(); @Override public Choices getBestMatch(String text, String locale) { @@ -59,7 +59,7 @@ public Choices getMatches(String text, int start, int limit, String locale) { List ePersons = searchEPersons(context, text, start, limit); - List choiceList = new ArrayList(); + List choiceList = new ArrayList<>(); for (EPerson eperson : ePersons) { choiceList.add(new Choice(eperson.getID().toString(), eperson.getFullName(), eperson.getFullName())); } @@ -78,7 +78,7 @@ public String getLabel(String key, String locale) { Context context = getContext(); try { - EPerson ePerson = ePersonService.find(context, uuid); + EPerson ePerson = ePersonService.find(context.getSession(), uuid); return ePerson != null ? ePerson.getFullName() : null; } catch (SQLException e) { log.error(e.getMessage(), e); diff --git a/dspace-api/src/main/java/org/dspace/content/authority/MetadataAuthorityServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/authority/MetadataAuthorityServiceImpl.java index 5593aabd63ce..fb3cf923c456 100644 --- a/dspace-api/src/main/java/org/dspace/content/authority/MetadataAuthorityServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/authority/MetadataAuthorityServiceImpl.java @@ -111,7 +111,7 @@ public void init() { MetadataField metadataField = metadataFieldService - .findByElement(context, schema, element, qualifier); + .findByElement(context.getSession(), schema, element, qualifier); if (metadataField == null) { throw new IllegalStateException( "Error while configuring authority control, metadata field: " + field + " could not " + diff --git a/dspace-api/src/main/java/org/dspace/content/crosswalk/AIPTechMDCrosswalk.java b/dspace-api/src/main/java/org/dspace/content/crosswalk/AIPTechMDCrosswalk.java index 978cabfb4bd6..eb08c1c67ea5 100644 --- a/dspace-api/src/main/java/org/dspace/content/crosswalk/AIPTechMDCrosswalk.java +++ b/dspace-api/src/main/java/org/dspace/content/crosswalk/AIPTechMDCrosswalk.java @@ -272,7 +272,7 @@ public Element disseminateElement(Context context, DSpaceObject dso) List parentCommunities = community.getParentCommunities(); String ownerHdl = null; if (CollectionUtils.isEmpty(parentCommunities)) { - ownerHdl = siteService.findSite(context).getHandle(); + ownerHdl = siteService.findSite(context.getSession()).getHandle(); } else { ownerHdl = parentCommunities.get(0).getHandle(); } @@ -381,7 +381,7 @@ public void ingest(Context context, DSpaceObject dso, List dimList, boo bsfSupport = sl; } } else if (dcField.equals("format.internal")) { - bsfInternal = (Boolean.valueOf(value)).booleanValue(); + bsfInternal = (Boolean.parseBoolean(value)); } else { log.warn("Got unrecognized DC field for Bitstream: " + dcField); } diff --git a/dspace-api/src/main/java/org/dspace/content/crosswalk/CrosswalkMetadataValidator.java b/dspace-api/src/main/java/org/dspace/content/crosswalk/CrosswalkMetadataValidator.java index b1be458a255e..41f6ee544e93 100644 --- a/dspace-api/src/main/java/org/dspace/content/crosswalk/CrosswalkMetadataValidator.java +++ b/dspace-api/src/main/java/org/dspace/content/crosswalk/CrosswalkMetadataValidator.java @@ -75,7 +75,7 @@ public MetadataField checkMetadata(Context context, String schema, String elemen throws SQLException, AuthorizeException, CrosswalkException { if (!validatedBefore(schema, element, qualifier)) { // Verify that the schema exists - MetadataSchema mdSchema = metadataSchemaService.find(context, schema); + MetadataSchema mdSchema = metadataSchemaService.find(context.getSession(), schema); MetadataField mdField = null; if (mdSchema == null) { @@ -97,7 +97,7 @@ public MetadataField checkMetadata(Context context, String schema, String elemen if (mdSchema != null) { // Verify that the element exists; this part is reachable only if the metadata schema is valid - mdField = metadataFieldService.findByElement(context, mdSchema, element, qualifier); + mdField = metadataFieldService.findByElement(context.getSession(), mdSchema, element, qualifier); if (mdField == null) { if (forceCreate && fieldChoice.equals("add")) { try { diff --git a/dspace-api/src/main/java/org/dspace/content/crosswalk/METSRightsCrosswalk.java b/dspace-api/src/main/java/org/dspace/content/crosswalk/METSRightsCrosswalk.java index 7f6622841ba7..a71324778521 100644 --- a/dspace-api/src/main/java/org/dspace/content/crosswalk/METSRightsCrosswalk.java +++ b/dspace-api/src/main/java/org/dspace/content/crosswalk/METSRightsCrosswalk.java @@ -61,18 +61,18 @@ public class METSRightsCrosswalk /** * log4j category */ - private static Logger log = org.apache.logging.log4j.LogManager.getLogger(METSRightsCrosswalk.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(); private static final Namespace METSRights_NS = Namespace.getNamespace("rights", "http://cosimo.stanford.edu/sdr/metsrights/"); // XML schemaLocation fragment for this crosswalk, from config. - private String schemaLocation = + private final String schemaLocation = METSRights_NS.getURI() + " http://cosimo.stanford.edu/sdr/metsrights.xsd"; private static final Namespace namespaces[] = {METSRights_NS}; - private static final Map otherTypesMapping = new HashMap(); + private static final Map otherTypesMapping = new HashMap<>(); static { //Mapping of DSpace Policy Actions to METSRights PermissionType values @@ -282,7 +282,7 @@ public Element disseminateElement(Context context, DSpaceObject dso) public List disseminateList(Context context, DSpaceObject dso) throws CrosswalkException, IOException, SQLException, AuthorizeException { - List result = new ArrayList(1); + List result = new ArrayList<>(1); result.add(disseminateElement(context, dso)); return result; } @@ -461,7 +461,7 @@ public void ingest(Context context, DSpaceObject dso, List ml, boolean //Check if this permission pertains to Anonymous users if (ANONYMOUS_CONTEXTCLASS.equals(contextClass)) { //get DSpace Anonymous group, ID=0 - Group anonGroup = groupService.findByName(context, Group.ANONYMOUS); + Group anonGroup = groupService.findByName(context.getSession(), Group.ANONYMOUS); if (anonGroup == null) { throw new CrosswalkInternalException( "The DSpace database has not been properly initialized. The Anonymous Group is " + @@ -472,7 +472,7 @@ public void ingest(Context context, DSpaceObject dso, List ml, boolean } else if (ADMIN_CONTEXTCLASS.equals(contextClass)) { // else if this permission declaration pertains to Administrators // get DSpace Administrator group - Group adminGroup = groupService.findByName(context, Group.ADMIN); + Group adminGroup = groupService.findByName(context.getSession(), Group.ADMIN); if (adminGroup == null) { throw new CrosswalkInternalException( "The DSpace database has not been properly initialized. The Administrator Group is " + @@ -493,7 +493,7 @@ public void ingest(Context context, DSpaceObject dso, List ml, boolean groupName = PackageUtils.translateGroupNameForImport(context, groupName); //Check if this group exists in DSpace already - Group group = groupService.findByName(context, groupName); + Group group = groupService.findByName(context.getSession(), groupName); //if not found, throw an error -- user should restore group from the SITE AIP if (group == null) { diff --git a/dspace-api/src/main/java/org/dspace/content/crosswalk/XSLTIngestionCrosswalk.java b/dspace-api/src/main/java/org/dspace/content/crosswalk/XSLTIngestionCrosswalk.java index 63ef5f7336c7..2a2e7b4c67f8 100644 --- a/dspace-api/src/main/java/org/dspace/content/crosswalk/XSLTIngestionCrosswalk.java +++ b/dspace-api/src/main/java/org/dspace/content/crosswalk/XSLTIngestionCrosswalk.java @@ -332,7 +332,7 @@ public static void main(String[] argv) throws Exception { String element = elt.getAttributeValue("element"); String qualifier = elt.getAttributeValue("qualifier"); MetadataSchema ms = ContentServiceFactory.getInstance().getMetadataSchemaService() - .find(context, schema); + .find(context.getSession(), schema); if (ms == null) { System.err.println("DIM Error, Cannot find metadata schema for: schema=\"" + schema + "\" (... element=\"" + element + "\", qualifier=\"" + qualifier + "\")"); @@ -344,7 +344,7 @@ public static void main(String[] argv) throws Exception { qualifier = null; } MetadataField mf = ContentServiceFactory.getInstance().getMetadataFieldService() - .findByElement(context, + .findByElement(context.getSession(), ms, element, qualifier); if (mf == null) { System.err.println("DIM Error, Cannot find metadata field for: schema=\"" + schema + diff --git a/dspace-api/src/main/java/org/dspace/content/logic/TestLogicRunner.java b/dspace-api/src/main/java/org/dspace/content/logic/TestLogicRunner.java index bf218eaa8a0f..cb618c9fe174 100644 --- a/dspace-api/src/main/java/org/dspace/content/logic/TestLogicRunner.java +++ b/dspace-api/src/main/java/org/dspace/content/logic/TestLogicRunner.java @@ -120,7 +120,7 @@ public static void main(String[] argv) { } else if (line.hasOption("all")) { ItemService itemService = ContentServiceFactory.getInstance().getItemService(); try { - Iterator itemIterator = itemService.findAll(c); + Iterator itemIterator = itemService.findAll(c.getSession()); while (itemIterator.hasNext()) { Item i = itemIterator.next(); System.out.println( diff --git a/dspace-api/src/main/java/org/dspace/content/packager/AbstractMETSDisseminator.java b/dspace-api/src/main/java/org/dspace/content/packager/AbstractMETSDisseminator.java index 685fd9000da8..573889149d77 100644 --- a/dspace-api/src/main/java/org/dspace/content/packager/AbstractMETSDisseminator.java +++ b/dspace-api/src/main/java/org/dspace/content/packager/AbstractMETSDisseminator.java @@ -967,7 +967,7 @@ protected Mets makeManifest(Context context, DSpaceObject dso, } } else if (dso.getType() == Constants.COLLECTION) { Collection collection = (Collection) dso; - Iterator ii = itemService.findByCollection(context, collection); + Iterator ii = itemService.findByCollection(context.getSession(), collection); while (ii.hasNext()) { //add a child
    for each item in collection Item item = ii.next(); @@ -1048,7 +1048,7 @@ protected Mets makeManifest(Context context, DSpaceObject dso, } else if (dso.getType() == Constants.SITE) { // This is a site-wide , which just lists the top-level // communities. Each top level community is referenced by a div. - List comms = communityService.findAllTop(context); + List comms = communityService.findAllTop(context.getSession()); for (Community comm : comms) { //add a child
    for each top level community in this site Div childDiv = makeChildDiv(getObjectTypeString(comm), diff --git a/dspace-api/src/main/java/org/dspace/content/packager/AbstractPackageDisseminator.java b/dspace-api/src/main/java/org/dspace/content/packager/AbstractPackageDisseminator.java index 0649318637bc..252c056f8df7 100644 --- a/dspace-api/src/main/java/org/dspace/content/packager/AbstractPackageDisseminator.java +++ b/dspace-api/src/main/java/org/dspace/content/packager/AbstractPackageDisseminator.java @@ -47,7 +47,7 @@ public abstract class AbstractPackageDisseminator /** * List of all successfully disseminated package files */ - private List packageFileList = new ArrayList(); + private final List packageFileList = new ArrayList<>(); protected final CommunityService communityService = ContentServiceFactory.getInstance().getCommunityService(); protected final ItemService itemService = ContentServiceFactory.getInstance().getItemService(); @@ -121,7 +121,7 @@ public List disseminateAll(Context context, DSpaceObject dso, case Constants.COLLECTION: //Also find all Items in this Collection and disseminate Collection collection = (Collection) dso; - Iterator iterator = itemService.findByCollection(context, collection); + Iterator iterator = itemService.findByCollection(context.getSession(), collection); while (iterator.hasNext()) { Item item = iterator.next(); @@ -154,7 +154,7 @@ public List disseminateAll(Context context, DSpaceObject dso, break; case Constants.SITE: //Also find all top-level Communities and disseminate - List topCommunities = communityService.findAllTop(context); + List topCommunities = communityService.findAllTop(context.getSession()); for (Community topCommunity : topCommunities) { //disseminate all top-level communities (recursively!) String childFileName = pkgDirectory + PackageUtils diff --git a/dspace-api/src/main/java/org/dspace/content/packager/DSpaceAIPDisseminator.java b/dspace-api/src/main/java/org/dspace/content/packager/DSpaceAIPDisseminator.java index 887520ad66b3..8f6078cc999a 100644 --- a/dspace-api/src/main/java/org/dspace/content/packager/DSpaceAIPDisseminator.java +++ b/dspace-api/src/main/java/org/dspace/content/packager/DSpaceAIPDisseminator.java @@ -116,7 +116,7 @@ public class DSpaceAIPDisseminator extends AbstractMETSDisseminator { protected PackageParameters disseminateParams = null; // List of Bundles to filter on, when building AIP - protected List filterBundles = new ArrayList(); + protected List filterBundles = new ArrayList<>(); // Whether 'filterBundles' specifies an exclusion list (default) or inclusion list. protected boolean excludeBundles = true; @@ -217,7 +217,7 @@ public MetsHdr makeMetsHdr(Context context, DSpaceObject dso, agent.setOTHERTYPE("DSpace Archive"); Name name = new Name(); name.getContent() - .add(new PCData(siteService.findSite(context).getHandle())); + .add(new PCData(siteService.findSite(context.getSession()).getHandle())); agent.getContent().add(name); metsHdr.getContent().add(agent); @@ -362,7 +362,7 @@ public String[] getDigiprovMdTypes(Context context, DSpaceObject dso, PackagePar public String[] getRightsMdTypes(Context context, DSpaceObject dso, PackageParameters params) throws SQLException, IOException, AuthorizeException { - List result = new ArrayList(); + List result = new ArrayList<>(); String[] rTypes = configurationService.getArrayProperty("aip.disseminate.rightsMD"); //If unspecified in configuration file, add default settings @@ -437,7 +437,7 @@ public void addStructMap(Context context, DSpaceObject dso, case Constants.COMMUNITY: List parents = ((Community) dso).getParentCommunities(); if (CollectionUtils.isEmpty(parents)) { - parentHandle = siteService.findSite(context).getHandle(); + parentHandle = siteService.findSite(context.getSession()).getHandle(); } else { parentHandle = parents.get(0).getHandle(); } diff --git a/dspace-api/src/main/java/org/dspace/content/packager/PackageUtils.java b/dspace-api/src/main/java/org/dspace/content/packager/PackageUtils.java index 9e7d870076aa..9734c13de10e 100644 --- a/dspace-api/src/main/java/org/dspace/content/packager/PackageUtils.java +++ b/dspace-api/src/main/java/org/dspace/content/packager/PackageUtils.java @@ -85,8 +85,8 @@ public class PackageUtils { // HashMaps to convert Community/Collection metadata to/from Dublin Core // (useful when crosswalking Communities/Collections) - protected static final Map ccMetadataToDC = new HashMap(); - protected static final Map ccDCToMetadata = new HashMap(); + protected static final Map ccMetadataToDC = new HashMap<>(); + protected static final Map ccDCToMetadata = new HashMap<>(); protected static final BitstreamService bitstreamService = ContentServiceFactory.getInstance() .getBitstreamService(); @@ -424,7 +424,7 @@ public static Bitstream findDepositLicense(Context context, Item item) // If we couldn't find a bitstream with format = "License", // we will just assume the first bitstream is the deposit license // (usually a safe assumption as it is in the LICENSE bundle) - if (bitstreams.size() > 0) { + if (!bitstreams.isEmpty()) { return bitstreams.get(0); } } @@ -462,7 +462,7 @@ public static DSpaceObject createDSpaceObject(Context context, DSpaceObject pare switch (type) { case Constants.COLLECTION: - Collection collection = collectionService.find(context, uuid); + Collection collection = collectionService.find(context.getSession(), uuid); if (collection != null) { dso = collectionService.create(context, (Community) parent, handle); } else { @@ -474,14 +474,14 @@ public static DSpaceObject createDSpaceObject(Context context, DSpaceObject pare case Constants.COMMUNITY: // top-level community? if (parent == null || parent.getType() == Constants.SITE) { - Community community = communityService.find(context, uuid); + Community community = communityService.find(context.getSession(), uuid); if (community != null) { dso = communityService.create(null, context, handle); } else { dso = communityService.create(null, context, handle, uuid); } } else { - Community community = communityService.find(context, uuid); + Community community = communityService.find(context.getSession(), uuid); if (community != null) { dso = communityService.createSubcommunity(context, ((Community) parent), handle); } else { @@ -493,7 +493,7 @@ public static DSpaceObject createDSpaceObject(Context context, DSpaceObject pare case Constants.ITEM: //Initialize a WorkspaceItem //(Note: Handle is not set until item is finished) - Item item = itemService.find(context, uuid); + Item item = itemService.find(context.getSession(), uuid); if (item != null) { return item; } @@ -512,7 +512,7 @@ public static DSpaceObject createDSpaceObject(Context context, DSpaceObject pare return wsi.getItem(); case Constants.SITE: - return siteService.findSite(context); + return siteService.findSite(context.getSession()); default: return null; } @@ -765,7 +765,7 @@ public static void clearAllMetadata(Context context, DSpaceObject dso) * Lookaside list for translations we've already done, so we don't generate * multiple names for the same group */ - protected static final Map orphanGroups = new HashMap(); + protected static final Map orphanGroups = new HashMap<>(); /** * When DSpace creates Default Group Names they are of a very specific format, @@ -831,7 +831,7 @@ public static String translateGroupNameForExport(Context context, String groupNa //First, get the object via the Internal ID DSpaceObject dso = ContentServiceFactory.getInstance().getDSpaceLegacyObjectService(objType) - .findByIdOrLegacyId(context, objID); + .findByIdOrLegacyId(context.getSession(), objID); if (dso == null) { // No such object. Change the name to something harmless, but predictable. diff --git a/dspace-api/src/main/java/org/dspace/content/packager/RoleDisseminator.java b/dspace-api/src/main/java/org/dspace/content/packager/RoleDisseminator.java index f627779af8dc..8684333d7ad9 100644 --- a/dspace-api/src/main/java/org/dspace/content/packager/RoleDisseminator.java +++ b/dspace-api/src/main/java/org/dspace/content/packager/RoleDisseminator.java @@ -484,7 +484,7 @@ protected List findAssociatedGroups(Context context, DSpaceObject object) if (object.getType() == Constants.SITE) { // TODO FIXME -- if there was a way to ONLY export Groups which are NOT // associated with a Community or Collection, we should be doing that instead! - return groupService.findAll(context, null); + return groupService.findAll(context.getSession(), null); } else if (object.getType() == Constants.COMMUNITY) { Community community = (Community) object; diff --git a/dspace-api/src/main/java/org/dspace/content/packager/RoleIngester.java b/dspace-api/src/main/java/org/dspace/content/packager/RoleIngester.java index 2ce3f50a3cbc..cea91b6a43aa 100644 --- a/dspace-api/src/main/java/org/dspace/content/packager/RoleIngester.java +++ b/dspace-api/src/main/java/org/dspace/content/packager/RoleIngester.java @@ -226,7 +226,7 @@ void ingestDocument(Context context, DSpaceObject parent, log.debug("Translated group name: {}", name); Group groupObj = null; // The group to restore - Group collider = groupService.findByName(context, name); // Existing group? + Group collider = groupService.findByName(context.getSession(), name); // Existing group? if (null != collider) { // Group already exists, so empty it if (params.replaceModeEnabled()) { // -r -f @@ -248,7 +248,7 @@ void ingestDocument(Context context, DSpaceObject parent, // Remove all group members *EXCEPT* we don't ever want // to remove the current user from the list of Administrators // (otherwise remainder of ingest will fail) - if (!(collider.equals(groupService.findByName(context, Group.ADMIN)) && + if (!(collider.equals(groupService.findByName(context.getSession(), Group.ADMIN)) && member.equals(context.getCurrentUser()))) { groupService.removeMember(context, collider, member); } @@ -350,7 +350,7 @@ void ingestDocument(Context context, DSpaceObject parent, } // Find previously created group - Group groupObj = groupService.findByName(context, name); + Group groupObj = groupService.findByName(context.getSession(), name); log.debug("Looked up the group and found {}", groupObj); NodeList members = group .getElementsByTagName(RoleDisseminator.MEMBER_GROUP); @@ -360,7 +360,7 @@ void ingestDocument(Context context, DSpaceObject parent, //Translate Group name back to internal ID format (e.g. COLLECTION__ADMIN) memberName = PackageUtils.translateGroupNameForImport(context, memberName); // Find previously created group - Group memberGroup = groupService.findByName(context, memberName); + Group memberGroup = groupService.findByName(context.getSession(), memberName); groupService.addMember(context, groupObj, memberGroup); } // Actually update Group info in DB diff --git a/dspace-api/src/main/java/org/dspace/content/service/BitstreamService.java b/dspace-api/src/main/java/org/dspace/content/service/BitstreamService.java index 8effabf28435..c3239976e71b 100644 --- a/dspace-api/src/main/java/org/dspace/content/service/BitstreamService.java +++ b/dspace-api/src/main/java/org/dspace/content/service/BitstreamService.java @@ -23,6 +23,7 @@ import org.dspace.content.Community; import org.dspace.content.Item; import org.dspace.core.Context; +import org.hibernate.Session; /** * Service interface class for the Bitstream object. @@ -34,11 +35,11 @@ public interface BitstreamService extends DSpaceObjectService, DSpaceObjectLegacySupportService { @Override - public Bitstream find(Context context, UUID id) throws SQLException; + public Bitstream find(Session session, UUID id) throws SQLException; - public List findAll(Context context) throws SQLException; + public List findAll(Session session) throws SQLException; - public Iterator findAll(Context context, int limit, int offset) throws SQLException; + public Iterator findAll(Session session, int limit, int offset) throws SQLException; /** * Clone the given bitstream by firstly creating a new bitstream, with a new ID. @@ -179,12 +180,11 @@ public InputStream retrieve(Context context, Bitstream bitstream) /** * Retrieve all bitstreams with the deleted flag set to true * - * @param context the dspace context + * @param session current request's database context. * @return a list of all bitstreams that have been "deleted" * @throws SQLException if database error */ - public List findDeletedBitstreams(Context context, int limit, int offset) throws SQLException; - + public List findDeletedBitstreams(Session session, int limit, int offset) throws SQLException; /** * Remove a bitstream that has been set to "deleted" from the database @@ -196,7 +196,7 @@ public InputStream retrieve(Context context, Bitstream bitstream) */ public void expunge(Context context, Bitstream bitstream) throws SQLException, AuthorizeException; - public List findDuplicateInternalIdentifier(Context context, Bitstream bitstream) throws SQLException; + public List findDuplicateInternalIdentifier(Session session, Bitstream bitstream) throws SQLException; public Iterator getItemBitstreams(Context context, Item item) throws SQLException; @@ -204,7 +204,7 @@ public InputStream retrieve(Context context, Bitstream bitstream) public Iterator getCommunityBitstreams(Context context, Community community) throws SQLException; - public List findBitstreamsWithNoRecentChecksum(Context context) throws SQLException; + public List findBitstreamsWithNoRecentChecksum(Session session) throws SQLException; public Bitstream getBitstreamByName(Item item, String bundleName, String bitstreamName) throws SQLException; @@ -214,7 +214,7 @@ public InputStream retrieve(Context context, Bitstream bitstream) public BitstreamFormat getFormat(Context context, Bitstream bitstream) throws SQLException; - public Iterator findByStoreNumber(Context context, Integer storeNumber) throws SQLException; + public Iterator findByStoreNumber(Session session, Integer storeNumber) throws SQLException; public Long countByStoreNumber(Context context, Integer storeNumber) throws SQLException; diff --git a/dspace-api/src/main/java/org/dspace/content/service/CollectionService.java b/dspace-api/src/main/java/org/dspace/content/service/CollectionService.java index 90db5c731402..c822e8fdfe95 100644 --- a/dspace-api/src/main/java/org/dspace/content/service/CollectionService.java +++ b/dspace-api/src/main/java/org/dspace/content/service/CollectionService.java @@ -23,6 +23,7 @@ import org.dspace.core.Context; import org.dspace.discovery.SearchServiceException; import org.dspace.eperson.Group; +import org.hibernate.Session; /** * Service interface class for the Collection object. @@ -85,22 +86,22 @@ public Collection create(Context context, Community community, String handle, UU * Get all collections in the system. These are alphabetically sorted by * collection name. * - * @param context DSpace context object + * @param session current request's database context. * @return the collections in the system * @throws SQLException if database error */ - public List findAll(Context context) throws SQLException; + public List findAll(Session session) throws SQLException; /** * Get all collections in the system. Adds support for limit and offset. * - * @param context The relevant DSpace Context. + * @param session current request's database context. * @param limit paging limit * @param offset paging offset * @return List of Collections * @throws SQLException if database error */ - public List findAll(Context context, Integer limit, Integer offset) throws SQLException; + public List findAll(Session session, Integer limit, Integer offset) throws SQLException; public List findAuthorizedOptimized(Context context, int actionID) throws java.sql.SQLException; @@ -337,14 +338,14 @@ public List findAuthorized(Context context, Community community, int */ public Collection findByGroup(Context context, Group group) throws SQLException; - List findCollectionsWithSubscribers(Context context) throws SQLException; + List findCollectionsWithSubscribers(Session session) throws SQLException; int countTotal(Context context) throws SQLException; /** * The map entry returned contains a collection as a key and sum of bitstream sizes in bytes as a value * - * @param context DSpace Context + * @param context current DSpace session. * @return List of Collections and bitstream sizes map * @throws SQLException if database error */ @@ -380,7 +381,7 @@ Group createDefaultReadGroup(Context context, Collection collection, String type * NOTE: for better performance, this method retrieves its results from an * index (cache) and does not query the database directly. * This means that results may be stale or outdated until https://github.com/DSpace/DSpace/issues/2853 is resolved" - * + * * @param q limit the returned collection to those with metadata values matching the query terms. * The terms are used to make also a prefix query on SOLR so it can be used to implement * an autosuggest feature over the collection name @@ -402,7 +403,7 @@ public List findCollectionsWithSubmit(String q, Context context, Com * index (cache) and does not query the database directly. * This means that results may be stale or outdated until * https://github.com/DSpace/DSpace/issues/2853 is resolved" - * + * * @param q limit the returned collection to those with metadata values matching the query terms. * The terms are used to make also a prefix query on SOLR so it can be used to implement * an autosuggest feature over the collection name @@ -423,7 +424,7 @@ public List findCollectionsWithSubmit(String q, Context context, Com * and does not query the database directly. * This means that results may be stale or outdated until * https://github.com/DSpace/DSpace/issues/2853 is resolved." - * + * * @param q limit the returned collection to those with metadata values matching the query terms. * The terms are used to make also a prefix query on SOLR so it can be used to implement * an autosuggest feature over the collection name @@ -442,7 +443,7 @@ public int countCollectionsWithSubmit(String q, Context context, Community commu * and does not query the database directly. * This means that results may be stale or outdated until * https://github.com/DSpace/DSpace/issues/2853 is resolved." - * + * * @param q limit the returned collection to those with metadata values matching the query terms. * The terms are used to make also a prefix query on SOLR so it can be used to implement * an autosuggest feature over the collection name diff --git a/dspace-api/src/main/java/org/dspace/content/service/CommunityService.java b/dspace-api/src/main/java/org/dspace/content/service/CommunityService.java index c089bcec8df1..b6bf3bb13c27 100644 --- a/dspace-api/src/main/java/org/dspace/content/service/CommunityService.java +++ b/dspace-api/src/main/java/org/dspace/content/service/CommunityService.java @@ -20,6 +20,7 @@ import org.dspace.content.Community; import org.dspace.core.Context; import org.dspace.eperson.Group; +import org.hibernate.Session; /** * Service interface class for the Community object. @@ -74,33 +75,33 @@ public Community create(Community parent, Context context, * Get a list of all communities in the system. These are alphabetically * sorted by community name. * - * @param context DSpace context object + * @param session current request's database context. * @return the communities in the system * @throws SQLException if database error */ - public List findAll(Context context) throws SQLException; + public List findAll(Session session) throws SQLException; /** * Get all communities in the system. Adds support for limit and offset. * - * @param context context + * @param session current request's database context. * @param limit limit * @param offset offset * @return list of communities * @throws SQLException if database error */ - public List findAll(Context context, Integer limit, Integer offset) throws SQLException; + public List findAll(Session session, Integer limit, Integer offset) throws SQLException; /** * Get a list of all top-level communities in the system. These are * alphabetically sorted by community name. A top-level community is one * without a parent community. * - * @param context DSpace context object + * @param session current request's database context. * @return the top-level communities in the system * @throws SQLException if database error */ - public List findAllTop(Context context) throws SQLException; + public List findAllTop(Session session) throws SQLException; /** * Give the community a logo. Passing in null removes any diff --git a/dspace-api/src/main/java/org/dspace/content/service/DSpaceObjectLegacySupportService.java b/dspace-api/src/main/java/org/dspace/content/service/DSpaceObjectLegacySupportService.java index 79f47400c325..22aaecc90a37 100644 --- a/dspace-api/src/main/java/org/dspace/content/service/DSpaceObjectLegacySupportService.java +++ b/dspace-api/src/main/java/org/dspace/content/service/DSpaceObjectLegacySupportService.java @@ -10,30 +10,29 @@ import java.sql.SQLException; import org.dspace.content.DSpaceObject; -import org.dspace.core.Context; +import org.hibernate.Session; /** - * Service interface class that adds support to retrieve DSpaceObject by the old integer based identifier which was used - * to identify DSpaceObjects prior to DSpace 6.0 + * Support to retrieve a DSpaceObject by the old integer based identifier which + * was used to identify DSpaceObjects prior to DSpace 6.0. * * @param class type * @author kevinvandevelde at atmire.com */ public interface DSpaceObjectLegacySupportService { - public T findByIdOrLegacyId(Context context, String id) throws SQLException; - + public T findByIdOrLegacyId(Session session, String id) throws SQLException; /** * Generic find for when the precise type of a DSO is not known, just the * a pair of type number and database ID. * - * @param context - the context + * @param session - current request's database context. * @param id - the legacy id within table of type'd objects * @return the object found, or null if it does not exist. * @throws java.sql.SQLException only upon failure accessing the database. */ - public T findByLegacyId(Context context, int id) throws SQLException; + public T findByLegacyId(Session session, int id) throws SQLException; /** * Returns the Constants which this service supports diff --git a/dspace-api/src/main/java/org/dspace/content/service/DSpaceObjectService.java b/dspace-api/src/main/java/org/dspace/content/service/DSpaceObjectService.java index 606f5bb7c02f..99a854144397 100644 --- a/dspace-api/src/main/java/org/dspace/content/service/DSpaceObjectService.java +++ b/dspace-api/src/main/java/org/dspace/content/service/DSpaceObjectService.java @@ -21,6 +21,7 @@ import org.dspace.content.MetadataFieldName; import org.dspace.content.MetadataValue; import org.dspace.core.Context; +import org.hibernate.Session; /** * Service interface class for the DSpaceObject. @@ -54,14 +55,14 @@ public interface DSpaceObjectService { = new MetadataFieldName(DC, "source"); /** - * Generic find for when the precise type of an Entity is not known + * Generic find for when the precise type of an Entity is not known. * - * @param context - the context - * @param uuid - uuid within table of typed dspace objects - * @return the dspace object found, or null if it does not exist. + * @param session - current request's database context. + * @param uuid - uuid within table of typed DSpace objects + * @return the DSpace object found, or null if it does not exist. * @throws SQLException only upon failure accessing the database. */ - public T find(Context context, UUID uuid) throws SQLException; + public T find(Session session, UUID uuid) throws SQLException; /** * Get a proper name for the object. This may return null. diff --git a/dspace-api/src/main/java/org/dspace/content/service/EntityService.java b/dspace-api/src/main/java/org/dspace/content/service/EntityService.java index c2cbad168cbe..3cf5bf5419a9 100644 --- a/dspace-api/src/main/java/org/dspace/content/service/EntityService.java +++ b/dspace-api/src/main/java/org/dspace/content/service/EntityService.java @@ -16,6 +16,7 @@ import org.dspace.content.Relationship; import org.dspace.content.RelationshipType; import org.dspace.core.Context; +import org.hibernate.Session; /** * This Service provides us with a few methods to return objects based on the Entity object. @@ -29,25 +30,25 @@ public interface EntityService { * This will construct an Entity object that will be returned with the Item that matches the ItemID that was * passed along * as well as a list of relationships for that Item. - * @param context The relevant DSpace context + * @param session The current request's database context. * @param itemId The ItemID for the Item that is to be used in the Entity object * @return The constructed Entity object with the Item and the list of relationships * @throws SQLException If something goes wrong */ - Entity findByItemId(Context context, UUID itemId) throws SQLException; + Entity findByItemId(Session session, UUID itemId) throws SQLException; /** * This will construct an Entity object that will be returned with the Item that matches the ItemID that was * passed along * as well as a list of relationships for that Item. - * @param context The relevant DSpace context + * @param session The current request's database context. * @param itemId The ItemID for the Item that is to be used in the Entity object * @param limit paging limit * @param offset paging offset * @return The constructed Entity object with the Item and the list of relationships * @throws SQLException If something goes wrong */ - Entity findByItemId(Context context, UUID itemId, Integer limit, Integer offset) throws SQLException; + Entity findByItemId(Session session, UUID itemId, Integer limit, Integer offset) throws SQLException; /** * Returns the EntityType for the Item that is attached to the Entity that is passed along to this method. diff --git a/dspace-api/src/main/java/org/dspace/content/service/ItemService.java b/dspace-api/src/main/java/org/dspace/content/service/ItemService.java index b59dee6970b0..0f06d5c26f6f 100644 --- a/dspace-api/src/main/java/org/dspace/content/service/ItemService.java +++ b/dspace-api/src/main/java/org/dspace/content/service/ItemService.java @@ -84,16 +84,6 @@ public interface ItemService */ public Item createTemplateItem(Context context, Collection collection) throws SQLException, AuthorizeException; - /** - * Get all the items in the archive. Only items with the "in archive" flag - * set are included. The order of the list is indeterminate. - * - * @param context DSpace context object - * @return an iterator over the items in the archive. - * @throws SQLException if database error - */ - public Iterator findAll(Context context) throws SQLException; - /** * Get all the items in the archive. Only items with the "in archive" flag * set are included. The order of the list is indeterminate. @@ -109,24 +99,24 @@ public interface ItemService * Get all the items in the archive. Only items with the "in archive" flag * set are included. The order of the list is indeterminate. * - * @param context DSpace context object + * @param session current request's database context. * @param limit limit * @param offset offset * @return an iterator over the items in the archive. * @throws SQLException if database error */ - public Iterator findAll(Context context, Integer limit, Integer offset) throws SQLException; + public Iterator findAll(Session session, Integer limit, Integer offset) throws SQLException; /** * Get all "final" items in the archive, both archived ("in archive" flag) or * withdrawn items are included. The order of the list is indeterminate. * - * @param context DSpace context object + * @param session current request's database context. * @return an iterator over the items in the archive. * @throws SQLException if database error */ @Deprecated - public Iterator findAllUnfiltered(Context context) throws SQLException; + public Iterator findAllUnfiltered(Session session) throws SQLException; /** * Find all items that are: @@ -135,29 +125,29 @@ public interface ItemService * - NOT a template item for e.g. a collection * * This implies that the result also contains older versions of items and withdrawn items. - * @param context the DSpace context. + * @param session current request's database context. * @return iterator over all regular items. * @throws SQLException if database error. */ - public Iterator findAllRegularItems(Context context) throws SQLException; + public Iterator findAllRegularItems(Session session) throws SQLException; /** * Find all the items in the archive by a given submitter. The order is * indeterminate. Only items with the "in archive" flag set are included. * - * @param context DSpace context object + * @param session current request's database context. * @param eperson the submitter * @return an iterator over the items submitted by eperson * @throws SQLException if database error */ - public Iterator findBySubmitter(Context context, EPerson eperson) + public Iterator findBySubmitter(Session session, EPerson eperson) throws SQLException; /** * Find all the items by a given submitter. The order is * indeterminate. All items are included. * - * @param context DSpace context object + * @param session current request's database context. * @param eperson the submitter * @param retrieveAllItems flag to determine if all items should be returned or only archived items. * If true, all items (regardless of status) are returned. @@ -165,55 +155,55 @@ public Iterator findBySubmitter(Context context, EPerson eperson) * @return an iterator over the items submitted by eperson * @throws SQLException if database error */ - public Iterator findBySubmitter(Context context, EPerson eperson, boolean retrieveAllItems) + public Iterator findBySubmitter(Session session, EPerson eperson, boolean retrieveAllItems) throws SQLException; /** * Retrieve the list of items submitted by eperson, ordered by recently submitted, optionally limitable * - * @param context DSpace context object + * @param session current request's database context. * @param eperson the submitter * @param limit a positive integer to limit, -1 or null for unlimited * @return an iterator over the items submitted by eperson * @throws SQLException if database error */ - public Iterator findBySubmitterDateSorted(Context context, EPerson eperson, Integer limit) + public Iterator findBySubmitterDateSorted(Session session, EPerson eperson, Integer limit) throws SQLException; /** * Get all the archived items in this collection. The order is indeterminate. * - * @param context DSpace context object + * @param session current request's database context. * @param collection Collection (parent) * @return an iterator over the items in the collection. * @throws SQLException if database error */ - public Iterator findByCollection(Context context, Collection collection) throws SQLException; + public Iterator findByCollection(Session session, Collection collection) throws SQLException; /** * Get all the archived items in this collection. The order is indeterminate. * - * @param context DSpace context object + * @param session current request's database context. * @param collection Collection (parent) * @param limit limited number of items * @param offset offset value * @return an iterator over the items in the collection. * @throws SQLException if database error */ - public Iterator findByCollection(Context context, Collection collection, Integer limit, Integer offset) + public Iterator findByCollection(Session session, Collection collection, Integer limit, Integer offset) throws SQLException; /** * Get all the archived items mapped to this collection (excludes owning collection). The order is indeterminate. * - * @param context DSpace context object + * @param session current request's database context. * @param collection Collection (parent) * @param limit limited number of items * @param offset offset value * @return an iterator over the items in the collection. * @throws SQLException if database error */ - public Iterator findByCollectionMapping(Context context, Collection collection, Integer limit, Integer offset) + public Iterator findByCollectionMapping(Session session, Collection collection, Integer limit, Integer offset) throws SQLException; /** @@ -229,34 +219,24 @@ public Iterator findByCollectionMapping(Context context, Collection collec /** * Get all Items installed or withdrawn, discoverable, and modified since a Date. * - * @param context DSpace context object + * @param session current request's database context. * @param since earliest interesting last-modified date, or null for no date test. * @return an iterator over the items in the collection. * @throws SQLException if database error */ - public Iterator findInArchiveOrWithdrawnDiscoverableModifiedSince(Context context, Date since) + public Iterator findInArchiveOrWithdrawnDiscoverableModifiedSince(Session session, Date since) throws SQLException; /** * Get all Items installed or withdrawn, NON-discoverable, and modified since a Date. - * @param context context + * @param session current request's database context. * @param since earliest interesting last-modified date, or null for no date test. * @return an iterator over the items in the collection. * @throws SQLException if database error */ - public Iterator findInArchiveOrWithdrawnNonDiscoverableModifiedSince(Context context, Date since) + public Iterator findInArchiveOrWithdrawnNonDiscoverableModifiedSince(Session session, Date since) throws SQLException; - /** - * Get all the items (including private and withdrawn) in this collection. The order is indeterminate. - * - * @param context DSpace context object - * @param collection Collection (parent) - * @return an iterator over the items in the collection. - * @throws SQLException if database error - */ - public Iterator findAllByCollection(Context context, Collection collection) throws SQLException; - /** * Get all the items (including private and withdrawn) in this collection. The order is indeterminate. * @@ -271,15 +251,15 @@ public Iterator findAllByCollection(Session session, Collection collection /** * Get all the items (including private and withdrawn) in this collection. The order is indeterminate. * - * @param context DSpace context object + * @param session current request's database session. * @param collection Collection (parent) + * @param limit number of items + * @param offset offset value * @return an iterator over the items in the collection. - * @param limit limited number of items - * @param offset offset value * @throws SQLException if database error */ - public Iterator findAllByCollection(Context context, Collection collection, Integer limit, Integer offset) - throws SQLException; + public Iterator findAllByCollection(Session session, Collection collection, Integer limit, Integer offset) + throws SQLException; /** * See whether this Item is contained by a given Collection. @@ -642,7 +622,7 @@ public void move(Context context, Item item, Collection from, Collection to, boo * Returns an iterator of in archive items possessing the passed metadata field, or only * those matching the passed value, if value is not Item.ANY * - * @param context DSpace context object + * @param session current request's database context. * @param schema metadata field schema * @param element metadata field element * @param qualifier metadata field qualifier @@ -651,7 +631,7 @@ public void move(Context context, Item item, Collection from, Collection to, boo * @throws SQLException if database error * @throws AuthorizeException if authorization error */ - public Iterator findArchivedByMetadataField(Context context, String schema, + public Iterator findArchivedByMetadataField(Session session, String schema, String element, String qualifier, String value) throws SQLException, AuthorizeException; @@ -659,21 +639,21 @@ public Iterator findArchivedByMetadataField(Context context, String schema * Returns an iterator of in archive items possessing the passed metadata field, or only * those matching the passed value, if value is not Item.ANY * - * @param context DSpace context object + * @param session current request's database context. * @param metadataField metadata * @param value field value or Item.ANY to match any value * @return an iterator over the items matching that authority value * @throws SQLException if database error * @throws AuthorizeException if authorization error */ - public Iterator findArchivedByMetadataField(Context context, String metadataField, String value) + public Iterator findArchivedByMetadataField(Session session, String metadataField, String value) throws SQLException, AuthorizeException; /** * Returns an iterator of Items possessing the passed metadata field, or only * those matching the passed value, if value is not Item.ANY * - * @param context DSpace context object + * @param session current request's database context. * @param schema metadata field schema * @param element metadata field element * @param qualifier metadata field qualifier @@ -683,11 +663,11 @@ public Iterator findArchivedByMetadataField(Context context, String metada * @throws AuthorizeException if authorization error * @throws IOException if IO error */ - public Iterator findByMetadataField(Context context, + public Iterator findByMetadataField(Session session, String schema, String element, String qualifier, String value) throws SQLException, AuthorizeException, IOException; - public Iterator findByMetadataQuery(Context context, List> listFieldList, + public Iterator findByMetadataQuery(Session session, List> listFieldList, List query_op, List query_val, List collectionUuids, String regexClause, int offset, int limit) throws SQLException, AuthorizeException, IOException; @@ -696,7 +676,7 @@ public Iterator findByMetadataQuery(Context context, List findByMetadataQuery(Context context, List findByAuthorityValue(Context context, + public Iterator findByAuthorityValue(Session session, String schema, String element, String qualifier, String value) throws SQLException, AuthorizeException; - - public Iterator findByMetadataFieldAuthority(Context context, String mdString, String authority) + public Iterator findByMetadataFieldAuthority(Session session, String mdString, String authority) throws SQLException, AuthorizeException; /** @@ -747,12 +726,12 @@ public Iterator findByMetadataFieldAuthority(Context context, String mdStr /** * Find all Items modified since a Date. * - * @param context DSpace context object + * @param session current request's database context. * @param last Earliest interesting last-modified date. * @return iterator over items * @throws SQLException if database error */ - public Iterator findByLastModifiedSince(Context context, Date last) + public Iterator findByLastModifiedSince(Session session, Date last) throws SQLException; /** @@ -908,5 +887,4 @@ public List getMetadata(Item item, String schema, String element, * @throws java.sql.SQLException passed through. */ public EntityType getEntityType(Context context, Item item) throws SQLException; - } diff --git a/dspace-api/src/main/java/org/dspace/content/service/MetadataFieldService.java b/dspace-api/src/main/java/org/dspace/content/service/MetadataFieldService.java index fa69087dd470..192a6e260291 100644 --- a/dspace-api/src/main/java/org/dspace/content/service/MetadataFieldService.java +++ b/dspace-api/src/main/java/org/dspace/content/service/MetadataFieldService.java @@ -16,6 +16,7 @@ import org.dspace.content.MetadataSchema; import org.dspace.content.NonUniqueMetadataException; import org.dspace.core.Context; +import org.hibernate.Session; /** * Service interface class for the MetadataField object. @@ -48,61 +49,61 @@ public MetadataField create(Context context, MetadataSchema metadataSchema, Stri * Find the field corresponding to the given numeric ID. The ID is * a database key internal to DSpace. * - * @param context context, in case we need to read it in from DB + * @param session current request's database context. * @param id the metadata field ID * @return the metadata field object * @throws SQLException if database error */ - public MetadataField find(Context context, int id) throws SQLException; + public MetadataField find(Session session, int id) throws SQLException; /** * Retrieves the metadata field from the database. * - * @param context dspace context + * @param session current request's database context. * @param metadataSchema schema * @param element element name * @param qualifier qualifier (may be ANY or null) * @return recalled metadata field * @throws SQLException if database error */ - public MetadataField findByElement(Context context, MetadataSchema metadataSchema, String element, String qualifier) + public MetadataField findByElement(Session session, MetadataSchema metadataSchema, String element, String qualifier) throws SQLException; - public MetadataField findByElement(Context context, String metadataSchemaName, String element, String qualifier) + public MetadataField findByElement(Session session, String metadataSchemaName, String element, String qualifier) throws SQLException; /** * Separates an mdString in schema, element and qualifier parts, separated by a given separator * And returns it's matching metadataField if found - * @param context dspace context + * @param session current request's database context. * @param mdString String being separated to find corresponding mdField (ex dc.contributor) * @param separator Separator being used to separate the mdString * @return Corresponding MetadataField if found */ - public MetadataField findByString(Context context, String mdString, char separator) throws SQLException; + public MetadataField findByString(Session session, String mdString, char separator) throws SQLException; - public List findFieldsByElementNameUnqualified(Context context, String metadataSchema, + public List findFieldsByElementNameUnqualified(Session session, String metadataSchema, String element) throws SQLException; /** * Retrieve all metadata field types from the registry * - * @param context dspace context + * @param session current request's database context. * @return an array of all the Dublin Core types * @throws SQLException if database error */ - public List findAll(Context context) throws SQLException; + public List findAll(Session session) throws SQLException; /** * Return all metadata fields that are found in a given schema. * - * @param context dspace context + * @param session current request's database context. * @param metadataSchema the metadata schema for which we want all our metadata fields * @return array of metadata fields * @throws SQLException if database error */ - public List findAllInSchema(Context context, MetadataSchema metadataSchema) + public List findAllInSchema(Session session, MetadataSchema metadataSchema) throws SQLException; diff --git a/dspace-api/src/main/java/org/dspace/content/service/MetadataSchemaService.java b/dspace-api/src/main/java/org/dspace/content/service/MetadataSchemaService.java index 08477ea67512..10b4cc587904 100644 --- a/dspace-api/src/main/java/org/dspace/content/service/MetadataSchemaService.java +++ b/dspace-api/src/main/java/org/dspace/content/service/MetadataSchemaService.java @@ -14,6 +14,7 @@ import org.dspace.content.MetadataSchema; import org.dspace.content.NonUniqueMetadataException; import org.dspace.core.Context; +import org.hibernate.Session; /** * Service interface class for the MetadataSchema object. @@ -85,20 +86,20 @@ public void update(Context context, MetadataSchema metadataSchema) * Get the schema corresponding with this numeric ID. * The ID is a database key internal to DSpace. * - * @param context context, in case we need to read it in from DB + * @param session current request's database context. * @param id the schema ID * @return the metadata schema object * @throws SQLException if database error */ - public MetadataSchema find(Context context, int id) throws SQLException; + public MetadataSchema find(Session session, int id) throws SQLException; /** * Get the schema corresponding with this short name. * - * @param context context, in case we need to read it in from DB + * @param session current request's database session. * @param shortName the short name for the schema * @return the metadata schema object * @throws SQLException if database error */ - public MetadataSchema find(Context context, String shortName) throws SQLException; + public MetadataSchema find(Session session, String shortName) throws SQLException; } diff --git a/dspace-api/src/main/java/org/dspace/content/service/MetadataValueService.java b/dspace-api/src/main/java/org/dspace/content/service/MetadataValueService.java index 1cf26e37f160..38fee60f4981 100644 --- a/dspace-api/src/main/java/org/dspace/content/service/MetadataValueService.java +++ b/dspace-api/src/main/java/org/dspace/content/service/MetadataValueService.java @@ -17,6 +17,7 @@ import org.dspace.content.MetadataField; import org.dspace.content.MetadataValue; import org.dspace.core.Context; +import org.hibernate.Session; /** * Service interface class for the MetadataValue object. @@ -41,38 +42,38 @@ public interface MetadataValueService { /** * Retrieves the metadata value from the database. * - * @param context dspace context + * @param session current request's database context. * @param valueId database key id of value * @return recalled metadata value * @throws IOException if IO error * @throws SQLException if database error */ - public MetadataValue find(Context context, int valueId) + public MetadataValue find(Session session, int valueId) throws IOException, SQLException; /** * Retrieves the metadata values for a given field from the database. * - * @param context dspace context + * @param session current request's database context. * @param metadataField metadata field whose values to look for * @return a collection of metadata values * @throws IOException if IO error * @throws SQLException if database error */ - public List findByField(Context context, MetadataField metadataField) + public List findByField(Session session, MetadataField metadataField) throws IOException, SQLException; /** * Retrieves matching MetadataValues for a given field and value. * - * @param context dspace context + * @param session current request's database context. * @param metadataField The field that must match * @param value The value that must match * @return the matching MetadataValues * @throws SQLException if database error */ - public Iterator findByFieldAndValue(Context context, MetadataField metadataField, String value) + public Iterator findByFieldAndValue(Session session, MetadataField metadataField, String value) throws SQLException; /** @@ -96,7 +97,7 @@ public void update(Context context, MetadataValue metadataValue, boolean modifyP */ public void delete(Context context, MetadataValue metadataValue) throws SQLException; - public Iterator findByValueLike(Context context, String value) throws SQLException; + public Iterator findByValueLike(Session session, String value) throws SQLException; public void deleteByMetadataField(Context context, MetadataField metadataField) throws SQLException; diff --git a/dspace-api/src/main/java/org/dspace/content/service/RelationshipService.java b/dspace-api/src/main/java/org/dspace/content/service/RelationshipService.java index 719f966e4622..e8a266faaee6 100644 --- a/dspace-api/src/main/java/org/dspace/content/service/RelationshipService.java +++ b/dspace-api/src/main/java/org/dspace/content/service/RelationshipService.java @@ -19,6 +19,7 @@ import org.dspace.content.dao.pojo.ItemUuidAndRelationshipId; import org.dspace.core.Context; import org.dspace.service.DSpaceCRUDService; +import org.hibernate.Session; /** * This Service will use the DAO classes to access the information about Relationships from the database @@ -28,17 +29,17 @@ public interface RelationshipService extends DSpaceCRUDService { /** * Retrieves the list of Relationships currently in the system for which the given Item is either * a leftItem or a rightItem object - * @param context The relevant DSpace context + * @param session The current request's database context. * @param item The Item that has to be the left or right item for the relationship to be included in the list * @return The list of relationships for which each relationship adheres to the above listed constraint * @throws SQLException If something goes wrong */ - public List findByItem(Context context, Item item) throws SQLException; + public List findByItem(Session session, Item item) throws SQLException; /** * Retrieves the list of Relationships currently in the system for which the given Item is either * a leftItem or a rightItem object - * @param context The relevant DSpace context + * @param session The current request's database context. * @param item The Item that has to be the left or right item for the relationship to be * included in the list * @param limit paging limit @@ -48,13 +49,13 @@ public interface RelationshipService extends DSpaceCRUDService { * listed constraint * @throws SQLException If something goes wrong */ - List findByItem(Context context, Item item, Integer limit, Integer offset, boolean excludeTilted) + List findByItem(Session session, Item item, Integer limit, Integer offset, boolean excludeTilted) throws SQLException; /** * Retrieves the list of Relationships currently in the system for which the given Item is either * a leftItem or a rightItem object - * @param context The relevant DSpace context + * @param session The current request's database context. * @param item The Item that has to be the left or right item for the relationship to be * included in the list * @param limit paging limit @@ -67,26 +68,26 @@ List findByItem(Context context, Item item, Integer limit, Integer * @throws SQLException If something goes wrong */ List findByItem( - Context context, Item item, Integer limit, Integer offset, boolean excludeTilted, boolean excludeNonLatest + Session session, Item item, Integer limit, Integer offset, boolean excludeTilted, boolean excludeNonLatest ) throws SQLException; /** * Retrieves the full list of relationships currently in the system - * @param context The relevant DSpace context + * @param session current request's database context. * @return The list of all relationships currently in the system * @throws SQLException If something goes wrong */ - public List findAll(Context context) throws SQLException; + public List findAll(Session session) throws SQLException; /** * Retrieves the full list of relationships currently in the system - * @param context The relevant DSpace context + * @param session current request's database context. * @param limit paging limit * @param offset paging offset * @return The list of all relationships currently in the system * @throws SQLException If something goes wrong */ - List findAll(Context context, Integer limit, Integer offset) throws SQLException; + List findAll(Session session, Integer limit, Integer offset) throws SQLException; /** * This method creates a relationship object in the database equal to the given relationship param @@ -148,14 +149,14 @@ Relationship move(Context context, Relationship relationship, Item newLeftItem, * This method returns a list of Relationships for which the leftItem or rightItem is equal to the given * Item object and for which the RelationshipType object is equal to the relationshipType property * NOTE: tilted relationships are NEVER excluded when fetching one relationship type - * @param context The relevant DSpace context + * @param session The current request's database context. * @param item The Item object to be matched on the leftItem or rightItem for the relationship * @param relationshipType The RelationshipType object that will be used to check the Relationship on * @return The list of Relationship objects that have the given Item object as leftItem or rightItem and * for which the relationshipType property is equal to the given RelationshipType * @throws SQLException If something goes wrong */ - public List findByItemAndRelationshipType(Context context, Item item, + public List findByItemAndRelationshipType(Session session, Item item, RelationshipType relationshipType) throws SQLException; @@ -163,14 +164,14 @@ public List findByItemAndRelationshipType(Context context, Item it * This method returns a list of Relationships for which the leftItem or rightItem is equal to the given * Item object and for which the RelationshipType object is equal to the relationshipType property * NOTE: tilted relationships are NEVER excluded when fetching one relationship type - * @param context The relevant DSpace context + * @param session The current request's database context. * @param item The Item object to be matched on the leftItem or rightItem for the relationship * @param relationshipType The RelationshipType object that will be used to check the Relationship on * @return The list of Relationship objects that have the given Item object as leftItem or rightItem and * for which the relationshipType property is equal to the given RelationshipType * @throws SQLException If something goes wrong */ - public List findByItemAndRelationshipType(Context context, Item item, + public List findByItemAndRelationshipType(Session session, Item item, RelationshipType relationshipType, int limit, int offset) throws SQLException; @@ -178,7 +179,7 @@ public List findByItemAndRelationshipType(Context context, Item it * This method returns a list of Relationships for which the leftItem or rightItem is equal to the given * Item object and for which the RelationshipType object is equal to the relationshipType property * NOTE: tilted relationships are NEVER excluded when fetching one relationship type - * @param context The relevant DSpace context + * @param session The current request's database context. * @param item The Item object to be matched on the leftItem or rightItem for the relationship * @param relationshipType The RelationshipType object that will be used to check the Relationship on * @param excludeNonLatest If true, excludes all relationships for which the other item has a more recent version @@ -188,14 +189,14 @@ public List findByItemAndRelationshipType(Context context, Item it * @throws SQLException If something goes wrong */ public List findByItemAndRelationshipType( - Context context, Item item, RelationshipType relationshipType, int limit, int offset, boolean excludeNonLatest + Session session, Item item, RelationshipType relationshipType, int limit, int offset, boolean excludeNonLatest ) throws SQLException; /** * This method returns a list of Relationships for which the leftItem or rightItem is equal to the given * Item object and for which the RelationshipType object is equal to the relationshipType property * NOTE: tilted relationships are NEVER excluded when fetching one relationship type - * @param context The relevant DSpace context + * @param session The current request's database context. * @param item The Item object to be matched on the leftItem or rightItem for the relationship * @param relationshipType The RelationshipType object that will be used to check the Relationship on * @param isLeft Is the item left or right @@ -203,7 +204,7 @@ public List findByItemAndRelationshipType( * for which the relationshipType property is equal to the given RelationshipType * @throws SQLException If something goes wrong */ - public List findByItemAndRelationshipType(Context context, Item item, + public List findByItemAndRelationshipType(Session session, Item item, RelationshipType relationshipType, boolean isLeft, int limit, int offset) throws SQLException; @@ -212,7 +213,7 @@ public List findByItemAndRelationshipType(Context context, Item it * This method returns a list of Relationships for which the leftItem or rightItem is equal to the given * Item object and for which the RelationshipType object is equal to the relationshipType property * NOTE: tilted relationships are NEVER excluded when fetching one relationship type - * @param context The relevant DSpace context + * @param session The current request's database context. * @param item The Item object to be matched on the leftItem or rightItem for the relationship * @param relationshipType The RelationshipType object that will be used to check the Relationship on * @param isLeft Is the item left or right @@ -223,7 +224,7 @@ public List findByItemAndRelationshipType(Context context, Item it * @throws SQLException If something goes wrong */ public List findByItemAndRelationshipType( - Context context, Item item, RelationshipType relationshipType, boolean isLeft, int limit, int offset, + Session session, Item item, RelationshipType relationshipType, boolean isLeft, int limit, int offset, boolean excludeNonLatest ) throws SQLException; @@ -242,7 +243,7 @@ public List findByItemAndRelationshipType( * NOTE: This method does not return {@link Relationship}s for performance, because doing so would eagerly fetch * the items on both sides, which is unnecessary. * NOTE: tilted relationships are NEVER excluded when fetching one relationship type. - * @param context the DSpace context. + * @param session current request's database context. * @param latestItem the target item; only relationships where this item has "latest status" should be considered. * @param relationshipType the relationship type for which relationships should be selected. * @param isLeft whether the entity type of the item occurs on the left or right side of the relationship type. @@ -252,7 +253,7 @@ public List findByItemAndRelationshipType( * @throws SQLException if something goes wrong. */ public List findByLatestItemAndRelationshipType( - Context context, Item latestItem, RelationshipType relationshipType, boolean isLeft + Session session, Item latestItem, RelationshipType relationshipType, boolean isLeft ) throws SQLException; /** @@ -273,19 +274,19 @@ public List findByLatestItemAndRelationshipType( * This method returns a list of Relationship objects for which the relationshipType property is equal to the given * RelationshipType object * NOTE: tilted relationships are NEVER excluded when fetching one relationship type - * @param context The relevant DSpace context + * @param session The current request's database context. * @param relationshipType The RelationshipType object that will be used to check the Relationship on * @return The list of Relationship objects for which the given RelationshipType object is equal * to the relationshipType property * @throws SQLException If something goes wrong */ - List findByRelationshipType(Context context, RelationshipType relationshipType) throws SQLException; + List findByRelationshipType(Session session, RelationshipType relationshipType) throws SQLException; /** - * This method returns a list of Relationship objets for which the relationshipType property is equal to the given - * RelationshipType object - * NOTE: tilted relationships are NEVER excluded when fetching one relationship type - * @param context The relevant DSpace context + * This method returns a list of Relationship objects for which the + * relationshipType property is equal to the given RelationshipType object. + * NOTE: tilted relationships are NEVER excluded when fetching one relationship type. + * @param session The current request's database context. * @param relationshipType The RelationshipType object that will be used to check the Relationship on * @param limit paging limit * @param offset paging offset @@ -293,7 +294,7 @@ public List findByLatestItemAndRelationshipType( * to the relationshipType property * @throws SQLException If something goes wrong */ - List findByRelationshipType(Context context, RelationshipType relationshipType, Integer limit, + List findByRelationshipType(Session session, RelationshipType relationshipType, Integer limit, Integer offset) throws SQLException; /** @@ -356,17 +357,17 @@ Relationship create(Context c, Item leftItem, Item rightItem, RelationshipType r /** * This method returns a list of Relationship objects for the given typeName - * @param context The relevant DSpace context + * @param session The current request's database context. * @param typeName The leftward or rightward typeName of the relationship type * @return A list of Relationship objects that have the given RelationshipType object as the * relationshipType property * @throws SQLException If something goes wrong */ - List findByTypeName(Context context, String typeName) throws SQLException; + List findByTypeName(Session session, String typeName) throws SQLException; /** * This method returns a list of Relationship objects for the given typeName - * @param context The relevant DSpace context + * @param session The current request's database context. * @param typeName The leftward or rightward typeName of the relationship type * @param limit paging limit * @param offset paging offset @@ -374,7 +375,7 @@ Relationship create(Context c, Item leftItem, Item rightItem, RelationshipType r * relationshipType property * @throws SQLException If something goes wrong */ - List findByTypeName(Context context, String typeName, Integer limit, Integer offset) + List findByTypeName(Session session, String typeName, Integer limit, Integer offset) throws SQLException; @@ -494,7 +495,7 @@ void forceDelete(Context context, Relationship relationship, boolean copyToLeftI * This method is used to retrieve relationships that match focusItem * on the one hand and matches list of related items elsewhere. * - * @param context DSpace context object + * @param session current request's database context. * @param focusUUID UUID of Item that will match left side if the param isLeft is true otherwise right side * @param relationshipType Relationship type to filter by * @param items List of UUID that will use to filter other side respect the focusUUID @@ -505,7 +506,7 @@ void forceDelete(Context context, Relationship relationship, boolean copyToLeftI * @return * @throws SQLException If database error */ - public List findByItemRelationshipTypeAndRelatedList(Context context, UUID focusUUID, + public List findByItemRelationshipTypeAndRelatedList(Session session, UUID focusUUID, RelationshipType relationshipType, List items, boolean isLeft, int offset, int limit) throws SQLException; diff --git a/dspace-api/src/main/java/org/dspace/content/service/SiteService.java b/dspace-api/src/main/java/org/dspace/content/service/SiteService.java index 9245c037290e..3bc5df3bf38f 100644 --- a/dspace-api/src/main/java/org/dspace/content/service/SiteService.java +++ b/dspace-api/src/main/java/org/dspace/content/service/SiteService.java @@ -11,6 +11,7 @@ import org.dspace.content.Site; import org.dspace.core.Context; +import org.hibernate.Session; /** * Service interface class for the Site object. @@ -23,5 +24,5 @@ public interface SiteService extends DSpaceObjectService { public Site createSite(Context context) throws SQLException; - public Site findSite(Context context) throws SQLException; + public Site findSite(Session session) throws SQLException; } diff --git a/dspace-api/src/main/java/org/dspace/content/virtual/Related.java b/dspace-api/src/main/java/org/dspace/content/virtual/Related.java index 6367cf3a1aa3..401e06c56d57 100644 --- a/dspace-api/src/main/java/org/dspace/content/virtual/Related.java +++ b/dspace-api/src/main/java/org/dspace/content/virtual/Related.java @@ -24,7 +24,7 @@ /** * A bean implementing the {@link VirtualMetadataConfiguration} interface to achieve the generation of - * Virtual metadata 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 current item and it'll use the related item from that relationship to pass it along to the * virtualMetadataConfiguration property which in turn refers to another VirtualBean instance and it continues @@ -146,7 +146,7 @@ public boolean getPopulateWithNameVariant() { */ @Override public List getValues(Context context, Item item) throws SQLException { - Entity entity = entityService.findByItemId(context, item.getID()); + Entity entity = entityService.findByItemId(context.getSession(), item.getID()); EntityType entityType = entityService.getType(context, entity); List relationshipTypes = entityService.getAllRelationshipTypes(context, entity); @@ -160,7 +160,8 @@ public List getValues(Context context, Item item) throws SQLException { List relationships = new LinkedList<>(); for (RelationshipType relationshipType : possibleRelationshipTypes) { - relationships.addAll(relationshipService.findByItemAndRelationshipType(context, item, relationshipType)); + relationships.addAll(relationshipService.findByItemAndRelationshipType(context.getSession(), + item, relationshipType)); } for (Relationship relationship : relationships) { diff --git a/dspace-api/src/main/java/org/dspace/core/Context.java b/dspace-api/src/main/java/org/dspace/core/Context.java index 21b9aeb60614..51b8e1a7868c 100644 --- a/dspace-api/src/main/java/org/dspace/core/Context.java +++ b/dspace-api/src/main/java/org/dspace/core/Context.java @@ -714,7 +714,9 @@ public boolean inSpecialGroup(UUID groupID) { public List getSpecialGroups() throws SQLException { List myGroups = new ArrayList<>(); for (UUID groupId : specialGroups) { - myGroups.add(EPersonServiceFactory.getInstance().getGroupService().find(this, groupId)); + myGroups.add(EPersonServiceFactory.getInstance() + .getGroupService() + .find(this.getSession(), groupId)); } return myGroups; diff --git a/dspace-api/src/main/java/org/dspace/curate/AbstractCurationTask.java b/dspace-api/src/main/java/org/dspace/curate/AbstractCurationTask.java index fa16d2736953..40afdf82de3a 100644 --- a/dspace-api/src/main/java/org/dspace/curate/AbstractCurationTask.java +++ b/dspace-api/src/main/java/org/dspace/curate/AbstractCurationTask.java @@ -81,11 +81,12 @@ protected void distribute(DSpaceObject dso) throws IOException { //next, we'll try to distribute to all child objects, based on container type int type = dso.getType(); if (Constants.COLLECTION == type) { - Iterator iter = itemService.findByCollection(Curator.curationContext(), (Collection) dso); + Context context = Curator.curationContext(); + Iterator iter = itemService.findByCollection(context.getSession(), (Collection) dso); while (iter.hasNext()) { Item item = iter.next(); performObject(item); - Curator.curationContext().uncacheEntity(item); + context.uncacheEntity(item); } } else if (Constants.COMMUNITY == type) { Community comm = (Community) dso; @@ -96,7 +97,7 @@ protected void distribute(DSpaceObject dso) throws IOException { distribute(coll); } } else if (Constants.SITE == type) { - List topComm = communityService.findAllTop(Curator.curationContext()); + List topComm = communityService.findAllTop(Curator.curationContext().getSession()); for (Community comm : topComm) { distribute(comm); } diff --git a/dspace-api/src/main/java/org/dspace/curate/Curation.java b/dspace-api/src/main/java/org/dspace/curate/Curation.java index b3af072a32cd..3fe893faf3fc 100644 --- a/dspace-api/src/main/java/org/dspace/curate/Curation.java +++ b/dspace-api/src/main/java/org/dspace/curate/Curation.java @@ -129,7 +129,9 @@ private void handleCurationTask(Curator curator) throws IOException, SQLExceptio if ("all".equals(this.id)) { // run on whole Site curator.curate(context, - ContentServiceFactory.getInstance().getSiteService().findSite(context).getHandle()); + ContentServiceFactory.getInstance().getSiteService() + .findSite(context.getSession()) + .getHandle()); } else { curator.curate(context, this.id); } @@ -254,7 +256,7 @@ protected void assignCurrentUserInContext() throws ParseException { UUID currentUserUuid = this.getEpersonIdentifier(); try { this.context = new Context(Context.Mode.BATCH_EDIT); - EPerson eperson = ePersonService.find(context, currentUserUuid); + EPerson eperson = ePersonService.find(context.getSession(), currentUserUuid); if (eperson == null) { super.handler.logError("EPerson not found: " + currentUserUuid); throw new IllegalArgumentException("Unable to find a user with uuid: " + currentUserUuid); diff --git a/dspace-api/src/main/java/org/dspace/curate/Curator.java b/dspace-api/src/main/java/org/dspace/curate/Curator.java index 4076fab51989..2e90388ddb5d 100644 --- a/dspace-api/src/main/java/org/dspace/curate/Curator.java +++ b/dspace-api/src/main/java/org/dspace/curate/Curator.java @@ -96,7 +96,7 @@ public static enum TxScope { /** * constructor that uses an handler for logging - * + * * @param handler {@code DSpaceRunnableHandler} used to logs infos */ public Curator(DSpaceRunnableHandler handler) { @@ -461,7 +461,7 @@ protected boolean doSite(TaskRunner tr, Site site) throws IOException { //Then, perform this task for all Top-Level Communities in the Site // (this will recursively perform task for all objects in DSpace) - for (Community subcomm : communityService.findAllTop(ctx)) { + for (Community subcomm : communityService.findAllTop(ctx.getSession())) { if (!doCommunity(tr, subcomm)) { return false; } @@ -512,7 +512,7 @@ protected boolean doCollection(TaskRunner tr, Collection coll) throws IOExceptio return false; } Context context = curationContext(); - Iterator iter = itemService.findByCollection(context, coll); + Iterator iter = itemService.findByCollection(context.getSession(), coll); while (iter.hasNext()) { Item item = iter.next(); boolean shouldContinue = tr.run(item); @@ -620,7 +620,7 @@ protected String logMessage(String id) { /** * Proxy method for logging with INFO level - * + * * @param message that needs to be logged */ protected void logInfo(String message) { @@ -635,7 +635,7 @@ protected void logInfo(String message) { /** * Proxt method for logging with WARN level - * + * * @param message */ protected void logWarning(String message) { @@ -645,7 +645,7 @@ protected void logWarning(String message) { /** * Proxy method for logging with WARN level and a {@code Messageformatter} * that generates the final log. - * + * * @param message Target message to format or print * @param object Object to use inside the message, or null */ diff --git a/dspace-api/src/main/java/org/dspace/curate/XmlWorkflowCuratorServiceImpl.java b/dspace-api/src/main/java/org/dspace/curate/XmlWorkflowCuratorServiceImpl.java index 05c7a8d99930..440fcf0b7a4a 100644 --- a/dspace-api/src/main/java/org/dspace/curate/XmlWorkflowCuratorServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/curate/XmlWorkflowCuratorServiceImpl.java @@ -223,7 +223,7 @@ protected void notifyContacts(Context c, XmlWorkflowItem wfi, String status, String action, String message) throws AuthorizeException, IOException, SQLException { List epa = resolveContacts(c, task.getContacts(status), wfi); - if (epa.size() > 0) { + if (!epa.isEmpty()) { workflowService.notifyOfCuration(c, wfi, epa, task.name, action, message); } } @@ -284,7 +284,7 @@ protected List resolveContacts(Context c, List contacts, } } else { // assume it is an arbitrary group name - Group group = groupService.findByName(c, contact); + Group group = groupService.findByName(c.getSession(), contact); if (group != null) { epList.addAll(groupService.allMembers(c, group)); } diff --git a/dspace-api/src/main/java/org/dspace/discovery/IndexClient.java b/dspace-api/src/main/java/org/dspace/discovery/IndexClient.java index 661c48d91cfc..cd4f987eb34c 100644 --- a/dspace-api/src/main/java/org/dspace/discovery/IndexClient.java +++ b/dspace-api/src/main/java/org/dspace/discovery/IndexClient.java @@ -69,19 +69,21 @@ public void internalRun() throws Exception { } if (uuid != null) { - final Item item = ContentServiceFactory.getInstance().getItemService().find(context, uuid); + final Item item = ContentServiceFactory.getInstance() + .getItemService() + .find(context.getSession(), uuid); if (item != null) { indexableObject = Optional.of(new IndexableItem(item)); } else { // it could be a community final Community community = ContentServiceFactory.getInstance(). - getCommunityService().find(context, uuid); + getCommunityService().find(context.getSession(), uuid); if (community != null) { indexableObject = Optional.of(new IndexableCommunity(community)); } else { // it could be a collection final Collection collection = ContentServiceFactory.getInstance(). - getCollectionService().find(context, uuid); + getCollectionService().find(context.getSession(), uuid); if (collection != null) { indexableObject = Optional.of(new IndexableCollection(collection)); } @@ -155,6 +157,7 @@ public IndexDiscoveryScriptConfiguration getScriptConfiguration() { IndexDiscoveryScriptConfiguration.class); } + @Override public void setup() throws ParseException { try { context = new Context(Context.Mode.READ_ONLY); @@ -227,7 +230,7 @@ private static long indexItems(final IndexingService indexingService, throws IOException, SearchServiceException, SQLException { long count = 0; - final Iterator itemIterator = itemService.findByCollection(context, collection); + final Iterator itemIterator = itemService.findByCollection(context.getSession(), collection); while (itemIterator.hasNext()) { Item item = itemIterator.next(); indexingService.indexContent(context, new IndexableItem(item), true, false); diff --git a/dspace-api/src/main/java/org/dspace/discovery/SolrServiceImpl.java b/dspace-api/src/main/java/org/dspace/discovery/SolrServiceImpl.java index 0cf2aa50af67..488eb0f9324d 100644 --- a/dspace-api/src/main/java/org/dspace/discovery/SolrServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/discovery/SolrServiceImpl.java @@ -363,6 +363,7 @@ public void updateIndex(Context context, boolean force, String type) { /** * Removes all documents from the Lucene index */ + @Override public void deleteIndex() { try { final List indexableObjectServices = indexObjectServiceFactory. @@ -610,7 +611,7 @@ public String createLocationQueryForAdministrableItems(Context context) for (ResourcePolicy rp : collectionsPolicies) { Collection collection = ContentServiceFactory.getInstance().getCollectionService() - .find(context, rp.getdSpaceObject().getID()); + .find(context.getSession(), rp.getdSpaceObject().getID()); allCollections.add(collection); } @@ -619,8 +620,9 @@ public String createLocationQueryForAdministrableItems(Context context) for (int i = 0; i < communitiesPolicies.size(); i++) { ResourcePolicy rp = communitiesPolicies.get(i); - Community community = ContentServiceFactory.getInstance().getCommunityService() - .find(context, rp.getdSpaceObject().getID()); + Community community = ContentServiceFactory.getInstance() + .getCommunityService() + .find(context.getSession(), rp.getdSpaceObject().getID()); locationQuery.append("m").append(community.getID()); @@ -633,7 +635,7 @@ public String createLocationQueryForAdministrableItems(Context context) Iterator collIter = allCollections.iterator(); - if (communitiesPolicies.size() > 0 && allCollections.size() > 0) { + if (!communitiesPolicies.isEmpty() && !allCollections.isEmpty()) { locationQuery.append(" OR "); } @@ -725,7 +727,8 @@ public String locationToName(Context context, String field, String value) throws int type = ("location.comm").equals(field) ? Constants.COMMUNITY : Constants.COLLECTION; DSpaceObject commColl = null; if (StringUtils.isNotBlank(value)) { - commColl = contentServiceFactory.getDSpaceObjectService(type).find(context, UUID.fromString(value)); + commColl = contentServiceFactory.getDSpaceObjectService(type) + .find(context.getSession(), UUID.fromString(value)); } if (commColl != null) { return commColl.getName(); diff --git a/dspace-api/src/main/java/org/dspace/discovery/SolrServiceResourceRestrictionPlugin.java b/dspace-api/src/main/java/org/dspace/discovery/SolrServiceResourceRestrictionPlugin.java index d19616a85e10..6c1b4f05e25e 100644 --- a/dspace-api/src/main/java/org/dspace/discovery/SolrServiceResourceRestrictionPlugin.java +++ b/dspace-api/src/main/java/org/dspace/discovery/SolrServiceResourceRestrictionPlugin.java @@ -142,7 +142,7 @@ public void additionalSearchParameters(Context context, DiscoverQuery discoveryQ if (!authorizeService.isAdmin(context)) { StringBuilder resourceQuery = new StringBuilder(); //Always add the anonymous group id to the query - Group anonymousGroup = groupService.findByName(context, Group.ANONYMOUS); + Group anonymousGroup = groupService.findByName(context.getSession(), Group.ANONYMOUS); String anonGroupId = ""; if (anonymousGroup != null) { anonGroupId = anonymousGroup.getID().toString(); diff --git a/dspace-api/src/main/java/org/dspace/discovery/indexobject/CollectionIndexFactoryImpl.java b/dspace-api/src/main/java/org/dspace/discovery/indexobject/CollectionIndexFactoryImpl.java index 817be7848df7..c00d23892e8e 100644 --- a/dspace-api/src/main/java/org/dspace/discovery/indexobject/CollectionIndexFactoryImpl.java +++ b/dspace-api/src/main/java/org/dspace/discovery/indexobject/CollectionIndexFactoryImpl.java @@ -49,7 +49,7 @@ public class CollectionIndexFactoryImpl extends DSpaceObjectIndexFactoryImpl findAll(Context context) throws SQLException { - Iterator collections = collectionService.findAll(context).iterator(); + Iterator collections = collectionService.findAll(context.getSession()).iterator(); return new Iterator() { @Override @@ -150,7 +150,7 @@ public List getIndexableObjects(Context context, Collection object) { @Override public Optional findIndexableObject(Context context, String id) throws SQLException { - final Collection collection = (collectionService.find(context, UUID.fromString(id))); + final Collection collection = (collectionService.find(context.getSession(), UUID.fromString(id))); return collection == null ? Optional.empty() : Optional.of(new IndexableCollection(collection)); } diff --git a/dspace-api/src/main/java/org/dspace/discovery/indexobject/CommunityIndexFactoryImpl.java b/dspace-api/src/main/java/org/dspace/discovery/indexobject/CommunityIndexFactoryImpl.java index e92819601839..c9a5e0bfb816 100644 --- a/dspace-api/src/main/java/org/dspace/discovery/indexobject/CommunityIndexFactoryImpl.java +++ b/dspace-api/src/main/java/org/dspace/discovery/indexobject/CommunityIndexFactoryImpl.java @@ -40,7 +40,7 @@ public class CommunityIndexFactoryImpl extends DSpaceObjectIndexFactoryImpl findAll(Context context) throws SQLException { - Iterator communities = communityService.findAll(context).iterator(); + Iterator communities = communityService.findAll(context.getSession()).iterator(); return new Iterator() { @Override @@ -117,7 +117,7 @@ public List getIndexableObjects(Context context, Community object) { @Override public Optional findIndexableObject(Context context, String id) throws SQLException { - final Community community = communityService.find(context, UUID.fromString(id)); + final Community community = communityService.find(context.getSession(), UUID.fromString(id)); return community == null ? Optional.empty() : Optional.of(new IndexableCommunity(community)); } diff --git a/dspace-api/src/main/java/org/dspace/discovery/indexobject/ItemIndexFactoryImpl.java b/dspace-api/src/main/java/org/dspace/discovery/indexobject/ItemIndexFactoryImpl.java index 7cdb8b93d80e..83ba3a2f982b 100644 --- a/dspace-api/src/main/java/org/dspace/discovery/indexobject/ItemIndexFactoryImpl.java +++ b/dspace-api/src/main/java/org/dspace/discovery/indexobject/ItemIndexFactoryImpl.java @@ -112,7 +112,7 @@ public class ItemIndexFactoryImpl extends DSpaceObjectIndexFactoryImpl findAll(Context context) throws SQLException { - Iterator items = itemService.findAllRegularItems(context); + Iterator items = itemService.findAllRegularItems(context.getSession()); return new Iterator() { @Override public boolean hasNext() { @@ -572,7 +572,7 @@ public void addDiscoveryFields(SolrInputDocument doc, Context context, Item item } if (toProjectionFields.contains(field) || toProjectionFields .contains(unqualifiedField + "." + Item.ANY)) { - StringBuffer variantsToStore = new StringBuffer(); + StringBuilder variantsToStore = new StringBuilder(); if (variants != null) { for (String var : variants) { variantsToStore.append(VARIANTS_STORE_SEPARATOR); @@ -609,7 +609,7 @@ public void addDiscoveryFields(SolrInputDocument doc, Context context, Item item List values = itemService.getMetadataByMetadataString(item, "dc.relation.ispartof"); - if (values != null && values.size() > 0 && values.get(0) != null && values.get(0).getValue() != null) { + if (values != null && !values.isEmpty() && values.get(0) != null && values.get(0).getValue() != null) { // group on parent String handlePrefix = handleService.getCanonicalPrefix(); @@ -715,7 +715,7 @@ public List getIndexableObjects(Context context, Item item) throws SQLException @Override public Optional findIndexableObject(Context context, String id) throws SQLException { - final Item item = itemService.find(context, UUID.fromString(id)); + final Item item = itemService.find(context.getSession(), UUID.fromString(id)); return item == null ? Optional.empty() : Optional.of(new IndexableItem(item)); } diff --git a/dspace-api/src/main/java/org/dspace/discovery/indexobject/MetadataFieldIndexFactoryImpl.java b/dspace-api/src/main/java/org/dspace/discovery/indexobject/MetadataFieldIndexFactoryImpl.java index bef44326fe75..1e7c812f9e2f 100644 --- a/dspace-api/src/main/java/org/dspace/discovery/indexobject/MetadataFieldIndexFactoryImpl.java +++ b/dspace-api/src/main/java/org/dspace/discovery/indexobject/MetadataFieldIndexFactoryImpl.java @@ -61,7 +61,7 @@ public SolrInputDocument buildDocument(Context context, IndexableMetadataField i addFacetIndex(doc, FIELD_NAME_VARIATIONS, metadataField.getElement(), metadataField.getElement()); } addNamedResourceTypeIndex(doc, indexableObject.getTypeText()); - Group anonymousGroup = groupService.findByName(context, Group.ANONYMOUS); + Group anonymousGroup = groupService.findByName(context.getSession(), Group.ANONYMOUS); // add read permission on doc for anonymous group doc.addField("read", "g" + anonymousGroup.getID()); doc.addField(FIELD_NAME_VARIATIONS + "_sort", fieldName); @@ -73,7 +73,7 @@ public SolrInputDocument buildDocument(Context context, IndexableMetadataField i @Override public Iterator findAll(Context context) throws SQLException { - final Iterator metadataFields = metadataFieldService.findAll(context).iterator(); + final Iterator metadataFields = metadataFieldService.findAll(context.getSession()).iterator(); return new Iterator<>() { @Override public boolean hasNext() { @@ -94,7 +94,7 @@ public String getType() { @Override public Optional findIndexableObject(Context context, String id) throws SQLException { - final MetadataField metadataField = metadataFieldService.find(context, Integer.parseInt(id)); + final MetadataField metadataField = metadataFieldService.find(context.getSession(), Integer.parseInt(id)); return metadataField == null ? Optional.empty() : Optional.of(new IndexableMetadataField(metadataField)); } diff --git a/dspace-api/src/main/java/org/dspace/embargo/DefaultEmbargoSetter.java b/dspace-api/src/main/java/org/dspace/embargo/DefaultEmbargoSetter.java index 7857a45eb8d5..b76e37ecb1f6 100644 --- a/dspace-api/src/main/java/org/dspace/embargo/DefaultEmbargoSetter.java +++ b/dspace-api/src/main/java/org/dspace/embargo/DefaultEmbargoSetter.java @@ -137,7 +137,7 @@ protected void generatePolicies(Context context, Date embargoDate, .createOrModifyPolicy(null, context, null, EPersonServiceFactory.getInstance() .getGroupService() - .findByName(context, Group.ANONYMOUS), + .findByName(context.getSession(), Group.ANONYMOUS), null, embargoDate, Constants.READ, reason, dso); if (rp != null) { getResourcePolicyService().update(context, rp); diff --git a/dspace-api/src/main/java/org/dspace/embargo/EmbargoServiceImpl.java b/dspace-api/src/main/java/org/dspace/embargo/EmbargoServiceImpl.java index 5ec83c7cdb42..aa72df51b809 100644 --- a/dspace-api/src/main/java/org/dspace/embargo/EmbargoServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/embargo/EmbargoServiceImpl.java @@ -122,7 +122,7 @@ public DCDate getEmbargoTermsAsDate(Context context, Item item) } result = setter.parseTerms(context, item, - terms.size() > 0 ? terms.get(0).getValue() : null); + !terms.isEmpty() ? terms.get(0).getValue() : null); if (result == null) { return null; @@ -219,8 +219,9 @@ protected String getQualifierOf(String field) { // it was never under embargo, or the lift date has passed. protected DCDate recoverEmbargoDate(Item item) { DCDate liftDate = null; - List lift = itemService.getMetadata(item, lift_schema, lift_element, lift_qualifier, Item.ANY); - if (lift.size() > 0) { + List lift = itemService.getMetadata(item, + lift_schema, lift_element, lift_qualifier, Item.ANY); + if (!lift.isEmpty()) { liftDate = new DCDate(lift.get(0).getValue()); // sanity check: do not allow an embargo lift date in the past. if (liftDate.toDate().before(new Date())) { @@ -243,6 +244,7 @@ public List getLiftMetadata(Context context, Item item) { @Override public Iterator findItemsByLiftMetadata(Context context) throws SQLException, IOException, AuthorizeException { - return itemService.findByMetadataField(context, lift_schema, lift_element, lift_qualifier, Item.ANY); + return itemService.findByMetadataField(context.getSession(), + lift_schema, lift_element, lift_qualifier, Item.ANY); } } diff --git a/dspace-api/src/main/java/org/dspace/eperson/EPersonConsumer.java b/dspace-api/src/main/java/org/dspace/eperson/EPersonConsumer.java index feefe65717df..2b47a76f00da 100644 --- a/dspace-api/src/main/java/org/dspace/eperson/EPersonConsumer.java +++ b/dspace-api/src/main/java/org/dspace/eperson/EPersonConsumer.java @@ -77,7 +77,7 @@ public void consume(Context context, Event event) if (et == Event.CREATE) { // Notify of new user registration String notifyRecipient = configurationService.getProperty("registration.notify"); - EPerson eperson = ePersonService.find(context, id); + EPerson eperson = ePersonService.find(context.getSession(), id); if (notifyRecipient == null) { notifyRecipient = ""; } diff --git a/dspace-api/src/main/java/org/dspace/eperson/EPersonServiceImpl.java b/dspace-api/src/main/java/org/dspace/eperson/EPersonServiceImpl.java index 064d93e0a1fe..adda4127614f 100644 --- a/dspace-api/src/main/java/org/dspace/eperson/EPersonServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/eperson/EPersonServiceImpl.java @@ -66,6 +66,7 @@ import org.dspace.xmlworkflow.storedcomponents.service.CollectionRoleService; import org.dspace.xmlworkflow.storedcomponents.service.PoolTaskService; import org.dspace.xmlworkflow.storedcomponents.service.WorkflowItemRoleService; +import org.hibernate.Session; import org.springframework.beans.factory.annotation.Autowired; /** @@ -109,22 +110,22 @@ protected EPersonServiceImpl() { } @Override - public EPerson find(Context context, UUID id) throws SQLException { - return ePersonDAO.findByID(context.getSession(), EPerson.class, id); + public EPerson find(Session session, UUID id) throws SQLException { + return ePersonDAO.findByID(session, EPerson.class, id); } @Override - public EPerson findByIdOrLegacyId(Context context, String id) throws SQLException { + public EPerson findByIdOrLegacyId(Session session, String id) throws SQLException { if (StringUtils.isNumeric(id)) { - return findByLegacyId(context, Integer.parseInt(id)); + return findByLegacyId(session, Integer.parseInt(id)); } else { - return find(context, UUID.fromString(id)); + return find(session, UUID.fromString(id)); } } @Override - public EPerson findByLegacyId(Context context, int legacyId) throws SQLException { - return ePersonDAO.findByLegacyId(context.getSession(), legacyId, EPerson.class); + public EPerson findByLegacyId(Session session, int legacyId) throws SQLException { + return ePersonDAO.findByLegacyId(session, legacyId, EPerson.class); } @Override @@ -159,14 +160,16 @@ public List search(Context context, String query) throws SQLException { public List search(Context context, String query, int offset, int limit) throws SQLException { try { List ePerson = new ArrayList<>(); - EPerson person = find(context, UUID.fromString(query)); + EPerson person = find(context.getSession(), UUID.fromString(query)); if (person != null) { ePerson.add(person); } return ePerson; } catch (IllegalArgumentException e) { - MetadataField firstNameField = metadataFieldService.findByElement(context, "eperson", "firstname", null); - MetadataField lastNameField = metadataFieldService.findByElement(context, "eperson", "lastname", null); + MetadataField firstNameField = metadataFieldService.findByElement(context.getSession(), + "eperson", "firstname", null); + MetadataField lastNameField = metadataFieldService.findByElement(context.getSession(), + "eperson", "lastname", null); if (StringUtils.isBlank(query)) { query = null; } @@ -177,8 +180,10 @@ public List search(Context context, String query, int offset, int limit @Override public int searchResultCount(Context context, String query) throws SQLException { - MetadataField firstNameField = metadataFieldService.findByElement(context, "eperson", "firstname", null); - MetadataField lastNameField = metadataFieldService.findByElement(context, "eperson", "lastname", null); + MetadataField firstNameField = metadataFieldService.findByElement(context.getSession(), + "eperson", "firstname", null); + MetadataField lastNameField = metadataFieldService.findByElement(context.getSession(), + "eperson", "lastname", null); if (StringUtils.isBlank(query)) { query = null; } @@ -204,14 +209,16 @@ public List findAll(Context context, int sortField, int pageSize, int o break; case EPerson.LANGUAGE: - metadataFieldSort = metadataFieldService.findByElement(context, "eperson", "language", null); + metadataFieldSort = metadataFieldService.findByElement(context.getSession(), + "eperson", "language", null); break; case EPerson.NETID: sortColumn = "netid"; break; default: - metadataFieldSort = metadataFieldService.findByElement(context, "eperson", "lastname", null); + metadataFieldSort = metadataFieldService.findByElement(context.getSession(), + "eperson", "lastname", null); } return ePersonDAO.findAll(context.getSession(), metadataFieldSort, sortColumn, pageSize, offset); } @@ -296,7 +303,7 @@ public void delete(Context context, EPerson ePerson, boolean cascade) while (constraintsIterator.hasNext()) { String tableName = constraintsIterator.next(); if (StringUtils.equals(tableName, "item") || StringUtils.equals(tableName, "workspaceitem")) { - Iterator itemIterator = itemService.findBySubmitter(context, ePerson, true); + Iterator itemIterator = itemService.findBySubmitter(context.getSession(), ePerson, true); VersionHistoryService versionHistoryService = VersionServiceFactory.getInstance() .getVersionHistoryService(); @@ -513,7 +520,7 @@ public List getDeleteConstraints(Context context, EPerson ePerson) throw List tableList = new ArrayList<>(); // check for eperson in item table - Iterator itemsBySubmitter = itemService.findBySubmitter(context, ePerson, true); + Iterator itemsBySubmitter = itemService.findBySubmitter(context.getSession(), ePerson, true); if (itemsBySubmitter.hasNext()) { tableList.add("item"); } @@ -585,7 +592,7 @@ public EPerson findByProfileItem(Context context, Item profile) throws SQLExcept if (CollectionUtils.isEmpty(owners)) { return null; } - return find(context, UUIDUtils.fromString(owners.get(0).getAuthority())); + return find(context.getSession(), UUIDUtils.fromString(owners.get(0).getAuthority())); } @Override diff --git a/dspace-api/src/main/java/org/dspace/eperson/GroupServiceImpl.java b/dspace-api/src/main/java/org/dspace/eperson/GroupServiceImpl.java index 48ca86f5c8b6..991f4e4af0a9 100644 --- a/dspace-api/src/main/java/org/dspace/eperson/GroupServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/eperson/GroupServiceImpl.java @@ -54,6 +54,7 @@ import org.dspace.xmlworkflow.storedcomponents.service.ClaimedTaskService; import org.dspace.xmlworkflow.storedcomponents.service.CollectionRoleService; import org.dspace.xmlworkflow.storedcomponents.service.PoolTaskService; +import org.hibernate.Session; import org.springframework.beans.factory.annotation.Autowired; /** @@ -259,7 +260,7 @@ public boolean isMember(Context context, EPerson ePerson, Group group) // special, everyone is member of group 0 (anonymous) } else if (StringUtils.equals(group.getName(), Group.ANONYMOUS) || - isParentOf(context, group, findByName(context, Group.ANONYMOUS))) { + isParentOf(context, group, findByName(context.getSession(), Group.ANONYMOUS))) { return true; } else { @@ -309,12 +310,12 @@ private boolean isAuthenticatedUser(final Context context, final EPerson ePerson @Override public boolean isMember(final Context context, final String groupName) throws SQLException { - return isMember(context, findByName(context, groupName)); + return isMember(context, findByName(context.getSession(), groupName)); } @Override public boolean isMember(final Context context, EPerson eperson, final String groupName) throws SQLException { - return isMember(context, eperson, findByName(context, groupName)); + return isMember(context, eperson, findByName(context.getSession(), groupName)); } @Override @@ -349,7 +350,7 @@ public Set allMemberGroupsSet(Context context, EPerson ePerson) throws SQ } // all the users are members of the anonymous group - groups.add(findByName(context, Group.ANONYMOUS)); + groups.add(findByName(context.getSession(), Group.ANONYMOUS)); List groupCache = group2GroupCacheDAO.findByChildren(context.getSession(), groups); // now we have all owning groups, also grab all parents of owning groups @@ -382,21 +383,21 @@ public List allMembers(Context c, Group g) throws SQLException { } @Override - public Group find(Context context, UUID id) throws SQLException { + public Group find(Session session, UUID id) throws SQLException { if (id == null) { return null; } else { - return groupDAO.findByID(context.getSession(), Group.class, id); + return groupDAO.findByID(session.getSession(), Group.class, id); } } @Override - public Group findByName(Context context, String name) throws SQLException { + public Group findByName(Session session, String name) throws SQLException { if (name == null) { return null; } - return groupDAO.findByName(context.getSession(), name); + return groupDAO.findByName(session, name); } /** @@ -404,26 +405,26 @@ public Group findByName(Context context, String name) throws SQLException { */ @Override @Deprecated - public List findAll(Context context, int sortField) throws SQLException { + public List findAll(Session session, int sortField) throws SQLException { if (sortField == GroupService.NAME) { - return findAll(context, null); + return findAll(session, null); } else { throw new UnsupportedOperationException("You can only find all groups sorted by name with this method"); } } @Override - public List findAll(Context context, List metadataSortFields) throws SQLException { - return findAll(context, metadataSortFields, -1, -1); + public List findAll(Session session, List metadataSortFields) throws SQLException { + return findAll(session, metadataSortFields, -1, -1); } @Override - public List findAll(Context context, List metadataSortFields, int pageSize, int offset) + public List findAll(Session session, List metadataSortFields, int pageSize, int offset) throws SQLException { if (CollectionUtils.isEmpty(metadataSortFields)) { - return groupDAO.findAll(context.getSession(), pageSize, offset); + return groupDAO.findAll(session, pageSize, offset); } else { - return groupDAO.findAll(context.getSession(), metadataSortFields, pageSize, offset); + return groupDAO.findAll(session, metadataSortFields, pageSize, offset); } } @@ -441,7 +442,7 @@ public List search(Context context, String groupIdentifier, int offset, i groups = groupDAO.findByNameLike(context.getSession(), groupIdentifier, offset, limit); } else { //Search by group id - Group group = find(context, uuid); + Group group = find(context.getSession(), uuid); if (group != null) { groups.add(group); } @@ -459,7 +460,7 @@ public int searchResultCount(Context context, String groupIdentifier) throws SQL result = groupDAO.countByNameLike(context.getSession(), groupIdentifier); } else { //Search by group id - Group group = find(context, uuid); + Group group = find(context.getSession(), uuid); if (group != null) { result = 1; } @@ -533,7 +534,7 @@ public boolean isEmpty(Group group) { public void initDefaultGroupNames(Context context) throws SQLException, AuthorizeException { GroupService groupService = EPersonServiceFactory.getInstance().getGroupService(); // Check for Anonymous group. If not found, create it - Group anonymousGroup = groupService.findByName(context, Group.ANONYMOUS); + Group anonymousGroup = groupService.findByName(context.getSession(), Group.ANONYMOUS); if (anonymousGroup == null) { anonymousGroup = groupService.create(context); anonymousGroup.setName(Group.ANONYMOUS); @@ -543,7 +544,7 @@ public void initDefaultGroupNames(Context context) throws SQLException, Authoriz // Check for Administrator group. If not found, create it - Group adminGroup = groupService.findByName(context, Group.ADMIN); + Group adminGroup = groupService.findByName(context.getSession(), Group.ADMIN); if (adminGroup == null) { adminGroup = groupService.create(context); adminGroup.setName(Group.ADMIN); @@ -653,8 +654,8 @@ protected void rethinkGroupCache(Context context, boolean flushQueries) throws S for (UUID child : parent.getValue()) { - Group parentGroup = find(context, key); - Group childGroup = find(context, child); + Group parentGroup = find(context.getSession(), key); + Group childGroup = find(context.getSession(), child); if (parentGroup != null && childGroup != null && group2GroupCacheDAO @@ -802,17 +803,17 @@ protected Set getChildren(Map> parents, UUID parent) { } @Override - public Group findByIdOrLegacyId(Context context, String id) throws SQLException { + public Group findByIdOrLegacyId(Session session, String id) throws SQLException { if (org.apache.commons.lang3.StringUtils.isNumeric(id)) { - return findByLegacyId(context, Integer.parseInt(id)); + return findByLegacyId(session, Integer.parseInt(id)); } else { - return find(context, UUIDUtils.fromString(id)); + return find(session, UUIDUtils.fromString(id)); } } @Override - public Group findByLegacyId(Context context, int id) throws SQLException { - return groupDAO.findByLegacyId(context.getSession(), id, Group.class); + public Group findByLegacyId(Session session, int id) throws SQLException { + return groupDAO.findByLegacyId(session.getSession(), id, Group.class); } @Override @@ -821,9 +822,9 @@ public int countTotal(Context context) throws SQLException { } @Override - public List findByMetadataField(final Context context, final String searchValue, + public List findByMetadataField(final Session session, final String searchValue, final MetadataField metadataField) throws SQLException { - return groupDAO.findByMetadataField(context.getSession(), searchValue, metadataField); + return groupDAO.findByMetadataField(session.getSession(), searchValue, metadataField); } @Override diff --git a/dspace-api/src/main/java/org/dspace/eperson/service/GroupService.java b/dspace-api/src/main/java/org/dspace/eperson/service/GroupService.java index 8979bcc4457a..3a07a82d3c6f 100644 --- a/dspace-api/src/main/java/org/dspace/eperson/service/GroupService.java +++ b/dspace-api/src/main/java/org/dspace/eperson/service/GroupService.java @@ -18,6 +18,7 @@ import org.dspace.core.Context; import org.dspace.eperson.EPerson; import org.dspace.eperson.Group; +import org.hibernate.Session; /** * Service interface class for the Group object. @@ -203,28 +204,28 @@ public interface GroupService extends DSpaceObjectService, DSpaceObjectLe /** * Find the group by its name - assumes name is unique * - * @param context The relevant DSpace Context. + * @param session The current request's database context. * @param name Group name to search for * @return the named Group, or null if not found * @throws SQLException if error */ - public Group findByName(Context context, String name) throws SQLException; + public Group findByName(Session session, String name) throws SQLException; /** * Finds all groups in the site * - * @param context The relevant DSpace Context. + * @param session current request's database context. * @param metadataSortFields metadata fields to sort by, leave empty to sort by Name * @param pageSize how many results return * @param offset the position of the first result to return * @return List of all groups in the site * @throws SQLException if error */ - public List findAll(Context context, List metadataSortFields, int pageSize, int offset) + public List findAll(Session session, List metadataSortFields, int pageSize, int offset) throws SQLException; /** - * @param context The relevant DSpace Context. + * @param session current request's database context. * @param metadataSortFields metadata fields to sort by, leave empty to sort by Name * @return List of all groups in the site * @throws SQLException if error @@ -232,19 +233,19 @@ public List findAll(Context context, List metadataSortFiel * int offset)} instead */ @Deprecated - public List findAll(Context context, List metadataSortFields) throws SQLException; + public List findAll(Session session, List metadataSortFields) throws SQLException; /** * DEPRECATED: Please use {@code findAll(Context context, List metadataFieldsSort)} instead * - * @param context DSpace context + * @param session current request's database context. * @param sortField sort field index * @return List of all groups in the site * @throws SQLException if error * @deprecated */ @Deprecated - public List findAll(Context context, int sortField) throws SQLException; + public List findAll(Session session, int sortField) throws SQLException; /** * Find the groups that match the search query across eperson_group_id or name @@ -319,12 +320,12 @@ public List findAll(Context context, List metadataSortFiel * Look up groups based on their value for a certain metadata field * (NOTE: name is not stored as metadata) * - * @param context The DSpace context + * @param session The current request's database context. * @param searchValue The value to match * @param metadataField The metadata field to search in * @return The groups that have a matching value for specified metadata field * @throws SQLException database exception */ - List findByMetadataField(Context context, String searchValue, MetadataField metadataField) + List findByMetadataField(Session session, String searchValue, MetadataField metadataField) throws SQLException; } diff --git a/dspace-api/src/main/java/org/dspace/event/Event.java b/dspace-api/src/main/java/org/dspace/event/Event.java index af8b2d45713f..a2f9b8bd4e5a 100644 --- a/dspace-api/src/main/java/org/dspace/event/Event.java +++ b/dspace-api/src/main/java/org/dspace/event/Event.java @@ -107,9 +107,9 @@ public class Event implements Serializable { protected static final int ALL_OBJECTS_MASK = BITSTREAM | BUNDLE | ITEM | COLLECTION | COMMUNITY | SITE | GROUP | EPERSON; - protected static Map objTypeToMask = new HashMap(); + protected static Map objTypeToMask = new HashMap<>(); - protected static Map objMaskToType = new HashMap(); + protected static Map objMaskToType = new HashMap<>(); static { objTypeToMask.put(Constants.BITSTREAM, BITSTREAM); @@ -375,7 +375,8 @@ public DSpaceObject getObject(Context context) throws SQLException { if (type < 0 || id == null) { return null; } else { - return ContentServiceFactory.getInstance().getDSpaceObjectService(type).find(context, id); + return ContentServiceFactory.getInstance().getDSpaceObjectService(type) + .find(context.getSession(), id); } } @@ -389,7 +390,7 @@ public DSpaceObject getObject(Context context) throws SQLException { */ public DSpaceObject getSubject(Context context) throws SQLException { return ContentServiceFactory.getInstance().getDSpaceObjectService(getSubjectType()) - .find(context, getSubjectID()); + .find(context.getSession(), getSubjectID()); } /** diff --git a/dspace-api/src/main/java/org/dspace/handle/UpdateHandlePrefix.java b/dspace-api/src/main/java/org/dspace/handle/UpdateHandlePrefix.java index 7fb03376eb5f..05586c9ad2ce 100644 --- a/dspace-api/src/main/java/org/dspace/handle/UpdateHandlePrefix.java +++ b/dspace-api/src/main/java/org/dspace/handle/UpdateHandlePrefix.java @@ -100,7 +100,7 @@ public static void main(String[] args) throws Exception { String handlePrefix = handleService.getCanonicalPrefix(); Iterator metadataValues = metadataValueService - .findByValueLike(context, handlePrefix + oldH); + .findByValueLike(context.getSession(), handlePrefix + oldH); int updMeta = 0; while (metadataValues.hasNext()) { diff --git a/dspace-api/src/main/java/org/dspace/harvest/HarvestScheduler.java b/dspace-api/src/main/java/org/dspace/harvest/HarvestScheduler.java index 28aed02e1d20..b726a3a56ae1 100644 --- a/dspace-api/src/main/java/org/dspace/harvest/HarvestScheduler.java +++ b/dspace-api/src/main/java/org/dspace/harvest/HarvestScheduler.java @@ -168,7 +168,7 @@ protected void scheduleLoop() { case HARVESTER_INTERRUPT_INSERT_THREAD: interrupt = HARVESTER_INTERRUPT_NONE; addThread(mainContext, harvestedCollectionService - .find(mainContext, collectionService.find(mainContext, interruptValue))); + .find(mainContext, collectionService.find(mainContext.getSession(), interruptValue))); interruptValue = null; break; case HARVESTER_INTERRUPT_PAUSE: diff --git a/dspace-api/src/main/java/org/dspace/harvest/HarvestThread.java b/dspace-api/src/main/java/org/dspace/harvest/HarvestThread.java index 52498558d49a..b4c841d6c70d 100644 --- a/dspace-api/src/main/java/org/dspace/harvest/HarvestThread.java +++ b/dspace-api/src/main/java/org/dspace/harvest/HarvestThread.java @@ -48,7 +48,7 @@ private void runHarvest() { HarvestedCollection hc = null; try { context = new Context(); - dso = collectionService.find(context, collectionId); + dso = collectionService.find(context.getSession(), collectionId); hc = harvestedCollectionService.find(context, dso); try { diff --git a/dspace-api/src/main/java/org/dspace/health/ItemCheck.java b/dspace-api/src/main/java/org/dspace/health/ItemCheck.java index d67be523a984..fb79006bd385 100644 --- a/dspace-api/src/main/java/org/dspace/health/ItemCheck.java +++ b/dspace-api/src/main/java/org/dspace/health/ItemCheck.java @@ -190,7 +190,7 @@ public List> getCommunities(Context context) throws SQLException { List> cl = new java.util.ArrayList<>(); - List top_communities = communityService.findAllTop(context); + List top_communities = communityService.findAllTop(context.getSession()); for (Community c : top_communities) { cl.add( new java.util.AbstractMap.SimpleEntry<>(c.getName(), itemService.countItems(context, c)) diff --git a/dspace-api/src/main/java/org/dspace/health/UserCheck.java b/dspace-api/src/main/java/org/dspace/health/UserCheck.java index 19a2a9ced355..fd1bbab82d6f 100644 --- a/dspace-api/src/main/java/org/dspace/health/UserCheck.java +++ b/dspace-api/src/main/java/org/dspace/health/UserCheck.java @@ -37,7 +37,7 @@ public class UserCheck extends Check { public String run(ReportInfo ri) { Context context = new Context(); String ret = ""; - Map info = new HashMap(); + Map info = new HashMap<>(); try { List epersons = ePersonService.findAll(context, EPerson.LASTNAME); info.put("Count", epersons.size()); @@ -106,7 +106,7 @@ public String run(ReportInfo ri) { subscribers.size(), formatIds(subscribers)); //subscribed collections - List subscribedCols = collectionService.findCollectionsWithSubscribers(context); + List subscribedCols = collectionService.findCollectionsWithSubscribers(context.getSession()); ret += String.format( "Subscribed cols.: #%d [%s]\n", subscribedCols.size(), formatIds(subscribedCols)); diff --git a/dspace-api/src/main/java/org/dspace/identifier/EZIDIdentifierProvider.java b/dspace-api/src/main/java/org/dspace/identifier/EZIDIdentifierProvider.java index 78ddeb8f909b..13632be19246 100644 --- a/dspace-api/src/main/java/org/dspace/identifier/EZIDIdentifierProvider.java +++ b/dspace-api/src/main/java/org/dspace/identifier/EZIDIdentifierProvider.java @@ -298,7 +298,7 @@ public DSpaceObject resolve(Context context, String identifier, Iterator found; try { - found = itemService.findByMetadataField(context, + found = itemService.findByMetadataField(context.getSession(), MD_SCHEMA, DOI_ELEMENT, DOI_QUALIFIER, idToDOI(identifier)); } catch (IdentifierException | SQLException | AuthorizeException | IOException ex) { diff --git a/dspace-api/src/main/java/org/dspace/identifier/doi/DOIOrganiser.java b/dspace-api/src/main/java/org/dspace/identifier/doi/DOIOrganiser.java index 088e2b1cbc87..92fdc7814c8c 100644 --- a/dspace-api/src/main/java/org/dspace/identifier/doi/DOIOrganiser.java +++ b/dspace-api/src/main/java/org/dspace/identifier/doi/DOIOrganiser.java @@ -693,7 +693,7 @@ public DOI resolveToDOI(String identifier) // try to detect ItemID if (identifier .matches("[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[34][0-9a-fA-F]{3}-[89ab][0-9a-fA-F]{3}-[0-9a-fA-F]{12}")) { - DSpaceObject dso = itemService.find(context, UUID.fromString(identifier)); + DSpaceObject dso = itemService.find(context.getSession(), UUID.fromString(identifier)); if (null != dso) { doiRow = doiService.findDOIByDSpaceObject(context, dso); diff --git a/dspace-api/src/main/java/org/dspace/iiif/canvasdimension/CanvasDimensionCLI.java b/dspace-api/src/main/java/org/dspace/iiif/canvasdimension/CanvasDimensionCLI.java index c7feea4c56ee..5252ff44a927 100644 --- a/dspace-api/src/main/java/org/dspace/iiif/canvasdimension/CanvasDimensionCLI.java +++ b/dspace-api/src/main/java/org/dspace/iiif/canvasdimension/CanvasDimensionCLI.java @@ -188,7 +188,7 @@ public static void main(String[] argv) throws Exception { // @ sign, must be an email user = epersonService.findByEmail(context, eperson); } else { - user = epersonService.find(context, UUID.fromString(eperson)); + user = epersonService.find(context.getSession(), UUID.fromString(eperson)); } if (user == null) { diff --git a/dspace-api/src/main/java/org/dspace/iiif/canvasdimension/IIIFCanvasDimensionServiceImpl.java b/dspace-api/src/main/java/org/dspace/iiif/canvasdimension/IIIFCanvasDimensionServiceImpl.java index a8be8971c04d..83011f40bb25 100644 --- a/dspace-api/src/main/java/org/dspace/iiif/canvasdimension/IIIFCanvasDimensionServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/iiif/canvasdimension/IIIFCanvasDimensionServiceImpl.java @@ -103,7 +103,7 @@ public int processCommunity(Context context, Community community) throws Excepti @Override public int processCollection(Context context, Collection collection) throws Exception { if (!inSkipList(collection.getHandle())) { - Iterator itemIterator = itemService.findAllByCollection(context, collection); + Iterator itemIterator = itemService.findAllByCollection(context.getSession(), collection); while (itemIterator.hasNext() && processed < max2Process) { processItem(context, itemIterator.next()); } diff --git a/dspace-api/src/main/java/org/dspace/license/LicenseCleanup.java b/dspace-api/src/main/java/org/dspace/license/LicenseCleanup.java index 0eac224bcda2..cea88823309f 100644 --- a/dspace-api/src/main/java/org/dspace/license/LicenseCleanup.java +++ b/dspace-api/src/main/java/org/dspace/license/LicenseCleanup.java @@ -82,7 +82,7 @@ public static void main(String[] args) throws SQLException, Context ctx = new Context(); ctx.turnOffAuthorisationSystem(); - Iterator iter = itemService.findAll(ctx); + Iterator iter = itemService.findAll(ctx.getSession()); Properties props = new Properties(); diff --git a/dspace-api/src/main/java/org/dspace/orcid/consumer/OrcidQueueConsumer.java b/dspace-api/src/main/java/org/dspace/orcid/consumer/OrcidQueueConsumer.java index 602a146b7ba9..5931dbfb0cde 100644 --- a/dspace-api/src/main/java/org/dspace/orcid/consumer/OrcidQueueConsumer.java +++ b/dspace-api/src/main/java/org/dspace/orcid/consumer/OrcidQueueConsumer.java @@ -176,7 +176,7 @@ private void consumeEntity(Context context, Item entity) throws SQLException { } private List findAllRelatedItems(Context context, Item entity) throws SQLException { - return relationshipService.findByItem(context, entity).stream() + return relationshipService.findByItem(context.getSession(), entity).stream() .map(relationship -> getRelatedItem(entity, relationship)) .collect(Collectors.toList()); } diff --git a/dspace-api/src/main/java/org/dspace/orcid/model/factory/impl/OrcidFundingFactory.java b/dspace-api/src/main/java/org/dspace/orcid/model/factory/impl/OrcidFundingFactory.java index 890b54f12b1c..de0bf886183a 100644 --- a/dspace-api/src/main/java/org/dspace/orcid/model/factory/impl/OrcidFundingFactory.java +++ b/dspace-api/src/main/java/org/dspace/orcid/model/factory/impl/OrcidFundingFactory.java @@ -172,7 +172,8 @@ private Organization getOrganization(Context context, Item item) { private Stream getRelationships(Context context, Item item, RelationshipType relationshipType) { try { - return relationshipService.findByItemAndRelationshipType(context, item, relationshipType).stream(); + return relationshipService.findByItemAndRelationshipType(context.getSession(), + item, relationshipType).stream(); } catch (SQLException e) { throw new RuntimeException(e); } diff --git a/dspace-api/src/main/java/org/dspace/orcid/script/OrcidBulkPush.java b/dspace-api/src/main/java/org/dspace/orcid/script/OrcidBulkPush.java index 0e6f856bfcee..be309873d12b 100644 --- a/dspace-api/src/main/java/org/dspace/orcid/script/OrcidBulkPush.java +++ b/dspace-api/src/main/java/org/dspace/orcid/script/OrcidBulkPush.java @@ -63,7 +63,7 @@ public class OrcidBulkPush extends DSpaceRunnable synchronizationModeByProfileItem = new HashMap<>(); + private final Map synchronizationModeByProfileItem = new HashMap<>(); private boolean ignoreMaxAttempts = false; @@ -283,7 +283,8 @@ private void incrementAttempts(OrcidQueue queueRecord) { private void assignCurrentUserInContext() throws SQLException { UUID uuid = getEpersonIdentifier(); if (uuid != null) { - EPerson ePerson = EPersonServiceFactory.getInstance().getEPersonService().find(context, uuid); + EPerson ePerson = EPersonServiceFactory.getInstance().getEPersonService() + .find(context.getSession(), uuid); context.setCurrentUser(ePerson); } } diff --git a/dspace-api/src/main/java/org/dspace/orcid/service/impl/OrcidQueueServiceImpl.java b/dspace-api/src/main/java/org/dspace/orcid/service/impl/OrcidQueueServiceImpl.java index 3c286a628574..ddf867bb953e 100644 --- a/dspace-api/src/main/java/org/dspace/orcid/service/impl/OrcidQueueServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/orcid/service/impl/OrcidQueueServiceImpl.java @@ -228,7 +228,7 @@ private List findAllEntitiesLinkableWith(Context context, Item profile, St private List findRelationshipsByItem(Context context, Item item) { try { - return relationshipService.findByItem(context, item); + return relationshipService.findByItem(context.getSession(), item); } catch (SQLException e) { throw new RuntimeException(e); } diff --git a/dspace-api/src/main/java/org/dspace/profile/ResearcherProfileServiceImpl.java b/dspace-api/src/main/java/org/dspace/profile/ResearcherProfileServiceImpl.java index 80bbd68fd19d..6d841f3e8a8c 100644 --- a/dspace-api/src/main/java/org/dspace/profile/ResearcherProfileServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/profile/ResearcherProfileServiceImpl.java @@ -27,6 +27,8 @@ import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang.StringUtils; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.dspace.app.exception.ResourceAlreadyExistsException; import org.dspace.authorize.AuthorizeException; import org.dspace.authorize.service.AuthorizeService; @@ -53,8 +55,6 @@ import org.dspace.profile.service.ResearcherProfileService; import org.dspace.services.ConfigurationService; import org.dspace.util.UUIDUtils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.Assert; @@ -66,7 +66,7 @@ */ public class ResearcherProfileServiceImpl implements ResearcherProfileService { - private static Logger log = LoggerFactory.getLogger(ResearcherProfileServiceImpl.class); + private static final Logger log = LogManager.getLogger(); @Autowired private ItemService itemService; @@ -171,7 +171,7 @@ public void changeVisibility(Context context, ResearcherProfile profile, boolean } Item item = profile.getItem(); - Group anonymous = groupService.findByName(context, ANONYMOUS); + Group anonymous = groupService.findByName(context.getSession(), ANONYMOUS); if (visible) { authorizeService.addPolicy(context, item, READ, anonymous); @@ -238,7 +238,7 @@ public String getProfileType() { private Optional findItemByURI(final Context context, final URI uri) throws SQLException { String path = uri.getPath(); UUID uuid = UUIDUtils.fromString(path.substring(path.lastIndexOf("/") + 1)); - return ofNullable(itemService.find(context, uuid)); + return ofNullable(itemService.find(context.getSession(), uuid)); } /** @@ -248,7 +248,8 @@ private Item findResearcherProfileItemById(Context context, UUID id) throws SQLE String profileType = getProfileType(); - Iterator items = itemService.findByAuthorityValue(context, "dspace", "object", "owner", id.toString()); + Iterator items = itemService.findByAuthorityValue(context.getSession(), + "dspace", "object", "owner", id.toString()); while (items.hasNext()) { Item item = items.next(); String entityType = itemService.getEntityTypeLabel(item); @@ -287,7 +288,7 @@ private Item createProfileItem(Context context, EPerson ePerson, Collection coll item = installItemService.installItem(context, workspaceItem); if (isNewProfileNotVisibleByDefault()) { - Group anonymous = groupService.findByName(context, ANONYMOUS); + Group anonymous = groupService.findByName(context.getSession(), ANONYMOUS); authorizeService.removeGroupPolicies(context, item, anonymous); } @@ -303,7 +304,7 @@ private Optional findConfiguredProfileCollection(Context context) th return Optional.empty(); } - Collection collection = collectionService.find(context, uuid); + Collection collection = collectionService.find(context.getSession(), uuid); if (collection == null) { return Optional.empty(); } diff --git a/dspace-api/src/main/java/org/dspace/rdf/RDFConsumer.java b/dspace-api/src/main/java/org/dspace/rdf/RDFConsumer.java index 34ab572d1b16..118917ed7be7 100644 --- a/dspace-api/src/main/java/org/dspace/rdf/RDFConsumer.java +++ b/dspace-api/src/main/java/org/dspace/rdf/RDFConsumer.java @@ -109,7 +109,7 @@ public void consume(Context ctx, Event event) public void consumeBitstream(Context ctx, Event event) throws SQLException { if (event.getEventType() == Event.MODIFY || event.getEventType() == Event.MODIFY_METADATA) { - Bitstream bitstream = bitstreamService.find(ctx, event.getSubjectID()); + Bitstream bitstream = bitstreamService.find(ctx.getSession(), event.getSubjectID()); if (bitstream == null) { log.debug("Cannot find bitstream " + event.getSubjectID() + "! " + "Ignoring, as it is likely it was deleted " @@ -156,7 +156,7 @@ public void consumeBundles(Context ctx, Event event) throws SQLException { || event.getEventType() == Event.MODIFY_METADATA) { // either a Bitstream was added or removed or the Bundle was changed // update its item. - Bundle bundle = bundleService.find(ctx, event.getSubjectID()); + Bundle bundle = bundleService.find(ctx.getSession(), event.getSubjectID()); if (bundle == null) { log.debug("Cannot find bundle " + event.getSubjectID() + "! " + "Ignoring, as it is likely it was deleted " @@ -269,7 +269,7 @@ public void consumeSite(Context ctx, Event event) throws SQLException { || event.getEventType() == Event.REMOVE || event.getEventType() == Event.MODIFY || event.getEventType() == Event.MODIFY_METADATA) { - Site site = siteService.findSite(ctx); + Site site = siteService.findSite(ctx.getSession()); DSOIdentifier id = new DSOIdentifier(Constants.SITE, site.getID(), site.getHandle(), Arrays.asList(site.getHandle())); @@ -341,11 +341,12 @@ void convert(Context ctx, DSOIdentifier id) throws SQLException { Model m = null; try { if (id.type == Constants.SITE) { - m = RDFUtil.convertAndStore(ctx, siteService.findSite(ctx)); + m = RDFUtil.convertAndStore(ctx, siteService.findSite(ctx.getSession())); return; } - DSpaceObject dso = ContentServiceFactory.getInstance().getDSpaceObjectService(id.type).find(ctx, id.id); + DSpaceObject dso = ContentServiceFactory.getInstance().getDSpaceObjectService(id.type) + .find(ctx.getSession(), id.id); if (dso == null) { log.error("Cannot find " + Constants.typeText[id.type] + " " + id.id + " unexpectedly! Will delete all " diff --git a/dspace-api/src/main/java/org/dspace/rdf/RDFizer.java b/dspace-api/src/main/java/org/dspace/rdf/RDFizer.java index ac4e341c5e75..3286c1ee547c 100644 --- a/dspace-api/src/main/java/org/dspace/rdf/RDFizer.java +++ b/dspace-api/src/main/java/org/dspace/rdf/RDFizer.java @@ -245,7 +245,7 @@ protected void callback(DSpaceObject dso) public void convertAll() throws SQLException { report("Starting conversion of all DSpaceItems, this may take a while..."); - this.convert(contentServiceFactory.getSiteService().findSite(context), true); + this.convert(contentServiceFactory.getSiteService().findSite(context.getSession()), true); report("Conversion ended."); } @@ -397,7 +397,7 @@ protected void dspaceDFS(DSpaceObject dso, Callback callback, boolean check, boo } if (dso instanceof Site) { - List communities = communityService.findAllTop(context); + List communities = communityService.findAllTop(context.getSession()); for (Community community : communities) { this.dspaceDFS(community, callback, check, false); } @@ -416,7 +416,7 @@ protected void dspaceDFS(DSpaceObject dso, Callback callback, boolean check, boo } if (dso instanceof Collection) { - Iterator items = itemService.findAllByCollection(context, (Collection) dso); + Iterator items = itemService.findAllByCollection(context.getSession(), (Collection) dso); while (items.hasNext()) { Item item = items.next(); this.dspaceDFS(item, callback, check, false); diff --git a/dspace-api/src/main/java/org/dspace/rdf/conversion/SimpleDSORelationsConverterPlugin.java b/dspace-api/src/main/java/org/dspace/rdf/conversion/SimpleDSORelationsConverterPlugin.java index 63382a7c26b0..d4ec3ae51311 100644 --- a/dspace-api/src/main/java/org/dspace/rdf/conversion/SimpleDSORelationsConverterPlugin.java +++ b/dspace-api/src/main/java/org/dspace/rdf/conversion/SimpleDSORelationsConverterPlugin.java @@ -147,7 +147,7 @@ public Model convertSite(Context context, Site site) return null; } - List topLevelCommies = communityService.findAllTop(context); + List topLevelCommies = communityService.findAllTop(context.getSession()); for (Community community : topLevelCommies) { if (!RDFUtil.isPublicBoolean(context, community)) { continue; @@ -236,7 +236,7 @@ public Model convertCommunity(Context context, Community community) DSpaceObject[] parents = communityParentList.toArray(new DSpaceObject[communityParentList.size()]); // check whether this is a top level community if (parents.length == 0) { - parents = new DSpaceObject[] {siteService.findSite(context)}; + parents = new DSpaceObject[] {siteService.findSite(context.getSession())}; } for (DSpaceObject parent : parents) { if (!RDFUtil.isPublicBoolean(context, parent)) { @@ -352,7 +352,7 @@ public Model convertCollection(Context context, Collection collection) } // add all items - Iterator items = itemService.findAllByCollection(context, collection); + Iterator items = itemService.findAllByCollection(context.getSession(), collection); while (items.hasNext()) { String id = RDFUtil.generateIdentifier(context, items.next()); if (id != null) { diff --git a/dspace-api/src/main/java/org/dspace/rdf/storage/HandleURIGenerator.java b/dspace-api/src/main/java/org/dspace/rdf/storage/HandleURIGenerator.java index 3353fa35ef2a..d699aae54785 100644 --- a/dspace-api/src/main/java/org/dspace/rdf/storage/HandleURIGenerator.java +++ b/dspace-api/src/main/java/org/dspace/rdf/storage/HandleURIGenerator.java @@ -38,7 +38,7 @@ public class HandleURIGenerator implements URIGenerator { public String generateIdentifier(Context context, int type, UUID id, String handle, List identifiers) throws SQLException { if (type == Constants.SITE) { - return handleService.getCanonicalForm(siteService.findSite(context).getHandle()); + return handleService.getCanonicalForm(siteService.findSite(context.getSession()).getHandle()); } if (type == Constants.COMMUNITY diff --git a/dspace-api/src/main/java/org/dspace/rdf/storage/LocalURIGenerator.java b/dspace-api/src/main/java/org/dspace/rdf/storage/LocalURIGenerator.java index b173010bd45a..ebb686bf6240 100644 --- a/dspace-api/src/main/java/org/dspace/rdf/storage/LocalURIGenerator.java +++ b/dspace-api/src/main/java/org/dspace/rdf/storage/LocalURIGenerator.java @@ -40,7 +40,7 @@ public String generateIdentifier(Context context, int type, UUID id, .getProperty(RDFUtil.CONTEXT_PATH_KEY) + "/resource/"; if (type == Constants.SITE) { - return urlPrefix + siteService.findSite(context).getHandle(); + return urlPrefix + siteService.findSite(context.getSession()).getHandle(); } if (type == Constants.COMMUNITY diff --git a/dspace-api/src/main/java/org/dspace/scripts/ProcessServiceImpl.java b/dspace-api/src/main/java/org/dspace/scripts/ProcessServiceImpl.java index 596c39737eb1..8891d87b2a32 100644 --- a/dspace-api/src/main/java/org/dspace/scripts/ProcessServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/scripts/ProcessServiceImpl.java @@ -175,7 +175,7 @@ public void appendFile(Context context, Process process, InputStream is, String bitstream.setName(context, fileName); bitstreamService.setFormat(context, bitstream, bitstreamFormatService.guessFormat(context, bitstream)); MetadataField dspaceProcessFileTypeField = metadataFieldService - .findByString(context, Process.BITSTREAM_TYPE_METADATAFIELD, '.'); + .findByString(context.getSession(), Process.BITSTREAM_TYPE_METADATAFIELD, '.'); bitstreamService.addMetadata(context, bitstream, dspaceProcessFileTypeField, null, type); authorizeService.addPolicy(context, bitstream, Constants.READ, context.getCurrentUser()); authorizeService.addPolicy(context, bitstream, Constants.WRITE, context.getCurrentUser()); diff --git a/dspace-api/src/main/java/org/dspace/search/Harvest.java b/dspace-api/src/main/java/org/dspace/search/Harvest.java index 773d45a6ab29..4277bc4ac1d5 100644 --- a/dspace-api/src/main/java/org/dspace/search/Harvest.java +++ b/dspace-api/src/main/java/org/dspace/search/Harvest.java @@ -158,7 +158,7 @@ public static List harvest(Context context, DSpaceObject scop if (items) { // Add the item reference - itemInfo.item = itemService.find(context, itemInfo.itemID); + itemInfo.item = itemService.find(context.getSession(), itemInfo.itemID); } if (nonAnon || (itemInfo.item == null) || (withdrawn && itemInfo.withdrawn)) { diff --git a/dspace-api/src/main/java/org/dspace/statistics/SolrLoggerServiceImpl.java b/dspace-api/src/main/java/org/dspace/statistics/SolrLoggerServiceImpl.java index 19c79af34dcc..4fbb7584ace4 100644 --- a/dspace-api/src/main/java/org/dspace/statistics/SolrLoggerServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/statistics/SolrLoggerServiceImpl.java @@ -1481,11 +1481,11 @@ public void reindexBitstreamHits(boolean removeDeletedBitstreams) throws Excepti String bundleName = bitBundleCache.get(bitstreamId); if (bundleName == null) { //Nothing found retrieve the bitstream - Bitstream bitstream = bitstreamService.findByIdOrLegacyId(context, bitstreamId); + Bitstream bitstream = bitstreamService.findByIdOrLegacyId(context.getSession(), bitstreamId); //Attempt to retrieve our bitstream ! if (bitstream != null) { List bundles = bitstream.getBundles(); - if (bundles != null && 0 < bundles.size()) { + if (bundles != null && !bundles.isEmpty()) { Bundle bundle = bundles.get(0); bundleName = bundle.getName(); } else { @@ -1605,7 +1605,7 @@ protected void addDocumentsToFile(Context context, SolrDocumentList docs, File e //20140527162409835,view_bitstream,1292,2014-05-27T16:24:09,anonymous,127.0.0.1 DSpaceObjectLegacySupportService dsoService = contentServiceFactory .getDSpaceLegacyObjectService(Integer.parseInt(type)); - DSpaceObject dso = dsoService.findByIdOrLegacyId(context, id); + DSpaceObject dso = dsoService.findByIdOrLegacyId(context.getSession(), id); if (dso == null) { log.debug("Document no longer exists in DB. type:" + type + " id:" + id); continue; @@ -1645,7 +1645,7 @@ protected String generateURL(String baseURL, Map parameters) thr protected void addAdditionalSolrYearCores(SolrQuery solrQuery) { //Only add if needed initSolrYearCores(); - if (0 < statisticYearCores.size()) { + if (!statisticYearCores.isEmpty()) { //The shards are a comma separated list of the urls to the cores solrQuery.add(ShardParams.SHARDS, StringUtils.join(statisticYearCores.iterator(), ",")); } @@ -1705,6 +1705,7 @@ protected synchronized void initSolrYearCores() { statisticYearCoresInit = true; } + @Override public Object anonymizeIp(String ip) throws UnknownHostException { InetAddress address = InetAddress.getByName(ip); if (address instanceof Inet4Address) { diff --git a/dspace-api/src/main/java/org/dspace/statistics/StatisticsLoggingConsumer.java b/dspace-api/src/main/java/org/dspace/statistics/StatisticsLoggingConsumer.java index 23e5b4971614..3788922dfae4 100644 --- a/dspace-api/src/main/java/org/dspace/statistics/StatisticsLoggingConsumer.java +++ b/dspace-api/src/main/java/org/dspace/statistics/StatisticsLoggingConsumer.java @@ -56,7 +56,7 @@ public void initialize() throws Exception { @Override public void consume(Context ctx, Event event) throws Exception { if (toRemoveQueries == null) { - toRemoveQueries = new HashSet(); + toRemoveQueries = new HashSet<>(); } UUID dsoId = event.getSubjectID(); @@ -72,7 +72,7 @@ public void consume(Context ctx, Event event) throws Exception { // We have a modified item check for a withdraw/reinstate } else if (eventType == Event.MODIFY_METADATA && event.getSubjectType() == Constants.ITEM) { - Item item = itemService.find(ctx, event.getSubjectID()); + Item item = itemService.find(ctx.getSession(), event.getSubjectID()); String updateQuery = "id:" + item.getID() + " AND type:" + item.getType(); @@ -80,8 +80,8 @@ public void consume(Context ctx, Event event) throws Exception { updateQuery, null, null); // Get all the metadata - List storageFieldList = new ArrayList(); - List> storageValuesList = new ArrayList>(); + List storageFieldList = new ArrayList<>(); + List> storageValuesList = new ArrayList<>(); solrLoggerService.update(updateQuery, "replace", storageFieldList, storageValuesList); @@ -96,16 +96,16 @@ public void consume(Context ctx, Event event) throws Exception { String updateQuery = "id: " + newItem.getID() + " AND type:" + newItem.getType(); - List fieldNames = new ArrayList(); - List> valuesList = new ArrayList>(); + List fieldNames = new ArrayList<>(); + List> valuesList = new ArrayList<>(); fieldNames.add("owningColl"); fieldNames.add("owningComm"); - List valsList = new ArrayList(); + List valsList = new ArrayList<>(); valsList.add(dsoId); valuesList.add(valsList); - valsList = new ArrayList(); + valsList = new ArrayList<>(); valsList.addAll(findOwningCommunities(ctx, dsoId)); valuesList.add(valsList); @@ -119,16 +119,16 @@ public void consume(Context ctx, Event event) throws Exception { String updateQuery = "id: " + newItem.getID() + " AND type:" + newItem.getType(); - List fieldNames = new ArrayList(); - List> valuesList = new ArrayList>(); + List fieldNames = new ArrayList<>(); + List> valuesList = new ArrayList<>(); fieldNames.add("owningColl"); fieldNames.add("owningComm"); - List valsList = new ArrayList(); + List valsList = new ArrayList<>(); valsList.add(dsoId); valuesList.add(valsList); - valsList = new ArrayList(); + valsList = new ArrayList<>(); valsList.addAll(findOwningCommunities(ctx, dsoId)); valuesList.add(valsList); @@ -138,9 +138,9 @@ public void consume(Context ctx, Event event) throws Exception { private List findOwningCommunities(Context context, UUID collId) throws SQLException { - Collection coll = collectionService.find(context, collId); + Collection coll = collectionService.find(context.getSession(), collId); - List owningComms = new ArrayList(); + List owningComms = new ArrayList<>(); for (int i = 0; i < coll.getCommunities().size(); i++) { Community community = coll.getCommunities().get(i); findComms(community, owningComms); @@ -158,7 +158,7 @@ private void findComms(Community comm, List parentComms) parentComms.add(comm.getID()); } List parentCommunities = comm.getParentCommunities(); - Community parent = parentCommunities.size() == 0 ? null : parentCommunities.get(0); + Community parent = parentCommunities.isEmpty() ? null : parentCommunities.get(0); findComms(parent, parentComms); } diff --git a/dspace-api/src/main/java/org/dspace/statistics/content/StatisticsDataVisits.java b/dspace-api/src/main/java/org/dspace/statistics/content/StatisticsDataVisits.java index 121e66af4875..e2a562e7437e 100644 --- a/dspace-api/src/main/java/org/dspace/statistics/content/StatisticsDataVisits.java +++ b/dspace-api/src/main/java/org/dspace/statistics/content/StatisticsDataVisits.java @@ -535,19 +535,19 @@ protected String getResultName(String value, DatasetQuery datasetQuery, if (dsoId != null && query.getDsoType() != -1) { switch (query.getDsoType()) { case Constants.BITSTREAM: - Bitstream bit = bitstreamService.findByIdOrLegacyId(context, dsoId); + Bitstream bit = bitstreamService.findByIdOrLegacyId(context.getSession(), dsoId); if (bit == null) { break; } return bit.getName() + legacyNote; case Constants.ITEM: - Item item = itemService.findByIdOrLegacyId(context, dsoId); + Item item = itemService.findByIdOrLegacyId(context.getSession(), dsoId); if (item == null) { break; } String name = "untitled"; List vals = itemService.getMetadata(item, "dc", "title", null, Item.ANY); - if (vals != null && 0 < vals.size()) { + if (vals != null && !vals.isEmpty()) { name = vals.get(0).getValue(); } if (dsoLength != -1 && name.length() > dsoLength) { @@ -561,7 +561,7 @@ protected String getResultName(String value, DatasetQuery datasetQuery, return name + legacyNote; case Constants.COLLECTION: - Collection coll = collectionService.findByIdOrLegacyId(context, dsoId); + Collection coll = collectionService.findByIdOrLegacyId(context.getSession(), dsoId); if (coll == null) { break; } @@ -577,7 +577,7 @@ protected String getResultName(String value, DatasetQuery datasetQuery, return name + legacyNote; case Constants.COMMUNITY: - Community comm = communityService.findByIdOrLegacyId(context, dsoId); + Community comm = communityService.findByIdOrLegacyId(context.getSession(), dsoId); if (comm == null) { break; } @@ -627,7 +627,7 @@ protected Map getAttributes(String value, switch (query.dsoType) { case Constants.BITSTREAM: - Bitstream bit = bitstreamService.findByIdOrLegacyId(context, dsoId); + Bitstream bit = bitstreamService.findByIdOrLegacyId(context.getSession(), dsoId); if (bit == null) { break; } @@ -635,7 +635,7 @@ protected Map getAttributes(String value, //Get our owning item Item owningItem = null; List bunds = bit.getBundles(); - if (0 < bunds.size() && 0 < bunds.get(0).getItems().size()) { + if (!bunds.isEmpty() && !bunds.get(0).getItems().isEmpty()) { owningItem = bunds.get(0).getItems().get(0); } @@ -673,7 +673,7 @@ protected Map getAttributes(String value, break; case Constants.ITEM: - Item item = itemService.findByIdOrLegacyId(context, dsoId); + Item item = itemService.findByIdOrLegacyId(context.getSession(), dsoId); if (item == null || item.getHandle() == null) { break; } @@ -682,7 +682,7 @@ protected Map getAttributes(String value, break; case Constants.COLLECTION: - Collection coll = collectionService.findByIdOrLegacyId(context, dsoId); + Collection coll = collectionService.findByIdOrLegacyId(context.getSession(), dsoId); if (coll == null || coll.getHandle() == null) { break; } @@ -691,7 +691,7 @@ protected Map getAttributes(String value, break; case Constants.COMMUNITY: - Community comm = communityService.findByIdOrLegacyId(context, dsoId); + Community comm = communityService.findByIdOrLegacyId(context.getSession(), dsoId); if (comm == null || comm.getHandle() == null) { break; } diff --git a/dspace-api/src/main/java/org/dspace/statistics/export/processor/ExportEventProcessor.java b/dspace-api/src/main/java/org/dspace/statistics/export/processor/ExportEventProcessor.java index 609298779d34..cdc92ede3dc8 100644 --- a/dspace-api/src/main/java/org/dspace/statistics/export/processor/ExportEventProcessor.java +++ b/dspace-api/src/main/java/org/dspace/statistics/export/processor/ExportEventProcessor.java @@ -194,7 +194,7 @@ protected boolean shouldProcessItem(Item item) throws SQLException { * @throws SQLException */ protected boolean shouldProcessEntityType(Item item) throws SQLException { - Entity entity = entityService.findByItemId(context, item.getID()); + Entity entity = entityService.findByItemId(context.getSession(), item.getID()); EntityType type = entityService.getType(context, entity); if (type == null) { diff --git a/dspace-api/src/main/java/org/dspace/statistics/util/StatisticsImporter.java b/dspace-api/src/main/java/org/dspace/statistics/util/StatisticsImporter.java index 95736a8bd6d9..f443bec25da0 100644 --- a/dspace-api/src/main/java/org/dspace/statistics/util/StatisticsImporter.java +++ b/dspace-api/src/main/java/org/dspace/statistics/util/StatisticsImporter.java @@ -150,7 +150,7 @@ public StatisticsImporter(boolean local) { System.out.print("Loading local communities... "); Context c = new Context(); - List communities = communityService.findAll(c); + List communities = communityService.findAll(c.getSession()); localCommunities = new ArrayList<>(); for (Community community : communities) { localCommunities.add(community.getID()); @@ -158,7 +158,7 @@ public StatisticsImporter(boolean local) { System.out.println("Found " + localCommunities.size()); System.out.print("Loading local collections... "); - List collections = collectionService.findAll(c); + List collections = collectionService.findAll(c.getSession()); localCollections = new ArrayList<>(); for (Collection collection : collections) { localCollections.add(collection.getID()); @@ -166,7 +166,7 @@ public StatisticsImporter(boolean local) { System.out.println("Found " + localCollections.size()); System.out.print("Loading local items... "); - Iterator items = itemService.findAll(c); + Iterator items = itemService.findAll(c.getSession()); localItems = new ArrayList<>(); Item i; while (items.hasNext()) { @@ -176,7 +176,7 @@ public StatisticsImporter(boolean local) { System.out.println("Found " + localItems.size()); System.out.print("Loading local bitstreams... "); - List bitstreams = bitstreamService.findAll(c); + List bitstreams = bitstreamService.findAll(c.getSession()); localBitstreams = new ArrayList<>(); for (Bitstream bitstream : bitstreams) { if (bitstream.getName() != null) { @@ -338,7 +338,7 @@ protected void load(String filename, Context context, boolean verbose) { continue; } - DSpaceObject dso = legacySupportService.findByIdOrLegacyId(context, id); + DSpaceObject dso = legacySupportService.findByIdOrLegacyId(context.getSession(), id); if (dso == null) { if (verbose) { System.err.println(" - DSO with ID '" + id + "' is no longer in the system"); diff --git a/dspace-api/src/main/java/org/dspace/storage/bitstore/BitstreamStorageServiceImpl.java b/dspace-api/src/main/java/org/dspace/storage/bitstore/BitstreamStorageServiceImpl.java index 956ac5a7f8f1..07ffc4346fc7 100644 --- a/dspace-api/src/main/java/org/dspace/storage/bitstore/BitstreamStorageServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/storage/bitstore/BitstreamStorageServiceImpl.java @@ -231,7 +231,7 @@ public void cleanup(boolean deleteDbRecords, boolean verbose) throws SQLExceptio while (cleanedBitstreamCount < deletedBitstreamCount) { - List storage = bitstreamService.findDeletedBitstreams(context, limit, offset); + List storage = bitstreamService.findDeletedBitstreams(context.getSession(), limit, offset); if (CollectionUtils.isEmpty(storage)) { break; @@ -291,7 +291,7 @@ public void cleanup(boolean deleteDbRecords, boolean verbose) throws SQLExceptio // Since versioning allows for multiple bitstreams, check if the internal // identifier isn't used on // another place - if (bitstreamService.findDuplicateInternalIdentifier(context, bitstream).isEmpty()) { + if (bitstreamService.findDuplicateInternalIdentifier(context.getSession(), bitstream).isEmpty()) { this.getStore(bitstream.getStoreNumber()).remove(bitstream); String message = ("Deleted bitstreamID " + bid + ", internalID " + bitstream.getInternalId()); @@ -397,7 +397,8 @@ public Bitstream clone(Context context, Bitstream bitstream) throws SQLException public void migrate(Context context, Integer assetstoreSource, Integer assetstoreDestination, boolean deleteOld, Integer batchCommitSize) throws IOException, SQLException, AuthorizeException { //Find all the bitstreams on the old source, copy it to new destination, update store_number, save, remove old - Iterator allBitstreamsInSource = bitstreamService.findByStoreNumber(context, assetstoreSource); + Iterator allBitstreamsInSource + = bitstreamService.findByStoreNumber(context.getSession(), assetstoreSource); int processedCounter = 0; while (allBitstreamsInSource.hasNext()) { diff --git a/dspace-api/src/main/java/org/dspace/storage/rdbms/SiteServiceInitializer.java b/dspace-api/src/main/java/org/dspace/storage/rdbms/SiteServiceInitializer.java index 872a633146af..80a9b2c06b69 100644 --- a/dspace-api/src/main/java/org/dspace/storage/rdbms/SiteServiceInitializer.java +++ b/dspace-api/src/main/java/org/dspace/storage/rdbms/SiteServiceInitializer.java @@ -27,7 +27,7 @@ */ public class SiteServiceInitializer implements Callback { - private Logger log = org.apache.logging.log4j.LogManager.getLogger(SiteServiceInitializer.class); + private final Logger log = org.apache.logging.log4j.LogManager.getLogger(); @Autowired(required = true) protected SiteService siteService; @@ -45,7 +45,7 @@ public void initializeSiteObject() { context = new Context(); context.turnOffAuthorisationSystem(); // Create Site object if it doesn't exist in database - Site site = siteService.findSite(context); + Site site = siteService.findSite(context.getSession()); if (site == null) { site = siteService.createSite(context); } @@ -53,7 +53,7 @@ public void initializeSiteObject() { // Give Anonymous users READ permissions on the Site Object (if doesn't exist) if (!authorizeService.authorizeActionBoolean(context, site, Constants.READ)) { context.turnOffAuthorisationSystem(); - Group anonGroup = groupService.findByName(context, Group.ANONYMOUS); + Group anonGroup = groupService.findByName(context.getSession(), Group.ANONYMOUS); if (anonGroup != null) { authorizeService.addPolicy(context, site, Constants.READ, anonGroup); } diff --git a/dspace-api/src/main/java/org/dspace/submit/model/AccessConditionOption.java b/dspace-api/src/main/java/org/dspace/submit/model/AccessConditionOption.java index e5cd86f50458..6812b2aa9094 100644 --- a/dspace-api/src/main/java/org/dspace/submit/model/AccessConditionOption.java +++ b/dspace-api/src/main/java/org/dspace/submit/model/AccessConditionOption.java @@ -157,7 +157,7 @@ public void createResourcePolicy(Context context, DSpaceObject obj, String name, Date startDate, Date endDate) throws SQLException, AuthorizeException, ParseException { validateResourcePolicy(context, name, startDate, endDate); - Group group = groupService.findByName(context, getGroupName()); + Group group = groupService.findByName(context.getSession(), getGroupName()); authorizeService.createResourcePolicy(context, obj, group, null, Constants.READ, ResourcePolicy.TYPE_CUSTOM, name, description, startDate, endDate); diff --git a/dspace-api/src/main/java/org/dspace/subscriptions/SubscriptionEmailNotification.java b/dspace-api/src/main/java/org/dspace/subscriptions/SubscriptionEmailNotification.java index b429ecbd46e7..9c71480b8111 100644 --- a/dspace-api/src/main/java/org/dspace/subscriptions/SubscriptionEmailNotification.java +++ b/dspace-api/src/main/java/org/dspace/subscriptions/SubscriptionEmailNotification.java @@ -64,7 +64,8 @@ private void assignCurrentUserInContext() throws SQLException { context = new Context(); UUID uuid = getEpersonIdentifier(); if (Objects.nonNull(uuid)) { - EPerson ePerson = EPersonServiceFactory.getInstance().getEPersonService().find(context, uuid); + EPerson ePerson = EPersonServiceFactory.getInstance().getEPersonService() + .find(context.getSession(), uuid); context.setCurrentUser(ePerson); } } diff --git a/dspace-api/src/main/java/org/dspace/util/SolrUpgradePre6xStatistics.java b/dspace-api/src/main/java/org/dspace/util/SolrUpgradePre6xStatistics.java index 9342cb8b39e8..081bb5131177 100644 --- a/dspace-api/src/main/java/org/dspace/util/SolrUpgradePre6xStatistics.java +++ b/dspace-api/src/main/java/org/dspace/util/SolrUpgradePre6xStatistics.java @@ -158,7 +158,7 @@ public SolrUpgradePre6xStatistics(String indexName, int numRec, int batchSize) * Process a batch of updates to SOLR */ private void batchUpdateStats() throws SolrServerException, IOException { - if (docs.size() > 0) { + if (!docs.isEmpty()) { server.add(docs); server.commit(true, true); docs.clear(); @@ -570,7 +570,7 @@ private void mapField(SolrInputDocument input, FIELD col) throws SQLException { } } } - if (newvals.size() > 0) { + if (!newvals.isEmpty()) { input.removeField(col.name()); for (String nv : newvals) { input.addField(col.name(), nv); @@ -626,20 +626,20 @@ private void checkLastBitstream(Bitstream bitstream) throws SQLException { private UUID mapId(FIELD col, int val) throws SQLException { if (col == FIELD.owningComm) { - Community comm = communityService.findByLegacyId(context, val); + Community comm = communityService.findByLegacyId(context.getSession(), val); return comm == null ? null : comm.getID(); } if (col == FIELD.owningColl) { - org.dspace.content.Collection coll = collectionService.findByLegacyId(context, val); + org.dspace.content.Collection coll = collectionService.findByLegacyId(context.getSession(), val); return coll == null ? null : coll.getID(); } if (col == FIELD.owningItem) { - Item item = itemService.findByLegacyId(context, val); + Item item = itemService.findByLegacyId(context.getSession(), val); checkLastItem(item); return item == null ? null : item.getID(); } if (col == FIELD.epersonid || col == FIELD.actor || col == FIELD.submitter) { - EPerson per = epersonService.findByLegacyId(context, val); + EPerson per = epersonService.findByLegacyId(context.getSession(), val); return per == null ? null : per.getID(); } return null; @@ -655,20 +655,20 @@ private UUID mapId(FIELD col, int val) throws SQLException { */ private UUID mapType(int type, int val) throws SQLException { if (type == Constants.COMMUNITY) { - Community comm = communityService.findByLegacyId(context, val); + Community comm = communityService.findByLegacyId(context.getSession(), val); return comm == null ? null : comm.getID(); } if (type == Constants.COLLECTION) { - org.dspace.content.Collection coll = collectionService.findByLegacyId(context, val); + org.dspace.content.Collection coll = collectionService.findByLegacyId(context.getSession(), val); return coll == null ? null : coll.getID(); } if (type == Constants.ITEM) { - Item item = itemService.findByLegacyId(context, val); + Item item = itemService.findByLegacyId(context.getSession(), val); checkLastItem(item); return item == null ? null : item.getID(); } if (type == Constants.BITSTREAM) { - Bitstream bit = bitstreamService.findByLegacyId(context, val); + Bitstream bit = bitstreamService.findByLegacyId(context.getSession(), val); UUID uuid = bit == null ? null : bit.getID(); // A bitstream is unlikely to be processed more than once, to clear immediately checkLastBitstream(bit); @@ -687,10 +687,10 @@ private UUID mapType(int type, int val) throws SQLException { */ private UUID mapOwner(String owntype, int val) throws SQLException { if (owntype.equals("e")) { - EPerson per = epersonService.findByLegacyId(context, val); + EPerson per = epersonService.findByLegacyId(context.getSession(), val); return per == null ? null : per.getID(); } else if (owntype.equals("g")) { - Group perg = groupService.findByLegacyId(context, val); + Group perg = groupService.findByLegacyId(context.getSession(), val); return perg == null ? null : perg.getID(); } return null; diff --git a/dspace-api/src/main/java/org/dspace/versioning/DefaultItemVersionProvider.java b/dspace-api/src/main/java/org/dspace/versioning/DefaultItemVersionProvider.java index d4590ae24ea2..e8591bf71c6e 100644 --- a/dspace-api/src/main/java/org/dspace/versioning/DefaultItemVersionProvider.java +++ b/dspace-api/src/main/java/org/dspace/versioning/DefaultItemVersionProvider.java @@ -139,7 +139,8 @@ public Item updateItemState(Context c, Item itemNew, Item previousItem) { protected void copyRelationships( Context context, Item newItem, Item oldItem ) throws SQLException, AuthorizeException { - List oldRelationships = relationshipService.findByItem(context, oldItem, -1, -1, false, true); + List oldRelationships + = relationshipService.findByItem(context.getSession(), oldItem, -1, -1, false, true); for (Relationship oldRelationship : oldRelationships) { if (oldRelationship.getLeftItem().equals(oldItem)) { // current item is on left side of this relationship diff --git a/dspace-api/src/main/java/org/dspace/versioning/VersioningConsumer.java b/dspace-api/src/main/java/org/dspace/versioning/VersioningConsumer.java index 63b5391d0a28..8a44529c80d3 100644 --- a/dspace-api/src/main/java/org/dspace/versioning/VersioningConsumer.java +++ b/dspace-api/src/main/java/org/dspace/versioning/VersioningConsumer.java @@ -339,6 +339,7 @@ protected boolean doEntityTypesMatch(Item latestItem, Item previousItem) { /** * Get the entity type (stored in metadata field dspace.entity.type) of any item. + * @param ctx current DSpace session. * @param item the item. * @return the entity type. */ @@ -381,7 +382,8 @@ protected List getRelationshipTypes(Context ctx, EntityType en */ protected List getAllRelationships(Context ctx, Item item, RelationshipType relationshipType) { try { - return relationshipService.findByItemAndRelationshipType(ctx, item, relationshipType, -1, -1, false); + return relationshipService.findByItemAndRelationshipType(ctx.getSession(), + item, relationshipType, -1, -1, false); } catch (SQLException e) { log.error( "Exception occurred when trying to obtain relationships of type with id {}, rightward name {} " + diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/Role.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/Role.java index 5b5ba5c1d3ba..d98eb9001185 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/Role.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/Role.java @@ -84,7 +84,7 @@ public Scope getScope() { public RoleMembers getMembers(Context context, XmlWorkflowItem wfi) throws SQLException { if (scope == Scope.REPOSITORY) { - Group group = groupService.findByName(context, name); + Group group = groupService.findByName(context.getSession(), name); if (group == null) { return new RoleMembers(); } else { diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/WorkflowUtils.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/WorkflowUtils.java index a81bebcd5a35..27b3103609cd 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/WorkflowUtils.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/WorkflowUtils.java @@ -304,7 +304,7 @@ public static Map getAllExternalRoles(Collection thisCollection) public static Group getRoleGroup(Context context, Collection collection, Role role) throws SQLException { if (role.getScope() == Role.Scope.REPOSITORY) { - return groupService.findByName(context, role.getName()); + return groupService.findByName(context.getSession(), role.getName()); } else if (role.getScope() == Role.Scope.COLLECTION) { CollectionRole collectionRole = collectionRoleService.find(context, collection, role.getId()); if (collectionRole == null) { diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/XmlWorkflowFactoryImpl.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/XmlWorkflowFactoryImpl.java index 03ebb1d0f038..3c5a39a25d16 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/XmlWorkflowFactoryImpl.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/XmlWorkflowFactoryImpl.java @@ -126,7 +126,7 @@ public List getCollectionHandlesMappedToWorkflow(Context context, St public List getAllNonMappedCollectionsHandles(Context context) { List nonMappedCollections = new ArrayList<>(); try { - for (Collection collection : this.collectionService.findAll(context)) { + for (Collection collection : this.collectionService.findAll(context.getSession())) { if (workflowMapping.get(collection.getHandle()) == null) { nonMappedCollections.add(collection); } diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/migration/RestartWorkflow.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/migration/RestartWorkflow.java index 849010751831..4ffc3a60c985 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/migration/RestartWorkflow.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/migration/RestartWorkflow.java @@ -29,7 +29,7 @@ /** * A utility class that will send all the worklfow items - * back to their submitters + * back to their submitters. * * @author Bram De Schouwer (bram.deschouwer at dot com) * @author Kevin Van de Velde (kevin at atmire dot com) @@ -96,7 +96,7 @@ public static void main(String[] args) { // @ sign, must be an email myEPerson = ePersonService.findByEmail(context, eperson); } else { - myEPerson = ePersonService.find(context, UUID.fromString(eperson)); + myEPerson = ePersonService.find(context.getSession(), UUID.fromString(eperson)); } if (myEPerson == null) { diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/state/actions/processingaction/SelectReviewerAction.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/state/actions/processingaction/SelectReviewerAction.java index 0e8ab40a5205..6bdcd2210a8b 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/state/actions/processingaction/SelectReviewerAction.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/state/actions/processingaction/SelectReviewerAction.java @@ -119,7 +119,7 @@ private ActionResult processSelectReviewers(Context c, XmlWorkflowItem wfi, Http } List reviewers = new ArrayList<>(); for (String reviewerId : reviewerIds) { - EPerson reviewer = ePersonService.find(c, UUID.fromString(reviewerId)); + EPerson reviewer = ePersonService.find(c.getSession(), UUID.fromString(reviewerId)); if (reviewer == null) { log.warn("No EPerson found with uuid {}", reviewerId); } else { @@ -136,7 +136,7 @@ private ActionResult processSelectReviewers(Context c, XmlWorkflowItem wfi, Http } private boolean checkReviewersValid(Context c, List reviewers) throws SQLException { - if (reviewers.size() == 0) { + if (reviewers.isEmpty()) { return false; } Group group = this.getGroup(c); @@ -229,10 +229,10 @@ private Group getGroup(@Nullable Context context) { Group group = null; try { // try to get group by name - group = groupService.findByName(context, groupIdOrName); + group = groupService.findByName(context.getSession(), groupIdOrName); if (group == null) { // try to get group by uuid if not a name - group = groupService.find(context, UUID.fromString(groupIdOrName)); + group = groupService.find(context.getSession(), UUID.fromString(groupIdOrName)); } } catch (Exception e) { // There is an issue with the reviewer group that is set; if it is not set then can be chosen diff --git a/dspace-api/src/test/java/org/dspace/AbstractIntegrationTestWithDatabase.java b/dspace-api/src/test/java/org/dspace/AbstractIntegrationTestWithDatabase.java index e27fb19a68eb..5afeae47970b 100644 --- a/dspace-api/src/test/java/org/dspace/AbstractIntegrationTestWithDatabase.java +++ b/dspace-api/src/test/java/org/dspace/AbstractIntegrationTestWithDatabase.java @@ -147,7 +147,7 @@ public void setUp() throws Exception { // actually save the eperson to unit testing DB ePersonService.update(context, admin); GroupService groupService = EPersonServiceFactory.getInstance().getGroupService(); - Group adminGroup = groupService.findByName(context, Group.ADMIN); + Group adminGroup = groupService.findByName(context.getSession(), Group.ADMIN); groupService.addMember(context, adminGroup, admin); } diff --git a/dspace-api/src/test/java/org/dspace/access/status/DefaultAccessStatusHelperTest.java b/dspace-api/src/test/java/org/dspace/access/status/DefaultAccessStatusHelperTest.java index a41e985deb32..dd40912cf65f 100644 --- a/dspace-api/src/test/java/org/dspace/access/status/DefaultAccessStatusHelperTest.java +++ b/dspace-api/src/test/java/org/dspace/access/status/DefaultAccessStatusHelperTest.java @@ -263,7 +263,7 @@ public void testWithEmbargo() throws Exception { List policies = new ArrayList<>(); ResourcePolicy policy = resourcePolicyService.create(context); policy.setRpName("Embargo"); - Group group = groupService.findByName(context, Group.ANONYMOUS); + Group group = groupService.findByName(context.getSession(), Group.ANONYMOUS); policy.setGroup(group); policy.setAction(Constants.READ); policy.setStartDate(new LocalDate(9999, 12, 31).toDate()); @@ -290,7 +290,7 @@ public void testWithDateRestriction() throws Exception { List policies = new ArrayList<>(); ResourcePolicy policy = resourcePolicyService.create(context); policy.setRpName("Restriction"); - Group group = groupService.findByName(context, Group.ANONYMOUS); + Group group = groupService.findByName(context.getSession(), Group.ANONYMOUS); policy.setGroup(group); policy.setAction(Constants.READ); policy.setStartDate(new LocalDate(10000, 1, 1).toDate()); @@ -317,7 +317,7 @@ public void testWithGroupRestriction() throws Exception { List policies = new ArrayList<>(); ResourcePolicy policy = resourcePolicyService.create(context); policy.setRpName("Restriction"); - Group group = groupService.findByName(context, Group.ADMIN); + Group group = groupService.findByName(context.getSession(), Group.ADMIN); policy.setGroup(group); policy.setAction(Constants.READ); policies.add(policy); @@ -380,7 +380,7 @@ public void testWithPrimaryAndMultipleBitstreams() throws Exception { List policies = new ArrayList<>(); ResourcePolicy policy = resourcePolicyService.create(context); policy.setRpName("Embargo"); - Group group = groupService.findByName(context, Group.ANONYMOUS); + Group group = groupService.findByName(context.getSession(), Group.ANONYMOUS); policy.setGroup(group); policy.setAction(Constants.READ); policy.setStartDate(new LocalDate(9999, 12, 31).toDate()); @@ -409,7 +409,7 @@ public void testWithNoPrimaryAndMultipleBitstreams() throws Exception { List policies = new ArrayList<>(); ResourcePolicy policy = resourcePolicyService.create(context); policy.setRpName("Embargo"); - Group group = groupService.findByName(context, Group.ANONYMOUS); + Group group = groupService.findByName(context.getSession(), Group.ANONYMOUS); policy.setGroup(group); policy.setAction(Constants.READ); policy.setStartDate(new LocalDate(9999, 12, 31).toDate()); diff --git a/dspace-api/src/test/java/org/dspace/administer/StructBuilderIT.java b/dspace-api/src/test/java/org/dspace/administer/StructBuilderIT.java index 63340698ac00..1716280bd3cc 100644 --- a/dspace-api/src/test/java/org/dspace/administer/StructBuilderIT.java +++ b/dspace-api/src/test/java/org/dspace/administer/StructBuilderIT.java @@ -82,7 +82,7 @@ public static void tearDownClass() { public void setUp() throws SQLException, AuthorizeException, IOException { // Clear out all communities and collections. context.turnOffAuthorisationSystem(); - for (Community community : communityService.findAllTop(context)) { + for (Community community : communityService.findAllTop(context.getSession())) { deleteSubCommunities(community); communityService.delete(context, community); } @@ -226,7 +226,7 @@ public void testImportStructureWithHandles() // Check a chosen Community for the right Handle. found = false; - for (Community community : communityService.findAllTop(context)) { + for (Community community : communityService.findAllTop(context.getSession())) { for (Handle handle : community.getHandles()) { if (handle.getHandle().equals(COMMUNITY_0_HANDLE)) { found = true; @@ -238,7 +238,7 @@ public void testImportStructureWithHandles() // Check a chosen Collection for the right Handle. found = false; - for (Collection collection : collectionService.findAll(context)) { + for (Collection collection : collectionService.findAll(context.getSession())) { for (Handle handle : collection.getHandles()) { if (handle.getHandle().equals(COLLECTION_0_1_HANDLE)) { found = true; diff --git a/dspace-api/src/test/java/org/dspace/app/bulkaccesscontrol/BulkAccessControlIT.java b/dspace-api/src/test/java/org/dspace/app/bulkaccesscontrol/BulkAccessControlIT.java index 73f02e40494c..d96d92a740e9 100644 --- a/dspace-api/src/test/java/org/dspace/app/bulkaccesscontrol/BulkAccessControlIT.java +++ b/dspace-api/src/test/java/org/dspace/app/bulkaccesscontrol/BulkAccessControlIT.java @@ -993,7 +993,7 @@ public void performBulkAccessForSingleItemWithBitstreamConstraintsTest() throws bitstreamOne = context.reloadEntity(bitstreamOne); bitstreamTwo = context.reloadEntity(bitstreamTwo); - Group anonymousGroup = groupService.findByName(context, Group.ANONYMOUS); + Group anonymousGroup = groupService.findByName(context.getSession(), Group.ANONYMOUS); assertThat(bitstreamOne.getResourcePolicies(), hasSize(1)); assertThat(bitstreamOne.getResourcePolicies(), hasItem( @@ -1121,7 +1121,7 @@ public void performBulkAccessWithValidJsonTest() throws Exception { itemThree = context.reloadEntity(itemThree); itemFour = context.reloadEntity(itemFour); - Group anonymousGroup = groupService.findByName(context, Group.ANONYMOUS); + Group anonymousGroup = groupService.findByName(context.getSession(), Group.ANONYMOUS); assertThat(itemOne.getResourcePolicies(), hasSize(1)); assertThat(itemOne.getResourcePolicies(), hasItem( @@ -1152,7 +1152,7 @@ public void performBulkAccessWithValidJsonTest() throws Exception { public void performBulkAccessWithReplaceModeAndEmptyAccessConditionsTest() throws Exception { context.turnOffAuthorisationSystem(); - Group anonymousGroup = groupService.findByName(context, Group.ANONYMOUS); + Group anonymousGroup = groupService.findByName(context.getSession(), Group.ANONYMOUS); Community parentCommunity = CommunityBuilder.createCommunity(context) .withName("parent community") @@ -1272,7 +1272,7 @@ public void performBulkAccessWithReplaceModeAndEmptyAccessConditionsTest() throw public void performBulkAccessWithAddModeTest() throws Exception { context.turnOffAuthorisationSystem(); - Group anonymousGroup = groupService.findByName(context, Group.ANONYMOUS); + Group anonymousGroup = groupService.findByName(context.getSession(), Group.ANONYMOUS); Community parentCommunity = CommunityBuilder.createCommunity(context) .withName("parent community") @@ -1379,7 +1379,7 @@ public void performBulkAccessWithAddModeTest() throws Exception { public void performBulkAccessWithReplaceModeTest() throws Exception { context.turnOffAuthorisationSystem(); - Group anonymousGroup = groupService.findByName(context, Group.ANONYMOUS); + Group anonymousGroup = groupService.findByName(context.getSession(), Group.ANONYMOUS); Community parentCommunity = CommunityBuilder.createCommunity(context) .withName("parent community") @@ -1494,7 +1494,7 @@ public void performBulkAccessWithReplaceModeTest() throws Exception { public void performBulkAccessAndCheckDerivativeBitstreamsPoliciesTest() throws Exception { context.turnOffAuthorisationSystem(); - Group anonymousGroup = groupService.findByName(context, Group.ANONYMOUS); + Group anonymousGroup = groupService.findByName(context.getSession(), Group.ANONYMOUS); Community parentCommunity = CommunityBuilder.createCommunity(context) .withName("parent community") @@ -1697,7 +1697,7 @@ public void performBulkAccessWithReplaceModeAndAppendModeIsEnabledTest() throws item = context.reloadEntity(item); - Group anonymousGroup = groupService.findByName(context, Group.ANONYMOUS); + Group anonymousGroup = groupService.findByName(context.getSession(), Group.ANONYMOUS); assertThat(item.getResourcePolicies(), hasSize(2)); assertThat(item.getResourcePolicies(), containsInAnyOrder( @@ -1713,7 +1713,7 @@ public void performBulkAccessWithReplaceModeAndAppendModeIsEnabledTest() throws public void performBulkAccessWithReplaceModeOnItemsWithMultipleBundlesTest() throws Exception { context.turnOffAuthorisationSystem(); - Group adminGroup = groupService.findByName(context, Group.ADMIN); + Group adminGroup = groupService.findByName(context.getSession(), Group.ADMIN); Community parentCommunity = CommunityBuilder.createCommunity(context) .withName("parent community") diff --git a/dspace-api/src/test/java/org/dspace/app/bulkedit/MetadataDeletionIT.java b/dspace-api/src/test/java/org/dspace/app/bulkedit/MetadataDeletionIT.java index 3fbae70075f6..b4c92b8fd661 100644 --- a/dspace-api/src/test/java/org/dspace/app/bulkedit/MetadataDeletionIT.java +++ b/dspace-api/src/test/java/org/dspace/app/bulkedit/MetadataDeletionIT.java @@ -96,11 +96,13 @@ public void metadataDeletionListWithoutErasableMetadataTest() throws Exception { @Test public void metadataDeletionTest() throws Exception { - MetadataField titleField = metadataFieldService.findByElement(context, "dc", "title", null); - MetadataField authorField = metadataFieldService.findByElement(context, "dc", "contributor", "author"); + MetadataField titleField = metadataFieldService.findByElement(context.getSession(), + "dc", "title", null); + MetadataField authorField = metadataFieldService.findByElement(context.getSession(), + "dc", "contributor", "author"); - assertThat(metadataValueService.findByField(context, titleField), hasSize(2)); - assertThat(metadataValueService.findByField(context, authorField), hasSize(2)); + assertThat(metadataValueService.findByField(context.getSession(), titleField), hasSize(2)); + assertThat(metadataValueService.findByField(context.getSession(), authorField), hasSize(2)); configurationService.setProperty("bulkedit.allow-bulk-deletion", "dc.title"); @@ -109,8 +111,8 @@ public void metadataDeletionTest() throws Exception { String[] args = new String[] { "metadata-deletion", "-m", "dc.title" }; ScriptLauncher.handleScript(args, ScriptLauncher.getConfig(kernelImpl), testDSpaceRunnableHandler, kernelImpl); - assertThat(metadataValueService.findByField(context, titleField), empty()); - assertThat(metadataValueService.findByField(context, authorField), hasSize(2)); + assertThat(metadataValueService.findByField(context.getSession(), titleField), empty()); + assertThat(metadataValueService.findByField(context.getSession(), authorField), hasSize(2)); List infoMessages = testDSpaceRunnableHandler.getInfoMessages(); assertThat(infoMessages, hasSize(1)); @@ -120,11 +122,13 @@ public void metadataDeletionTest() throws Exception { @Test public void metadataDeletionNotAllowedTest() throws Exception { - MetadataField titleField = metadataFieldService.findByElement(context, "dc", "title", null); - MetadataField authorField = metadataFieldService.findByElement(context, "dc", "contributor", "author"); + MetadataField titleField = metadataFieldService.findByElement(context.getSession(), + "dc", "title", null); + MetadataField authorField = metadataFieldService.findByElement(context.getSession(), + "dc", "contributor", "author"); - assertEquals(2, metadataValueService.findByField(context, titleField).size()); - assertEquals(2, metadataValueService.findByField(context, authorField).size()); + assertEquals(2, metadataValueService.findByField(context.getSession(), titleField).size()); + assertEquals(2, metadataValueService.findByField(context.getSession(), authorField).size()); configurationService.setProperty("bulkedit.allow-bulk-deletion", "dc.type"); @@ -138,18 +142,20 @@ public void metadataDeletionNotAllowedTest() throws Exception { assertThat(exception, instanceOf(IllegalArgumentException.class)); assertThat(exception.getMessage(), is("The given metadata field cannot be bulk deleted")); - assertEquals(2, metadataValueService.findByField(context, titleField).size()); - assertEquals(2, metadataValueService.findByField(context, authorField).size()); + assertEquals(2, metadataValueService.findByField(context.getSession(), titleField).size()); + assertEquals(2, metadataValueService.findByField(context.getSession(), authorField).size()); } @Test public void metadataDeletionWithUnknownMetadataTest() throws Exception { - MetadataField titleField = metadataFieldService.findByElement(context, "dc", "title", null); - MetadataField authorField = metadataFieldService.findByElement(context, "dc", "contributor", "author"); + MetadataField titleField = metadataFieldService.findByElement(context.getSession(), + "dc", "title", null); + MetadataField authorField = metadataFieldService.findByElement(context.getSession(), + "dc", "contributor", "author"); - assertEquals(2, metadataValueService.findByField(context, titleField).size()); - assertEquals(2, metadataValueService.findByField(context, authorField).size()); + assertEquals(2, metadataValueService.findByField(context.getSession(), titleField).size()); + assertEquals(2, metadataValueService.findByField(context.getSession(), authorField).size()); TestDSpaceRunnableHandler testDSpaceRunnableHandler = new TestDSpaceRunnableHandler(); @@ -161,8 +167,8 @@ public void metadataDeletionWithUnknownMetadataTest() throws Exception { assertThat(exception, instanceOf(IllegalArgumentException.class)); assertThat(exception.getMessage(), is("No metadata field found with name dc.unknown")); - assertEquals(2, metadataValueService.findByField(context, titleField).size()); - assertEquals(2, metadataValueService.findByField(context, authorField).size()); + assertEquals(2, metadataValueService.findByField(context.getSession(), titleField).size()); + assertEquals(2, metadataValueService.findByField(context.getSession(), authorField).size()); } private void createItem(Collection collection, String title, String author) { diff --git a/dspace-api/src/test/java/org/dspace/app/bulkedit/MetadataImportIT.java b/dspace-api/src/test/java/org/dspace/app/bulkedit/MetadataImportIT.java index ac5e1e6ae6b9..72c48f023ba0 100644 --- a/dspace-api/src/test/java/org/dspace/app/bulkedit/MetadataImportIT.java +++ b/dspace-api/src/test/java/org/dspace/app/bulkedit/MetadataImportIT.java @@ -89,7 +89,7 @@ public void metadataImportTest() throws Exception { assertEquals(importedItem.getSubmitter(), eperson); context.turnOffAuthorisationSystem(); - itemService.delete(context, itemService.find(context, importedItem.getID())); + itemService.delete(context, itemService.find(context.getSession(), importedItem.getID())); context.restoreAuthSystemState(); } @@ -107,7 +107,7 @@ public void metadataImportIntoCollectionWithEntityTypeWithTemplateEnabledTest() assertEquals(importedItem.getSubmitter(), eperson); context.turnOffAuthorisationSystem(); - itemService.delete(context, itemService.find(context, importedItem.getID())); + itemService.delete(context, itemService.find(context.getSession(), importedItem.getID())); context.restoreAuthSystemState(); } @@ -125,7 +125,7 @@ public void metadataImportIntoCollectionWithEntityTypeWithTemplateDisabledTest() assertEquals(importedItem.getSubmitter(), eperson); context.turnOffAuthorisationSystem(); - itemService.delete(context, itemService.find(context, importedItem.getID())); + itemService.delete(context, itemService.find(context.getSession(), importedItem.getID())); context.restoreAuthSystemState(); } @@ -166,9 +166,9 @@ public void relationshipMetadataImportTest() throws Exception { Item importedItem = findItemByName("Test Import 1"); - assertEquals(1, relationshipService.findByItem(context, importedItem).size()); + assertEquals(1, relationshipService.findByItem(context.getSession(), importedItem).size()); context.turnOffAuthorisationSystem(); - itemService.delete(context, itemService.find(context, importedItem.getID())); + itemService.delete(context, itemService.find(context.getSession(), importedItem.getID())); context.restoreAuthSystemState(); } @@ -177,7 +177,7 @@ public void relationshipMetadataImporAlreadyExistingItemTest() throws Exception context.turnOffAuthorisationSystem(); Item personItem = ItemBuilder.createItem(context, personCollection) .withTitle("Person1").build(); - List relationshipList = relationshipService.findByItem(context, personItem); + List relationshipList = relationshipService.findByItem(context.getSession(), personItem); assertEquals(0, relationshipList.size()); Item publicationItem = ItemBuilder.createItem(context, publicationCollection) .withTitle("Publication1").build(); @@ -195,7 +195,7 @@ public void relationshipMetadataImporAlreadyExistingItemTest() throws Exception Item importedItem = findItemByName("Person1"); - assertEquals(1, relationshipService.findByItem(context, importedItem).size()); + assertEquals(1, relationshipService.findByItem(context.getSession(), importedItem).size()); } @@ -237,7 +237,7 @@ public void metadataImportRemovingValueTest() throws Exception { private Item findItemByName(String name) throws SQLException { Item importedItem = null; - List allItems = IteratorUtils.toList(itemService.findAll(context)); + List allItems = IteratorUtils.toList(itemService.findAll(context.getSession())); for (Item item : allItems) { if (item.getName().equals(name)) { importedItem = item; diff --git a/dspace-api/src/test/java/org/dspace/app/csv/CSVMetadataImportReferenceIT.java b/dspace-api/src/test/java/org/dspace/app/csv/CSVMetadataImportReferenceIT.java index 5933dff71c62..3962e843f514 100644 --- a/dspace-api/src/test/java/org/dspace/app/csv/CSVMetadataImportReferenceIT.java +++ b/dspace-api/src/test/java/org/dspace/app/csv/CSVMetadataImportReferenceIT.java @@ -120,7 +120,7 @@ public void setup() throws SQLException { */ private void assertRelationship(Item leftItem, Item rightItem, int expectedCount, String placeDirection, int placeCount) throws SQLException { - List rels = relationshipService.findByItem(context, rightItem); + List rels = relationshipService.findByItem(context.getSession(), rightItem); Relationship relationship = null; int foundCount = 0; for (Relationship rel : rels) { @@ -177,7 +177,8 @@ private Item[] runImport(String[] csvLines) throws Exception { performImportScript(csvLines, false); Item[] items = new Item[csvLines.length - 1]; for (int i = 0; i < items.length; i++) { - items[i] = itemService.findByIdOrLegacyId(context, getUUIDByIdentifierOther("" + i).toString()); + items[i] = itemService.findByIdOrLegacyId(context.getSession(), + getUUIDByIdentifierOther("" + i).toString()); } return items; } @@ -719,15 +720,15 @@ public int performImportScript(String[] csv, boolean validateOnly) throws Except * * @param value the value of the dc.identifier.other to query for * - * @return first retrived UUID + * @return first retrieved UUID */ private UUID getUUIDByIdentifierOther(String value) throws Exception { ArrayList uuidList = new ArrayList<>(); MetadataValueService metadataValueService = ContentServiceFactory.getInstance().getMetadataValueService(); MetadataFieldService metadataFieldService = ContentServiceFactory.getInstance().getMetadataFieldService(); - MetadataField mfo = metadataFieldService.findByElement(context, "dc", "identifier", "other"); - Iterator mdv = metadataValueService.findByFieldAndValue(context, mfo, value); + MetadataField mfo = metadataFieldService.findByElement(context.getSession(), "dc", "identifier", "other"); + Iterator mdv = metadataValueService.findByFieldAndValue(context.getSession(), mfo, value); while (mdv.hasNext()) { MetadataValue mdvVal = mdv.next(); uuidList.add(mdvVal.getDSpaceObject().getID()); diff --git a/dspace-api/src/test/java/org/dspace/app/itemexport/ItemExportCLIIT.java b/dspace-api/src/test/java/org/dspace/app/itemexport/ItemExportCLIIT.java index 6db37bdbcd05..4551a62e8d2c 100644 --- a/dspace-api/src/test/java/org/dspace/app/itemexport/ItemExportCLIIT.java +++ b/dspace-api/src/test/java/org/dspace/app/itemexport/ItemExportCLIIT.java @@ -344,7 +344,7 @@ private void checkZip(String zipFileName) throws Exception { * @throws Exception */ private void checkCollectionMigration() throws Exception { - assertNotNull(collectionService.find(context, collection.getID())); + assertNotNull(collectionService.find(context.getSession(), collection.getID())); } /** @@ -353,7 +353,7 @@ private void checkCollectionMigration() throws Exception { * @throws Exception */ private void checkItemMigration(Item item) throws Exception { - assertNotNull(itemService.find(context, item.getID())); + assertNotNull(itemService.find(context.getSession(), item.getID())); } private void perfomExportScript(String[] args) diff --git a/dspace-api/src/test/java/org/dspace/app/itemimport/ItemImportCLIIT.java b/dspace-api/src/test/java/org/dspace/app/itemimport/ItemImportCLIIT.java index 08ae3af4ae06..dc806d8ad277 100644 --- a/dspace-api/src/test/java/org/dspace/app/itemimport/ItemImportCLIIT.java +++ b/dspace-api/src/test/java/org/dspace/app/itemimport/ItemImportCLIIT.java @@ -549,7 +549,7 @@ public void deleteItemByMapFile() throws Exception { * @throws Exception */ private void checkMetadata() throws Exception { - Item item = itemService.findByMetadataField(context, "dc", "title", null, publicationTitle).next(); + Item item = itemService.findByMetadataField(context.getSession(), "dc", "title", null, publicationTitle).next(); assertEquals(item.getName(), publicationTitle); assertEquals(itemService.getMetadata(item, "dc.date.issued"), "1990"); assertEquals(itemService.getMetadata(item, "dc.title.alternative"), "J'aime les Printemps"); @@ -560,7 +560,7 @@ private void checkMetadata() throws Exception { * @throws Exception */ private void checkMetadataWithAnotherSchema() throws Exception { - Item item = itemService.findByMetadataField(context, "dc", "title", null, publicationTitle).next(); + Item item = itemService.findByMetadataField(context.getSession(), "dc", "title", null, publicationTitle).next(); assertEquals(item.getName(), publicationTitle); assertEquals(itemService.getMetadata(item, "dcterms.title"), publicationTitle); } @@ -570,7 +570,8 @@ private void checkMetadataWithAnotherSchema() throws Exception { * @throws Exception */ private void checkBitstream() throws Exception { - Bitstream bitstream = itemService.findByMetadataField(context, "dc", "title", null, publicationTitle).next() + Bitstream bitstream = itemService.findByMetadataField(context.getSession(), + "dc", "title", null, publicationTitle).next() .getBundles("ORIGINAL").get(0).getBitstreams().get(0); assertEquals(bitstream.getName(), "file1.txt"); } @@ -580,7 +581,8 @@ private void checkBitstream() throws Exception { * @throws Exception */ private void checkItemDeletion() throws Exception { - Iterator itemIterator = itemService.findByMetadataField(context, "dc", "title", null, publicationTitle); + Iterator itemIterator = itemService.findByMetadataField(context.getSession(), + "dc", "title", null, publicationTitle); assertEquals(itemIterator.hasNext(), false); } @@ -589,9 +591,11 @@ private void checkItemDeletion() throws Exception { * @throws Exception */ private void checkRelationship() throws Exception { - Item item = itemService.findByMetadataField(context, "dc", "title", null, publicationTitle).next(); - Item author = itemService.findByMetadataField(context, "dc", "title", null, personTitle).next(); - List relationships = relationshipService.findByItem(context, item); + Item item = itemService.findByMetadataField(context.getSession(), + "dc", "title", null, publicationTitle).next(); + Item author = itemService.findByMetadataField(context.getSession(), + "dc", "title", null, personTitle).next(); + List relationships = relationshipService.findByItem(context.getSession(), item); assertEquals(1, relationships.size()); assertEquals(author.getID(), relationships.get(0).getRightItem().getID()); assertEquals(item.getID(), relationships.get(0).getLeftItem().getID()); diff --git a/dspace-api/src/test/java/org/dspace/app/packager/PackagerIT.java b/dspace-api/src/test/java/org/dspace/app/packager/PackagerIT.java index 7d808ab8715c..1dcbef45de2a 100644 --- a/dspace-api/src/test/java/org/dspace/app/packager/PackagerIT.java +++ b/dspace-api/src/test/java/org/dspace/app/packager/PackagerIT.java @@ -50,13 +50,18 @@ */ public class PackagerIT extends AbstractIntegrationTestWithDatabase { - private ItemService itemService = ContentServiceFactory.getInstance().getItemService(); - private CollectionService collectionService = ContentServiceFactory.getInstance().getCollectionService(); - private CommunityService communityService = ContentServiceFactory.getInstance().getCommunityService(); - private WorkspaceItemService workspaceItemService = ContentServiceFactory.getInstance().getWorkspaceItemService(); - protected static final InstallItemService installItemService = ContentServiceFactory.getInstance() - .getInstallItemService(); - protected ConfigurationService configService = DSpaceServicesFactory.getInstance().getConfigurationService(); + private final ItemService itemService + = ContentServiceFactory.getInstance().getItemService(); + private final CollectionService collectionService + = ContentServiceFactory.getInstance().getCollectionService(); + private final CommunityService communityService + = ContentServiceFactory.getInstance().getCommunityService(); + private final WorkspaceItemService workspaceItemService + = ContentServiceFactory.getInstance().getWorkspaceItemService(); + protected static final InstallItemService installItemService + = ContentServiceFactory.getInstance().getInstallItemService(); + protected ConfigurationService configService + = DSpaceServicesFactory.getInstance().getConfigurationService(); protected Community child1; protected Collection col1; protected Item article; @@ -110,7 +115,7 @@ public void packagerImportUUIDTest() throws Exception { String idStr = getID(); itemService.delete(context, article); performImportScript(tempFile); - Item item = itemService.find(context, UUID.fromString(idStr)); + Item item = itemService.find(context.getSession(), UUID.fromString(idStr)); assertNotNull(item); } @@ -123,7 +128,7 @@ public void packagerImportColUUIDTest() throws Exception { String idStr = getID(); collectionService.delete(context, col1); performImportScript(tempFile); - Collection collection = collectionService.find(context, UUID.fromString(idStr)); + Collection collection = collectionService.find(context.getSession(), UUID.fromString(idStr)); assertNotNull(collection); } @@ -137,7 +142,7 @@ public void packagerImportComUUIDTest() throws Exception { String idStr = getID(); communityService.delete(context, child1); performImportScript(tempFile); - Community community = communityService.find(context, UUID.fromString(idStr)); + Community community = communityService.find(context.getSession(), UUID.fromString(idStr)); assertNotNull(community); } @@ -148,7 +153,7 @@ public void packagerUUIDAlreadyExistTest() throws Exception { //Item should be overwritten if UUID already Exists performExportScript(article.getHandle(), tempFile); performImportScript(tempFile); - Iterator items = itemService.findByCollection(context, col1); + Iterator items = itemService.findByCollection(context.getSession(), col1); assertEquals(1, Iterators.size(items)); } @@ -162,7 +167,7 @@ public void packagerUUIDAlreadyExistWithoutForceTest() throws Exception { WorkspaceItem workspaceItem = workspaceItemService.create(context, col1, id, false); installItemService.installItem(context, workspaceItem, "123456789/0100"); performImportNoForceScript(tempFile); - Iterator items = itemService.findByCollection(context, col1); + Iterator items = itemService.findByCollection(context.getSession(), col1); Item testItem = items.next(); assertFalse(items.hasNext()); //check to make sure there is only 1 item assertEquals("123456789/0100", testItem.getHandle()); //check to make sure the item wasn't overwritten as diff --git a/dspace-api/src/test/java/org/dspace/app/sherpa/submit/SHERPASubmitServiceTest.java b/dspace-api/src/test/java/org/dspace/app/sherpa/submit/SHERPASubmitServiceTest.java index 438d754aa5f2..d1dcf0c1256a 100644 --- a/dspace-api/src/test/java/org/dspace/app/sherpa/submit/SHERPASubmitServiceTest.java +++ b/dspace-api/src/test/java/org/dspace/app/sherpa/submit/SHERPASubmitServiceTest.java @@ -102,7 +102,7 @@ public void testGetISSNs() throws AuthorizeException, SQLException { // Set up ISSN metadatavalue MetadataField issnField = metadataFieldService. - findByString(context, "dc.identifier.issn", '.'); + findByString(context.getSession(), "dc.identifier.issn", '.'); MetadataValue metadataValue = metadataValueService.create(context, testItem, issnField); metadataValue.setValue(validISSN); diff --git a/dspace-api/src/test/java/org/dspace/app/util/GoogleMetadataTest.java b/dspace-api/src/test/java/org/dspace/app/util/GoogleMetadataTest.java index ee6723480e35..cad59532fa83 100644 --- a/dspace-api/src/test/java/org/dspace/app/util/GoogleMetadataTest.java +++ b/dspace-api/src/test/java/org/dspace/app/util/GoogleMetadataTest.java @@ -365,7 +365,7 @@ public void testGetPdfUrlOfEmbargoed() throws Exception { // Set 3 month embargo on pdf MutablePeriod period = PeriodFormat.getDefault().parseMutablePeriod("3 months"); Date embargoDate = DateTime.now(DateTimeZone.UTC).plus(period).toDate(); - Group anonGroup = groupService.findByName(context, Group.ANONYMOUS); + Group anonGroup = groupService.findByName(context.getSession(), Group.ANONYMOUS); authorizeService.removeAllPolicies(context, b); resourcePolicyService.removeAllPolicies(context, b); ResourcePolicy rp = authorizeService.createOrModifyPolicy(null, context, null, anonGroup, diff --git a/dspace-api/src/test/java/org/dspace/builder/AbstractBuilder.java b/dspace-api/src/test/java/org/dspace/builder/AbstractBuilder.java index ca2d11c68d88..8805d660930a 100644 --- a/dspace-api/src/test/java/org/dspace/builder/AbstractBuilder.java +++ b/dspace-api/src/test/java/org/dspace/builder/AbstractBuilder.java @@ -219,7 +219,7 @@ public static void cleanupObjects() throws Exception { // Bitstreams still leave a trace when deleted, so we need to fully "expunge" them try (Context c = new Context()) { - List bitstreams = bitstreamService.findAll(c); + List bitstreams = bitstreamService.findAll(c.getSession()); for (Bitstream bitstream : CollectionUtils.emptyIfNull(bitstreams)) { // We expect tests to clean up all the objects they create. This means, all bitstreams we find here diff --git a/dspace-api/src/test/java/org/dspace/builder/AbstractDSpaceObjectBuilder.java b/dspace-api/src/test/java/org/dspace/builder/AbstractDSpaceObjectBuilder.java index b20515017af0..814f518a5466 100644 --- a/dspace-api/src/test/java/org/dspace/builder/AbstractDSpaceObjectBuilder.java +++ b/dspace-api/src/test/java/org/dspace/builder/AbstractDSpaceObjectBuilder.java @@ -115,6 +115,7 @@ protected > B setMetadataSingleValue(fi * Support method to grant the {@link Constants#READ} permission over an object only to the {@link Group#ANONYMOUS} * after the specified embargoPeriod. Any other READ permissions will be removed * + * @param type of {@code DSpaceObject} being built. * @param embargoPeriod * the embargo period after which the READ permission will be active. It is parsed using the * {@link PeriodFormatter#parseMutablePeriod(String)} method of the joda library @@ -128,7 +129,8 @@ protected > B setEmbargo(String embargo MutablePeriod period = PeriodFormat.getDefault().parseMutablePeriod(embargoPeriod); Date embargoDate = DateTime.now(DateTimeZone.UTC).plus(period).toDate(); - return setOnlyReadPermission(dso, groupService.findByName(context, Group.ANONYMOUS), embargoDate); + Group anonymousGroup = groupService.findByName(context.getSession(), Group.ANONYMOUS); + return setOnlyReadPermission(dso, anonymousGroup, embargoDate); } catch (Exception e) { return handleException(e); } diff --git a/dspace-api/src/test/java/org/dspace/builder/BundleBuilder.java b/dspace-api/src/test/java/org/dspace/builder/BundleBuilder.java index 1776921ac652..72cc4e260b04 100644 --- a/dspace-api/src/test/java/org/dspace/builder/BundleBuilder.java +++ b/dspace-api/src/test/java/org/dspace/builder/BundleBuilder.java @@ -85,7 +85,7 @@ public Bundle build() throws SQLException, AuthorizeException { public static void deleteBundle(UUID uuid) throws SQLException, IOException { try (Context c = new Context()) { c.turnOffAuthorisationSystem(); - Bundle bundle = bundleService.find(c, uuid); + Bundle bundle = bundleService.find(c.getSession(), uuid); if (bundle != null) { try { bundleService.delete(c, bundle); diff --git a/dspace-api/src/test/java/org/dspace/builder/CollectionBuilder.java b/dspace-api/src/test/java/org/dspace/builder/CollectionBuilder.java index f287c7aa8d32..51024a9f28c8 100644 --- a/dspace-api/src/test/java/org/dspace/builder/CollectionBuilder.java +++ b/dspace-api/src/test/java/org/dspace/builder/CollectionBuilder.java @@ -81,7 +81,7 @@ private CollectionBuilder create(final Community parent) { private CollectionBuilder create(final Community parent, final String handle) { try { - for (Collection collection : this.collectionService.findAll(context)) { + for (Collection collection : this.collectionService.findAll(context.getSession())) { if (collection.getHandle().equalsIgnoreCase(handle)) { this.collection = collection; } @@ -336,9 +336,9 @@ public void deleteWorkflowGroups(Context c, Collection collection) throws Except * @throws Exception passed through. */ public void deleteDefaultReadGroups(Context c, Collection collection) throws Exception { - Group defaultItemReadGroup = groupService.findByName(c, "COLLECTION_" + + Group defaultItemReadGroup = groupService.findByName(c.getSession(), "COLLECTION_" + collection.getID().toString() + "_ITEM_DEFAULT_READ"); - Group defaultBitstreamReadGroup = groupService.findByName(c, "COLLECTION_" + + Group defaultBitstreamReadGroup = groupService.findByName(c.getSession(), "COLLECTION_" + collection.getID().toString() + "_BITSTREAM_DEFAULT_READ"); if (defaultItemReadGroup != null) { groupService.delete(c, defaultItemReadGroup); @@ -359,7 +359,7 @@ public void deleteDefaultReadGroups(Context c, Collection collection) throws Exc public static void deleteCollection(UUID uuid) throws SQLException, IOException, SearchServiceException { try (Context c = new Context()) { c.turnOffAuthorisationSystem(); - Collection collection = collectionService.find(c, uuid); + Collection collection = collectionService.find(c.getSession(), uuid); if (collection != null) { try { collectionService.delete(c, collection); diff --git a/dspace-api/src/test/java/org/dspace/builder/CommunityBuilder.java b/dspace-api/src/test/java/org/dspace/builder/CommunityBuilder.java index dfacd0cec3d1..3d91055eace0 100644 --- a/dspace-api/src/test/java/org/dspace/builder/CommunityBuilder.java +++ b/dspace-api/src/test/java/org/dspace/builder/CommunityBuilder.java @@ -162,7 +162,7 @@ protected DSpaceObjectService getService() { public static void deleteCommunity(UUID uuid) throws SQLException, IOException { try (Context c = new Context()) { c.turnOffAuthorisationSystem(); - Community community = communityService.find(c, uuid); + Community community = communityService.find(c.getSession(), uuid); if (community != null) { try { Group adminGroup = community.getAdministrators(); diff --git a/dspace-api/src/test/java/org/dspace/builder/EPersonBuilder.java b/dspace-api/src/test/java/org/dspace/builder/EPersonBuilder.java index a28462eea74c..17bb91eec991 100644 --- a/dspace-api/src/test/java/org/dspace/builder/EPersonBuilder.java +++ b/dspace-api/src/test/java/org/dspace/builder/EPersonBuilder.java @@ -142,7 +142,7 @@ public EPersonBuilder withOrcidScope(final String scope) { public static void deleteEPerson(UUID uuid) throws SQLException, IOException { try (Context c = new Context()) { c.turnOffAuthorisationSystem(); - EPerson ePerson = ePersonService.find(c, uuid); + EPerson ePerson = ePersonService.find(c.getSession(), uuid); if (ePerson != null) { try { ePersonService.delete(c, ePerson); diff --git a/dspace-api/src/test/java/org/dspace/builder/GroupBuilder.java b/dspace-api/src/test/java/org/dspace/builder/GroupBuilder.java index b3447dd8bd9a..a0b6c4c8de5e 100644 --- a/dspace-api/src/test/java/org/dspace/builder/GroupBuilder.java +++ b/dspace-api/src/test/java/org/dspace/builder/GroupBuilder.java @@ -106,7 +106,7 @@ public GroupBuilder addMember(EPerson eperson) { public static void deleteGroup(UUID uuid) throws SQLException, IOException { try (Context c = new Context()) { c.turnOffAuthorisationSystem(); - Group group = groupService.find(c, uuid); + Group group = groupService.find(c.getSession(), uuid); if (group != null) { try { groupService.delete(c, group); diff --git a/dspace-api/src/test/java/org/dspace/builder/ItemBuilder.java b/dspace-api/src/test/java/org/dspace/builder/ItemBuilder.java index 3e5ab0f38f5b..7e427979a6f2 100644 --- a/dspace-api/src/test/java/org/dspace/builder/ItemBuilder.java +++ b/dspace-api/src/test/java/org/dspace/builder/ItemBuilder.java @@ -425,7 +425,7 @@ protected DSpaceObjectService getService() { public static void deleteItem(UUID uuid) throws SQLException, IOException { try (Context c = new Context()) { c.turnOffAuthorisationSystem(); - Item item = itemService.find(c, uuid); + Item item = itemService.find(c.getSession(), uuid); if (item != null) { try { itemService.delete(c, item); diff --git a/dspace-api/src/test/java/org/dspace/builder/MetadataFieldBuilder.java b/dspace-api/src/test/java/org/dspace/builder/MetadataFieldBuilder.java index 52acf9d5ed16..ae7e1c58c24d 100644 --- a/dspace-api/src/test/java/org/dspace/builder/MetadataFieldBuilder.java +++ b/dspace-api/src/test/java/org/dspace/builder/MetadataFieldBuilder.java @@ -94,7 +94,7 @@ public void delete(MetadataField dso) throws Exception { public static void deleteMetadataField(Integer id) throws SQLException, IOException { try (Context c = new Context()) { c.turnOffAuthorisationSystem(); - MetadataField metadataField = metadataFieldService.find(c, id); + MetadataField metadataField = metadataFieldService.find(c.getSession(), id); if (metadataField != null) { try { metadataFieldService.delete(c, metadataField); @@ -121,7 +121,7 @@ public static MetadataFieldBuilder createMetadataField(Context context, Metadata private MetadataFieldBuilder create(Context context, String element, String qualifier, String scopeNote) throws SQLException, AuthorizeException { - create(context, metadataSchemaService.find(context, "dc"), element, qualifier, scopeNote); + create(context, metadataSchemaService.find(context.getSession(), "dc"), element, qualifier, scopeNote); return this; } diff --git a/dspace-api/src/test/java/org/dspace/builder/MetadataSchemaBuilder.java b/dspace-api/src/test/java/org/dspace/builder/MetadataSchemaBuilder.java index 50b07b64550a..9acb3a9aab4f 100644 --- a/dspace-api/src/test/java/org/dspace/builder/MetadataSchemaBuilder.java +++ b/dspace-api/src/test/java/org/dspace/builder/MetadataSchemaBuilder.java @@ -94,7 +94,7 @@ public void delete(MetadataSchema dso) throws Exception { public static void deleteMetadataSchema(Integer id) throws SQLException, IOException { try (Context c = new Context()) { c.turnOffAuthorisationSystem(); - MetadataSchema metadataSchema = metadataSchemaService.find(c, id); + MetadataSchema metadataSchema = metadataSchemaService.find(c.getSession(), id); if (metadataSchema != null) { try { metadataSchemaService.delete(c, metadataSchema); diff --git a/dspace-api/src/test/java/org/dspace/content/AbstractDSpaceObjectTest.java b/dspace-api/src/test/java/org/dspace/content/AbstractDSpaceObjectTest.java index 4bd827bcc471..e59adf19662b 100644 --- a/dspace-api/src/test/java/org/dspace/content/AbstractDSpaceObjectTest.java +++ b/dspace-api/src/test/java/org/dspace/content/AbstractDSpaceObjectTest.java @@ -136,28 +136,28 @@ public void testFind() throws SQLException { DSpaceObjectService dSpaceObjectService = ContentServiceFactory.getInstance() .getDSpaceObjectService(dspaceObject.getType()); if (this.dspaceObject instanceof Bitstream) { - assertThat("BITSTREAM type", dSpaceObjectService.find(context, + assertThat("BITSTREAM type", dSpaceObjectService.find(context.getSession(), dspaceObject.getID()), notNullValue()); } else if (this.dspaceObject instanceof Bundle) { - assertThat("BUNDLE type", dSpaceObjectService.find(context, + assertThat("BUNDLE type", dSpaceObjectService.find(context.getSession(), dspaceObject.getID()), notNullValue()); } else if (this.dspaceObject instanceof Item) { - assertThat("ITEM type", dSpaceObjectService.find(context, + assertThat("ITEM type", dSpaceObjectService.find(context.getSession(), dspaceObject.getID()), notNullValue()); } else if (this.dspaceObject instanceof Collection) { - assertThat("COLLECTION type", dSpaceObjectService.find(context, + assertThat("COLLECTION type", dSpaceObjectService.find(context.getSession(), dspaceObject.getID()), notNullValue()); } else if (this.dspaceObject instanceof Community) { - assertThat("COMMUNITY type", dSpaceObjectService.find(context, + assertThat("COMMUNITY type", dSpaceObjectService.find(context.getSession(), dspaceObject.getID()), notNullValue()); } else if (this.dspaceObject instanceof Group) { - assertThat("GROUP type", dSpaceObjectService.find(context, + assertThat("GROUP type", dSpaceObjectService.find(context.getSession(), dspaceObject.getID()), notNullValue()); } else if (this.dspaceObject instanceof EPerson) { - assertThat("EPERSON type", dSpaceObjectService.find(context, + assertThat("EPERSON type", dSpaceObjectService.find(context.getSession(), dspaceObject.getID()), notNullValue()); } else if (this.dspaceObject instanceof Site) { - assertThat("SITE type", dSpaceObjectService.find(context, + assertThat("SITE type", dSpaceObjectService.find(context.getSession(), dspaceObject.getID()), notNullValue()); } else { assertThat("Unknown type", dSpaceObjectService, diff --git a/dspace-api/src/test/java/org/dspace/content/BitstreamTest.java b/dspace-api/src/test/java/org/dspace/content/BitstreamTest.java index 921e4efcc7d8..0231f1b834f5 100644 --- a/dspace-api/src/test/java/org/dspace/content/BitstreamTest.java +++ b/dspace-api/src/test/java/org/dspace/content/BitstreamTest.java @@ -120,7 +120,7 @@ public void destroy() { @Test public void testBSFind() throws SQLException { UUID id = this.bs.getID(); - Bitstream found = bitstreamService.find(context, id); + Bitstream found = bitstreamService.find(context.getSession(), id); assertThat("testBSFind 0", found, notNullValue()); //the item created by default has no name nor type set assertThat("testBSFind 1", found.getFormat(context).getMIMEType(), equalTo("application/octet-stream")); @@ -133,7 +133,7 @@ public void testBSFind() throws SQLException { */ @Test public void testFindAll() throws SQLException { - List found = bitstreamService.findAll(context); + List found = bitstreamService.findAll(context.getSession()); assertThat("testFindAll 0", found, notNullValue()); //we have many bs, one created per test run, so at least we have 1 if //this test is run first @@ -429,7 +429,7 @@ public void testDeleteAndExpunge() throws IOException, SQLException, AuthorizeEx // Now test expunge actually removes the bitstream bitstreamService.expunge(context, delBS); - assertThat("testExpunge 0", bitstreamService.find(context, bitstreamId), nullValue()); + assertThat("testExpunge 0", bitstreamService.find(context.getSession(), bitstreamId), nullValue()); } /** diff --git a/dspace-api/src/test/java/org/dspace/content/BundleTest.java b/dspace-api/src/test/java/org/dspace/content/BundleTest.java index 4ff35f5b4df8..207dd0ac8128 100644 --- a/dspace-api/src/test/java/org/dspace/content/BundleTest.java +++ b/dspace-api/src/test/java/org/dspace/content/BundleTest.java @@ -141,13 +141,13 @@ public void destroy() { public void testDeleteParents() throws Exception { try { context.turnOffAuthorisationSystem(); - b = bundleService.find(context, b.getID()); + b = bundleService.find(context.getSession(), b.getID()); if (b != null) { itemService.removeBundle(context, item, b); } - item = itemService.find(context, item.getID()); - collection = collectionService.find(context, collection.getID()); - owningCommunity = communityService.find(context, owningCommunity.getID()); + item = itemService.find(context.getSession(), item.getID()); + collection = collectionService.find(context.getSession(), collection.getID()); + owningCommunity = communityService.find(context.getSession(), owningCommunity.getID()); collectionService.removeItem(context, collection, item); communityService.removeCollection(context, owningCommunity, collection); @@ -165,7 +165,7 @@ public void testDeleteParents() throws Exception { @Test public void testBundleFind() throws SQLException { UUID id = b.getID(); - Bundle found = bundleService.find(context, id); + Bundle found = bundleService.find(context.getSession(), id); assertThat("testBundleFind 0", found, notNullValue()); assertThat("testBundleFind 1", found.getID(), equalTo(id)); } @@ -182,7 +182,7 @@ public void testCreate() throws SQLException, AuthorizeException { //the item created by default has no name nor type set assertThat("testCreate 0", created, notNullValue()); assertTrue("testCreate 1", created.getID() != null); - assertTrue("testCreate 2", created.getBitstreams().size() == 0); + assertTrue("testCreate 2", created.getBitstreams().isEmpty()); assertThat("testCreate 3", created.getName(), equalTo("testCreateBundle")); } @@ -535,7 +535,7 @@ public void testDelete() throws SQLException, AuthorizeException, IOException { UUID id = b.getID(); itemService.removeBundle(context, item, b); - assertThat("testDelete 0", bundleService.find(context, id), nullValue()); + assertThat("testDelete 0", bundleService.find(context.getSession(), id), nullValue()); } /** diff --git a/dspace-api/src/test/java/org/dspace/content/CollectionTest.java b/dspace-api/src/test/java/org/dspace/content/CollectionTest.java index 13d037abf823..acb5081431b7 100644 --- a/dspace-api/src/test/java/org/dspace/content/CollectionTest.java +++ b/dspace-api/src/test/java/org/dspace/content/CollectionTest.java @@ -149,7 +149,7 @@ public void destroy() { @Test public void testCollectionFind() throws Exception { UUID id = collection.getID(); - Collection found = collectionService.find(context, id); + Collection found = collectionService.find(context.getSession(), id); assertThat("testCollectionFind 0", found, notNullValue()); assertThat("testCollectionFind 1", found.getID(), equalTo(id)); //the community created by default has no name @@ -223,7 +223,7 @@ public void testCreateWithInvalidHandle() throws Exception { */ @Test public void testFindAll() throws Exception { - List all = collectionService.findAll(context); + List all = collectionService.findAll(context.getSession()); assertThat("testFindAll 0", all, notNullValue()); assertTrue("testFindAll 1", all.size() >= 1); @@ -241,7 +241,7 @@ public void testFindAll() throws Exception { */ @Test public void testGetItems() throws Exception { - Iterator items = itemService.findByCollection(context, collection); + Iterator items = itemService.findByCollection(context.getSession(), collection); assertThat("testGetItems 0", items, notNullValue()); //by default is empty assertFalse("testGetItems 1", items.hasNext()); @@ -252,7 +252,7 @@ public void testGetItems() throws Exception { */ @Test public void testGetAllItems() throws Exception { - Iterator items = itemService.findByCollection(context, collection); + Iterator items = itemService.findByCollection(context.getSession(), collection); assertThat("testGetAllItems 0", items, notNullValue()); //by default is empty assertFalse("testGetAllItems 1", items.hasNext()); @@ -685,7 +685,7 @@ public void testAddItemAuth() throws Exception { collectionService.addItem(context, collection, item); boolean added = false; - Iterator ii = itemService.findByCollection(context, collection); + Iterator ii = itemService.findByCollection(context.getSession(), collection); while (ii.hasNext()) { if (ii.next().equals(item)) { added = true; @@ -735,7 +735,7 @@ public void testRemoveItemAuth() throws Exception { collectionService.removeItem(context, collection, item); boolean isthere = false; - Iterator ii = itemService.findByCollection(context, collection); + Iterator ii = itemService.findByCollection(context.getSession(), collection); while (ii.hasNext()) { if (ii.next().equals(item)) { isthere = true; @@ -996,7 +996,7 @@ public void testDeleteAuth() throws Exception { UUID id = collection.getID(); collectionService.delete(context, collection); - collection = collectionService.find(context, id); + collection = collectionService.find(context.getSession(), id); assertThat("testDelete 0", collection, nullValue()); } diff --git a/dspace-api/src/test/java/org/dspace/content/CommunityTest.java b/dspace-api/src/test/java/org/dspace/content/CommunityTest.java index 939a7cc62088..4a5d0f6aebcd 100644 --- a/dspace-api/src/test/java/org/dspace/content/CommunityTest.java +++ b/dspace-api/src/test/java/org/dspace/content/CommunityTest.java @@ -139,7 +139,7 @@ public void destroy() { @Test public void testCommunityFind() throws Exception { UUID id = c.getID(); - Community found = communityService.find(context, id); + Community found = communityService.find(context.getSession(), id); assertThat("testCommunityFind 0", found, notNullValue()); assertThat("testCommunityFind 1", found.getID(), equalTo(id)); //the community created by default has no name @@ -258,7 +258,7 @@ public void testCreateWithInvalidHandle() throws Exception { */ @Test public void testFindAll() throws Exception { - List all = communityService.findAll(context); + List all = communityService.findAll(context.getSession()); assertThat("testFindAll 0", all, notNullValue()); assertTrue("testFindAll 1", all.size() >= 1); @@ -276,7 +276,7 @@ public void testFindAll() throws Exception { */ @Test public void testFindAllTop() throws Exception { - List all = communityService.findAllTop(context); + List all = communityService.findAllTop(context.getSession()); assertThat("testFindAllTop 0", all, notNullValue()); assertTrue("testFindAllTop 1", all.size() >= 1); for (Community cm : all) { @@ -824,7 +824,7 @@ public void testDeleteAuth() throws Exception { // Now, test deletion UUID id = todelete.getID(); communityService.delete(context, todelete); - Community found = communityService.find(context, id); + Community found = communityService.find(context.getSession(), id); assertThat("testDeleteAuth 0", found, nullValue()); } @@ -848,7 +848,7 @@ public void testDeleteAuth2() throws Exception { // Now, test deletion UUID id = todelete.getID(); communityService.delete(context, todelete); - Community found = communityService.find(context, id); + Community found = communityService.find(context.getSession(), id); assertThat("testDeleteAuth2 0", found, nullValue()); } @@ -912,19 +912,19 @@ public void testDeleteHierachyAuth() throws Exception { // Test that everything created here is deleted. assertThat("top-level Community not deleted", - communityService.find(context, parentId), nullValue()); + communityService.find(context.getSession(), parentId), nullValue()); assertThat("child Community not deleted", - communityService.find(context, childId), nullValue()); + communityService.find(context.getSession(), childId), nullValue()); assertThat("grandchild Community not deleted", - communityService.find(context, grandchildId), nullValue()); + communityService.find(context.getSession(), grandchildId), nullValue()); assertThat("Collection of child Community not deleted", - collectionService.find(context, childColId), nullValue()); + collectionService.find(context.getSession(), childColId), nullValue()); assertThat("Collection of grandchild Community not deleted", - collectionService.find(context, grandchildColId), nullValue()); + collectionService.find(context.getSession(), grandchildColId), nullValue()); assertThat("Item not deleted", - itemService.find(context, itemId), nullValue()); + itemService.find(context.getSession(), itemId), nullValue()); assertThat("Item not deleted", - itemService.find(context, item2Id), nullValue()); + itemService.find(context.getSession(), item2Id), nullValue()); } /** diff --git a/dspace-api/src/test/java/org/dspace/content/EntityServiceImplTest.java b/dspace-api/src/test/java/org/dspace/content/EntityServiceImplTest.java index 305ebff69710..e546b87fd3d2 100644 --- a/dspace-api/src/test/java/org/dspace/content/EntityServiceImplTest.java +++ b/dspace-api/src/test/java/org/dspace/content/EntityServiceImplTest.java @@ -67,7 +67,7 @@ public void testfindByItemId() throws Exception { // The returned Entity's item should match the mocked item's name assertEquals("TestFindByItem 0", "ItemName", - entityService.findByItemId(context, item.getID()).getItem().getName()); + entityService.findByItemId(context.getSession(), item.getID()).getItem().getName()); } @Test @@ -133,7 +133,8 @@ public void testGetRelationsByTypeName() throws Exception { relationshipList.add(relationship); // Mock the state of objects utilized in getRelationsByType() to meet the success criteria of an invocation - when(relationshipService.findByTypeName(context, "leftwardType", -1, -1)).thenReturn(relationshipList); + when(relationshipService.findByTypeName(context.getSession(), "leftwardType", -1, -1)) + .thenReturn(relationshipList); // The relation(s) reported from our defined type should match our relationshipList assertEquals("TestGetRelationsByLabel 0", relationshipList, diff --git a/dspace-api/src/test/java/org/dspace/content/ITCommunityCollection.java b/dspace-api/src/test/java/org/dspace/content/ITCommunityCollection.java index 03d0391ab8b3..f4f5f0bc62d6 100644 --- a/dspace-api/src/test/java/org/dspace/content/ITCommunityCollection.java +++ b/dspace-api/src/test/java/org/dspace/content/ITCommunityCollection.java @@ -232,26 +232,26 @@ public void testCommunityAdminDeletions() throws SQLException, AuthorizeExceptio UUID itemId = item2.getID(); itemService.delete(context, item2); assertThat("Community Admin unable to delete sub-Item", - itemService.find(context, itemId), nullValue()); + itemService.find(context.getSession(), itemId), nullValue()); // Test deletion of single Collection as a Community Admin UUID collId = grandchildCol.getID(); collectionService.delete(context, grandchildCol); assertThat("Community Admin unable to delete sub-Collection", - collectionService.find(context, collId), nullValue()); + collectionService.find(context.getSession(), collId), nullValue()); // Test deletion of single Sub-Community as a Community Admin UUID commId = child2.getID(); communityService.delete(context, child2); assertThat("Community Admin unable to delete sub-Community", - communityService.find(context, commId), nullValue()); + communityService.find(context.getSession(), commId), nullValue()); // Test deletion of single Sub-Community with own admin group communityService.createAdministrators(context, child3); commId = child3.getID(); communityService.delete(context, child3); assertThat("Community Admin unable to delete sub-Community", - communityService.find(context, commId), nullValue()); + communityService.find(context.getSession(), commId), nullValue()); // Test deletion of Sub-Community Hierarchy as a Community Admin commId = child.getID(); @@ -259,11 +259,11 @@ public void testCommunityAdminDeletions() throws SQLException, AuthorizeExceptio itemId = item.getID(); communityService.delete(context, child); assertThat("Community Admin unable to delete sub-Community in hierarchy", - communityService.find(context, commId), nullValue()); + communityService.find(context.getSession(), commId), nullValue()); assertThat("Community Admin unable to delete sub-Collection in hierarchy", - collectionService.find(context, collId), nullValue()); + collectionService.find(context.getSession(), collId), nullValue()); assertThat("Community Admin unable to delete sub-Item in hierarchy", - itemService.find(context, itemId), nullValue()); + itemService.find(context.getSession(), itemId), nullValue()); } /** @@ -314,16 +314,16 @@ public void testCollectionAdminDeletions() throws SQLException, AuthorizeExcepti UUID bundleId = bundle2.getID(); bundleService.delete(context, bundle2); assertThat("Collection Admin unable to delete Bundle", - bundleService.find(context, bundleId), nullValue()); + bundleService.find(context.getSession(), bundleId), nullValue()); // Test deletion of single Item as a Collection Admin UUID itemId = item.getID(); bundleId = bundle.getID(); itemService.delete(context, item); assertThat("Collection Admin unable to delete sub-Item", - itemService.find(context, itemId), nullValue()); + itemService.find(context.getSession(), itemId), nullValue()); assertThat("Collection Admin unable to delete sub-Bundle", - bundleService.find(context, bundleId), nullValue()); + bundleService.find(context.getSession(), bundleId), nullValue()); assertTrue("Collection Admin unable to flag sub-Bitstream as deleted", bitstream.isDeleted()); } diff --git a/dspace-api/src/test/java/org/dspace/content/ITMetadata.java b/dspace-api/src/test/java/org/dspace/content/ITMetadata.java index 05249672c381..485e8438379e 100644 --- a/dspace-api/src/test/java/org/dspace/content/ITMetadata.java +++ b/dspace-api/src/test/java/org/dspace/content/ITMetadata.java @@ -105,7 +105,7 @@ public void testCreateSchema() throws SQLException, AuthorizeException, NonUniqu assertThat("testCreateSchema 1", field1.getMetadataSchema(), equalTo(schema)); assertThat("testCreateSchema 2", field2.getMetadataSchema(), equalTo(schema)); - List fields = metadataFieldService.findAllInSchema(context, schema); + List fields = metadataFieldService.findAllInSchema(context.getSession(), schema); assertTrue("testCreateSchema 3", fields.size() == 2); boolean exist = true; for (MetadataField f : fields) { @@ -115,15 +115,15 @@ public void testCreateSchema() throws SQLException, AuthorizeException, NonUniqu } assertTrue("testCreateSchema 4", exist); - List col1 = metadataValueService.findByField(context, field1); + List col1 = metadataValueService.findByField(context.getSession(), field1); assertTrue("testCreateSchema 5", col1.contains(value1)); - List col2 = metadataValueService.findByField(context, field2); + List col2 = metadataValueService.findByField(context.getSession(), field2); assertTrue("testCreateSchema 6", col2.contains(value2)); //clean database it.removeMetadata(value1); - col1 = metadataValueService.findByField(context, field1); + col1 = metadataValueService.findByField(context.getSession(), field1); assertFalse("testCreateSchema 7", col1.contains(value1)); it.removeMetadata(value2); diff --git a/dspace-api/src/test/java/org/dspace/content/ItemComparatorTest.java b/dspace-api/src/test/java/org/dspace/content/ItemComparatorTest.java index 54ff9ce02624..304906c051a0 100644 --- a/dspace-api/src/test/java/org/dspace/content/ItemComparatorTest.java +++ b/dspace-api/src/test/java/org/dspace/content/ItemComparatorTest.java @@ -42,15 +42,22 @@ public class ItemComparatorTest extends AbstractUnitTest { */ private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(ItemComparatorTest.class); - protected CommunityService communityService = ContentServiceFactory.getInstance().getCommunityService(); - protected CollectionService collectionService = ContentServiceFactory.getInstance().getCollectionService(); - private ItemService itemService = ContentServiceFactory.getInstance().getItemService(); - protected WorkspaceItemService workspaceItemService = ContentServiceFactory.getInstance().getWorkspaceItemService(); - protected InstallItemService installItemService = ContentServiceFactory.getInstance().getInstallItemService(); - protected MetadataSchemaService metadataSchemaService = ContentServiceFactory.getInstance() - .getMetadataSchemaService(); - protected MetadataFieldService metadataFieldService = ContentServiceFactory.getInstance().getMetadataFieldService(); - private MetadataValueService metadataValueService = ContentServiceFactory.getInstance().getMetadataValueService(); + protected CommunityService communityService + = ContentServiceFactory.getInstance().getCommunityService(); + protected CollectionService collectionService + = ContentServiceFactory.getInstance().getCollectionService(); + private final ItemService itemService + = ContentServiceFactory.getInstance().getItemService(); + protected WorkspaceItemService workspaceItemService + = ContentServiceFactory.getInstance().getWorkspaceItemService(); + protected InstallItemService installItemService + = ContentServiceFactory.getInstance().getInstallItemService(); + protected MetadataSchemaService metadataSchemaService + = ContentServiceFactory.getInstance().getMetadataSchemaService(); + protected MetadataFieldService metadataFieldService + = ContentServiceFactory.getInstance().getMetadataFieldService(); + private final MetadataValueService metadataValueService + = ContentServiceFactory.getInstance().getMetadataValueService(); /** * Item instance for the tests @@ -81,7 +88,7 @@ public void init() { super.init(); context.turnOffAuthorisationSystem(); - MetadataSchema testSchema = metadataSchemaService.find(context, "dc"); + MetadataSchema testSchema = metadataSchemaService.find(context.getSession(), "dc"); metadataField = metadataFieldService.create(context, testSchema, "test", "one", null); this.owningCommunity = communityService.create(null, context); this.collection = collectionService.create(context, owningCommunity); diff --git a/dspace-api/src/test/java/org/dspace/content/ItemTest.java b/dspace-api/src/test/java/org/dspace/content/ItemTest.java index d440597ec416..e73bf82c9e9e 100644 --- a/dspace-api/src/test/java/org/dspace/content/ItemTest.java +++ b/dspace-api/src/test/java/org/dspace/content/ItemTest.java @@ -180,7 +180,7 @@ public void testItemFind() throws Exception { // Get ID of item created in init() UUID id = it.getID(); // Make sure we can find it via its ID - Item found = itemService.find(context, id); + Item found = itemService.find(context.getSession(), id); assertThat("testItemFind 0", found, notNullValue()); assertThat("testItemFind 1", found.getID(), equalTo(id)); assertThat("testItemFind 2", found.getName(), nullValue()); @@ -204,7 +204,7 @@ public void testCreate() throws Exception { */ @Test public void testFindAll() throws Exception { - Iterator all = itemService.findAll(context); + Iterator all = itemService.findAll(context.getSession()); assertThat("testFindAll 0", all, notNullValue()); boolean added = false; @@ -222,7 +222,7 @@ public void testFindAll() throws Exception { */ @Test public void testFindBySubmitter() throws Exception { - Iterator all = itemService.findBySubmitter(context, context.getCurrentUser()); + Iterator all = itemService.findBySubmitter(context.getSession(), context.getCurrentUser()); assertThat("testFindBySubmitter 0", all, notNullValue()); boolean added = false; @@ -235,7 +235,7 @@ public void testFindBySubmitter() throws Exception { assertTrue("testFindBySubmitter 1", added); context.turnOffAuthorisationSystem(); - all = itemService.findBySubmitter(context, ePersonService.create(context)); + all = itemService.findBySubmitter(context.getSession(), ePersonService.create(context)); context.restoreAuthSystemState(); assertThat("testFindBySubmitter 2", all, notNullValue()); @@ -252,7 +252,7 @@ public void testFindInArchiveOrWithdrawnDiscoverableModifiedSince() throws Excep it.setArchived(false); it.setDiscoverable(true); // Test 0: Using a future 'modified since' date, we should get non-null list, with no items - Iterator all = itemService.findInArchiveOrWithdrawnDiscoverableModifiedSince(context, + Iterator all = itemService.findInArchiveOrWithdrawnDiscoverableModifiedSince(context.getSession(), DateUtils.addDays(it.getLastModified(),1)); assertThat("Returned list should not be null", all, notNullValue()); boolean added = false; @@ -265,7 +265,7 @@ public void testFindInArchiveOrWithdrawnDiscoverableModifiedSince() throws Excep // Test 1: we should NOT find our item in this list assertFalse("List should not contain item when passing a date newer than item last-modified date", added); // Test 2: Using a past 'modified since' date, we should get a non-null list containing our item - all = itemService.findInArchiveOrWithdrawnDiscoverableModifiedSince(context, + all = itemService.findInArchiveOrWithdrawnDiscoverableModifiedSince(context.getSession(), DateUtils.addDays(it.getLastModified(),-1)); assertThat("Returned list should not be null", all, notNullValue()); added = false; @@ -281,7 +281,7 @@ public void testFindInArchiveOrWithdrawnDiscoverableModifiedSince() throws Excep it.setWithdrawn(false); it.setArchived(true); // Test 4: Using a past 'modified since' date, we should get a non-null list containing our item - all = itemService.findInArchiveOrWithdrawnDiscoverableModifiedSince(context, + all = itemService.findInArchiveOrWithdrawnDiscoverableModifiedSince(context.getSession(), DateUtils.addDays(it.getLastModified(),-1)); assertThat("Returned list should not be null", all, notNullValue()); added = false; @@ -295,7 +295,7 @@ public void testFindInArchiveOrWithdrawnDiscoverableModifiedSince() throws Excep assertTrue("List should contain item when passing a date older than item last-modified date", added); // Test 6: Make sure non-discoverable items are not returned, regardless of archived/withdrawn state it.setDiscoverable(false); - all = itemService.findInArchiveOrWithdrawnDiscoverableModifiedSince(context, + all = itemService.findInArchiveOrWithdrawnDiscoverableModifiedSince(context.getSession(), DateUtils.addDays(it.getLastModified(),-1)); assertThat("Returned list should not be null", all, notNullValue()); added = false; @@ -319,7 +319,7 @@ public void testFindInArchiveOrWithdrawnNonDiscoverableModifiedSince() throws Ex it.setArchived(false); it.setDiscoverable(false); // Test 0: Using a future 'modified since' date, we should get non-null list, with no items - Iterator all = itemService.findInArchiveOrWithdrawnNonDiscoverableModifiedSince(context, + Iterator all = itemService.findInArchiveOrWithdrawnNonDiscoverableModifiedSince(context.getSession(), DateUtils.addDays(it.getLastModified(),1)); assertThat("Returned list should not be null", all, notNullValue()); boolean added = false; @@ -332,7 +332,7 @@ public void testFindInArchiveOrWithdrawnNonDiscoverableModifiedSince() throws Ex // Test 1: We should NOT find our item in this list assertFalse("List should not contain item when passing a date newer than item last-modified date", added); // Test 2: Using a past 'modified since' date, we should get a non-null list containing our item - all = itemService.findInArchiveOrWithdrawnNonDiscoverableModifiedSince(context, + all = itemService.findInArchiveOrWithdrawnNonDiscoverableModifiedSince(context.getSession(), DateUtils.addDays(it.getLastModified(),-1)); assertThat("Returned list should not be null", all, notNullValue()); added = false; @@ -347,7 +347,7 @@ public void testFindInArchiveOrWithdrawnNonDiscoverableModifiedSince() throws Ex // Repeat Tests 2, 3 with discoverable = true it.setDiscoverable(true); // Test 4: Now we should still get a non-null list with NO items since item is discoverable - all = itemService.findInArchiveOrWithdrawnNonDiscoverableModifiedSince(context, + all = itemService.findInArchiveOrWithdrawnNonDiscoverableModifiedSince(context.getSession(), DateUtils.addDays(it.getLastModified(),-1)); assertThat("Returned list should not be null", all, notNullValue()); added = false; @@ -1192,7 +1192,7 @@ public void testDeleteAuth() throws Exception { UUID id = item.getID(); itemService.delete(context, item); - Item found = itemService.find(context, id); + Item found = itemService.find(context.getSession(), id); assertThat("testDeleteAuth 0", found, nullValue()); } @@ -1520,7 +1520,7 @@ public void testGetCollectionsNotLinked() throws Exception { List result = itemService.getCollectionsNotLinked(context, it); boolean isin = false; for (Collection c : result) { - Iterator iit = itemService.findByCollection(context, c); + Iterator iit = itemService.findByCollection(context.getSession(), c); while (iit.hasNext()) { if (iit.next().getID().equals(it.getID())) { isin = true; @@ -1666,7 +1666,8 @@ public void testFindByMetadataField() throws Exception { String qualifier = "author"; String value = "value"; - Iterator result = itemService.findByMetadataField(context, schema, element, qualifier, value); + Iterator result = itemService.findByMetadataField(context.getSession(), + schema, element, qualifier, value); assertThat("testFindByMetadataField 0", result, notNullValue()); assertFalse("testFindByMetadataField 1", result.hasNext()); @@ -1676,7 +1677,8 @@ public void testFindByMetadataField() throws Exception { itemService.update(context, it); context.restoreAuthSystemState(); - result = itemService.findByMetadataField(context, schema, element, qualifier, value); + result = itemService.findByMetadataField(context.getSession(), + schema, element, qualifier, value); assertThat("testFindByMetadataField 3", result, notNullValue()); assertTrue("testFindByMetadataField 4", result.hasNext()); assertTrue("testFindByMetadataField 5", result.next().equals(it)); @@ -1731,7 +1733,8 @@ public void testFindByAuthorityValue() throws Exception { String authority = "accepted"; int confidence = 0; - Iterator result = itemService.findByAuthorityValue(context, schema, element, qualifier, value); + Iterator result = itemService.findByAuthorityValue(context.getSession(), + schema, element, qualifier, value); assertThat("testFindByAuthorityValue 0", result, notNullValue()); assertFalse("testFindByAuthorityValue 1", result.hasNext()); @@ -1741,7 +1744,8 @@ public void testFindByAuthorityValue() throws Exception { itemService.update(context, it); context.restoreAuthSystemState(); - result = itemService.findByAuthorityValue(context, schema, element, qualifier, authority); + result = itemService.findByAuthorityValue(context.getSession(), + schema, element, qualifier, authority); assertThat("testFindByAuthorityValue 3", result, notNullValue()); assertTrue("testFindByAuthorityValue 4", result.hasNext()); assertThat("testFindByAuthorityValue 5", result.next(), equalTo(it)); @@ -1758,7 +1762,8 @@ public void testFindByCollectionMapping() throws Exception { Collection colToMapTo = this.createCollection(); Item item1 = this.createItem(); - Iterator result = itemService.findByCollectionMapping(context, colToMapTo, limit, offset); + Iterator result = itemService.findByCollectionMapping(context.getSession(), + colToMapTo, limit, offset); assertThat("testFindByCollectionMapping 0", result, notNullValue()); assertFalse("testFindByCollectionMapping 1", result.hasNext()); @@ -1767,7 +1772,8 @@ public void testFindByCollectionMapping() throws Exception { collectionService.update(context, colToMapTo); context.restoreAuthSystemState(); - result = itemService.findByCollectionMapping(context, colToMapTo, limit, offset); + result = itemService.findByCollectionMapping(context.getSession(), + colToMapTo, limit, offset); assertThat("testFindByCollectionMapping 3", result, notNullValue()); assertTrue("testFindByCollectionMapping 4", result.hasNext()); assertThat("testFindByCollectionMapping 5", result.next(), equalTo(item1)); @@ -1781,19 +1787,22 @@ public void testFindByCollectionMapping() throws Exception { limit = 5; offset = 1; - result = itemService.findByCollectionMapping(context, colToMapTo, limit, offset); + result = itemService.findByCollectionMapping(context.getSession(), + colToMapTo, limit, offset); Item secondItemMapped = result.next(); assertTrue("testFindByCollectionMapping 7", secondItemMapped.equals(item1) || secondItemMapped.equals(item2)); assertFalse("testFindByCollectionMapping 8", result.hasNext()); limit = 1; offset = 0; - result = itemService.findByCollectionMapping(context, colToMapTo, limit, offset); + result = itemService.findByCollectionMapping(context.getSession(), + colToMapTo, limit, offset); Item onlyItemFound = result.next(); assertTrue("testFindByCollectionMapping 9", onlyItemFound .equals(item1) || onlyItemFound .equals(item2)); assertFalse("testFindByCollectionMapping 10", result.hasNext()); limit = 5; offset = 3; - result = itemService.findByCollectionMapping(context, colToMapTo, limit, offset); + result = itemService.findByCollectionMapping(context.getSession(), + colToMapTo, limit, offset); assertFalse("testFindByCollectionMapping 11", result.hasNext()); } diff --git a/dspace-api/src/test/java/org/dspace/content/MetadataFieldPerformanceTest.java b/dspace-api/src/test/java/org/dspace/content/MetadataFieldPerformanceTest.java index fefddbf3d9db..4e9749369931 100644 --- a/dspace-api/src/test/java/org/dspace/content/MetadataFieldPerformanceTest.java +++ b/dspace-api/src/test/java/org/dspace/content/MetadataFieldPerformanceTest.java @@ -37,7 +37,7 @@ public void testManyQueries() throws SQLException { int amount = 50000; for (int i = 0; i < amount; i++) { - metadataFieldService.findByElement(context, "dc", "description", null); + metadataFieldService.findByElement(context.getSession(), "dc", "description", null); } long endTime = System.currentTimeMillis(); diff --git a/dspace-api/src/test/java/org/dspace/content/MetadataFieldTest.java b/dspace-api/src/test/java/org/dspace/content/MetadataFieldTest.java index 5d2e1b2e6bc3..f560ffab17c6 100644 --- a/dspace-api/src/test/java/org/dspace/content/MetadataFieldTest.java +++ b/dspace-api/src/test/java/org/dspace/content/MetadataFieldTest.java @@ -53,17 +53,17 @@ public class MetadataFieldTest extends AbstractUnitTest { /** * Element of the metadata element */ - private String element = "contributor"; + private final String element = "contributor"; /** * Qualifier of the metadata element */ - private String qualifier = "author"; + private final String qualifier = "author"; /** * Scope note of the metadata element */ - private String scopeNote = "scope note"; + private final String scopeNote = "scope note"; protected MetadataSchemaService metadataSchemaService = ContentServiceFactory.getInstance() .getMetadataSchemaService(); @@ -87,13 +87,14 @@ public class MetadataFieldTest extends AbstractUnitTest { public void init() { super.init(); try { - this.dcSchema = metadataSchemaService.find(context, MetadataSchemaEnum.DC.getName()); - this.mf = metadataFieldService.findByElement(context, + this.dcSchema = metadataSchemaService.find(context.getSession(), MetadataSchemaEnum.DC.getName()); + this.mf = metadataFieldService.findByElement(context.getSession(), MetadataSchemaEnum.DC.getName(), element, qualifier); if (mf == null) { context.turnOffAuthorisationSystem(); this.mf = metadataFieldService - .create(context, metadataSchemaService.find(context, MetadataSchemaEnum.DC.getName()), + .create(context, metadataSchemaService.find(context.getSession(), + MetadataSchemaEnum.DC.getName()), element, qualifier, scopeNote); context.restoreAuthSystemState(); } @@ -228,7 +229,8 @@ public void testCreateAuth() throws Exception { String qual = "qual1"; MetadataField m = metadataFieldService.create(context, dcSchema, elem, qual, null); - MetadataField found = metadataFieldService.findByElement(context, dcSchema, elem, qual); + MetadataField found = metadataFieldService.findByElement(context.getSession(), + dcSchema, elem, qual); assertThat("testCreateAuth 0", found.getID(), equalTo(m.getID())); } @@ -262,8 +264,8 @@ public void testCreateRepeated() throws Exception { */ @Test public void testFindByElement() throws Exception { - MetadataField found = metadataFieldService.findByElement(context, MetadataSchemaEnum.DC.getName(), - element, qualifier); + MetadataField found = metadataFieldService.findByElement(context.getSession(), + MetadataSchemaEnum.DC.getName(), element, qualifier); assertThat("testFindByElement 0", found, notNullValue()); assertThat("testFindByElement 1", found.getID(), equalTo(mf.getID())); assertThat("testFindByElement 2", found.getElement(), equalTo(mf.getElement())); @@ -275,7 +277,7 @@ public void testFindByElement() throws Exception { */ @Test public void testFindAll() throws Exception { - List found = metadataFieldService.findAll(context); + List found = metadataFieldService.findAll(context.getSession()); assertThat("testFindAll 0", found, notNullValue()); assertTrue("testFindAll 1", found.size() >= 1); @@ -294,10 +296,11 @@ public void testFindAll() throws Exception { @Test public void testFindAllInSchema() throws Exception { List found = metadataFieldService - .findAllInSchema(context, metadataSchemaService.find(context, MetadataSchemaEnum.DC.getName())); + .findAllInSchema(context.getSession(), metadataSchemaService.find(context.getSession(), + MetadataSchemaEnum.DC.getName())); assertThat("testFindAllInSchema 0", found, notNullValue()); assertTrue("testFindAllInSchema 1", found.size() >= 1); - assertTrue("testFindAllInSchema 2", found.size() <= metadataFieldService.findAll(context).size()); + assertTrue("testFindAllInSchema 2", found.size() <= metadataFieldService.findAll(context.getSession()).size()); boolean added = false; for (MetadataField mdf : found) { @@ -321,7 +324,8 @@ public void testUpdateAuth() throws Exception { MetadataField m = metadataFieldService.create(context, dcSchema, elem, qual, null); metadataFieldService.update(context, m); - MetadataField found = metadataFieldService.findByElement(context, MetadataSchemaEnum.DC.getName(), elem, qual); + MetadataField found = metadataFieldService.findByElement(context.getSession(), + MetadataSchemaEnum.DC.getName(), elem, qual); assertThat("testUpdateAuth 0", found.getID(), equalTo(m.getID())); } @@ -369,7 +373,8 @@ public void testDeleteAuth() throws Exception { metadataFieldService.delete(context, m); - MetadataField found = metadataFieldService.findByElement(context, MetadataSchemaEnum.DC.getName(), elem, qual); + MetadataField found = metadataFieldService.findByElement(context.getSession(), + MetadataSchemaEnum.DC.getName(), elem, qual); assertThat("testDeleteAuth 0", found, nullValue()); } @@ -393,7 +398,7 @@ public void testDeleteNoAuth() throws Exception { public void testFind() throws Exception { int id = mf.getID(); - MetadataField found = metadataFieldService.find(context, id); + MetadataField found = metadataFieldService.find(context.getSession(), id); assertThat("testFind 0", found, notNullValue()); assertThat("testFind 1", found.getID(), equalTo(mf.getID())); } diff --git a/dspace-api/src/test/java/org/dspace/content/MetadataSchemaTest.java b/dspace-api/src/test/java/org/dspace/content/MetadataSchemaTest.java index 405d54bafc18..8c4638ef814e 100644 --- a/dspace-api/src/test/java/org/dspace/content/MetadataSchemaTest.java +++ b/dspace-api/src/test/java/org/dspace/content/MetadataSchemaTest.java @@ -68,7 +68,7 @@ public class MetadataSchemaTest extends AbstractUnitTest { public void init() { super.init(); try { - this.ms = metadataSchemaService.find(context, MetadataSchemaEnum.DC.getName()); + this.ms = metadataSchemaService.find(context.getSession(), MetadataSchemaEnum.DC.getName()); // Initialize our spy of the autowired (global) authorizeService bean. // This allows us to customize the bean's method return values in tests below @@ -138,7 +138,8 @@ public void testSetName() { @Test public void testGetSchemaID() throws SQLException { assertThat("testGetSchemaID 0", ms.getID(), - equalTo(metadataSchemaService.find(context, MetadataSchemaEnum.DC.getName()).getID())); + equalTo(metadataSchemaService.find(context.getSession(), + MetadataSchemaEnum.DC.getName()).getID())); } /** @@ -292,7 +293,7 @@ public void testFindAll() throws Exception { */ @Test public void testFind_Context_int() throws Exception { - MetadataSchema found = metadataSchemaService.find(context, ms.getID()); + MetadataSchema found = metadataSchemaService.find(context.getSession(), ms.getID()); assertThat("testFind_Context_int 0", found, notNullValue()); assertThat("testFind_Context_int 1", found.getID(), equalTo(ms.getID())); assertThat("testFind_Context_int 2", found.getName(), equalTo(ms.getName())); @@ -305,13 +306,13 @@ public void testFind_Context_int() throws Exception { @Test public void testFind_Context_String() throws Exception { String shortName = ms.getName(); - MetadataSchema found = metadataSchemaService.find(context, shortName); + MetadataSchema found = metadataSchemaService.find(context.getSession(), shortName); assertThat("testFind_Context_String 0", found, notNullValue()); assertThat("testFind_Context_String 1", found.getID(), equalTo(ms.getID())); assertThat("testFind_Context_String 2", found.getName(), equalTo(ms.getName())); assertThat("testFind_Context_String 3", found.getNamespace(), equalTo(ms.getNamespace())); - found = metadataSchemaService.find(context, null); + found = metadataSchemaService.find(context.getSession(), null); assertThat("testFind_Context_String 4", found, nullValue()); } diff --git a/dspace-api/src/test/java/org/dspace/content/MetadataValueTest.java b/dspace-api/src/test/java/org/dspace/content/MetadataValueTest.java index 10ec8e61965e..4b54433429f3 100644 --- a/dspace-api/src/test/java/org/dspace/content/MetadataValueTest.java +++ b/dspace-api/src/test/java/org/dspace/content/MetadataValueTest.java @@ -62,19 +62,25 @@ public class MetadataValueTest extends AbstractUnitTest { /** * Element of the metadata element */ - private String element = "contributor"; + private final String element = "contributor"; /** * Qualifier of the metadata element */ - private String qualifier = "author"; - - private MetadataFieldService metadataFieldService = ContentServiceFactory.getInstance().getMetadataFieldService(); - private MetadataValueService metadataValueService = ContentServiceFactory.getInstance().getMetadataValueService(); - protected CommunityService communityService = ContentServiceFactory.getInstance().getCommunityService(); - protected CollectionService collectionService = ContentServiceFactory.getInstance().getCollectionService(); - protected WorkspaceItemService workspaceItemService = ContentServiceFactory.getInstance().getWorkspaceItemService(); - protected InstallItemService installItemService = ContentServiceFactory.getInstance().getInstallItemService(); + private final String qualifier = "author"; + + private final MetadataFieldService metadataFieldService + = ContentServiceFactory.getInstance().getMetadataFieldService(); + private final MetadataValueService metadataValueService + = ContentServiceFactory.getInstance().getMetadataValueService(); + protected CommunityService communityService + = ContentServiceFactory.getInstance().getCommunityService(); + protected CollectionService collectionService + = ContentServiceFactory.getInstance().getCollectionService(); + protected WorkspaceItemService workspaceItemService + = ContentServiceFactory.getInstance().getWorkspaceItemService(); + protected InstallItemService installItemService + = ContentServiceFactory.getInstance().getInstallItemService(); /** * This method will be run before every test as per @Before. It will @@ -94,7 +100,7 @@ public void init() { WorkspaceItem workspaceItem = workspaceItemService.create(context, collection, false); this.it = installItemService.installItem(context, workspaceItem); - this.mf = metadataFieldService.findByElement(context, + this.mf = metadataFieldService.findByElement(context.getSession(), MetadataSchemaEnum.DC.getName(), element, qualifier); this.mv = metadataValueService.create(context, it, mf); context.restoreAuthSystemState(); @@ -264,7 +270,7 @@ public void testCreate() throws Exception { public void testFind() throws Exception { metadataValueService.create(context, it, mf); int id = mv.getID(); - MetadataValue found = metadataValueService.find(context, id); + MetadataValue found = metadataValueService.find(context.getSession(), id); assertThat("testFind 0", found, notNullValue()); assertThat("testFind 1", found.getID(), equalTo(id)); } @@ -275,7 +281,7 @@ public void testFind() throws Exception { @Test public void testFindByField() throws Exception { metadataValueService.create(context, it, mf); - List found = metadataValueService.findByField(context, mf); + List found = metadataValueService.findByField(context.getSession(), mf); assertThat("testFind 0", found, notNullValue()); assertTrue("testFind 1", found.size() >= 1); } diff --git a/dspace-api/src/test/java/org/dspace/content/RelationshipServiceImplTest.java b/dspace-api/src/test/java/org/dspace/content/RelationshipServiceImplTest.java index 9a4cf3d587f8..2b0462e9fac7 100644 --- a/dspace-api/src/test/java/org/dspace/content/RelationshipServiceImplTest.java +++ b/dspace-api/src/test/java/org/dspace/content/RelationshipServiceImplTest.java @@ -87,7 +87,7 @@ public void testFindAll() throws Exception { // Mock DAO to return our mocked relationshipsList when(relationshipDAO.findAll(context.getSession(), Relationship.class, -1, -1)).thenReturn(relationshipsList); // The reported Relationship(s) should match our relationshipsList - assertEquals("TestFindAll 0", relationshipsList, relationshipService.findAll(context)); + assertEquals("TestFindAll 0", relationshipsList, relationshipService.findAll(context.getSession())); } @Test @@ -115,9 +115,10 @@ public void testFindByItem() throws Exception { relationshipTest.add(getRelationship(cindy, hank, hasFather,0,0)); relationshipTest.add(getRelationship(fred, cindy, hasMother,0,0)); relationshipTest.add(getRelationship(bob, cindy, hasMother,1,0)); - when(relationshipService.findByItem(context, cindy, -1, -1, false)).thenReturn(relationshipTest); + when(relationshipService.findByItem(context.getSession(), cindy, -1, -1, false)) + .thenReturn(relationshipTest); - List results = relationshipService.findByItem(context, cindy); + List results = relationshipService.findByItem(context.getSession(), cindy); assertEquals("TestFindByItem 0", relationshipTest, results); for (int i = 0; i < relationshipTest.size(); i++) { assertEquals("TestFindByItem sort integrity", relationshipTest.get(i), results.get(i)); @@ -133,10 +134,10 @@ public void testFindByItemAndRelationshipType() throws Exception { // The Relationship(s) reported should match our our relList, given left place as true assertEquals("TestFindByItemAndRelationshipType 0", relList, - relationshipService.findByItemAndRelationshipType(context, item, testRel, true)); + relationshipService.findByItemAndRelationshipType(context.getSession(), item, testRel, true)); // The Relationship(s) reported should match our our relList assertEquals("TestFindByItemAndRelationshipType 1", relList, - relationshipService.findByItemAndRelationshipType(context, item, testRel)); + relationshipService.findByItemAndRelationshipType(context.getSession(), item, testRel)); } @Test @@ -147,7 +148,7 @@ public void testFindByRelationshipType() throws Exception { // The Relationship(s) reported should match our our relList assertEquals("TestFindByRelationshipType 0", relList, - relationshipService.findByRelationshipType(context, testRel)); + relationshipService.findByRelationshipType(context.getSession(), testRel)); } @Test @@ -196,14 +197,14 @@ public void testCreate() throws Exception { .isUseForPlaceTrueForRelationshipType(relationship.getRelationshipType(), true)).thenReturn(true); when(authorizeService .authorizeActionBoolean(context, relationship.getLeftItem(), Constants.WRITE)).thenReturn(true); - when(relationshipService.findByItem(context,leftItem)).thenReturn(leftTypelist); - when(relationshipService.findByItem(context,rightItem)).thenReturn(rightTypelist); + when(relationshipService.findByItem(context.getSession(),leftItem)).thenReturn(leftTypelist); + when(relationshipService.findByItem(context.getSession(),rightItem)).thenReturn(rightTypelist); when(leftEntityType.getLabel()).thenReturn("Entitylabel"); when(rightEntityType.getLabel()).thenReturn("Entitylabel"); when(metVal.getValue()).thenReturn("Entitylabel"); when(metsList.get(0).getValue()).thenReturn("Entitylabel"); when(relationshipService - .findByItemAndRelationshipType(context, leftItem, testRel, true)).thenReturn(leftTypelist); + .findByItemAndRelationshipType(context.getSession(), leftItem, testRel, true)).thenReturn(leftTypelist); when(itemService.getMetadata(leftItem, "dspace", "entity", "type", Item.ANY, false)).thenReturn(metsList); when(itemService.getMetadata(rightItem, "dspace", "entity", "type", Item.ANY, false)).thenReturn(metsList); when(relationshipDAO.create(any(), any())).thenReturn(relationship); @@ -244,11 +245,11 @@ public void testDelete() throws Exception { .thenReturn(true); when(authorizeService.authorizeActionBoolean(context, relationship.getLeftItem(), Constants.WRITE)) .thenReturn(true); - when(relationshipService.findByItem(context,leftItem)).thenReturn(leftTypelist); - when(relationshipService.findByItem(context,rightItem)).thenReturn(rightTypelist); - when(relationshipService.findByItemAndRelationshipType(context, leftItem, testRel, true)) + when(relationshipService.findByItem(context.getSession(),leftItem)).thenReturn(leftTypelist); + when(relationshipService.findByItem(context.getSession(),rightItem)).thenReturn(rightTypelist); + when(relationshipService.findByItemAndRelationshipType(context.getSession(), leftItem, testRel, true)) .thenReturn(leftTypelist); - when(relationshipService.findByItemAndRelationshipType(context, rightItem, testRel, false)) + when(relationshipService.findByItemAndRelationshipType(context.getSession(), rightItem, testRel, false)) .thenReturn(rightTypelist); when(relationshipService.find(context,0)).thenReturn(relationship); diff --git a/dspace-api/src/test/java/org/dspace/content/RelationshipServiceImplVersioningTest.java b/dspace-api/src/test/java/org/dspace/content/RelationshipServiceImplVersioningTest.java index 3c573c235366..b40d67ca418a 100644 --- a/dspace-api/src/test/java/org/dspace/content/RelationshipServiceImplVersioningTest.java +++ b/dspace-api/src/test/java/org/dspace/content/RelationshipServiceImplVersioningTest.java @@ -395,120 +395,138 @@ public void testExcludeNonLatestBoth() throws Exception { assertRelationship( relationship1, - relationshipService.findByItem(context, publication1) + relationshipService.findByItem(context.getSession(), publication1) ); assertRelationship( relationship1, - relationshipService.findByItem(context, person1) + relationshipService.findByItem(context.getSession(), person1) ); assertRelationship( relationship1, - relationshipService.findByItem(context, publication1, -1, -1, false) + relationshipService.findByItem(context.getSession(), publication1, -1, -1, false) ); assertRelationship( relationship1, - relationshipService.findByItem(context, person1, -1, -1, false) + relationshipService.findByItem(context.getSession(), person1, -1, -1, false) ); assertRelationship( relationship1, - relationshipService.findByItem(context, publication1, -1, -1, false, false) + relationshipService.findByItem(context.getSession(), publication1, -1, -1, false, false) ); assertRelationship( relationship1, - relationshipService.findByItem(context, publication1, -1, -1, false, true) + relationshipService.findByItem(context.getSession(), publication1, -1, -1, false, true) ); assertRelationship( relationship1, - relationshipService.findByItem(context, person1, -1, -1, false, false) + relationshipService.findByItem(context.getSession(), person1, -1, -1, false, false) ); assertRelationship( relationship1, - relationshipService.findByItem(context, person1, -1, -1, false, true) + relationshipService.findByItem(context.getSession(), person1, -1, -1, false, true) ); assertRelationship( relationship1, - relationshipService.findByItemAndRelationshipType(context, publication1, relationshipType) + relationshipService.findByItemAndRelationshipType(context.getSession(), publication1, relationshipType) ); assertRelationship( relationship1, - relationshipService.findByItemAndRelationshipType(context, person1, relationshipType) + relationshipService.findByItemAndRelationshipType(context.getSession(), person1, relationshipType) ); assertRelationship( relationship1, - relationshipService.findByItemAndRelationshipType(context, publication1, relationshipType, -1, -1) + relationshipService.findByItemAndRelationshipType(context.getSession(), + publication1, relationshipType, -1, -1) ); assertRelationship( relationship1, - relationshipService.findByItemAndRelationshipType(context, person1, relationshipType, -1, -1) + relationshipService.findByItemAndRelationshipType(context.getSession(), + person1, relationshipType, -1, -1) ); assertRelationship( relationship1, - relationshipService.findByItemAndRelationshipType(context, publication1, relationshipType, -1, -1, false) + relationshipService.findByItemAndRelationshipType(context.getSession(), + publication1, relationshipType, -1, -1, false) ); assertRelationship( relationship1, - relationshipService.findByItemAndRelationshipType(context, publication1, relationshipType, -1, -1, true) + relationshipService.findByItemAndRelationshipType(context.getSession(), + publication1, relationshipType, -1, -1, true) ); assertRelationship( relationship1, - relationshipService.findByItemAndRelationshipType(context, person1, relationshipType, -1, -1, false) + relationshipService.findByItemAndRelationshipType(context.getSession(), + person1, relationshipType, -1, -1, false) ); assertRelationship( relationship1, - relationshipService.findByItemAndRelationshipType(context, person1, relationshipType, -1, -1, true) + relationshipService.findByItemAndRelationshipType(context.getSession(), + person1, relationshipType, -1, -1, true) ); assertNoRelationship( - relationshipService.findByItemAndRelationshipType(context, publication1, relationshipType, false, -1, -1) + relationshipService.findByItemAndRelationshipType(context.getSession(), + publication1, relationshipType, false, -1, -1) ); assertRelationship( relationship1, - relationshipService.findByItemAndRelationshipType(context, publication1, relationshipType, true, -1, -1) + relationshipService.findByItemAndRelationshipType(context.getSession(), + publication1, relationshipType, true, -1, -1) ); assertRelationship( relationship1, - relationshipService.findByItemAndRelationshipType(context, person1, relationshipType, false, -1, -1) + relationshipService.findByItemAndRelationshipType(context.getSession(), + person1, relationshipType, false, -1, -1) ); assertNoRelationship( - relationshipService.findByItemAndRelationshipType(context, person1, relationshipType, true, -1, -1) + relationshipService.findByItemAndRelationshipType(context.getSession(), + person1, relationshipType, true, -1, -1) ); assertNoRelationship( relationshipService - .findByItemAndRelationshipType(context, publication1, relationshipType, false, -1, -1, false) + .findByItemAndRelationshipType(context.getSession(), + publication1, relationshipType, false, -1, -1, false) ); assertNoRelationship( relationshipService - .findByItemAndRelationshipType(context, publication1, relationshipType, false, -1, -1, true) + .findByItemAndRelationshipType(context.getSession(), + publication1, relationshipType, false, -1, -1, true) ); assertRelationship( relationship1, relationshipService - .findByItemAndRelationshipType(context, publication1, relationshipType, true, -1, -1, false) + .findByItemAndRelationshipType(context.getSession(), + publication1, relationshipType, true, -1, -1, false) ); assertRelationship( relationship1, relationshipService - .findByItemAndRelationshipType(context, publication1, relationshipType, true, -1, -1, true) + .findByItemAndRelationshipType(context.getSession(), + publication1, relationshipType, true, -1, -1, true) ); assertRelationship( relationship1, - relationshipService.findByItemAndRelationshipType(context, person1, relationshipType, false, -1, -1, false) + relationshipService.findByItemAndRelationshipType(context.getSession(), + person1, relationshipType, false, -1, -1, false) ); assertRelationship( relationship1, - relationshipService.findByItemAndRelationshipType(context, person1, relationshipType, false, -1, -1, true) + relationshipService.findByItemAndRelationshipType(context.getSession(), + person1, relationshipType, false, -1, -1, true) ); assertNoRelationship( - relationshipService.findByItemAndRelationshipType(context, person1, relationshipType, true, -1, -1, false) + relationshipService.findByItemAndRelationshipType(context.getSession(), + person1, relationshipType, true, -1, -1, false) ); assertNoRelationship( - relationshipService.findByItemAndRelationshipType(context, person1, relationshipType, true, -1, -1, true) + relationshipService.findByItemAndRelationshipType(context.getSession(), + person1, relationshipType, true, -1, -1, true) ); assertEquals(1, relationshipService.countByItem(context, publication1)); @@ -524,41 +542,53 @@ public void testExcludeNonLatestBoth() throws Exception { assertEquals(1, relationshipService.countByItem(context, person1, true, true)); assertEquals( - 0, relationshipService.countByItemAndRelationshipType(context, publication1, relationshipType, false) + 0, relationshipService.countByItemAndRelationshipType(context, + publication1, relationshipType, false) ); assertEquals( - 1, relationshipService.countByItemAndRelationshipType(context, publication1, relationshipType, true) + 1, relationshipService.countByItemAndRelationshipType(context, + publication1, relationshipType, true) ); assertEquals( - 1, relationshipService.countByItemAndRelationshipType(context, person1, relationshipType, false) + 1, relationshipService.countByItemAndRelationshipType(context, + person1, relationshipType, false) ); assertEquals( - 0, relationshipService.countByItemAndRelationshipType(context, person1, relationshipType, true) + 0, relationshipService.countByItemAndRelationshipType(context, + person1, relationshipType, true) ); assertEquals( - 0, relationshipService.countByItemAndRelationshipType(context, publication1, relationshipType, false, false) + 0, relationshipService.countByItemAndRelationshipType(context, + publication1, relationshipType, false, false) ); assertEquals( - 0, relationshipService.countByItemAndRelationshipType(context, publication1, relationshipType, false, true) + 0, relationshipService.countByItemAndRelationshipType(context, + publication1, relationshipType, false, true) ); assertEquals( - 1, relationshipService.countByItemAndRelationshipType(context, publication1, relationshipType, true, false) + 1, relationshipService.countByItemAndRelationshipType(context, + publication1, relationshipType, true, false) ); assertEquals( - 1, relationshipService.countByItemAndRelationshipType(context, publication1, relationshipType, true, true) + 1, relationshipService.countByItemAndRelationshipType(context, + publication1, relationshipType, true, true) ); assertEquals( - 1, relationshipService.countByItemAndRelationshipType(context, person1, relationshipType, false, false) + 1, relationshipService.countByItemAndRelationshipType(context, + person1, relationshipType, false, false) ); assertEquals( - 1, relationshipService.countByItemAndRelationshipType(context, person1, relationshipType, false, true) + 1, relationshipService.countByItemAndRelationshipType(context, + person1, relationshipType, false, true) ); assertEquals( - 0, relationshipService.countByItemAndRelationshipType(context, person1, relationshipType, true, false) + 0, relationshipService.countByItemAndRelationshipType(context, + person1, relationshipType, true, false) ); assertEquals( - 0, relationshipService.countByItemAndRelationshipType(context, person1, relationshipType, true, true) + 0, relationshipService.countByItemAndRelationshipType(context, + person1, relationshipType, true, true) ); } @@ -702,113 +732,133 @@ public void testExcludeNonLatestLeftOnly() throws Exception { ); assertNoRelationship( - relationshipService.findByItem(context, publication1) + relationshipService.findByItem(context.getSession(), publication1) ); assertRelationship( relationship1, - relationshipService.findByItem(context, person1) + relationshipService.findByItem(context.getSession(), person1) ); assertNoRelationship( - relationshipService.findByItem(context, publication1, -1, -1, false) + relationshipService.findByItem(context.getSession(), publication1, -1, -1, false) ); assertRelationship( relationship1, - relationshipService.findByItem(context, person1, -1, -1, false) + relationshipService.findByItem(context.getSession(), person1, -1, -1, false) ); assertRelationship( relationship1, - relationshipService.findByItem(context, publication1, -1, -1, false, false) + relationshipService.findByItem(context.getSession(), publication1, -1, -1, false, false) ); assertNoRelationship( - relationshipService.findByItem(context, publication1, -1, -1, false, true) + relationshipService.findByItem(context.getSession(), publication1, -1, -1, false, true) ); assertRelationship( relationship1, - relationshipService.findByItem(context, person1, -1, -1, false, false) + relationshipService.findByItem(context.getSession(), person1, -1, -1, false, false) ); assertRelationship( relationship1, - relationshipService.findByItem(context, person1, -1, -1, false, true) + relationshipService.findByItem(context.getSession(), person1, -1, -1, false, true) ); assertNoRelationship( - relationshipService.findByItemAndRelationshipType(context, publication1, relationshipType) + relationshipService.findByItemAndRelationshipType(context.getSession(), + publication1, relationshipType) ); assertRelationship( relationship1, - relationshipService.findByItemAndRelationshipType(context, person1, relationshipType) + relationshipService.findByItemAndRelationshipType(context.getSession(), + person1, relationshipType) ); assertNoRelationship( - relationshipService.findByItemAndRelationshipType(context, publication1, relationshipType, -1, -1) + relationshipService.findByItemAndRelationshipType(context.getSession(), + publication1, relationshipType, -1, -1) ); assertRelationship( relationship1, - relationshipService.findByItemAndRelationshipType(context, person1, relationshipType, -1, -1) + relationshipService.findByItemAndRelationshipType(context.getSession(), + person1, relationshipType, -1, -1) ); assertRelationship( relationship1, - relationshipService.findByItemAndRelationshipType(context, publication1, relationshipType, -1, -1, false) + relationshipService.findByItemAndRelationshipType(context.getSession(), + publication1, relationshipType, -1, -1, false) ); assertNoRelationship( - relationshipService.findByItemAndRelationshipType(context, publication1, relationshipType, -1, -1, true) + relationshipService.findByItemAndRelationshipType(context.getSession(), + publication1, relationshipType, -1, -1, true) ); assertRelationship( relationship1, - relationshipService.findByItemAndRelationshipType(context, person1, relationshipType, -1, -1, false) + relationshipService.findByItemAndRelationshipType(context.getSession(), + person1, relationshipType, -1, -1, false) ); assertRelationship( relationship1, - relationshipService.findByItemAndRelationshipType(context, person1, relationshipType, -1, -1, true) + relationshipService.findByItemAndRelationshipType(context.getSession(), + person1, relationshipType, -1, -1, true) ); assertNoRelationship( - relationshipService.findByItemAndRelationshipType(context, publication1, relationshipType, false, -1, -1) + relationshipService.findByItemAndRelationshipType(context.getSession(), + publication1, relationshipType, false, -1, -1) ); assertNoRelationship( - relationshipService.findByItemAndRelationshipType(context, publication1, relationshipType, true, -1, -1) + relationshipService.findByItemAndRelationshipType(context.getSession(), + publication1, relationshipType, true, -1, -1) ); assertRelationship( relationship1, - relationshipService.findByItemAndRelationshipType(context, person1, relationshipType, false, -1, -1) + relationshipService.findByItemAndRelationshipType(context.getSession(), + person1, relationshipType, false, -1, -1) ); assertNoRelationship( - relationshipService.findByItemAndRelationshipType(context, person1, relationshipType, true, -1, -1) + relationshipService.findByItemAndRelationshipType(context.getSession(), + person1, relationshipType, true, -1, -1) ); assertNoRelationship( relationshipService - .findByItemAndRelationshipType(context, publication1, relationshipType, false, -1, -1, false) + .findByItemAndRelationshipType(context.getSession(), publication1, + relationshipType, false, -1, -1, false) ); assertNoRelationship( relationshipService - .findByItemAndRelationshipType(context, publication1, relationshipType, false, -1, -1, true) + .findByItemAndRelationshipType(context.getSession(), publication1, + relationshipType, false, -1, -1, true) ); assertRelationship( relationship1, relationshipService - .findByItemAndRelationshipType(context, publication1, relationshipType, true, -1, -1, false) + .findByItemAndRelationshipType(context.getSession(), publication1, + relationshipType, true, -1, -1, false) ); assertNoRelationship( relationshipService - .findByItemAndRelationshipType(context, publication1, relationshipType, true, -1, -1, true) + .findByItemAndRelationshipType(context.getSession(), publication1, + relationshipType, true, -1, -1, true) ); assertRelationship( relationship1, - relationshipService.findByItemAndRelationshipType(context, person1, relationshipType, false, -1, -1, false) + relationshipService.findByItemAndRelationshipType(context.getSession(), + person1, relationshipType, false, -1, -1, false) ); assertRelationship( relationship1, - relationshipService.findByItemAndRelationshipType(context, person1, relationshipType, false, -1, -1, true) + relationshipService.findByItemAndRelationshipType(context.getSession(), + person1, relationshipType, false, -1, -1, true) ); assertNoRelationship( - relationshipService.findByItemAndRelationshipType(context, person1, relationshipType, true, -1, -1, false) + relationshipService.findByItemAndRelationshipType(context.getSession(), + person1, relationshipType, true, -1, -1, false) ); assertNoRelationship( - relationshipService.findByItemAndRelationshipType(context, person1, relationshipType, true, -1, -1, true) + relationshipService.findByItemAndRelationshipType(context.getSession(), + person1, relationshipType, true, -1, -1, true) ); assertEquals(0, relationshipService.countByItem(context, publication1)); @@ -1003,112 +1053,132 @@ public void testExcludeNonLatestRightOnly() throws Exception { assertRelationship( relationship1, - relationshipService.findByItem(context, publication1) + relationshipService.findByItem(context.getSession(), publication1) ); assertNoRelationship( - relationshipService.findByItem(context, person1) + relationshipService.findByItem(context.getSession(), person1) ); assertRelationship( relationship1, - relationshipService.findByItem(context, publication1, -1, -1, false) + relationshipService.findByItem(context.getSession(), publication1, -1, -1, false) ); assertNoRelationship( - relationshipService.findByItem(context, person1, -1, -1, false) + relationshipService.findByItem(context.getSession(), person1, -1, -1, false) ); assertRelationship( relationship1, - relationshipService.findByItem(context, publication1, -1, -1, false, false) + relationshipService.findByItem(context.getSession(), publication1, -1, -1, false, false) ); assertRelationship( relationship1, - relationshipService.findByItem(context, publication1, -1, -1, false, true) + relationshipService.findByItem(context.getSession(), publication1, -1, -1, false, true) ); assertRelationship( relationship1, - relationshipService.findByItem(context, person1, -1, -1, false, false) + relationshipService.findByItem(context.getSession(), person1, -1, -1, false, false) ); assertNoRelationship( - relationshipService.findByItem(context, person1, -1, -1, false, true) + relationshipService.findByItem(context.getSession(), person1, -1, -1, false, true) ); assertRelationship( relationship1, - relationshipService.findByItemAndRelationshipType(context, publication1, relationshipType) + relationshipService.findByItemAndRelationshipType(context.getSession(), + publication1, relationshipType) ); assertNoRelationship( - relationshipService.findByItemAndRelationshipType(context, person1, relationshipType) + relationshipService.findByItemAndRelationshipType(context.getSession(), + person1, relationshipType) ); assertRelationship( relationship1, - relationshipService.findByItemAndRelationshipType(context, publication1, relationshipType, -1, -1) + relationshipService.findByItemAndRelationshipType(context.getSession(), + publication1, relationshipType, -1, -1) ); assertNoRelationship( - relationshipService.findByItemAndRelationshipType(context, person1, relationshipType, -1, -1) + relationshipService.findByItemAndRelationshipType(context.getSession(), + person1, relationshipType, -1, -1) ); assertRelationship( relationship1, - relationshipService.findByItemAndRelationshipType(context, publication1, relationshipType, -1, -1, false) + relationshipService.findByItemAndRelationshipType(context.getSession(), + publication1, relationshipType, -1, -1, false) ); assertRelationship( relationship1, - relationshipService.findByItemAndRelationshipType(context, publication1, relationshipType, -1, -1, true) + relationshipService.findByItemAndRelationshipType(context.getSession(), + publication1, relationshipType, -1, -1, true) ); assertRelationship( relationship1, - relationshipService.findByItemAndRelationshipType(context, person1, relationshipType, -1, -1, false) + relationshipService.findByItemAndRelationshipType(context.getSession(), + person1, relationshipType, -1, -1, false) ); assertNoRelationship( - relationshipService.findByItemAndRelationshipType(context, person1, relationshipType, -1, -1, true) + relationshipService.findByItemAndRelationshipType(context.getSession(), + person1, relationshipType, -1, -1, true) ); assertNoRelationship( - relationshipService.findByItemAndRelationshipType(context, publication1, relationshipType, false, -1, -1) + relationshipService.findByItemAndRelationshipType(context.getSession(), + publication1, relationshipType, false, -1, -1) ); assertRelationship( relationship1, - relationshipService.findByItemAndRelationshipType(context, publication1, relationshipType, true, -1, -1) + relationshipService.findByItemAndRelationshipType(context.getSession(), + publication1, relationshipType, true, -1, -1) ); assertNoRelationship( - relationshipService.findByItemAndRelationshipType(context, person1, relationshipType, false, -1, -1) + relationshipService.findByItemAndRelationshipType(context.getSession(), + person1, relationshipType, false, -1, -1) ); assertNoRelationship( - relationshipService.findByItemAndRelationshipType(context, person1, relationshipType, true, -1, -1) + relationshipService.findByItemAndRelationshipType(context.getSession(), + person1, relationshipType, true, -1, -1) ); assertNoRelationship( relationshipService - .findByItemAndRelationshipType(context, publication1, relationshipType, false, -1, -1, false) + .findByItemAndRelationshipType(context.getSession(), + publication1, relationshipType, false, -1, -1, false) ); assertNoRelationship( relationshipService - .findByItemAndRelationshipType(context, publication1, relationshipType, false, -1, -1, true) + .findByItemAndRelationshipType(context.getSession(), + publication1, relationshipType, false, -1, -1, true) ); assertRelationship( relationship1, relationshipService - .findByItemAndRelationshipType(context, publication1, relationshipType, true, -1, -1, false) + .findByItemAndRelationshipType(context.getSession(), + publication1, relationshipType, true, -1, -1, false) ); assertRelationship( relationship1, relationshipService - .findByItemAndRelationshipType(context, publication1, relationshipType, true, -1, -1, true) + .findByItemAndRelationshipType(context.getSession(), + publication1, relationshipType, true, -1, -1, true) ); assertRelationship( relationship1, - relationshipService.findByItemAndRelationshipType(context, person1, relationshipType, false, -1, -1, false) + relationshipService.findByItemAndRelationshipType(context.getSession(), + person1, relationshipType, false, -1, -1, false) ); assertNoRelationship( - relationshipService.findByItemAndRelationshipType(context, person1, relationshipType, false, -1, -1, true) + relationshipService.findByItemAndRelationshipType(context.getSession(), + person1, relationshipType, false, -1, -1, true) ); assertNoRelationship( - relationshipService.findByItemAndRelationshipType(context, person1, relationshipType, true, -1, -1, false) + relationshipService.findByItemAndRelationshipType(context.getSession(), + person1, relationshipType, true, -1, -1, false) ); assertNoRelationship( - relationshipService.findByItemAndRelationshipType(context, person1, relationshipType, true, -1, -1, true) + relationshipService.findByItemAndRelationshipType(context.getSession(), + person1, relationshipType, true, -1, -1, true) ); assertEquals(1, relationshipService.countByItem(context, publication1)); diff --git a/dspace-api/src/test/java/org/dspace/content/SiteTest.java b/dspace-api/src/test/java/org/dspace/content/SiteTest.java index 3312d047aacc..ca3d2cb79192 100644 --- a/dspace-api/src/test/java/org/dspace/content/SiteTest.java +++ b/dspace-api/src/test/java/org/dspace/content/SiteTest.java @@ -66,7 +66,7 @@ public void init() { try { //we have to create a new community in the database context.turnOffAuthorisationSystem(); - this.s = siteService.findSite(context); + this.s = siteService.findSite(context.getSession()); //we need to commit the changes so we don't block the table for testing context.restoreAuthSystemState(); } catch (SQLException ex) { @@ -129,7 +129,7 @@ public void testGetSiteHandle() { */ @Test public void testSiteFind() throws Exception { - Site found = siteService.findSite(context); + Site found = siteService.findSite(context.getSession()); assertThat("testSiteFind 0", found, notNullValue()); assertThat("testSiteFind 1", found, equalTo(s)); } diff --git a/dspace-api/src/test/java/org/dspace/content/VersioningTest.java b/dspace-api/src/test/java/org/dspace/content/VersioningTest.java index c23fe7831967..4ec9a7b07baf 100644 --- a/dspace-api/src/test/java/org/dspace/content/VersioningTest.java +++ b/dspace-api/src/test/java/org/dspace/content/VersioningTest.java @@ -50,7 +50,7 @@ public class VersioningTest extends AbstractUnitTest { private Item originalItem; private Item versionedItem; - private String summary = "Unit test version"; + private final String summary = "Unit test version"; protected CommunityService communityService = ContentServiceFactory.getInstance().getCommunityService(); protected CollectionService collectionService = ContentServiceFactory.getInstance().getCollectionService(); protected InstallItemService installItemService = ContentServiceFactory.getInstance().getInstallItemService(); @@ -166,7 +166,7 @@ public void testVersionDelete() throws Exception { context.turnOffAuthorisationSystem(); String handle = versionedItem.getHandle(); versionService.removeVersion(context, versionedItem); - assertThat("Test_version_delete", itemService.find(context, versionedItem.getID()), nullValue()); + assertThat("Test_version_delete", itemService.find(context.getSession(), versionedItem.getID()), nullValue()); assertThat("Test_version_handle_delete", handleService.resolveToObject(context, handle), nullValue()); context.restoreAuthSystemState(); } diff --git a/dspace-api/src/test/java/org/dspace/content/VersioningWithRelationshipsTest.java b/dspace-api/src/test/java/org/dspace/content/VersioningWithRelationshipsTest.java index 528568c4e5fb..baacc3c9ddff 100644 --- a/dspace-api/src/test/java/org/dspace/content/VersioningWithRelationshipsTest.java +++ b/dspace-api/src/test/java/org/dspace/content/VersioningWithRelationshipsTest.java @@ -201,12 +201,13 @@ public void setUp() throws Exception { protected Relationship getRelationship( Item leftItem, RelationshipType relationshipType, Item rightItem ) throws Exception { - List rels = relationshipService.findByRelationshipType(context, relationshipType).stream() - .filter(rel -> leftItem.getID().equals(rel.getLeftItem().getID())) - .filter(rel -> rightItem.getID().equals(rel.getRightItem().getID())) - .collect(Collectors.toList()); + List rels = relationshipService.findByRelationshipType(context.getSession(), relationshipType) + .stream() + .filter(rel -> leftItem.getID().equals(rel.getLeftItem().getID())) + .filter(rel -> rightItem.getID().equals(rel.getRightItem().getID())) + .collect(Collectors.toList()); - if (rels.size() == 0) { + if (rels.isEmpty()) { return null; } @@ -258,7 +259,7 @@ public void test_createNewVersionOfItemOnLeftSideOfRelationships() throws Except ///////////////////////////////////////////////////////// assertThat( - relationshipService.findByItem(context, originalPublication, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), originalPublication, -1, -1, false, false), containsInAnyOrder(List.of( isRel(originalPublication, isAuthorOfPublication, person1, BOTH, 0, 0), isRel(originalPublication, isProjectOfPublication, project1, BOTH, 0, 0), @@ -267,21 +268,21 @@ public void test_createNewVersionOfItemOnLeftSideOfRelationships() throws Except ); assertThat( - relationshipService.findByItem(context, person1, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), person1, -1, -1, false, false), containsInAnyOrder(List.of( isRel(originalPublication, isAuthorOfPublication, person1, BOTH, 0, 0) )) ); assertThat( - relationshipService.findByItem(context, project1, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), project1, -1, -1, false, false), containsInAnyOrder(List.of( isRel(originalPublication, isProjectOfPublication, project1, BOTH, 0, 0) )) ); assertThat( - relationshipService.findByItem(context, orgUnit1, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), orgUnit1, -1, -1, false, false), containsInAnyOrder(List.of( isRel(originalPublication, isOrgUnitOfPublication, orgUnit1, BOTH, 0, 0) )) @@ -300,7 +301,7 @@ public void test_createNewVersionOfItemOnLeftSideOfRelationships() throws Except /////////////////////////////////////////////////////////////////////// assertThat( - relationshipService.findByItem(context, originalPublication, -1, -1, false, true), + relationshipService.findByItem(context.getSession(), originalPublication, -1, -1, false, true), containsInAnyOrder(List.of( isRel(originalPublication, isAuthorOfPublication, person1, BOTH, 0, 0), isRel(originalPublication, isProjectOfPublication, project1, BOTH, 0, 0), @@ -309,28 +310,28 @@ public void test_createNewVersionOfItemOnLeftSideOfRelationships() throws Except ); assertThat( - relationshipService.findByItem(context, person1, -1, -1, false, true), + relationshipService.findByItem(context.getSession(), person1, -1, -1, false, true), containsInAnyOrder(List.of( isRel(originalPublication, isAuthorOfPublication, person1, BOTH, 0, 0) )) ); assertThat( - relationshipService.findByItem(context, project1, -1, -1, false, true), + relationshipService.findByItem(context.getSession(), project1, -1, -1, false, true), containsInAnyOrder(List.of( isRel(originalPublication, isProjectOfPublication, project1, BOTH, 0, 0) )) ); assertThat( - relationshipService.findByItem(context, orgUnit1, -1, -1, false, true), + relationshipService.findByItem(context.getSession(), orgUnit1, -1, -1, false, true), containsInAnyOrder(List.of( isRel(originalPublication, isOrgUnitOfPublication, orgUnit1, BOTH, 0, 0) )) ); assertThat( - relationshipService.findByItem(context, newPublication, -1, -1, false, true), + relationshipService.findByItem(context.getSession(), newPublication, -1, -1, false, true), containsInAnyOrder(List.of( isRel(newPublication, isAuthorOfPublication, person1, RIGHT_ONLY, 0, 0), isRel(newPublication, isProjectOfPublication, project1, RIGHT_ONLY, 0, 0), @@ -343,7 +344,7 @@ public void test_createNewVersionOfItemOnLeftSideOfRelationships() throws Except //////////////////////////////////////////////////////////////////////// assertThat( - relationshipService.findByItem(context, originalPublication, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), originalPublication, -1, -1, false, false), containsInAnyOrder(List.of( isRel(originalPublication, isAuthorOfPublication, person1, BOTH, 0, 0), isRel(originalPublication, isProjectOfPublication, project1, BOTH, 0, 0), @@ -352,7 +353,7 @@ public void test_createNewVersionOfItemOnLeftSideOfRelationships() throws Except ); assertThat( - relationshipService.findByItem(context, person1, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), person1, -1, -1, false, false), containsInAnyOrder(List.of( isRel(originalPublication, isAuthorOfPublication, person1, BOTH, 0, 0), isRel(newPublication, isAuthorOfPublication, person1, RIGHT_ONLY, 0, 0) @@ -360,7 +361,7 @@ public void test_createNewVersionOfItemOnLeftSideOfRelationships() throws Except ); assertThat( - relationshipService.findByItem(context, project1, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), project1, -1, -1, false, false), containsInAnyOrder(List.of( isRel(originalPublication, isProjectOfPublication, project1, BOTH, 0, 0), isRel(newPublication, isProjectOfPublication, project1, RIGHT_ONLY, 0, 0) @@ -368,7 +369,7 @@ public void test_createNewVersionOfItemOnLeftSideOfRelationships() throws Except ); assertThat( - relationshipService.findByItem(context, orgUnit1, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), orgUnit1, -1, -1, false, false), containsInAnyOrder(List.of( isRel(originalPublication, isOrgUnitOfPublication, orgUnit1, BOTH, 0, 0), isRel(newPublication, isOrgUnitOfPublication, orgUnit1, RIGHT_ONLY, 0, 0) @@ -376,7 +377,7 @@ public void test_createNewVersionOfItemOnLeftSideOfRelationships() throws Except ); assertThat( - relationshipService.findByItem(context, newPublication, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), newPublication, -1, -1, false, false), containsInAnyOrder(List.of( isRel(newPublication, isAuthorOfPublication, person1, RIGHT_ONLY, 0, 0), isRel(newPublication, isProjectOfPublication, project1, RIGHT_ONLY, 0, 0), @@ -397,7 +398,7 @@ public void test_createNewVersionOfItemOnLeftSideOfRelationships() throws Except /////////////////////////////////////////////////////////////////////// assertThat( - relationshipService.findByItem(context, originalPublication, -1, -1, false, true), + relationshipService.findByItem(context.getSession(), originalPublication, -1, -1, false, true), containsInAnyOrder(List.of( isRel(originalPublication, isAuthorOfPublication, person1, RIGHT_ONLY, 0, 0), isRel(originalPublication, isProjectOfPublication, project1, RIGHT_ONLY, 0, 0), @@ -406,28 +407,28 @@ public void test_createNewVersionOfItemOnLeftSideOfRelationships() throws Except ); assertThat( - relationshipService.findByItem(context, person1, -1, -1, false, true), + relationshipService.findByItem(context.getSession(), person1, -1, -1, false, true), containsInAnyOrder(List.of( isRel(newPublication, isAuthorOfPublication, person1, BOTH, 0, 0) )) ); assertThat( - relationshipService.findByItem(context, project1, -1, -1, false, true), + relationshipService.findByItem(context.getSession(), project1, -1, -1, false, true), containsInAnyOrder(List.of( isRel(newPublication, isProjectOfPublication, project1, BOTH, 0, 0) )) ); assertThat( - relationshipService.findByItem(context, orgUnit1, -1, -1, false, true), + relationshipService.findByItem(context.getSession(), orgUnit1, -1, -1, false, true), containsInAnyOrder(List.of( isRel(newPublication, isOrgUnitOfPublication, orgUnit1, BOTH, 0, 0) )) ); assertThat( - relationshipService.findByItem(context, newPublication, -1, -1, false, true), + relationshipService.findByItem(context.getSession(), newPublication, -1, -1, false, true), containsInAnyOrder(List.of( isRel(newPublication, isAuthorOfPublication, person1, BOTH, 0, 0), isRel(newPublication, isProjectOfPublication, project1, BOTH, 0, 0), @@ -440,7 +441,7 @@ public void test_createNewVersionOfItemOnLeftSideOfRelationships() throws Except //////////////////////////////////////////////////////////////////////// assertThat( - relationshipService.findByItem(context, originalPublication, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), originalPublication, -1, -1, false, false), containsInAnyOrder(List.of( isRel(originalPublication, isAuthorOfPublication, person1, RIGHT_ONLY, 0, 0), isRel(originalPublication, isProjectOfPublication, project1, RIGHT_ONLY, 0, 0), @@ -449,7 +450,7 @@ public void test_createNewVersionOfItemOnLeftSideOfRelationships() throws Except ); assertThat( - relationshipService.findByItem(context, person1, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), person1, -1, -1, false, false), containsInAnyOrder(List.of( isRel(originalPublication, isAuthorOfPublication, person1, RIGHT_ONLY, 0, 0), isRel(newPublication, isAuthorOfPublication, person1, BOTH, 0, 0) @@ -457,7 +458,7 @@ public void test_createNewVersionOfItemOnLeftSideOfRelationships() throws Except ); assertThat( - relationshipService.findByItem(context, project1, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), project1, -1, -1, false, false), containsInAnyOrder(List.of( isRel(originalPublication, isProjectOfPublication, project1, RIGHT_ONLY, 0, 0), isRel(newPublication, isProjectOfPublication, project1, BOTH, 0, 0) @@ -465,7 +466,7 @@ public void test_createNewVersionOfItemOnLeftSideOfRelationships() throws Except ); assertThat( - relationshipService.findByItem(context, orgUnit1, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), orgUnit1, -1, -1, false, false), containsInAnyOrder(List.of( isRel(originalPublication, isOrgUnitOfPublication, orgUnit1, RIGHT_ONLY, 0, 0), isRel(newPublication, isOrgUnitOfPublication, orgUnit1, BOTH, 0, 0) @@ -473,7 +474,7 @@ public void test_createNewVersionOfItemOnLeftSideOfRelationships() throws Except ); assertThat( - relationshipService.findByItem(context, newPublication, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), newPublication, -1, -1, false, false), containsInAnyOrder(List.of( isRel(newPublication, isAuthorOfPublication, person1, BOTH, 0, 0), isRel(newPublication, isProjectOfPublication, project1, BOTH, 0, 0), @@ -486,7 +487,7 @@ public void test_createNewVersionOfItemOnLeftSideOfRelationships() throws Except ////////////// // need to manually delete all relationships to avoid SQL constraint violation exception - List relationships = relationshipService.findAll(context); + List relationships = relationshipService.findAll(context.getSession()); for (Relationship relationship : relationships) { relationshipService.delete(context, relationship); } @@ -534,7 +535,7 @@ public void test_createNewVersionOfItemAndModifyRelationships() throws Exception ///////////////////////////////////////////////////////// assertThat( - relationshipService.findByItem(context, originalPublication, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), originalPublication, -1, -1, false, false), containsInAnyOrder(List.of( isRel(originalPublication, isAuthorOfPublication, person1, BOTH, 0, 0), isRel(originalPublication, isProjectOfPublication, project1, BOTH, 0, 0), @@ -543,21 +544,21 @@ public void test_createNewVersionOfItemAndModifyRelationships() throws Exception ); assertThat( - relationshipService.findByItem(context, person1, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), person1, -1, -1, false, false), containsInAnyOrder(List.of( isRel(originalPublication, isAuthorOfPublication, person1, BOTH, 0, 0) )) ); assertThat( - relationshipService.findByItem(context, project1, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), project1, -1, -1, false, false), containsInAnyOrder(List.of( isRel(originalPublication, isProjectOfPublication, project1, BOTH, 0, 0) )) ); assertThat( - relationshipService.findByItem(context, orgUnit1, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), orgUnit1, -1, -1, false, false), containsInAnyOrder(List.of( isRel(originalPublication, isOrgUnitOfPublication, orgUnit1, BOTH, 0, 0) )) @@ -587,13 +588,13 @@ public void test_createNewVersionOfItemAndModifyRelationships() throws Exception // on new item, remove relationship with project 1 List newProjectRels = relationshipService - .findByItemAndRelationshipType(context, newPublication, isProjectOfPublication); + .findByItemAndRelationshipType(context.getSession(), newPublication, isProjectOfPublication); assertEquals(1, newProjectRels.size()); relationshipService.delete(context, newProjectRels.get(0)); // on new item remove relationship with org unit 1 List newOrgUnitRels = relationshipService - .findByItemAndRelationshipType(context, newPublication, isOrgUnitOfPublication); + .findByItemAndRelationshipType(context.getSession(), newPublication, isOrgUnitOfPublication); assertEquals(1, newOrgUnitRels.size()); relationshipService.delete(context, newOrgUnitRels.get(0)); @@ -608,7 +609,7 @@ public void test_createNewVersionOfItemAndModifyRelationships() throws Exception /////////////////////////////////////////////////////////////////////// assertThat( - relationshipService.findByItem(context, originalPublication, -1, -1, false, true), + relationshipService.findByItem(context.getSession(), originalPublication, -1, -1, false, true), containsInAnyOrder(List.of( isRel(originalPublication, isAuthorOfPublication, person1, BOTH, 0, 0), isRel(originalPublication, isProjectOfPublication, project1, BOTH, 0, 0), @@ -617,14 +618,14 @@ public void test_createNewVersionOfItemAndModifyRelationships() throws Exception ); assertThat( - relationshipService.findByItem(context, person1, -1, -1, false, true), + relationshipService.findByItem(context.getSession(), person1, -1, -1, false, true), containsInAnyOrder(List.of( isRel(originalPublication, isAuthorOfPublication, person1, BOTH, 0, 0) )) ); assertThat( - relationshipService.findByItem(context, person2, -1, -1, false, true), + relationshipService.findByItem(context.getSession(), person2, -1, -1, false, true), containsInAnyOrder(List.of( // NOTE: BOTH because new relationship isRel(newPublication, isAuthorOfPublication, person2, BOTH, 1, 0) @@ -632,21 +633,21 @@ public void test_createNewVersionOfItemAndModifyRelationships() throws Exception ); assertThat( - relationshipService.findByItem(context, project1, -1, -1, false, true), + relationshipService.findByItem(context.getSession(), project1, -1, -1, false, true), containsInAnyOrder(List.of( isRel(originalPublication, isProjectOfPublication, project1, BOTH, 0, 0) )) ); assertThat( - relationshipService.findByItem(context, orgUnit1, -1, -1, false, true), + relationshipService.findByItem(context.getSession(), orgUnit1, -1, -1, false, true), containsInAnyOrder(List.of( isRel(originalPublication, isOrgUnitOfPublication, orgUnit1, BOTH, 0, 0) )) ); assertThat( - relationshipService.findByItem(context, orgUnit2, -1, -1, false, true), + relationshipService.findByItem(context.getSession(), orgUnit2, -1, -1, false, true), containsInAnyOrder(List.of( // NOTE: BOTH because new relationship isRel(newPublication, isOrgUnitOfPublication, orgUnit2, BOTH, 0, 0) @@ -654,7 +655,7 @@ public void test_createNewVersionOfItemAndModifyRelationships() throws Exception ); assertThat( - relationshipService.findByItem(context, newPublication, -1, -1, false, true), + relationshipService.findByItem(context.getSession(), newPublication, -1, -1, false, true), containsInAnyOrder(List.of( isRel(newPublication, isAuthorOfPublication, person1, RIGHT_ONLY, 0, 0), // NOTE: BOTH because new relationship @@ -668,7 +669,7 @@ public void test_createNewVersionOfItemAndModifyRelationships() throws Exception //////////////////////////////////////////////////////////////////////// assertThat( - relationshipService.findByItem(context, originalPublication, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), originalPublication, -1, -1, false, false), containsInAnyOrder(List.of( isRel(originalPublication, isAuthorOfPublication, person1, BOTH, 0, 0), isRel(originalPublication, isProjectOfPublication, project1, BOTH, 0, 0), @@ -677,7 +678,7 @@ public void test_createNewVersionOfItemAndModifyRelationships() throws Exception ); assertThat( - relationshipService.findByItem(context, person1, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), person1, -1, -1, false, false), containsInAnyOrder(List.of( isRel(originalPublication, isAuthorOfPublication, person1, BOTH, 0, 0), isRel(newPublication, isAuthorOfPublication, person1, RIGHT_ONLY, 0, 0) @@ -685,7 +686,7 @@ public void test_createNewVersionOfItemAndModifyRelationships() throws Exception ); assertThat( - relationshipService.findByItem(context, person2, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), person2, -1, -1, false, false), containsInAnyOrder(List.of( // NOTE: BOTH because new relationship isRel(newPublication, isAuthorOfPublication, person2, BOTH, 1, 0) @@ -693,21 +694,21 @@ public void test_createNewVersionOfItemAndModifyRelationships() throws Exception ); assertThat( - relationshipService.findByItem(context, project1, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), project1, -1, -1, false, false), containsInAnyOrder(List.of( isRel(originalPublication, isProjectOfPublication, project1, BOTH, 0, 0) )) ); assertThat( - relationshipService.findByItem(context, orgUnit1, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), orgUnit1, -1, -1, false, false), containsInAnyOrder(List.of( isRel(originalPublication, isOrgUnitOfPublication, orgUnit1, BOTH, 0, 0) )) ); assertThat( - relationshipService.findByItem(context, orgUnit2, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), orgUnit2, -1, -1, false, false), containsInAnyOrder(List.of( // NOTE: BOTH because new relationship isRel(newPublication, isOrgUnitOfPublication, orgUnit2, BOTH, 0, 0) @@ -715,7 +716,7 @@ public void test_createNewVersionOfItemAndModifyRelationships() throws Exception ); assertThat( - relationshipService.findByItem(context, newPublication, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), newPublication, -1, -1, false, false), containsInAnyOrder(List.of( isRel(newPublication, isAuthorOfPublication, person1, RIGHT_ONLY, 0, 0), // NOTE: BOTH because new relationship @@ -737,7 +738,7 @@ public void test_createNewVersionOfItemAndModifyRelationships() throws Exception /////////////////////////////////////////////////////////////////////// assertThat( - relationshipService.findByItem(context, originalPublication, -1, -1, false, true), + relationshipService.findByItem(context.getSession(), originalPublication, -1, -1, false, true), containsInAnyOrder(List.of( isRel(originalPublication, isAuthorOfPublication, person1, RIGHT_ONLY, 0, 0), isRel(originalPublication, isProjectOfPublication, project1, RIGHT_ONLY, 0, 0), @@ -746,38 +747,38 @@ public void test_createNewVersionOfItemAndModifyRelationships() throws Exception ); assertThat( - relationshipService.findByItem(context, person1, -1, -1, false, true), + relationshipService.findByItem(context.getSession(), person1, -1, -1, false, true), containsInAnyOrder(List.of( isRel(newPublication, isAuthorOfPublication, person1, BOTH, 0, 0) )) ); assertThat( - relationshipService.findByItem(context, person2, -1, -1, false, true), + relationshipService.findByItem(context.getSession(), person2, -1, -1, false, true), containsInAnyOrder(List.of( isRel(newPublication, isAuthorOfPublication, person2, BOTH, 1, 0) )) ); assertThat( - relationshipService.findByItem(context, project1, -1, -1, false, true), + relationshipService.findByItem(context.getSession(), project1, -1, -1, false, true), empty() ); assertThat( - relationshipService.findByItem(context, orgUnit1, -1, -1, false, true), + relationshipService.findByItem(context.getSession(), orgUnit1, -1, -1, false, true), empty() ); assertThat( - relationshipService.findByItem(context, orgUnit2, -1, -1, false, true), + relationshipService.findByItem(context.getSession(), orgUnit2, -1, -1, false, true), containsInAnyOrder(List.of( isRel(newPublication, isOrgUnitOfPublication, orgUnit2, BOTH, 0, 0) )) ); assertThat( - relationshipService.findByItem(context, newPublication, -1, -1, false, true), + relationshipService.findByItem(context.getSession(), newPublication, -1, -1, false, true), containsInAnyOrder(List.of( isRel(newPublication, isAuthorOfPublication, person1, BOTH, 0, 0), isRel(newPublication, isAuthorOfPublication, person2, BOTH, 1, 0), @@ -790,7 +791,7 @@ public void test_createNewVersionOfItemAndModifyRelationships() throws Exception //////////////////////////////////////////////////////////////////////// assertThat( - relationshipService.findByItem(context, originalPublication, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), originalPublication, -1, -1, false, false), containsInAnyOrder(List.of( isRel(originalPublication, isAuthorOfPublication, person1, RIGHT_ONLY, 0, 0), isRel(originalPublication, isProjectOfPublication, project1, RIGHT_ONLY, 0, 0), @@ -799,7 +800,7 @@ public void test_createNewVersionOfItemAndModifyRelationships() throws Exception ); assertThat( - relationshipService.findByItem(context, person1, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), person1, -1, -1, false, false), containsInAnyOrder(List.of( isRel(originalPublication, isAuthorOfPublication, person1, RIGHT_ONLY, 0, 0), isRel(newPublication, isAuthorOfPublication, person1, BOTH, 0, 0) @@ -807,35 +808,35 @@ public void test_createNewVersionOfItemAndModifyRelationships() throws Exception ); assertThat( - relationshipService.findByItem(context, person2, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), person2, -1, -1, false, false), containsInAnyOrder(List.of( isRel(newPublication, isAuthorOfPublication, person2, BOTH, 1, 0) )) ); assertThat( - relationshipService.findByItem(context, project1, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), project1, -1, -1, false, false), containsInAnyOrder(List.of( isRel(originalPublication, isProjectOfPublication, project1, RIGHT_ONLY, 0, 0) )) ); assertThat( - relationshipService.findByItem(context, orgUnit1, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), orgUnit1, -1, -1, false, false), containsInAnyOrder(List.of( isRel(originalPublication, isOrgUnitOfPublication, orgUnit1, RIGHT_ONLY, 0, 0) )) ); assertThat( - relationshipService.findByItem(context, orgUnit2, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), orgUnit2, -1, -1, false, false), containsInAnyOrder(List.of( isRel(newPublication, isOrgUnitOfPublication, orgUnit2, BOTH, 0, 0) )) ); assertThat( - relationshipService.findByItem(context, newPublication, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), newPublication, -1, -1, false, false), containsInAnyOrder(List.of( isRel(newPublication, isAuthorOfPublication, person1, BOTH, 0, 0), isRel(newPublication, isAuthorOfPublication, person2, BOTH, 1, 0), @@ -848,7 +849,7 @@ public void test_createNewVersionOfItemAndModifyRelationships() throws Exception ////////////// // need to manually delete all relationships to avoid SQL constraint violation exception - List relationships = relationshipService.findAll(context); + List relationships = relationshipService.findAll(context.getSession()); for (Relationship relationship : relationships) { relationshipService.delete(context, relationship); } @@ -894,7 +895,7 @@ public void test_createNewVersionOfItemOnRightSideOfRelationships() throws Excep ///////////////////////////////////////////////////////// assertThat( - relationshipService.findByItem(context, originalPerson, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), originalPerson, -1, -1, false, false), containsInAnyOrder(List.of( isRel(publication1, isAuthorOfPublication, originalPerson, BOTH, 0, 0), isRel(project1, isMemberOfProject, originalPerson, BOTH, 0, 0), @@ -903,21 +904,21 @@ public void test_createNewVersionOfItemOnRightSideOfRelationships() throws Excep ); assertThat( - relationshipService.findByItem(context, publication1, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), publication1, -1, -1, false, false), containsInAnyOrder(List.of( isRel(publication1, isAuthorOfPublication, originalPerson, BOTH, 0, 0) )) ); assertThat( - relationshipService.findByItem(context, project1, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), project1, -1, -1, false, false), containsInAnyOrder(List.of( isRel(project1, isMemberOfProject, originalPerson, BOTH, 0, 0) )) ); assertThat( - relationshipService.findByItem(context, orgUnit1, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), orgUnit1, -1, -1, false, false), containsInAnyOrder(List.of( isRel(orgUnit1, isMemberOfOrgUnit, originalPerson, BOTH, 0, 0) )) @@ -936,7 +937,7 @@ public void test_createNewVersionOfItemOnRightSideOfRelationships() throws Excep /////////////////////////////////////////////////////////////////////// assertThat( - relationshipService.findByItem(context, originalPerson, -1, -1, false, true), + relationshipService.findByItem(context.getSession(), originalPerson, -1, -1, false, true), containsInAnyOrder(List.of( isRel(publication1, isAuthorOfPublication, originalPerson, BOTH, 0, 0), isRel(project1, isMemberOfProject, originalPerson, BOTH, 0, 0), @@ -945,28 +946,28 @@ public void test_createNewVersionOfItemOnRightSideOfRelationships() throws Excep ); assertThat( - relationshipService.findByItem(context, publication1, -1, -1, false, true), + relationshipService.findByItem(context.getSession(), publication1, -1, -1, false, true), containsInAnyOrder(List.of( isRel(publication1, isAuthorOfPublication, originalPerson, BOTH, 0, 0) )) ); assertThat( - relationshipService.findByItem(context, project1, -1, -1, false, true), + relationshipService.findByItem(context.getSession(), project1, -1, -1, false, true), containsInAnyOrder(List.of( isRel(project1, isMemberOfProject, originalPerson, BOTH, 0, 0) )) ); assertThat( - relationshipService.findByItem(context, orgUnit1, -1, -1, false, true), + relationshipService.findByItem(context.getSession(), orgUnit1, -1, -1, false, true), containsInAnyOrder(List.of( isRel(orgUnit1, isMemberOfOrgUnit, originalPerson, BOTH, 0, 0) )) ); assertThat( - relationshipService.findByItem(context, newPerson, -1, -1, false, true), + relationshipService.findByItem(context.getSession(), newPerson, -1, -1, false, true), containsInAnyOrder(List.of( isRel(publication1, isAuthorOfPublication, newPerson, LEFT_ONLY, 0, 0), isRel(project1, isMemberOfProject, newPerson, LEFT_ONLY, 0, 0), @@ -979,7 +980,7 @@ public void test_createNewVersionOfItemOnRightSideOfRelationships() throws Excep //////////////////////////////////////////////////////////////////////// assertThat( - relationshipService.findByItem(context, originalPerson, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), originalPerson, -1, -1, false, false), containsInAnyOrder(List.of( isRel(publication1, isAuthorOfPublication, originalPerson, BOTH, 0, 0), isRel(project1, isMemberOfProject, originalPerson, BOTH, 0, 0), @@ -988,7 +989,7 @@ public void test_createNewVersionOfItemOnRightSideOfRelationships() throws Excep ); assertThat( - relationshipService.findByItem(context, publication1, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), publication1, -1, -1, false, false), containsInAnyOrder(List.of( isRel(publication1, isAuthorOfPublication, originalPerson, BOTH, 0, 0), isRel(publication1, isAuthorOfPublication, newPerson, LEFT_ONLY, 0, 0) @@ -996,7 +997,7 @@ public void test_createNewVersionOfItemOnRightSideOfRelationships() throws Excep ); assertThat( - relationshipService.findByItem(context, project1, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), project1, -1, -1, false, false), containsInAnyOrder(List.of( isRel(project1, isMemberOfProject, originalPerson, BOTH, 0, 0), isRel(project1, isMemberOfProject, newPerson, LEFT_ONLY, 0, 0) @@ -1004,7 +1005,7 @@ public void test_createNewVersionOfItemOnRightSideOfRelationships() throws Excep ); assertThat( - relationshipService.findByItem(context, orgUnit1, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), orgUnit1, -1, -1, false, false), containsInAnyOrder(List.of( isRel(orgUnit1, isMemberOfOrgUnit, originalPerson, BOTH, 0, 0), isRel(orgUnit1, isMemberOfOrgUnit, newPerson, LEFT_ONLY, 0, 0) @@ -1012,7 +1013,7 @@ public void test_createNewVersionOfItemOnRightSideOfRelationships() throws Excep ); assertThat( - relationshipService.findByItem(context, newPerson, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), newPerson, -1, -1, false, false), containsInAnyOrder(List.of( isRel(publication1, isAuthorOfPublication, newPerson, LEFT_ONLY, 0, 0), isRel(project1, isMemberOfProject, newPerson, LEFT_ONLY, 0, 0), @@ -1033,7 +1034,7 @@ public void test_createNewVersionOfItemOnRightSideOfRelationships() throws Excep /////////////////////////////////////////////////////////////////////// assertThat( - relationshipService.findByItem(context, originalPerson, -1, -1, false, true), + relationshipService.findByItem(context.getSession(), originalPerson, -1, -1, false, true), containsInAnyOrder(List.of( isRel(publication1, isAuthorOfPublication, originalPerson, LEFT_ONLY, 0, 0), isRel(project1, isMemberOfProject, originalPerson, LEFT_ONLY, 0, 0), @@ -1042,28 +1043,28 @@ public void test_createNewVersionOfItemOnRightSideOfRelationships() throws Excep ); assertThat( - relationshipService.findByItem(context, publication1, -1, -1, false, true), + relationshipService.findByItem(context.getSession(), publication1, -1, -1, false, true), containsInAnyOrder(List.of( isRel(publication1, isAuthorOfPublication, newPerson, BOTH, 0, 0) )) ); assertThat( - relationshipService.findByItem(context, project1, -1, -1, false, true), + relationshipService.findByItem(context.getSession(), project1, -1, -1, false, true), containsInAnyOrder(List.of( isRel(project1, isMemberOfProject, newPerson, BOTH, 0, 0) )) ); assertThat( - relationshipService.findByItem(context, orgUnit1, -1, -1, false, true), + relationshipService.findByItem(context.getSession(), orgUnit1, -1, -1, false, true), containsInAnyOrder(List.of( isRel(orgUnit1, isMemberOfOrgUnit, newPerson, BOTH, 0, 0) )) ); assertThat( - relationshipService.findByItem(context, newPerson, -1, -1, false, true), + relationshipService.findByItem(context.getSession(), newPerson, -1, -1, false, true), containsInAnyOrder(List.of( isRel(publication1, isAuthorOfPublication, newPerson, BOTH, 0, 0), isRel(project1, isMemberOfProject, newPerson, BOTH, 0, 0), @@ -1076,7 +1077,7 @@ public void test_createNewVersionOfItemOnRightSideOfRelationships() throws Excep //////////////////////////////////////////////////////////////////////// assertThat( - relationshipService.findByItem(context, originalPerson, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), originalPerson, -1, -1, false, false), containsInAnyOrder(List.of( isRel(publication1, isAuthorOfPublication, originalPerson, LEFT_ONLY, 0, 0), isRel(project1, isMemberOfProject, originalPerson, LEFT_ONLY, 0, 0), @@ -1085,7 +1086,7 @@ public void test_createNewVersionOfItemOnRightSideOfRelationships() throws Excep ); assertThat( - relationshipService.findByItem(context, publication1, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), publication1, -1, -1, false, false), containsInAnyOrder(List.of( isRel(publication1, isAuthorOfPublication, originalPerson, LEFT_ONLY, 0, 0), isRel(publication1, isAuthorOfPublication, newPerson, BOTH, 0, 0) @@ -1093,7 +1094,7 @@ public void test_createNewVersionOfItemOnRightSideOfRelationships() throws Excep ); assertThat( - relationshipService.findByItem(context, project1, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), project1, -1, -1, false, false), containsInAnyOrder(List.of( isRel(project1, isMemberOfProject, originalPerson, LEFT_ONLY, 0, 0), isRel(project1, isMemberOfProject, newPerson, BOTH, 0, 0) @@ -1101,7 +1102,7 @@ public void test_createNewVersionOfItemOnRightSideOfRelationships() throws Excep ); assertThat( - relationshipService.findByItem(context, orgUnit1, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), orgUnit1, -1, -1, false, false), containsInAnyOrder(List.of( isRel(orgUnit1, isMemberOfOrgUnit, originalPerson, LEFT_ONLY, 0, 0), isRel(orgUnit1, isMemberOfOrgUnit, newPerson, BOTH, 0, 0) @@ -1109,7 +1110,7 @@ public void test_createNewVersionOfItemOnRightSideOfRelationships() throws Excep ); assertThat( - relationshipService.findByItem(context, newPerson, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), newPerson, -1, -1, false, false), containsInAnyOrder(List.of( isRel(publication1, isAuthorOfPublication, newPerson, BOTH, 0, 0), isRel(project1, isMemberOfProject, newPerson, BOTH, 0, 0), @@ -1122,7 +1123,7 @@ public void test_createNewVersionOfItemOnRightSideOfRelationships() throws Excep ////////////// // need to manually delete all relationships to avoid SQL constraint violation exception - List relationships = relationshipService.findAll(context); + List relationships = relationshipService.findAll(context.getSession()); for (Relationship relationship : relationships) { relationshipService.delete(context, relationship); } @@ -1257,7 +1258,7 @@ public void test_createNewVersionOfItemAndVerifyMetadataOrder() throws Exception // test relationship isAuthorOfPublication // ///////////////////////////////////////////// - List oldRelationships = relationshipService.findByItem(context, originalPublication); + List oldRelationships = relationshipService.findByItem(context.getSession(), originalPublication); assertEquals(6, oldRelationships.size()); assertEquals(originalPublication, oldRelationships.get(0).getLeftItem()); @@ -1353,7 +1354,7 @@ public void test_createNewVersionOfItemAndVerifyMetadataOrder() throws Exception // test relationship isAuthorOfPublication // ///////////////////////////////////////////// - List newRelationships = relationshipService.findByItem(context, newPublication); + List newRelationships = relationshipService.findByItem(context.getSession(), newPublication); assertEquals(6, newRelationships.size()); assertEquals(newPublication, newRelationships.get(0).getLeftItem()); @@ -1397,7 +1398,7 @@ public void test_createNewVersionOfItemAndVerifyMetadataOrder() throws Exception ////////////// // need to manually delete all relationships to avoid SQL constraint violation exception - List relationships = relationshipService.findAll(context); + List relationships = relationshipService.findAll(context.getSession()); for (Relationship relationship : relationships) { relationshipService.delete(context, relationship); } @@ -1446,7 +1447,7 @@ public void test_createNewVersionOfItemWithAddRemoveMove() throws Exception { ///////////////////////////////////////////////////////////////////// assertThat( - relationshipService.findByItem(context, originalPublication, -1, -1, false, true), + relationshipService.findByItem(context.getSession(), originalPublication, -1, -1, false, true), containsInAnyOrder(listOriginalPublication) ); @@ -1455,7 +1456,7 @@ public void test_createNewVersionOfItemWithAddRemoveMove() throws Exception { ////////////////////////////////////////////////////////////////////// assertThat( - relationshipService.findByItem(context, originalPublication, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), originalPublication, -1, -1, false, false), containsInAnyOrder(listOriginalPublication) ); @@ -1523,7 +1524,7 @@ public void test_createNewVersionOfItemWithAddRemoveMove() throws Exception { ////////////// // need to manually delete all relationships to avoid SQL constraint violation exception - List relationships = relationshipService.findAll(context); + List relationships = relationshipService.findAll(context.getSession()); for (Relationship relationship : relationships) { relationshipService.delete(context, relationship); } @@ -1532,7 +1533,8 @@ public void test_createNewVersionOfItemWithAddRemoveMove() throws Exception { protected void removeProject(Item newPublication, int place, List newProjects) throws SQLException, AuthorizeException { List projectRels = relationshipService - .findByItemAndRelationshipType(context, newProjects.get(place), isProjectOfPublication, -1, -1, false) + .findByItemAndRelationshipType(context.getSession(), + newProjects.get(place), isProjectOfPublication, -1, -1, false) .stream() .filter( relationship -> relationship.getLeftItem().equals(newPublication) @@ -1547,7 +1549,8 @@ protected void moveProject(Item newPublication, int oldPlace, int newPlace, List throws SQLException, AuthorizeException { Item project = newProjects.get(oldPlace); List projectRels = relationshipService - .findByItemAndRelationshipType(context, project, isProjectOfPublication, -1, -1, false) + .findByItemAndRelationshipType(context.getSession(), project, + isProjectOfPublication, -1, -1, false) .stream() .filter( relationship -> relationship.getLeftItem().equals(newPublication) @@ -1592,7 +1595,7 @@ protected void verifyProjectsMatch(Item originalPublication, List original ); assertThat( - relationshipService.findByItem(context, originalPublication, -1, -1, false, true), + relationshipService.findByItem(context.getSession(), originalPublication, -1, -1, false, true), containsInAnyOrder(listOriginalPublication) ); @@ -1602,7 +1605,7 @@ protected void verifyProjectsMatch(Item originalPublication, List original ); assertThat( - relationshipService.findByItem(context, newPublication, -1, -1, false, true), + relationshipService.findByItem(context.getSession(), newPublication, -1, -1, false, true), containsInAnyOrder(listNewPublication) ); @@ -1611,12 +1614,12 @@ protected void verifyProjectsMatch(Item originalPublication, List original ////////////////////////////////////////////////////////////////////// assertThat( - relationshipService.findByItem(context, originalPublication, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), originalPublication, -1, -1, false, false), containsInAnyOrder(listOriginalPublication) ); assertThat( - relationshipService.findByItem(context, newPublication, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), newPublication, -1, -1, false, false), containsInAnyOrder(listNewPublication) ); } @@ -1799,7 +1802,7 @@ public void test_placeRecalculationAfterDelete() throws Exception { //////////////////////////////////////////////// assertThat( - relationshipService.findByItem(context, v1_1, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), v1_1, -1, -1, false, false), containsInAnyOrder(List.of( isRel(v1_1, isIssueOfJournalVolume, i1_1, RIGHT_ONLY, 0, 0), isRel(v1_1, isIssueOfJournalVolume, i3_1, RIGHT_ONLY, 2, 0), @@ -1841,7 +1844,7 @@ public void test_placeRecalculationAfterDelete() throws Exception { //////////////////////////////////////////////// assertThat( - relationshipService.findByItem(context, v1_2, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), v1_2, -1, -1, false, false), containsInAnyOrder(List.of( isRel(v1_2, isIssueOfJournalVolume, i1_1, BOTH, 0, 0), isRel(v1_2, isIssueOfJournalVolume, i3_1, LEFT_ONLY, 2, 0), @@ -1903,7 +1906,7 @@ public void test_placeRecalculationAfterDelete() throws Exception { //////////////////////////////////////// assertThat( - relationshipService.findByItem(context, v1_1, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), v1_1, -1, -1, false, false), containsInAnyOrder(List.of( isRel(v1_1, isIssueOfJournalVolume, i1_1, RIGHT_ONLY, 0, 0), isRel(v1_1, isIssueOfJournalVolume, i3_1, RIGHT_ONLY, 2, 0), @@ -1945,7 +1948,7 @@ public void test_placeRecalculationAfterDelete() throws Exception { //////////////////////////////////////// assertThat( - relationshipService.findByItem(context, v1_2, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), v1_2, -1, -1, false, false), containsInAnyOrder(List.of( isRel(v1_2, isIssueOfJournalVolume, i1_1, BOTH, 0, 0), isRel(v1_2, isIssueOfJournalVolume, i3_1, LEFT_ONLY, 2, 0), @@ -2001,7 +2004,7 @@ public void test_placeRecalculationAfterDelete() throws Exception { //////////////////////////////////////// assertThat( - relationshipService.findByItem(context, v1_1, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), v1_1, -1, -1, false, false), containsInAnyOrder(List.of( isRel(v1_1, isIssueOfJournalVolume, i1_1, RIGHT_ONLY, 0, 0), isRel(v1_1, isIssueOfJournalVolume, i3_1, RIGHT_ONLY, 2, 0), @@ -2043,7 +2046,7 @@ public void test_placeRecalculationAfterDelete() throws Exception { //////////////////////////////////////// assertThat( - relationshipService.findByItem(context, v1_2, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), v1_2, -1, -1, false, false), containsInAnyOrder(List.of( isRel(v1_2, isIssueOfJournalVolume, i1_1, BOTH, 0, 0), isRel(v1_2, isIssueOfJournalVolume, i3_1, LEFT_ONLY, 2, 0), @@ -2333,7 +2336,7 @@ public void test_placeRecalculationAfterDelete_complex() throws Exception { //////////////////////////////////////////////// assertThat( - relationshipService.findByItem(context, pe3_1, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), pe3_1, -1, -1, false, false), containsInAnyOrder(List.of( isRel(pe3_1, isProjectOfPerson, pr1_1, RIGHT_ONLY, 0, 0), isRel(pe3_1, isProjectOfPerson, pr3_1, RIGHT_ONLY, 2, 2), @@ -2375,7 +2378,7 @@ public void test_placeRecalculationAfterDelete_complex() throws Exception { ///////////////////////////////////////////////// assertThat( - relationshipService.findByItem(context, pr3_1, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), pr3_1, -1, -1, false, false), containsInAnyOrder(List.of( isRel(pe1_1, isProjectOfPerson, pr3_1, LEFT_ONLY, 0, 0), isRel(pe3_1, isProjectOfPerson, pr3_1, RIGHT_ONLY, 2, 2), @@ -2418,7 +2421,7 @@ public void test_placeRecalculationAfterDelete_complex() throws Exception { ///////////////////////////////////////////////// assertThat( - relationshipService.findByItem(context, pr5_1, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), pr5_1, -1, -1, false, false), containsInAnyOrder(List.of( isRel(pe5_1, isProjectOfPerson, pr5_1, BOTH, 1, 1), isRel(pe3_1, isProjectOfPerson, pr5_1, RIGHT_ONLY, 4, 2), @@ -2448,7 +2451,7 @@ public void test_placeRecalculationAfterDelete_complex() throws Exception { //////////////////////////////////////////////// assertThat( - relationshipService.findByItem(context, pe3_2, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), pe3_2, -1, -1, false, false), containsInAnyOrder(List.of( isRel(pe3_2, isProjectOfPerson, pr1_1, BOTH, 0, 0), isRel(pe3_2, isProjectOfPerson, pr3_1, LEFT_ONLY, 2, 2), @@ -2491,7 +2494,7 @@ public void test_placeRecalculationAfterDelete_complex() throws Exception { ///////////////////////////////////////////////// assertThat( - relationshipService.findByItem(context, pr3_2, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), pr3_2, -1, -1, false, false), containsInAnyOrder(List.of( isRel(pe1_1, isProjectOfPerson, pr3_2, BOTH, 0, 0), isRel(pe5_1, isProjectOfPerson, pr3_2, BOTH, 0, 4), @@ -2553,7 +2556,7 @@ public void test_placeRecalculationAfterDelete_complex() throws Exception { //////////////////////////////////////// assertThat( - relationshipService.findByItem(context, pe3_1, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), pe3_1, -1, -1, false, false), containsInAnyOrder(List.of( isRel(pe3_1, isProjectOfPerson, pr1_1, RIGHT_ONLY, 0, 0), isRel(pe3_1, isProjectOfPerson, pr3_1, RIGHT_ONLY, 2, 2), @@ -2595,7 +2598,7 @@ public void test_placeRecalculationAfterDelete_complex() throws Exception { ///////////////////////////////////////// assertThat( - relationshipService.findByItem(context, pr3_1, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), pr3_1, -1, -1, false, false), containsInAnyOrder(List.of( isRel(pe1_1, isProjectOfPerson, pr3_1, LEFT_ONLY, 0, 0), isRel(pe3_1, isProjectOfPerson, pr3_1, RIGHT_ONLY, 2, 2), @@ -2638,7 +2641,7 @@ public void test_placeRecalculationAfterDelete_complex() throws Exception { ///////////////////////////////////////// assertThat( - relationshipService.findByItem(context, pr5_1, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), pr5_1, -1, -1, false, false), containsInAnyOrder(List.of( isRel(pe5_1, isProjectOfPerson, pr5_1, BOTH, 1, 1), isRel(pe3_1, isProjectOfPerson, pr5_1, RIGHT_ONLY, 4, 2), @@ -2669,7 +2672,7 @@ public void test_placeRecalculationAfterDelete_complex() throws Exception { //////////////////////////////////////// assertThat( - relationshipService.findByItem(context, pe3_2, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), pe3_2, -1, -1, false, false), containsInAnyOrder(List.of( isRel(pe3_2, isProjectOfPerson, pr1_1, BOTH, 0, 0), isRel(pe3_2, isProjectOfPerson, pr3_1, LEFT_ONLY, 2, 2), @@ -2708,7 +2711,7 @@ public void test_placeRecalculationAfterDelete_complex() throws Exception { ///////////////////////////////////////// assertThat( - relationshipService.findByItem(context, pr3_2, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), pr3_2, -1, -1, false, false), containsInAnyOrder(List.of( isRel(pe1_1, isProjectOfPerson, pr3_2, BOTH, 0, 0), // NOTE: right place was reduced by one (from 4 to 3) @@ -2762,7 +2765,7 @@ public void test_placeRecalculationAfterDelete_complex() throws Exception { //////////////////////////////////////// assertThat( - relationshipService.findByItem(context, pe3_1, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), pe3_1, -1, -1, false, false), containsInAnyOrder(List.of( isRel(pe3_1, isProjectOfPerson, pr1_1, RIGHT_ONLY, 0, 0), isRel(pe3_1, isProjectOfPerson, pr3_1, RIGHT_ONLY, 2, 2), @@ -2804,7 +2807,7 @@ public void test_placeRecalculationAfterDelete_complex() throws Exception { ///////////////////////////////////////// assertThat( - relationshipService.findByItem(context, pr3_1, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), pr3_1, -1, -1, false, false), containsInAnyOrder(List.of( isRel(pe1_1, isProjectOfPerson, pr3_1, LEFT_ONLY, 0, 0), isRel(pe3_1, isProjectOfPerson, pr3_1, RIGHT_ONLY, 2, 2), @@ -2847,7 +2850,7 @@ public void test_placeRecalculationAfterDelete_complex() throws Exception { ///////////////////////////////////////// assertThat( - relationshipService.findByItem(context, pr5_1, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), pr5_1, -1, -1, false, false), containsInAnyOrder(List.of( isRel(pe5_1, isProjectOfPerson, pr5_1, BOTH, 1, 1), isRel(pe3_1, isProjectOfPerson, pr5_1, RIGHT_ONLY, 4, 2), @@ -2878,7 +2881,7 @@ public void test_placeRecalculationAfterDelete_complex() throws Exception { //////////////////////////////////////// assertThat( - relationshipService.findByItem(context, pe3_2, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), pe3_2, -1, -1, false, false), containsInAnyOrder(List.of( isRel(pe3_2, isProjectOfPerson, pr1_1, BOTH, 0, 0), isRel(pe3_2, isProjectOfPerson, pr3_1, LEFT_ONLY, 2, 2), @@ -2913,7 +2916,7 @@ public void test_placeRecalculationAfterDelete_complex() throws Exception { ///////////////////////////////////////// assertThat( - relationshipService.findByItem(context, pr3_2, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), pr3_2, -1, -1, false, false), containsInAnyOrder(List.of( isRel(pe1_1, isProjectOfPerson, pr3_2, BOTH, 0, 0), isRel(pe5_1, isProjectOfPerson, pr3_2, BOTH, 0, 3) @@ -3073,7 +3076,7 @@ public void test_placeRecalculationNoUseForPlace() throws Exception { //////////////////////////////////////////////// assertThat( - relationshipService.findByItem(context, v1_1, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), v1_1, -1, -1, false, false), containsInAnyOrder(List.of( isRel(v1_1, isIssueOfJournalVolume, i1_1, RIGHT_ONLY, 0, 0), isRel(v1_1, isIssueOfJournalVolume, i2_1, RIGHT_ONLY, 1, 0), @@ -3113,7 +3116,7 @@ public void test_placeRecalculationNoUseForPlace() throws Exception { //////////////////////////////////////////////// assertThat( - relationshipService.findByItem(context, v1_2, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), v1_2, -1, -1, false, false), containsInAnyOrder(List.of( isRel(v1_2, isIssueOfJournalVolume, i1_1, BOTH, 0, 0), isRel(v1_2, isIssueOfJournalVolume, i2_1, BOTH, 1, 0), @@ -3176,7 +3179,7 @@ public void test_placeRecalculationNoUseForPlace() throws Exception { //////////////////////////////////////// assertThat( - relationshipService.findByItem(context, v1_1, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), v1_1, -1, -1, false, false), containsInAnyOrder(List.of( isRel(v1_1, isIssueOfJournalVolume, i1_1, RIGHT_ONLY, 0, 0), isRel(v1_1, isIssueOfJournalVolume, i2_1, RIGHT_ONLY, 1, 0), @@ -3216,7 +3219,7 @@ public void test_placeRecalculationNoUseForPlace() throws Exception { //////////////////////////////////////// assertThat( - relationshipService.findByItem(context, v1_2, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), v1_2, -1, -1, false, false), containsInAnyOrder(List.of( isRel(v1_2, isIssueOfJournalVolume, i1_1, BOTH, 0, 0), isRel(v1_2, isIssueOfJournalVolume, i2_1, BOTH, 1, 0), @@ -3283,7 +3286,7 @@ public void test_placeRecalculationNoUseForPlace() throws Exception { //////////////////////////////////////////////// assertThat( - relationshipService.findByItem(context, v1_1, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), v1_1, -1, -1, false, false), containsInAnyOrder(List.of( isRel(v1_1, isIssueOfJournalVolume, i1_1, RIGHT_ONLY, 0, 0), isRel(v1_1, isIssueOfJournalVolume, i2_1, RIGHT_ONLY, 1, 0), @@ -3323,7 +3326,7 @@ public void test_placeRecalculationNoUseForPlace() throws Exception { //////////////////////////////////////////////// assertThat( - relationshipService.findByItem(context, v1_2, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), v1_2, -1, -1, false, false), containsInAnyOrder(List.of( isRel(v1_2, isIssueOfJournalVolume, i1_1, BOTH, 0, 0), isRel(v1_2, isIssueOfJournalVolume, i2_1, BOTH, 1, 0), @@ -3541,7 +3544,7 @@ public void test_virtualMetadataPreserved() throws Exception { /////////////////////////////////////////////////// assertThat( - relationshipService.findByItem(context, publication1V1, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), publication1V1, -1, -1, false, false), containsInAnyOrder(List.of( isRel(publication1V1, isAuthorOfPublication, person1V1, RIGHT_ONLY, 0, 0), isRel(publication1V1, isAuthorOfPublication, person2V1, RIGHT_ONLY, null, "Doe, J.", 1, 0) @@ -3604,7 +3607,7 @@ public void test_virtualMetadataPreserved() throws Exception { /////////////////////////////////////////////////// assertThat( - relationshipService.findByItem(context, publication1V2, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), publication1V2, -1, -1, false, false), containsInAnyOrder(List.of( isRel(publication1V2, isAuthorOfPublication, person1V1, BOTH, 0, 0), isRel(publication1V2, isAuthorOfPublication, person1V2, LEFT_ONLY, 0, 0), @@ -3706,7 +3709,7 @@ public void test_virtualMetadataPreserved() throws Exception { /////////////////////////////////////////////////// assertThat( - relationshipService.findByItem(context, publication1V1, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), publication1V1, -1, -1, false, false), containsInAnyOrder(List.of( isRel(publication1V1, isAuthorOfPublication, person1V1, RIGHT_ONLY, 0, 0), isRel(publication1V1, isAuthorOfPublication, person2V1, RIGHT_ONLY, null, "Doe, J.", 1, 0) @@ -3769,7 +3772,7 @@ public void test_virtualMetadataPreserved() throws Exception { /////////////////////////////////////////////////// assertThat( - relationshipService.findByItem(context, publication1V2, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), publication1V2, -1, -1, false, false), containsInAnyOrder(List.of( isRel(publication1V2, isAuthorOfPublication, person1V1, LEFT_ONLY, 0, 0), isRel(publication1V2, isAuthorOfPublication, person1V2, BOTH, 0, 0), @@ -3875,7 +3878,7 @@ public void test_virtualMetadataPreserved() throws Exception { /////////////////////////////////////////////////// assertThat( - relationshipService.findByItem(context, publication1V1, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), publication1V1, -1, -1, false, false), containsInAnyOrder(List.of( isRel(publication1V1, isAuthorOfPublication, person1V1, RIGHT_ONLY, 0, 0), isRel(publication1V1, isAuthorOfPublication, person2V1, RIGHT_ONLY, null, "Doe, J.", 1, 0) @@ -3938,7 +3941,7 @@ public void test_virtualMetadataPreserved() throws Exception { /////////////////////////////////////////////////// assertThat( - relationshipService.findByItem(context, publication1V2, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), publication1V2, -1, -1, false, false), containsInAnyOrder(List.of( isRel(publication1V2, isAuthorOfPublication, person1V1, LEFT_ONLY, 0, 0), isRel(publication1V2, isAuthorOfPublication, person1V2, BOTH, 0, 0), @@ -4048,7 +4051,7 @@ public void test_virtualMetadataPreserved() throws Exception { /////////////////////////////////////////////////// assertThat( - relationshipService.findByItem(context, publication1V1, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), publication1V1, -1, -1, false, false), containsInAnyOrder(List.of( isRel(publication1V1, isAuthorOfPublication, person1V1, RIGHT_ONLY, 0, 0), isRel(publication1V1, isAuthorOfPublication, person2V1, RIGHT_ONLY, null, "Doe, J.", 1, 0) @@ -4111,7 +4114,7 @@ public void test_virtualMetadataPreserved() throws Exception { /////////////////////////////////////////////////// assertThat( - relationshipService.findByItem(context, publication1V2, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), publication1V2, -1, -1, false, false), containsInAnyOrder(List.of( isRel(publication1V2, isAuthorOfPublication, person1V1, LEFT_ONLY, 0, 0), isRel(publication1V2, isAuthorOfPublication, person1V2, BOTH, 0, 0), diff --git a/dspace-api/src/test/java/org/dspace/content/WorkspaceItemTest.java b/dspace-api/src/test/java/org/dspace/content/WorkspaceItemTest.java index d018a15f9765..971936f60fc1 100644 --- a/dspace-api/src/test/java/org/dspace/content/WorkspaceItemTest.java +++ b/dspace-api/src/test/java/org/dspace/content/WorkspaceItemTest.java @@ -374,7 +374,7 @@ public void testDeleteWrapperAuth() throws Exception { UUID itemid = wi.getItem().getID(); int id = wi.getID(); workspaceItemService.deleteWrapper(context, wi); - Item found = itemService.find(context, itemid); + Item found = itemService.find(context.getSession(), itemid); assertThat("testDeleteWrapperAuth 0", found, notNullValue()); WorkspaceItem wfound = workspaceItemService.find(context, id); assertThat("testDeleteWrapperAuth 1", wfound, nullValue()); diff --git a/dspace-api/src/test/java/org/dspace/content/dao/RelationshipDAOImplTest.java b/dspace-api/src/test/java/org/dspace/content/dao/RelationshipDAOImplTest.java index b6f5da6be065..cda657c54286 100644 --- a/dspace-api/src/test/java/org/dspace/content/dao/RelationshipDAOImplTest.java +++ b/dspace-api/src/test/java/org/dspace/content/dao/RelationshipDAOImplTest.java @@ -55,7 +55,7 @@ public class RelationshipDAOImplTest extends AbstractIntegrationTest { private RelationshipType relationshipType; - private List relationshipsList = new ArrayList<>(); + private final List relationshipsList = new ArrayList<>(); private EntityType entityTypeOne; @@ -134,8 +134,8 @@ public void destroy() { */ @Test public void testFindByItem() throws Exception { - assertEquals("TestFindByItem 0", relationshipsList, relationshipService.findByItem(context, itemOne, - -1, -1, false)); + assertEquals("TestFindByItem 0", relationshipsList, + relationshipService.findByItem(context.getSession(), itemOne, -1, -1, false)); } /** @@ -146,8 +146,8 @@ public void testFindByItem() throws Exception { */ @Test public void testFindByRelationshipType() throws Exception { - assertEquals("TestByRelationshipType 0", relationshipsList, relationshipService.findByRelationshipType(context, - relationshipType)); + assertEquals("TestByRelationshipType 0", relationshipsList, + relationshipService.findByRelationshipType(context.getSession(), relationshipType)); } /** diff --git a/dspace-api/src/test/java/org/dspace/content/logic/LogicalFilterTest.java b/dspace-api/src/test/java/org/dspace/content/logic/LogicalFilterTest.java index 0e0864622043..ae129c3d1963 100644 --- a/dspace-api/src/test/java/org/dspace/content/logic/LogicalFilterTest.java +++ b/dspace-api/src/test/java/org/dspace/content/logic/LogicalFilterTest.java @@ -70,17 +70,28 @@ */ public class LogicalFilterTest extends AbstractUnitTest { // Required services - protected ItemService itemService = ContentServiceFactory.getInstance().getItemService(); - protected BitstreamService bitstreamService = ContentServiceFactory.getInstance().getBitstreamService(); - protected BundleService bundleService = ContentServiceFactory.getInstance().getBundleService(); - protected CommunityService communityService = ContentServiceFactory.getInstance().getCommunityService(); - protected CollectionService collectionService = ContentServiceFactory.getInstance().getCollectionService(); - protected WorkspaceItemService workspaceItemService = ContentServiceFactory.getInstance().getWorkspaceItemService(); - protected InstallItemService installItemService = ContentServiceFactory.getInstance().getInstallItemService(); - private MetadataFieldService metadataFieldService = ContentServiceFactory.getInstance().getMetadataFieldService(); - private MetadataValueService metadataValueService = ContentServiceFactory.getInstance().getMetadataValueService(); - private AuthorizeService authorizeService = AuthorizeServiceFactory.getInstance().getAuthorizeService(); - private GroupService groupService = EPersonServiceFactory.getInstance().getGroupService(); + protected ItemService itemService + = ContentServiceFactory.getInstance().getItemService(); + protected BitstreamService bitstreamService + = ContentServiceFactory.getInstance().getBitstreamService(); + protected BundleService bundleService + = ContentServiceFactory.getInstance().getBundleService(); + protected CommunityService communityService + = ContentServiceFactory.getInstance().getCommunityService(); + protected CollectionService collectionService + = ContentServiceFactory.getInstance().getCollectionService(); + protected WorkspaceItemService workspaceItemService + = ContentServiceFactory.getInstance().getWorkspaceItemService(); + protected InstallItemService installItemService + = ContentServiceFactory.getInstance().getInstallItemService(); + private final MetadataFieldService metadataFieldService + = ContentServiceFactory.getInstance().getMetadataFieldService(); + private final MetadataValueService metadataValueService + = ContentServiceFactory.getInstance().getMetadataValueService(); + private final AuthorizeService authorizeService + = AuthorizeServiceFactory.getInstance().getAuthorizeService(); + private final GroupService groupService + = EPersonServiceFactory.getInstance().getGroupService(); // Logger private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(LogicalFilterTest.class); @@ -158,7 +169,7 @@ public void init() { // Withdraw the second item for later testing itemService.withdraw(context, itemTwo); // Initialise metadata field for later testing with both items - this.metadataField = metadataFieldService.findByElement(context, + this.metadataField = metadataFieldService.findByElement(context.getSession(), MetadataSchemaEnum.DC.getName(), element, qualifier); context.restoreAuthSystemState(); } catch (AuthorizeException | SQLException | IOException e) { diff --git a/dspace-api/src/test/java/org/dspace/content/packager/ITDSpaceAIP.java b/dspace-api/src/test/java/org/dspace/content/packager/ITDSpaceAIP.java index a634b98130a6..918b970b8369 100644 --- a/dspace-api/src/test/java/org/dspace/content/packager/ITDSpaceAIP.java +++ b/dspace-api/src/test/java/org/dspace/content/packager/ITDSpaceAIP.java @@ -107,7 +107,7 @@ public class ITDSpaceAIP extends AbstractIntegrationTest { private static String testCollectionHandle = null; private static String testItemHandle = null; private static String testMappedItemHandle = null; - private static String submitterEmail = "aip-test@dspace.org"; + private static final String submitterEmail = "aip-test@dspace.org"; /** * Create a global temporary upload folder which will be cleaned up automatically by JUnit. @@ -196,7 +196,7 @@ public static void setUpClass() { //Make our test ePerson an admin so it can perform deletes and restores GroupService groupService = EPersonServiceFactory.getInstance().getGroupService(); - Group adminGroup = groupService.findByName(context, Group.ADMIN); + Group adminGroup = groupService.findByName(context.getSession(), Group.ADMIN); groupService.addMember(context, adminGroup, submitter); // Create our primary Test Item @@ -824,7 +824,7 @@ public void testRestoreRestrictedItem() throws Exception { List policies = new ArrayList<>(); ResourcePolicy admin_policy = resourcePolicyService.create(context); admin_policy.setRpName("Admin Read-Only"); - Group adminGroup = groupService.findByName(context, Group.ADMIN); + Group adminGroup = groupService.findByName(context.getSession(), Group.ADMIN); admin_policy.setGroup(adminGroup); admin_policy.setAction(Constants.READ); policies.add(admin_policy); @@ -1159,7 +1159,7 @@ private void saveObjectInfo(DSpaceObject dso, HashMap infoMap) collectionService.getTypeText(collection) + valueseparator + collection.getName()); // Recursively call method for each Item in Collection - Iterator items = itemService.findByCollection(context, collection); + Iterator items = itemService.findByCollection(context.getSession(), collection); while (items.hasNext()) { Item i = items.next(); saveObjectInfo(i, infoMap); diff --git a/dspace-api/src/test/java/org/dspace/content/service/ItemServiceTest.java b/dspace-api/src/test/java/org/dspace/content/service/ItemServiceTest.java index 50b4d3f3b48e..81a104a37bdd 100644 --- a/dspace-api/src/test/java/org/dspace/content/service/ItemServiceTest.java +++ b/dspace-api/src/test/java/org/dspace/content/service/ItemServiceTest.java @@ -647,9 +647,11 @@ public void testDeleteItemWithMultipleVersions() throws Exception { context.dispatchEvents(); // verify person1 has a non-latest relationship, which should also be removed - List relationships1 = relationshipService.findByItem(context, person1, -1, -1, false, true); + List relationships1 + = relationshipService.findByItem(context.getSession(), person1, -1, -1, false, true); assertEquals(1, relationships1.size()); - List relationships2 = relationshipService.findByItem(context, person1, -1, -1, false, false); + List relationships2 + = relationshipService.findByItem(context.getSession(), person1, -1, -1, false, false); assertEquals(2, relationships2.size()); itemService.delete(context, person1); @@ -750,7 +752,7 @@ public void testRemoveItemThatHasRequests() throws Exception { context.dispatchEvents(); context.restoreAuthSystemState(); - assertNull(itemService.find(context, item.getID())); + assertNull(itemService.find(context.getSession(), item.getID())); } private void assertMetadataValue(String authorQualifier, String contributorElement, String dcSchema, String value, String authority, int place, MetadataValue metadataValue) { diff --git a/dspace-api/src/test/java/org/dspace/content/service/MetadataFieldServiceTest.java b/dspace-api/src/test/java/org/dspace/content/service/MetadataFieldServiceTest.java index 444bee97493a..f42863375364 100644 --- a/dspace-api/src/test/java/org/dspace/content/service/MetadataFieldServiceTest.java +++ b/dspace-api/src/test/java/org/dspace/content/service/MetadataFieldServiceTest.java @@ -19,18 +19,20 @@ public class MetadataFieldServiceTest extends AbstractUnitTest { - private MetadataFieldService metadataFieldService = + private final MetadataFieldService metadataFieldService = ContentServiceFactory.getInstance().getMetadataFieldService(); - private MetadataSchemaService metadataSchemaService = + private final MetadataSchemaService metadataSchemaService = ContentServiceFactory.getInstance().getMetadataSchemaService(); @Test public void testMetadataFieldCaching() throws Exception { - MetadataField subjectField = metadataFieldService.findByElement(context, "dc", "subject", null); - MetadataField issnField = metadataFieldService.findByElement(context, "dc", "identifier", "issn"); + MetadataField subjectField = metadataFieldService.findByElement(context.getSession(), + "dc", "subject", null); + MetadataField issnField = metadataFieldService.findByElement(context.getSession(), + "dc", "identifier", "issn"); - MetadataSchema dspaceSchema = metadataSchemaService.find(context, "dspace"); + MetadataSchema dspaceSchema = metadataSchemaService.find(context.getSession(), "dspace"); subjectField.setMetadataSchema(dspaceSchema); issnField.setMetadataSchema(dspaceSchema); @@ -38,35 +40,35 @@ public void testMetadataFieldCaching() throws Exception { // Searching for dspace.subject and dspace.identifier.issn should return the already stored metadatafields assertEquals( subjectField, - metadataFieldService.findByElement(context, "dspace", "subject", null) + metadataFieldService.findByElement(context.getSession(), "dspace", "subject", null) ); assertEquals( issnField, - metadataFieldService.findByElement(context, "dspace", "identifier", "issn") + metadataFieldService.findByElement(context.getSession(), "dspace", "identifier", "issn") ); // The dspace.subject and dspace.identifier.issn metadatafields should now reference the 'dspace' metadataschema assertEquals( "dspace", metadataFieldService - .findByElement(context, "dspace", "subject", null) + .findByElement(context.getSession(), "dspace", "subject", null) .getMetadataSchema() .getName() ); assertEquals( "dspace", metadataFieldService - .findByElement(context, "dspace", "identifier", "issn") + .findByElement(context.getSession(), "dspace", "identifier", "issn") .getMetadataSchema() .getName() ); // Metadatafields dc.subject and dc.identifier.issn should no longer be found assertNull( - metadataFieldService.findByElement(context, "dc", "subject", null) + metadataFieldService.findByElement(context.getSession(), "dc", "subject", null) ); assertNull( - metadataFieldService.findByElement(context, "dc", "identifier", "issn") + metadataFieldService.findByElement(context.getSession(), "dc", "identifier", "issn") ); // Same tests, new context @@ -76,31 +78,31 @@ public void testMetadataFieldCaching() throws Exception { assertEquals( subjectField, - metadataFieldService.findByElement(context, "dspace", "subject", null) + metadataFieldService.findByElement(context.getSession(), "dspace", "subject", null) ); assertEquals( issnField, - metadataFieldService.findByElement(context, "dspace", "identifier", "issn") + metadataFieldService.findByElement(context.getSession(), "dspace", "identifier", "issn") ); assertEquals( "dspace", metadataFieldService - .findByElement(context, "dspace", "subject", null) + .findByElement(context.getSession(), "dspace", "subject", null) .getMetadataSchema() .getName() ); assertEquals( "dspace", metadataFieldService - .findByElement(context, "dspace", "identifier", "issn") + .findByElement(context.getSession(), "dspace", "identifier", "issn") .getMetadataSchema() .getName() ); assertNull( - metadataFieldService.findByElement(context, "dc", "subject", null) + metadataFieldService.findByElement(context.getSession(), "dc", "subject", null) ); assertNull( - metadataFieldService.findByElement(context, "dc", "identifier", "issn") + metadataFieldService.findByElement(context.getSession(), "dc", "identifier", "issn") ); } } diff --git a/dspace-api/src/test/java/org/dspace/content/virtual/RelatedTest.java b/dspace-api/src/test/java/org/dspace/content/virtual/RelatedTest.java index cb49554d213a..f56fcde496d2 100644 --- a/dspace-api/src/test/java/org/dspace/content/virtual/RelatedTest.java +++ b/dspace-api/src/test/java/org/dspace/content/virtual/RelatedTest.java @@ -133,9 +133,9 @@ public void testGetValues() throws Exception { when(relationshipType.getLeftwardType()).thenReturn("LeftwardType"); when(relationshipType.getLeftType()).thenReturn(entityType); when(entityService.getAllRelationshipTypes(context, entity)).thenReturn(relationshipTypeList); - when(entityService.findByItemId(context, item.getID())).thenReturn(entity); + when(entityService.findByItemId(context.getSession(), item.getID())).thenReturn(entity); when(entityService.getType(context, entity)).thenReturn(entityType); - when(relationshipService.findByItemAndRelationshipType(context, item, relationshipType)) + when(relationshipService.findByItemAndRelationshipType(context.getSession(), item, relationshipType)) .thenReturn(relationshipList); when(relationship.getRelationshipType()).thenReturn(relationshipType); when(relationship.getLeftPlace()).thenReturn(0); diff --git a/dspace-api/src/test/java/org/dspace/core/ContextTest.java b/dspace-api/src/test/java/org/dspace/core/ContextTest.java index c6cd849d2110..3ac62cb500bb 100644 --- a/dspace-api/src/test/java/org/dspace/core/ContextTest.java +++ b/dspace-api/src/test/java/org/dspace/core/ContextTest.java @@ -506,7 +506,7 @@ public void testGetSpecialGroups() throws SQLException, AuthorizeException, IOEx instance.setSpecialGroup(groupID); // Also add Administrator group as a special group - Group adminGroup = groupService.findByName(instance, Group.ADMIN); + Group adminGroup = groupService.findByName(instance.getSession(), Group.ADMIN); UUID adminGroupID = adminGroup.getID(); instance.setSpecialGroup(adminGroupID); diff --git a/dspace-api/src/test/java/org/dspace/curate/CuratorReportTest.java b/dspace-api/src/test/java/org/dspace/curate/CuratorReportTest.java index 489161bf8de7..7089a876ff5f 100644 --- a/dspace-api/src/test/java/org/dspace/curate/CuratorReportTest.java +++ b/dspace-api/src/test/java/org/dspace/curate/CuratorReportTest.java @@ -79,7 +79,7 @@ public void testCurate_Reporting() context.turnOffAuthorisationSystem(); Site site = ContentServiceFactory.getInstance() .getSiteService() - .findSite(context); + .findSite(context.getSession()); Community community = ContentServiceFactory.getInstance() .getCommunityService() .create(null, context); diff --git a/dspace-api/src/test/java/org/dspace/curate/CuratorTest.java b/dspace-api/src/test/java/org/dspace/curate/CuratorTest.java index 0abb3b48ac85..795a3e947615 100644 --- a/dspace-api/src/test/java/org/dspace/curate/CuratorTest.java +++ b/dspace-api/src/test/java/org/dspace/curate/CuratorTest.java @@ -75,7 +75,7 @@ public void testCurate_DSpaceObject() throws Exception { instance.addParameters(parameters); // Curate the site. - DSpaceObject dso = SITE_SERVICE.findSite(context); + DSpaceObject dso = SITE_SERVICE.findSite(context.getSession()); instance.curate(context, dso); // Check the result. diff --git a/dspace-api/src/test/java/org/dspace/eperson/EPersonInWorkflowIT.java b/dspace-api/src/test/java/org/dspace/eperson/EPersonInWorkflowIT.java index 0aa549e8c829..de4f579da9aa 100644 --- a/dspace-api/src/test/java/org/dspace/eperson/EPersonInWorkflowIT.java +++ b/dspace-api/src/test/java/org/dspace/eperson/EPersonInWorkflowIT.java @@ -1541,7 +1541,7 @@ private void assertDeletionOfEperson(EPerson ePerson, boolean shouldSucceed) thr } } - EPerson ePersonCheck = ePersonService.find(context, ePerson.getID()); + EPerson ePersonCheck = ePersonService.find(context.getSession(), ePerson.getID()); if (shouldSucceed) { assertTrue(deleteSuccess); assertFalse(deleteError); diff --git a/dspace-api/src/test/java/org/dspace/eperson/EPersonTest.java b/dspace-api/src/test/java/org/dspace/eperson/EPersonTest.java index b98db573566d..9d6ce05cc13d 100644 --- a/dspace-api/src/test/java/org/dspace/eperson/EPersonTest.java +++ b/dspace-api/src/test/java/org/dspace/eperson/EPersonTest.java @@ -121,7 +121,7 @@ public void destroy() { } if (item != null) { try { - item = itemService.find(context, item.getID()); + item = itemService.find(context.getSession(), item.getID()); itemService.delete(context, item); } catch (SQLException | AuthorizeException | IOException ex) { log.error("Error in destroy", ex); @@ -130,7 +130,7 @@ public void destroy() { } if (this.collection != null) { try { - this.collection = collectionService.find(context, this.collection.getID()); + this.collection = collectionService.find(context.getSession(), this.collection.getID()); collectionService.delete(context, this.collection); } catch (SQLException | AuthorizeException | IOException ex) { log.error("Error in destroy", ex); @@ -139,7 +139,7 @@ public void destroy() { } if (this.community != null) { try { - this.community = communityService.find(context, this.community.getID()); + this.community = communityService.find(context.getSession(), this.community.getID()); communityService.delete(context, this.community); } catch (SQLException | AuthorizeException | IOException ex) { log.error("Error in destroy", ex); @@ -899,7 +899,7 @@ public void testDeletionOfSubmitterWithAnItem() ": " + ex.getMessage()); } } - item = itemService.find(context, item.getID()); + item = itemService.find(context.getSession(), item.getID()); assertNotNull("Could not load item after cascading deletion of the submitter.", item); assertNull("Cascading deletion of an EPerson did not set the submitter of an submitted item null.", item.getSubmitter()); @@ -946,7 +946,7 @@ public void testCascadingDeletionOfUnsubmittedWorkspaceItem() try { WorkspaceItem restoredWsi = workspaceItemService.find(context, wsi.getID()); - Item restoredItem = itemService.find(context, item.getID()); + Item restoredItem = itemService.find(context.getSession(), item.getID()); assertNull("An unsubmited WorkspaceItem wasn't deleted while cascading deleting the submitter.", restoredWsi); assertNull("An unsubmited Item wasn't deleted while cascading deleting the submitter.", restoredItem); diff --git a/dspace-api/src/test/java/org/dspace/eperson/GroupServiceImplTest.java b/dspace-api/src/test/java/org/dspace/eperson/GroupServiceImplTest.java index 2098438b204d..a57cc1de0feb 100644 --- a/dspace-api/src/test/java/org/dspace/eperson/GroupServiceImplTest.java +++ b/dspace-api/src/test/java/org/dspace/eperson/GroupServiceImplTest.java @@ -93,6 +93,7 @@ public void testSetName() /** * Test of setName method applied to a 'permanent' Group. + * @throws java.lang.Exception passed through. */ @Test(expected = SQLException.class) public void testSetName_permanent() @@ -100,7 +101,7 @@ public void testSetName_permanent() System.out.println("setName on a 'permanent' Group"); String name = "NOTANONYMOUS"; GroupService groupService = EPersonServiceFactory.getInstance().getGroupService(); - Group group = groupService.findByName(context, Group.ANONYMOUS); + Group group = groupService.findByName(context.getSession(), Group.ANONYMOUS); groupService.setName(group, name); } @@ -400,13 +401,14 @@ public void testSearchResultCount() /** * Test of delete method applied to a 'permanent' Group. + * @throws java.lang.Exception passed through. */ @Test(expected = SQLException.class) public void testDelete_permanent() throws Exception { System.out.println("delete on a 'permanent' Group"); GroupService groupService = EPersonServiceFactory.getInstance().getGroupService(); - Group group = groupService.findByName(context, Group.ANONYMOUS); + Group group = groupService.findByName(context.getSession(), Group.ANONYMOUS); groupService.delete(context, group); } diff --git a/dspace-api/src/test/java/org/dspace/eperson/GroupTest.java b/dspace-api/src/test/java/org/dspace/eperson/GroupTest.java index ee9c883f1be6..0f9675508bcd 100644 --- a/dspace-api/src/test/java/org/dspace/eperson/GroupTest.java +++ b/dspace-api/src/test/java/org/dspace/eperson/GroupTest.java @@ -161,7 +161,7 @@ public void setGroupNameOnPermanentGroup() throws SQLException, AuthorizeExcepti @Test public void findByName() throws SQLException { - Group group = groupService.findByName(context, "topGroup"); + Group group = groupService.findByName(context.getSession(), "topGroup"); assertThat("findByName 1", group, notNullValue()); assertThat("findByName 2", group.getName(), notNullValue()); assertThat("findByName 2", group.getName(), equalTo("topGroup")); @@ -169,9 +169,9 @@ public void findByName() throws SQLException { @Test public void findAll() throws SQLException { - List groups = groupService.findAll(context, null); + List groups = groupService.findAll(context.getSession(), null); assertThat("findAll 1", groups, notNullValue()); - assertTrue("findAll 2", 0 < groups.size()); + assertTrue("findAll 2", !groups.isEmpty()); } //No longer possible, wouldn't make sense since we are using UUID'S @@ -196,7 +196,7 @@ public void findAll() throws SQLException { @Test public void findAllNameSort() throws SQLException { // Retrieve groups sorted by name - List groups = groupService.findAll(context, null); + List groups = groupService.findAll(context.getSession(), null); assertThat("findAllNameSort 1", groups, notNullValue()); @@ -507,7 +507,7 @@ public void isMemberContextSpecialGroupDbMembership() @Test public void isPermanent() throws SQLException { - Group anonymousGroup = groupService.findByName(context, Group.ANONYMOUS); + Group anonymousGroup = groupService.findByName(context.getSession(), Group.ANONYMOUS); assertTrue("Anonymous group should be 'permanent'", anonymousGroup.isPermanent()); assertFalse("topGroup should *not* be 'permanent'", topGroup.isPermanent()); } diff --git a/dspace-api/src/test/java/org/dspace/handle/dao/impl/HandleDAOImplTest.java b/dspace-api/src/test/java/org/dspace/handle/dao/impl/HandleDAOImplTest.java index efc1db61b270..349bec07f5ce 100644 --- a/dspace-api/src/test/java/org/dspace/handle/dao/impl/HandleDAOImplTest.java +++ b/dspace-api/src/test/java/org/dspace/handle/dao/impl/HandleDAOImplTest.java @@ -146,12 +146,13 @@ public void updateHandlesWithNewPrefix() throws Exception { handleDAO.updateHandlesWithNewPrefix(context.getSession(), newPrefix, HANDLE_PREFIX); context.commit(); - assertEquals(newPrefix + "/" + SUFFIX_1, itemService.find(context, item1.getID()).getHandle()); - assertEquals(newPrefix + "/" + SUFFIX_2, itemService.find(context, item2.getID()).getHandle()); - assertEquals(newPrefix + "/" + SUFFIX_3, itemService.find(context, item3.getID()).getHandle()); + assertEquals(newPrefix + "/" + SUFFIX_1, itemService.find(context.getSession(), item1.getID()).getHandle()); + assertEquals(newPrefix + "/" + SUFFIX_2, itemService.find(context.getSession(), item2.getID()).getHandle()); + assertEquals(newPrefix + "/" + SUFFIX_3, itemService.find(context.getSession(), item3.getID()).getHandle()); //Ensure that records not matching the old prefix are not touched - assertEquals("hdl:custom-prefix/" + SUFFIX_4, itemService.find(context, item4.getID()).getHandle()); + assertEquals("hdl:custom-prefix/" + SUFFIX_4, + itemService.find(context.getSession(), item4.getID()).getHandle()); context.restoreAuthSystemState(); } diff --git a/dspace-api/src/test/java/org/dspace/xmlworkflow/XmlWorkflowServiceIT.java b/dspace-api/src/test/java/org/dspace/xmlworkflow/XmlWorkflowServiceIT.java index 865abaca2152..dad079f13610 100644 --- a/dspace-api/src/test/java/org/dspace/xmlworkflow/XmlWorkflowServiceIT.java +++ b/dspace-api/src/test/java/org/dspace/xmlworkflow/XmlWorkflowServiceIT.java @@ -67,7 +67,7 @@ public class XmlWorkflowServiceIT extends AbstractIntegrationTestWithDatabase { */ @After public void cleanup() throws SQLException, AuthorizeException, IOException { - Group reviewManagers = groupService.findByName(context, "ReviewManagers"); + Group reviewManagers = groupService.findByName(context.getSession(), "ReviewManagers"); if (reviewManagers != null) { groupService.delete(context, reviewManagers); } diff --git a/dspace-iiif/src/main/java/org/dspace/app/iiif/IIIFServiceFacade.java b/dspace-iiif/src/main/java/org/dspace/app/iiif/IIIFServiceFacade.java index 7bb723ea652c..ca9adf601b1e 100644 --- a/dspace-iiif/src/main/java/org/dspace/app/iiif/IIIFServiceFacade.java +++ b/dspace-iiif/src/main/java/org/dspace/app/iiif/IIIFServiceFacade.java @@ -73,7 +73,7 @@ public String getManifest(Context context, UUID id) throws ResourceNotFoundException { Item item; try { - item = itemService.find(context, id); + item = itemService.find(context.getSession(), id); } catch (SQLException e) { throw new RuntimeException(e.getMessage(), e); } @@ -97,7 +97,7 @@ public String getCanvas(Context context, UUID id, String canvasId) throws ResourceNotFoundException { Item item; try { - item = itemService.find(context, id); + item = itemService.find(context.getSession(), id); } catch (SQLException e) { throw new RuntimeException(e.getMessage(), e); } diff --git a/dspace-iiif/src/main/java/org/dspace/app/iiif/service/AnnotationListService.java b/dspace-iiif/src/main/java/org/dspace/app/iiif/service/AnnotationListService.java index e738b80105f6..e8546ce12c0b 100644 --- a/dspace-iiif/src/main/java/org/dspace/app/iiif/service/AnnotationListService.java +++ b/dspace-iiif/src/main/java/org/dspace/app/iiif/service/AnnotationListService.java @@ -78,7 +78,7 @@ public String getSeeAlsoAnnotations(Context context, UUID id) // We need the DSpace item to proceed Item item; try { - item = itemService.find(context, id); + item = itemService.find(context.getSession(), id); } catch (SQLException e) { throw new RuntimeException(e.getMessage(), e); } diff --git a/dspace-oai/src/main/java/org/dspace/xoai/app/XOAI.java b/dspace-oai/src/main/java/org/dspace/xoai/app/XOAI.java index e27a3ee947cb..a883142e6e71 100644 --- a/dspace-oai/src/main/java/org/dspace/xoai/app/XOAI.java +++ b/dspace-oai/src/main/java/org/dspace/xoai/app/XOAI.java @@ -104,7 +104,7 @@ public class XOAI { private final static ConfigurationService configurationService = DSpaceServicesFactory.getInstance() .getConfigurationService(); - private List extensionPlugins; + private final List extensionPlugins; private List getFileFormats(Item item) { List formats = new ArrayList<>(); @@ -195,9 +195,9 @@ private int index(Date last) throws DSpaceSolrIndexerException, IOException { */ try { Iterator discoverableChangedItems = itemService - .findInArchiveOrWithdrawnDiscoverableModifiedSince(context, last); + .findInArchiveOrWithdrawnDiscoverableModifiedSince(context.getSession(), last); Iterator nonDiscoverableChangedItems = itemService - .findInArchiveOrWithdrawnNonDiscoverableModifiedSince(context, last); + .findInArchiveOrWithdrawnNonDiscoverableModifiedSince(context.getSession(), last); Iterator possiblyChangedItems = getItemsWithPossibleChangesBefore(last); return this.index(discoverableChangedItems) + this.index(nonDiscoverableChangedItems) + this.index(possiblyChangedItems); @@ -237,7 +237,8 @@ private Iterator getItemsWithPossibleChangesBefore(Date last) throws DSpac nextCursorMark = response.getNextCursorMark(); for (SolrDocument document : response.getResults()) { - Item item = itemService.find(context, UUID.fromString((String) document.getFieldValue("item.id"))); + Item item = itemService.find(context.getSession(), + UUID.fromString((String) document.getFieldValue("item.id"))); if (nonNull(item)) { if (nonNull(item.getLastModified())) { if (item.getLastModified().before(last)) { @@ -266,10 +267,10 @@ private int indexAll() throws DSpaceSolrIndexerException { // Index both in_archive items AND withdrawn items. Withdrawn items // will be flagged withdrawn // (in order to notify external OAI harvesters of their new status) - Iterator discoverableItems = itemService.findInArchiveOrWithdrawnDiscoverableModifiedSince(context, - null); + Iterator discoverableItems + = itemService.findInArchiveOrWithdrawnDiscoverableModifiedSince(context.getSession(), null); Iterator nonDiscoverableItems = itemService - .findInArchiveOrWithdrawnNonDiscoverableModifiedSince(context, null); + .findInArchiveOrWithdrawnNonDiscoverableModifiedSince(context.getSession(), null); return this.index(discoverableItems) + this.index(nonDiscoverableItems); } catch (SQLException ex) { throw new DSpaceSolrIndexerException(ex.getMessage(), ex); @@ -674,10 +675,10 @@ private void compile() throws CompilingException { if (last == null) { System.out.println("Retrieving all items to be compiled"); - iterator = itemService.findAll(context); + iterator = itemService.findAll(context.getSession()); } else { System.out.println("Retrieving items modified after " + last + " to be compiled"); - iterator = itemService.findByLastModifiedSince(context, last); + iterator = itemService.findByLastModifiedSince(context.getSession(), last); } while (iterator.hasNext()) { diff --git a/dspace-oai/src/main/java/org/dspace/xoai/services/impl/DSpaceCollectionsService.java b/dspace-oai/src/main/java/org/dspace/xoai/services/impl/DSpaceCollectionsService.java index 1dc1bd893774..9df8fb7e13e0 100644 --- a/dspace-oai/src/main/java/org/dspace/xoai/services/impl/DSpaceCollectionsService.java +++ b/dspace-oai/src/main/java/org/dspace/xoai/services/impl/DSpaceCollectionsService.java @@ -35,7 +35,7 @@ public List getAllSubCollections(ContextService contextService, UUID commu Queue comqueue = new LinkedList<>(); List list = new ArrayList<>(); try { - comqueue.add(communityService.find(contextService.getContext(), communityId)); + comqueue.add(communityService.find(contextService.getContext().getSession(), communityId)); } catch (ContextServiceException e) { throw new SQLException(e); } diff --git a/dspace-oai/src/main/java/org/dspace/xoai/services/impl/DSpaceFieldResolver.java b/dspace-oai/src/main/java/org/dspace/xoai/services/impl/DSpaceFieldResolver.java index 0fdd6c1f489b..40439ae4e9ec 100644 --- a/dspace-oai/src/main/java/org/dspace/xoai/services/impl/DSpaceFieldResolver.java +++ b/dspace-oai/src/main/java/org/dspace/xoai/services/impl/DSpaceFieldResolver.java @@ -38,7 +38,8 @@ public int getFieldID(Context context, String field) throws InvalidMetadataField qualifier = pieces[2]; } - MetadataField metadataField = metadataFieldService.findByElement(context, schema, element, qualifier); + MetadataField metadataField = metadataFieldService.findByElement(context.getSession(), + schema, element, qualifier); if (null != metadataField) { metadataFieldCache.add(field, metadataField.getID()); } else { diff --git a/dspace-oai/src/main/java/org/dspace/xoai/services/impl/xoai/DSpaceSetRepository.java b/dspace-oai/src/main/java/org/dspace/xoai/services/impl/xoai/DSpaceSetRepository.java index c322c988a568..14f40f97bdc1 100644 --- a/dspace-oai/src/main/java/org/dspace/xoai/services/impl/xoai/DSpaceSetRepository.java +++ b/dspace-oai/src/main/java/org/dspace/xoai/services/impl/xoai/DSpaceSetRepository.java @@ -48,7 +48,7 @@ public DSpaceSetRepository(Context context) { private int getCommunityCount() { try { - List communityList = communityService.findAll(_context); + List communityList = communityService.findAll(_context.getSession()); return communityList.size(); } catch (SQLException e) { @@ -59,7 +59,7 @@ private int getCommunityCount() { private int getCollectionCount() { try { - List collectionList = collectionService.findAll(_context); + List collectionList = collectionService.findAll(_context.getSession()); return collectionList.size(); } catch (SQLException e) { @@ -77,10 +77,10 @@ private int getCollectionCount() { * @return some Sets representing the Community list segment. */ private List community(int offset, int length) { - List array = new ArrayList(); + List array = new ArrayList<>(); try { - List communityList = communityService.findAll(_context, length, offset); + List communityList = communityService.findAll(_context.getSession(), length, offset); for (Community community : communityList) { array.add(DSpaceSet.newDSpaceCommunitySet( @@ -102,10 +102,10 @@ private List community(int offset, int length) { * @return some Sets representing the Collection list segment. */ private List collection(int offset, int length) { - List array = new ArrayList(); + List array = new ArrayList<>(); try { - List collectionList = collectionService.findAll(_context, length, offset); + List collectionList = collectionService.findAll(_context.getSession(), length, offset); for (Collection collection : collectionList) { array.add(DSpaceSet.newDSpaceCollectionSet( @@ -122,7 +122,7 @@ private List collection(int offset, int length) { public ListSetsResult retrieveSets(int offset, int length) { // Only database sets (virtual sets are added by lyncode common library) log.debug("Querying sets. Offset: " + offset + " - Length: " + length); - List array = new ArrayList(); + List array = new ArrayList<>(); int communityCount = this.getCommunityCount(); log.debug("Communities: " + communityCount); int collectionCount = this.getCollectionCount(); diff --git a/dspace-rest/src/main/java/org/dspace/rest/BitstreamResource.java b/dspace-rest/src/main/java/org/dspace/rest/BitstreamResource.java index 3a6ad859603e..ed99d0cb80ac 100644 --- a/dspace-rest/src/main/java/org/dspace/rest/BitstreamResource.java +++ b/dspace-rest/src/main/java/org/dspace/rest/BitstreamResource.java @@ -69,7 +69,7 @@ public class BitstreamResource extends Resource { .getResourcePolicyService(); protected GroupService groupService = EPersonServiceFactory.getInstance().getGroupService(); - private static Logger log = org.apache.logging.log4j.LogManager.getLogger(BitstreamResource.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(); /** * Return bitstream properties without file data. It can throw @@ -218,11 +218,11 @@ public Bitstream[] getBitstreams(@QueryParam("expand") String expand, log.info("Reading bitstreams.(offset=" + offset + ",limit=" + limit + ")"); org.dspace.core.Context context = null; - List bitstreams = new ArrayList(); + List bitstreams = new ArrayList<>(); try { context = createContext(); - List dspaceBitstreams = bitstreamService.findAll(context); + List dspaceBitstreams = bitstreamService.findAll(context.getSession()); if (!((limit != null) && (limit >= 0) && (offset != null) && (offset >= 0))) { log.warn("Paging was badly set."); @@ -459,7 +459,7 @@ public Response updateBitstream(@PathParam("bitstream_id") String bitstreamId, B } dspaceBitstream.setName(context, bitstream.getName()); Integer sequenceId = bitstream.getSequenceId(); - if (sequenceId != null && sequenceId.intValue() != -1) { + if (sequenceId != null && sequenceId != -1) { dspaceBitstream.setSequenceID(sequenceId); } @@ -731,7 +731,7 @@ private void addPolicyToBitstream(org.dspace.core.Context context, ResourcePolic throws SQLException, AuthorizeException { org.dspace.authorize.ResourcePolicy dspacePolicy = resourcePolicyService.create(context); dspacePolicy.setAction(policy.getActionInt()); - dspacePolicy.setGroup(groupService.findByIdOrLegacyId(context, policy.getGroupId())); + dspacePolicy.setGroup(groupService.findByIdOrLegacyId(context.getSession(), policy.getGroupId())); dspacePolicy.setdSpaceObject(dspaceBitstream); dspacePolicy.setStartDate(policy.getStartDate()); dspacePolicy.setEndDate(policy.getEndDate()); @@ -757,7 +757,7 @@ private org.dspace.content.Bitstream findBitstream(org.dspace.core.Context conte throws WebApplicationException { org.dspace.content.Bitstream bitstream = null; try { - bitstream = bitstreamService.findByIdOrLegacyId(context, id); + bitstream = bitstreamService.findByIdOrLegacyId(context.getSession(), id); if ((bitstream == null) || (bitstreamService.getParentObject(context, bitstream) == null)) { context.abort(); diff --git a/dspace-rest/src/main/java/org/dspace/rest/CollectionsResource.java b/dspace-rest/src/main/java/org/dspace/rest/CollectionsResource.java index 395a0af76643..fc0c29fcb141 100644 --- a/dspace-rest/src/main/java/org/dspace/rest/CollectionsResource.java +++ b/dspace-rest/src/main/java/org/dspace/rest/CollectionsResource.java @@ -197,7 +197,8 @@ public org.dspace.rest.common.Collection[] getCollections(@QueryParam("expand") offset = 0; } - List dspaceCollections = collectionService.findAll(context, limit, offset); + List dspaceCollections + = collectionService.findAll(context.getSession(), limit, offset); for (org.dspace.content.Collection dspaceCollection : dspaceCollections) { if (authorizeService .authorizeActionBoolean(context, dspaceCollection, org.dspace.core.Constants.READ)) { @@ -281,8 +282,9 @@ public org.dspace.rest.common.Item[] getCollectionItems(@PathParam("collection_i headers, request, context); items = new ArrayList<>(); - Iterator dspaceItems = itemService.findByCollection(context, dspaceCollection, - limit, offset); + Iterator dspaceItems + = itemService.findByCollection(context.getSession(), + dspaceCollection, limit, offset); while (dspaceItems.hasNext()) { org.dspace.content.Item dspaceItem = dspaceItems.next(); @@ -597,8 +599,8 @@ public Response deleteCollectionItem(@PathParam("collection_id") String collecti context = createContext(); org.dspace.content.Collection dspaceCollection = collectionService - .findByIdOrLegacyId(context, collectionId); - org.dspace.content.Item item = itemService.findByIdOrLegacyId(context, itemId); + .findByIdOrLegacyId(context.getSession(), collectionId); + org.dspace.content.Item item = itemService.findByIdOrLegacyId(context.getSession(), itemId); if (dspaceCollection == null) { @@ -678,7 +680,7 @@ public Collection findCollectionByName(String name, @Context HttpHeaders headers try { context = createContext(); - List dspaceCollections = collectionService.findAll(context); + List dspaceCollections = collectionService.findAll(context.getSession()); //TODO, this would be more efficient with a findByName query for (org.dspace.content.Collection dspaceCollection : dspaceCollections) { @@ -729,7 +731,7 @@ private org.dspace.content.Collection findCollection(org.dspace.core.Context con throws WebApplicationException { org.dspace.content.Collection collection = null; try { - collection = collectionService.findByIdOrLegacyId(context, id); + collection = collectionService.findByIdOrLegacyId(context.getSession(), id); if (collection == null) { context.abort(); diff --git a/dspace-rest/src/main/java/org/dspace/rest/CommunitiesResource.java b/dspace-rest/src/main/java/org/dspace/rest/CommunitiesResource.java index c3d4840910d9..0d376f8c6b44 100644 --- a/dspace-rest/src/main/java/org/dspace/rest/CommunitiesResource.java +++ b/dspace-rest/src/main/java/org/dspace/rest/CommunitiesResource.java @@ -163,7 +163,7 @@ public Community[] getCommunities(@QueryParam("expand") String expand, try { context = createContext(); - List dspaceCommunities = communityService.findAll(context); + List dspaceCommunities = communityService.findAll(context.getSession()); communities = new ArrayList<>(); if (!((limit != null) && (limit >= 0) && (offset != null) && (offset >= 0))) { @@ -239,7 +239,7 @@ public Community[] getTopCommunities(@QueryParam("expand") String expand, try { context = createContext(); - List dspaceCommunities = communityService.findAllTop(context); + List dspaceCommunities = communityService.findAllTop(context.getSession()); communities = new ArrayList<>(); if (!((limit != null) && (limit >= 0) && (offset != null) && (offset >= 0))) { @@ -864,7 +864,8 @@ public Response deleteCommunityCollection(@PathParam("community_id") String comm org.dspace.content.Community community = findCommunity(context, communityId, org.dspace.core.Constants.WRITE); - org.dspace.content.Collection collection = collectionService.findByIdOrLegacyId(context, collectionId); + org.dspace.content.Collection collection + = collectionService.findByIdOrLegacyId(context.getSession(), collectionId); if (collection == null) { context.abort(); @@ -955,7 +956,8 @@ public Response deleteCommunityCommunity(@PathParam("community_id") String paren org.dspace.content.Community parentCommunity = findCommunity(context, parentCommunityId, org.dspace.core.Constants.WRITE); - org.dspace.content.Community subcommunity = communityService.findByIdOrLegacyId(context, subcommunityId); + org.dspace.content.Community subcommunity + = communityService.findByIdOrLegacyId(context.getSession(), subcommunityId); if (subcommunity == null) { context.abort(); @@ -1026,7 +1028,7 @@ private org.dspace.content.Community findCommunity(org.dspace.core.Context conte throws WebApplicationException { org.dspace.content.Community community = null; try { - community = communityService.findByIdOrLegacyId(context, id); + community = communityService.findByIdOrLegacyId(context.getSession(), id); if (community == null) { context.abort(); diff --git a/dspace-rest/src/main/java/org/dspace/rest/FilteredCollectionsResource.java b/dspace-rest/src/main/java/org/dspace/rest/FilteredCollectionsResource.java index 133ed50d9cdb..2dd833f2a002 100644 --- a/dspace-rest/src/main/java/org/dspace/rest/FilteredCollectionsResource.java +++ b/dspace-rest/src/main/java/org/dspace/rest/FilteredCollectionsResource.java @@ -45,7 +45,7 @@ public class FilteredCollectionsResource extends Resource { protected AuthorizeService authorizeService = AuthorizeServiceFactory.getInstance().getAuthorizeService(); protected CollectionService collectionService = ContentServiceFactory.getInstance().getCollectionService(); protected ConfigurationService configurationService = DSpaceServicesFactory.getInstance().getConfigurationService(); - private static Logger log = org.apache.logging.log4j.LogManager.getLogger(FilteredCollectionsResource.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(); /** * Return array of all collections in DSpace. You can add more properties @@ -97,7 +97,7 @@ public org.dspace.rest.common.FilteredCollection[] getCollections(@QueryParam("e log.info("Reading all filtered collections.(offset=" + offset + ",limit=" + limit + ")"); org.dspace.core.Context context = null; - List collections = new ArrayList(); + List collections = new ArrayList<>(); try { context = createContext(); @@ -108,7 +108,8 @@ public org.dspace.rest.common.FilteredCollection[] getCollections(@QueryParam("e offset = 0; } - List dspaceCollections = collectionService.findAll(context, limit, offset); + List dspaceCollections + = collectionService.findAll(context.getSession(), limit, offset); for (org.dspace.content.Collection dspaceCollection : dspaceCollections) { if (authorizeService .authorizeActionBoolean(context, dspaceCollection, org.dspace.core.Constants.READ)) { @@ -192,7 +193,8 @@ public org.dspace.rest.common.FilteredCollection getCollection(@PathParam("colle try { context = createContext(); - org.dspace.content.Collection collection = collectionService.findByIdOrLegacyId(context, collection_id); + org.dspace.content.Collection collection + = collectionService.findByIdOrLegacyId(context.getSession(), collection_id); if (authorizeService.authorizeActionBoolean(context, collection, org.dspace.core.Constants.READ)) { writeStats(collection, UsageEvent.Action.VIEW, user_ip, user_agent, xforwardedfor, headers, request, context); diff --git a/dspace-rest/src/main/java/org/dspace/rest/FilteredItemsResource.java b/dspace-rest/src/main/java/org/dspace/rest/FilteredItemsResource.java index 0f4331adc55d..ce1c977b2087 100644 --- a/dspace-rest/src/main/java/org/dspace/rest/FilteredItemsResource.java +++ b/dspace-rest/src/main/java/org/dspace/rest/FilteredItemsResource.java @@ -58,7 +58,7 @@ public class FilteredItemsResource extends Resource { protected SiteService siteService = ContentServiceFactory.getInstance().getSiteService(); protected ConfigurationService configurationService = DSpaceServicesFactory.getInstance().getConfigurationService(); - private static Logger log = org.apache.logging.log4j.LogManager.getLogger(FilteredItemsResource.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(); /** * Return instance of collection with passed id. You can add more properties @@ -128,7 +128,7 @@ public org.dspace.rest.common.ItemFilter getItemQuery(@QueryParam("expand") Stri context = createContext(); int index = Math.min(query_field.size(), Math.min(query_op.size(), query_val.size())); - List itemFilterQueries = new ArrayList(); + List itemFilterQueries = new ArrayList<>(); for (int i = 0; i < index; i++) { itemFilterQueries.add(new ItemFilterQuery(query_field.get(i), query_op.get(i), query_val.get(i))); } @@ -142,10 +142,10 @@ public org.dspace.rest.common.ItemFilter getItemQuery(@QueryParam("expand") Stri List> listFieldList = getMetadataFieldsList(context, query_field); Iterator childItems = itemService - .findByMetadataQuery(context, listFieldList, query_op, query_val, uuids, regexClause, offset, limit); + .findByMetadataQuery(context.getSession(), listFieldList, query_op, query_val, uuids, regexClause, offset, limit); int count = itemFilterSet.processSaveItems(context, servletContext, childItems, true, expand); - writeStats(siteService.findSite(context), UsageEvent.Action.VIEW, user_ip, user_agent, xforwardedfor, + writeStats(siteService.findSite(context.getSession()), UsageEvent.Action.VIEW, user_ip, user_agent, xforwardedfor, headers, request, context); result.annotateQuery(query_field, query_op, query_val); result.setUnfilteredItemCount(count); @@ -166,9 +166,9 @@ public org.dspace.rest.common.ItemFilter getItemQuery(@QueryParam("expand") Stri private List> getMetadataFieldsList(org.dspace.core.Context context, List query_field) throws SQLException { - List> listFieldList = new ArrayList>(); + List> listFieldList = new ArrayList<>(); for (String s : query_field) { - ArrayList fields = new ArrayList(); + ArrayList fields = new ArrayList<>(); listFieldList.add(fields); if (s.equals("*")) { continue; @@ -189,11 +189,12 @@ private List> getMetadataFieldsList(org.dspace.core.Context if (Item.ANY.equals(qualifier)) { for (MetadataField mf : metadataFieldService - .findFieldsByElementNameUnqualified(context, schema, element)) { + .findFieldsByElementNameUnqualified(context.getSession(), schema, element)) { fields.add(mf); } } else { - MetadataField mf = metadataFieldService.findByElement(context, schema, element, qualifier); + MetadataField mf = metadataFieldService.findByElement(context.getSession(), + schema, element, qualifier); if (mf != null) { fields.add(mf); } @@ -203,7 +204,7 @@ private List> getMetadataFieldsList(org.dspace.core.Context } private List getUuidsFromStrings(List collSel) { - List uuids = new ArrayList(); + List uuids = new ArrayList<>(); for (String s : collSel) { try { uuids.add(UUID.fromString(s)); diff --git a/dspace-rest/src/main/java/org/dspace/rest/HierarchyResource.java b/dspace-rest/src/main/java/org/dspace/rest/HierarchyResource.java index b2ffc559b0dc..2adbc81b9101 100644 --- a/dspace-rest/src/main/java/org/dspace/rest/HierarchyResource.java +++ b/dspace-rest/src/main/java/org/dspace/rest/HierarchyResource.java @@ -45,7 +45,7 @@ @Path("/hierarchy") @Produces( {MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML}) public class HierarchyResource extends Resource { - private static Logger log = org.apache.logging.log4j.LogManager.getLogger(HierarchyResource.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(); protected SiteService siteService = ContentServiceFactory.getInstance().getSiteService(); protected CommunityService communityService = ContentServiceFactory.getInstance().getCommunityService(); protected AuthorizeService authorizeService = AuthorizeServiceFactory.getInstance().getAuthorizeService(); @@ -82,11 +82,11 @@ public HierarchySite getHierarchy( try { context = createContext(); - Site site = siteService.findSite(context); + Site site = siteService.findSite(context.getSession()); repo.setId(site.getID().toString()); repo.setName(site.getName()); repo.setHandle(site.getHandle()); - List dspaceCommunities = communityService.findAllTop(context); + List dspaceCommunities = communityService.findAllTop(context.getSession()); processCommunity(context, repo, dspaceCommunities); } catch (Exception e) { processException(e.getMessage(), context); @@ -108,10 +108,10 @@ private void processCommunity(org.dspace.core.Context context, HierarchyCommunit if (communities == null) { return; } - if (communities.size() == 0) { + if (communities.isEmpty()) { return; } - List parentComms = new ArrayList(); + List parentComms = new ArrayList<>(); parent.setCommunities(parentComms); for (Community comm : communities) { if (!authorizeService.authorizeActionBoolean(context, comm, org.dspace.core.Constants.READ)) { @@ -121,8 +121,8 @@ private void processCommunity(org.dspace.core.Context context, HierarchyCommunit comm.getHandle()); parentComms.add(mycomm); List colls = comm.getCollections(); - if (colls.size() > 0) { - List myColls = new ArrayList(); + if (!colls.isEmpty()) { + List myColls = new ArrayList<>(); mycomm.setCollections(myColls); for (Collection coll : colls) { if (!authorizeService.authorizeActionBoolean(context, coll, org.dspace.core.Constants.READ)) { diff --git a/dspace-rest/src/main/java/org/dspace/rest/ItemsResource.java b/dspace-rest/src/main/java/org/dspace/rest/ItemsResource.java index 615aacac21cc..e6717b875de9 100644 --- a/dspace-rest/src/main/java/org/dspace/rest/ItemsResource.java +++ b/dspace-rest/src/main/java/org/dspace/rest/ItemsResource.java @@ -181,8 +181,8 @@ public Item[] getItems(@QueryParam("expand") String expand, @QueryParam("limit") try { context = createContext(); - Iterator dspaceItems = itemService.findAllUnfiltered(context); - items = new ArrayList(); + Iterator dspaceItems = itemService.findAllUnfiltered(context.getSession()); + items = new ArrayList<>(); if (!((limit != null) && (limit >= 0) && (offset != null) && (offset >= 0))) { log.warn("Paging was badly set, using default values."); @@ -469,7 +469,7 @@ public Bitstream addItemBitstream(@PathParam("item_id") String itemId, InputStre org.dspace.content.Bitstream dspaceBitstream = null; List bundles = itemService.getBundles(dspaceItem, org.dspace.core.Constants.CONTENT_BUNDLE_NAME); - if (bundles != null && bundles.size() != 0) { + if (bundles != null && !bundles.isEmpty()) { bundle = bundles.get(0); // There should be only one bundle ORIGINAL. } if (bundle == null) { @@ -505,8 +505,7 @@ public Bitstream addItemBitstream(@PathParam("item_id") String itemId, InputStre .getBitstreamPolicies(context, dspaceBundle); // Remove default bitstream policies - List policiesToRemove = new ArrayList(); + List policiesToRemove = new ArrayList<>(); for (org.dspace.authorize.ResourcePolicy policy : bitstreamsPolicies) { if (policy.getdSpaceObject().getID().equals(dspaceBitstream.getID())) { policiesToRemove.add(policy); @@ -518,7 +517,7 @@ public Bitstream addItemBitstream(@PathParam("item_id") String itemId, InputStre org.dspace.authorize.ResourcePolicy dspacePolicy = resourcePolicyService.create(context); dspacePolicy.setAction(org.dspace.core.Constants.READ); - dspacePolicy.setGroup(groupService.findByIdOrLegacyId(context, groupId)); + dspacePolicy.setGroup(groupService.findByIdOrLegacyId(context.getSession(), groupId)); dspacePolicy.setdSpaceObject(dspaceBitstream); if ((year != null) || (month != null) || (day != null)) { Date date = new Date(); @@ -543,7 +542,7 @@ public Bitstream addItemBitstream(@PathParam("item_id") String itemId, InputStre } } - dspaceBitstream = bitstreamService.find(context, dspaceBitstream.getID()); + dspaceBitstream = bitstreamService.find(context.getSession(), dspaceBitstream.getID()); bitstream = new Bitstream(dspaceBitstream, servletContext, "", context); context.complete(); @@ -834,7 +833,8 @@ public Response deleteItemBitstream(@PathParam("item_id") String itemId, context = createContext(); org.dspace.content.Item item = findItem(context, itemId, org.dspace.core.Constants.WRITE); - org.dspace.content.Bitstream bitstream = bitstreamService.findByIdOrLegacyId(context, bitstreamId); + org.dspace.content.Bitstream bitstream + = bitstreamService.findByIdOrLegacyId(context.getSession(), bitstreamId); if (bitstream == null) { context.abort(); log.warn("Bitstream(id=" + bitstreamId + ") was not found."); @@ -915,7 +915,7 @@ public Item[] findItemsByMetadataField(MetadataEntry metadataEntry, @QueryParam( + ", language=" + metadataEntry.getLanguage() + ")."); org.dspace.core.Context context = null; - List items = new ArrayList(); + List items = new ArrayList<>(); String[] metadata = mySplit(metadataEntry.getKey()); // Must used own style. @@ -928,7 +928,7 @@ public Item[] findItemsByMetadataField(MetadataEntry metadataEntry, @QueryParam( context = createContext(); Iterator itemIterator = itemService - .findByMetadataField(context, metadataEntry.getSchema(), + .findByMetadataField(context.getSession(), metadataEntry.getSchema(), metadataEntry.getElement(), metadataEntry.getQualifier(), metadataEntry.getValue()); @@ -956,7 +956,7 @@ public Item[] findItemsByMetadataField(MetadataEntry metadataEntry, @QueryParam( processFinally(context); } - if (items.size() == 0) { + if (items.isEmpty()) { log.info("Items not found."); } else { log.info("Items were found."); @@ -981,7 +981,7 @@ private org.dspace.content.Item findItem(org.dspace.core.Context context, String throws WebApplicationException { org.dspace.content.Item item = null; try { - item = itemService.findByIdOrLegacyId(context, id); + item = itemService.findByIdOrLegacyId(context.getSession(), id); if (item == null) { context.abort(); diff --git a/dspace-rest/src/main/java/org/dspace/rest/MetadataRegistryResource.java b/dspace-rest/src/main/java/org/dspace/rest/MetadataRegistryResource.java index 79e655e63de6..709a744aeabf 100644 --- a/dspace-rest/src/main/java/org/dspace/rest/MetadataRegistryResource.java +++ b/dspace-rest/src/main/java/org/dspace/rest/MetadataRegistryResource.java @@ -70,7 +70,7 @@ public class MetadataRegistryResource extends Resource { protected MetadataSchemaService metadataSchemaService = ContentServiceFactory.getInstance() .getMetadataSchemaService(); protected SiteService siteService = ContentServiceFactory.getInstance().getSiteService(); - private static Logger log = org.apache.logging.log4j.LogManager.getLogger(MetadataRegistryResource.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(); /** * Return all metadata registry items in DSpace. @@ -108,7 +108,7 @@ public MetadataSchema[] getSchemas(@QueryParam("expand") @DefaultValue("fields") context = createContext(); List schemas = metadataSchemaService.findAll(context); - metadataSchemas = new ArrayList(); + metadataSchemas = new ArrayList<>(); for (org.dspace.content.MetadataSchema schema : schemas) { metadataSchemas.add(new MetadataSchema(schema, expand, context)); } @@ -165,7 +165,8 @@ public MetadataSchema getSchema(@PathParam("schema_prefix") String schemaPrefix, try { context = createContext(); - org.dspace.content.MetadataSchema schema = metadataSchemaService.find(context, schemaPrefix); + org.dspace.content.MetadataSchema schema + = metadataSchemaService.find(context.getSession(), schemaPrefix); metadataSchema = new MetadataSchema(schema, expand, context); if (schema == null) { processException(String.format("Schema not found for index %s", schemaPrefix), context); @@ -264,7 +265,8 @@ public MetadataField getMetadataFieldQualified(@PathParam("schema_prefix") Strin try { context = createContext(); - org.dspace.content.MetadataSchema schema = metadataSchemaService.find(context, schemaPrefix); + org.dspace.content.MetadataSchema schema + = metadataSchemaService.find(context.getSession(), schemaPrefix); if (schema == null) { log.error(String.format("Schema not found for prefix %s", schemaPrefix)); @@ -272,7 +274,7 @@ public MetadataField getMetadataFieldQualified(@PathParam("schema_prefix") Strin } org.dspace.content.MetadataField field = metadataFieldService - .findByElement(context, schema, element, qualifier); + .findByElement(context.getSession(), schema, element, qualifier); if (field == null) { log.error(String.format("Field %s.%s.%s not found", schemaPrefix, element, qualifier)); throw new WebApplicationException(Response.Status.NOT_FOUND); @@ -331,7 +333,8 @@ public MetadataField getMetadataField(@PathParam("field_id") Integer fieldId, try { context = createContext(); - org.dspace.content.MetadataField field = metadataFieldService.find(context, fieldId); + org.dspace.content.MetadataField field + = metadataFieldService.find(context.getSession(), fieldId); if (field == null) { log.error(String.format("Metadata Field %d not found", fieldId)); throw new WebApplicationException(Response.Status.NOT_FOUND); @@ -411,8 +414,9 @@ public MetadataSchema createSchema(MetadataSchema schema, @QueryParam("userIP") log.debug("Creating return object."); retSchema = new MetadataSchema(dspaceSchema, "", context); - writeStats(siteService.findSite(context), UsageEvent.Action.CREATE, user_ip, user_agent, xforwardedfor, - headers, request, context); + writeStats(siteService.findSite(context.getSession()), + UsageEvent.Action.CREATE, user_ip, user_agent, xforwardedfor, + headers, request, context); context.complete(); log.info("Schema created" + retSchema.getPrefix()); @@ -489,15 +493,17 @@ public MetadataField createMetadataField(@PathParam("schema_prefix") String sche throw new WebApplicationException(Response.Status.UNAUTHORIZED); } - org.dspace.content.MetadataSchema schema = metadataSchemaService.find(context, schemaPrefix); + org.dspace.content.MetadataSchema schema + = metadataSchemaService.find(context.getSession(), schemaPrefix); if (schema == null) { log.error(String.format("Schema not found for prefix %s", schemaPrefix)); throw new WebApplicationException(Response.Status.NOT_FOUND); } org.dspace.content.MetadataField dspaceField = metadataFieldService .create(context, schema, field.getElement(), field.getQualifier(), field.getDescription()); - writeStats(siteService.findSite(context), UsageEvent.Action.CREATE, user_ip, user_agent, xforwardedfor, - headers, request, context); + writeStats(siteService.findSite(context.getSession()), + UsageEvent.Action.CREATE, user_ip, user_agent, xforwardedfor, + headers, request, context); retField = new MetadataField(schema, dspaceField, "", context); context.complete(); @@ -564,14 +570,16 @@ public Response updateMetadataField(@PathParam("field_id") Integer fieldId, Meta try { context = createContext(); - org.dspace.content.MetadataField dspaceField = metadataFieldService.find(context, fieldId); + org.dspace.content.MetadataField dspaceField + = metadataFieldService.find(context.getSession(), fieldId); if (field == null) { log.error(String.format("Metadata Field %d not found", fieldId)); throw new WebApplicationException(Response.Status.NOT_FOUND); } - writeStats(siteService.findSite(context), UsageEvent.Action.UPDATE, user_ip, user_agent, xforwardedfor, - headers, request, context); + writeStats(siteService.findSite(context.getSession()), + UsageEvent.Action.UPDATE, user_ip, user_agent, xforwardedfor, + headers, request, context); dspaceField.setElement(field.getElement()); dspaceField.setQualifier(field.getQualifier()); @@ -638,14 +646,15 @@ public Response deleteMetadataField(@PathParam("field_id") Integer fieldId, @Que try { context = createContext(); - org.dspace.content.MetadataField dspaceField = metadataFieldService.find(context, fieldId); + org.dspace.content.MetadataField dspaceField + = metadataFieldService.find(context.getSession(), fieldId); if (dspaceField == null) { log.error(String.format("Metadata Field %d not found", fieldId)); throw new WebApplicationException(Response.Status.NOT_FOUND); } - writeStats(siteService.findSite(context), UsageEvent.Action.DELETE, user_ip, user_agent, xforwardedfor, - headers, - request, context); + writeStats(siteService.findSite(context.getSession()), + UsageEvent.Action.DELETE, user_ip, user_agent, xforwardedfor, + headers, request, context); metadataFieldService.delete(context, dspaceField); context.complete(); @@ -704,14 +713,15 @@ public Response deleteSchema(@PathParam("schema_id") Integer schemaId, @QueryPar try { context = createContext(); - org.dspace.content.MetadataSchema dspaceSchema = metadataSchemaService.find(context, schemaId); + org.dspace.content.MetadataSchema dspaceSchema + = metadataSchemaService.find(context.getSession(), schemaId); if (dspaceSchema == null) { log.error(String.format("Metadata Schema %d not found", schemaId)); throw new WebApplicationException(Response.Status.NOT_FOUND); } - writeStats(siteService.findSite(context), UsageEvent.Action.DELETE, user_ip, user_agent, xforwardedfor, - headers, - request, context); + writeStats(siteService.findSite(context.getSession()), + UsageEvent.Action.DELETE, user_ip, user_agent, xforwardedfor, + headers, request, context); metadataSchemaService.delete(context, dspaceSchema); context.complete(); diff --git a/dspace-rest/src/main/java/org/dspace/rest/Resource.java b/dspace-rest/src/main/java/org/dspace/rest/Resource.java index 7a7624fef03e..6edcb82c2d1f 100644 --- a/dspace-rest/src/main/java/org/dspace/rest/Resource.java +++ b/dspace-rest/src/main/java/org/dspace/rest/Resource.java @@ -29,7 +29,7 @@ /** * Superclass of all resource classes in REST API. It has methods for creating - * context, write statistics, processsing exceptions, splitting a key of + * context, write statistics, processing exceptions, splitting a key of * metadata, string representation of action and method for getting the logged * in user from the token in request header. * @@ -40,7 +40,7 @@ public class Resource { @javax.ws.rs.core.Context public ServletContext servletContext; - private static Logger log = org.apache.logging.log4j.LogManager.getLogger(Resource.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(); private static final boolean writeStatistics; @@ -75,7 +75,8 @@ protected static org.dspace.core.Context createContext() throws ContextException .getAuthorities(); for (SimpleGrantedAuthority grantedAuthority : specialGroups) { context.setSpecialGroup(EPersonServiceFactory.getInstance().getGroupService() - .findByName(context, grantedAuthority.getAuthority()) + .findByName(context.getSession(), + grantedAuthority.getAuthority()) .getID()); } context.setCurrentUser( @@ -155,11 +156,11 @@ protected void processFinally(org.dspace.core.Context context) throws WebApplica /** * Split string with regex ".". * - * @param key String which will be splitted. + * @param key String which will be split. * @return String array filed with separated string. */ protected String[] mySplit(String key) { - ArrayList list = new ArrayList(); + ArrayList list = new ArrayList<>(); int prev = 0; for (int i = 0; i < key.length(); i++) { if (key.charAt(i) == '.') { diff --git a/dspace-rest/src/main/java/org/dspace/rest/common/Collection.java b/dspace-rest/src/main/java/org/dspace/rest/common/Collection.java index be6e698b4d41..a97e9ef6be74 100644 --- a/dspace-rest/src/main/java/org/dspace/rest/common/Collection.java +++ b/dspace-rest/src/main/java/org/dspace/rest/common/Collection.java @@ -108,7 +108,7 @@ private void setup(org.dspace.content.Collection collection, ServletContext serv //TODO: Item paging. limit, offset/page if (expandFields.contains("items") || expandFields.contains("all")) { Iterator childItems = - itemService.findByCollection(context, collection, limit, offset); + itemService.findByCollection(context.getSession(), collection, limit, offset); items = new ArrayList<>(); while (childItems.hasNext()) { diff --git a/dspace-rest/src/main/java/org/dspace/rest/common/FilteredCollection.java b/dspace-rest/src/main/java/org/dspace/rest/common/FilteredCollection.java index c7ff0ef9b3a0..c2c3085acba7 100644 --- a/dspace-rest/src/main/java/org/dspace/rest/common/FilteredCollection.java +++ b/dspace-rest/src/main/java/org/dspace/rest/common/FilteredCollection.java @@ -39,11 +39,11 @@ public class FilteredCollection extends DSpaceObject { //Relationships private Community parentCommunity; private Community topCommunity; - private List parentCommunityList = new ArrayList(); + private List parentCommunityList = new ArrayList<>(); - private List items = new ArrayList(); + private List items = new ArrayList<>(); - private List itemFilters = new ArrayList(); + private List itemFilters = new ArrayList<>(); //Calculated private Integer numberItems; @@ -79,14 +79,14 @@ public FilteredCollection(org.dspace.content.Collection collection, ServletConte private void setup(org.dspace.content.Collection collection, ServletContext servletContext, String expand, Context context, Integer limit, Integer offset, String filters) throws SQLException { - List expandFields = new ArrayList(); + List expandFields = new ArrayList<>(); if (expand != null) { expandFields = Arrays.asList(expand.split(",")); } if (expandFields.contains("parentCommunityList") || expandFields.contains("all")) { List parentCommunities = communityService.getAllParents(context, collection); - List parentCommunityList = new ArrayList(); + List parentCommunityList = new ArrayList<>(); for (org.dspace.content.Community parentCommunity : parentCommunities) { parentCommunityList.add(new Community(parentCommunity, servletContext, null, context)); } @@ -104,7 +104,7 @@ private void setup(org.dspace.content.Collection collection, ServletContext serv if (expandFields.contains("topCommunity") | expandFields.contains("all")) { List parentCommunities = communityService.getAllParents(context, collection); - if (parentCommunities.size() > 0) { + if (!parentCommunities.isEmpty()) { org.dspace.content.Community topCommunity = parentCommunities.get(parentCommunities.size() - 1); this.setTopCommunity(new Community(topCommunity, servletContext, null, context)); } @@ -118,9 +118,9 @@ private void setup(org.dspace.content.Collection collection, ServletContext serv this.setItemFilters(itemFilterSet.getItemFilters()); this.setNumberItemsProcessed(0); - if (itemFilters.size() > 0) { + if (!itemFilters.isEmpty()) { Iterator childItems = itemService - .findAllByCollection(context, collection, limit, offset); + .findAllByCollection(context.getSession(), collection, limit, offset); int numProc = itemFilterSet .processSaveItems(context, servletContext, childItems, items, reportItems, expand); this.setNumberItemsProcessed(numProc); diff --git a/dspace-rest/src/main/java/org/dspace/rest/common/MetadataSchema.java b/dspace-rest/src/main/java/org/dspace/rest/common/MetadataSchema.java index 4b1e29fea233..f515751ebe24 100644 --- a/dspace-rest/src/main/java/org/dspace/rest/common/MetadataSchema.java +++ b/dspace-rest/src/main/java/org/dspace/rest/common/MetadataSchema.java @@ -33,10 +33,10 @@ public class MetadataSchema { private String namespace; @XmlElement(required = true) - private ArrayList expand = new ArrayList(); + private ArrayList expand = new ArrayList<>(); @XmlElement(name = "fields", required = true) - private List fields = new ArrayList(); + private final List fields = new ArrayList(); public MetadataSchema() { } @@ -47,7 +47,7 @@ public MetadataSchema(org.dspace.content.MetadataSchema schema, String expand, C } private void setup(org.dspace.content.MetadataSchema schema, String expand, Context context) throws SQLException { - List expandFields = new ArrayList(); + List expandFields = new ArrayList<>(); if (expand != null) { expandFields = Arrays.asList(expand.split(",")); } @@ -55,7 +55,8 @@ private void setup(org.dspace.content.MetadataSchema schema, String expand, Cont this.setPrefix(schema.getName()); this.setNamespace(schema.getNamespace()); if (expandFields.contains("fields") || expandFields.contains("all")) { - List fields = metadataFieldService.findAllInSchema(context, schema); + List fields + = metadataFieldService.findAllInSchema(context.getSession(), schema); this.addExpand("fields"); for (org.dspace.content.MetadataField field : fields) { this.fields.add(new MetadataField(schema, field, "", context)); diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/BitstreamBundleController.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/BitstreamBundleController.java index 38fb4f4150ad..a1b1ff1d5286 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/BitstreamBundleController.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/BitstreamBundleController.java @@ -93,7 +93,7 @@ public BundleRest move(@PathVariable UUID uuid, HttpServletResponse response, "or the data cannot be resolved to a bundle."); } - Bitstream bitstream = bitstreamService.find(context, uuid); + Bitstream bitstream = bitstreamService.find(context.getSession(), uuid); if (bitstream == null) { throw new ResourceNotFoundException("Bitstream with id: " + uuid + " not found"); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/BitstreamRestController.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/BitstreamRestController.java index ebd84270f285..2d1b3e1696a0 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/BitstreamRestController.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/BitstreamRestController.java @@ -106,7 +106,7 @@ public ResponseEntity retrieve(@PathVariable UUID uuid, HttpServletResponse resp Context context = ContextUtil.obtainContext(request); - Bitstream bit = bitstreamService.find(context, uuid); + Bitstream bit = bitstreamService.find(context.getSession(), uuid); EPerson currentUser = context.getCurrentUser(); if (bit == null) { @@ -184,7 +184,7 @@ private String getBitstreamName(Bitstream bit, BitstreamFormat format) { if (name == null) { // give a default name to the file based on the UUID and the primary extension of the format name = bit.getID().toString(); - if (format != null && format.getExtensions() != null && format.getExtensions().size() > 0) { + if (format != null && format.getExtensions() != null && !format.getExtensions().isEmpty()) { name += "." + format.getExtensions().get(0); } } @@ -240,7 +240,7 @@ public BitstreamResource updateBitstreamFormat(@PathVariable UUID uuid, BitstreamFormat bitstreamFormat = bitstreamFormats.stream().findFirst() .orElseThrow(() -> new DSpaceBadRequestException("No valid bitstream format was provided")); - Bitstream bitstream = bitstreamService.find(context, uuid); + Bitstream bitstream = bitstreamService.find(context.getSession(), uuid); if (bitstream == null) { throw new ResourceNotFoundException("Bitstream with id: " + uuid + " not found"); diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/BundleUploadBitstreamController.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/BundleUploadBitstreamController.java index 0cb6bc47e033..606fd9f9b0ea 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/BundleUploadBitstreamController.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/BundleUploadBitstreamController.java @@ -95,7 +95,7 @@ public ResponseEntity> uploadBitstream( Context context = ContextUtil.obtainContext(request); Bundle bundle = null; try { - bundle = bundleService.find(context, uuid); + bundle = bundleService.find(context.getSession(), uuid); } catch (SQLException e) { log.error("Something went wrong trying to find the Bundle with uuid: " + uuid, e); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/CollectionGroupRestController.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/CollectionGroupRestController.java index d85685a188b0..b95eb2096736 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/CollectionGroupRestController.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/CollectionGroupRestController.java @@ -88,7 +88,7 @@ public ResponseEntity> postAdminGroup(@PathVariable UUID throws SQLException, AuthorizeException { Context context = ContextUtil.obtainContext(request); - Collection collection = collectionService.find(context, uuid); + Collection collection = collectionService.find(context.getSession(), uuid); if (collection == null) { throw new ResourceNotFoundException("No such collection: " + uuid); @@ -123,7 +123,7 @@ public ResponseEntity> deleteAdminGroup(@PathVariable UUI throws SQLException, AuthorizeException, IOException { Context context = ContextUtil.obtainContext(request); - Collection collection = collectionService.find(context, uuid); + Collection collection = collectionService.find(context.getSession(), uuid); if (collection == null) { throw new ResourceNotFoundException("No such collection: " + uuid); } @@ -156,7 +156,7 @@ public ResponseEntity> postSubmittersGroup(@PathVariable throws SQLException, AuthorizeException { Context context = ContextUtil.obtainContext(request); - Collection collection = collectionService.find(context, uuid); + Collection collection = collectionService.find(context.getSession(), uuid); if (collection == null) { throw new ResourceNotFoundException("No such collection: " + uuid); @@ -191,7 +191,7 @@ public ResponseEntity> deleteSubmittersGroup(@PathVariabl throws SQLException, AuthorizeException, IOException { Context context = ContextUtil.obtainContext(request); - Collection collection = collectionService.find(context, uuid); + Collection collection = collectionService.find(context.getSession(), uuid); if (collection == null) { throw new ResourceNotFoundException("No such collection: " + uuid); } @@ -223,7 +223,7 @@ public ResponseEntity> postItemReadGroup(@PathVariable UU throws SQLException, AuthorizeException { Context context = ContextUtil.obtainContext(request); - Collection collection = collectionService.find(context, uuid); + Collection collection = collectionService.find(context.getSession(), uuid); if (collection == null) { throw new ResourceNotFoundException("No such collection: " + uuid); @@ -265,7 +265,7 @@ public ResponseEntity> deleteItemReadGroup(@PathVariable throws SQLException, AuthorizeException, IOException { Context context = ContextUtil.obtainContext(request); - Collection collection = collectionService.find(context, uuid); + Collection collection = collectionService.find(context.getSession(), uuid); if (collection == null) { throw new ResourceNotFoundException("No such collection: " + uuid); } @@ -305,7 +305,7 @@ public ResponseEntity> postBitstreamReadGroup(@PathVariab throws SQLException, AuthorizeException { Context context = ContextUtil.obtainContext(request); - Collection collection = collectionService.find(context, uuid); + Collection collection = collectionService.find(context.getSession(), uuid); if (collection == null) { throw new ResourceNotFoundException("No such collection: " + uuid); @@ -348,7 +348,7 @@ public ResponseEntity> deleteBitstreamReadGroup(@PathVari throws SQLException, AuthorizeException, IOException { Context context = ContextUtil.obtainContext(request); - Collection collection = collectionService.find(context, uuid); + Collection collection = collectionService.find(context.getSession(), uuid); if (collection == null) { throw new ResourceNotFoundException("No such collection: " + uuid); } @@ -389,7 +389,7 @@ public ResponseEntity> getWorkflowGroupForRole(@PathVaria @PathVariable String workflowRole) throws Exception { Context context = ContextUtil.obtainContext(request); - Collection collection = collectionService.find(context, uuid); + Collection collection = collectionService.find(context.getSession(), uuid); if (collection == null) { throw new ResourceNotFoundException("No such collection: " + uuid); } @@ -419,7 +419,7 @@ public ResponseEntity> postWorkflowGroupForRole(@PathVari @PathVariable String workflowRole) throws Exception { Context context = ContextUtil.obtainContext(request); - Collection collection = collectionService.find(context, uuid); + Collection collection = collectionService.find(context.getSession(), uuid); if (collection == null) { throw new ResourceNotFoundException("No such collection: " + uuid); } @@ -458,7 +458,7 @@ public ResponseEntity> deleteWorkflowGroupForRole(@PathVa @PathVariable String workflowRole) throws Exception { Context context = ContextUtil.obtainContext(request); - Collection collection = collectionService.find(context, uuid); + Collection collection = collectionService.find(context.getSession(), uuid); if (collection == null) { throw new ResourceNotFoundException("No such collection: " + uuid); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/CollectionHarvestSettingsController.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/CollectionHarvestSettingsController.java index 856804808c46..c986b188cad2 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/CollectionHarvestSettingsController.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/CollectionHarvestSettingsController.java @@ -77,7 +77,7 @@ public HarvestedCollectionResource get(@PathVariable UUID collectionUuid, HttpServletResponse response) throws SQLException { Context context = ContextUtil.obtainContext(request); - Collection collection = collectionService.find(context, collectionUuid); + Collection collection = collectionService.find(context.getSession(), collectionUuid); if (collection == null) { throw new ResourceNotFoundException("Collection with uuid: " + collectionUuid + " not found"); @@ -104,7 +104,7 @@ public HarvestedCollectionResource updateHarvestSettingsEndpoint(@PathVariable U HttpServletRequest request) throws SQLException { Context context = ContextUtil.obtainContext(request); - Collection collection = collectionService.find(context, collectionUuid); + Collection collection = collectionService.find(context.getSession(), collectionUuid); HarvestedCollectionResource harvestedCollectionResource = null; if (collection == null) { diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/CollectionItemTemplateController.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/CollectionItemTemplateController.java index 6a0890fabc44..a17ef7c58775 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/CollectionItemTemplateController.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/CollectionItemTemplateController.java @@ -156,7 +156,7 @@ public TemplateItemResource getTemplateItem(HttpServletRequest request, @PathVar } private Collection getCollection(Context context, UUID uuid) throws SQLException { - Collection collection = collectionService.find(context, uuid); + Collection collection = collectionService.find(context.getSession(), uuid); if (collection == null) { throw new ResourceNotFoundException( "The given uuid did not resolve to a collection on the server: " + uuid); diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/CollectionLogoController.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/CollectionLogoController.java index c3243d8887e1..55872fd0bba2 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/CollectionLogoController.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/CollectionLogoController.java @@ -100,7 +100,7 @@ public ResponseEntity> createLogo( } Context context = ContextUtil.obtainContext(request); - Collection collection = collectionService.find(context, uuid); + Collection collection = collectionService.find(context.getSession(), uuid); if (collection == null) { throw new ResourceNotFoundException( "The given uuid did not resolve to a collection on the server: " + uuid); diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/CommunityAdminGroupRestController.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/CommunityAdminGroupRestController.java index 2265ac941e6b..ff655aef492b 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/CommunityAdminGroupRestController.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/CommunityAdminGroupRestController.java @@ -78,7 +78,7 @@ public ResponseEntity> postAdminGroup(@PathVariable UUID throws SQLException, AuthorizeException { Context context = ContextUtil.obtainContext(request); - Community community = communityService.find(context, uuid); + Community community = communityService.find(context.getSession(), uuid); if (community == null) { throw new ResourceNotFoundException("No such community: " + uuid); @@ -113,7 +113,7 @@ public ResponseEntity> deleteAdminGroup(@PathVariable UUI throws SQLException, AuthorizeException, IOException { Context context = ContextUtil.obtainContext(request); - Community community = communityService.find(context, uuid); + Community community = communityService.find(context.getSession(), uuid); if (community == null) { throw new ResourceNotFoundException("No such community: " + uuid); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/CommunityLogoController.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/CommunityLogoController.java index 52c0f000b6c6..78b6d2ab78cb 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/CommunityLogoController.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/CommunityLogoController.java @@ -100,7 +100,7 @@ public ResponseEntity> createLogo(HttpServletRequest requ Context context = ContextUtil.obtainContext(request); - Community community = communityService.find(context, uuid); + Community community = communityService.find(context.getSession(), uuid); if (community == null) { throw new ResourceNotFoundException( "The given uuid did not resolve to a community on the server: " + uuid); diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/GroupRestController.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/GroupRestController.java index 522d69fbe84b..604914964c35 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/GroupRestController.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/GroupRestController.java @@ -74,7 +74,7 @@ public void addChildGroups(@PathVariable UUID uuid, HttpServletResponse response Context context = obtainContext(request); - Group parentGroup = groupService.find(context, uuid); + Group parentGroup = groupService.find(context.getSession(), uuid); if (parentGroup == null) { throw new ResourceNotFoundException("parent group is not found for uuid: " + uuid); } @@ -109,7 +109,7 @@ private Optional findGroup(Context context, String groupLink) throws SQLE Pattern linkPattern = compile("^.*/(" + REGEX_UUID + ")/?$"); Matcher matcher = linkPattern.matcher(groupLink); if (matcher.matches()) { - group = groupService.find(context, UUID.fromString(matcher.group(1))); + group = groupService.find(context.getReadOnlySession(), UUID.fromString(matcher.group(1))); } return Optional.ofNullable(group); @@ -135,7 +135,7 @@ public void addMembers(@PathVariable UUID uuid, HttpServletResponse response, Ht Context context = obtainContext(request); - Group parentGroup = groupService.find(context, uuid); + Group parentGroup = groupService.find(context.getSession(), uuid); if (parentGroup == null) { throw new ResourceNotFoundException("parent group is not found for uuid: " + uuid); } @@ -169,7 +169,7 @@ private Optional findEPerson(Context context, String groupLink) throws Pattern linkPattern = compile("^.*/(" + REGEX_UUID + ")/?$"); Matcher matcher = linkPattern.matcher(groupLink); if (matcher.matches()) { - ePerson = ePersonService.find(context, UUID.fromString(matcher.group(1))); + ePerson = ePersonService.find(context.getSession(), UUID.fromString(matcher.group(1))); } return Optional.ofNullable(ePerson); @@ -191,14 +191,14 @@ public void removeChildGroup(@PathVariable UUID parentUUID, @PathVariable UUID c Context context = obtainContext(request); - Group parentGroup = groupService.find(context, parentUUID); + Group parentGroup = groupService.find(context.getSession(), parentUUID); if (parentGroup == null) { throw new ResourceNotFoundException("parent group is not found for uuid: " + parentUUID); } AuthorizeUtil.authorizeManageGroup(context, parentGroup); - Group childGroup = groupService.find(context, childUUID); + Group childGroup = groupService.find(context.getSession(), childUUID); if (childGroup == null) { response.sendError(SC_UNPROCESSABLE_ENTITY); } @@ -227,14 +227,14 @@ public void removeMember(@PathVariable UUID parentUUID, @PathVariable UUID membe Context context = obtainContext(request); - Group parentGroup = groupService.find(context, parentUUID); + Group parentGroup = groupService.find(context.getSession(), parentUUID); if (parentGroup == null) { throw new ResourceNotFoundException("parent group is not found for uuid: " + parentUUID); } AuthorizeUtil.authorizeManageGroup(context, parentGroup); - EPerson childGroup = ePersonService.find(context, memberUUID); + EPerson childGroup = ePersonService.find(context.getSession(), memberUUID); if (childGroup == null) { response.sendError(SC_UNPROCESSABLE_ENTITY); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/ItemAddBundleController.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/ItemAddBundleController.java index 5175dec5e2e3..b419d4a22dfd 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/ItemAddBundleController.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/ItemAddBundleController.java @@ -93,7 +93,7 @@ public ResponseEntity> addBundleToItem(@PathVariable UUID throws SQLException, AuthorizeException { Context context = ContextUtil.obtainContext(request); - Item item = itemService.find(context, uuid); + Item item = itemService.find(context.getSession(), uuid); if (item == null) { throw new ResourceNotFoundException("Could not find item with id " + uuid); diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/ItemOwningCollectionUpdateRestController.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/ItemOwningCollectionUpdateRestController.java index b5a0c957f265..5472758b61ee 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/ItemOwningCollectionUpdateRestController.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/ItemOwningCollectionUpdateRestController.java @@ -148,7 +148,7 @@ private Collection performItemMove(final Context context, final UUID itemUuid, f boolean inheritPolicies) throws SQLException, IOException, AuthorizeException { - Item item = itemService.find(context, itemUuid); + Item item = itemService.find(context.getSession(), itemUuid); if (item == null) { throw new ResourceNotFoundException("Item with id: " + itemUuid + " not found"); diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/ItemTemplateRestController.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/ItemTemplateRestController.java index a6dbf3496e49..fdcea4006ce2 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/ItemTemplateRestController.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/ItemTemplateRestController.java @@ -168,7 +168,7 @@ public ResponseEntity> deleteTemplateItem(HttpServletRequ } private TemplateItem getTemplateItem(Context context, UUID uuid) throws SQLException { - Item item = itemService.find(context, uuid); + Item item = itemService.find(context.getSession(), uuid); if (item == null) { throw new ResourceNotFoundException( "The given uuid did not resolve to an item on the server: " + uuid); diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/MappedCollectionRestController.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/MappedCollectionRestController.java index 14dae21ebec0..7cbd168b284a 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/MappedCollectionRestController.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/MappedCollectionRestController.java @@ -96,7 +96,7 @@ public void createCollectionToItemRelation(@PathVariable UUID uuid, for (DSpaceObject dso : listDsoFoundInRequest) { - Item item = itemService.find(context, uuid); + Item item = itemService.find(context.getSession(), uuid); if (dso != null && dso.getType() == COLLECTION && item != null) { this.checkIfItemIsTemplate(item); Collection collectionToMapTo = (Collection) dso; @@ -141,8 +141,8 @@ public void deleteCollectionToItemRelation(@PathVariable UUID uuid, @PathVariabl throws SQLException, AuthorizeException, IOException { Context context = ContextUtil.obtainContext(request); - Collection collection = collectionService.find(context, collectionUuid); - Item item = itemService.find(context, uuid); + Collection collection = collectionService.find(context.getSession(), collectionUuid); + Item item = itemService.find(context.getSession(), uuid); if (collection != null && item != null) { this.checkIfItemIsTemplate(item); UUID owningCollectionUuid = item.getOwningCollection().getID(); diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/authorization/AuthorizationRestUtil.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/authorization/AuthorizationRestUtil.java index c8a9d2435bb5..b33b6a37d1f6 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/authorization/AuthorizationRestUtil.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/authorization/AuthorizationRestUtil.java @@ -25,7 +25,7 @@ /** * Utility class to manipulate the AuthorizationRest object - * + * * @author Andrea Bollini (andrea.bollini at 4science.it) * */ @@ -37,7 +37,7 @@ public class AuthorizationRestUtil { /** * Extract the feature name from the Authorization business ID. See {@link Authorization#getID()} - * + * * @param id * the Authorization business ID * @return the feature name @@ -49,7 +49,7 @@ public String getFeatureName(String id) { /** * Get the object addressed in the authorization extracting its type and primary key from the authorization business * ID ({@link Authorization#getID()}) and using the appropriate service - * + * * @param context * the DSpace context * @param id @@ -85,7 +85,7 @@ public BaseObjectRest getObject(Context context, String id) throws SQLException * Get the eperson in the authorization extracting its uuid from the authorization business ID * ({@link Authorization#getID()}) and retrieving the corresponding eperson object with the {@link EPersonService}. * Please note that reference to deleted eperson will result in an IllegalArgumentException - * + * * @param context * the DSpace context * @param id @@ -109,7 +109,7 @@ public EPerson getEperson(Context context, String id) throws SQLException { " contains a reference to an invalid eperson uuid " + epersonIdStr); } EPersonService service = EPersonServiceFactory.getInstance().getEPersonService(); - EPerson ep = service.find(context, uuid); + EPerson ep = service.find(context.getSession(), uuid); if (ep == null) { throw new IllegalArgumentException("No eperson found with the uuid " + epersonIdStr); } @@ -119,7 +119,7 @@ public EPerson getEperson(Context context, String id) throws SQLException { /** * Split the business ID in an array with a fixed length (4) as follow eperson uuid, feature name, object type id, * object id - * + * * @param id * the Authorization business ID. See {@link Authorization#getID()} * @return an array with a fixed length (4) as follow eperson uuid, feature name, object type id, object id diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/authorization/impl/CanClaimItemFeature.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/authorization/impl/CanClaimItemFeature.java index 9642bb4a2d61..ca7b7f8d99a1 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/authorization/impl/CanClaimItemFeature.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/authorization/impl/CanClaimItemFeature.java @@ -60,7 +60,7 @@ public boolean isAuthorized(Context context, BaseObjectRest object) throws SQLEx } String id = ((ItemRest) object).getId(); - Item item = itemService.find(context, UUID.fromString(id)); + Item item = itemService.find(context.getSession(), UUID.fromString(id)); return researcherProfileService.hasProfileType(item) && hasNotOwner(item) diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/authorization/impl/CanCreateVersionFeature.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/authorization/impl/CanCreateVersionFeature.java index acd909d18775..38246afa7ec7 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/authorization/impl/CanCreateVersionFeature.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/authorization/impl/CanCreateVersionFeature.java @@ -25,7 +25,7 @@ /** * The create version feature. It can be used to verify if the user can create the version of an Item. - * + * * @author Mykhaylo Boychuk (mykhaylo.boychuk at 4science.it) */ @Component @@ -55,7 +55,8 @@ public boolean isAuthorized(Context context, BaseObjectRest object) throws SQLEx if (Objects.isNull(currentUser)) { return false; } - Item item = itemService.find(context, UUID.fromString(((ItemRest) object).getUuid())); + Item item = itemService.find(context.getSession(), + UUID.fromString(((ItemRest) object).getUuid())); if (Objects.nonNull(item)) { if (authorizeService.isAdmin(context, item)) { return true; diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/authorization/impl/CanManageMappingsFeature.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/authorization/impl/CanManageMappingsFeature.java index 75e83860dd4a..74261e13e8b4 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/authorization/impl/CanManageMappingsFeature.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/authorization/impl/CanManageMappingsFeature.java @@ -63,7 +63,8 @@ public boolean isAuthorized(Context context, BaseObjectRest object) throws SQLEx } } if (object instanceof ItemRest) { - Item item = itemService.find(context, UUID.fromString(((ItemRest) object).getUuid())); + Item item = itemService.find(context.getSession(), + UUID.fromString(((ItemRest) object).getUuid())); if (!authorizeService.authorizeActionBoolean(context, item, Constants.WRITE)) { return false; } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/authorization/impl/CanManageVersionsFeature.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/authorization/impl/CanManageVersionsFeature.java index 9e1f7f6d846b..5726db8fe11c 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/authorization/impl/CanManageVersionsFeature.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/authorization/impl/CanManageVersionsFeature.java @@ -25,7 +25,7 @@ /** * The manage versions feature. It can be used to verify * if the user can create/delete or update the version of an Item. - * + * * @author Mykhaylo Boychuk (mykhaylo.boychuk at 4science.it) */ @Component @@ -51,7 +51,8 @@ public boolean isAuthorized(Context context, BaseObjectRest object) throws SQLEx if (!isEnabled || Objects.isNull(context.getCurrentUser())) { return false; } - Item item = itemService.find(context, UUID.fromString(((ItemRest) object).getUuid())); + Item item = itemService.find(context.getSession(), + UUID.fromString(((ItemRest) object).getUuid())); if (Objects.nonNull(item)) { return authorizeService.isAdmin(context, item); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/authorization/impl/CanSynchronizeWithORCID.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/authorization/impl/CanSynchronizeWithORCID.java index b1ebde304964..967cc3f1a94f 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/authorization/impl/CanSynchronizeWithORCID.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/authorization/impl/CanSynchronizeWithORCID.java @@ -61,7 +61,7 @@ public boolean isAuthorized(Context context, BaseObjectRest object) throws SQLEx } String id = ((ItemRest) object).getId(); - Item item = itemService.find(context, UUID.fromString(id)); + Item item = itemService.find(context.getSession(), UUID.fromString(id)); return isOrcidSynchronizationEnabled() && isDspaceObjectOwner(ePerson, item); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/authorization/impl/ManageGroupFeature.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/authorization/impl/ManageGroupFeature.java index 35908d83f600..2e5a598bbda5 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/authorization/impl/ManageGroupFeature.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/authorization/impl/ManageGroupFeature.java @@ -49,7 +49,7 @@ public boolean isAuthorized(Context context, BaseObjectRest object) throws SQLEx GroupRest groupRest = (GroupRest) object; // get the group - Group group = groupService.findByName(context, groupRest.getName()); + Group group = groupService.findByName(context.getSession(), groupRest.getName()); if (group == null) { return false; } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/authorization/impl/RequestCopyFeature.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/authorization/impl/RequestCopyFeature.java index da692c72148a..f41c067523ef 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/authorization/impl/RequestCopyFeature.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/authorization/impl/RequestCopyFeature.java @@ -79,7 +79,7 @@ public boolean isAuthorized(Context context, BaseObjectRest object) throws SQLEx if (object instanceof ItemRest) { ItemRest itemRest = (ItemRest) object; String id = itemRest.getId(); - Item item = itemService.find(context, UUID.fromString(id)); + Item item = itemService.find(context.getSession(), UUID.fromString(id)); if (!item.isArchived()) { return false; } @@ -96,7 +96,7 @@ public boolean isAuthorized(Context context, BaseObjectRest object) throws SQLEx } } else if (object instanceof BitstreamRest) { BitstreamRest bitstreamRest = (BitstreamRest) object; - Bitstream bitstream = bitstreamService.find(context, UUID.fromString(bitstreamRest.getId())); + Bitstream bitstream = bitstreamService.find(context.getSession(), UUID.fromString(bitstreamRest.getId())); DSpaceObject parentObject = bitstreamService.getParentObject(context, bitstream); if (parentObject instanceof Item) { diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/link/CollectionResourceWorkflowGroupHalLinkFactory.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/link/CollectionResourceWorkflowGroupHalLinkFactory.java index c049a74c0ded..9d808a12f2d8 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/link/CollectionResourceWorkflowGroupHalLinkFactory.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/link/CollectionResourceWorkflowGroupHalLinkFactory.java @@ -43,7 +43,8 @@ public class CollectionResourceWorkflowGroupHalLinkFactory protected void addLinks(CollectionResource halResource, Pageable pageable, LinkedList list) throws Exception { Context context = ContextUtil.obtainContext(requestService.getCurrentRequest().getHttpServletRequest()); - Collection collection = collectionService.find(context, UUID.fromString(halResource.getContent().getId())); + Collection collection = collectionService.find(context.getSession(), + UUID.fromString(halResource.getContent().getId())); Map roles = WorkflowUtils.getCollectionRoles(collection); UUID resourceUuid = UUID.fromString(halResource.getContent().getUuid()); for (Map.Entry entry : roles.entrySet()) { diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/login/impl/ResearcherProfileAutomaticClaim.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/login/impl/ResearcherProfileAutomaticClaim.java index 1450c12f909d..7d26baabe317 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/login/impl/ResearcherProfileAutomaticClaim.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/login/impl/ResearcherProfileAutomaticClaim.java @@ -119,10 +119,12 @@ private Item findClaimableProfile(Context context, EPerson currentUser) throws S return null; } - List items = toList(itemService.findArchivedByMetadataField(context, profileField, value)).stream() - .filter(this::hasNotOwner) - .filter(researcherProfileService::hasProfileType) - .collect(Collectors.toList()); + List items = toList(itemService.findArchivedByMetadataField(context.getSession(), + profileField, value)) + .stream() + .filter(this::hasNotOwner) + .filter(researcherProfileService::hasProfileType) + .collect(Collectors.toList()); return items.size() == 1 ? items.get(0) : null; } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/AuthorizationRestRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/AuthorizationRestRepository.java index 137952866959..3c892667af94 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/AuthorizationRestRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/AuthorizationRestRepository.java @@ -136,7 +136,7 @@ public AuthorizationRest findOne(Context context, String id) { /** * It returns the list of matching available authorizations granted to the specified eperson or to the anonymous * user. Only administrators and the user identified by the epersonUuid parameter can access this method - * + * * @param uri * the uri of the object to check the authorization against * @param epersonUuid @@ -283,7 +283,7 @@ private List findByObjectAndFeature( /** * Return the user specified in the request parameter if valid - * + * * @param context * @param epersonUuid * @return @@ -312,7 +312,7 @@ private EPerson getUserFromRequestParameter(Context context, UUID epersonUuid) + " as a non-admin; only system administrators can see the authorization of other users"); } - return epersonService.find(context, epersonUuid); + return epersonService.find(context.getSession(), epersonUuid); } } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/BitstreamBundleLinkRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/BitstreamBundleLinkRepository.java index bcef1ef33d08..33904f3f744d 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/BitstreamBundleLinkRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/BitstreamBundleLinkRepository.java @@ -41,7 +41,7 @@ public BundleRest getBundle(@Nullable HttpServletRequest request, Projection projection) { try { Context context = obtainContext(); - Bitstream bitstream = bitstreamService.find(context, bitstreamId); + Bitstream bitstream = bitstreamService.find(context.getSession(), bitstreamId); if (bitstream == null) { throw new ResourceNotFoundException("No such bitstream: " + bitstreamId); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/BitstreamFormatLinkRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/BitstreamFormatLinkRepository.java index 74454161a031..7a7bb3e357e1 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/BitstreamFormatLinkRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/BitstreamFormatLinkRepository.java @@ -41,7 +41,7 @@ public BitstreamFormatRest getFormat(@Nullable HttpServletRequest request, Projection projection) { try { Context context = obtainContext(); - Bitstream bitstream = bitstreamService.find(context, bitstreamId); + Bitstream bitstream = bitstreamService.find(context.getSession(), bitstreamId); if (bitstream == null) { throw new ResourceNotFoundException("No such bitstream: " + bitstreamId); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/BitstreamRestRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/BitstreamRestRepository.java index 12e27dccacf2..35df7e85bfbb 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/BitstreamRestRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/BitstreamRestRepository.java @@ -90,7 +90,7 @@ public BitstreamRestRepository(BitstreamService dsoService) { public BitstreamRest findOne(Context context, UUID id) { Bitstream bit = null; try { - bit = bs.find(context, id); + bit = bs.find(context.getSession(), id); } catch (SQLException e) { throw new RuntimeException(e.getMessage(), e); } @@ -129,7 +129,7 @@ public Class getDomainClass() { protected void delete(Context context, UUID id) throws AuthorizeException { Bitstream bit = null; try { - bit = bs.find(context, id); + bit = bs.find(context.getSession(), id); if (bit == null) { throw new ResourceNotFoundException("The bitstream with uuid " + id + " could not be found"); } @@ -219,7 +219,7 @@ public InputStream retrieve(UUID uuid) { Context context = obtainContext(); Bitstream bit = null; try { - bit = bs.find(context, uuid); + bit = bs.find(context.getSession(), uuid); } catch (SQLException e) { throw new RuntimeException(e.getMessage(), e); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/BitstreamThumbnailLinkRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/BitstreamThumbnailLinkRepository.java index afe864a8660d..e2b06b5a9067 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/BitstreamThumbnailLinkRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/BitstreamThumbnailLinkRepository.java @@ -39,7 +39,7 @@ public BitstreamRest getThumbnail(@Nullable HttpServletRequest request, Projection projection) { try { Context context = obtainContext(); - Bitstream bitstream = bitstreamService.find(context, bitstreamId); + Bitstream bitstream = bitstreamService.find(context.getSession(), bitstreamId); if (bitstream == null) { throw new ResourceNotFoundException("No such bitstream: " + bitstreamId); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/BundleBitstreamLinkRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/BundleBitstreamLinkRepository.java index b0a4488e037e..84427475f608 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/BundleBitstreamLinkRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/BundleBitstreamLinkRepository.java @@ -46,7 +46,7 @@ public Page getBitstreams(@Nullable HttpServletRequest request, Projection projection) { try { Context context = obtainContext(); - Bundle bundle = bundleService.find(context, bundleId); + Bundle bundle = bundleService.find(context.getSession(), bundleId); if (bundle == null) { throw new ResourceNotFoundException("No such bundle: " + bundleId); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/BundleItemLinkRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/BundleItemLinkRepository.java index 4df81d5054ef..b7a1bed8141a 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/BundleItemLinkRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/BundleItemLinkRepository.java @@ -45,7 +45,7 @@ public ItemRest getItem(@Nullable HttpServletRequest request, Projection projection) { try { Context context = obtainContext(); - Bundle bundle = bundleService.find(context, bundleId); + Bundle bundle = bundleService.find(context.getSession(), bundleId); if (bundle == null) { throw new ResourceNotFoundException("No such bundle: " + bundleId); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/BundlePrimaryBitstreamLinkRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/BundlePrimaryBitstreamLinkRepository.java index 3d11379cd328..5734173805ce 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/BundlePrimaryBitstreamLinkRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/BundlePrimaryBitstreamLinkRepository.java @@ -57,7 +57,7 @@ public BitstreamRest getPrimaryBitstream(@Nullable HttpServletRequest request, Projection projection) { try { Context context = obtainContext(); - Bundle bundle = bundleService.find(context, bundleId); + Bundle bundle = bundleService.find(context.getSession(), bundleId); if (bundle == null) { throw new ResourceNotFoundException("No such bundle: " + bundleId); } @@ -142,7 +142,7 @@ public void deletePrimaryBitstream(Context context, UUID bundleId) { */ private Bundle setPrimaryBitstream(Context context, UUID bundleId, Bitstream bitstream, boolean shouldBeSet) throws SQLException { - Bundle bundle = bundleService.find(context, bundleId); + Bundle bundle = bundleService.find(context.getSession(), bundleId); if (bundle == null) { throw new ResourceNotFoundException("No such bundle: " + bundleId); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/BundleRestRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/BundleRestRepository.java index f750743db66e..d9ebcba8edc9 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/BundleRestRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/BundleRestRepository.java @@ -74,11 +74,12 @@ public BundleRestRepository(BundleService dsoService) { this.bundleService = dsoService; } + @Override @PreAuthorize("hasPermission(#id, 'BUNDLE', 'READ')") public BundleRest findOne(Context context, UUID id) { Bundle bundle = null; try { - bundle = bundleService.find(context, id); + bundle = bundleService.find(context.getSession(), id); } catch (SQLException e) { throw new RuntimeException(e.getMessage(), e); } @@ -88,6 +89,7 @@ public BundleRest findOne(Context context, UUID id) { return converter.toRest(bundle, utils.obtainProjection()); } + @Override public Page findAll(Context context, Pageable pageable) { throw new RepositoryMethodNotImplementedException(BundleRest.NAME, "findAll"); } @@ -198,6 +200,7 @@ private Bitstream processBitstreamCreation(Context context, Bundle bundle, Input return bitstream; } + @Override public Class getDomainClass() { return BundleRest.class; } @@ -214,7 +217,7 @@ public Class getDomainClass() { protected void delete(Context context, UUID id) throws AuthorizeException { Bundle bundleToDelete = null; try { - bundleToDelete = bundleService.find(context, id); + bundleToDelete = bundleService.find(context.getSession(), id); if (bundleToDelete == null) { throw new ResourceNotFoundException("Bundle with id: " + id + " not found"); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ClaimedTaskRestRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ClaimedTaskRestRepository.java index dbd37093a9fc..f52740c43f1c 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ClaimedTaskRestRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ClaimedTaskRestRepository.java @@ -125,7 +125,7 @@ public Page findByUser(@Parameter(value = "uuid", required = tr + " own claimed tasks or the admins"); } if (authorizeService.isAdmin(context) || userID.equals(currentUser.getID())) { - EPerson ep = epersonService.find(context, userID); + EPerson ep = epersonService.find(context.getSession(), userID); List tasks = claimedTaskService.findByEperson(context, ep); return converter.toRestPage(tasks, pageable, utils.obtainProjection()); } else { @@ -143,7 +143,7 @@ public Page findAllByItem(@Parameter(value = "uuid", required = List tasks = null; try { Context context = obtainContext(); - Item item = itemService.find(context, itemUUID); + Item item = itemService.find(context.getSession(), itemUUID); if (item == null) { throw new UnprocessableEntityException("There is no Item with uuid provided, uuid:" + itemUUID); } @@ -165,7 +165,7 @@ public ClaimedTaskRest findByItem(@Parameter(value = "uuid", required = true) UU ClaimedTask claimedTask = null; try { Context context = obtainContext(); - Item item = itemService.find(context, itemUUID); + Item item = itemService.find(context.getSession(), itemUUID); if (item == null) { throw new UnprocessableEntityException("There is no Item with uuid provided, uuid:" + itemUUID); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CollectionAdminGroupLinkRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CollectionAdminGroupLinkRepository.java index b239dc045771..bb78383af776 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CollectionAdminGroupLinkRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CollectionAdminGroupLinkRepository.java @@ -53,7 +53,7 @@ public GroupRest getAdminGroup(@Nullable HttpServletRequest request, Projection projection) { try { Context context = obtainContext(); - Collection collection = collectionService.find(context, collectionId); + Collection collection = collectionService.find(context.getSession(), collectionId); if (collection == null) { throw new ResourceNotFoundException("No such collection: " + collectionId); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CollectionBitstreamReadGroupLinkRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CollectionBitstreamReadGroupLinkRepository.java index c1b322a49010..622fe1110b58 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CollectionBitstreamReadGroupLinkRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CollectionBitstreamReadGroupLinkRepository.java @@ -60,7 +60,7 @@ public GroupRest getBitstreamReadGroup(@Nullable HttpServletRequest request, Projection projection) { try { Context context = obtainContext(); - Collection collection = collectionService.find(context, collectionId); + Collection collection = collectionService.find(context.getSession(), collectionId); if (collection == null) { throw new ResourceNotFoundException("No such collection: " + collectionId); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CollectionItemReadGroupLinkRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CollectionItemReadGroupLinkRepository.java index 77acb8e359c8..de1b3f9ae949 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CollectionItemReadGroupLinkRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CollectionItemReadGroupLinkRepository.java @@ -59,7 +59,7 @@ public GroupRest getItemReadGroup(@Nullable HttpServletRequest request, Projection projection) { try { Context context = obtainContext(); - Collection collection = collectionService.find(context, collectionId); + Collection collection = collectionService.find(context.getSession(), collectionId); if (collection == null) { throw new ResourceNotFoundException("No such collection: " + collectionId); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CollectionLicenseLinkRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CollectionLicenseLinkRepository.java index 4aceea599c4b..f34532b443f1 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CollectionLicenseLinkRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CollectionLicenseLinkRepository.java @@ -48,7 +48,7 @@ public LicenseRest getLicense(@Nullable HttpServletRequest request, Projection projection) { try { Context context = obtainContext(); - Collection collection = collectionService.find(context, collectionId); + Collection collection = collectionService.find(context.getSession(), collectionId); if (collection == null) { throw new ResourceNotFoundException("No such collection: " + collectionId); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CollectionLogoLinkRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CollectionLogoLinkRepository.java index 94bf99fc1ff7..b68bdcf6f777 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CollectionLogoLinkRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CollectionLogoLinkRepository.java @@ -41,7 +41,7 @@ public BitstreamRest getLogo(@Nullable HttpServletRequest request, Projection projection) { try { Context context = obtainContext(); - Collection collection = collectionService.find(context, collectionId); + Collection collection = collectionService.find(context.getSession(), collectionId); if (collection == null) { throw new ResourceNotFoundException("No such collection: " + collectionId); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CollectionMappedItemLinkRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CollectionMappedItemLinkRepository.java index 1118d0bd7bd4..e6c356d3fd8e 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CollectionMappedItemLinkRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CollectionMappedItemLinkRepository.java @@ -49,14 +49,14 @@ public Page getMappedItems(@Nullable HttpServletRequest request, Projection projection) { try { Context context = obtainContext(); - Collection collection = collectionService.find(context, collectionId); + Collection collection = collectionService.find(context.getSession(), collectionId); if (collection == null) { throw new ResourceNotFoundException("No such collection: " + collectionId); } int total = itemService.countByCollectionMapping(context, collection); Pageable pageable = utils.getPageable(optionalPageable); List items = new ArrayList<>(); - itemService.findByCollectionMapping(context, collection, pageable.getPageSize(), + itemService.findByCollectionMapping(context.getSession(), collection, pageable.getPageSize(), Math.toIntExact(pageable.getOffset())).forEachRemaining(items::add); return converter.toRestPage(items, pageable, total, projection); } catch (SQLException e) { diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CollectionParentCommunityLinkRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CollectionParentCommunityLinkRepository.java index fd21397b36af..6ed68c540e6e 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CollectionParentCommunityLinkRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CollectionParentCommunityLinkRepository.java @@ -51,7 +51,7 @@ public CommunityRest getParentCommunity(@Nullable HttpServletRequest httpServlet Projection projection) { try { Context context = obtainContext(); - Collection collection = collectionService.find(context, collectionId); + Collection collection = collectionService.find(context.getSession(), collectionId); if (collection == null) { throw new ResourceNotFoundException("No such collection: " + collectionId); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CollectionRestRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CollectionRestRepository.java index ba3163a4447c..23dce93604d5 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CollectionRestRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CollectionRestRepository.java @@ -131,7 +131,7 @@ public CollectionRestRepository(CollectionService dsoService) { public CollectionRest findOne(Context context, UUID id) { Collection collection = null; try { - collection = cs.find(context, id); + collection = cs.find(context.getSession(), id); } catch (SQLException e) { throw new RuntimeException(e.getMessage(), e); } @@ -146,11 +146,11 @@ public Page findAll(Context context, Pageable pageable) { try { if (authorizeService.isAdmin(context)) { long total = cs.countTotal(context); - List collections = cs.findAll(context, pageable.getPageSize(), + List collections = cs.findAll(context.getSession(), pageable.getPageSize(), Math.toIntExact(pageable.getOffset())); return converter.toRestPage(collections, pageable, total, utils.obtainProjection()); } else { - List collections = new LinkedList(); + List collections = new LinkedList<>(); // search for all the collections and let the SOLR security plugins to limit // what is returned to what the user can see DiscoverQuery discoverQuery = new DiscoverQuery(); @@ -176,7 +176,7 @@ public Page findSubmitAuthorizedByCommunity( @Parameter(value = "query") String q) { try { Context context = obtainContext(); - Community com = communityService.find(context, communityUuid); + Community com = communityService.find(context.getSession(), communityUuid); if (com == null) { throw new ResourceNotFoundException( CommunityRest.CATEGORY + "." + CommunityRest.NAME + " with id: " + communityUuid @@ -225,7 +225,7 @@ public Page findAdminAuthorized ( /** * Returns Collections for which the current user has 'submit' privileges. - * + * * @param query The query used in the lookup * @param entityTypeLabel The EntityType label object that will be used to limit the returned collection * to those related to given entity type @@ -257,7 +257,7 @@ public Page findSubmitAuthorizedByEntityType( /** * Returns Collections for which the current user has 'submit' privileges limited by parent community. - * + * * @param query The query used in the lookup * @param communityUuid UUID of the parent community * @param entityTypeLabel The EntityType label object that will be used to limit the returned collection @@ -277,7 +277,7 @@ public Page findSubmitAuthorizedByCommunityAndEntityType( if (Objects.isNull(entityType)) { throw new ResourceNotFoundException("There was no entityType found with label: " + entityTypeLabel); } - Community community = communityService.find(context, communityUuid); + Community community = communityService.find(context.getSession(), communityUuid); if (Objects.isNull(community)) { throw new ResourceNotFoundException( CommunityRest.CATEGORY + "." + CommunityRest.NAME + " with id: " + communityUuid + " not found"); @@ -330,7 +330,7 @@ protected CollectionRest createAndReturn(Context context, UUID id) throws Author Collection collection; try { - Community parent = communityService.find(context, id); + Community parent = communityService.find(context.getSession(), id); if (parent == null) { throw new UnprocessableEntityException("Parent community for id: " + id + " not found"); @@ -356,7 +356,7 @@ protected CollectionRest put(Context context, HttpServletRequest request, String } catch (IOException e) { throw new UnprocessableEntityException("Error parsing collection json: " + e.getMessage()); } - Collection collection = cs.find(context, id); + Collection collection = cs.find(context.getSession(), id); if (collection == null) { throw new ResourceNotFoundException(apiCategory + "." + model + " with id: " + id + " not found"); } @@ -375,7 +375,7 @@ protected CollectionRest put(Context context, HttpServletRequest request, String @PreAuthorize("hasPermission(#id, 'COLLECTION', 'DELETE')") protected void delete(Context context, UUID id) throws AuthorizeException { try { - Collection collection = cs.find(context, id); + Collection collection = cs.find(context.getSession(), id); if (collection == null) { throw new ResourceNotFoundException( CollectionRest.CATEGORY + "." + CollectionRest.NAME + " with id: " + id + " not found"); @@ -559,7 +559,7 @@ public void deleteItemReadGroup(Context context, Collection collection) Group itemReadGroup = itemGroups.get(0); groupService.delete(context, itemReadGroup); authorizeService.addPolicy(context, collection, Constants.DEFAULT_ITEM_READ, - groupService.findByName(context, Group.ANONYMOUS)); + groupService.findByName(context.getSession(), Group.ANONYMOUS)); } /** @@ -596,7 +596,7 @@ public void deleteBitstreamReadGroup(Context context, Collection collection) Group itemReadGroup = itemGroups.get(0); groupService.delete(context, itemReadGroup); authorizeService.addPolicy(context, collection, Constants.DEFAULT_BITSTREAM_READ, - groupService.findByName(context, Group.ANONYMOUS)); + groupService.findByName(context.getSession(), Group.ANONYMOUS)); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CollectionSubmitterGroupLinkRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CollectionSubmitterGroupLinkRepository.java index 4e6d901387ee..0d43b1878c7e 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CollectionSubmitterGroupLinkRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CollectionSubmitterGroupLinkRepository.java @@ -53,7 +53,7 @@ public GroupRest getSubmittersGroup(@Nullable HttpServletRequest request, Projection projection) { try { Context context = obtainContext(); - Collection collection = collectionService.find(context, collectionId); + Collection collection = collectionService.find(context.getSession(), collectionId); if (collection == null) { throw new ResourceNotFoundException("No such collection: " + collectionId); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CommunityAdminGroupLinkRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CommunityAdminGroupLinkRepository.java index b2ca20a7bceb..32a3f61074a6 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CommunityAdminGroupLinkRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CommunityAdminGroupLinkRepository.java @@ -53,7 +53,7 @@ public GroupRest getAdminGroup(@Nullable HttpServletRequest request, Projection projection) { try { Context context = obtainContext(); - Community community = communityService.find(context, communityId); + Community community = communityService.find(context.getSession(), communityId); if (community == null) { throw new ResourceNotFoundException("No such community: " + communityId); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CommunityCollectionLinkRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CommunityCollectionLinkRepository.java index 3c728d8c31b9..bfbeb3b12c3b 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CommunityCollectionLinkRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CommunityCollectionLinkRepository.java @@ -57,7 +57,7 @@ public Page getCollections(@Nullable HttpServletRequest request, Projection projection) { try { Context context = obtainContext(); - Community community = communityService.find(context, communityId); + Community community = communityService.find(context.getSession(), communityId); if (community == null) { throw new ResourceNotFoundException("No such community: " + communityId); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CommunityLogoLinkRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CommunityLogoLinkRepository.java index e3892462a32b..a798d743ed80 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CommunityLogoLinkRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CommunityLogoLinkRepository.java @@ -41,7 +41,7 @@ public BitstreamRest getLogo(@Nullable HttpServletRequest request, Projection projection) { try { Context context = obtainContext(); - Community community = communityService.find(context, communityId); + Community community = communityService.find(context.getSession(), communityId); if (community == null) { throw new ResourceNotFoundException("No such community: " + communityId); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CommunityParentCommunityLinkRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CommunityParentCommunityLinkRepository.java index ab23f3afed0d..1a89b546e129 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CommunityParentCommunityLinkRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CommunityParentCommunityLinkRepository.java @@ -49,7 +49,7 @@ public CommunityRest getParentCommunity(@Nullable HttpServletRequest httpServlet Projection projection) { try { Context context = obtainContext(); - Community community = communityService.find(context, communityId); + Community community = communityService.find(context.getSession(), communityId); if (community == null) { throw new ResourceNotFoundException("No such community: " + community); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CommunityRestRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CommunityRestRepository.java index 927b6a0b98f5..4d6019a54cf5 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CommunityRestRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CommunityRestRepository.java @@ -82,7 +82,7 @@ public class CommunityRestRepository extends DSpaceObjectRestRepository findAll(Context context, Pageable pageable) { try { if (authorizeService.isAdmin(context)) { long total = cs.countTotal(context); - List communities = cs.findAll(context, pageable.getPageSize(), + List communities = cs.findAll(context.getSession(), pageable.getPageSize(), Math.toIntExact(pageable.getOffset())); return converter.toRestPage(communities, pageable, total, utils.obtainProjection()); } else { - List communities = new LinkedList(); + List communities = new LinkedList<>(); // search for all the communities and let the SOLR security plugins to limit // what is returned to what the user can see DiscoverQuery discoverQuery = new DiscoverQuery(); @@ -196,7 +196,7 @@ public Page findAll(Context context, Pageable pageable) { public Page findAllTop(Pageable pageable) { try { Context context = obtainContext(); - List topLevelCommunities = new LinkedList(); + List topLevelCommunities = new LinkedList<>(); DiscoverQuery discoverQuery = new DiscoverQuery(); discoverQuery.setQuery("*:*"); discoverQuery.setDSpaceObjectFilter(IndexableCommunity.TYPE); @@ -255,7 +255,7 @@ protected CommunityRest put(Context context, HttpServletRequest request, String } catch (IOException e) { throw new UnprocessableEntityException("Error parsing community json: " + e.getMessage()); } - Community community = cs.find(context, id); + Community community = cs.find(context.getSession(), id); if (community == null) { throw new ResourceNotFoundException(apiCategory + "." + model + " with id: " + id + " not found"); } @@ -273,7 +273,7 @@ protected CommunityRest put(Context context, HttpServletRequest request, String protected void delete(Context context, UUID id) throws AuthorizeException { Community community = null; try { - community = cs.find(context, id); + community = cs.find(context.getSession(), id); if (community == null) { throw new ResourceNotFoundException( CommunityRest.CATEGORY + "." + CommunityRest.NAME + " with id: " + id + " not found"); diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CommunitySubcommunityLinkRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CommunitySubcommunityLinkRepository.java index 135d964f3f42..e27d43b9fcad 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CommunitySubcommunityLinkRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CommunitySubcommunityLinkRepository.java @@ -55,12 +55,12 @@ public Page getSubcommunities(@Nullable HttpServletRequest reques Projection projection) { try { Context context = obtainContext(); - Community community = communityService.find(context, communityId); + Community community = communityService.find(context.getSession(), communityId); if (community == null) { throw new ResourceNotFoundException("No such community: " + communityId); } Pageable pageable = utils.getPageable(optionalPageable); - List publicSubcommunities = new LinkedList(); + List publicSubcommunities = new LinkedList<>(); IndexObjectFactoryFactory indexObjectFactory = IndexObjectFactoryFactory.getInstance(); IndexableObject scopeObject = indexObjectFactory.getIndexableObjects(context, community).get(0); DiscoverQuery discoverQuery = new DiscoverQuery(); diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/DSpaceObjectRestRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/DSpaceObjectRestRepository.java index 18c18d7af14a..8ecf87b37c03 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/DSpaceObjectRestRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/DSpaceObjectRestRepository.java @@ -57,7 +57,7 @@ public abstract class DSpaceObjectRestRepository getGroups(@Nullable HttpServletRequest request, Projection projection) { try { Context context = obtainContext(); - EPerson eperson = epersonService.find(context, epersonId); + EPerson eperson = epersonService.find(context.getSession(), epersonId); if (eperson == null) { throw new ResourceNotFoundException("No such eperson: " + epersonId); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/EPersonRestRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/EPersonRestRepository.java index 062f7b7a9482..31c911051e51 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/EPersonRestRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/EPersonRestRepository.java @@ -217,7 +217,7 @@ private void checkRequiredProperties(EPersonRest epersonRest) { public EPersonRest findOne(Context context, UUID id) { EPerson eperson = null; try { - eperson = es.find(context, id); + eperson = es.find(context.getSession(), id); } catch (SQLException e) { throw new RuntimeException(e.getMessage(), e); } @@ -317,7 +317,7 @@ protected void patch(Context context, HttpServletRequest request, String apiCate protected void delete(Context context, UUID id) throws AuthorizeException { EPerson eperson = null; try { - eperson = es.find(context, id); + eperson = es.find(context.getSession(), id); es.delete(context, eperson); } catch (SQLException | IOException e) { throw new RuntimeException(e.getMessage(), e); diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/GroupEPersonLinkRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/GroupEPersonLinkRepository.java index b1cdc401f22f..132168cc2d9f 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/GroupEPersonLinkRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/GroupEPersonLinkRepository.java @@ -41,7 +41,7 @@ public Page getMembers(@Nullable HttpServletRequest request, Projection projection) { try { Context context = obtainContext(); - Group group = groupService.find(context, groupId); + Group group = groupService.find(context.getSession(), groupId); if (group == null) { throw new ResourceNotFoundException("No such group: " + groupId); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/GroupGroupLinkRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/GroupGroupLinkRepository.java index 37cf9083b39a..fea6cc3c4017 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/GroupGroupLinkRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/GroupGroupLinkRepository.java @@ -41,7 +41,7 @@ public Page getGroups(@Nullable HttpServletRequest request, Projection projection) { try { Context context = obtainContext(); - Group group = groupService.find(context, groupId); + Group group = groupService.find(context.getSession(), groupId); if (group == null) { throw new ResourceNotFoundException("No such group: " + groupId); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/GroupParentObjectLinkRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/GroupParentObjectLinkRepository.java index 3d7cdf8f80c9..89371c7a17cf 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/GroupParentObjectLinkRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/GroupParentObjectLinkRepository.java @@ -53,7 +53,7 @@ public DSpaceObjectRest getParentObject( ) { Context context = obtainContext(); try { - Group group = groupService.find(context, groupId); + Group group = groupService.find(context.getSession(), groupId); if (group == null) { throw new ResourceNotFoundException( GroupRest.CATEGORY + "." + GroupRest.NAME diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/GroupRestRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/GroupRestRepository.java index 103abdcae645..372e7696066f 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/GroupRestRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/GroupRestRepository.java @@ -93,7 +93,7 @@ protected GroupRest createAndReturn(Context context) public GroupRest findOne(Context context, UUID id) { Group group = null; try { - group = gs.find(context, id); + group = gs.find(context.getSession(), id); } catch (SQLException e) { throw new RuntimeException(e.getMessage(), e); } @@ -108,7 +108,7 @@ public GroupRest findOne(Context context, UUID id) { public Page findAll(Context context, Pageable pageable) { try { long total = gs.countTotal(context); - List groups = gs.findAll(context, null, pageable.getPageSize(), + List groups = gs.findAll(context.getSession(), null, pageable.getPageSize(), Math.toIntExact(pageable.getOffset())); return converter.toRestPage(groups, pageable, total, utils.obtainProjection()); } catch (SQLException e) { @@ -158,7 +158,7 @@ public Class getDomainClass() { protected void delete(Context context, UUID uuid) throws AuthorizeException { Group group = null; try { - group = gs.find(context, uuid); + group = gs.find(context.getSession(), uuid); if (group == null) { throw new ResourceNotFoundException( GroupRest.CATEGORY + "." + GroupRest.NAME diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/IdentifierRestRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/IdentifierRestRepository.java index 1be569d18e5d..c5846c155d7a 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/IdentifierRestRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/IdentifierRestRepository.java @@ -151,7 +151,7 @@ public Page findByItem(@Parameter(value = "uuid", required = tru Context context = obtainContext(); List results = new ArrayList<>(); try { - DSpaceObject dso = itemService.find(context, UUID.fromString(uuid)); + DSpaceObject dso = itemService.find(context.getSession(), UUID.fromString(uuid)); String handle = dso.getHandle(); DOI doi = doiService.findDOIByDSpaceObject(context, dso); if (doi != null) { diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ItemAccessStatusLinkRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ItemAccessStatusLinkRepository.java index b2660f51e09c..9e9cf5a5b2fd 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ItemAccessStatusLinkRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ItemAccessStatusLinkRepository.java @@ -46,7 +46,7 @@ public AccessStatusRest getAccessStatus(@Nullable HttpServletRequest request, Projection projection) { try { Context context = obtainContext(); - Item item = itemService.find(context, itemId); + Item item = itemService.find(context.getSession(), itemId); if (item == null) { throw new ResourceNotFoundException("No such item: " + itemId); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ItemBundleLinkRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ItemBundleLinkRepository.java index d7525c881a6e..2e180cc43a32 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ItemBundleLinkRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ItemBundleLinkRepository.java @@ -42,7 +42,7 @@ public Page getBundles(@Nullable HttpServletRequest request, Projection projection) { try { Context context = obtainContext(); - Item item = itemService.find(context, itemId); + Item item = itemService.find(context.getSession(), itemId); if (item == null) { throw new ResourceNotFoundException("No such item: " + itemId); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ItemIdentifierLinkRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ItemIdentifierLinkRepository.java index 0714b7329bff..84667a883777 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ItemIdentifierLinkRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ItemIdentifierLinkRepository.java @@ -58,7 +58,7 @@ public IdentifiersRest getIdentifiers(@Nullable HttpServletRequest request, @Nullable Pageable optionalPageable, Projection projection) throws SQLException { Context context = ContextUtil.obtainCurrentRequestContext(); - Item item = itemService.find(context, itemId); + Item item = itemService.find(context.getSession(), itemId); if (item == null) { throw new ResourceNotFoundException("Could not find item with id " + itemId); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ItemMappedCollectionLinkRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ItemMappedCollectionLinkRepository.java index c632cd9d613a..499c100afc01 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ItemMappedCollectionLinkRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ItemMappedCollectionLinkRepository.java @@ -45,7 +45,7 @@ public Page getMappedCollections(@Nullable HttpServletRequest re Projection projection) { try { Context context = obtainContext(); - Item item = itemService.find(context, itemId); + Item item = itemService.find(context.getSession(), itemId); if (item == null) { throw new ResourceNotFoundException("No such item: " + itemId); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ItemOwningCollectionLinkRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ItemOwningCollectionLinkRepository.java index a7ceed900d7e..1fb979729713 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ItemOwningCollectionLinkRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ItemOwningCollectionLinkRepository.java @@ -41,7 +41,7 @@ public CollectionRest getOwningCollection(@Nullable HttpServletRequest request, Projection projection) { try { Context context = obtainContext(); - Item item = itemService.find(context, itemId); + Item item = itemService.find(context.getSession(), itemId); if (item == null) { throw new ResourceNotFoundException("No such item: " + itemId); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ItemRelationshipLinkRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ItemRelationshipLinkRepository.java index 4a282ee46693..3f91a80c8f8c 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ItemRelationshipLinkRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ItemRelationshipLinkRepository.java @@ -48,13 +48,13 @@ public Page getRelationships(@Nullable HttpServletRequest requ Projection projection) { try { Context context = obtainContext(); - Item item = itemService.find(context, itemId); + Item item = itemService.find(context.getSession(), itemId); if (item == null) { throw new ResourceNotFoundException("No such item: " + itemId); } int total = relationshipService.countByItem(context, item, true, true); Pageable pageable = utils.getPageable(optionalPageable); - List relationships = relationshipService.findByItem(context, item, + List relationships = relationshipService.findByItem(context.getSession(), item, pageable.getPageSize(), Math.toIntExact(pageable.getOffset()), true, true); return converter.toRestPage(relationships, pageable, total, projection); } catch (SQLException e) { diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ItemRestRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ItemRestRepository.java index 16ce8629d17d..01c07a61cd40 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ItemRestRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ItemRestRepository.java @@ -104,7 +104,7 @@ public ItemRestRepository(ItemService dsoService) { public ItemRest findOne(Context context, UUID id) { Item item = null; try { - item = itemService.find(context, id); + item = itemService.find(context.getSession(), id); } catch (SQLException e) { throw new RuntimeException(e.getMessage(), e); } @@ -123,7 +123,7 @@ public Page findAll(Context context, Pageable pageable) { try { // This endpoint only returns archived items long total = itemService.countArchivedItems(context); - Iterator it = itemService.findAll(context, pageable.getPageSize(), + Iterator it = itemService.findAll(context.getSession(), pageable.getPageSize(), Math.toIntExact(pageable.getOffset())); List items = new ArrayList<>(); while (it.hasNext()) { @@ -156,7 +156,7 @@ protected void delete(Context context, UUID id) throws AuthorizeException { Item item = null; try { - item = itemService.find(context, id); + item = itemService.find(context.getSession(), id); if (item == null) { throw new ResourceNotFoundException(ItemRest.CATEGORY + "." + ItemRest.NAME + " with id: " + id + " not found"); @@ -200,14 +200,14 @@ private void deleteMultipleRelationshipsCopyVirtualMetadata(Context context, Str if (Objects.deepEquals(copyVirtual, COPYVIRTUAL_ALL)) { // Option 1: Copy all virtual metadata of this item to its related items. Iterate over all of the item's // relationships and copy their data. - for (Relationship relationship : relationshipService.findByItem(context, item)) { + for (Relationship relationship : relationshipService.findByItem(context.getSession(), item)) { deleteRelationshipCopyVirtualMetadata(item, relationship); } } else if (Objects.deepEquals(copyVirtual, COPYVIRTUAL_CONFIGURED)) { // Option 2: Use a configuration value to determine if virtual metadata needs to be copied. Iterate over all // of the item's relationships and copy their data depending on the // configuration. - for (Relationship relationship : relationshipService.findByItem(context, item)) { + for (Relationship relationship : relationshipService.findByItem(context.getSession(), item)) { boolean copyToLeft = relationship.getRelationshipType().isCopyToLeft(); boolean copyToRight = relationship.getRelationshipType().isCopyToRight(); if (relationship.getLeftItem().getID().equals(item.getID())) { @@ -226,7 +226,7 @@ private void deleteMultipleRelationshipsCopyVirtualMetadata(Context context, Str for (Integer relationshipId : relationshipIds) { RelationshipType relationshipType = relationshipTypeService.find(context, relationshipId); for (Relationship relationship : relationshipService - .findByItemAndRelationshipType(context, item, relationshipType)) { + .findByItemAndRelationshipType(context.getSession(), item, relationshipType)) { deleteRelationshipCopyVirtualMetadata(item, relationship); } @@ -242,7 +242,7 @@ private List parseVirtualMetadataTypes(String[] copyVirtual) { + " should only contain a single value '" + COPYVIRTUAL_ALL[0] + "', '" + COPYVIRTUAL_CONFIGURED[0] + "' or a list of numbers."); } - types.add(Integer.parseInt(typeString)); + types.add(Integer.valueOf(typeString)); } return types; } @@ -286,7 +286,7 @@ protected ItemRest createAndReturn(Context context) throws AuthorizeException, S throw new DSpaceBadRequestException("InArchive attribute should not be set to false for the create"); } UUID owningCollectionUuid = UUIDUtils.fromString(owningCollectionUuidString); - Collection collection = collectionService.find(context, owningCollectionUuid); + Collection collection = collectionService.find(context.getSession(), owningCollectionUuid); if (collection == null) { throw new DSpaceBadRequestException("The given owningCollection parameter is invalid: " + owningCollectionUuid); @@ -318,7 +318,7 @@ protected ItemRest put(Context context, HttpServletRequest request, String apiCa throw new UnprocessableEntityException("Error parsing request body", e1); } - Item item = itemService.find(context, uuid); + Item item = itemService.find(context.getSession(), uuid); if (item == null) { throw new ResourceNotFoundException(apiCategory + "." + model + " with id: " + uuid + " not found"); } @@ -340,10 +340,12 @@ protected ItemRest put(Context context, HttpServletRequest request, String apiCa * @param item The item to which the bundle has to be added * @param bundleRest The bundleRest that needs to be added to the item * @return The added bundle + * @throws java.sql.SQLException passed through. + * @throws org.dspace.authorize.AuthorizeException passed through. */ public Bundle addBundleToItem(Context context, Item item, BundleRest bundleRest) throws SQLException, AuthorizeException { - if (item.getBundles(bundleRest.getName()).size() > 0) { + if (!item.getBundles(bundleRest.getName()).isEmpty()) { throw new DSpaceBadRequestException("The bundle name already exists in the item"); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ItemTemplateItemOfLinkRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ItemTemplateItemOfLinkRepository.java index 63f25bc668b3..ad96d02274d3 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ItemTemplateItemOfLinkRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ItemTemplateItemOfLinkRepository.java @@ -41,7 +41,7 @@ public CollectionRest getTemplateItemOf(@Nullable HttpServletRequest request, Projection projection) { try { Context context = obtainContext(); - Item item = itemService.find(context, itemId); + Item item = itemService.find(context.getSession(), itemId); if (item == null) { throw new ResourceNotFoundException("No such item: " + itemId); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ItemThumbnailLinkRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ItemThumbnailLinkRepository.java index 7391d410b6f6..e3ce697e2ad6 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ItemThumbnailLinkRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ItemThumbnailLinkRepository.java @@ -41,7 +41,7 @@ public BitstreamRest getThumbnail(@Nullable HttpServletRequest request, Projection projection) { try { Context context = obtainContext(); - Item item = itemService.find(context, itemId); + Item item = itemService.find(context.getSession(), itemId); if (item == null) { throw new ResourceNotFoundException("No such item: " + itemId); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ItemVersionLinkRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ItemVersionLinkRepository.java index 95bbddc66587..35cfe96d143c 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ItemVersionLinkRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ItemVersionLinkRepository.java @@ -59,7 +59,7 @@ public VersionRest getItemVersion(@Nullable HttpServletRequest request, Context context = obtainContext(); - Item item = itemService.find(context, itemUuid); + Item item = itemService.find(context.getSession(), itemUuid); if (item == null) { throw new ResourceNotFoundException("The Item for uuid: " + itemUuid + " couldn't be found"); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/MetadataFieldRestRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/MetadataFieldRestRepository.java index 5152f11902f5..ff065342a1ae 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/MetadataFieldRestRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/MetadataFieldRestRepository.java @@ -60,7 +60,7 @@ public class MetadataFieldRestRepository extends DSpaceRestRepository findAll(Context context, Pageable pageable) { try { - List metadataFields = metadataFieldService.findAll(context); + List metadataFields = metadataFieldService.findAll(context.getSession()); return converter.toRestPage(metadataFields, pageable, utils.obtainProjection()); } catch (SQLException e) { throw new RuntimeException(e.getMessage(), e); @@ -101,11 +101,11 @@ public Page findBySchema(@Parameter(value = "schema", require Pageable pageable) { try { Context context = obtainContext(); - MetadataSchema schema = metadataSchemaService.find(context, schemaName); + MetadataSchema schema = metadataSchemaService.find(context.getSession(), schemaName); if (schema == null) { return null; } - List metadataFields = metadataFieldService.findAllInSchema(context, schema); + List metadataFields = metadataFieldService.findAllInSchema(context.getSession(), schema); return converter.toRestPage(metadataFields, pageable, utils.obtainProjection()); } catch (SQLException e) { throw new RuntimeException(e.getMessage(), e); @@ -163,7 +163,8 @@ public Page findByFieldName(@Parameter(value = "schema", requ "and schema to search discovery for metadata fields"); } // Find at most one match with exactName query param in DB - MetadataField exactMatchingMdField = metadataFieldService.findByString(context, exactName, '.'); + MetadataField exactMatchingMdField + = metadataFieldService.findByString(context.getSession(), exactName, '.'); if (exactMatchingMdField != null) { matchingMetadataFields.add(exactMatchingMdField); totalElements = 1; @@ -253,7 +254,7 @@ protected MetadataFieldRest createAndReturn(Context context) throw new UnprocessableEntityException("metadata schema ID cannot be blank"); } - MetadataSchema schema = metadataSchemaService.find(context, parseInt(schemaId)); + MetadataSchema schema = metadataSchemaService.find(context.getSession(), parseInt(schemaId)); if (schema == null) { throw new UnprocessableEntityException("metadata schema with ID " + schemaId + " not found"); } @@ -300,7 +301,7 @@ protected MetadataFieldRest createAndReturn(Context context) protected void delete(Context context, Integer id) throws AuthorizeException { try { - MetadataField metadataField = metadataFieldService.find(context, id); + MetadataField metadataField = metadataFieldService.find(context.getSession(), id); if (metadataField == null) { throw new ResourceNotFoundException("metadata field with id: " + id + " not found"); @@ -324,7 +325,7 @@ protected MetadataFieldRest put(Context context, HttpServletRequest request, Str throw new DSpaceBadRequestException("Cannot parse JSON in request body", e); } - MetadataField metadataField = metadataFieldService.find(context, id); + MetadataField metadataField = metadataFieldService.find(context.getSession(), id); if (metadataField == null) { throw new UnprocessableEntityException("metadata field with id: " + id + " not found"); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/MetadataSchemaRestRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/MetadataSchemaRestRepository.java index d9c148b71c0d..022557655de0 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/MetadataSchemaRestRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/MetadataSchemaRestRepository.java @@ -49,7 +49,7 @@ public class MetadataSchemaRestRepository extends DSpaceRestRepository findByUser(@Parameter(value = "uuid") UUID userID, Pag + " to search for their own pool tasks or the admins"); } if (authorizeService.isAdmin(context) || userID.equals(currentUser.getID())) { - EPerson ep = epersonService.find(context, userID); + EPerson ep = epersonService.find(context.getSession(), userID); List tasks = poolTaskService.findByEperson(context, ep); return converter.toRestPage(tasks, pageable, utils.obtainProjection()); } else { @@ -142,7 +142,7 @@ public Page findAllByItem(@Parameter(value = "uuid", required = tr List poolTasks = null; try { Context context = obtainContext(); - Item item = itemService.find(context, itemUUID); + Item item = itemService.find(context.getSession(), itemUUID); if (item == null) { throw new UnprocessableEntityException("There is no Item with uuid provided, uuid:" + itemUUID); } @@ -164,7 +164,7 @@ public PoolTaskRest findByItem(@Parameter(value = "uuid", required = true) UUID PoolTask poolTask = null; try { Context context = obtainContext(); - Item item = itemService.find(context, itemUUID); + Item item = itemService.find(context.getSession(), itemUUID); if (item == null) { throw new UnprocessableEntityException("There is no Item with uuid provided, uuid:" + itemUUID); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ProcessRestRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ProcessRestRepository.java index 2479eeda97f5..1358816b818d 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ProcessRestRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ProcessRestRepository.java @@ -191,7 +191,7 @@ public Page findProcessesByProperty(@Parameter(value = "userId") UU Context context = obtainContext(); EPerson ePerson = null; if (ePersonUuid != null) { - ePerson = epersonService.find(context, ePersonUuid); + ePerson = epersonService.find(context.getSession(), ePersonUuid); if (ePerson == null) { throw new DSpaceBadRequestException("No EPerson with the given UUID is found"); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/RelationshipRestRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/RelationshipRestRepository.java index 21f43ddacd63..8b1e13c9f1bf 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/RelationshipRestRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/RelationshipRestRepository.java @@ -94,7 +94,7 @@ public RelationshipRest findOne(Context context, Integer integer) { public Page findAll(Context context, Pageable pageable) { try { long total = relationshipService.countTotal(context); - List relationships = relationshipService.findAll(context, + List relationships = relationshipService.findAll(context.getSession(), pageable.getPageSize(), Math.toIntExact(pageable.getOffset())); return converter.toRestPage(relationships, pageable, total, utils.obtainProjection()); } catch (SQLException e) { @@ -347,7 +347,7 @@ public Page findByLabel(@Parameter(value = "label", required = int total = 0; if (dsoId != null) { - Item item = itemService.find(context, dsoId); + Item item = itemService.find(context.getSession(), dsoId); if (item == null) { throw new ResourceNotFoundException("The request DSO with id: " + dsoId + " was not found"); @@ -358,14 +358,16 @@ public Page findByLabel(@Parameter(value = "label", required = isLeft = true; } total += relationshipService.countByItemAndRelationshipType(context, item, relationshipType, isLeft); - relationships.addAll(relationshipService.findByItemAndRelationshipType(context, item, relationshipType, - isLeft, pageable.getPageSize(), Math.toIntExact(pageable.getOffset()))); + relationships.addAll(relationshipService.findByItemAndRelationshipType(context.getSession(), + item, relationshipType, isLeft, pageable.getPageSize(), + Math.toIntExact(pageable.getOffset()))); } } else { for (RelationshipType relationshipType : relationshipTypeList) { total += relationshipService.countByRelationshipType(context, relationshipType); - relationships.addAll(relationshipService.findByRelationshipType(context, relationshipType, - pageable.getPageSize(), Math.toIntExact(pageable.getOffset()))); + relationships.addAll(relationshipService.findByRelationshipType(context.getSession(), + relationshipType, pageable.getPageSize(), + Math.toIntExact(pageable.getOffset()))); } } @@ -377,7 +379,7 @@ public Page findByLabel(@Parameter(value = "label", required = * of potentially related items we need to know which of these other items * are already in a specific relationship with the focus item and, * by exclusion which ones are not yet related. - * + * * @param typeId The relationship type id to apply as a filter to the returned relationships * @param label The name of the relation as defined from the side of the 'focusItem' * @param focusUUID The uuid of the item to be checked on the side defined by 'relationshipLabel' @@ -403,13 +405,14 @@ public Page findByItemsAndType( throw new UnprocessableEntityException("The provided label: " + label + " , does not match any relation!"); } - relationships = relationshipService.findByItemRelationshipTypeAndRelatedList(context, focusUUID, - relationshipType, new ArrayList(items), relationshipType.getLeftwardType().equals(label), - Math.toIntExact(pageable.getOffset()), - Math.toIntExact(pageable.getPageSize())); + relationships = relationshipService.findByItemRelationshipTypeAndRelatedList(context.getSession(), + focusUUID, relationshipType, new ArrayList(items), + relationshipType.getLeftwardType().equals(label), + Math.toIntExact(pageable.getOffset()), + Math.toIntExact(pageable.getPageSize())); total = relationshipService.countByItemRelationshipTypeAndRelatedList(context, focusUUID, - relationshipType, new ArrayList(items), relationshipType.getLeftwardType().equals(label)); + relationshipType, new ArrayList<>(items), relationshipType.getLeftwardType().equals(label)); } return converter.toRestPage(relationships, pageable, total, utils.obtainProjection()); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/RequestItemRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/RequestItemRepository.java index 7c0694c52f26..eae070a10378 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/RequestItemRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/RequestItemRepository.java @@ -134,7 +134,7 @@ public RequestItemRest createAndReturn(Context ctx) if (isBlank(bitstreamId)) { throw new IncompleteItemRequestException("A bitstream ID is required"); } - bitstream = bitstreamService.find(ctx, UUID.fromString(bitstreamId)); + bitstream = bitstreamService.find(ctx.getSession(), UUID.fromString(bitstreamId)); if (null == bitstream) { throw new IncompleteItemRequestException("That bitstream does not exist"); } @@ -147,7 +147,7 @@ public RequestItemRest createAndReturn(Context ctx) if (isBlank(itemId)) { throw new IncompleteItemRequestException("An item ID is required"); } - Item item = itemService.find(ctx, UUID.fromString(itemId)); + Item item = itemService.find(ctx.getSession(), UUID.fromString(itemId)); if (null == item) { throw new IncompleteItemRequestException("That item does not exist"); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ResearcherProfileEPersonLinkRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ResearcherProfileEPersonLinkRepository.java index 92bbf6996d48..d021b596c042 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ResearcherProfileEPersonLinkRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ResearcherProfileEPersonLinkRepository.java @@ -64,7 +64,7 @@ public EPersonRest getEPerson(@Nullable HttpServletRequest request, UUID id, throw new ResourceNotFoundException("No such profile with UUID: " + id); } - EPerson ePerson = ePersonService.find(context, id); + EPerson ePerson = ePersonService.find(context.getSession(), id); if (ePerson == null) { throw new ResourceNotFoundException("No such eperson related to a profile with EPerson UUID: " + id); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ResearcherProfileRestRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ResearcherProfileRestRepository.java index 37717f6268d8..fa5856641ae8 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ResearcherProfileRestRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ResearcherProfileRestRepository.java @@ -90,7 +90,7 @@ protected ResearcherProfileRest createAndReturn(Context context) throws Authoriz throw new AuthorizeException("User unauthorized to create a new profile for user " + id); } - EPerson ePerson = ePersonService.find(context, id); + EPerson ePerson = ePersonService.find(context.getSession(), id); if (ePerson == null) { throw new UnprocessableEntityException("No EPerson exists with id: " + id); } @@ -120,7 +120,7 @@ protected ResearcherProfileRest createAndReturn(final Context context, final Lis throw new AuthorizeException("User unauthorized to create a new profile for user " + id); } - EPerson ePerson = ePersonService.find(context, id); + EPerson ePerson = ePersonService.find(context.getSession(), id); if (ePerson == null) { throw new UnprocessableEntityException("No EPerson exists with id: " + id); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ResourcePolicyRestRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ResourcePolicyRestRepository.java index 0b77f96b9b5f..658c421845d0 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ResourcePolicyRestRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ResourcePolicyRestRepository.java @@ -156,7 +156,7 @@ public Page findByEPerson(@Parameter(value = "uuid", require int total = 0; try { Context context = obtainContext(); - EPerson eperson = epersonService.find(context, epersonUuid); + EPerson eperson = epersonService.find(context.getSession(), epersonUuid); if (eperson == null) { return null; } @@ -199,7 +199,7 @@ public Page findByGroup(@Parameter(value = "uuid", required if (context.getCurrentUser() == null) { throw new RESTAuthorizationException("Only loggedin users can search resource policies by group"); } - Group group = groupService.find(context, groupUuid); + Group group = groupService.find(context.getSession(), groupUuid); if (group == null) { return null; } @@ -266,7 +266,7 @@ protected ResourcePolicyRest createAndReturn(Context context) throws AuthorizeEx if (epersonUuidStr != null) { try { UUID epersonUuid = UUID.fromString(epersonUuidStr); - EPerson ePerson = epersonService.find(context, epersonUuid); + EPerson ePerson = epersonService.find(context.getSession(), epersonUuid); if (ePerson == null) { throw new UnprocessableEntityException("EPerson with uuid: " + epersonUuid + " not found"); } @@ -279,7 +279,7 @@ protected ResourcePolicyRest createAndReturn(Context context) throws AuthorizeEx } else { try { UUID groupUuid = UUID.fromString(groupUuidStr); - Group group = groupService.find(context, groupUuid); + Group group = groupService.find(context.getSession(), groupUuid); if (group == null) { throw new UnprocessableEntityException("Group with uuid: " + groupUuid + " not found"); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/SiteRestRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/SiteRestRepository.java index bf13700078ab..8a3ff75449cb 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/SiteRestRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/SiteRestRepository.java @@ -47,7 +47,7 @@ public SiteRestRepository(SiteService dsoService) { public SiteRest findOne(Context context, UUID id) { Site site = null; try { - site = sitesv.find(context, id); + site = sitesv.find(context.getSession(), id); } catch (SQLException e) { throw new RuntimeException(e.getMessage(), e); } @@ -60,7 +60,7 @@ public SiteRest findOne(Context context, UUID id) { @Override public Page findAll(Context context, Pageable pageable) { try { - List sites = Arrays.asList(sitesv.findSite(context)); + List sites = Arrays.asList(sitesv.findSite(context.getSession())); return converter.toRestPage(sites, pageable, utils.obtainProjection()); } catch (SQLException e) { throw new RuntimeException(e.getMessage(), e); diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/SubmissionDefinitionRestRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/SubmissionDefinitionRestRepository.java index b358b9684743..b2165b69e844 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/SubmissionDefinitionRestRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/SubmissionDefinitionRestRepository.java @@ -33,9 +33,10 @@ */ @Component(SubmissionDefinitionRest.CATEGORY + "." + SubmissionDefinitionRest.NAME) public class SubmissionDefinitionRestRepository extends DSpaceRestRepository { - private SubmissionConfigReader submissionConfigReader; + private final SubmissionConfigReader submissionConfigReader; - private CollectionService collectionService = ContentServiceFactory.getInstance().getCollectionService(); + private final CollectionService collectionService + = ContentServiceFactory.getInstance().getCollectionService(); public SubmissionDefinitionRestRepository() throws SubmissionConfigReaderException { submissionConfigReader = new SubmissionConfigReader(); @@ -64,7 +65,7 @@ public Page findAll(Context context, Pageable pageable @SearchRestMethod(name = "findByCollection") public SubmissionDefinitionRest findByCollection(@Parameter(value = "uuid", required = true) UUID collectionUuid) throws SQLException { - Collection col = collectionService.find(obtainContext(), collectionUuid); + Collection col = collectionService.find(obtainContext().getSession(), collectionUuid); if (col == null) { return null; } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/SubscriptionRestRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/SubscriptionRestRepository.java index ce1bcff11fbc..0832cd72d1c7 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/SubscriptionRestRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/SubscriptionRestRepository.java @@ -114,7 +114,7 @@ public Page findSubscriptionsByEPerson(@Parameter(value = "uui List subscriptions = null; try { Context context = obtainContext(); - EPerson ePerson = ePersonService.find(context, epersonId); + EPerson ePerson = ePersonService.find(context.getSession(), epersonId); subscriptions = subscribeService.findSubscriptionsByEPerson(context, ePerson, Math.toIntExact(pageable.getPageSize()), Math.toIntExact(pageable.getOffset())); @@ -135,7 +135,7 @@ public Page findByEPersonAndDso(@Parameter(value = "eperson_id try { Context context = obtainContext(); DSpaceObject dSpaceObject = dspaceObjectUtil.findDSpaceObject(context, dsoId); - EPerson ePerson = ePersonService.find(context, epersonId); + EPerson ePerson = ePersonService.find(context.getSession(), epersonId); subscriptions = subscribeService.findSubscriptionsByEPersonAndDso(context, ePerson, dSpaceObject, Math.toIntExact(pageable.getPageSize()), Math.toIntExact(pageable.getOffset())); @@ -159,7 +159,7 @@ protected SubscriptionRest createAndReturn(Context context) throws SQLException, try { DSpaceObject dSpaceObject = dspaceObjectUtil.findDSpaceObject(context, UUID.fromString(dsoId)); - EPerson ePerson = ePersonService.findByIdOrLegacyId(context, epersonId); + EPerson ePerson = ePersonService.findByIdOrLegacyId(context.getSession(), epersonId); if (Objects.isNull(ePerson) || Objects.isNull(dSpaceObject)) { throw new DSpaceBadRequestException("Id of person or dspace object must represents reals ids"); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/SupervisionOrderRestRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/SupervisionOrderRestRepository.java index fb2f589dbc2a..f07121f26bdb 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/SupervisionOrderRestRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/SupervisionOrderRestRepository.java @@ -111,7 +111,7 @@ public SupervisionOrderRest createAndReturn(Context context) throws AuthorizeExc validateParameters(itemId, groupId, type); - Item item = itemService.find(context, UUID.fromString(itemId)); + Item item = itemService.find(context.getSession(), UUID.fromString(itemId)); if (item == null) { throw new UnprocessableEntityException("Item with uuid: " + itemId + " not found"); } @@ -120,7 +120,7 @@ public SupervisionOrderRest createAndReturn(Context context) throws AuthorizeExc throw new UnprocessableEntityException("An archived Item with uuid: " + itemId + " can't be supervised"); } - Group group = groupService.find(context, UUID.fromString(groupId)); + Group group = groupService.find(context.getSession(), UUID.fromString(groupId)); if (group == null) { throw new UnprocessableEntityException("Group with uuid: " + groupId + " not found"); } @@ -162,7 +162,7 @@ public Page findByItem(@Parameter(value = "uuid", required Pageable pageable) { try { Context context = obtainContext(); - Item item = itemService.find(context, UUID.fromString(itemId)); + Item item = itemService.find(context.getSession(), UUID.fromString(itemId)); if (Objects.isNull(item)) { throw new ResourceNotFoundException("no item is found for the uuid < " + itemId + " >"); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/TemplateItemRestRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/TemplateItemRestRepository.java index ad801404819b..b2362264e033 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/TemplateItemRestRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/TemplateItemRestRepository.java @@ -54,7 +54,7 @@ public class TemplateItemRestRepository extends DSpaceRestRepository findAll(Context context, Pageable pageable) @PreAuthorize("hasAuthority('AUTHENTICATED')") public WorkflowDefinitionRest findByCollection(@Parameter(value = "uuid") UUID collectionId) throws SQLException { Context context = obtainContext(); - Collection collectionFromUuid = collectionService.find(context, collectionId); + Collection collectionFromUuid = collectionService.find(context.getSession(), collectionId); if (collectionFromUuid != null) { try { return converter.toRest(xmlWorkflowFactory.getWorkflow(collectionFromUuid), utils.obtainProjection()); diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/WorkflowItemRestRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/WorkflowItemRestRepository.java index ee8dc12e7354..7470dc32b31e 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/WorkflowItemRestRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/WorkflowItemRestRepository.java @@ -148,7 +148,7 @@ public Page findAll(Context context, Pageable pageable) { public Page findBySubmitter(@Parameter(value = "uuid") UUID submitterID, Pageable pageable) { try { Context context = obtainContext(); - EPerson ep = epersonService.find(context, submitterID); + EPerson ep = epersonService.find(context.getSession(), submitterID); long total = wis.countBySubmitter(context, ep); List witems = wis.findBySubmitter(context, ep, pageable.getPageNumber(), pageable.getPageSize()); @@ -300,7 +300,7 @@ public WorkflowItemRest findByItemUuid(@Parameter(value = "uuid", required = tru Pageable pageable) { try { Context context = obtainContext(); - Item item = itemService.find(context, itemUuid); + Item item = itemService.find(context.getSession(), itemUuid); XmlWorkflowItem xmlWorkflowItem = wis.findByItem(context, item); if (xmlWorkflowItem == null) { return null; diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/WorkspaceItemRestRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/WorkspaceItemRestRepository.java index b43cdb7a0b1a..43213a4c29db 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/WorkspaceItemRestRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/WorkspaceItemRestRepository.java @@ -116,7 +116,7 @@ public class WorkspaceItemRestRepository extends DSpaceRestRepository findBySubmitter(@Parameter(value = "uuid", requir Pageable pageable) { try { Context context = obtainContext(); - EPerson ep = epersonService.find(context, submitterID); + EPerson ep = epersonService.find(context.getSession(), submitterID); long total = wis.countByEPerson(context, ep); List witems = wis.findByEPerson(context, ep, pageable.getPageSize(), Math.toIntExact(pageable.getOffset())); @@ -244,7 +244,7 @@ public Iterable upload(Context context, HttpServletRequest re } Collection collection = null; if (StringUtils.isNotBlank(uuid)) { - collection = collectionService.find(context, UUID.fromString(uuid)); + collection = collectionService.find(context.getSession(), UUID.fromString(uuid)); } else { collection = collectionService.findAuthorizedOptimized(context, Constants.ADD).get(0); } @@ -345,7 +345,7 @@ public WorkspaceItemRest findByItemUuid(@Parameter(value = "uuid", required = tr Pageable pageable) { try { Context context = obtainContext(); - Item item = itemService.find(context, itemUuid); + Item item = itemService.find(context.getSession(), itemUuid); WorkspaceItem workspaceItem = wis.findByItem(context, item); if (workspaceItem == null) { return null; diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/handler/ExternalSourceEntryItemUriListHandler.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/handler/ExternalSourceEntryItemUriListHandler.java index 3ad9b7a19356..d31588f7e386 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/handler/ExternalSourceEntryItemUriListHandler.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/handler/ExternalSourceEntryItemUriListHandler.java @@ -38,7 +38,8 @@ */ public abstract class ExternalSourceEntryItemUriListHandler implements UriListHandler { - private List allowedRequestMethods = new LinkedList<>(Arrays.asList(RequestMethod.POST)); + private final List allowedRequestMethods + = new LinkedList<>(Arrays.asList(RequestMethod.POST)); @Autowired private ExternalDataService externalDataService; @@ -74,7 +75,8 @@ public boolean validate(Context context, HttpServletRequest request, List objects. - * + * This class extends the {@link ExternalSourceEntryItemUriListHandler} abstract + * class and implements it specifically for the {@code List} objects. + * * @author Mykhaylo Boychuk (mykhaylo.boychuk at 4science.it) */ @Component @@ -69,7 +69,7 @@ private Item getObjectFromUriList(Context context, List uriList) { String id = matcher.group(1); UUID itemId = UUID.fromString(id); try { - item = itemService.find(context, itemId); + item = itemService.find(context.getReadOnlySession(), itemId); } catch (SQLException e) { throw new RuntimeException(e.getMessage(), e); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/patch/operation/BitstreamRemoveOperation.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/patch/operation/BitstreamRemoveOperation.java index b0e2a45c9d23..4ce332eecd62 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/patch/operation/BitstreamRemoveOperation.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/patch/operation/BitstreamRemoveOperation.java @@ -48,7 +48,8 @@ public class BitstreamRemoveOperation extends PatchOperation { @Override public Bitstream perform(Context context, Bitstream resource, Operation operation) throws SQLException { String bitstreamIDtoDelete = operation.getPath().replace(OPERATION_PATH_BITSTREAM_REMOVE, ""); - Bitstream bitstreamToDelete = bitstreamService.find(context, UUID.fromString(bitstreamIDtoDelete)); + Bitstream bitstreamToDelete = bitstreamService.find(context.getSession(), + UUID.fromString(bitstreamIDtoDelete)); if (bitstreamToDelete == null) { throw new RESTBitstreamNotFoundException(bitstreamIDtoDelete); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/patch/operation/DSpaceObjectMetadataPatchUtils.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/patch/operation/DSpaceObjectMetadataPatchUtils.java index 954cc844f237..f0b8d90a2c7e 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/patch/operation/DSpaceObjectMetadataPatchUtils.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/patch/operation/DSpaceObjectMetadataPatchUtils.java @@ -25,13 +25,13 @@ import org.springframework.stereotype.Component; /** - * Util class for shared methods between the Metadata Operations + * Utility class for shared methods between the Metadata Operations. * @author Maria Verdonck (Atmire) on 18/11/2019 */ @Component public final class DSpaceObjectMetadataPatchUtils { - private ObjectMapper objectMapper = new ObjectMapper(); + private final ObjectMapper objectMapper = new ObjectMapper(); @Autowired private MetadataFieldService metadataFieldService; @@ -138,7 +138,7 @@ protected String extractNewValueOfMd(Operation operation) { */ protected MetadataField getMetadataField(Context context, Operation operation) throws SQLException { String mdElement = this.extractMdFieldStringFromOperation(operation); - return metadataFieldService.findByString(context, mdElement, '.'); + return metadataFieldService.findByString(context.getSession(), mdElement, '.'); } /** diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/scripts/handler/impl/RestDSpaceRunnableHandler.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/scripts/handler/impl/RestDSpaceRunnableHandler.java index 596ab4429093..d9b36d3d0fd1 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/scripts/handler/impl/RestDSpaceRunnableHandler.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/scripts/handler/impl/RestDSpaceRunnableHandler.java @@ -301,7 +301,7 @@ private void appendLogToProcess(String message, ProcessLogLevel error) { private void addLogBitstreamToProcess(Context context) throws SQLException, IOException, AuthorizeException { try { - EPerson ePerson = ePersonService.find(context, ePersonId); + EPerson ePerson = ePersonService.find(context.getSession(), ePersonId); Process process = processService.find(context, processId); context.setCurrentUser(ePerson); diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/AuthorizeServicePermissionEvaluatorPlugin.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/AuthorizeServicePermissionEvaluatorPlugin.java index f0b44187c596..faf02974636f 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/AuthorizeServicePermissionEvaluatorPlugin.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/AuthorizeServicePermissionEvaluatorPlugin.java @@ -79,7 +79,7 @@ public boolean hasDSpacePermission(Authentication authentication, Serializable t ePerson = context.getCurrentUser(); if (dSpaceObjectService != null && dsoId != null) { - DSpaceObject dSpaceObject = dSpaceObjectService.find(context, dsoId); + DSpaceObject dSpaceObject = dSpaceObjectService.find(context.getSession(), dsoId); //If the dso is null then we give permission so we can throw another status code instead if (dSpaceObject == null) { diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/ExtractorOfAInprogressSubmissionInformations.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/ExtractorOfAInprogressSubmissionInformations.java index dd2c8602d891..ca33f0e07c63 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/ExtractorOfAInprogressSubmissionInformations.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/ExtractorOfAInprogressSubmissionInformations.java @@ -64,7 +64,7 @@ public class ExtractorOfAInprogressSubmissionInformations { * it searches the latest version and checks if there is * a Workspace/Workflow item in progress submission, * if yes return the id of this one, otherwise returns null. - * + * * @param request The current request * @param versionHistoryId VersionHistoryId * @return @@ -96,7 +96,7 @@ public Integer getAInprogressSubmissionID(@Nullable HttpServletRequest request, * This method is used on security checks, given a versionHistory id, * it searches the latest version and checks if there is a Workspace/Workflow item in progress submission, * if yes return the rest name - 'workspaceitem' or 'workflowitem', otherwise it returns the empty string. - * + * * @param request The current request * @param versionHistoryId VersionHistoryId * @return @@ -125,7 +125,7 @@ public String getAInprogressSubmissionTarget(@Nullable HttpServletRequest reques /** * This method is used on security checks, given an item UUID, * it searches the relative version, if version exist return its id, otherwise returns null. - * + * * @param request The current request * @param uuid Item uuid * @return @@ -134,7 +134,7 @@ public Integer getVersionIdByItemUUID(@Nullable HttpServletRequest request, UUID Context context = getContext(request); if (Objects.nonNull(uuid)) { try { - Item item = itemService.find(context, uuid); + Item item = itemService.find(context.getSession(), uuid); if (Objects.nonNull(item)) { Version version = versionService.getVersion(context, item); return Objects.nonNull(version) ? version.getID() : null; diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/GroupRestPermissionEvaluatorPlugin.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/GroupRestPermissionEvaluatorPlugin.java index d6d3bc82c7cf..dca729f8f8e0 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/GroupRestPermissionEvaluatorPlugin.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/GroupRestPermissionEvaluatorPlugin.java @@ -66,7 +66,7 @@ public boolean hasDSpacePermission(Authentication authentication, Serializable t try { UUID dsoId = UUID.fromString(targetId.toString()); - Group group = groupService.find(context, dsoId); + Group group = groupService.find(context.getSession(), dsoId); // if the group is one of the special groups of the context it is readable if (context.getSpecialGroups().contains(group)) { diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/OrcidQueueSearchRestPermissionEvaluatorPlugin.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/OrcidQueueSearchRestPermissionEvaluatorPlugin.java index d8566143c437..75b6e9a185f0 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/OrcidQueueSearchRestPermissionEvaluatorPlugin.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/OrcidQueueSearchRestPermissionEvaluatorPlugin.java @@ -64,7 +64,7 @@ public boolean hasDSpacePermission(Authentication authentication, Serializable t try { ePerson = context.getCurrentUser(); UUID ownerUUID = UUID.fromString(targetId.toString()); - Item owner = itemService.find(context, ownerUUID); + Item owner = itemService.find(context.getSession(), ownerUUID); // anonymous user if (ePerson == null) { diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/StatelessAuthenticationFilter.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/StatelessAuthenticationFilter.java index 964d35f42c34..0f660d3a0813 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/StatelessAuthenticationFilter.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/StatelessAuthenticationFilter.java @@ -51,17 +51,18 @@ public class StatelessAuthenticationFilter extends BasicAuthenticationFilter { private static final String ON_BEHALF_OF_REQUEST_PARAM = "X-On-Behalf-Of"; - private RestAuthenticationService restAuthenticationService; + private final RestAuthenticationService restAuthenticationService; - private EPersonRestAuthenticationProvider authenticationProvider; + private final EPersonRestAuthenticationProvider authenticationProvider; - private RequestService requestService; + private final RequestService requestService; - private AuthorizeService authorizeService = AuthorizeServiceFactory.getInstance().getAuthorizeService(); + private final AuthorizeService authorizeService = AuthorizeServiceFactory.getInstance().getAuthorizeService(); - private EPersonService ePersonService = EPersonServiceFactory.getInstance().getEPersonService(); + private final EPersonService ePersonService = EPersonServiceFactory.getInstance().getEPersonService(); - private ConfigurationService configurationService = DSpaceServicesFactory.getInstance().getConfigurationService(); + private final ConfigurationService configurationService + = DSpaceServicesFactory.getInstance().getConfigurationService(); public StatelessAuthenticationFilter(AuthenticationManager authenticationManager, RestAuthenticationService restAuthenticationService, @@ -165,7 +166,7 @@ private Authentication getOnBehalfOfAuthentication(Context context, String onBeh throw new IllegalArgumentException("The given UUID in the X-On-Behalf-Of header " + "was not a proper UUID"); } - EPerson onBehalfOfEPerson = ePersonService.find(context, epersonUuid); + EPerson onBehalfOfEPerson = ePersonService.find(context.getSession(), epersonUuid); if (onBehalfOfEPerson == null) { throw new IllegalArgumentException("The given UUID in the X-On-Behalf-Of header " + "was not a proper EPerson UUID"); diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/TemplateItemRestPermissionEvaluatorPlugin.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/TemplateItemRestPermissionEvaluatorPlugin.java index cb977dff3aef..0a2793873eba 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/TemplateItemRestPermissionEvaluatorPlugin.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/TemplateItemRestPermissionEvaluatorPlugin.java @@ -71,7 +71,7 @@ public boolean hasDSpacePermission(Authentication authentication, Serializable t UUID dsoId = UUID.fromString(targetId.toString()); requestService.getCurrentRequest().getHttpServletRequest().getRequestURL(); try { - Collection coll = its.find(context, dsoId).getTemplateItemOf(); + Collection coll = its.find(context.getSession(), dsoId).getTemplateItemOf(); if (authorizeService.isAdmin(context, coll)) { return true; } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/jwt/EPersonClaimProvider.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/jwt/EPersonClaimProvider.java index 39b61427b7bd..d58eaa9ba650 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/jwt/EPersonClaimProvider.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/jwt/EPersonClaimProvider.java @@ -32,14 +32,17 @@ public class EPersonClaimProvider implements JWTClaimProvider { @Autowired private EPersonService ePersonService; + @Override public String getKey() { return EPERSON_ID; } + @Override public Object getValue(Context context, HttpServletRequest request) { return context.getCurrentUser().getID().toString(); } + @Override public void parseClaim(Context context, HttpServletRequest request, JWTClaimsSet jwtClaimsSet) throws SQLException { EPerson ePerson = getEPerson(context, jwtClaimsSet); @@ -47,7 +50,7 @@ public void parseClaim(Context context, HttpServletRequest request, JWTClaimsSet } public EPerson getEPerson(Context context, JWTClaimsSet jwtClaimsSet) throws SQLException { - return ePersonService.find(context, getEPersonId(jwtClaimsSet)); + return ePersonService.find(context.getSession(), getEPersonId(jwtClaimsSet)); } private UUID getEPersonId(JWTClaimsSet jwtClaimsSet) { diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/signposting/controller/LinksetRestController.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/signposting/controller/LinksetRestController.java index 2a940d79aba4..ad08e2fcb263 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/signposting/controller/LinksetRestController.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/signposting/controller/LinksetRestController.java @@ -97,7 +97,7 @@ public LinksetRest getJson(HttpServletRequest request, @PathVariable UUID uuid) try { Context context = ContextUtil.obtainContext(request); - Item item = itemService.find(context, uuid); + Item item = itemService.find(context.getSession(), uuid); if (item == null) { throw new ResourceNotFoundException("No such Item: " + uuid); } @@ -120,7 +120,7 @@ public LinksetRest getJson(HttpServletRequest request, @PathVariable UUID uuid) public String getLset(HttpServletRequest request, @PathVariable UUID uuid) { try { Context context = ContextUtil.obtainContext(request); - Item item = itemService.find(context, uuid); + Item item = itemService.find(context.getSession(), uuid); if (item == null) { throw new ResourceNotFoundException("No such Item: " + uuid); } @@ -170,9 +170,9 @@ public String getDescribedBy( private DSpaceObject findObject(Context context, UUID uuid) { try { - DSpaceObject object = itemService.find(context, uuid); + DSpaceObject object = itemService.find(context.getSession(), uuid); if (isNull(object)) { - object = bitstreamService.find(context, uuid); + object = bitstreamService.find(context.getSession(), uuid); if (isNull(object)) { throw new ResourceNotFoundException("No such resource: " + uuid); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/signposting/processor/item/ItemAuthorProcessor.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/signposting/processor/item/ItemAuthorProcessor.java index 1bb215c46864..20281d4ee3ca 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/signposting/processor/item/ItemAuthorProcessor.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/signposting/processor/item/ItemAuthorProcessor.java @@ -65,7 +65,7 @@ public void addLinkSetNodes(Context context, HttpServletRequest request, String authorId = itemService.getMetadataFirstValue(item, MetadataSchemaEnum.RELATION.getName(), "isAuthorOfPublication", null, ANY); if (isNotBlank(authorId)) { - Item author = itemService.findByIdOrLegacyId(context, authorId); + Item author = itemService.findByIdOrLegacyId(context.getSession(), authorId); if (nonNull(author)) { String authorOrcid = itemService.getMetadataFirstValue( author, new MetadataFieldName(getOrcidMetadata()), ANY diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/submit/SubmissionService.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/submit/SubmissionService.java index 76de36dde65b..791685f3b8a8 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/submit/SubmissionService.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/submit/SubmissionService.java @@ -100,7 +100,7 @@ public class SubmissionService { private ConverterService converter; @Autowired private org.dspace.app.rest.utils.Utils utils; - private SubmissionConfigReader submissionConfigReader; + private final SubmissionConfigReader submissionConfigReader; public SubmissionService() throws SubmissionConfigReaderException { submissionConfigReader = new SubmissionConfigReader(); @@ -128,11 +128,11 @@ public WorkspaceItem createWorkspaceItem(Context context, Request request) throw try { if (StringUtils.isNotBlank(collectionUUID)) { - collection = collectionService.find(context, UUID.fromString(collectionUUID)); + collection = collectionService.find(context.getSession(), UUID.fromString(collectionUUID)); } else { final List findAuthorizedOptimized = collectionService.findAuthorizedOptimized(context, Constants.ADD); - if (findAuthorizedOptimized != null && findAuthorizedOptimized.size() > 0) { + if (findAuthorizedOptimized != null && !findAuthorizedOptimized.isEmpty()) { collection = findAuthorizedOptimized.get(0); } else { throw new RESTAuthorizationException("No collection suitable for submission for the current user"); @@ -317,7 +317,7 @@ public DataCCLicense getDataCCLicense(InProgressSubmission obj) * Utility method used by the {@link WorkspaceItemRestRepository} and * {@link WorkflowItemRestRepository} to deal with the upload in an inprogress * submission - * + * * @param context DSpace Context Object * @param request the http request containing the upload request * @param wsi the inprogress submission current rest representation @@ -327,10 +327,10 @@ public DataCCLicense getDataCCLicense(InProgressSubmission obj) */ public List uploadFileToInprogressSubmission(Context context, HttpServletRequest request, AInprogressSubmissionRest wsi, InProgressSubmission source, MultipartFile file) { - List errors = new ArrayList(); + List errors = new ArrayList<>(); SubmissionConfig submissionConfig = submissionConfigReader.getSubmissionConfigByName(wsi.getSubmissionDefinition().getName()); - List stepInstancesAndConfigs = new ArrayList(); + List stepInstancesAndConfigs = new ArrayList<>(); // we need to run the preProcess of all the appropriate steps and move on to the // upload and postProcess step // We will initialize the step class just one time so that it will be the same @@ -385,7 +385,7 @@ public List uploadFileToInprogressSubmission(Context context, HttpSer * Utility method used by the {@link WorkspaceItemRestRepository} and * {@link WorkflowItemRestRepository} to deal with the patch of an inprogress * submission - * + * * @param context DSpace Context Object * @param request the http request * @param source the current inprogress submission @@ -398,7 +398,7 @@ public void evaluatePatchToInprogressSubmission(Context context, HttpServletRequ boolean sectionExist = false; SubmissionConfig submissionConfig = submissionConfigReader .getSubmissionConfigByName(wsi.getSubmissionDefinition().getName()); - List stepInstancesAndConfigs = new ArrayList(); + List stepInstancesAndConfigs = new ArrayList<>(); // we need to run the preProcess of all the appropriate steps and move on to the // doPatchProcessing and postProcess step // We will initialize the step classes just one time so that it will be the same diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/submit/factory/impl/CollectionReplacePatchOperation.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/submit/factory/impl/CollectionReplacePatchOperation.java index 3cadb443d9cc..167402033683 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/submit/factory/impl/CollectionReplacePatchOperation.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/submit/factory/impl/CollectionReplacePatchOperation.java @@ -45,7 +45,7 @@ void replace(Context context, HttpServletRequest currentRequest, InProgressSubmi WorkspaceItem wsi = (WorkspaceItem) source; String uuid = (String) value; Collection fromCollection = source.getCollection(); - Collection toCollection = collectionService.find(context, UUIDUtils.fromString(uuid)); + Collection toCollection = collectionService.find(context.getSession(), UUIDUtils.fromString(uuid)); workspaceItemService.move(context, wsi, fromCollection, toCollection); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/utils/BitstreamResource.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/utils/BitstreamResource.java index 4e5545fabc7f..c1f8b4cd0c2d 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/utils/BitstreamResource.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/utils/BitstreamResource.java @@ -36,16 +36,16 @@ */ public class BitstreamResource extends AbstractResource { - private String name; - private UUID uuid; - private UUID currentUserUUID; - private boolean shouldGenerateCoverPage; + private final String name; + private final UUID uuid; + private final UUID currentUserUUID; + private final boolean shouldGenerateCoverPage; private byte[] file; - private Set currentSpecialGroups; + private final Set currentSpecialGroups; - private BitstreamService bitstreamService = ContentServiceFactory.getInstance().getBitstreamService(); - private EPersonService ePersonService = EPersonServiceFactory.getInstance().getEPersonService(); - private CitationDocumentService citationDocumentService = + private final BitstreamService bitstreamService = ContentServiceFactory.getInstance().getBitstreamService(); + private final EPersonService ePersonService = EPersonServiceFactory.getInstance().getEPersonService(); + private final CitationDocumentService citationDocumentService = new DSpace().getServiceManager() .getServicesByType(CitationDocumentService.class).get(0); @@ -89,7 +89,7 @@ public String getDescription() { public InputStream getInputStream() throws IOException { try (Context context = initializeContext()) { - Bitstream bitstream = bitstreamService.find(context, uuid); + Bitstream bitstream = bitstreamService.find(context.getSession(), uuid); InputStream out; if (shouldGenerateCoverPage) { @@ -113,7 +113,7 @@ public String getFilename() { @Override public long contentLength() throws IOException { try (Context context = initializeContext()) { - Bitstream bitstream = bitstreamService.find(context, uuid); + Bitstream bitstream = bitstreamService.find(context.getSession(), uuid); if (shouldGenerateCoverPage) { return getCoverpageByteArray(context, bitstream).length; } else { @@ -126,7 +126,7 @@ public long contentLength() throws IOException { private Context initializeContext() throws SQLException { Context context = new Context(); - EPerson currentUser = ePersonService.find(context, currentUserUUID); + EPerson currentUser = ePersonService.find(context.getSession(), currentUserUUID); context.setCurrentUser(currentUser); currentSpecialGroups.forEach(context::setSpecialGroup); return context; diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/utils/DSpaceObjectUtils.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/utils/DSpaceObjectUtils.java index 719bf7ca4b69..0e10b92b71a8 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/utils/DSpaceObjectUtils.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/utils/DSpaceObjectUtils.java @@ -33,7 +33,7 @@ public class DSpaceObjectUtils { * Retrieve a DSpaceObject from its uuid. As this method need to iterate over all the different services that * support concrete class of DSpaceObject it has poor performance. Please consider the use of the direct service * (ItemService, CommunityService, etc.) if you know in advance the type of DSpaceObject that you are looking for - * + * * @param context * DSpace context * @param uuid @@ -44,7 +44,7 @@ public class DSpaceObjectUtils { public DSpaceObject findDSpaceObject(Context context, UUID uuid) throws SQLException { for (DSpaceObjectService dSpaceObjectService : contentServiceFactory.getDSpaceObjectServices()) { - DSpaceObject dso = dSpaceObjectService.find(context, uuid); + DSpaceObject dso = dSpaceObjectService.find(context.getSession(), uuid); if (dso != null) { return dso; } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/utils/ScopeResolver.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/utils/ScopeResolver.java index 658a3e996aef..0945e806062b 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/utils/ScopeResolver.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/utils/ScopeResolver.java @@ -40,9 +40,9 @@ public IndexableObject resolveScope(Context context, String scope) { if (StringUtils.isNotBlank(scope)) { try { UUID uuid = UUID.fromString(scope); - scopeObj = new IndexableCommunity(communityService.find(context, uuid)); + scopeObj = new IndexableCommunity(communityService.find(context.getSession(), uuid)); if (scopeObj.getIndexedObject() == null) { - scopeObj = new IndexableCollection(collectionService.find(context, uuid)); + scopeObj = new IndexableCollection(collectionService.find(context.getSession(), uuid)); } } catch (IllegalArgumentException ex) { log.warn("The given scope string " + StringUtils.trimToEmpty(scope) + " is not a UUID", ex); diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/utils/Utils.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/utils/Utils.java index ed6e26ed0fb7..b9ea99f9fa2c 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/utils/Utils.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/utils/Utils.java @@ -485,7 +485,8 @@ public List constructDSpaceObjectList(Context context, List parameters) diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/itemimport/ItemImportIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/itemimport/ItemImportIT.java index 68511a9d8921..70afcc344706 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/itemimport/ItemImportIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/itemimport/ItemImportIT.java @@ -166,7 +166,8 @@ public void importItemByZipSafWithRelationships() throws Exception { * @throws Exception */ private void checkMetadata() throws Exception { - Item item = itemService.findByMetadataField(context, "dc", "title", null, publicationTitle).next(); + Item item = itemService.findByMetadataField(context.getSession(), + "dc", "title", null, publicationTitle).next(); getClient().perform(get("/api/core/items/" + item.getID())) .andExpect(status().isOk()) .andExpect(jsonPath("$.metadata", allOf( @@ -180,7 +181,8 @@ private void checkMetadata() throws Exception { * @throws Exception */ private void checkMetadataWithAnotherSchema() throws Exception { - Item item = itemService.findByMetadataField(context, "dc", "title", null, publicationTitle).next(); + Item item = itemService.findByMetadataField(context.getSession(), + "dc", "title", null, publicationTitle).next(); getClient().perform(get("/api/core/items/" + item.getID())) .andExpect(status().isOk()) .andExpect(jsonPath("$.metadata", allOf( @@ -192,7 +194,8 @@ private void checkMetadataWithAnotherSchema() throws Exception { * @throws Exception */ private void checkBitstream() throws Exception { - Bitstream bitstream = itemService.findByMetadataField(context, "dc", "title", null, publicationTitle).next() + Bitstream bitstream = itemService.findByMetadataField(context.getSession(), + "dc", "title", null, publicationTitle).next() .getBundles("ORIGINAL").get(0).getBitstreams().get(0); getClient().perform(get("/api/core/bitstreams/" + bitstream.getID())) .andExpect(status().isOk()) @@ -205,9 +208,11 @@ private void checkBitstream() throws Exception { * @throws Exception */ private void checkRelationship() throws Exception { - Item item = itemService.findByMetadataField(context, "dc", "title", null, publicationTitle).next(); - Item author = itemService.findByMetadataField(context, "dc", "title", null, personTitle).next(); - List relationships = relationshipService.findByItem(context, item); + Item item = itemService.findByMetadataField(context.getSession(), + "dc", "title", null, publicationTitle).next(); + Item author = itemService.findByMetadataField(context.getSession(), + "dc", "title", null, personTitle).next(); + List relationships = relationshipService.findByItem(context.getSession(), item); assertEquals(1, relationships.size()); getClient().perform(get("/api/core/relationships/" + relationships.get(0).getID()).param("projection", "full")) .andExpect(status().isOk()) diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rdf/RdfIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rdf/RdfIT.java index 85ab3dcadd78..4009293aeca2 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rdf/RdfIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rdf/RdfIT.java @@ -102,7 +102,8 @@ public void serializationTest() throws Exception { // Get the RDF identifiers for this new Community & our Site object String communityIdentifier = RDFUtil.generateIdentifier(context, community); - String siteIdentifier = RDFUtil.generateIdentifier(context, siteService.findSite(context)); + String siteIdentifier = RDFUtil.generateIdentifier(context, + siteService.findSite(context.getSession())); // Mock an RDF triplestore's response by returning the RDF conversion of our Community // when rdfStorage.load() is called with the RDF identifier for this Community diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/AuthorizationFeatureServiceIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/AuthorizationFeatureServiceIT.java index 66be81035272..dbf60f0286d4 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/AuthorizationFeatureServiceIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/AuthorizationFeatureServiceIT.java @@ -126,7 +126,7 @@ public void findByResourceTypeTest() throws Exception { * @throws Exception */ public void isAuthorizedTest() throws Exception { - Site site = siteService.findSite(context); + Site site = siteService.findSite(context.getSession()); SiteRest siteRest = siteConverter.convert(site, DefaultProjection.DEFAULT); AuthorizationFeature alwaysTrue = authzFeatureService.find(AlwaysTrueFeature.NAME); diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/AuthorizationRestRepositoryIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/AuthorizationRestRepositoryIT.java index c334d110b112..e22f726fcb28 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/AuthorizationRestRepositoryIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/AuthorizationRestRepositoryIT.java @@ -70,7 +70,7 @@ /** * Test suite for the Authorization endpoint - * + * * @author Andrea Bollini (andrea.bollini at 4science.it) * */ @@ -99,37 +99,37 @@ public class AuthorizationRestRepositoryIT extends AbstractControllerIntegration private Utils utils; private SiteService siteService; - /** + /** * this hold a reference to the test feature {@link AlwaysTrueFeature} */ private AuthorizationFeature alwaysTrue; - /** + /** * this hold a reference to the test feature {@link AlwaysFalseFeature} */ private AuthorizationFeature alwaysFalse; - /** + /** * this hold a reference to the test feature {@link AlwaysThrowExceptionFeature} */ private AuthorizationFeature alwaysException; - /** + /** * this hold a reference to the test feature {@link TrueForAdminsFeature} */ private AuthorizationFeature trueForAdmins; - /** + /** * this hold a reference to the test feature {@link TrueForLoggedUsersFeature} */ private AuthorizationFeature trueForLoggedUsers; - /** + /** * this hold a reference to the test feature {@link TrueForTestFeature} */ private AuthorizationFeature trueForTestUsers; - /** + /** * this hold a reference to the test feature {@link TrueForUsersInGroupTestFeature} */ private AuthorizationFeature trueForUsersInGroupTest; @@ -171,7 +171,7 @@ public void findAllTest() throws Exception { * @throws Exception */ public void findOneTest() throws Exception { - Site site = siteService.findSite(context); + Site site = siteService.findSite(context.getSession()); SiteRest siteRest = siteConverter.convert(site, DefaultProjection.DEFAULT); // define three authorizations that we know must exists @@ -213,7 +213,7 @@ public void findOneTest() throws Exception { * @throws Exception */ public void findOneUnauthorizedTest() throws Exception { - Site site = siteService.findSite(context); + Site site = siteService.findSite(context.getSession()); SiteRest siteRest = siteConverter.convert(site, DefaultProjection.DEFAULT); // define two authorizations that we know must exists @@ -237,7 +237,7 @@ public void findOneUnauthorizedTest() throws Exception { */ public void findOneForbiddenTest() throws Exception { context.turnOffAuthorisationSystem(); - Site site = siteService.findSite(context); + Site site = siteService.findSite(context.getSession()); SiteRest siteRest = siteConverter.convert(site, DefaultProjection.DEFAULT); EPerson testEPerson = EPersonBuilder.createEPerson(context) .withEmail("test-authorization@example.com") @@ -273,7 +273,7 @@ public void findOneForbiddenTest() throws Exception { */ public void findOneNotFoundTest() throws Exception { context.turnOffAuthorisationSystem(); - Site site = siteService.findSite(context); + Site site = siteService.findSite(context.getSession()); SiteRest siteRest = siteConverter.convert(site, DefaultProjection.DEFAULT); EPersonRest epersonRest = ePersonConverter.convert(eperson, DefaultProjection.DEFAULT); context.restoreAuthSystemState(); @@ -359,7 +359,7 @@ public void findOneNotFoundTest() throws Exception { * @throws Exception */ public void findOneInternalServerErrorTest() throws Exception { - Site site = siteService.findSite(context); + Site site = siteService.findSite(context.getSession()); SiteRest siteRest = siteConverter.convert(site, DefaultProjection.DEFAULT); // define two authorizations that we know will throw exceptions Authorization authAdminSite = new Authorization(admin, alwaysException, siteRest); @@ -382,11 +382,11 @@ public void findOneInternalServerErrorTest() throws Exception { * - for an administrator that want to inspect permission of the anonymous users or another user * - for a logged-in "normal" user * - for anonymous - * + * * @throws Exception */ public void findByObjectTest() throws Exception { - Site site = siteService.findSite(context); + Site site = siteService.findSite(context.getSession()); SiteRest siteRest = siteConverter.convert(site, DefaultProjection.DEFAULT); String siteUri = utils.linkToSingleResource(siteRest, "self").getHref(); @@ -671,7 +671,7 @@ public void findByObjectTest() throws Exception { /** * Verify that the findByObject return an empty page when the requested object doesn't exist but the uri is * potentially valid (i.e. deleted object) - * + * * @throws Exception */ public void findByNotExistingObjectTest() throws Exception { @@ -762,7 +762,7 @@ public void findByNotExistingObjectTest() throws Exception { @Test /** * Verify that the findByObject return the 400 Bad Request response for invalid or missing URI (required parameter) - * + * * @throws Exception */ public void findByObjectBadRequestTest() throws Exception { @@ -840,11 +840,11 @@ public void findByObjectBadRequestTest() throws Exception { @Test /** * Verify that the findByObject return the 401 Unauthorized response when an eperson is involved - * + * * @throws Exception */ public void findByObjectUnauthorizedTest() throws Exception { - Site site = siteService.findSite(context); + Site site = siteService.findSite(context.getSession()); SiteRest siteRest = siteConverter.convert(site, DefaultProjection.DEFAULT); String siteUri = utils.linkToSingleResource(siteRest, "self").getHref(); @@ -880,11 +880,11 @@ public void findByObjectUnauthorizedTest() throws Exception { /** * Verify that the findByObject return the 403 Forbidden response when a non-admin eperson try to search the * authorization of another eperson - * + * * @throws Exception */ public void findByObjectForbiddenTest() throws Exception { - Site site = siteService.findSite(context); + Site site = siteService.findSite(context.getSession()); SiteRest siteRest = siteConverter.convert(site, DefaultProjection.DEFAULT); String siteUri = utils.linkToSingleResource(siteRest, "self").getHref(); context.turnOffAuthorisationSystem(); @@ -926,7 +926,7 @@ public void findByObjectForbiddenTest() throws Exception { * @throws Exception */ public void findByObjectInternalServerErrorTest() throws Exception { - Site site = siteService.findSite(context); + Site site = siteService.findSite(context.getSession()); SiteRest siteRest = siteConverter.convert(site, DefaultProjection.DEFAULT); String siteUri = utils.linkToSingleResource(siteRest, "self").getHref(); @@ -984,7 +984,7 @@ public void findByObjectInternalServerErrorTest() throws Exception { * - for an administrator that want to inspect permission of the anonymous users or another user * - for a logged-in "normal" user * - for anonymous - * + * * @throws Exception */ public void findByObjectAndFeatureTest() throws Exception { @@ -1149,11 +1149,11 @@ public void findByObjectAndFeatureTest() throws Exception { @Test /** * Verify that the search by object and feature works return 204 No Content when a feature is not granted - * + * * @throws Exception */ public void findByObjectAndFeatureNotGrantedTest() throws Exception { - Site site = siteService.findSite(context); + Site site = siteService.findSite(context.getSession()); SiteRest siteRest = siteConverter.convert(site, DefaultProjection.DEFAULT); String siteUri = utils.linkToSingleResource(siteRest, "self").getHref(); @@ -1212,12 +1212,12 @@ public void findByObjectAndFeatureNotGrantedTest() throws Exception { /** * Verify that the findByObject return the 204 No Content code when the requested object doesn't exist but the uri * is potentially valid (i.e. deleted object) or the feature doesn't exist - * + * * @throws Exception */ public void findByNotExistingObjectAndFeatureTest() throws Exception { String wrongSiteUri = "http://localhost/api/core/sites/" + UUID.randomUUID(); - Site site = siteService.findSite(context); + Site site = siteService.findSite(context.getSession()); SiteRest siteRest = siteConverter.convert(site, DefaultProjection.DEFAULT); String siteUri = utils.linkToSingleResource(siteRest, "self").getHref(); @@ -1329,7 +1329,7 @@ public void findByObjectAndFeatureBadRequestTest() throws Exception { "http://localhost/api/wrongcategory/wrongmodel/1", "http://localhost/api/core/sites/this-is-not-an-uuid" }; - Site site = siteService.findSite(context); + Site site = siteService.findSite(context.getSession()); SiteRest siteRest = siteConverter.convert(site, DefaultProjection.DEFAULT); String siteUri = utils.linkToSingleResource(siteRest, "self").getHref(); // disarm the alwaysThrowExceptionFeature @@ -1393,11 +1393,11 @@ public void findByObjectAndFeatureBadRequestTest() throws Exception { @Test /** * Verify that the findByObjectAndFeature return the 401 Unauthorized response when an eperson is involved - * + * * @throws Exception */ public void findByObjectAndFeatureUnauthorizedTest() throws Exception { - Site site = siteService.findSite(context); + Site site = siteService.findSite(context.getSession()); SiteRest siteRest = siteConverter.convert(site, DefaultProjection.DEFAULT); String siteUri = utils.linkToSingleResource(siteRest, "self").getHref(); @@ -1437,11 +1437,11 @@ public void findByObjectAndFeatureUnauthorizedTest() throws Exception { /** * Verify that the findByObjectAndFeature return the 403 Forbidden response when a non-admin eperson try to search * the authorization of another eperson - * + * * @throws Exception */ public void findByObjectAndFeatureForbiddenTest() throws Exception { - Site site = siteService.findSite(context); + Site site = siteService.findSite(context.getSession()); SiteRest siteRest = siteConverter.convert(site, DefaultProjection.DEFAULT); String siteUri = utils.linkToSingleResource(siteRest, "self").getHref(); context.turnOffAuthorisationSystem(); @@ -1487,7 +1487,7 @@ public void findByObjectAndFeatureForbiddenTest() throws Exception { * @throws Exception */ public void findByObjectAndFeatureInternalServerErrorTest() throws Exception { - Site site = siteService.findSite(context); + Site site = siteService.findSite(context.getSession()); SiteRest siteRest = siteConverter.convert(site, DefaultProjection.DEFAULT); String siteUri = utils.linkToSingleResource(siteRest, "self").getHref(); @@ -2200,7 +2200,7 @@ public void findByMultipleObjectsAndFeatureNotGrantedTest() throws Exception { */ public void findByNotExistingMultipleObjectsAndFeatureTest() throws Exception { String wrongSiteId = UUID.randomUUID().toString(); - Site site = siteService.findSite(context); + Site site = siteService.findSite(context.getSession()); SiteRest siteRest = siteConverter.convert(site, DefaultProjection.DEFAULT); // disarm the alwaysThrowExceptionFeature @@ -2449,7 +2449,7 @@ public void findByMultipleObjectsAndFeatureBadRequestTest() throws Exception { * @throws Exception */ public void findByMultipleObjectsAndFeatureUnauthorizedTest() throws Exception { - Site site = siteService.findSite(context); + Site site = siteService.findSite(context.getSession()); String siteId = site.getID().toString(); // disarm the alwaysThrowExceptionFeature @@ -2497,7 +2497,7 @@ public void findByMultipleObjectsAndFeatureUnauthorizedTest() throws Exception { * @throws Exception */ public void findByMultipleObjectsAndFeatureForbiddenTest() throws Exception { - Site site = siteService.findSite(context); + Site site = siteService.findSite(context.getSession()); String siteId = site.getID().toString(); context.turnOffAuthorisationSystem(); @@ -2551,7 +2551,7 @@ public void findByMultipleObjectsAndFeatureForbiddenTest() throws Exception { * @throws Exception */ public void findByMultipleObjectsAndFeatureInternalServerErrorTest() throws Exception { - Site site = siteService.findSite(context); + Site site = siteService.findSite(context.getSession()); String siteId = site.getID().toString(); String adminToken = getAuthToken(admin.getEmail(), password); @@ -2601,11 +2601,11 @@ public void findByMultipleObjectsAndFeatureInternalServerErrorTest() throws Exce * This test will check that special group are correctly used to verify * authorization for the current loggedin user but not inherited from the * Administrators login when they look to authorization of third users - * + * * @throws Exception */ public void verifySpecialGroupMembershipTest() throws Exception { - Site site = siteService.findSite(context); + Site site = siteService.findSite(context.getSession()); SiteRest siteRest = siteConverter.convert(site, DefaultProjection.DEFAULT); String siteUri = utils.linkToSingleResource(siteRest, "self").getHref(); context.turnOffAuthorisationSystem(); diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/BitstreamControllerIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/BitstreamControllerIT.java index a326d195c2a0..49d1b707c270 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/BitstreamControllerIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/BitstreamControllerIT.java @@ -337,7 +337,7 @@ public void putOnBitstreamInOneBundle() throws Exception { .andExpect(status().isOk()) ; - targetBundle = bundleService.find(context, targetBundle.getID()); + targetBundle = bundleService.find(context.getSession(), targetBundle.getID()); String name = targetBundle.getName(); String handle = targetBundle.getHandle(); List bitstreams = targetBundle.getBitstreams(); @@ -512,7 +512,7 @@ public void putOnBitstreamInMultipleBundles() throws Exception { .andExpect(status().isOk()) ; - targetBundle = bundleService.find(context, targetBundle.getID()); + targetBundle = bundleService.find(context.getSession(), targetBundle.getID()); String name = targetBundle.getName(); String handle = targetBundle.getHandle(); List bitstreams = targetBundle.getBitstreams(); @@ -632,7 +632,7 @@ public void putOnBitstreamInNoBundle() throws Exception { // at this moment the bitstream should NOT be marked as deleted, because it has been attached to target bundle assertFalse(context.reloadEntity(bitstream).isDeleted()); - targetBundle = bundleService.find(context, targetBundle.getID()); + targetBundle = bundleService.find(context.getSession(), targetBundle.getID()); String name = targetBundle.getName(); String handle = targetBundle.getHandle(); List bitstreams = targetBundle.getBitstreams(); diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/BitstreamRestRepositoryIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/BitstreamRestRepositoryIT.java index 8b34edb938a6..9fe23a2dadd5 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/BitstreamRestRepositoryIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/BitstreamRestRepositoryIT.java @@ -1912,7 +1912,7 @@ public void findByHandleAndFileNameForEmbargoItem() throws Exception { .build(); } - Group group = groupService.findByName(context, Group.ANONYMOUS); + Group group = groupService.findByName(context.getSession(), Group.ANONYMOUS); bitstreamContent = "This is an archived bitstream"; Bitstream bitstream2 = null; diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/CollectionGroupRestControllerIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/CollectionGroupRestControllerIT.java index f6ab10c087ad..b743374bae8b 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/CollectionGroupRestControllerIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/CollectionGroupRestControllerIT.java @@ -166,7 +166,7 @@ public void postCollectionAdminGroupCreateAdminGroupExtraMetadataSuccess() throw ); // no needs to explicitly cleanup the group created as the collection comes // from a CollectionBuilder that will cleanup also related groups - Group adminGroup = groupService.find(context, idRef.get()); + Group adminGroup = groupService.find(context.getSession(), idRef.get()); getClient(token).perform(get("/api/core/collections/" + collection.getID() + "/adminGroup")) .andExpect(status().isOk()) .andExpect(jsonPath("$.metadata", allOf( @@ -198,7 +198,7 @@ public void postCollectionAdminGroupCreateAdminGroupSuccess() throws Exception { ); // no needs to explicitly cleanup the group created as the collection comes // from a CollectionBuilder that will cleanup also related groups - Group adminGroup = groupService.find(context, idRef.get()); + Group adminGroup = groupService.find(context.getSession(), idRef.get()); getClient(token).perform(get("/api/core/collections/" + collection.getID() + "/adminGroup")) .andExpect(status().isOk()) .andExpect( @@ -257,7 +257,7 @@ public void postCollectionAdminGroupCreateAdminGroupSuccessParentCommunityAdmin( ); // no needs to explicitly cleanup the group created as the collection comes // from a CollectionBuilder that will cleanup also related groups - Group adminGroup = groupService.find(context, idRef.get()); + Group adminGroup = groupService.find(context.getSession(), idRef.get()); getClient(token).perform(get("/api/core/collections/" + collection.getID() + "/adminGroup")) .andExpect(status().isOk()) .andExpect( @@ -290,7 +290,7 @@ public void postCollectionAdminGroupCreateAdminGroupSuccessCollectionAdmin() thr ); // no needs to explicitly cleanup the group created as the collection comes // from a CollectionBuilder that will cleanup also related groups - Group adminGroup = groupService.find(context, idRef.get()); + Group adminGroup = groupService.find(context.getSession(), idRef.get()); getClient(token).perform(get("/api/core/collections/" + collection.getID() + "/adminGroup")) .andExpect(status().isOk()) .andExpect( @@ -609,7 +609,7 @@ public void postCollectionSubmitterGroupCreateSubmitterGroupExtraMetadataSuccess ); // no needs to explicitly cleanup the group created as the collection comes // from a CollectionBuilder that will cleanup also related groups - Group submittersGroup = groupService.find(context, idRef.get()); + Group submittersGroup = groupService.find(context.getSession(), idRef.get()); getClient(token).perform(get("/api/core/collections/" + collection.getID() + "/submittersGroup")) .andExpect(status().isOk()) .andExpect(jsonPath("$.metadata", allOf( @@ -644,7 +644,7 @@ public void postCollectionSubmitterGroupCreateSubmitterGroupSuccess() throws Exc ); // no needs to explicitly cleanup the group created as the collection comes // from a CollectionBuilder that will cleanup also related groups - Group submittersGroup = groupService.find(context, idRef.get()); + Group submittersGroup = groupService.find(context.getSession(), idRef.get()); getClient(token).perform(get("/api/core/collections/" + collection.getID() + "/submittersGroup")) .andExpect(status().isOk()) .andExpect( @@ -702,7 +702,7 @@ public void postCollectionSubmittersGroupCreateSubmittersGroupSuccessParentCommu ); // no needs to explicitly cleanup the group created as the collection comes // from a CollectionBuilder that will cleanup also related groups - Group submittersGroup = groupService.find(context, idRef.get()); + Group submittersGroup = groupService.find(context.getSession(), idRef.get()); getClient(token).perform(get("/api/core/collections/" + collection.getID() + "/submittersGroup")) .andExpect(status().isOk()) .andExpect( @@ -736,7 +736,7 @@ public void postCollectionSubmittersGroupCreateSubmittersGroupSuccessCollectionA ); // no needs to explicitly cleanup the group created as the collection comes // from a CollectionBuilder that will cleanup also related groups - Group submittersGroup = groupService.find(context, idRef.get()); + Group submittersGroup = groupService.find(context.getSession(), idRef.get()); getClient(token).perform(get("/api/core/collections/" + collection.getID() + "/submittersGroup")) .andExpect(status().isOk()) .andExpect( @@ -1037,7 +1037,7 @@ public void getCollectionDefaultItemReadGroupForbiddenTest() throws Exception { public void getCollectionDefaultItemReadGroupAnonymousGroupTest() throws Exception { String token = getAuthToken(admin.getEmail(), password); - Group anon = groupService.findByName(context, Group.ANONYMOUS); + Group anon = groupService.findByName(context.getSession(), Group.ANONYMOUS); getClient(token).perform(get("/api/core/collections/" + collection.getID() + "/itemReadGroup")) .andExpect(status().isOk()) .andExpect( @@ -1075,7 +1075,7 @@ public void postCollectionDefaultItemReadGroupCreateDefaultItemReadGroupSuccess( ); // no needs to explicitly cleanup the group created as the collection comes // from a CollectionBuilder that will cleanup also related groups - Group itemReadGroup = groupService.find(context, idRef.get()); + Group itemReadGroup = groupService.find(context.getSession(), idRef.get()); getClient(token).perform(get("/api/core/collections/" + collection.getID() + "/itemReadGroup")) .andExpect(status().isOk()) .andExpect( @@ -1104,7 +1104,7 @@ public void postCollectionDefaultItemReadGroupCreateDefaultItemReadGroupDcTitleU .andExpect(status().isUnprocessableEntity()); // Note that the Default Read Group has the expected behaviour of defaulting to the Anonymous group - Group anon = groupService.findByName(context, Group.ANONYMOUS); + Group anon = groupService.findByName(context.getSession(), Group.ANONYMOUS); getClient(token).perform(get("/api/core/collections/" + collection.getID() + "/itemReadGroup")) .andExpect(status().isOk()) .andExpect( @@ -1138,7 +1138,7 @@ public void postCollectionDefaultItemReadGroupCreateDefaultItemReadGroupSuccessP ); // no needs to explicitly cleanup the group created as the collection comes // from a CollectionBuilder that will cleanup also related groups - Group itemReadGroup = groupService.find(context, idRef.get()); + Group itemReadGroup = groupService.find(context.getSession(), idRef.get()); getClient(token).perform(get("/api/core/collections/" + collection.getID() + "/itemReadGroup")) .andExpect(status().isOk()) .andExpect( @@ -1172,7 +1172,7 @@ public void postCollectionDefaultItemReadGroupCreateDefaultItemReadGroupSuccessC ); // no needs to explicitly cleanup the group created as the collection comes // from a CollectionBuilder that will cleanup also related groups - Group itemReadGroup = groupService.find(context, idRef.get()); + Group itemReadGroup = groupService.find(context.getSession(), idRef.get()); getClient(token).perform(get("/api/core/collections/" + collection.getID() + "/itemReadGroup")) .andExpect(status().isOk()) .andExpect( @@ -1199,7 +1199,7 @@ public void postCollectionDefaultItemReadGroupCreateDefaultItemReadGroupUnAuthor String token = getAuthToken(admin.getEmail(), password); // Note that the Default Read Group has the expected behaviour of defaulting to the Anonymous group - Group anon = groupService.findByName(context, Group.ANONYMOUS); + Group anon = groupService.findByName(context.getSession(), Group.ANONYMOUS); getClient(token).perform(get("/api/core/collections/" + collection.getID() + "/itemReadGroup")) .andExpect(status().isOk()) .andExpect( @@ -1228,7 +1228,7 @@ public void postCollectionDefaultItemReadGroupCreateDefaultItemReadGroupForbidde token = getAuthToken(admin.getEmail(), password); // Note that the Default Read Group has the expected behaviour of defaulting to the Anonymous group - Group anon = groupService.findByName(context, Group.ANONYMOUS); + Group anon = groupService.findByName(context.getSession(), Group.ANONYMOUS); getClient(token).perform(get("/api/core/collections/" + collection.getID() + "/itemReadGroup")) .andExpect(status().isOk()) .andExpect( @@ -1277,7 +1277,7 @@ public void postCollectionDefaultItemReadGroupCreateDefaultItemReadGroupUnProces .andExpect(status().isUnprocessableEntity()); // Note that the Default Read Group has the expected behaviour of defaulting to the Anonymous group - Group anon = groupService.findByName(context, Group.ANONYMOUS); + Group anon = groupService.findByName(context.getSession(), Group.ANONYMOUS); getClient(token).perform(get("/api/core/collections/" + collection.getID() + "/itemReadGroup")) .andExpect(status().isOk()) .andExpect( @@ -1307,7 +1307,7 @@ public void postCollectionDefaultItemReadGroupCreateDefaultItemReadGroupUnProces // Note that the Default Read Group has the expected behaviour of defaulting to the Anonymous group - Group anon = groupService.findByName(context, Group.ANONYMOUS); + Group anon = groupService.findByName(context.getSession(), Group.ANONYMOUS); getClient(token).perform(get("/api/core/collections/" + collection.getID() + "/itemReadGroup")) .andExpect(status().isOk()) .andExpect( @@ -1330,7 +1330,7 @@ public void deleteCollectionDefaultItemReadGroupTest() throws Exception { // Note that deleting a Default Read Group has the expected behaviour of defaulting the DefaultReadGroup back // to the Anonymous group - Group anon = groupService.findByName(context, Group.ANONYMOUS); + Group anon = groupService.findByName(context.getSession(), Group.ANONYMOUS); getClient(token).perform(get("/api/core/collections/" + collection.getID() + "/itemReadGroup")) .andExpect(status().isOk()) .andExpect( @@ -1354,7 +1354,7 @@ public void deleteCollectionDefaultItemReadGroupTestParentCommunityAdmin() throw .andExpect(status().isNoContent()); // Note that the Default Read Group has the expected behaviour of defaulting to the Anonymous group - Group anon = groupService.findByName(context, Group.ANONYMOUS); + Group anon = groupService.findByName(context.getSession(), Group.ANONYMOUS); getClient(token).perform(get("/api/core/collections/" + collection.getID() + "/itemReadGroup")) .andExpect(status().isOk()) .andExpect( @@ -1376,7 +1376,7 @@ public void deleteCollectionDefaultItemReadGroupTestCollectionAdmin() throws Exc .andExpect(status().isNoContent()); // Note that the Default Read Group has the expected behaviour of defaulting to the Anonymous group - Group anon = groupService.findByName(context, Group.ANONYMOUS); + Group anon = groupService.findByName(context.getSession(), Group.ANONYMOUS); getClient(token).perform(get("/api/core/collections/" + collection.getID() + "/itemReadGroup")) .andExpect(status().isOk()) .andExpect( @@ -1524,7 +1524,7 @@ public void getCollectionDefaultBitstreamReadGroupForbiddenTest() throws Excepti @Test public void getCollectionDefaultBitstreamReadGroupNoContentTest() throws Exception { - Group anon = groupService.findByName(context, Group.ANONYMOUS); + Group anon = groupService.findByName(context.getSession(), Group.ANONYMOUS); String token = getAuthToken(admin.getEmail(), password); getClient(token).perform(get("/api/core/collections/" + collection.getID() + "/bitstreamReadGroup")) .andExpect(status().isOk()) @@ -1563,7 +1563,7 @@ public void postCollectionDefaultBitstreamReadGroupCreateDefaultBitstreamReadGro ); // no needs to explicitly cleanup the group created as the collection comes // from a CollectionBuilder that will cleanup also related groups - Group bitstreamReadGroup = groupService.find(context, idRef.get()); + Group bitstreamReadGroup = groupService.find(context.getSession(), idRef.get()); getClient(token).perform(get("/api/core/collections/" + collection.getID() + "/bitstreamReadGroup")) .andExpect(status().isOk()) .andExpect( @@ -1591,7 +1591,7 @@ public void postCollectionDefaultBitstreamReadGroupCreateDefaultBitstreamReadGro .content(mapper.writeValueAsBytes(groupRest)) .contentType(contentType)) .andExpect(status().isUnprocessableEntity()); - Group anon = groupService.findByName(context, Group.ANONYMOUS); + Group anon = groupService.findByName(context.getSession(), Group.ANONYMOUS); getClient(token).perform(get("/api/core/collections/" + collection.getID() + "/bitstreamReadGroup")) .andExpect(status().isOk()) @@ -1626,7 +1626,7 @@ public void postCollectionDefaultBitstreamReadGroupCreateDefaultBitstreamReadGro ); // no needs to explicitly cleanup the group created as the collection comes // from a CollectionBuilder that will cleanup also related groups - Group bitstreamReadGroup = groupService.find(context, idRef.get()); + Group bitstreamReadGroup = groupService.find(context.getSession(), idRef.get()); getClient(token).perform(get("/api/core/collections/" + collection.getID() + "/bitstreamReadGroup")) .andExpect(status().isOk()) .andExpect( @@ -1661,7 +1661,7 @@ public void postCollectionDefaultBitstreamReadGroupCreateDefaultBitstreamReadGro ); // no needs to explicitly cleanup the group created as the collection comes // from a CollectionBuilder that will cleanup also related groups - Group bitstreamReadGroup = groupService.find(context, idRef.get()); + Group bitstreamReadGroup = groupService.find(context.getSession(), idRef.get()); getClient(token).perform(get("/api/core/collections/" + collection.getID() + "/bitstreamReadGroup")) .andExpect(status().isOk()) .andExpect( @@ -1687,7 +1687,7 @@ public void postCollectionDefaultBitstreamReadGroupCreateDefaultBitstreamReadGro .andExpect(status().isUnauthorized()); String token = getAuthToken(admin.getEmail(), password); - Group anon = groupService.findByName(context, Group.ANONYMOUS); + Group anon = groupService.findByName(context.getSession(), Group.ANONYMOUS); getClient(token).perform(get("/api/core/collections/" + collection.getID() + "/bitstreamReadGroup")) .andExpect(status().isOk()) @@ -1717,7 +1717,7 @@ public void postCollectionDefaultBitstreamReadGroupCreateDefaultBitstreamReadGro token = getAuthToken(admin.getEmail(), password); - Group anon = groupService.findByName(context, Group.ANONYMOUS); + Group anon = groupService.findByName(context.getSession(), Group.ANONYMOUS); getClient(token).perform(get("/api/core/collections/" + collection.getID() + "/bitstreamReadGroup")) .andExpect(status().isOk()) @@ -1767,7 +1767,7 @@ public void postCollectionDefaultBitstreamReadGroupCreateDefaultBitstreamReadGro .andExpect(status().isUnprocessableEntity()); - Group anon = groupService.findByName(context, Group.ANONYMOUS); + Group anon = groupService.findByName(context.getSession(), Group.ANONYMOUS); getClient(token).perform(get("/api/core/collections/" + collection.getID() + "/bitstreamReadGroup")) .andExpect(status().isOk()) @@ -1797,7 +1797,7 @@ public void postCollectionDefaultBitstreamReadGroupCreateDefaultBitstreamReadGro .andExpect(status().isUnprocessableEntity()); - Group anon = groupService.findByName(context, Group.ANONYMOUS); + Group anon = groupService.findByName(context.getSession(), Group.ANONYMOUS); getClient(token).perform(get("/api/core/collections/" + collection.getID() + "/bitstreamReadGroup")) .andExpect(status().isOk()) @@ -1821,7 +1821,7 @@ public void deleteCollectionDefaultBitstreamReadGroupTest() throws Exception { // Note that deleting a Default Read Group has the expected behaviour of defaulting the DefaultReadGroup back // to the Anonymous group - Group anon = groupService.findByName(context, Group.ANONYMOUS); + Group anon = groupService.findByName(context.getSession(), Group.ANONYMOUS); getClient(token).perform(get("/api/core/collections/" + collection.getID() + "/bitstreamReadGroup")) .andExpect(status().isOk()) .andExpect( @@ -1845,7 +1845,7 @@ public void deleteCollectionDefaultBitstreamReadGroupTestParentCommunityAdmin() .andExpect(status().isNoContent()); // Note that the Default Read Group has the expected behaviour of defaulting to the Anonymous group - Group anon = groupService.findByName(context, Group.ANONYMOUS); + Group anon = groupService.findByName(context.getSession(), Group.ANONYMOUS); getClient(token).perform(get("/api/core/collections/" + collection.getID() + "/bitstreamReadGroup")) .andExpect(status().isOk()) .andExpect( @@ -1869,7 +1869,7 @@ public void deleteCollectionDefaultBitstreamReadGroupTestCollectionAdmin() throw .andExpect(status().isNoContent()); // Note that the Default Read Group has the expected behaviour of defaulting to the Anonymous group - Group anon = groupService.findByName(context, Group.ANONYMOUS); + Group anon = groupService.findByName(context.getSession(), Group.ANONYMOUS); getClient(token).perform(get("/api/core/collections/" + collection.getID() + "/bitstreamReadGroup")) .andExpect(status().isOk()) .andExpect( @@ -2049,7 +2049,7 @@ public void postCollectionWorkflowGroupCreateWorkflowGroupSuccess() throws Excep ); // no needs to explicitly cleanup the group created as the collection comes // from a CollectionBuilder that will cleanup also related groups - Group workflowGroup = groupService.find(context, idRef.get()); + Group workflowGroup = groupService.find(context.getSession(), idRef.get()); getClient(token).perform(get("/api/core/collections/" + collection.getID() + "/workflowGroups/reviewer")) .andExpect(status().isOk()) .andExpect( @@ -2081,7 +2081,7 @@ public void postCollectionWorkflowGroupCreateWorkflowGroupExtraMetadataSuccess() ); // no needs to explicitly cleanup the group created as the collection comes // from a CollectionBuilder that will cleanup also related groups - Group workflowGroup = groupService.find(context, idRef.get()); + Group workflowGroup = groupService.find(context.getSession(), idRef.get()); getClient(token).perform(get("/api/core/collections/" + collection.getID() + "/workflowGroups/reviewer")) .andExpect(status().isOk()) .andExpect(jsonPath("$.metadata", allOf( @@ -2183,7 +2183,7 @@ public void postCollectionWorkflowGroupCreateWorkflowGroupSuccessParentCommunity ); // no needs to explicitly cleanup the group created as the collection comes // from a CollectionBuilder that will cleanup also related groups - Group workflowGroup = groupService.find(context, idRef.get()); + Group workflowGroup = groupService.find(context.getSession(), idRef.get()); getClient(token).perform(get("/api/core/collections/" + collection.getID() + "/workflowGroups/reviewer")) .andExpect(status().isOk()) .andExpect( @@ -2217,7 +2217,7 @@ public void postCollectionWorkflowGroupCreateWorkflowGroupSuccessCollectionAdmin ); // no needs to explicitly cleanup the group created as the collection comes // from a CollectionBuilder that will cleanup also related groups - Group workflowGroup = groupService.find(context, idRef.get()); + Group workflowGroup = groupService.find(context.getSession(), idRef.get()); getClient(token).perform(get("/api/core/collections/" + collection.getID() + "/workflowGroups/reviewer")) .andExpect(status().isOk()) .andExpect( diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/CollectionRestRepositoryIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/CollectionRestRepositoryIT.java index ee522db170c7..24b9c5ac593d 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/CollectionRestRepositoryIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/CollectionRestRepositoryIT.java @@ -1259,7 +1259,7 @@ public void createTestByAuthorizedUser() throws Exception { authorizeService.addPolicy(context, parentCommunity, Constants.ADD, eperson); context.restoreAuthSystemState(); - AtomicReference idRef = new AtomicReference(); + AtomicReference idRef = new AtomicReference<>(); try { String authToken = getAuthToken(eperson.getEmail(), password); @@ -2841,7 +2841,7 @@ public void testSubGroupOfAdminGroupAuthorizedSearch() throws Exception { context.turnOffAuthorisationSystem(); GroupBuilder.createGroup(context) .withName("adminSubGroup") - .withParent(groupService.findByName(context, Group.ADMIN)) + .withParent(groupService.findByName(context.getSession(), Group.ADMIN)) .addMember(eperson) .build(); communityB = CommunityBuilder.createCommunity(context) @@ -2885,7 +2885,8 @@ public void testSubGroupOfCommunityAdminGroupAuthorizedSearch() throws Exception context.turnOffAuthorisationSystem(); GroupBuilder.createGroup(context) .withName("communityAdminSubGroup") - .withParent(groupService.findByName(context, "COMMUNITY_" + topLevelCommunityA.getID() + "_ADMIN")) + .withParent(groupService.findByName(context.getSession(), + "COMMUNITY_" + topLevelCommunityA.getID() + "_ADMIN")) .addMember(eperson) .build(); communityB = CommunityBuilder.createCommunity(context) @@ -2897,7 +2898,8 @@ public void testSubGroupOfCommunityAdminGroupAuthorizedSearch() throws Exception ResourcePolicyBuilder.createResourcePolicy(context) .withDspaceObject(communityB) .withAction(Constants.ADMIN) - .withGroup(groupService.findByName(context, "COMMUNITY_" + topLevelCommunityA.getID() + "_ADMIN")) + .withGroup(groupService.findByName(context.getSession(), + "COMMUNITY_" + topLevelCommunityA.getID() + "_ADMIN")) .build(); collectionB = CollectionBuilder.createCollection(context, subCommunityA) .withName("collectionB is a very original name") @@ -2939,7 +2941,8 @@ public void testSubGroupOfSubCommunityAdminGroupAuthorizedSearch() throws Except context.turnOffAuthorisationSystem(); GroupBuilder.createGroup(context) .withName("communityAdminSubGroup") - .withParent(groupService.findByName(context, "COMMUNITY_" + subCommunityA.getID() + "_ADMIN")) + .withParent(groupService.findByName(context.getSession(), + "COMMUNITY_" + subCommunityA.getID() + "_ADMIN")) .addMember(eperson) .build(); communityB = CommunityBuilder.createCommunity(context) @@ -2953,7 +2956,8 @@ public void testSubGroupOfSubCommunityAdminGroupAuthorizedSearch() throws Except ResourcePolicyBuilder.createResourcePolicy(context) .withDspaceObject(communityB) .withAction(Constants.ADMIN) - .withGroup(groupService.findByName(context, "COMMUNITY_" + subCommunityA.getID() + "_ADMIN")) + .withGroup(groupService.findByName(context.getSession(), + "COMMUNITY_" + subCommunityA.getID() + "_ADMIN")) .build(); collectionB = CollectionBuilder.createCollection(context, subCommunityA) .withName("collectionB is a very original name") @@ -2995,7 +2999,8 @@ public void testSubGroupOfCollectionAdminGroupAuthorizedSearch() throws Exceptio context.turnOffAuthorisationSystem(); GroupBuilder.createGroup(context) .withName("collectionAdminSubGroup") - .withParent(groupService.findByName(context, "COLLECTION_" + collectionA.getID() + "_ADMIN")) + .withParent(groupService.findByName(context.getSession(), + "COLLECTION_" + collectionA.getID() + "_ADMIN")) .addMember(eperson) .build(); communityB = CommunityBuilder.createCommunity(context) @@ -3015,7 +3020,8 @@ public void testSubGroupOfCollectionAdminGroupAuthorizedSearch() throws Exceptio ResourcePolicyBuilder.createResourcePolicy(context) .withDspaceObject(collectionB) .withAction(Constants.ADMIN) - .withGroup(groupService.findByName(context, "COLLECTION_" + collectionA.getID() + "_ADMIN")) + .withGroup(groupService.findByName(context.getSession(), + "COLLECTION_" + collectionA.getID() + "_ADMIN")) .build(); context.restoreAuthSystemState(); @@ -3051,7 +3057,8 @@ public void testSubGroupOfSubmitterGroupAuthorizedSearch() throws Exception { context.turnOffAuthorisationSystem(); GroupBuilder.createGroup(context) .withName("collectionAdminSubGroup") - .withParent(groupService.findByName(context, "COLLECTION_" + collectionA.getID() + "_SUBMIT")) + .withParent(groupService.findByName(context.getSession(), + "COLLECTION_" + collectionA.getID() + "_SUBMIT")) .addMember(eperson) .build(); communityB = CommunityBuilder.createCommunity(context) @@ -3068,7 +3075,8 @@ public void testSubGroupOfSubmitterGroupAuthorizedSearch() throws Exception { ResourcePolicyBuilder.createResourcePolicy(context) .withDspaceObject(collectionB) .withAction(Constants.ADD) - .withGroup(groupService.findByName(context, "COLLECTION_" + collectionA.getID() + "_SUBMIT")) + .withGroup(groupService.findByName(context.getSession(), + "COLLECTION_" + collectionA.getID() + "_SUBMIT")) .build(); collectionC = CollectionBuilder.createCollection(context, communityC) .withName("the last collection is collectionC") @@ -3202,8 +3210,8 @@ public void patchMetadataCheckReindexingTest() throws Exception { ))) .andExpect(jsonPath("$.page.totalElements", is(1))); - List updateTitle = new ArrayList(); - Map value = new HashMap(); + List updateTitle = new ArrayList<>(); + Map value = new HashMap<>(); value.put("value", "New Name"); updateTitle.add(new ReplaceOperation("/metadata/dc.title/0", value)); diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/CommunityAdminGroupRestControllerIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/CommunityAdminGroupRestControllerIT.java index 37548553b143..d14a87162f97 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/CommunityAdminGroupRestControllerIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/CommunityAdminGroupRestControllerIT.java @@ -160,7 +160,7 @@ public void postCommunityAdminGroupCreateAdminGroupSuccess() throws Exception { ); // no needs to explicitly cleanup the group created as the community comes // from a CommunityBuilder that will cleanup also related groups - Group adminGroup = groupService.find(context, idRef.get()); + Group adminGroup = groupService.find(context.getSession(), idRef.get()); getClient(token).perform(get("/api/eperson/groups/" + adminGroup.getID())) .andExpect(status().isOk()) .andExpect( @@ -191,7 +191,7 @@ public void postCommunityAdminGroupCreateAdminGroupExtraMetadataSuccess() throws ); // no needs to explicitly cleanup the group created as the community comes // from a CommunityBuilder that will cleanup also related groups - Group adminGroup = groupService.find(context, idRef.get()); + Group adminGroup = groupService.find(context.getSession(), idRef.get()); getClient(token).perform(get("/api/eperson/groups/" + adminGroup.getID())) .andExpect(status().isOk()) .andExpect(jsonPath("$.metadata", allOf( @@ -252,7 +252,7 @@ public void postCommunityAdminGroupCreateAdminGroupSuccessCommunityAdmin() throw ); // no needs to explicitly cleanup the group created as the community comes // from a CommunityBuilder that will cleanup also related groups - Group adminGroup = groupService.find(context, idRef.get()); + Group adminGroup = groupService.find(context.getSession(), idRef.get()); getClient(token).perform(get("/api/eperson/groups/" + adminGroup.getID())) .andExpect(status().isOk()) .andExpect( diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/CommunityRestRepositoryIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/CommunityRestRepositoryIT.java index 30614e6125f2..37d92fa574a0 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/CommunityRestRepositoryIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/CommunityRestRepositoryIT.java @@ -2320,7 +2320,7 @@ public void testSubGroupOfAdminGroupAuthorizedSearch() throws Exception { context.turnOffAuthorisationSystem(); GroupBuilder.createGroup(context) .withName("adminSubGroup") - .withParent(groupService.findByName(context, Group.ADMIN)) + .withParent(groupService.findByName(context.getSession(), Group.ADMIN)) .addMember(eperson) .build(); communityB = CommunityBuilder.createCommunity(context) @@ -2361,7 +2361,8 @@ public void testSubGroupOfCommunityAdminGroupAuthorizedSearch() throws Exception context.turnOffAuthorisationSystem(); GroupBuilder.createGroup(context) .withName("communityAdminSubGroup") - .withParent(groupService.findByName(context, "COMMUNITY_" + topLevelCommunityA.getID() + "_ADMIN")) + .withParent(groupService.findByName(context.getSession(), + "COMMUNITY_" + topLevelCommunityA.getID() + "_ADMIN")) .addMember(eperson) .build(); communityB = CommunityBuilder.createCommunity(context) @@ -2373,7 +2374,8 @@ public void testSubGroupOfCommunityAdminGroupAuthorizedSearch() throws Exception ResourcePolicyBuilder.createResourcePolicy(context) .withDspaceObject(communityB) .withAction(Constants.ADMIN) - .withGroup(groupService.findByName(context, "COMMUNITY_" + topLevelCommunityA.getID() + "_ADMIN")) + .withGroup(groupService.findByName(context.getSession(), + "COMMUNITY_" + topLevelCommunityA.getID() + "_ADMIN")) .build(); context.restoreAuthSystemState(); @@ -2412,7 +2414,8 @@ public void testSubGroupOfSubCommunityAdminGroupAuthorizedSearch() throws Except context.turnOffAuthorisationSystem(); GroupBuilder.createGroup(context) .withName("communityAdminSubGroup") - .withParent(groupService.findByName(context, "COMMUNITY_" + subCommunityA.getID() + "_ADMIN")) + .withParent(groupService.findByName(context.getSession(), + "COMMUNITY_" + subCommunityA.getID() + "_ADMIN")) .addMember(eperson) .build(); communityB = CommunityBuilder.createCommunity(context) @@ -2426,7 +2429,8 @@ public void testSubGroupOfSubCommunityAdminGroupAuthorizedSearch() throws Except ResourcePolicyBuilder.createResourcePolicy(context) .withDspaceObject(communityB) .withAction(Constants.ADMIN) - .withGroup(groupService.findByName(context, "COMMUNITY_" + subCommunityA.getID() + "_ADMIN")) + .withGroup(groupService.findByName(context.getSession(), + "COMMUNITY_" + subCommunityA.getID() + "_ADMIN")) .build(); context.restoreAuthSystemState(); @@ -2463,7 +2467,8 @@ public void testSubGroupOfCollectionAdminGroupAuthorizedSearch() throws Exceptio context.turnOffAuthorisationSystem(); GroupBuilder.createGroup(context) .withName("collectionAdminSubGroup") - .withParent(groupService.findByName(context, "COLLECTION_" + collectionA.getID() + "_ADMIN")) + .withParent(groupService.findByName(context.getSession(), + "COLLECTION_" + collectionA.getID() + "_ADMIN")) .addMember(eperson) .build(); communityB = CommunityBuilder.createCommunity(context) @@ -2476,7 +2481,8 @@ public void testSubGroupOfCollectionAdminGroupAuthorizedSearch() throws Exceptio ResourcePolicyBuilder.createResourcePolicy(context) .withDspaceObject(collectionB) .withAction(Constants.ADMIN) - .withGroup(groupService.findByName(context, "COLLECTION_" + collectionA.getID() + "_ADMIN")) + .withGroup(groupService.findByName(context.getSession(), + "COLLECTION_" + collectionA.getID() + "_ADMIN")) .build(); communityC = CommunityBuilder.createCommunity(context) .withName("the last community is topLevelCommunityC") @@ -2511,7 +2517,8 @@ public void testSubGroupOfSubmitterGroupAuthorizedSearch() throws Exception { context.turnOffAuthorisationSystem(); GroupBuilder.createGroup(context) .withName("collectionAdminSubGroup") - .withParent(groupService.findByName(context, "COLLECTION_" + collectionA.getID() + "_SUBMIT")) + .withParent(groupService.findByName(context.getSession(), + "COLLECTION_" + collectionA.getID() + "_SUBMIT")) .addMember(eperson) .build(); communityB = CommunityBuilder.createCommunity(context) @@ -2524,7 +2531,8 @@ public void testSubGroupOfSubmitterGroupAuthorizedSearch() throws Exception { ResourcePolicyBuilder.createResourcePolicy(context) .withDspaceObject(collectionB) .withAction(Constants.ADD) - .withGroup(groupService.findByName(context, "COLLECTION_" + collectionA.getID() + "_SUBMIT")) + .withGroup(groupService.findByName(context.getSession(), + "COLLECTION_" + collectionA.getID() + "_SUBMIT")) .build(); communityC = CommunityBuilder.createCommunity(context) .withName("the last community is topLevelCommunityC") diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/DiscoveryVersioningIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/DiscoveryVersioningIT.java index 083b27d0e547..edeaa21220a9 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/DiscoveryVersioningIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/DiscoveryVersioningIT.java @@ -184,7 +184,7 @@ protected void verifyRestSearchObjects( .andExpect(jsonPath("$._embedded.searchResult.page", is( // assume everything fits on one page PageMatcher.pageEntryWithTotalPagesAndElements( - 0, 20, searchResultMatchers.size() == 0 ? 0 : 1, searchResultMatchers.size() + 0, 20, searchResultMatchers.isEmpty() ? 0 : 1, searchResultMatchers.size() ) ))) .andExpect(jsonPath("$._embedded.searchResult._embedded.objects", Matchers.containsInAnyOrder( @@ -1140,7 +1140,7 @@ public void test_reindexAfterUpdatingLatestVersionStatus() throws Exception { // init - test relationships of publication 1.1 assertThat( - relationshipService.findByItem(context, pub1_1, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), pub1_1, -1, -1, false, false), containsInAnyOrder(List.of( isRel(pub1_1, isProjectOfPublication, pro1_1, BOTH, 0, 0) )) @@ -1148,7 +1148,7 @@ public void test_reindexAfterUpdatingLatestVersionStatus() throws Exception { // init - test relationships of project 1.1 assertThat( - relationshipService.findByItem(context, pro1_1, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), pro1_1, -1, -1, false, false), containsInAnyOrder(List.of( isRel(pub1_1, isProjectOfPublication, pro1_1, BOTH, 0, 0) )) @@ -1219,7 +1219,7 @@ public void test_reindexAfterUpdatingLatestVersionStatus() throws Exception { // after archive pub 1.2 - test relationships of publication 1.1 assertThat( - relationshipService.findByItem(context, pub1_1, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), pub1_1, -1, -1, false, false), containsInAnyOrder(List.of( isRel(pub1_1, isProjectOfPublication, pro1_1, RIGHT_ONLY, 0, 0) )) @@ -1227,7 +1227,7 @@ public void test_reindexAfterUpdatingLatestVersionStatus() throws Exception { // after archive pub 1.2 - test relationships of publication 1.2 assertThat( - relationshipService.findByItem(context, pub1_2, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), pub1_2, -1, -1, false, false), containsInAnyOrder(List.of( isRel(pub1_2, isProjectOfPublication, pro1_1, BOTH, 0, 0) )) @@ -1235,7 +1235,7 @@ public void test_reindexAfterUpdatingLatestVersionStatus() throws Exception { // after archive pub 1.2 - test relationships of project 1.1 assertThat( - relationshipService.findByItem(context, pro1_1, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), pro1_1, -1, -1, false, false), containsInAnyOrder(List.of( isRel(pub1_1, isProjectOfPublication, pro1_1, RIGHT_ONLY, 0, 0), isRel(pub1_2, isProjectOfPublication, pro1_1, BOTH, 0, 0) @@ -1351,7 +1351,7 @@ public void test_reindexAfterUpdatingLatestVersionStatus() throws Exception { // after create pro 1.2 - test relationships of publication 1.1 assertThat( - relationshipService.findByItem(context, pub1_1, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), pub1_1, -1, -1, false, false), containsInAnyOrder(List.of( isRel(pub1_1, isProjectOfPublication, pro1_1, RIGHT_ONLY, 0, 0) )) @@ -1359,7 +1359,7 @@ public void test_reindexAfterUpdatingLatestVersionStatus() throws Exception { // after create pro 1.2 - test relationships of publication 1.2 assertThat( - relationshipService.findByItem(context, pub1_2, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), pub1_2, -1, -1, false, false), containsInAnyOrder(List.of( isRel(pub1_2, isProjectOfPublication, pro1_1, BOTH, 0, 0), isRel(pub1_2, isProjectOfPublication, pro1_2, LEFT_ONLY, 0, 0) @@ -1368,7 +1368,7 @@ public void test_reindexAfterUpdatingLatestVersionStatus() throws Exception { // after create pro 1.2 - test relationships of project 1.1 assertThat( - relationshipService.findByItem(context, pro1_1, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), pro1_1, -1, -1, false, false), containsInAnyOrder(List.of( isRel(pub1_1, isProjectOfPublication, pro1_1, RIGHT_ONLY, 0, 0), isRel(pub1_2, isProjectOfPublication, pro1_1, BOTH, 0, 0) @@ -1377,7 +1377,7 @@ public void test_reindexAfterUpdatingLatestVersionStatus() throws Exception { // after create pro 1.2 - test relationships of project 1.2 assertThat( - relationshipService.findByItem(context, pro1_2, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), pro1_2, -1, -1, false, false), containsInAnyOrder(List.of( isRel(pub1_2, isProjectOfPublication, pro1_2, LEFT_ONLY, 0, 0) )) @@ -1527,7 +1527,7 @@ public void test_reindexAfterUpdatingLatestVersionStatus() throws Exception { // after archive pro 1.2 - test relationships of publication 1.1 assertThat( - relationshipService.findByItem(context, pub1_1, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), pub1_1, -1, -1, false, false), containsInAnyOrder(List.of( isRel(pub1_1, isProjectOfPublication, pro1_1, RIGHT_ONLY, 0, 0) )) @@ -1535,7 +1535,7 @@ public void test_reindexAfterUpdatingLatestVersionStatus() throws Exception { // after archive pro 1.2 - test relationships of publication 1.2 assertThat( - relationshipService.findByItem(context, pub1_2, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), pub1_2, -1, -1, false, false), containsInAnyOrder(List.of( isRel(pub1_2, isProjectOfPublication, pro1_1, LEFT_ONLY, 0, 0), isRel(pub1_2, isProjectOfPublication, pro1_2, BOTH, 0, 0) @@ -1544,7 +1544,7 @@ public void test_reindexAfterUpdatingLatestVersionStatus() throws Exception { // after archive pro 1.2 - test relationships of project 1.1 assertThat( - relationshipService.findByItem(context, pro1_1, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), pro1_1, -1, -1, false, false), containsInAnyOrder(List.of( isRel(pub1_1, isProjectOfPublication, pro1_1, RIGHT_ONLY, 0, 0), isRel(pub1_2, isProjectOfPublication, pro1_1, LEFT_ONLY, 0, 0) @@ -1553,7 +1553,7 @@ public void test_reindexAfterUpdatingLatestVersionStatus() throws Exception { // after archive pro 1.2 - test relationships of project 1.2 assertThat( - relationshipService.findByItem(context, pro1_2, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), pro1_2, -1, -1, false, false), containsInAnyOrder(List.of( isRel(pub1_2, isProjectOfPublication, pro1_2, BOTH, 0, 0) )) @@ -1727,7 +1727,7 @@ public void test_forceReindexAfterNewVersionInWorkspace() throws Exception { // init - test relationships of publication 1.1 assertThat( - relationshipService.findByItem(context, pub1_1, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), pub1_1, -1, -1, false, false), containsInAnyOrder(List.of( isRel(pub1_1, isProjectOfPublication, pro1_1, BOTH, 0, 0) )) @@ -1735,7 +1735,7 @@ public void test_forceReindexAfterNewVersionInWorkspace() throws Exception { // init - test relationships of project 1.1 assertThat( - relationshipService.findByItem(context, pro1_1, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), pro1_1, -1, -1, false, false), containsInAnyOrder(List.of( isRel(pub1_1, isProjectOfPublication, pro1_1, BOTH, 0, 0) )) @@ -1806,7 +1806,7 @@ public void test_forceReindexAfterNewVersionInWorkspace() throws Exception { // after archive pub 1.2 - test relationships of publication 1.1 assertThat( - relationshipService.findByItem(context, pub1_1, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), pub1_1, -1, -1, false, false), containsInAnyOrder(List.of( isRel(pub1_1, isProjectOfPublication, pro1_1, RIGHT_ONLY, 0, 0) )) @@ -1814,7 +1814,7 @@ public void test_forceReindexAfterNewVersionInWorkspace() throws Exception { // after archive pub 1.2 - test relationships of publication 1.2 assertThat( - relationshipService.findByItem(context, pub1_2, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), pub1_2, -1, -1, false, false), containsInAnyOrder(List.of( isRel(pub1_2, isProjectOfPublication, pro1_1, BOTH, 0, 0) )) @@ -1822,7 +1822,7 @@ public void test_forceReindexAfterNewVersionInWorkspace() throws Exception { // after archive pub 1.2 - test relationships of project 1.1 assertThat( - relationshipService.findByItem(context, pro1_1, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), pro1_1, -1, -1, false, false), containsInAnyOrder(List.of( isRel(pub1_1, isProjectOfPublication, pro1_1, RIGHT_ONLY, 0, 0), isRel(pub1_2, isProjectOfPublication, pro1_1, BOTH, 0, 0) @@ -1945,7 +1945,7 @@ public void test_forceReindexAfterNewVersionInWorkspace() throws Exception { // after create pro 1.2 - test relationships of publication 1.1 assertThat( - relationshipService.findByItem(context, pub1_1, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), pub1_1, -1, -1, false, false), containsInAnyOrder(List.of( isRel(pub1_1, isProjectOfPublication, pro1_1, RIGHT_ONLY, 0, 0) )) @@ -1953,7 +1953,7 @@ public void test_forceReindexAfterNewVersionInWorkspace() throws Exception { // after create pro 1.2 - test relationships of publication 1.2 assertThat( - relationshipService.findByItem(context, pub1_2, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), pub1_2, -1, -1, false, false), containsInAnyOrder(List.of( isRel(pub1_2, isProjectOfPublication, pro1_1, BOTH, 0, 0), isRel(pub1_2, isProjectOfPublication, pro1_2, LEFT_ONLY, 0, 0) @@ -1962,7 +1962,7 @@ public void test_forceReindexAfterNewVersionInWorkspace() throws Exception { // after create pro 1.2 - test relationships of project 1.1 assertThat( - relationshipService.findByItem(context, pro1_1, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), pro1_1, -1, -1, false, false), containsInAnyOrder(List.of( isRel(pub1_1, isProjectOfPublication, pro1_1, RIGHT_ONLY, 0, 0), isRel(pub1_2, isProjectOfPublication, pro1_1, BOTH, 0, 0) @@ -1971,7 +1971,7 @@ public void test_forceReindexAfterNewVersionInWorkspace() throws Exception { // after create pro 1.2 - test relationships of project 1.2 assertThat( - relationshipService.findByItem(context, pro1_2, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), pro1_2, -1, -1, false, false), containsInAnyOrder(List.of( isRel(pub1_2, isProjectOfPublication, pro1_2, LEFT_ONLY, 0, 0) )) @@ -2121,7 +2121,7 @@ public void test_forceReindexAfterNewVersionInWorkspace() throws Exception { // after archive pro 1.2 - test relationships of publication 1.1 assertThat( - relationshipService.findByItem(context, pub1_1, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), pub1_1, -1, -1, false, false), containsInAnyOrder(List.of( isRel(pub1_1, isProjectOfPublication, pro1_1, RIGHT_ONLY, 0, 0) )) @@ -2129,7 +2129,7 @@ public void test_forceReindexAfterNewVersionInWorkspace() throws Exception { // after archive pro 1.2 - test relationships of publication 1.2 assertThat( - relationshipService.findByItem(context, pub1_2, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), pub1_2, -1, -1, false, false), containsInAnyOrder(List.of( isRel(pub1_2, isProjectOfPublication, pro1_1, LEFT_ONLY, 0, 0), isRel(pub1_2, isProjectOfPublication, pro1_2, BOTH, 0, 0) @@ -2138,7 +2138,7 @@ public void test_forceReindexAfterNewVersionInWorkspace() throws Exception { // after archive pro 1.2 - test relationships of project 1.1 assertThat( - relationshipService.findByItem(context, pro1_1, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), pro1_1, -1, -1, false, false), containsInAnyOrder(List.of( isRel(pub1_1, isProjectOfPublication, pro1_1, RIGHT_ONLY, 0, 0), isRel(pub1_2, isProjectOfPublication, pro1_1, LEFT_ONLY, 0, 0) @@ -2147,7 +2147,7 @@ public void test_forceReindexAfterNewVersionInWorkspace() throws Exception { // after archive pro 1.2 - test relationships of project 1.2 assertThat( - relationshipService.findByItem(context, pro1_2, -1, -1, false, false), + relationshipService.findByItem(context.getSession(), pro1_2, -1, -1, false, false), containsInAnyOrder(List.of( isRel(pub1_2, isProjectOfPublication, pro1_2, BOTH, 0, 0) )) diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/EPersonRestRepositoryIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/EPersonRestRepositoryIT.java index 1f09779ab0e9..e223e3989a58 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/EPersonRestRepositoryIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/EPersonRestRepositoryIT.java @@ -119,8 +119,8 @@ public void createTest() throws Exception { dataFull.setCanLogIn(true); dataFull.setMetadata(metadataRest); - AtomicReference idRef = new AtomicReference(); - AtomicReference idRefNoEmbeds = new AtomicReference(); + AtomicReference idRef = new AtomicReference<>(); + AtomicReference idRefNoEmbeds = new AtomicReference<>(); String authToken = getAuthToken(admin.getEmail(), password); @@ -944,7 +944,7 @@ public void patchByForbiddenUser() throws Exception { context.restoreAuthSystemState(); - List ops = new ArrayList(); + List ops = new ArrayList<>(); ReplaceOperation replaceOperation = new ReplaceOperation("/netid", "newNetId"); ops.add(replaceOperation); String patchBody = getPatchContent(ops); @@ -977,7 +977,7 @@ public void patchByAnonymousUser() throws Exception { context.restoreAuthSystemState(); - List ops = new ArrayList(); + List ops = new ArrayList<>(); ReplaceOperation replaceOperation = new ReplaceOperation("/netid", "newNetId"); ops.add(replaceOperation); String patchBody = getPatchContent(ops); @@ -2319,7 +2319,7 @@ public void postEPersonWithTokenWithoutEmailProperty() throws Exception { metadataRest.put("eperson.firstname", firstname); ePersonRest.setMetadata(metadataRest); ePersonRest.setPassword("somePassword"); - AtomicReference idRef = new AtomicReference(); + AtomicReference idRef = new AtomicReference<>(); mapper.setAnnotationIntrospector(new IgnoreJacksonWriteOnlyAccess()); @@ -2345,7 +2345,7 @@ public void postEPersonWithTokenWithoutEmailProperty() throws Exception { String epersonUuid = String.valueOf(idRef.get()); - EPerson createdEPerson = ePersonService.find(context, UUID.fromString(epersonUuid)); + EPerson createdEPerson = ePersonService.find(context.getSession(), UUID.fromString(epersonUuid)); assertTrue(ePersonService.checkPassword(context, createdEPerson, "somePassword")); assertNull(registrationDataService.findByToken(context, newRegisterToken)); @@ -2385,7 +2385,7 @@ public void postEPersonWithTokenWithEmailProperty() throws Exception { metadataRest.put("eperson.firstname", firstname); ePersonRest.setMetadata(metadataRest); ePersonRest.setPassword("somePassword"); - AtomicReference idRef = new AtomicReference(); + AtomicReference idRef = new AtomicReference<>(); mapper.setAnnotationIntrospector(new IgnoreJacksonWriteOnlyAccess()); try { @@ -2408,7 +2408,7 @@ public void postEPersonWithTokenWithEmailProperty() throws Exception { .set(UUID.fromString(read(result.getResponse().getContentAsString(), "$.id")))); String epersonUuid = String.valueOf(idRef.get()); - EPerson createdEPerson = ePersonService.find(context, UUID.fromString(epersonUuid)); + EPerson createdEPerson = ePersonService.find(context.getSession(), UUID.fromString(epersonUuid)); assertTrue(ePersonService.checkPassword(context, createdEPerson, "somePassword")); assertNull(registrationDataService.findByToken(context, newRegisterToken)); @@ -2449,7 +2449,7 @@ public void postEPersonWithTokenWithEmailAndSelfRegisteredProperty() throws Exce ePersonRest.setMetadata(metadataRest); ePersonRest.setPassword("somePassword"); ePersonRest.setSelfRegistered(true); - AtomicReference idRef = new AtomicReference(); + AtomicReference idRef = new AtomicReference<>(); mapper.setAnnotationIntrospector(new IgnoreJacksonWriteOnlyAccess()); @@ -2475,7 +2475,7 @@ public void postEPersonWithTokenWithEmailAndSelfRegisteredProperty() throws Exce String epersonUuid = String.valueOf(idRef.get()); - EPerson createdEPerson = ePersonService.find(context, UUID.fromString(epersonUuid)); + EPerson createdEPerson = ePersonService.find(context.getSession(), UUID.fromString(epersonUuid)); assertTrue(ePersonService.checkPassword(context, createdEPerson, "somePassword")); assertNull(registrationDataService.findByToken(context, newRegisterToken)); @@ -2914,7 +2914,7 @@ public void postEPersonWithTokenWithEmailPropertyAnonUser() throws Exception { mapper.setAnnotationIntrospector(new IgnoreJacksonWriteOnlyAccess()); - AtomicReference idRef = new AtomicReference(); + AtomicReference idRef = new AtomicReference<>(); try { getClient().perform(post("/api/eperson/epersons") @@ -2936,7 +2936,7 @@ public void postEPersonWithTokenWithEmailPropertyAnonUser() throws Exception { .set(UUID.fromString(read(result.getResponse().getContentAsString(), "$.id")))); String epersonUuid = String.valueOf(idRef.get()); - EPerson createdEPerson = ePersonService.find(context, UUID.fromString(epersonUuid)); + EPerson createdEPerson = ePersonService.find(context.getSession(), UUID.fromString(epersonUuid)); assertTrue(ePersonService.checkPassword(context, createdEPerson, "somePassword")); assertNull(registrationDataService.findByToken(context, newRegisterToken)); } finally { @@ -3289,7 +3289,7 @@ public void validatePasswordRobustnessContainingAtLeastAnUpperCaseCharTest() thr metadataRest.put("eperson.firstname", firstname); ePersonRest.setMetadata(metadataRest); ePersonRest.setPassword("Lowercasepassword"); - AtomicReference idRef = new AtomicReference(); + AtomicReference idRef = new AtomicReference<>(); mapper.setAnnotationIntrospector(new IgnoreJacksonWriteOnlyAccess()); @@ -3308,7 +3308,8 @@ public void validatePasswordRobustnessContainingAtLeastAnUpperCaseCharTest() thr matchMetadata("eperson.lastname", "Boychuk")))))) .andDo(result -> idRef.set(UUID.fromString(read(result.getResponse().getContentAsString(), "$.id")))); - EPerson createdEPerson = ePersonService.find(context, UUID.fromString(String.valueOf(idRef.get()))); + EPerson createdEPerson = ePersonService.find(context.getSession(), + UUID.fromString(String.valueOf(idRef.get()))); assertTrue(ePersonService.checkPassword(context, createdEPerson, "Lowercasepassword")); assertNull(registrationDataService.findByToken(context, newRegisterToken)); } finally { diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/GroupRestRepositoryIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/GroupRestRepositoryIT.java index fda8b15effa3..d35ecceb372d 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/GroupRestRepositoryIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/GroupRestRepositoryIT.java @@ -151,7 +151,7 @@ public void createTest() .set(UUID.fromString(read(result.getResponse().getContentAsString(), "$.id")))); GroupService groupService = EPersonServiceFactory.getInstance().getGroupService(); - Group group = groupService.find(context, idRef.get()); + Group group = groupService.find(context.getSession(), idRef.get()); assertEquals( groupService.getMetadata(group, "dc.description"), @@ -670,7 +670,7 @@ public void patchGroupWithParentUnprocessable() throws Exception { @Test public void patchPermanentGroupUnprocessable() throws Exception { GroupService groupService = EPersonServiceFactory.getInstance().getGroupService(); - final Group group = groupService.findByName(context, Group.ANONYMOUS); + final Group group = groupService.findByName(context.getSession(), Group.ANONYMOUS); final String name = group.getName(); String token = getAuthToken(admin.getEmail(), password); @@ -1906,7 +1906,7 @@ public void deleteGroupUnprocessableTest() throws Exception { @Test public void deletePermanentGroupUnprocessableTest() throws Exception { GroupService groupService = EPersonServiceFactory.getInstance().getGroupService(); - final Group group = groupService.findByName(context, Group.ANONYMOUS); + final Group group = groupService.findByName(context.getSession(), Group.ANONYMOUS); String authToken = getAuthToken(admin.getEmail(), password); @@ -3123,7 +3123,7 @@ public void commAdminAndColAdminCannotExploitItemReadGroupTest() throws Exceptio .withSubmitterGroup(eperson) .build(); - Group adminGroup = groupService.findByName(context, Group.ADMIN); + Group adminGroup = groupService.findByName(context.getSession(), Group.ADMIN); ResourcePolicyBuilder.createResourcePolicy(context).withAction(Constants.DEFAULT_ITEM_READ) .withGroup(adminGroup).withDspaceObject(child1).build(); ResourcePolicyBuilder.createResourcePolicy(context).withAction(Constants.DEFAULT_ITEM_READ) @@ -3186,7 +3186,7 @@ public void commAdminAndColAdminCannotExpoloitBitstreamReadGroupTest() throws Ex .withSubmitterGroup(eperson) .build(); - Group adminGroup = groupService.findByName(context, Group.ADMIN); + Group adminGroup = groupService.findByName(context.getSession(), Group.ADMIN); ResourcePolicyBuilder.createResourcePolicy(context).withAction(Constants.DEFAULT_BITSTREAM_READ) .withGroup(adminGroup).withDspaceObject(child1).build(); ResourcePolicyBuilder.createResourcePolicy(context).withAction(Constants.DEFAULT_BITSTREAM_READ) @@ -3224,7 +3224,7 @@ public void commAdminAndColAdminCannotExpoloitBitstreamReadGroupTest() throws Ex public void anonymousGroupParentObjectTest() throws Exception { GroupService groupService = EPersonServiceFactory.getInstance().getGroupService(); - Group anonGroup = groupService.findByName(context, Group.ANONYMOUS); + Group anonGroup = groupService.findByName(context.getSession(), Group.ANONYMOUS); context.turnOffAuthorisationSystem(); parentCommunity = CommunityBuilder.createCommunity(context) diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/InitializeEntitiesIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/InitializeEntitiesIT.java index 4daf6819829f..dff837697561 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/InitializeEntitiesIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/InitializeEntitiesIT.java @@ -73,7 +73,7 @@ public void destroy() throws Exception { context.turnOffAuthorisationSystem(); List relationshipTypeList = relationshipTypeService.findAll(context); List entityTypeList = entityTypeService.findAll(context); - List relationships = relationshipService.findAll(context); + List relationships = relationshipService.findAll(context.getSession()); for (Relationship relationship : relationships) { relationshipService.delete(context, relationship); diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/LoginAsEPersonIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/LoginAsEPersonIT.java index bf3b54c9224a..9246a8a5429f 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/LoginAsEPersonIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/LoginAsEPersonIT.java @@ -150,7 +150,7 @@ public void loggedInUserOtherAdminTest() throws Exception { EPerson testEperson = EPersonBuilder.createEPerson(context).withEmail("loginasuseradmin@test.com").build(); - Group adminGroup = groupService.findByName(context, Group.ADMIN); + Group adminGroup = groupService.findByName(context.getSession(), Group.ADMIN); groupService.addMember(context, adminGroup, testEperson); context.restoreAuthSystemState(); diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/MetadatafieldRestRepositoryIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/MetadatafieldRestRepositoryIT.java index a4a69ca8b1d7..2758972682f8 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/MetadatafieldRestRepositoryIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/MetadatafieldRestRepositoryIT.java @@ -640,8 +640,9 @@ public void createSuccess() throws Exception { String authToken = getAuthToken(admin.getEmail(), password); AtomicReference idRef = new AtomicReference<>(); try { - assertThat(metadataFieldService.findByElement(context, metadataSchema, metadataFieldRest.getElement(), - metadataFieldRest.getQualifier()), nullValue()); + assertThat(metadataFieldService.findByElement(context.getSession(), + metadataSchema, metadataFieldRest.getElement(), + metadataFieldRest.getQualifier()), nullValue()); getClient(authToken) .perform(post("/api/core/metadatafields") @@ -672,8 +673,9 @@ public void createBlankQualifier() throws Exception { String authToken = getAuthToken(admin.getEmail(), password); Integer id = null; try { - assertThat(metadataFieldService.findByElement(context, metadataSchema, metadataFieldRest.getElement(), - null), nullValue()); + assertThat(metadataFieldService.findByElement(context.getSession(), + metadataSchema, metadataFieldRest.getElement(), null), + nullValue()); id = read( getClient(authToken) @@ -708,8 +710,9 @@ public void create_checkAddedToIndex() throws Exception { String authToken = getAuthToken(admin.getEmail(), password); AtomicReference idRef = new AtomicReference<>(); try { - assertThat(metadataFieldService.findByElement(context, metadataSchema, metadataFieldRest.getElement(), - metadataFieldRest.getQualifier()), nullValue()); + assertThat(metadataFieldService.findByElement(context.getSession(), + metadataSchema, metadataFieldRest.getElement(), + metadataFieldRest.getQualifier()), nullValue()); getClient(authToken) .perform(post("/api/core/metadatafields") @@ -765,8 +768,9 @@ public void createUnprocessableEntity_elementContainingInvalidCharacters() throw metadataFieldRest.setScopeNote(SCOPE_NOTE); String authToken = getAuthToken(admin.getEmail(), password); - assertThat(metadataFieldService.findByElement(context, metadataSchema, metadataFieldRest.getElement(), - metadataFieldRest.getQualifier()), nullValue()); + assertThat(metadataFieldService.findByElement(context.getSession(), + metadataSchema, metadataFieldRest.getElement(), + metadataFieldRest.getQualifier()), nullValue()); getClient(authToken) .perform(post("/api/core/metadatafields") @@ -777,8 +781,9 @@ public void createUnprocessableEntity_elementContainingInvalidCharacters() throw .andExpect(status().isUnprocessableEntity()); metadataFieldRest.setElement("testElement,ForCreate"); - assertThat(metadataFieldService.findByElement(context, metadataSchema, metadataFieldRest.getElement(), - metadataFieldRest.getQualifier()), nullValue()); + assertThat(metadataFieldService.findByElement(context.getSession(), + metadataSchema, metadataFieldRest.getElement(), + metadataFieldRest.getQualifier()), nullValue()); getClient(authToken) .perform(post("/api/core/metadatafields") @@ -789,8 +794,9 @@ public void createUnprocessableEntity_elementContainingInvalidCharacters() throw .andExpect(status().isUnprocessableEntity()); metadataFieldRest.setElement("testElement ForCreate"); - assertThat(metadataFieldService.findByElement(context, metadataSchema, metadataFieldRest.getElement(), - metadataFieldRest.getQualifier()), nullValue()); + assertThat(metadataFieldService.findByElement(context.getSession(), + metadataSchema, metadataFieldRest.getElement(), + metadataFieldRest.getQualifier()), nullValue()); getClient(authToken) .perform(post("/api/core/metadatafields") @@ -809,8 +815,9 @@ public void createUnprocessableEntity_qualifierContainingInvalidCharacters() thr metadataFieldRest.setScopeNote(SCOPE_NOTE); String authToken = getAuthToken(admin.getEmail(), password); - assertThat(metadataFieldService.findByElement(context, metadataSchema, metadataFieldRest.getElement(), - metadataFieldRest.getQualifier()), nullValue()); + assertThat(metadataFieldService.findByElement(context.getSession(), + metadataSchema, metadataFieldRest.getElement(), + metadataFieldRest.getQualifier()), nullValue()); getClient(authToken) .perform(post("/api/core/metadatafields") @@ -821,8 +828,9 @@ public void createUnprocessableEntity_qualifierContainingInvalidCharacters() thr .andExpect(status().isUnprocessableEntity()); metadataFieldRest.setQualifier("testQualifier,ForCreate"); - assertThat(metadataFieldService.findByElement(context, metadataSchema, metadataFieldRest.getElement(), - metadataFieldRest.getQualifier()), nullValue()); + assertThat(metadataFieldService.findByElement(context.getSession(), + metadataSchema, metadataFieldRest.getElement(), + metadataFieldRest.getQualifier()), nullValue()); getClient(authToken) .perform(post("/api/core/metadatafields") @@ -833,8 +841,9 @@ public void createUnprocessableEntity_qualifierContainingInvalidCharacters() thr .andExpect(status().isUnprocessableEntity()); metadataFieldRest.setQualifier("testQualifier ForCreate"); - assertThat(metadataFieldService.findByElement(context, metadataSchema, metadataFieldRest.getElement(), - metadataFieldRest.getQualifier()), nullValue()); + assertThat(metadataFieldService.findByElement(context.getSession(), + metadataSchema, metadataFieldRest.getElement(), + metadataFieldRest.getQualifier()), nullValue()); getClient(authToken) .perform(post("/api/core/metadatafields") @@ -938,7 +947,7 @@ public void deleteNonExisting() throws Exception { .perform(delete("/api/core/metadatafields/" + id)) .andExpect(status().isNoContent()); - assertThat(metadataFieldService.find(context, id), nullValue()); + assertThat(metadataFieldService.find(context.getSession(), id), nullValue()); getClient(getAuthToken(admin.getEmail(), password)) .perform(delete("/api/core/metadatafields/" + id)) @@ -972,7 +981,7 @@ public void delete_checkDeletedFromIndex() throws Exception { .perform(delete("/api/core/metadatafields/" + id)) .andExpect(status().isNoContent()); - assertThat(metadataFieldService.find(context, id), nullValue()); + assertThat(metadataFieldService.find(context.getSession(), id), nullValue()); // deleted metadata field not found in index getClient().perform(get(SEARCH_BYFIELDNAME_ENDPOINT) @@ -1179,7 +1188,7 @@ public void findAllPaginationTest() throws Exception { List alphabeticMdFields = ContentServiceFactory.getInstance() .getMetadataFieldService() - .findAll(context).stream() + .findAll(context.getSession()).stream() .sorted(Comparator.comparing(mdf -> mdf.toString('.'))) .collect(Collectors.toList()); int numberOfMdFields = alphabeticMdFields.size(); diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/OidcAuthenticationRestControllerIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/OidcAuthenticationRestControllerIT.java index aa1ecd5ebf48..7af537ff48db 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/OidcAuthenticationRestControllerIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/OidcAuthenticationRestControllerIT.java @@ -66,7 +66,7 @@ public class OidcAuthenticationRestControllerIT extends AbstractControllerIntegr private OidcClient originalOidcClient; - private OidcClient oidcClientMock = mock(OidcClient.class); + private final OidcClient oidcClientMock = mock(OidcClient.class); private EPerson createdEperson; @@ -121,7 +121,7 @@ public void testEPersonCreationViaOidcLogin() throws Exception { String ePersonId = getEPersonIdFromAuthorizationCookie(mvcResult); - createdEperson = ePersonService.find(context, UUIDUtils.fromString(ePersonId)); + createdEperson = ePersonService.find(context.getSession(), UUIDUtils.fromString(ePersonId)); assertThat(createdEperson, notNullValue()); assertThat(createdEperson.getEmail(), equalTo("test@email.it")); assertThat(createdEperson.getFullName(), equalTo("Test User")); @@ -149,7 +149,7 @@ public void testEPersonCreationViaOidcLoginWithoutEmail() throws Exception { String ePersonId = getEPersonIdFromAuthorizationCookie(mvcResult); - createdEperson = ePersonService.find(context, UUIDUtils.fromString(ePersonId)); + createdEperson = ePersonService.find(context.getSession(), UUIDUtils.fromString(ePersonId)); assertThat(createdEperson, notNullValue()); } diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/OrcidLoginFilterIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/OrcidLoginFilterIT.java index d659186b6042..fe28bb9aad35 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/OrcidLoginFilterIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/OrcidLoginFilterIT.java @@ -153,7 +153,7 @@ public void testEPersonCreationViaOrcidLogin() throws Exception { String ePersonId = getEPersonIdFromAuthorizationCookie(mvcResult); - createdEperson = ePersonService.find(context, UUIDUtils.fromString(ePersonId)); + createdEperson = ePersonService.find(context.getSession(), UUIDUtils.fromString(ePersonId)); assertThat(createdEperson, notNullValue()); assertThat(createdEperson.getEmail(), equalTo("test@email.it")); assertThat(createdEperson.getFullName(), equalTo("Test User")); @@ -437,7 +437,7 @@ public void testLoggedInEPersonWithProfile() throws Exception { assertThat(ePersonId, equalTo(ePerson.getID().toString())); String profileItemId = getItemIdByProfileId(ePersonToken, ePersonId); - Item profileItem = itemService.find(context, UUID.fromString(profileItemId)); + Item profileItem = itemService.find(context.getSession(), UUID.fromString(profileItemId)); assertThat(profileItem, notNullValue()); assertThat(profileItem.getMetadata(), hasItem(with("person.identifier.orcid", ORCID))); assertThat(profileItem.getMetadata(), hasItem(with("dspace.orcid.scope", ORCID_SCOPES[0], 0))); diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/RelationshipDeleteRestRepositoryIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/RelationshipDeleteRestRepositoryIT.java index 2c6b14aa7e33..a2773dcdc9b2 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/RelationshipDeleteRestRepositoryIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/RelationshipDeleteRestRepositoryIT.java @@ -224,7 +224,7 @@ private void initPersonProjectPublication() throws Exception { .build(); context.restoreAuthSystemState(); - publicationItem = itemService.find(context, publicationItem.getID()); + publicationItem = itemService.find(context.getSession(), publicationItem.getID()); List publicationAuthorList = itemService.getMetadata(publicationItem, "dc", "contributor", "author", Item.ANY); assertThat(publicationAuthorList.size(), equalTo(1)); @@ -234,7 +234,7 @@ private void initPersonProjectPublication() throws Exception { "relation", "isAuthorOfPublication", Item.ANY, Item.ANY); assertThat(publicationRelationships.size(), equalTo(2)); - projectItem = itemService.find(context, projectItem.getID()); + projectItem = itemService.find(context.getSession(), projectItem.getID()); List projectAuthorList = itemService.getMetadata(projectItem, "dc", "contributor", "author", Item.ANY); assertThat(projectAuthorList.size(), equalTo(1)); @@ -283,7 +283,7 @@ public void testDeleteAuthorRelationshipCopyToLeftItem() throws Exception { .andExpect(status().isNoContent()); // Check left item to ensure that the metadata is copied - leftItem = itemService.find(context, leftItem.getID()); + leftItem = itemService.find(context.getSession(), leftItem.getID()); List authorList = itemService.getMetadata(leftItem, "dc", "contributor", "author", Item.ANY); assertThat(authorList.size(), equalTo(1)); assertThat(authorList.get(0).getValue(), equalTo("familyName, firstName")); @@ -356,7 +356,7 @@ public void testAuthorDeleteRelationshipCopyToRightItem() throws Exception { .andExpect(status().isNoContent()); // Check left item to ensure that the metadata hadn't been copied - leftItem = itemService.find(context, leftItem.getID()); + leftItem = itemService.find(context.getSession(), leftItem.getID()); List authorList = itemService.getMetadata(leftItem, "dc", "contributor", "author", Item.ANY); assertThat(authorList.size(), equalTo(0)); @@ -366,7 +366,7 @@ public void testAuthorDeleteRelationshipCopyToRightItem() throws Exception { // Check right item to ensure that the metadata is copied - rightItem = itemService.find(context, rightItem.getID()); + rightItem = itemService.find(context.getSession(), rightItem.getID()); relationshipMetadataList = itemService .getMetadata(rightItem, "relation", "isPublicationOfAuthor", null, Item.ANY); assertThat(relationshipMetadataList.size(), equalTo(1)); @@ -394,7 +394,7 @@ public void testDeleteAuthorRelationshipCopyToBothItems() throws Exception { delete("/api/core/relationships/" + relationship.getID() + "?copyVirtualMetadata=all")) .andExpect(status().isNoContent()); - leftItem = itemService.find(context, leftItem.getID()); + leftItem = itemService.find(context.getSession(), leftItem.getID()); List authorList = itemService.getMetadata(leftItem, "dc", "contributor", "author", Item.ANY); assertThat(authorList.size(), equalTo(1)); assertThat(authorList.get(0).getValue(), equalTo("familyName, firstName")); @@ -428,7 +428,7 @@ public void testDeleteAuthorRelationshipCopyToBothItems() throws Exception { .size() ); - rightItem = itemService.find(context, rightItem.getID()); + rightItem = itemService.find(context.getSession(), rightItem.getID()); relationshipMetadataList = itemService .getMetadata(rightItem, "relation", "isPublicationOfAuthor", null, Item.ANY); assertThat(relationshipMetadataList.size(), equalTo(1)); @@ -460,14 +460,14 @@ public void testDeleteJournalRelationshipCopyToLeftItem() throws Exception { .andExpect(status().isNoContent()); // Check the leftItem to ensure that the metadata is copied - leftItem = itemService.find(context, leftItem.getID()); + leftItem = itemService.find(context.getSession(), leftItem.getID()); List volumeList = itemService.getMetadata(leftItem, "publicationvolume", "volumeNumber", null, Item.ANY); assertThat(volumeList.size(), equalTo(1)); assertThat(volumeList.get(0).getValue(), equalTo("30")); // Check the rightItem to ensure that the metadata is not copied - rightItem = itemService.find(context, rightItem.getID()); + rightItem = itemService.find(context.getSession(), rightItem.getID()); List issueList = itemService.getMetadata(rightItem, "publicationissue", "issueNumber", null, Item.ANY); assertThat(issueList.size(), equalTo(0)); @@ -482,13 +482,13 @@ public void testJournalDeleteRelationshipCopyToRightItem() throws Exception { .andExpect(status().isNoContent()); // Check the leftItem to ensure that the metadata is not copied - leftItem = itemService.find(context, leftItem.getID()); + leftItem = itemService.find(context.getSession(), leftItem.getID()); List volumeList = itemService.getMetadata(leftItem, "publicationvolume", "volumeNumber", null, Item.ANY); assertThat(volumeList.size(), equalTo(0)); // Check the right item to ensure that the metadata is copied - rightItem = itemService.find(context, rightItem.getID()); + rightItem = itemService.find(context.getSession(), rightItem.getID()); List issueList = itemService.getMetadata(rightItem, "publicationissue", "issueNumber", null, Item.ANY); assertThat(issueList.size(), equalTo(1)); @@ -504,14 +504,14 @@ public void testDeleteJournalRelationshipCopyToBothItems() throws Exception { .andExpect(status().isNoContent()); // Check the left item to ensure that the metadata is copied - leftItem = itemService.find(context, leftItem.getID()); + leftItem = itemService.find(context.getSession(), leftItem.getID()); List volumeList = itemService.getMetadata(leftItem, "publicationvolume", "volumeNumber", null, Item.ANY); assertThat(volumeList.size(), equalTo(1)); assertThat(volumeList.get(0).getValue(), equalTo("30")); // Check the rightItem to ensure that the metadata is copied - rightItem = itemService.find(context, rightItem.getID()); + rightItem = itemService.find(context.getSession(), rightItem.getID()); List issueList = itemService.getMetadata(rightItem, "publicationissue", "issueNumber", null, Item.ANY); assertThat(issueList.size(), equalTo(1)); @@ -552,7 +552,7 @@ public void deleteItemCopyVirtualMetadataAll() throws Exception { delete("/api/core/items/" + personItem.getID() + "?copyVirtualMetadata=all")) .andExpect(status().isNoContent()); - publicationItem = itemService.find(context, publicationItem.getID()); + publicationItem = itemService.find(context.getSession(), publicationItem.getID()); List publicationAuthorList = itemService.getMetadata(publicationItem, "dc", "contributor", "author", Item.ANY); assertThat(publicationAuthorList.size(), equalTo(1)); @@ -581,7 +581,7 @@ public void deleteItemCopyVirtualMetadataAll() throws Exception { .size() ); - projectItem = itemService.find(context, projectItem.getID()); + projectItem = itemService.find(context.getSession(), projectItem.getID()); List projectAuthorList = itemService.getMetadata(projectItem, "dc", "contributor", "author", Item.ANY); assertThat(projectAuthorList.size(), equalTo(1)); @@ -646,7 +646,7 @@ public void deleteItemCopyVirtualMetadataOneType() throws Exception { + publicationPersonRelationshipType.getID())) .andExpect(status().isNoContent()); - publicationItem = itemService.find(context, publicationItem.getID()); + publicationItem = itemService.find(context.getSession(), publicationItem.getID()); List publicationAuthorList = itemService.getMetadata(publicationItem, "dc", "contributor", "author", Item.ANY); assertThat(publicationAuthorList.size(), equalTo(1)); @@ -675,7 +675,7 @@ public void deleteItemCopyVirtualMetadataOneType() throws Exception { .size() ); - projectItem = itemService.find(context, projectItem.getID()); + projectItem = itemService.find(context.getSession(), projectItem.getID()); List projectAuthorList = itemService.getMetadata(projectItem, "dc", "contributor", "author", Item.ANY); assertThat(projectAuthorList.size(), equalTo(0)); @@ -720,7 +720,7 @@ public void deleteItemCopyVirtualMetadataTwoTypes() throws Exception { + "©VirtualMetadata=" + personProjectRelationshipType.getID())) .andExpect(status().isNoContent()); - publicationItem = itemService.find(context, publicationItem.getID()); + publicationItem = itemService.find(context.getSession(), publicationItem.getID()); List publicationAuthorList = itemService.getMetadata(publicationItem, "dc", "contributor", "author", Item.ANY); assertThat(publicationAuthorList.size(), equalTo(1)); @@ -749,7 +749,7 @@ public void deleteItemCopyVirtualMetadataTwoTypes() throws Exception { .size() ); - projectItem = itemService.find(context, projectItem.getID()); + projectItem = itemService.find(context.getSession(), projectItem.getID()); List projectAuthorList = itemService.getMetadata(projectItem, "dc", "contributor", "author", Item.ANY); assertThat(projectAuthorList.size(), equalTo(1)); @@ -787,7 +787,7 @@ public void deleteItemCopyVirtualMetadataNone() throws Exception { delete("/api/core/items/" + personItem.getID())) .andExpect(status().isNoContent()); - publicationItem = itemService.find(context, publicationItem.getID()); + publicationItem = itemService.find(context.getSession(), publicationItem.getID()); List publicationAuthorList = itemService.getMetadata(publicationItem, "dc", "contributor", "author", Item.ANY); assertThat(publicationAuthorList.size(), equalTo(0)); @@ -795,7 +795,7 @@ public void deleteItemCopyVirtualMetadataNone() throws Exception { "relation", "isAuthorOfPublication", Item.ANY, Item.ANY); assertThat(publicationRelationships.size(), equalTo(0)); - projectItem = itemService.find(context, projectItem.getID()); + projectItem = itemService.find(context.getSession(), projectItem.getID()); List projectAuthorList = itemService.getMetadata(projectItem, "dc", "contributor", "author", Item.ANY); assertThat(projectAuthorList.size(), equalTo(0)); @@ -815,7 +815,7 @@ public void deleteItemCopyVirtualMetadataInvalid() throws Exception { + "©VirtualMetadata=SomeThingWrong")) .andExpect(status().isBadRequest()); - publicationItem = itemService.find(context, publicationItem.getID()); + publicationItem = itemService.find(context.getSession(), publicationItem.getID()); List publicationAuthorList = itemService.getMetadata(publicationItem, "dc", "contributor", "author", Item.ANY); assertThat(publicationAuthorList.size(), equalTo(1)); @@ -825,7 +825,7 @@ public void deleteItemCopyVirtualMetadataInvalid() throws Exception { "relation", "isAuthorOfPublication", Item.ANY, Item.ANY); assertThat(publicationRelationships.size(), equalTo(2)); - projectItem = itemService.find(context, projectItem.getID()); + projectItem = itemService.find(context.getSession(), projectItem.getID()); List projectAuthorList = itemService.getMetadata(projectItem, "dc", "contributor", "author", Item.ANY); assertThat(projectAuthorList.size(), equalTo(1)); @@ -870,7 +870,7 @@ public void deleteItemCopyVirtualMetadataAllNoPermissions() throws Exception { delete("/api/core/items/" + personItem.getID())) .andExpect(status().isForbidden()); - publicationItem = itemService.find(context, publicationItem.getID()); + publicationItem = itemService.find(context.getSession(), publicationItem.getID()); List publicationAuthorList = itemService.getMetadata(publicationItem, "dc", "contributor", "author", Item.ANY); assertThat(publicationAuthorList.size(), equalTo(1)); @@ -880,7 +880,7 @@ public void deleteItemCopyVirtualMetadataAllNoPermissions() throws Exception { "relation", "isAuthorOfPublication", Item.ANY, Item.ANY); assertThat(publicationRelationships.size(), equalTo(2)); - projectItem = itemService.find(context, projectItem.getID()); + projectItem = itemService.find(context.getSession(), projectItem.getID()); List projectAuthorList = itemService.getMetadata(projectItem, "dc", "contributor", "author", Item.ANY); assertThat(projectAuthorList.size(), equalTo(1)); @@ -899,7 +899,7 @@ public void deleteItemCopyVirtualMetadataAllAsCollectionAdmin() throws Exception delete("/api/core/items/" + personItem.getID())) .andExpect(status().isNoContent()); - publicationItem = itemService.find(context, publicationItem.getID()); + publicationItem = itemService.find(context.getSession(), publicationItem.getID()); List publicationAuthorList = itemService.getMetadata(publicationItem, "dc", "contributor", "author", Item.ANY); assertThat(publicationAuthorList.size(), equalTo(0)); @@ -907,7 +907,7 @@ public void deleteItemCopyVirtualMetadataAllAsCollectionAdmin() throws Exception "relation", "isAuthorOfPublication", Item.ANY, Item.ANY); assertThat(publicationRelationships.size(), equalTo(0)); - projectItem = itemService.find(context, projectItem.getID()); + projectItem = itemService.find(context.getSession(), projectItem.getID()); List projectAuthorList = itemService.getMetadata(projectItem, "dc", "contributor", "author", Item.ANY); assertThat(projectAuthorList.size(), equalTo(0)); @@ -925,7 +925,7 @@ public void deleteItemCopyVirtualMetadataTypeAsCollectionAdmin() throws Exceptio + "?copyVirtualMetadata=" + publicationPersonRelationshipType.getID())) .andExpect(status().isNoContent()); - publicationItem = itemService.find(context, publicationItem.getID()); + publicationItem = itemService.find(context.getSession(), publicationItem.getID()); List publicationAuthorList = itemService.getMetadata(publicationItem, "dc", "contributor", "author", Item.ANY); assertThat(publicationAuthorList.size(), equalTo(1)); @@ -935,7 +935,7 @@ public void deleteItemCopyVirtualMetadataTypeAsCollectionAdmin() throws Exceptio "relation", "isAuthorOfPublication", Item.ANY, Item.ANY); assertThat(publicationRelationships.size(), equalTo(1)); - projectItem = itemService.find(context, projectItem.getID()); + projectItem = itemService.find(context.getSession(), projectItem.getID()); List projectAuthorList = itemService.getMetadata(projectItem, "dc", "contributor", "author", Item.ANY); assertThat(projectAuthorList.size(), equalTo(0)); @@ -983,7 +983,7 @@ public void deleteItemCopyVirtualMetadataAllInsufficientPermissions() throws Exc delete("/api/core/items/" + personItem.getID())) .andExpect(status().isForbidden()); - publicationItem = itemService.find(context, publicationItem.getID()); + publicationItem = itemService.find(context.getSession(), publicationItem.getID()); List publicationAuthorList = itemService.getMetadata(publicationItem, "dc", "contributor", "author", Item.ANY); assertThat(publicationAuthorList.size(), equalTo(1)); @@ -993,7 +993,7 @@ public void deleteItemCopyVirtualMetadataAllInsufficientPermissions() throws Exc "relation", "isAuthorOfPublication", Item.ANY, Item.ANY); assertThat(publicationRelationships.size(), equalTo(2)); - projectItem = itemService.find(context, projectItem.getID()); + projectItem = itemService.find(context.getSession(), projectItem.getID()); List projectAuthorList = itemService.getMetadata(projectItem, "dc", "contributor", "author", Item.ANY); assertThat(projectAuthorList.size(), equalTo(1)); @@ -1015,7 +1015,7 @@ public void deleteItemCopyVirtualMetadataTypeInsufficientPermissions() throws Ex + "?copyVirtualMetadata=" + publicationPersonRelationshipType.getID())) .andExpect(status().isForbidden()); - publicationItem = itemService.find(context, publicationItem.getID()); + publicationItem = itemService.find(context.getSession(), publicationItem.getID()); List publicationAuthorList = itemService.getMetadata(publicationItem, "dc", "contributor", "author", Item.ANY); assertThat(publicationAuthorList.size(), equalTo(1)); @@ -1025,7 +1025,7 @@ public void deleteItemCopyVirtualMetadataTypeInsufficientPermissions() throws Ex "relation", "isAuthorOfPublication", Item.ANY, Item.ANY); assertThat(publicationRelationships.size(), equalTo(2)); - projectItem = itemService.find(context, projectItem.getID()); + projectItem = itemService.find(context.getSession(), projectItem.getID()); List projectAuthorList = itemService.getMetadata(projectItem, "dc", "contributor", "author", Item.ANY); assertThat(projectAuthorList.size(), equalTo(1)); @@ -1070,7 +1070,7 @@ public void deleteItemCopyVirtualMetadataConfigured() throws Exception { delete("/api/core/items/" + personItem.getID() + "?copyVirtualMetadata=configured")) .andExpect(status().isNoContent()); - publicationItem = itemService.find(context, publicationItem.getID()); + publicationItem = itemService.find(context.getSession(), publicationItem.getID()); List publicationAuthorList = itemService.getMetadata(publicationItem, "dc", "contributor", "author", Item.ANY); assertThat(publicationAuthorList.size(), equalTo(0)); @@ -1079,7 +1079,7 @@ public void deleteItemCopyVirtualMetadataConfigured() throws Exception { "relation", "isAuthorOfPublication", Item.ANY, Item.ANY); assertThat(publicationRelationships.size(), equalTo(0)); - projectItem = itemService.find(context, projectItem.getID()); + projectItem = itemService.find(context.getSession(), projectItem.getID()); List projectAuthorList = itemService.getMetadata(projectItem, "dc", "contributor", "author", Item.ANY); assertThat(projectAuthorList.size(), equalTo(1)); @@ -1122,7 +1122,7 @@ public void deleteItemCopyVirtualMetadataToCorrectPlace() throws Exception { + publicationPersonRelationshipType.getID())) .andExpect(status().isNoContent()); - publicationItem = itemService.find(context, publicationItem.getID()); + publicationItem = itemService.find(context.getSession(), publicationItem.getID()); List publicationAuthorList = itemService.getMetadata(publicationItem, "dc", "contributor", "author", Item.ANY); assertThat(publicationAuthorList.size(), equalTo(2)); @@ -1132,7 +1132,7 @@ public void deleteItemCopyVirtualMetadataToCorrectPlace() throws Exception { "relation", "isAuthorOfPublication", Item.ANY, Item.ANY); assertThat(publicationRelationships.size(), equalTo(1)); - projectItem = itemService.find(context, projectItem.getID()); + projectItem = itemService.find(context.getSession(), projectItem.getID()); List projectAuthorList = itemService.getMetadata(projectItem, "dc", "contributor", "author", Item.ANY); assertThat(projectAuthorList.size(), equalTo(0)); diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/RelationshipRestRepositoryIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/RelationshipRestRepositoryIT.java index d8e53c770c70..5f926fb7688a 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/RelationshipRestRepositoryIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/RelationshipRestRepositoryIT.java @@ -130,6 +130,7 @@ public class RelationshipRestRepositoryIT extends AbstractEntityIntegrationTest protected RelationshipType isOrgUnitOfPersonRelationshipType; protected EPerson user1; + @Override @Before public void setUp() throws Exception { super.setUp(); @@ -817,7 +818,7 @@ public void addRelationshipsAndMetadataToValidatePlaceTest() throws Exception { context.turnOffAuthorisationSystem(); // Make sure we grab the latest instance of the Item from the database - publication1 = itemService.find(context, publication1.getID()); + publication1 = itemService.find(context.getSession(), publication1.getID()); // Add a plain text dc.contributor.author value itemService.addMetadata(context, publication1, "dc", "contributor", "author", Item.ANY, "plain text"); itemService.update(context, publication1); @@ -862,7 +863,7 @@ public void addRelationshipsAndMetadataToValidatePlaceTest() throws Exception { .andExpect(status().isCreated()) .andDo(result -> idRef2.set(read(result.getResponse().getContentAsString(), "$.id"))); - publication1 = itemService.find(context, publication1.getID()); + publication1 = itemService.find(context.getSession(), publication1.getID()); list = itemService.getMetadata(publication1, "dc", "contributor", "author", Item.ANY); // Ensure that we now have three dc.contributor.author mdv ("Smith, Donald", "plain text", "Smith, Maria" // In that order which will be checked below the rest call @@ -883,13 +884,13 @@ public void addRelationshipsAndMetadataToValidatePlaceTest() throws Exception { context.turnOffAuthorisationSystem(); // Ensure we have the latest instance of the Item from the database - publication1 = itemService.find(context, publication1.getID()); + publication1 = itemService.find(context.getSession(), publication1.getID()); // Add a fourth dc.contributor.author mdv itemService.addMetadata(context, publication1, "dc", "contributor", "author", Item.ANY, "plain text two"); itemService.update(context, publication1); context.restoreAuthSystemState(); - publication1 = itemService.find(context, publication1.getID()); + publication1 = itemService.find(context.getSession(), publication1.getID()); list = itemService.getMetadata(publication1, "dc", "contributor", "author", Item.ANY); // Assert that the list of dc.contributor.author mdv is now of size 4 in the following order: @@ -927,7 +928,7 @@ public void addRelationshipsAndMetadataToValidatePlaceTest() throws Exception { .andExpect(status().isCreated()) .andDo(result -> idRef3.set(read(result.getResponse().getContentAsString(), "$.id"))); - publication1 = itemService.find(context, publication1.getID()); + publication1 = itemService.find(context.getSession(), publication1.getID()); list = itemService.getMetadata(publication1, "dc", "contributor", "author", Item.ANY); // Assert that our dc.contributor.author mdv list is now of size 5 assertEquals(5, list.size()); @@ -953,7 +954,7 @@ public void addRelationshipsAndMetadataToValidatePlaceTest() throws Exception { context.turnOffAuthorisationSystem(); // The following additions of Metadata will perform the same sequence of logic and tests as described above - publication1 = itemService.find(context, publication1.getID()); + publication1 = itemService.find(context.getSession(), publication1.getID()); itemService.addMetadata(context, publication1, "dc", "contributor", "author", Item.ANY, "plain text three"); itemService.update(context, publication1); @@ -983,7 +984,7 @@ public void addRelationshipsAndMetadataToValidatePlaceTest() throws Exception { context.turnOffAuthorisationSystem(); - publication1 = itemService.find(context, publication1.getID()); + publication1 = itemService.find(context.getSession(), publication1.getID()); itemService.addMetadata(context, publication1, "dc", "contributor", "author", Item.ANY, "plain text four"); itemService.addMetadata(context, publication1, "dc", "contributor", "author", Item.ANY, "plain text five"); itemService.addMetadata(context, publication1, "dc", "contributor", "author", Item.ANY, "plain text six"); @@ -991,7 +992,7 @@ public void addRelationshipsAndMetadataToValidatePlaceTest() throws Exception { itemService.update(context, publication1); context.restoreAuthSystemState(); - publication1 = itemService.find(context, publication1.getID()); + publication1 = itemService.find(context.getSession(), publication1.getID()); list = itemService.getMetadata(publication1, "dc", "contributor", "author", Item.ANY); assertEquals(10, list.size()); @@ -1112,7 +1113,7 @@ public void deleteMetadataValueAndValidatePlace() throws Exception { context.turnOffAuthorisationSystem(); // We retrieve the publication again to ensure that we have the latest DB object of it - publication1 = itemService.find(context, publication1.getID()); + publication1 = itemService.find(context.getSession(), publication1.getID()); // Add a plain text metadatavalue to the publication // After this addition, the list of authors should like like "Donald Smith", "plain text" itemService.addMetadata(context, publication1, "dc", "contributor", "author", Item.ANY, "plain text"); @@ -1156,7 +1157,7 @@ public void deleteMetadataValueAndValidatePlace() throws Exception { .andExpect(jsonPath("leftPlace", is(2))); context.turnOffAuthorisationSystem(); // Get the publication from the DB again to ensure that we have the latest object - publication1 = itemService.find(context, publication1.getID()); + publication1 = itemService.find(context.getSession(), publication1.getID()); // Add a fourth metadata value to the publication itemService.addMetadata(context, publication1, "dc", "contributor", "author", Item.ANY, "plain text two"); itemService.update(context, publication1); @@ -1194,7 +1195,7 @@ public void deleteMetadataValueAndValidatePlace() throws Exception { .andExpect(jsonPath("leftPlace", is(4))); context.turnOffAuthorisationSystem(); - publication1 = itemService.find(context, publication1.getID()); + publication1 = itemService.find(context.getSession(), publication1.getID()); // Create another plain text metadata value on the publication itemService.addMetadata(context, publication1, "dc", "contributor", "author", Item.ANY, "plain text three"); itemService.update(context, publication1); @@ -1321,7 +1322,7 @@ public void deleteRelationshipsAndValidatePlace() throws Exception { context.turnOffAuthorisationSystem(); // We retrieve the publication again to ensure that we have the latest DB object of it - publication1 = itemService.find(context, publication1.getID()); + publication1 = itemService.find(context.getSession(), publication1.getID()); // Add a plain text metadatavalue to the publication // After this addition, the list of authors should like like "Donald Smith", "plain text" itemService.addMetadata(context, publication1, "dc", "contributor", "author", Item.ANY, "plain text"); @@ -1366,7 +1367,7 @@ public void deleteRelationshipsAndValidatePlace() throws Exception { .andExpect(jsonPath("leftPlace", is(2))); context.turnOffAuthorisationSystem(); // Get the publication from the DB again to ensure that we have the latest object - publication1 = itemService.find(context, publication1.getID()); + publication1 = itemService.find(context.getSession(), publication1.getID()); // Add a fourth metadata value to the publication itemService.addMetadata(context, publication1, "dc", "contributor", "author", Item.ANY, "plain text two"); itemService.update(context, publication1); @@ -1404,7 +1405,7 @@ public void deleteRelationshipsAndValidatePlace() throws Exception { .andExpect(jsonPath("leftPlace", is(4))); context.turnOffAuthorisationSystem(); - publication1 = itemService.find(context, publication1.getID()); + publication1 = itemService.find(context.getSession(), publication1.getID()); // Create another plain text metadata value on the publication itemService.addMetadata(context, publication1, "dc", "contributor", "author", Item.ANY, "plain text three"); itemService.update(context, publication1); @@ -1431,7 +1432,7 @@ public void deleteRelationshipsAndValidatePlace() throws Exception { .andExpect(status().isOk()) .andExpect(jsonPath("leftPlace", is(0))); - publication1 = itemService.find(context, publication1.getID()); + publication1 = itemService.find(context.getSession(), publication1.getID()); list = itemService.getMetadata(publication1, "dc", "contributor", "author", Item.ANY); for (MetadataValue mdv : list) { @@ -2705,7 +2706,7 @@ public void orgUnitAndOrgUnitRelationshipVirtualMetadataTest() throws Exception RelationshipType isParentOrgUnitOf = relationshipTypeService .findbyTypesAndTypeName(context, orgUnit, orgUnit, "isParentOrgUnitOf", "isChildOrgUnitOf"); - MetadataSchema metadataSchema = metadataSchemaService.find(context, "relation"); + MetadataSchema metadataSchema = metadataSchemaService.find(context.getSession(), "relation"); MetadataFieldBuilder.createMetadataField(context, metadataSchema, "isParentOrgUnitOf", null, null).build(); MetadataFieldBuilder.createMetadataField(context, metadataSchema, "isChildOrgUnitOf", null, null).build(); @@ -2754,7 +2755,7 @@ public void orgUnitFindByLabelParentChildOfCountTest() throws Exception { RelationshipType isParentOrgUnitOf = relationshipTypeService .findbyTypesAndTypeName(context, orgUnit, orgUnit, "isParentOrgUnitOf", "isChildOrgUnitOf"); - MetadataSchema metadataSchema = metadataSchemaService.find(context, "relation"); + MetadataSchema metadataSchema = metadataSchemaService.find(context.getSession(), "relation"); MetadataFieldBuilder.createMetadataField(context, metadataSchema, "isParentOrgUnitOf", null, null).build(); MetadataFieldBuilder.createMetadataField(context, metadataSchema, "isChildOrgUnitOf", null, null).build(); @@ -2819,7 +2820,7 @@ public void orgUnitLeftMaxCardinalityTest() throws Exception { RelationshipType isParentOrgUnitOf = relationshipTypeService .findbyTypesAndTypeName(context, orgUnit, orgUnit, "isParentOrgUnitOf", "isChildOrgUnitOf"); - MetadataSchema metadataSchema = metadataSchemaService.find(context, "relation"); + MetadataSchema metadataSchema = metadataSchemaService.find(context.getSession(), "relation"); MetadataFieldBuilder.createMetadataField(context, metadataSchema, "isParentOrgUnitOf", null, null).build(); MetadataFieldBuilder.createMetadataField(context, metadataSchema, "isChildOrgUnitOf", null, null).build(); @@ -2928,12 +2929,13 @@ public void testVirtualMdInRESTAndSolrDoc() throws Exception { } // Create virtual metadata fields if needed - MetadataSchema journalSchema = metadataSchemaService.find(context, "journal"); + MetadataSchema journalSchema = metadataSchemaService.find(context.getSession(), "journal"); if (journalSchema == null) { journalSchema = metadataSchemaService.create(context, "journal", "journal"); } String journalTitleVirtualMdField = "journal.title"; - MetadataField journalTitleField = metadataFieldService.findByString(context, journalTitleVirtualMdField, '.'); + MetadataField journalTitleField + = metadataFieldService.findByString(context.getSession(), journalTitleVirtualMdField, '.'); if (journalTitleField == null) { metadataFieldService.create(context, journalSchema, "title", null, "Journal Title"); } diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/ResearcherProfileRestRepositoryIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/ResearcherProfileRestRepositoryIT.java index 7fb64b12bf48..e23cb6b9d9c9 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/ResearcherProfileRestRepositoryIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/ResearcherProfileRestRepositoryIT.java @@ -319,7 +319,7 @@ public void testCreateAndReturn() throws Exception { .andExpect(jsonPath("$.name", is(name))); String itemId = getItemIdByProfileId(authToken, id); - Item profileItem = itemService.find(context, UUIDUtils.fromString(itemId)); + Item profileItem = itemService.find(context.getSession(), UUIDUtils.fromString(itemId)); getClient(getAuthToken(admin.getEmail(), password)) .perform(get("/api/authz/resourcepolicies/search/resource") @@ -417,7 +417,7 @@ public void testCreateAndReturnWithoutCollectionIdSet() throws Exception { .andExpect(jsonPath("$", matchLinks("http://localhost/api/eperson/profiles/" + id, "item", "eperson"))); String itemId = getItemIdByProfileId(authToken, id); - Item profileItem = itemService.find(context, UUIDUtils.fromString(itemId)); + Item profileItem = itemService.find(context.getSession(), UUIDUtils.fromString(itemId)); assertThat(profileItem, notNullValue()); assertThat(profileItem.getOwningCollection(), is(personCollection)); @@ -452,7 +452,7 @@ public void testCreateAndReturnWithCollectionHavingInvalidEntityTypeSet() throws .andExpect(jsonPath("$", matchLinks("http://localhost/api/eperson/profiles/" + id, "item", "eperson"))); String itemId = getItemIdByProfileId(authToken, id); - Item profileItem = itemService.find(context, UUIDUtils.fromString(itemId)); + Item profileItem = itemService.find(context.getSession(), UUIDUtils.fromString(itemId)); assertThat(profileItem, notNullValue()); assertThat(profileItem.getOwningCollection(), is(personCollection)); @@ -1350,7 +1350,7 @@ public void testOrcidMetadataOfEpersonAreCopiedOnProfile() throws Exception { String itemId = getItemIdByProfileId(authToken, ePersonId); - Item profileItem = itemService.find(context, UUIDUtils.fromString(itemId)); + Item profileItem = itemService.find(context.getSession(), UUIDUtils.fromString(itemId)); assertThat(profileItem, notNullValue()); List metadata = profileItem.getMetadata(); @@ -2542,7 +2542,7 @@ private Item createProfile(EPerson ePerson) throws Exception { .andDo(result -> itemIdRef.set(fromString(read(result.getResponse().getContentAsString(), "$.id")))); - return itemService.find(context, itemIdRef.get()); + return itemService.find(context.getSession(), itemIdRef.get()); } private String getItemIdByProfileId(String token, String id) throws SQLException, Exception { diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/ResourcePolicyRestRepositoryIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/ResourcePolicyRestRepositoryIT.java index 02834607113d..6d4123c80109 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/ResourcePolicyRestRepositoryIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/ResourcePolicyRestRepositoryIT.java @@ -62,7 +62,7 @@ import org.springframework.beans.factory.annotation.Autowired; /** - * Integration test class for the resourcepolicies endpoint + * Integration test class for the {@code resourcepolicies} endpoint. * * @author Mykhaylo Boychuk - 4Science */ @@ -134,8 +134,8 @@ public void findOneTest() throws Exception { public void findOneResourcePolicyOfAnonymousGroupTest() throws Exception { context.turnOffAuthorisationSystem(); - Group groupAnonymous = EPersonServiceFactory.getInstance().getGroupService().findByName(context, - Group.ANONYMOUS); + Group groupAnonymous = EPersonServiceFactory.getInstance().getGroupService() + .findByName(context.getSession(), Group.ANONYMOUS); EPerson eperson1 = EPersonBuilder.createEPerson(context) .withEmail("eperson1@mail.com") @@ -488,7 +488,7 @@ public void findResourcePoliciesOfOneResourceWithoutActionTest() throws Exceptio ResourcePolicy resourcePolicyAnonymous = authorizeService .findByTypeGroupAction(context, community, EPersonServiceFactory.getInstance() .getGroupService() - .findByName(context, Group.ANONYMOUS), Constants.READ); + .findByName(context.getSession(), Group.ANONYMOUS), Constants.READ); context.restoreAuthSystemState(); @@ -618,7 +618,7 @@ public void findResourcePoliciesOfOneResourcePaginationTest() throws Exception { ResourcePolicy resourcePolicyAnonymous = authorizeService .findByTypeGroupAction(context, community, EPersonServiceFactory.getInstance() .getGroupService() - .findByName(context, Group.ANONYMOUS), Constants.READ); + .findByName(context.getSession(), Group.ANONYMOUS), Constants.READ); context.restoreAuthSystemState(); @@ -971,8 +971,8 @@ public void findResourcesPoliciesByGroupUuidForbiddenTest() throws Exception { public void findResourcesPoliciesByGroupAnonymousTest() throws Exception { context.turnOffAuthorisationSystem(); - Group groupAnonymous = EPersonServiceFactory.getInstance().getGroupService().findByName(context, - Group.ANONYMOUS); + Group groupAnonymous = EPersonServiceFactory.getInstance().getGroupService() + .findByName(context.getSession(), Group.ANONYMOUS); EPerson eperson1 = EPersonBuilder.createEPerson(context) .withEmail("eperson1@mail.com") @@ -1002,7 +1002,7 @@ public void findResourcesPoliciesByGroupAnonymousTest() throws Exception { public void createWithEPersonTest() throws Exception { context.turnOffAuthorisationSystem(); - AtomicReference idRef = new AtomicReference(); + AtomicReference idRef = new AtomicReference<>(); try { Community community = CommunityBuilder.createCommunity(context) .withName("My commynity") @@ -1256,7 +1256,8 @@ public void patchReplaceStartDateTest() throws Exception { ResourcePolicy resourcePolicy = ResourcePolicyBuilder.createResourcePolicy(context) .withAction(Constants.READ) .withDspaceObject(publicItem1) - .withGroup(EPersonServiceFactory.getInstance().getGroupService().findByName(context, Group.ANONYMOUS)) + .withGroup(EPersonServiceFactory.getInstance().getGroupService() + .findByName(context.getSession(), Group.ANONYMOUS)) .withStartDate(data) .withPolicyType(ResourcePolicy.TYPE_CUSTOM) .build(); @@ -1272,7 +1273,7 @@ public void patchReplaceStartDateTest() throws Exception { Date newDate = newCalendar.getTime(); - List ops = new ArrayList(); + List ops = new ArrayList<>(); ReplaceOperation replaceOperation = new ReplaceOperation("/startDate", formatDate.format(newDate)); ops.add(replaceOperation); String patchBody = getPatchContent(ops); @@ -1326,7 +1327,8 @@ public void patchReplaceEndDateTest() throws Exception { ResourcePolicy resourcePolicy = ResourcePolicyBuilder.createResourcePolicy(context) .withAction(Constants.READ) .withDspaceObject(publicItem1) - .withGroup(EPersonServiceFactory.getInstance().getGroupService().findByName(context, Group.ANONYMOUS)) + .withGroup(EPersonServiceFactory.getInstance().getGroupService() + .findByName(context.getSession(), Group.ANONYMOUS)) .withEndDate(date) .withPolicyType(ResourcePolicy.TYPE_CUSTOM) .build(); @@ -1342,7 +1344,7 @@ public void patchReplaceEndDateTest() throws Exception { Date newDate = newCalendar.getTime(); - List ops = new ArrayList(); + List ops = new ArrayList<>(); ReplaceOperation replaceOperation = new ReplaceOperation("/endDate", formatDate.format(newDate)); ops.add(replaceOperation); String patchBody = getPatchContent(ops); @@ -1388,7 +1390,8 @@ public void patchAddStartDateTest() throws Exception { ResourcePolicy resourcePolicy = ResourcePolicyBuilder.createResourcePolicy(context) .withAction(Constants.READ) .withDspaceObject(publicItem1) - .withGroup(EPersonServiceFactory.getInstance().getGroupService().findByName(context, Group.ANONYMOUS)) + .withGroup(EPersonServiceFactory.getInstance().getGroupService() + .findByName(context.getSession(), Group.ANONYMOUS)) .withPolicyType(ResourcePolicy.TYPE_CUSTOM) .build(); @@ -1403,7 +1406,7 @@ public void patchAddStartDateTest() throws Exception { Date newDate = newCalendar.getTime(); - List ops = new ArrayList(); + List ops = new ArrayList<>(); AddOperation addOperation = new AddOperation("/startDate", formatDate.format(newDate)); ops.add(addOperation); String patchBody = getPatchContent(ops); @@ -1451,7 +1454,7 @@ public void patchAddEndDateTest() throws Exception { .withDspaceObject(publicItem1) .withGroup( EPersonServiceFactory.getInstance().getGroupService() - .findByName(context, + .findByName(context.getSession(), Group.ANONYMOUS)) .withPolicyType(ResourcePolicy.TYPE_CUSTOM) .build(); @@ -1462,7 +1465,7 @@ public void patchAddEndDateTest() throws Exception { SimpleDateFormat formatDate = new SimpleDateFormat("yyyy-MM-dd"); Date newDate = new Date(); - List ops = new ArrayList(); + List ops = new ArrayList<>(); AddOperation addOperation = new AddOperation("/endDate", formatDate.format(newDate)); ops.add(addOperation); String patchBody = getPatchContent(ops); @@ -1516,14 +1519,15 @@ public void patchRemoveStartDateTest() throws Exception { ResourcePolicy resourcePolicy = ResourcePolicyBuilder.createResourcePolicy(context) .withAction(Constants.READ) .withDspaceObject(publicItem1) - .withGroup(EPersonServiceFactory.getInstance().getGroupService().findByName(context, Group.ANONYMOUS)) + .withGroup(EPersonServiceFactory.getInstance().getGroupService() + .findByName(context.getSession(), Group.ANONYMOUS)) .withStartDate(data) .withPolicyType(ResourcePolicy.TYPE_CUSTOM) .build(); context.restoreAuthSystemState(); - List ops = new ArrayList(); + List ops = new ArrayList<>(); RemoveOperation removeOperation = new RemoveOperation("/startDate"); ops.add(removeOperation); String patchBody = getPatchContent(ops); @@ -1577,7 +1581,8 @@ public void patchReplaceStartDateBadRequestTest() throws Exception { ResourcePolicy resourcePolicy = ResourcePolicyBuilder.createResourcePolicy(context) .withAction(Constants.READ) .withDspaceObject(publicItem1) - .withGroup(EPersonServiceFactory.getInstance().getGroupService().findByName(context, Group.ANONYMOUS)) + .withGroup(EPersonServiceFactory.getInstance().getGroupService() + .findByName(context.getSession(), Group.ANONYMOUS)) .withStartDate(date) .withDescription("my description") .withPolicyType(ResourcePolicy.TYPE_CUSTOM) @@ -1588,7 +1593,7 @@ public void patchReplaceStartDateBadRequestTest() throws Exception { String wrongStartDate = ""; SimpleDateFormat formatDate = new SimpleDateFormat("yyyy-MM-dd"); - List ops = new ArrayList(); + List ops = new ArrayList<>(); ReplaceOperation replaceOperation = new ReplaceOperation("/startDate", wrongStartDate); ops.add(replaceOperation); String patchBody = getPatchContent(ops); @@ -1643,7 +1648,7 @@ public void patchReplaceStartDateUnAuthenticatedTest() throws Exception { Date newDate = calendar2.getTime(); - List ops = new ArrayList(); + List ops = new ArrayList<>(); ReplaceOperation replaceOperation = new ReplaceOperation("/startDate", formatDate.format(newDate)); ops.add(replaceOperation); String patchBody = getPatchContent(ops); @@ -1690,7 +1695,8 @@ public void patchReplaceStartDateForbiddenTest() throws Exception { ResourcePolicy resourcePolicy = ResourcePolicyBuilder.createResourcePolicy(context) .withAction(Constants.READ) .withDspaceObject(item) - .withGroup(EPersonServiceFactory.getInstance().getGroupService().findByName(context, Group.ANONYMOUS)) + .withGroup(EPersonServiceFactory.getInstance().getGroupService() + .findByName(context.getSession(), Group.ANONYMOUS)) .withStartDate(date) .withPolicyType(ResourcePolicy.TYPE_CUSTOM) .build(); @@ -1706,7 +1712,7 @@ public void patchReplaceStartDateForbiddenTest() throws Exception { Date newData = calendar2.getTime(); - List ops = new ArrayList(); + List ops = new ArrayList<>(); ReplaceOperation replaceOperation = new ReplaceOperation("/startDate", formatDate.format(newData)); ops.add(replaceOperation); String patchBody = getPatchContent(ops); @@ -1746,7 +1752,7 @@ public void patchReplaceStartDateNotFoundTest() throws Exception { Date newData = calendar2.getTime(); - List ops = new ArrayList(); + List ops = new ArrayList<>(); ReplaceOperation replaceOperation = new ReplaceOperation("/startDate", formatDate.format(newData)); ops.add(replaceOperation); String patchBody = getPatchContent(ops); @@ -1813,7 +1819,7 @@ public void patchReplaceEndDateBeforeStartDateTest() throws Exception { Date newEndDate = newEndDateCalendar.getTime(); - List ops = new ArrayList(); + List ops = new ArrayList<>(); ReplaceOperation replaceOperation = new ReplaceOperation("/endDate", formatDate.format(newEndDate)); ops.add(replaceOperation); String patchBody = getPatchContent(ops); @@ -1854,7 +1860,8 @@ public void patchReplaceDescriptionTest() throws Exception { ResourcePolicy resourcePolicy = ResourcePolicyBuilder.createResourcePolicy(context) .withAction(Constants.READ) .withDspaceObject(publicItem1) - .withGroup(EPersonServiceFactory.getInstance().getGroupService().findByName(context, Group.ANONYMOUS)) + .withGroup(EPersonServiceFactory.getInstance().getGroupService() + .findByName(context.getSession(), Group.ANONYMOUS)) .withDescription("my description") .withPolicyType(ResourcePolicy.TYPE_CUSTOM) .build(); @@ -1862,7 +1869,7 @@ public void patchReplaceDescriptionTest() throws Exception { context.restoreAuthSystemState(); String newDescription = "New Description"; - List ops = new ArrayList(); + List ops = new ArrayList<>(); ReplaceOperation replaceOperation = new ReplaceOperation("/description", newDescription); ops.add(replaceOperation); String patchBody = getPatchContent(ops); @@ -1906,14 +1913,15 @@ public void patchAddDescriptionTest() throws Exception { ResourcePolicy resourcePolicy = ResourcePolicyBuilder.createResourcePolicy(context) .withAction(Constants.READ) .withDspaceObject(item) - .withGroup(EPersonServiceFactory.getInstance().getGroupService().findByName(context, Group.ANONYMOUS)) + .withGroup(EPersonServiceFactory.getInstance().getGroupService() + .findByName(context.getSession(), Group.ANONYMOUS)) .withPolicyType(ResourcePolicy.TYPE_CUSTOM) .build(); context.restoreAuthSystemState(); String description = "My Description"; - List ops = new ArrayList(); + List ops = new ArrayList<>(); AddOperation replaceOperation = new AddOperation("/description", description); ops.add(replaceOperation); String patchBody = getPatchContent(ops); @@ -1958,13 +1966,14 @@ public void patchRemoveDescriptionTest() throws Exception { .withAction(Constants.READ) .withDspaceObject(item) .withDescription("my description") - .withGroup(EPersonServiceFactory.getInstance().getGroupService().findByName(context, Group.ANONYMOUS)) + .withGroup(EPersonServiceFactory.getInstance().getGroupService() + .findByName(context.getSession(), Group.ANONYMOUS)) .withPolicyType(ResourcePolicy.TYPE_CUSTOM) .build(); context.restoreAuthSystemState(); - List ops = new ArrayList(); + List ops = new ArrayList<>(); RemoveOperation replaceOperation = new RemoveOperation("/description"); ops.add(replaceOperation); String patchBody = getPatchContent(ops); @@ -2007,7 +2016,7 @@ public void patchReplaceDescriptionUnAuthenticatedTest() throws Exception { String newDescription = "New Description"; - List ops = new ArrayList(); + List ops = new ArrayList<>(); ReplaceOperation replaceOperation = new ReplaceOperation("/description", newDescription); ops.add(replaceOperation); String patchBody = getPatchContent(ops); @@ -2045,7 +2054,8 @@ public void patchReplaceDescriptionForbiddenTest() throws Exception { ResourcePolicy resourcePolicy = ResourcePolicyBuilder.createResourcePolicy(context) .withAction(Constants.READ) .withDspaceObject(item) - .withGroup(EPersonServiceFactory.getInstance().getGroupService().findByName(context, Group.ANONYMOUS)) + .withGroup(EPersonServiceFactory.getInstance().getGroupService() + .findByName(context.getSession(), Group.ANONYMOUS)) .withDescription("My Description") .withPolicyType(ResourcePolicy.TYPE_CUSTOM) .build(); @@ -2053,7 +2063,7 @@ public void patchReplaceDescriptionForbiddenTest() throws Exception { context.restoreAuthSystemState(); String newDescription = "New Description"; - List ops = new ArrayList(); + List ops = new ArrayList<>(); ReplaceOperation replaceOperation = new ReplaceOperation("/description", newDescription); ops.add(replaceOperation); String patchBody = getPatchContent(ops); @@ -2067,7 +2077,7 @@ public void patchReplaceDescriptionForbiddenTest() throws Exception { @Test public void patchRemoveDescriptionNotFoundTest() throws Exception { - List ops = new ArrayList(); + List ops = new ArrayList<>(); RemoveOperation removeOperation = new RemoveOperation("/description"); ops.add(removeOperation); String patchBody = getPatchContent(ops); @@ -2101,7 +2111,8 @@ public void patchReplaceDescriptionBadRequestTest() throws Exception { ResourcePolicy resourcePolicy = ResourcePolicyBuilder.createResourcePolicy(context) .withAction(Constants.READ) .withDspaceObject(publicItem1) - .withGroup(EPersonServiceFactory.getInstance().getGroupService().findByName(context, Group.ANONYMOUS)) + .withGroup(EPersonServiceFactory.getInstance().getGroupService() + .findByName(context.getSession(), Group.ANONYMOUS)) .withDescription("my description") .withPolicyType(ResourcePolicy.TYPE_CUSTOM) .build(); @@ -2109,7 +2120,7 @@ public void patchReplaceDescriptionBadRequestTest() throws Exception { context.restoreAuthSystemState(); String newDescription = ""; - List ops = new ArrayList(); + List ops = new ArrayList<>(); ReplaceOperation replaceOperation = new ReplaceOperation("/description", newDescription); ops.add(replaceOperation); String patchBody = getPatchContent(ops); @@ -2149,7 +2160,8 @@ public void patchReplaceNameTest() throws Exception { ResourcePolicy resourcePolicy = ResourcePolicyBuilder.createResourcePolicy(context) .withAction(Constants.READ) .withDspaceObject(myItem) - .withGroup(EPersonServiceFactory.getInstance().getGroupService().findByName(context, Group.ANONYMOUS)) + .withGroup(EPersonServiceFactory.getInstance().getGroupService() + .findByName(context.getSession(), Group.ANONYMOUS)) .withName("My name") .withPolicyType(ResourcePolicy.TYPE_CUSTOM) .build(); @@ -2157,7 +2169,7 @@ public void patchReplaceNameTest() throws Exception { context.restoreAuthSystemState(); String newName = "New Name"; - List ops = new ArrayList(); + List ops = new ArrayList<>(); ReplaceOperation replaceOperation = new ReplaceOperation("/name", newName); ops.add(replaceOperation); String patchBody = getPatchContent(ops); @@ -2200,7 +2212,8 @@ public void patchReplaceNameBadRequestTest() throws Exception { ResourcePolicy resourcePolicy = ResourcePolicyBuilder.createResourcePolicy(context) .withAction(Constants.READ) .withDspaceObject(myItem) - .withGroup(EPersonServiceFactory.getInstance().getGroupService().findByName(context, Group.ANONYMOUS)) + .withGroup(EPersonServiceFactory.getInstance().getGroupService() + .findByName(context.getSession(), Group.ANONYMOUS)) .withName("My name") .withPolicyType(ResourcePolicy.TYPE_CUSTOM) .build(); @@ -2208,7 +2221,7 @@ public void patchReplaceNameBadRequestTest() throws Exception { context.restoreAuthSystemState(); String errorName = ""; - List ops = new ArrayList(); + List ops = new ArrayList<>(); ReplaceOperation replaceOperation = new ReplaceOperation("/name", errorName); ops.add(replaceOperation); String patchBody = getPatchContent(ops); @@ -2248,14 +2261,15 @@ public void patchAddNameTest() throws Exception { ResourcePolicy resourcePolicy = ResourcePolicyBuilder.createResourcePolicy(context) .withAction(Constants.READ) .withDspaceObject(myItem) - .withGroup(EPersonServiceFactory.getInstance().getGroupService().findByName(context, Group.ANONYMOUS)) + .withGroup(EPersonServiceFactory.getInstance().getGroupService() + .findByName(context.getSession(), Group.ANONYMOUS)) .withPolicyType(ResourcePolicy.TYPE_CUSTOM) .build(); context.restoreAuthSystemState(); String name = "My Name"; - List ops = new ArrayList(); + List ops = new ArrayList<>(); AddOperation replaceOperation = new AddOperation("/name", name); ops.add(replaceOperation); String patchBody = getPatchContent(ops); @@ -2301,7 +2315,7 @@ public void patchAddActionTest() throws Exception { //Patch with a write action String action = Constants.actionText[1]; - List ops = new ArrayList(); + List ops = new ArrayList<>(); AddOperation addOperation = new AddOperation("/action", action); ops.add(addOperation); String patchBody = getPatchContent(ops); @@ -2732,7 +2746,7 @@ public void patchReplacePolicyTypeBadRequestTest() throws Exception { context.restoreAuthSystemState(); String newPolicyType = ""; - List ops = new ArrayList(); + List ops = new ArrayList<>(); ReplaceOperation replaceOperation = new ReplaceOperation("/policyType", newPolicyType); ops.add(replaceOperation); String patchBody = getPatchContent(ops); @@ -2767,14 +2781,15 @@ public void patchAddNameBadRequestTest() throws Exception { .withAction(Constants.READ) .withDspaceObject(myItem) .withName("My name") - .withGroup(EPersonServiceFactory.getInstance().getGroupService().findByName(context, Group.ANONYMOUS)) + .withGroup(EPersonServiceFactory.getInstance().getGroupService() + .findByName(context.getSession(), Group.ANONYMOUS)) .withPolicyType(ResourcePolicy.TYPE_CUSTOM) .build(); context.restoreAuthSystemState(); String name = "Add Name"; - List ops = new ArrayList(); + List ops = new ArrayList<>(); AddOperation replaceOperation = new AddOperation("/name", name); ops.add(replaceOperation); String patchBody = getPatchContent(ops); @@ -2814,14 +2829,15 @@ public void patchRemoveNameTest() throws Exception { ResourcePolicy resourcePolicy = ResourcePolicyBuilder.createResourcePolicy(context) .withAction(Constants.READ) .withDspaceObject(myItem) - .withGroup(EPersonServiceFactory.getInstance().getGroupService().findByName(context, Group.ANONYMOUS)) + .withGroup(EPersonServiceFactory.getInstance().getGroupService() + .findByName(context.getSession(), Group.ANONYMOUS)) .withName("My Name") .withPolicyType(ResourcePolicy.TYPE_CUSTOM) .build(); context.restoreAuthSystemState(); - List ops = new ArrayList(); + List ops = new ArrayList<>(); RemoveOperation replaceOperation = new RemoveOperation("/name"); ops.add(replaceOperation); String patchBody = getPatchContent(ops); @@ -2863,14 +2879,15 @@ public void patchRemoveNameForbiddenTest() throws Exception { ResourcePolicy resourcePolicy = ResourcePolicyBuilder.createResourcePolicy(context) .withAction(Constants.READ) .withDspaceObject(myItem) - .withGroup(EPersonServiceFactory.getInstance().getGroupService().findByName(context, Group.ANONYMOUS)) + .withGroup(EPersonServiceFactory.getInstance().getGroupService() + .findByName(context.getSession(), Group.ANONYMOUS)) .withName("My Name") .withPolicyType(ResourcePolicy.TYPE_CUSTOM) .build(); context.restoreAuthSystemState(); - List ops = new ArrayList(); + List ops = new ArrayList<>(); RemoveOperation replaceOperation = new RemoveOperation("/name"); ops.add(replaceOperation); String patchBody = getPatchContent(ops); @@ -2928,13 +2945,14 @@ public void patchSuccessfulMultipleOperationsTest() throws Exception { .withDspaceObject(publicItem1) .withStartDate(startDate) .withEndDate(endDate) - .withGroup(EPersonServiceFactory.getInstance().getGroupService().findByName(context, Group.ANONYMOUS)) + .withGroup(EPersonServiceFactory.getInstance().getGroupService() + .findByName(context.getSession(), Group.ANONYMOUS)) .withPolicyType(ResourcePolicy.TYPE_CUSTOM) .build(); context.restoreAuthSystemState(); - List ops = new ArrayList(); + List ops = new ArrayList<>(); String addName = "My Name"; AddOperation addNameOperation = new AddOperation("/name", addName); @@ -3018,13 +3036,14 @@ public void patchWithMultipleOperationsFailTest() throws Exception { .withDspaceObject(publicItem1) .withName("My Name") .withEndDate(endDate) - .withGroup(EPersonServiceFactory.getInstance().getGroupService().findByName(context, Group.ANONYMOUS)) + .withGroup(EPersonServiceFactory.getInstance().getGroupService() + .findByName(context.getSession(), Group.ANONYMOUS)) .withPolicyType(ResourcePolicy.TYPE_CUSTOM) .build(); context.restoreAuthSystemState(); - List ops = new ArrayList(); + List ops = new ArrayList<>(); String newName = "New Name"; ReplaceOperation replaceNameOperation = new ReplaceOperation("/name", newName); diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/WorkspaceItemRestRepositoryIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/WorkspaceItemRestRepositoryIT.java index 8b2f3f093a37..043e8f478c2d 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/WorkspaceItemRestRepositoryIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/WorkspaceItemRestRepositoryIT.java @@ -143,7 +143,8 @@ public void setUp() throws Exception { .withParent(embargoedGroups) .build(); - anonymousGroup = EPersonServiceFactory.getInstance().getGroupService().findByName(context, Group.ANONYMOUS); + anonymousGroup = EPersonServiceFactory.getInstance().getGroupService() + .findByName(context.getSession(), Group.ANONYMOUS); context.restoreAuthSystemState(); } @@ -5995,7 +5996,7 @@ public void patchUploadAddMultiAccessConditionTest() throws Exception { // create a list of values to use in add operation List addAccessCondition = new ArrayList<>(); - List> values = new ArrayList>(); + List> values = new ArrayList<>(); Map value = new HashMap<>(); value.put("name", "openaccess"); @@ -6094,7 +6095,7 @@ public void patchUploadAddAdminRPInstallAndVerifyOnlyAdminCanView() throws Excep .andExpect(status().isOk()); Bitstream bitstream = wItem.getItem().getBundles().get(0).getBitstreams().get(0); - Group adminGroup = groupService.findByName(context, Group.ADMIN); + Group adminGroup = groupService.findByName(context.getSession(), Group.ADMIN); // verify that bitstream of workspace item has this admin RP getClient(adminToken).perform(get("/api/authz/resourcepolicies/search/resource") @@ -6112,7 +6113,7 @@ public void patchUploadAddAdminRPInstallAndVerifyOnlyAdminCanView() throws Excep .contentType(textUriContentType)) .andExpect(status().isCreated()); - Group anonGroup = groupService.findByName(context, Group.ANONYMOUS); + Group anonGroup = groupService.findByName(context.getSession(), Group.ANONYMOUS); // verify that bitstream of workspace item still has this admin RP and no Anon READ inherited policy getClient(adminToken).perform(get("/api/authz/resourcepolicies/search/resource") @@ -6240,7 +6241,7 @@ public void patchUploadAddAdminThenOpenAccessRPInstallAndVerifyAnonCanView() thr .andExpect(status().isOk()); Bitstream bitstream = wItem.getItem().getBundles().get(0).getBitstreams().get(0); - Group adminGroup = groupService.findByName(context, Group.ADMIN); + Group adminGroup = groupService.findByName(context.getSession(), Group.ADMIN); // verify that bitstream of workspace item has this admin RP getClient(adminToken).perform(get("/api/authz/resourcepolicies/search/resource") @@ -6328,7 +6329,7 @@ public void patchUploadAddAdminRPInstallAndVerifyOnlyAdminCanViewInAppendModeTes .andExpect(status().isOk()); Bitstream bitstream = wItem.getItem().getBundles().get(0).getBitstreams().get(0); - Group adminGroup = groupService.findByName(context, Group.ADMIN); + Group adminGroup = groupService.findByName(context.getSession(), Group.ADMIN); // verify that bitstream of workspace item has this admin RP getClient(adminToken).perform(get("/api/authz/resourcepolicies/search/resource") @@ -6344,7 +6345,7 @@ public void patchUploadAddAdminRPInstallAndVerifyOnlyAdminCanViewInAppendModeTes .contentType(textUriContentType)) .andExpect(status().isCreated()); - Group anonGroup = groupService.findByName(context, Group.ANONYMOUS); + Group anonGroup = groupService.findByName(context.getSession(), Group.ANONYMOUS); // verify that bitstream of workspace item still has this admin RP and no Anon READ inherited policy getClient(adminToken).perform(get("/api/authz/resourcepolicies/search/resource") @@ -6467,7 +6468,7 @@ public void patchUploadAddAdminThenOpenAccessRPInstallAndVerifyAnonCanViewInAppe .andExpect(status().isOk()); Bitstream bitstream = wItem.getItem().getBundles().get(0).getBitstreams().get(0); - Group adminGroup = groupService.findByName(context, Group.ADMIN); + Group adminGroup = groupService.findByName(context.getSession(), Group.ADMIN); // verify that bitstream of workspace item has this admin RP getClient(adminToken).perform(get("/api/authz/resourcepolicies/search/resource") @@ -6551,7 +6552,7 @@ public void patchUploadAddAdminmistratorRPAndVerifyCustomGroupCanViewInAppendMod .andExpect(status().isOk()); Bitstream bitstream = wItem.getItem().getBundles().get(0).getBitstreams().get(0); - Group adminGroup = groupService.findByName(context, Group.ADMIN); + Group adminGroup = groupService.findByName(context.getSession(), Group.ADMIN); // verify that bitstream of workspace item has this admin RP getClient(adminToken).perform(get("/api/authz/resourcepolicies/search/resource") @@ -6616,7 +6617,7 @@ public void patchUploadAddAdminmistratorRPAndVerifyCustomGroupCannotViewTest() t .andExpect(status().isOk()); Bitstream bitstream = wItem.getItem().getBundles().get(0).getBitstreams().get(0); - Group adminGroup = groupService.findByName(context, Group.ADMIN); + Group adminGroup = groupService.findByName(context.getSession(), Group.ADMIN); // verify that bitstream of workspace item has this admin RP getClient(adminToken).perform(get("/api/authz/resourcepolicies/search/resource") @@ -7748,9 +7749,9 @@ public void verifyCorrectInheritanceOfAccessConditionTest() throws Exception { context.turnOffAuthorisationSystem(); Group anonymousGroup = EPersonServiceFactory.getInstance().getGroupService() - .findByName(context, Group.ANONYMOUS); + .findByName(context.getSession(), Group.ANONYMOUS); Group adminGroup = EPersonServiceFactory.getInstance().getGroupService() - .findByName(context, Group.ADMIN); + .findByName(context.getSession(), Group.ADMIN); Community community = CommunityBuilder.createCommunity(context) .withName("Com") @@ -7979,7 +7980,7 @@ public void verifyBitstreamPolicyNotDuplicatedTest() throws Exception { context.restoreAuthSystemState(); String adminToken = getAuthToken(admin.getEmail(), password); - Group anonymousGroup = groupService.findByName(context, Group.ANONYMOUS); + Group anonymousGroup = groupService.findByName(context.getSession(), Group.ANONYMOUS); // Create access condition Map accessCondition = new HashMap<>(); @@ -8038,7 +8039,7 @@ public void verifyUnexistingBitstreamPolicyIsDeniedTest() throws Exception { context.restoreAuthSystemState(); String adminToken = getAuthToken(admin.getEmail(), password); - Group anonymousGroup = groupService.findByName(context, Group.ANONYMOUS); + Group anonymousGroup = groupService.findByName(context.getSession(), Group.ANONYMOUS); // Create unexisting access condition Map accessCondition = new HashMap<>(); @@ -8082,7 +8083,7 @@ public void verifyUnconfiguredBitstreamPolicyIsDeniedTest() throws Exception { context.restoreAuthSystemState(); String adminToken = getAuthToken(admin.getEmail(), password); - Group anonymousGroup = groupService.findByName(context, Group.ANONYMOUS); + Group anonymousGroup = groupService.findByName(context.getSession(), Group.ANONYMOUS); // Access condition exists but it is not configured in access-conditions.xml Map accessCondition = new HashMap<>(); diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/AdministratorFeatureIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/AdministratorFeatureIT.java index 6124e2cac7c8..120177981537 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/AdministratorFeatureIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/AdministratorFeatureIT.java @@ -47,7 +47,7 @@ /** * Test suite for the administrator feature - * + * * @author Mykhaylo Boychuk (mykhaylo.boychuk at 4science.it) * */ @@ -88,7 +88,7 @@ public class AdministratorFeatureIT extends AbstractControllerIntegrationTest { private Item itemInCollectionB; - /** + /** * this hold a reference to the test feature {@link AdministratorOfFeature} */ private AuthorizationFeature administratorFeature; @@ -312,7 +312,7 @@ public void collectionWithAdministratorFeatureTest() throws Exception { @Test public void siteWithAdministratorFeatureTest() throws Exception { - Site site = siteService.findSite(context); + Site site = siteService.findSite(context.getSession()); SiteRest siteRest = siteConverter.convert(site, DefaultProjection.DEFAULT); // tokens diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/CanCreateCollectionsIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/CanCreateCollectionsIT.java index 97aa7c5c2f8e..9e0798a6727d 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/CanCreateCollectionsIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/CanCreateCollectionsIT.java @@ -101,7 +101,7 @@ public void canCreateCollectionsOnCommunityAsAdminTest() throws Exception { @Test public void canCreateCollectionsOnSiteAsAdminTest() throws Exception { String token = getAuthToken(admin.getEmail(), password); - Site site = siteService.findSite(context); + Site site = siteService.findSite(context.getSession()); SiteRest siteRest = siteConverter.convert(site, DefaultProjection.DEFAULT); String siteUri = utils.linkToSingleResource(siteRest, "self").getHref(); @@ -145,7 +145,7 @@ public void canCreateCollectionsOnCommunityAsAnonymousTest() throws Exception { @Test public void canCreateCollectionsOnSiteAsAnonymousTest() throws Exception { - Site site = siteService.findSite(context); + Site site = siteService.findSite(context.getSession()); SiteRest siteRest = siteConverter.convert(site, DefaultProjection.DEFAULT); String siteUri = utils.linkToSingleResource(siteRest, "self").getHref(); @@ -192,7 +192,7 @@ public void canCreateCollectionsOnCommunityAsEPersonWithoutRightsTest() throws E public void canCreateCollectionsOnSiteAsEPersonWithoutRightsTest() throws Exception { authorizeService.addPolicy(context, communityB, Constants.ADMIN, eperson); String token = getAuthToken(eperson.getEmail(), password); - Site site = siteService.findSite(context); + Site site = siteService.findSite(context.getSession()); SiteRest siteRest = siteConverter.convert(site, DefaultProjection.DEFAULT); String siteUri = utils.linkToSingleResource(siteRest, "self").getHref(); diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/CanCreateCommunitiesIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/CanCreateCommunitiesIT.java index 84756b3116c6..96a1da07b666 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/CanCreateCommunitiesIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/CanCreateCommunitiesIT.java @@ -99,7 +99,7 @@ public void canCreateCommunitiesOnCommunityAsAdminTest() throws Exception { @Test public void canCreateCommunitiesOnSiteAsAdminTest() throws Exception { String token = getAuthToken(admin.getEmail(), password); - Site site = siteService.findSite(context); + Site site = siteService.findSite(context.getSession()); SiteRest siteRest = siteConverter.convert(site, DefaultProjection.DEFAULT); String siteUri = utils.linkToSingleResource(siteRest, "self").getHref(); @@ -143,7 +143,7 @@ public void canCreateCommunitiesOnCommunityAsAnonymousTest() throws Exception { @Test public void canCreateCommunitiesOnSiteAsAnonymousTest() throws Exception { - Site site = siteService.findSite(context); + Site site = siteService.findSite(context.getSession()); SiteRest siteRest = siteConverter.convert(site, DefaultProjection.DEFAULT); String siteUri = utils.linkToSingleResource(siteRest, "self").getHref(); @@ -190,7 +190,7 @@ public void canCreateCommunitiesOnCommunityAsEPersonWithoutRightsTest() throws E public void canCreateCommunitiesOnSiteAsEPersonWithoutRightsTest() throws Exception { authorizeService.addPolicy(context, communityB, Constants.ADMIN, eperson); String token = getAuthToken(eperson.getEmail(), password); - Site site = siteService.findSite(context); + Site site = siteService.findSite(context.getSession()); SiteRest siteRest = siteConverter.convert(site, DefaultProjection.DEFAULT); String siteUri = utils.linkToSingleResource(siteRest, "self").getHref(); diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/CanSendFeedbackFeatureIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/CanSendFeedbackFeatureIT.java index b4b9ab39c39b..8ac41e523dbe 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/CanSendFeedbackFeatureIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/CanSendFeedbackFeatureIT.java @@ -26,7 +26,7 @@ /** * Test for the canSendFeedback authorization feature. - * + * * @author Mykhaylo Boychuk (mykhaylo.boychuk at 4science.com) */ public class CanSendFeedbackFeatureIT extends AbstractControllerIntegrationTest { @@ -55,7 +55,7 @@ public void setUp() throws Exception { public void canSendFeedbackFeatureTest() throws Exception { configurationService.setProperty("feedback.recipient", "myemail@test.com"); - Site site = siteService.findSite(context); + Site site = siteService.findSite(context.getSession()); SiteRest siteRest = siteConverter.convert(site, DefaultProjection.DEFAULT); String tokenAdmin = getAuthToken(admin.getEmail(), password); @@ -86,7 +86,7 @@ public void canSendFeedbackFeatureTest() throws Exception { public void canSendFeedbackFeatureWithRecipientEmailNotConfiguredTest() throws Exception { configurationService.setProperty("feedback.recipient", null); - Site site = siteService.findSite(context); + Site site = siteService.findSite(context.getSession()); SiteRest siteRest = siteConverter.convert(site, DefaultProjection.DEFAULT); String tokenAdmin = getAuthToken(admin.getEmail(), password); diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/CollectionAdminFeatureIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/CollectionAdminFeatureIT.java index 15539d2a9d33..22c9b99e5f18 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/CollectionAdminFeatureIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/CollectionAdminFeatureIT.java @@ -103,7 +103,7 @@ public void testAdmin() throws Exception { // Verify the general admin has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='isCollectionAdmin')]") @@ -116,7 +116,7 @@ public void testCommunityAdmin() throws Exception { // Verify the community admin has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='isCollectionAdmin')]") @@ -129,7 +129,7 @@ public void testSubCommunityAdmin() throws Exception { // Verify the subcommunity admin has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='isCollectionAdmin')]") @@ -142,7 +142,7 @@ public void testCollectionAdmin() throws Exception { // Verify the collection admin has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='isCollectionAdmin')]") @@ -155,7 +155,7 @@ public void testSubmitter() throws Exception { // Verify a submitter doesn't have this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='isCollectionAdmin')]") @@ -167,7 +167,7 @@ public void testSubGroupOfAdminGroup() throws Exception { context.turnOffAuthorisationSystem(); GroupBuilder.createGroup(context) .withName("userGroup") - .withParent(groupService.findByName(context, Group.ADMIN)) + .withParent(groupService.findByName(context.getSession(), Group.ADMIN)) .addMember(eperson) .build(); context.restoreAuthSystemState(); @@ -176,7 +176,7 @@ public void testSubGroupOfAdminGroup() throws Exception { // Verify an ePerson in a subgroup of the site administrators has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='isCollectionAdmin')]") @@ -188,7 +188,8 @@ public void testSubGroupOfCommunityAdminGroup() throws Exception { context.turnOffAuthorisationSystem(); GroupBuilder.createGroup(context) .withName("userGroup") - .withParent(groupService.findByName(context, "COMMUNITY_" + topLevelCommunityA.getID() + "_ADMIN")) + .withParent(groupService.findByName(context.getSession(), + "COMMUNITY_" + topLevelCommunityA.getID() + "_ADMIN")) .addMember(eperson) .build(); context.restoreAuthSystemState(); @@ -197,7 +198,7 @@ public void testSubGroupOfCommunityAdminGroup() throws Exception { // Verify an ePerson in a subgroup of a community admin group has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='isCollectionAdmin')]") @@ -209,7 +210,8 @@ public void testSubGroupOfSubCommunityAdminGroup() throws Exception { context.turnOffAuthorisationSystem(); GroupBuilder.createGroup(context) .withName("userGroup") - .withParent(groupService.findByName(context, "COMMUNITY_" + subCommunityA.getID() + "_ADMIN")) + .withParent(groupService.findByName(context.getSession(), + "COMMUNITY_" + subCommunityA.getID() + "_ADMIN")) .addMember(eperson) .build(); context.restoreAuthSystemState(); @@ -218,7 +220,7 @@ public void testSubGroupOfSubCommunityAdminGroup() throws Exception { // Verify an ePerson in a subgroup of a subcommunity admin group has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='isCollectionAdmin')]") @@ -230,7 +232,8 @@ public void testSubGroupOfCollectionAdminGroup() throws Exception { context.turnOffAuthorisationSystem(); GroupBuilder.createGroup(context) .withName("userGroup") - .withParent(groupService.findByName(context, "COLLECTION_" + collectionA.getID() + "_ADMIN")) + .withParent(groupService.findByName(context.getSession(), + "COLLECTION_" + collectionA.getID() + "_ADMIN")) .addMember(eperson) .build(); context.restoreAuthSystemState(); @@ -239,7 +242,7 @@ public void testSubGroupOfCollectionAdminGroup() throws Exception { // Verify an ePerson in a subgroup of a collection admin group has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='isCollectionAdmin')]") @@ -251,7 +254,8 @@ public void testSubGroupOfSubmitterGroup() throws Exception { context.turnOffAuthorisationSystem(); GroupBuilder.createGroup(context) .withName("userGroup") - .withParent(groupService.findByName(context, "COLLECTION_" + collectionA.getID() + "_SUBMIT")) + .withParent(groupService.findByName(context.getSession(), + "COLLECTION_" + collectionA.getID() + "_SUBMIT")) .addMember(eperson) .build(); context.restoreAuthSystemState(); @@ -260,7 +264,7 @@ public void testSubGroupOfSubmitterGroup() throws Exception { // Verify an ePerson in a subgroup of submitter group doesn't have this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='isCollectionAdmin')]") @@ -272,7 +276,7 @@ public void testSubSubGroupOfAdminGroup() throws Exception { context.turnOffAuthorisationSystem(); Group groupB = GroupBuilder.createGroup(context) .withName("GroupB") - .withParent(groupService.findByName(context, Group.ADMIN)) + .withParent(groupService.findByName(context.getSession(), Group.ADMIN)) .build(); GroupBuilder.createGroup(context) .withName("GroupA") @@ -285,7 +289,7 @@ public void testSubSubGroupOfAdminGroup() throws Exception { // Verify an ePerson in a sub-subgroup of the site administrators has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='isCollectionAdmin')]") @@ -297,7 +301,8 @@ public void testSubSubGroupOfCommunityAdminGroup() throws Exception { context.turnOffAuthorisationSystem(); Group groupB = GroupBuilder.createGroup(context) .withName("GroupB") - .withParent(groupService.findByName(context, "COMMUNITY_" + topLevelCommunityA.getID() + "_ADMIN")) + .withParent(groupService.findByName(context.getSession(), + "COMMUNITY_" + topLevelCommunityA.getID() + "_ADMIN")) .build(); GroupBuilder.createGroup(context) .withName("GroupA") @@ -310,7 +315,7 @@ public void testSubSubGroupOfCommunityAdminGroup() throws Exception { // Verify an ePerson in a sub-subgroup of a community admin group has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='isCollectionAdmin')]") @@ -322,7 +327,8 @@ public void testSubSubGroupOfSubCommunityAdminGroup() throws Exception { context.turnOffAuthorisationSystem(); Group groupB = GroupBuilder.createGroup(context) .withName("GroupB") - .withParent(groupService.findByName(context, "COMMUNITY_" + subCommunityA.getID() + "_ADMIN")) + .withParent(groupService.findByName(context.getSession(), + "COMMUNITY_" + subCommunityA.getID() + "_ADMIN")) .build(); GroupBuilder.createGroup(context) .withName("GroupA") @@ -335,7 +341,7 @@ public void testSubSubGroupOfSubCommunityAdminGroup() throws Exception { // Verify an ePerson in a sub-subgroup of a subcommunity admin group has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='isCollectionAdmin')]") @@ -347,7 +353,8 @@ public void testSubSubGroupOfCollectionAdminGroup() throws Exception { context.turnOffAuthorisationSystem(); Group groupB = GroupBuilder.createGroup(context) .withName("GroupB") - .withParent(groupService.findByName(context, "COLLECTION_" + collectionA.getID() + "_ADMIN")) + .withParent(groupService.findByName(context.getSession(), + "COLLECTION_" + collectionA.getID() + "_ADMIN")) .build(); GroupBuilder.createGroup(context) .withName("GroupA") @@ -360,7 +367,7 @@ public void testSubSubGroupOfCollectionAdminGroup() throws Exception { // Verify an ePerson in a sub-subgroup of a collection admin group has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='isCollectionAdmin')]") @@ -372,7 +379,8 @@ public void testSubSubGroupOfSubmitterGroup() throws Exception { context.turnOffAuthorisationSystem(); Group groupB = GroupBuilder.createGroup(context) .withName("GroupB") - .withParent(groupService.findByName(context, "COLLECTION_" + collectionA.getID() + "_SUBMIT")) + .withParent(groupService.findByName(context.getSession(), + "COLLECTION_" + collectionA.getID() + "_SUBMIT")) .build(); GroupBuilder.createGroup(context) .withName("GroupA") @@ -385,7 +393,7 @@ public void testSubSubGroupOfSubmitterGroup() throws Exception { // Verify an ePerson in a sub-subgroup of submitter group doesn't have this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='isCollectionAdmin')]") diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/ComColAdminFeatureIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/ComColAdminFeatureIT.java index df386a0c7985..aa9dedfe9a79 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/ComColAdminFeatureIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/ComColAdminFeatureIT.java @@ -103,7 +103,7 @@ public void testAdmin() throws Exception { // Verify the general admin has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='isComColAdmin')]") @@ -116,7 +116,7 @@ public void testCommunityAdmin() throws Exception { // Verify the community admin has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='isComColAdmin')]") @@ -129,7 +129,7 @@ public void testSubCommunityAdmin() throws Exception { // Verify the subcommunity admin has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='isComColAdmin')]") @@ -142,7 +142,7 @@ public void testCollectionAdmin() throws Exception { // Verify the collection admin has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='isComColAdmin')]") @@ -155,7 +155,7 @@ public void testSubmitter() throws Exception { // Verify a submitter doesn't have this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='isComColAdmin')]") @@ -167,7 +167,7 @@ public void testSubGroupOfAdminGroup() throws Exception { context.turnOffAuthorisationSystem(); GroupBuilder.createGroup(context) .withName("userGroup") - .withParent(groupService.findByName(context, Group.ADMIN)) + .withParent(groupService.findByName(context.getSession(), Group.ADMIN)) .addMember(eperson) .build(); context.restoreAuthSystemState(); @@ -176,7 +176,7 @@ public void testSubGroupOfAdminGroup() throws Exception { // Verify an ePerson in a subgroup of the site administrators has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='isComColAdmin')]") @@ -188,7 +188,8 @@ public void testSubGroupOfCommunityAdminGroup() throws Exception { context.turnOffAuthorisationSystem(); GroupBuilder.createGroup(context) .withName("userGroup") - .withParent(groupService.findByName(context, "COMMUNITY_" + topLevelCommunity.getID() + "_ADMIN")) + .withParent(groupService.findByName(context.getSession(), + "COMMUNITY_" + topLevelCommunity.getID() + "_ADMIN")) .addMember(eperson) .build(); context.restoreAuthSystemState(); @@ -197,7 +198,7 @@ public void testSubGroupOfCommunityAdminGroup() throws Exception { // Verify an ePerson in a subgroup of a community admin group has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='isComColAdmin')]") @@ -209,7 +210,8 @@ public void testSubGroupOfSubCommunityAdminGroup() throws Exception { context.turnOffAuthorisationSystem(); GroupBuilder.createGroup(context) .withName("userGroup") - .withParent(groupService.findByName(context, "COMMUNITY_" + subCommunity.getID() + "_ADMIN")) + .withParent(groupService.findByName(context.getSession(), + "COMMUNITY_" + subCommunity.getID() + "_ADMIN")) .addMember(eperson) .build(); context.restoreAuthSystemState(); @@ -218,7 +220,7 @@ public void testSubGroupOfSubCommunityAdminGroup() throws Exception { // Verify an ePerson in a subgroup of a subcommunity admin group has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='isComColAdmin')]") @@ -230,7 +232,8 @@ public void testSubGroupOfCollectionAdminGroup() throws Exception { context.turnOffAuthorisationSystem(); GroupBuilder.createGroup(context) .withName("userGroup") - .withParent(groupService.findByName(context, "COLLECTION_" + collection.getID() + "_ADMIN")) + .withParent(groupService.findByName(context.getSession(), + "COLLECTION_" + collection.getID() + "_ADMIN")) .addMember(eperson) .build(); context.restoreAuthSystemState(); @@ -239,7 +242,7 @@ public void testSubGroupOfCollectionAdminGroup() throws Exception { // Verify an ePerson in a subgroup of a collection admin group has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='isComColAdmin')]") @@ -251,7 +254,8 @@ public void testSubGroupOfSubmitterGroup() throws Exception { context.turnOffAuthorisationSystem(); GroupBuilder.createGroup(context) .withName("userGroup") - .withParent(groupService.findByName(context, "COLLECTION_" + collection.getID() + "_SUBMIT")) + .withParent(groupService.findByName(context.getSession(), + "COLLECTION_" + collection.getID() + "_SUBMIT")) .addMember(eperson) .build(); context.restoreAuthSystemState(); @@ -260,7 +264,7 @@ public void testSubGroupOfSubmitterGroup() throws Exception { // Verify an ePerson in a subgroup of submitter group doesn't have this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='isComColAdmin')]") @@ -272,7 +276,7 @@ public void testSubSubGroupOfAdminGroup() throws Exception { context.turnOffAuthorisationSystem(); Group groupB = GroupBuilder.createGroup(context) .withName("GroupB") - .withParent(groupService.findByName(context, Group.ADMIN)) + .withParent(groupService.findByName(context.getSession(), Group.ADMIN)) .build(); GroupBuilder.createGroup(context) .withName("GroupA") @@ -285,7 +289,7 @@ public void testSubSubGroupOfAdminGroup() throws Exception { // Verify an ePerson in a sub-subgroup of the site administrators has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='isComColAdmin')]") @@ -297,7 +301,8 @@ public void testSubSubGroupOfCommunityAdminGroup() throws Exception { context.turnOffAuthorisationSystem(); Group groupB = GroupBuilder.createGroup(context) .withName("GroupB") - .withParent(groupService.findByName(context, "COMMUNITY_" + topLevelCommunity.getID() + "_ADMIN")) + .withParent(groupService.findByName(context.getSession(), + "COMMUNITY_" + topLevelCommunity.getID() + "_ADMIN")) .build(); GroupBuilder.createGroup(context) .withName("GroupA") @@ -310,7 +315,7 @@ public void testSubSubGroupOfCommunityAdminGroup() throws Exception { // Verify an ePerson in a sub-subgroup of a community admin group has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='isComColAdmin')]") @@ -322,7 +327,8 @@ public void testSubSubGroupOfSubCommunityAdminGroup() throws Exception { context.turnOffAuthorisationSystem(); Group groupB = GroupBuilder.createGroup(context) .withName("GroupB") - .withParent(groupService.findByName(context, "COMMUNITY_" + subCommunity.getID() + "_ADMIN")) + .withParent(groupService.findByName(context.getSession(), + "COMMUNITY_" + subCommunity.getID() + "_ADMIN")) .build(); GroupBuilder.createGroup(context) .withName("GroupA") @@ -335,7 +341,7 @@ public void testSubSubGroupOfSubCommunityAdminGroup() throws Exception { // Verify an ePerson in a sub-subgroup of a subcommunity admin group has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='isComColAdmin')]") @@ -347,7 +353,8 @@ public void testSubSubGroupOfCollectionAdminGroup() throws Exception { context.turnOffAuthorisationSystem(); Group groupB = GroupBuilder.createGroup(context) .withName("GroupB") - .withParent(groupService.findByName(context, "COLLECTION_" + collection.getID() + "_ADMIN")) + .withParent(groupService.findByName(context.getSession(), + "COLLECTION_" + collection.getID() + "_ADMIN")) .build(); GroupBuilder.createGroup(context) .withName("GroupA") @@ -360,7 +367,7 @@ public void testSubSubGroupOfCollectionAdminGroup() throws Exception { // Verify an ePerson in a sub-subgroup of a collection admin group has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='isComColAdmin')]") @@ -372,7 +379,8 @@ public void testSubSubGroupOfSubmitterGroup() throws Exception { context.turnOffAuthorisationSystem(); Group groupB = GroupBuilder.createGroup(context) .withName("GroupB") - .withParent(groupService.findByName(context, "COLLECTION_" + collection.getID() + "_SUBMIT")) + .withParent(groupService.findByName(context.getSession(), + "COLLECTION_" + collection.getID() + "_SUBMIT")) .build(); GroupBuilder.createGroup(context) .withName("GroupA") @@ -385,7 +393,7 @@ public void testSubSubGroupOfSubmitterGroup() throws Exception { // Verify an ePerson in a sub-subgroup of submitter group doesn't have this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='isComColAdmin')]") diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/CommunityAdminFeatureIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/CommunityAdminFeatureIT.java index 7aabb447e973..2b8eafb219f7 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/CommunityAdminFeatureIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/CommunityAdminFeatureIT.java @@ -103,7 +103,7 @@ public void testAdmin() throws Exception { // Verify the general admin has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='isCommunityAdmin')]") @@ -116,7 +116,7 @@ public void testCommunityAdmin() throws Exception { // Verify the community admin has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='isCommunityAdmin')]") @@ -129,7 +129,7 @@ public void testSubCommunityAdmin() throws Exception { // Verify the subcommunity admin has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='isCommunityAdmin')]") @@ -142,7 +142,7 @@ public void testCollectionAdmin() throws Exception { // Verify the collection admin doesn't have this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='isCommunityAdmin')]") @@ -155,7 +155,7 @@ public void testSubmitter() throws Exception { // Verify a submitter doesn't have this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='isCommunityAdmin')]") @@ -167,7 +167,7 @@ public void testSubGroupOfAdminGroup() throws Exception { context.turnOffAuthorisationSystem(); GroupBuilder.createGroup(context) .withName("userGroup") - .withParent(groupService.findByName(context, Group.ADMIN)) + .withParent(groupService.findByName(context.getSession(), Group.ADMIN)) .addMember(eperson) .build(); context.restoreAuthSystemState(); @@ -176,7 +176,7 @@ public void testSubGroupOfAdminGroup() throws Exception { // Verify an ePerson in a subgroup of the site administrators has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='isCommunityAdmin')]") @@ -188,7 +188,8 @@ public void testSubGroupOfCommunityAdminGroup() throws Exception { context.turnOffAuthorisationSystem(); GroupBuilder.createGroup(context) .withName("userGroup") - .withParent(groupService.findByName(context, "COMMUNITY_" + topLevelCommunityA.getID() + "_ADMIN")) + .withParent(groupService.findByName(context.getSession(), + "COMMUNITY_" + topLevelCommunityA.getID() + "_ADMIN")) .addMember(eperson) .build(); context.restoreAuthSystemState(); @@ -197,7 +198,7 @@ public void testSubGroupOfCommunityAdminGroup() throws Exception { // Verify an ePerson in a subgroup of a community admin group has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='isCommunityAdmin')]") @@ -209,7 +210,8 @@ public void testSubGroupOfSubCommunityAdminGroup() throws Exception { context.turnOffAuthorisationSystem(); GroupBuilder.createGroup(context) .withName("userGroup") - .withParent(groupService.findByName(context, "COMMUNITY_" + subCommunityA.getID() + "_ADMIN")) + .withParent(groupService.findByName(context.getSession(), + "COMMUNITY_" + subCommunityA.getID() + "_ADMIN")) .addMember(eperson) .build(); context.restoreAuthSystemState(); @@ -218,7 +220,7 @@ public void testSubGroupOfSubCommunityAdminGroup() throws Exception { // Verify an ePerson in a subgroup of a subcommunity admin group has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='isCommunityAdmin')]") @@ -230,7 +232,8 @@ public void testSubGroupOfCollectionAdminGroup() throws Exception { context.turnOffAuthorisationSystem(); GroupBuilder.createGroup(context) .withName("userGroup") - .withParent(groupService.findByName(context, "COLLECTION_" + collectionA.getID() + "_ADMIN")) + .withParent(groupService.findByName(context.getSession(), + "COLLECTION_" + collectionA.getID() + "_ADMIN")) .addMember(eperson) .build(); context.restoreAuthSystemState(); @@ -239,7 +242,7 @@ public void testSubGroupOfCollectionAdminGroup() throws Exception { // Verify an ePerson in a subgroup of a collection admin group doesn't have this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='isCommunityAdmin')]") @@ -251,7 +254,8 @@ public void testSubGroupOfSubmitterGroup() throws Exception { context.turnOffAuthorisationSystem(); GroupBuilder.createGroup(context) .withName("userGroup") - .withParent(groupService.findByName(context, "COLLECTION_" + collectionA.getID() + "_SUBMIT")) + .withParent(groupService.findByName(context.getSession(), + "COLLECTION_" + collectionA.getID() + "_SUBMIT")) .addMember(eperson) .build(); context.restoreAuthSystemState(); @@ -260,7 +264,7 @@ public void testSubGroupOfSubmitterGroup() throws Exception { // Verify an ePerson in a subgroup of submitter group doesn't have this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='isCommunityAdmin')]") @@ -272,7 +276,7 @@ public void testSubSubGroupOfAdminGroup() throws Exception { context.turnOffAuthorisationSystem(); Group groupB = GroupBuilder.createGroup(context) .withName("GroupB") - .withParent(groupService.findByName(context, Group.ADMIN)) + .withParent(groupService.findByName(context.getSession(), Group.ADMIN)) .build(); GroupBuilder.createGroup(context) .withName("GroupA") @@ -285,7 +289,7 @@ public void testSubSubGroupOfAdminGroup() throws Exception { // Verify an ePerson in a sub-subgroup of the site administrators has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='isCommunityAdmin')]") @@ -297,7 +301,8 @@ public void testSubSubGroupOfCommunityAdminGroup() throws Exception { context.turnOffAuthorisationSystem(); Group groupB = GroupBuilder.createGroup(context) .withName("GroupB") - .withParent(groupService.findByName(context, "COMMUNITY_" + topLevelCommunityA.getID() + "_ADMIN")) + .withParent(groupService.findByName(context.getSession(), + "COMMUNITY_" + topLevelCommunityA.getID() + "_ADMIN")) .build(); GroupBuilder.createGroup(context) .withName("GroupA") @@ -310,7 +315,7 @@ public void testSubSubGroupOfCommunityAdminGroup() throws Exception { // Verify an ePerson in a sub-subgroup of a community admin group has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='isCommunityAdmin')]") @@ -322,7 +327,8 @@ public void testSubSubGroupOfSubCommunityAdminGroup() throws Exception { context.turnOffAuthorisationSystem(); Group groupB = GroupBuilder.createGroup(context) .withName("GroupB") - .withParent(groupService.findByName(context, "COMMUNITY_" + subCommunityA.getID() + "_ADMIN")) + .withParent(groupService.findByName(context.getSession(), + "COMMUNITY_" + subCommunityA.getID() + "_ADMIN")) .build(); GroupBuilder.createGroup(context) .withName("GroupA") @@ -335,7 +341,7 @@ public void testSubSubGroupOfSubCommunityAdminGroup() throws Exception { // Verify an ePerson in a sub-subgroup of a subcommunity admin group has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='isCommunityAdmin')]") @@ -347,7 +353,8 @@ public void testSubSubGroupOfCollectionAdminGroup() throws Exception { context.turnOffAuthorisationSystem(); Group groupB = GroupBuilder.createGroup(context) .withName("GroupB") - .withParent(groupService.findByName(context, "COLLECTION_" + collectionA.getID() + "_ADMIN")) + .withParent(groupService.findByName(context.getSession(), + "COLLECTION_" + collectionA.getID() + "_ADMIN")) .build(); GroupBuilder.createGroup(context) .withName("GroupA") @@ -360,7 +367,7 @@ public void testSubSubGroupOfCollectionAdminGroup() throws Exception { // Verify an ePerson in a sub-subgroup of a collection admin group doesn't have this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='isCommunityAdmin')]") @@ -372,7 +379,8 @@ public void testSubSubGroupOfSubmitterGroup() throws Exception { context.turnOffAuthorisationSystem(); Group groupB = GroupBuilder.createGroup(context) .withName("GroupB") - .withParent(groupService.findByName(context, "COLLECTION_" + collectionA.getID() + "_SUBMIT")) + .withParent(groupService.findByName(context.getSession(), + "COLLECTION_" + collectionA.getID() + "_SUBMIT")) .build(); GroupBuilder.createGroup(context) .withName("GroupA") @@ -385,7 +393,7 @@ public void testSubSubGroupOfSubmitterGroup() throws Exception { // Verify an ePerson in a sub-subgroup of submitter group doesn't have this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='isCommunityAdmin')]") diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/EPersonRegistrationFeatureIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/EPersonRegistrationFeatureIT.java index 6372324630e2..3600bd3d09cf 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/EPersonRegistrationFeatureIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/EPersonRegistrationFeatureIT.java @@ -61,7 +61,7 @@ public void setUp() throws Exception { @Test public void userRegistrationEnabledSuccessTest() throws Exception { - Site site = siteService.findSite(context); + Site site = siteService.findSite(context.getSession()); SiteRest SiteRest = siteConverter.convert(site, Projection.DEFAULT); String siteUri = utils.linkToSingleResource(SiteRest, "self").getHref(); @@ -76,7 +76,7 @@ public void userRegistrationEnabledSuccessTest() throws Exception { @Test public void userRegistrationDisabledUnAuthorizedTest() throws Exception { - Site site = siteService.findSite(context); + Site site = siteService.findSite(context.getSession()); SiteRest SiteRest = siteConverter.convert(site, Projection.DEFAULT); String siteUri = utils.linkToSingleResource(SiteRest, "self").getHref(); @@ -94,7 +94,7 @@ public void userRegistrationDisabledUnAuthorizedTest() throws Exception { @Test public void userRegistrationEnabledShibTest() throws Exception { - Site site = siteService.findSite(context); + Site site = siteService.findSite(context.getSession()); SiteRest SiteRest = siteConverter.convert(site, Projection.DEFAULT); String siteUri = utils.linkToSingleResource(SiteRest, "self").getHref(); diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/EditItemFeatureIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/EditItemFeatureIT.java index 4bdc7743b571..7cc9fe0886c9 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/EditItemFeatureIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/EditItemFeatureIT.java @@ -84,7 +84,7 @@ public void setUp() throws Exception { }); editItemFeature = authorizationFeatureService.find(EditItemFeature.NAME); - Site site = siteService.findSite(context); + Site site = siteService.findSite(context.getSession()); SiteRest siteRest = siteConverter.convert(site, DefaultProjection.DEFAULT); siteUri = utils.linkToSingleResource(siteRest, "self").getHref(); } diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/EnrollAdministratorIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/EnrollAdministratorIT.java index 08daf0612473..d131ff11b3b8 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/EnrollAdministratorIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/EnrollAdministratorIT.java @@ -35,7 +35,7 @@ /** * test that the enroll process for a new administrator, i.e. create an user and * add user to the administrators group, will result in the Administrator Feature(s) to be available to such user. - * + * * @author Mykhaylo Boychuk (mykhaylo.boychuk at 4science.it) * */ @@ -50,7 +50,7 @@ public class EnrollAdministratorIT extends AbstractControllerIntegrationTest { private SiteService siteService; - /** + /** * this hold a reference to the test feature {@link AdministratorOfFeature} */ private AuthorizationFeature administratorFeature; @@ -75,10 +75,10 @@ public void addUserToAdminGroupOnSiteTest() throws Exception { context.restoreAuthSystemState(); - Site site = siteService.findSite(context); + Site site = siteService.findSite(context.getSession()); SiteRest siteRest = siteConverter.convert(site, DefaultProjection.DEFAULT); - Group adminGroup = groupService.findByName(context, Group.ADMIN); + Group adminGroup = groupService.findByName(context.getSession(), Group.ADMIN); // tokens String tokenEperson1 = getAuthToken(eperson1.getEmail(), password); diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/GenericAuthorizationFeatureIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/GenericAuthorizationFeatureIT.java index 1d3b5b051605..31f8bbe3f2f6 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/GenericAuthorizationFeatureIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/GenericAuthorizationFeatureIT.java @@ -206,7 +206,8 @@ private void testAdminsHavePermissionsAllDso(String feature) throws Exception { String communityAAdminToken = getAuthToken(communityAAdmin.getEmail(), password); String collectionXAdminToken = getAuthToken(collectionXAdmin.getEmail(), password); String item1AdminToken = getAuthToken(item1Admin.getEmail(), password); - String siteId = ContentServiceFactory.getInstance().getSiteService().findSite(context).getID().toString(); + String siteId = ContentServiceFactory.getInstance().getSiteService() + .findSite(context.getSession()).getID().toString(); // Verify the general admin has this feature on the site getClient(adminToken).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" @@ -863,7 +864,8 @@ public void testCanDeleteAdmin() throws Exception { String communityAAdminToken = getAuthToken(communityAAdmin.getEmail(), password); String collectionXAdminToken = getAuthToken(collectionXAdmin.getEmail(), password); String item1AdminToken = getAuthToken(item1Admin.getEmail(), password); - String siteId = ContentServiceFactory.getInstance().getSiteService().findSite(context).getID().toString(); + String siteId = ContentServiceFactory.getInstance().getSiteService() + .findSite(context.getSession()).getID().toString(); final String feature = "canDelete"; // Verify the general admin doesn’t have this feature on the site diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/LoginOnBehalfOfFeatureRestIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/LoginOnBehalfOfFeatureRestIT.java index 890f8bf239df..47e82abfc71e 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/LoginOnBehalfOfFeatureRestIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/LoginOnBehalfOfFeatureRestIT.java @@ -61,7 +61,7 @@ public void setUp() throws Exception { @Test public void loginOnBehalfOfTest() throws Exception { - Site site = siteService.findSite(context); + Site site = siteService.findSite(context.getSession()); SiteRest siteRest = siteConverter.convert(site, Projection.DEFAULT); String siteUri = utils.linkToSingleResource(siteRest, "self").getHref(); @@ -107,7 +107,7 @@ public void loginOnBehalfNonSiteObjectOfTest() throws Exception { @Test public void loginOnBehalfOfNonAdminUserNotFoundTest() throws Exception { - Site site = siteService.findSite(context); + Site site = siteService.findSite(context.getSession()); SiteRest siteRest = siteConverter.convert(site, Projection.DEFAULT); String siteUri = utils.linkToSingleResource(siteRest, "self").getHref(); @@ -127,7 +127,7 @@ public void loginOnBehalfOfNonAdminUserNotFoundTest() throws Exception { @Test public void loginOnBehalfOfNonAdminUserAssumeLoginPropertyFalseNotFoundTest() throws Exception { - Site site = siteService.findSite(context); + Site site = siteService.findSite(context.getSession()); SiteRest siteRest = siteConverter.convert(site, Projection.DEFAULT); String siteUri = utils.linkToSingleResource(siteRest, "self").getHref(); @@ -147,7 +147,7 @@ public void loginOnBehalfOfNonAdminUserAssumeLoginPropertyFalseNotFoundTest() th @Test public void loginOnBehalfOfAssumeLoginPropertyFalseNotFoundTest() throws Exception { - Site site = siteService.findSite(context); + Site site = siteService.findSite(context.getSession()); SiteRest siteRest = siteConverter.convert(site, Projection.DEFAULT); String siteUri = utils.linkToSingleResource(siteRest, "self").getHref(); diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/ManageGroupFeatureIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/ManageGroupFeatureIT.java index 3eed5d31205e..a24784599c5c 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/ManageGroupFeatureIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/ManageGroupFeatureIT.java @@ -167,8 +167,8 @@ public void setUp() throws Exception { .build(); - anonymousGroup = groupService.findByName(context, Group.ANONYMOUS); - administratorGroup = groupService.findByName(context, Group.ADMIN); + anonymousGroup = groupService.findByName(context.getSession(), Group.ANONYMOUS); + administratorGroup = groupService.findByName(context.getSession(), Group.ADMIN); context.restoreAuthSystemState(); diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/ManageGroupsFeatureIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/ManageGroupsFeatureIT.java index a42f219909aa..8f7e102c71aa 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/ManageGroupsFeatureIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/ManageGroupsFeatureIT.java @@ -103,7 +103,7 @@ public void testAdmin() throws Exception { // Verify the general admin has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='canManageGroups')]") @@ -116,7 +116,7 @@ public void testCommunityAdmin() throws Exception { // Verify the community admin has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='canManageGroups')]") @@ -129,7 +129,7 @@ public void testSubCommunityAdmin() throws Exception { // Verify the subcommunity admin has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='canManageGroups')]") @@ -142,7 +142,7 @@ public void testCollectionAdmin() throws Exception { // Verify the collection admin has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='canManageGroups')]") @@ -155,7 +155,7 @@ public void testSubmitter() throws Exception { // Verify a submitter doesn't have this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='canManageGroups')]") @@ -167,7 +167,7 @@ public void testSubGroupOfAdminGroup() throws Exception { context.turnOffAuthorisationSystem(); GroupBuilder.createGroup(context) .withName("userGroup") - .withParent(groupService.findByName(context, Group.ADMIN)) + .withParent(groupService.findByName(context.getSession(), Group.ADMIN)) .addMember(eperson) .build(); context.restoreAuthSystemState(); @@ -176,7 +176,7 @@ public void testSubGroupOfAdminGroup() throws Exception { // Verify an ePerson in a subgroup of the site administrators has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='canManageGroups')]") @@ -188,7 +188,8 @@ public void testSubGroupOfCommunityAdminGroup() throws Exception { context.turnOffAuthorisationSystem(); GroupBuilder.createGroup(context) .withName("userGroup") - .withParent(groupService.findByName(context, "COMMUNITY_" + topLevelCommunity.getID() + "_ADMIN")) + .withParent(groupService.findByName(context.getSession(), + "COMMUNITY_" + topLevelCommunity.getID() + "_ADMIN")) .addMember(eperson) .build(); context.restoreAuthSystemState(); @@ -197,7 +198,7 @@ public void testSubGroupOfCommunityAdminGroup() throws Exception { // Verify an ePerson in a subgroup of a community admin group has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='canManageGroups')]") @@ -209,7 +210,7 @@ public void testSubGroupOfSubCommunityAdminGroup() throws Exception { context.turnOffAuthorisationSystem(); GroupBuilder.createGroup(context) .withName("userGroup") - .withParent(groupService.findByName(context, "COMMUNITY_" + subCommunity.getID() + "_ADMIN")) + .withParent(groupService.findByName(context.getSession(), "COMMUNITY_" + subCommunity.getID() + "_ADMIN")) .addMember(eperson) .build(); context.restoreAuthSystemState(); @@ -218,7 +219,7 @@ public void testSubGroupOfSubCommunityAdminGroup() throws Exception { // Verify an ePerson in a subgroup of a subcommunity admin group has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='canManageGroups')]") @@ -230,7 +231,7 @@ public void testSubGroupOfCollectionAdminGroup() throws Exception { context.turnOffAuthorisationSystem(); GroupBuilder.createGroup(context) .withName("userGroup") - .withParent(groupService.findByName(context, "COLLECTION_" + collection.getID() + "_ADMIN")) + .withParent(groupService.findByName(context.getSession(), "COLLECTION_" + collection.getID() + "_ADMIN")) .addMember(eperson) .build(); context.restoreAuthSystemState(); @@ -239,7 +240,7 @@ public void testSubGroupOfCollectionAdminGroup() throws Exception { // Verify an ePerson in a subgroup of a collection admin group has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='canManageGroups')]") @@ -251,7 +252,7 @@ public void testSubGroupOfSubmitterGroup() throws Exception { context.turnOffAuthorisationSystem(); GroupBuilder.createGroup(context) .withName("userGroup") - .withParent(groupService.findByName(context, "COLLECTION_" + collection.getID() + "_SUBMIT")) + .withParent(groupService.findByName(context.getSession(), "COLLECTION_" + collection.getID() + "_SUBMIT")) .addMember(eperson) .build(); context.restoreAuthSystemState(); @@ -260,7 +261,7 @@ public void testSubGroupOfSubmitterGroup() throws Exception { // Verify an ePerson in a subgroup of submitter group doesn't have this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='canManageGroups')]") @@ -272,7 +273,7 @@ public void testSubSubGroupOfAdminGroup() throws Exception { context.turnOffAuthorisationSystem(); Group groupB = GroupBuilder.createGroup(context) .withName("GroupB") - .withParent(groupService.findByName(context, Group.ADMIN)) + .withParent(groupService.findByName(context.getSession(), Group.ADMIN)) .build(); GroupBuilder.createGroup(context) .withName("GroupA") @@ -285,7 +286,7 @@ public void testSubSubGroupOfAdminGroup() throws Exception { // Verify an ePerson in a sub-subgroup of the site administrators has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='canManageGroups')]") @@ -297,7 +298,8 @@ public void testSubSubGroupOfCommunityAdminGroup() throws Exception { context.turnOffAuthorisationSystem(); Group groupB = GroupBuilder.createGroup(context) .withName("GroupB") - .withParent(groupService.findByName(context, "COMMUNITY_" + topLevelCommunity.getID() + "_ADMIN")) + .withParent(groupService.findByName(context.getSession(), + "COMMUNITY_" + topLevelCommunity.getID() + "_ADMIN")) .build(); GroupBuilder.createGroup(context) .withName("GroupA") @@ -310,7 +312,7 @@ public void testSubSubGroupOfCommunityAdminGroup() throws Exception { // Verify an ePerson in a sub-subgroup of a community admin group has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='canManageGroups')]") @@ -322,7 +324,7 @@ public void testSubSubGroupOfSubCommunityAdminGroup() throws Exception { context.turnOffAuthorisationSystem(); Group groupB = GroupBuilder.createGroup(context) .withName("GroupB") - .withParent(groupService.findByName(context, "COMMUNITY_" + subCommunity.getID() + "_ADMIN")) + .withParent(groupService.findByName(context.getSession(), "COMMUNITY_" + subCommunity.getID() + "_ADMIN")) .build(); GroupBuilder.createGroup(context) .withName("GroupA") @@ -335,7 +337,7 @@ public void testSubSubGroupOfSubCommunityAdminGroup() throws Exception { // Verify an ePerson in a sub-subgroup of a subcommunity admin group has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='canManageGroups')]") @@ -347,7 +349,7 @@ public void testSubSubGroupOfCollectionAdminGroup() throws Exception { context.turnOffAuthorisationSystem(); Group groupB = GroupBuilder.createGroup(context) .withName("GroupB") - .withParent(groupService.findByName(context, "COLLECTION_" + collection.getID() + "_ADMIN")) + .withParent(groupService.findByName(context.getSession(), "COLLECTION_" + collection.getID() + "_ADMIN")) .build(); GroupBuilder.createGroup(context) .withName("GroupA") @@ -360,7 +362,7 @@ public void testSubSubGroupOfCollectionAdminGroup() throws Exception { // Verify an ePerson in a sub-subgroup of a collection admin group has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='canManageGroups')]") @@ -372,7 +374,7 @@ public void testSubSubGroupOfSubmitterGroup() throws Exception { context.turnOffAuthorisationSystem(); Group groupB = GroupBuilder.createGroup(context) .withName("GroupB") - .withParent(groupService.findByName(context, "COLLECTION_" + collection.getID() + "_SUBMIT")) + .withParent(groupService.findByName(context.getSession(), "COLLECTION_" + collection.getID() + "_SUBMIT")) .build(); GroupBuilder.createGroup(context) .withName("GroupA") @@ -385,7 +387,7 @@ public void testSubSubGroupOfSubmitterGroup() throws Exception { // Verify an ePerson in a sub-subgroup of submitter group doesn't have this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='canManageGroups')]") @@ -404,7 +406,7 @@ public void testAdminNoCommunityGroupPermission() throws Exception { // Verify the general admin has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='canManageGroups')]") @@ -422,7 +424,7 @@ public void testCommunityAdminNoCommunityGroupPermission() throws Exception { // Verify the community admin has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='canManageGroups')]") @@ -440,7 +442,7 @@ public void testSubCommunityAdminNoCommunityGroupPermission() throws Exception { // Verify the subcommunity admin has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='canManageGroups')]") @@ -458,7 +460,7 @@ public void testCollectionAdminNoCommunityGroupPermission() throws Exception { // Verify the collection admin has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='canManageGroups')]") @@ -476,7 +478,7 @@ public void testSubmitterNoCommunityGroupPermission() throws Exception { // Verify a submitter doesn't have this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='canManageGroups')]") @@ -493,7 +495,7 @@ public void testSubGroupOfAdminGroupNoCommunityGroupPermission() throws Exceptio context.turnOffAuthorisationSystem(); GroupBuilder.createGroup(context) .withName("userGroup") - .withParent(groupService.findByName(context, Group.ADMIN)) + .withParent(groupService.findByName(context.getSession(), Group.ADMIN)) .addMember(eperson) .build(); context.restoreAuthSystemState(); @@ -502,7 +504,7 @@ public void testSubGroupOfAdminGroupNoCommunityGroupPermission() throws Exceptio // Verify an ePerson in a subgroup of the site administrators has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='canManageGroups')]") @@ -519,7 +521,8 @@ public void testSubGroupOfCommunityAdminGroupNoCommunityGroupPermission() throws context.turnOffAuthorisationSystem(); GroupBuilder.createGroup(context) .withName("userGroup") - .withParent(groupService.findByName(context, "COMMUNITY_" + topLevelCommunity.getID() + "_ADMIN")) + .withParent(groupService.findByName(context.getSession(), + "COMMUNITY_" + topLevelCommunity.getID() + "_ADMIN")) .addMember(eperson) .build(); context.restoreAuthSystemState(); @@ -528,7 +531,7 @@ public void testSubGroupOfCommunityAdminGroupNoCommunityGroupPermission() throws // Verify an ePerson in a subgroup of a community admin group has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='canManageGroups')]") @@ -545,7 +548,7 @@ public void testSubGroupOfSubCommunityAdminGroupNoCommunityGroupPermission() thr context.turnOffAuthorisationSystem(); GroupBuilder.createGroup(context) .withName("userGroup") - .withParent(groupService.findByName(context, "COMMUNITY_" + subCommunity.getID() + "_ADMIN")) + .withParent(groupService.findByName(context.getSession(), "COMMUNITY_" + subCommunity.getID() + "_ADMIN")) .addMember(eperson) .build(); context.restoreAuthSystemState(); @@ -554,7 +557,7 @@ public void testSubGroupOfSubCommunityAdminGroupNoCommunityGroupPermission() thr // Verify an ePerson in a subgroup of a subcommunity admin group has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='canManageGroups')]") @@ -571,7 +574,7 @@ public void testSubGroupOfCollectionAdminGroupNoCommunityGroupPermission() throw context.turnOffAuthorisationSystem(); GroupBuilder.createGroup(context) .withName("userGroup") - .withParent(groupService.findByName(context, "COLLECTION_" + collection.getID() + "_ADMIN")) + .withParent(groupService.findByName(context.getSession(), "COLLECTION_" + collection.getID() + "_ADMIN")) .addMember(eperson) .build(); context.restoreAuthSystemState(); @@ -580,7 +583,7 @@ public void testSubGroupOfCollectionAdminGroupNoCommunityGroupPermission() throw // Verify an ePerson in a subgroup of a collection admin group has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='canManageGroups')]") @@ -597,7 +600,7 @@ public void testSubGroupOfSubmitterGroupNoCommunityGroupPermission() throws Exce context.turnOffAuthorisationSystem(); GroupBuilder.createGroup(context) .withName("userGroup") - .withParent(groupService.findByName(context, "COLLECTION_" + collection.getID() + "_SUBMIT")) + .withParent(groupService.findByName(context.getSession(), "COLLECTION_" + collection.getID() + "_SUBMIT")) .addMember(eperson) .build(); context.restoreAuthSystemState(); @@ -606,7 +609,7 @@ public void testSubGroupOfSubmitterGroupNoCommunityGroupPermission() throws Exce // Verify an ePerson in a subgroup of submitter group doesn't have this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='canManageGroups')]") @@ -623,7 +626,7 @@ public void testSubSubGroupOfAdminGroupNoCommunityGroupPermission() throws Excep context.turnOffAuthorisationSystem(); Group groupB = GroupBuilder.createGroup(context) .withName("GroupB") - .withParent(groupService.findByName(context, Group.ADMIN)) + .withParent(groupService.findByName(context.getSession(), Group.ADMIN)) .build(); GroupBuilder.createGroup(context) .withName("GroupA") @@ -636,7 +639,7 @@ public void testSubSubGroupOfAdminGroupNoCommunityGroupPermission() throws Excep // Verify an ePerson in a sub-subgroup of the site administrators has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='canManageGroups')]") @@ -653,7 +656,8 @@ public void testSubSubGroupOfCommunityAdminGroupNoCommunityGroupPermission() thr context.turnOffAuthorisationSystem(); Group groupB = GroupBuilder.createGroup(context) .withName("GroupB") - .withParent(groupService.findByName(context, "COMMUNITY_" + topLevelCommunity.getID() + "_ADMIN")) + .withParent(groupService.findByName(context.getSession(), + "COMMUNITY_" + topLevelCommunity.getID() + "_ADMIN")) .build(); GroupBuilder.createGroup(context) .withName("GroupA") @@ -666,7 +670,7 @@ public void testSubSubGroupOfCommunityAdminGroupNoCommunityGroupPermission() thr // Verify an ePerson in a sub-subgroup of a community admin group has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='canManageGroups')]") @@ -683,7 +687,7 @@ public void testSubSubGroupOfSubCommunityAdminGroupNoCommunityGroupPermission() context.turnOffAuthorisationSystem(); Group groupB = GroupBuilder.createGroup(context) .withName("GroupB") - .withParent(groupService.findByName(context, "COMMUNITY_" + subCommunity.getID() + "_ADMIN")) + .withParent(groupService.findByName(context.getSession(), "COMMUNITY_" + subCommunity.getID() + "_ADMIN")) .build(); GroupBuilder.createGroup(context) .withName("GroupA") @@ -696,7 +700,7 @@ public void testSubSubGroupOfSubCommunityAdminGroupNoCommunityGroupPermission() // Verify an ePerson in a sub-subgroup of a subcommunity admin group has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='canManageGroups')]") @@ -713,7 +717,7 @@ public void testSubSubGroupOfCollectionAdminGroupNoCommunityGroupPermission() th context.turnOffAuthorisationSystem(); Group groupB = GroupBuilder.createGroup(context) .withName("GroupB") - .withParent(groupService.findByName(context, "COLLECTION_" + collection.getID() + "_ADMIN")) + .withParent(groupService.findByName(context.getSession(), "COLLECTION_" + collection.getID() + "_ADMIN")) .build(); GroupBuilder.createGroup(context) .withName("GroupA") @@ -726,7 +730,7 @@ public void testSubSubGroupOfCollectionAdminGroupNoCommunityGroupPermission() th // Verify an ePerson in a sub-subgroup of a collection admin group has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='canManageGroups')]") @@ -743,7 +747,7 @@ public void testSubSubGroupOfSubmitterGroupNoCommunityGroupPermission() throws E context.turnOffAuthorisationSystem(); Group groupB = GroupBuilder.createGroup(context) .withName("GroupB") - .withParent(groupService.findByName(context, "COLLECTION_" + collection.getID() + "_SUBMIT")) + .withParent(groupService.findByName(context.getSession(), "COLLECTION_" + collection.getID() + "_SUBMIT")) .build(); GroupBuilder.createGroup(context) .withName("GroupA") @@ -756,7 +760,7 @@ public void testSubSubGroupOfSubmitterGroupNoCommunityGroupPermission() throws E // Verify an ePerson in a sub-subgroup of submitter group doesn't have this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='canManageGroups')]") @@ -779,7 +783,7 @@ public void testAdminNoCollectionGroupPermission() throws Exception { // Verify the general admin has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='canManageGroups')]") @@ -801,7 +805,7 @@ public void testCommunityAdminNoCollectionGroupPermission() throws Exception { // Verify the community admin has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='canManageGroups')]") @@ -823,7 +827,7 @@ public void testSubCommunityAdminNoCollectionGroupPermission() throws Exception // Verify the subcommunity admin has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='canManageGroups')]") @@ -845,7 +849,7 @@ public void testCollectionAdminNoCollectionGroupPermission() throws Exception { // Verify the collection admin has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='canManageGroups')]") @@ -867,7 +871,7 @@ public void testSubmitterNoCollectionGroupPermission() throws Exception { // Verify a submitter doesn't have this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='canManageGroups')]") @@ -888,7 +892,7 @@ public void testSubGroupOfAdminGroupNoCollectionGroupPermission() throws Excepti context.turnOffAuthorisationSystem(); GroupBuilder.createGroup(context) .withName("userGroup") - .withParent(groupService.findByName(context, Group.ADMIN)) + .withParent(groupService.findByName(context.getSession(), Group.ADMIN)) .addMember(eperson) .build(); context.restoreAuthSystemState(); @@ -897,7 +901,7 @@ public void testSubGroupOfAdminGroupNoCollectionGroupPermission() throws Excepti // Verify an ePerson in a subgroup of the site administrators has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='canManageGroups')]") @@ -918,7 +922,8 @@ public void testSubGroupOfCommunityAdminGroupNoCollectionGroupPermission() throw context.turnOffAuthorisationSystem(); GroupBuilder.createGroup(context) .withName("userGroup") - .withParent(groupService.findByName(context, "COMMUNITY_" + topLevelCommunity.getID() + "_ADMIN")) + .withParent(groupService.findByName(context.getSession(), + "COMMUNITY_" + topLevelCommunity.getID() + "_ADMIN")) .addMember(eperson) .build(); context.restoreAuthSystemState(); @@ -927,7 +932,7 @@ public void testSubGroupOfCommunityAdminGroupNoCollectionGroupPermission() throw // Verify an ePerson in a subgroup of a community admin group has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='canManageGroups')]") @@ -948,7 +953,7 @@ public void testSubGroupOfSubCommunityAdminGroupNoCollectionGroupPermission() th context.turnOffAuthorisationSystem(); GroupBuilder.createGroup(context) .withName("userGroup") - .withParent(groupService.findByName(context, "COMMUNITY_" + subCommunity.getID() + "_ADMIN")) + .withParent(groupService.findByName(context.getSession(), "COMMUNITY_" + subCommunity.getID() + "_ADMIN")) .addMember(eperson) .build(); context.restoreAuthSystemState(); @@ -957,7 +962,7 @@ public void testSubGroupOfSubCommunityAdminGroupNoCollectionGroupPermission() th // Verify an ePerson in a subgroup of a subcommunity admin group has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='canManageGroups')]") @@ -978,7 +983,7 @@ public void testSubGroupOfCollectionAdminGroupNoCollectionGroupPermission() thro context.turnOffAuthorisationSystem(); GroupBuilder.createGroup(context) .withName("userGroup") - .withParent(groupService.findByName(context, "COLLECTION_" + collection.getID() + "_ADMIN")) + .withParent(groupService.findByName(context.getSession(), "COLLECTION_" + collection.getID() + "_ADMIN")) .addMember(eperson) .build(); context.restoreAuthSystemState(); @@ -987,7 +992,7 @@ public void testSubGroupOfCollectionAdminGroupNoCollectionGroupPermission() thro // Verify an ePerson in a subgroup of a collection admin group has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='canManageGroups')]") @@ -1008,7 +1013,7 @@ public void testSubGroupOfSubmitterGroupNoCollectionGroupPermission() throws Exc context.turnOffAuthorisationSystem(); GroupBuilder.createGroup(context) .withName("userGroup") - .withParent(groupService.findByName(context, "COLLECTION_" + collection.getID() + "_SUBMIT")) + .withParent(groupService.findByName(context.getSession(), "COLLECTION_" + collection.getID() + "_SUBMIT")) .addMember(eperson) .build(); context.restoreAuthSystemState(); @@ -1017,7 +1022,7 @@ public void testSubGroupOfSubmitterGroupNoCollectionGroupPermission() throws Exc // Verify an ePerson in a subgroup of submitter group doesn't have this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='canManageGroups')]") @@ -1038,7 +1043,7 @@ public void testSubSubGroupOfAdminGroupNoCollectionGroupPermission() throws Exce context.turnOffAuthorisationSystem(); Group groupB = GroupBuilder.createGroup(context) .withName("GroupB") - .withParent(groupService.findByName(context, Group.ADMIN)) + .withParent(groupService.findByName(context.getSession(), Group.ADMIN)) .build(); GroupBuilder.createGroup(context) .withName("GroupA") @@ -1051,7 +1056,7 @@ public void testSubSubGroupOfAdminGroupNoCollectionGroupPermission() throws Exce // Verify an ePerson in a sub-subgroup of the site administrators has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='canManageGroups')]") @@ -1072,7 +1077,8 @@ public void testSubSubGroupOfCommunityAdminGroupNoCollectionGroupPermission() th context.turnOffAuthorisationSystem(); Group groupB = GroupBuilder.createGroup(context) .withName("GroupB") - .withParent(groupService.findByName(context, "COMMUNITY_" + topLevelCommunity.getID() + "_ADMIN")) + .withParent(groupService.findByName(context.getSession(), + "COMMUNITY_" + topLevelCommunity.getID() + "_ADMIN")) .build(); GroupBuilder.createGroup(context) .withName("GroupA") @@ -1085,7 +1091,7 @@ public void testSubSubGroupOfCommunityAdminGroupNoCollectionGroupPermission() th // Verify an ePerson in a sub-subgroup of a community admin group has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='canManageGroups')]") @@ -1106,7 +1112,7 @@ public void testSubSubGroupOfSubCommunityAdminGroupNoCollectionGroupPermission() context.turnOffAuthorisationSystem(); Group groupB = GroupBuilder.createGroup(context) .withName("GroupB") - .withParent(groupService.findByName(context, "COMMUNITY_" + subCommunity.getID() + "_ADMIN")) + .withParent(groupService.findByName(context.getSession(), "COMMUNITY_" + subCommunity.getID() + "_ADMIN")) .build(); GroupBuilder.createGroup(context) .withName("GroupA") @@ -1119,7 +1125,7 @@ public void testSubSubGroupOfSubCommunityAdminGroupNoCollectionGroupPermission() // Verify an ePerson in a sub-subgroup of a subcommunity admin group has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='canManageGroups')]") @@ -1140,7 +1146,7 @@ public void testSubSubGroupOfCollectionAdminGroupNoCollectionGroupPermission() t context.turnOffAuthorisationSystem(); Group groupB = GroupBuilder.createGroup(context) .withName("GroupB") - .withParent(groupService.findByName(context, "COLLECTION_" + collection.getID() + "_ADMIN")) + .withParent(groupService.findByName(context.getSession(), "COLLECTION_" + collection.getID() + "_ADMIN")) .build(); GroupBuilder.createGroup(context) .withName("GroupA") @@ -1153,7 +1159,7 @@ public void testSubSubGroupOfCollectionAdminGroupNoCollectionGroupPermission() t // Verify an ePerson in a sub-subgroup of a collection admin group has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='canManageGroups')]") @@ -1174,7 +1180,7 @@ public void testSubSubGroupOfSubmitterGroupNoCollectionGroupPermission() throws context.turnOffAuthorisationSystem(); Group groupB = GroupBuilder.createGroup(context) .withName("GroupB") - .withParent(groupService.findByName(context, "COLLECTION_" + collection.getID() + "_SUBMIT")) + .withParent(groupService.findByName(context.getSession(), "COLLECTION_" + collection.getID() + "_SUBMIT")) .build(); GroupBuilder.createGroup(context) .withName("GroupA") @@ -1187,7 +1193,7 @@ public void testSubSubGroupOfSubmitterGroupNoCollectionGroupPermission() throws // Verify an ePerson in a sub-subgroup of submitter group doesn't have this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='canManageGroups')]") @@ -1214,7 +1220,7 @@ public void testAdminNoComColGroupPermission() throws Exception { // Verify the general admin has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='canManageGroups')]") @@ -1240,7 +1246,7 @@ public void testCommunityAdminNoComColGroupPermission() throws Exception { // Verify the community admin has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='canManageGroups')]") @@ -1266,7 +1272,7 @@ public void testSubCommunityAdminNoComColGroupPermission() throws Exception { // Verify the subcommunity admin has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='canManageGroups')]") @@ -1292,7 +1298,7 @@ public void testCollectionAdminNoComColGroupPermission() throws Exception { // Verify the collection admin has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='canManageGroups')]") @@ -1318,7 +1324,7 @@ public void testSubmitterNoComColGroupPermission() throws Exception { // Verify a submitter doesn't have this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='canManageGroups')]") @@ -1343,7 +1349,7 @@ public void testSubGroupOfAdminGroupNoComColGroupPermission() throws Exception { context.turnOffAuthorisationSystem(); GroupBuilder.createGroup(context) .withName("userGroup") - .withParent(groupService.findByName(context, Group.ADMIN)) + .withParent(groupService.findByName(context.getSession(), Group.ADMIN)) .addMember(eperson) .build(); context.restoreAuthSystemState(); @@ -1352,7 +1358,7 @@ public void testSubGroupOfAdminGroupNoComColGroupPermission() throws Exception { // Verify an ePerson in a subgroup of the site administrators has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='canManageGroups')]") @@ -1377,7 +1383,8 @@ public void testSubGroupOfCommunityAdminGroupNoComColGroupPermission() throws Ex context.turnOffAuthorisationSystem(); GroupBuilder.createGroup(context) .withName("userGroup") - .withParent(groupService.findByName(context, "COMMUNITY_" + topLevelCommunity.getID() + "_ADMIN")) + .withParent(groupService.findByName(context.getSession(), + "COMMUNITY_" + topLevelCommunity.getID() + "_ADMIN")) .addMember(eperson) .build(); context.restoreAuthSystemState(); @@ -1386,7 +1393,7 @@ public void testSubGroupOfCommunityAdminGroupNoComColGroupPermission() throws Ex // Verify an ePerson in a subgroup of a community admin group has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='canManageGroups')]") @@ -1411,7 +1418,7 @@ public void testSubGroupOfSubCommunityAdminGroupNoComColGroupPermission() throws context.turnOffAuthorisationSystem(); GroupBuilder.createGroup(context) .withName("userGroup") - .withParent(groupService.findByName(context, "COMMUNITY_" + subCommunity.getID() + "_ADMIN")) + .withParent(groupService.findByName(context.getSession(), "COMMUNITY_" + subCommunity.getID() + "_ADMIN")) .addMember(eperson) .build(); context.restoreAuthSystemState(); @@ -1420,7 +1427,7 @@ public void testSubGroupOfSubCommunityAdminGroupNoComColGroupPermission() throws // Verify an ePerson in a subgroup of a subcommunity admin group has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='canManageGroups')]") @@ -1445,7 +1452,7 @@ public void testSubGroupOfCollectionAdminGroupNoComColGroupPermission() throws E context.turnOffAuthorisationSystem(); GroupBuilder.createGroup(context) .withName("userGroup") - .withParent(groupService.findByName(context, "COLLECTION_" + collection.getID() + "_ADMIN")) + .withParent(groupService.findByName(context.getSession(), "COLLECTION_" + collection.getID() + "_ADMIN")) .addMember(eperson) .build(); context.restoreAuthSystemState(); @@ -1454,7 +1461,7 @@ public void testSubGroupOfCollectionAdminGroupNoComColGroupPermission() throws E // Verify an ePerson in a subgroup of a collection admin group has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='canManageGroups')]") @@ -1479,7 +1486,7 @@ public void testSubGroupOfSubmitterGroupNoComColGroupPermission() throws Excepti context.turnOffAuthorisationSystem(); GroupBuilder.createGroup(context) .withName("userGroup") - .withParent(groupService.findByName(context, "COLLECTION_" + collection.getID() + "_SUBMIT")) + .withParent(groupService.findByName(context.getSession(), "COLLECTION_" + collection.getID() + "_SUBMIT")) .addMember(eperson) .build(); context.restoreAuthSystemState(); @@ -1488,7 +1495,7 @@ public void testSubGroupOfSubmitterGroupNoComColGroupPermission() throws Excepti // Verify an ePerson in a subgroup of submitter group doesn't have this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='canManageGroups')]") @@ -1513,7 +1520,7 @@ public void testSubSubGroupOfAdminGroupNoComColGroupPermission() throws Exceptio context.turnOffAuthorisationSystem(); Group groupB = GroupBuilder.createGroup(context) .withName("GroupB") - .withParent(groupService.findByName(context, Group.ADMIN)) + .withParent(groupService.findByName(context.getSession(), Group.ADMIN)) .build(); GroupBuilder.createGroup(context) .withName("GroupA") @@ -1526,7 +1533,7 @@ public void testSubSubGroupOfAdminGroupNoComColGroupPermission() throws Exceptio // Verify an ePerson in a sub-subgroup of the site administrators has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='canManageGroups')]") @@ -1551,7 +1558,8 @@ public void testSubSubGroupOfCommunityAdminGroupNoComColGroupPermission() throws context.turnOffAuthorisationSystem(); Group groupB = GroupBuilder.createGroup(context) .withName("GroupB") - .withParent(groupService.findByName(context, "COMMUNITY_" + topLevelCommunity.getID() + "_ADMIN")) + .withParent(groupService.findByName(context.getSession(), + "COMMUNITY_" + topLevelCommunity.getID() + "_ADMIN")) .build(); GroupBuilder.createGroup(context) .withName("GroupA") @@ -1564,7 +1572,7 @@ public void testSubSubGroupOfCommunityAdminGroupNoComColGroupPermission() throws // Verify an ePerson in a sub-subgroup of a community admin group has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='canManageGroups')]") @@ -1589,7 +1597,7 @@ public void testSubSubGroupOfSubCommunityAdminGroupNoComColGroupPermission() thr context.turnOffAuthorisationSystem(); Group groupB = GroupBuilder.createGroup(context) .withName("GroupB") - .withParent(groupService.findByName(context, "COMMUNITY_" + subCommunity.getID() + "_ADMIN")) + .withParent(groupService.findByName(context.getSession(), "COMMUNITY_" + subCommunity.getID() + "_ADMIN")) .build(); GroupBuilder.createGroup(context) .withName("GroupA") @@ -1602,7 +1610,7 @@ public void testSubSubGroupOfSubCommunityAdminGroupNoComColGroupPermission() thr // Verify an ePerson in a sub-subgroup of a subcommunity admin group has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='canManageGroups')]") @@ -1627,7 +1635,7 @@ public void testSubSubGroupOfCollectionAdminGroupNoComColGroupPermission() throw context.turnOffAuthorisationSystem(); Group groupB = GroupBuilder.createGroup(context) .withName("GroupB") - .withParent(groupService.findByName(context, "COLLECTION_" + collection.getID() + "_ADMIN")) + .withParent(groupService.findByName(context.getSession(), "COLLECTION_" + collection.getID() + "_ADMIN")) .build(); GroupBuilder.createGroup(context) .withName("GroupA") @@ -1640,7 +1648,7 @@ public void testSubSubGroupOfCollectionAdminGroupNoComColGroupPermission() throw // Verify an ePerson in a sub-subgroup of a collection admin group has this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='canManageGroups')]") @@ -1665,7 +1673,7 @@ public void testSubSubGroupOfSubmitterGroupNoComColGroupPermission() throws Exce context.turnOffAuthorisationSystem(); Group groupB = GroupBuilder.createGroup(context) .withName("GroupB") - .withParent(groupService.findByName(context, "COLLECTION_" + collection.getID() + "_SUBMIT")) + .withParent(groupService.findByName(context.getSession(), "COLLECTION_" + collection.getID() + "_SUBMIT")) .build(); GroupBuilder.createGroup(context) .withName("GroupA") @@ -1678,7 +1686,7 @@ public void testSubSubGroupOfSubmitterGroupNoComColGroupPermission() throws Exce // Verify an ePerson in a sub-subgroup of submitter group doesn't have this feature getClient(token).perform(get("/api/authz/authorizations/search/object?embed=feature&uri=" - + "http://localhost/api/core/site/" + siteService.findSite(context).getID())) + + "http://localhost/api/core/site/" + siteService.findSite(context.getSession()).getID())) .andExpect(status().isOk()) .andExpect( jsonPath("$._embedded.authorizations[?(@._embedded.feature.id=='canManageGroups')]") diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/SubmitFeatureIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/SubmitFeatureIT.java index bba45ecd229f..a34b630b6b23 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/SubmitFeatureIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/SubmitFeatureIT.java @@ -77,7 +77,7 @@ public void setUp() throws Exception { }); submitFeature = authorizationFeatureService.find(SubmitFeature.NAME); - Site site = siteService.findSite(context); + Site site = siteService.findSite(context.getSession()); SiteRest siteRest = siteConverter.convert(site, DefaultProjection.DEFAULT); siteUri = utils.linkToSingleResource(siteRest, "self").getHref(); } diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/TrueForUsersInGroupTestFeature.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/TrueForUsersInGroupTestFeature.java index b0560d06564f..a48a1e8d61db 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/TrueForUsersInGroupTestFeature.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/TrueForUsersInGroupTestFeature.java @@ -42,7 +42,7 @@ public boolean isAuthorized(Context context, BaseObjectRest object) throws SQLEx if (context.getCurrentUser() == null) { return false; } - Group testGroup = groupService.findByName(context, GROUP_NAME); + Group testGroup = groupService.findByName(context.getSession(), GROUP_NAME); if (testGroup != null) { return groupService.isMember(context, testGroup); } else { diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/ViewSearchStatisticsFeatureIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/ViewSearchStatisticsFeatureIT.java index b22905d474d4..dab2e334bbfc 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/ViewSearchStatisticsFeatureIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/ViewSearchStatisticsFeatureIT.java @@ -64,7 +64,7 @@ public void setUp() throws Exception { context.turnOffAuthorisationSystem(); - site = siteService.findSite(context); + site = siteService.findSite(context.getSession()); siteRest = siteConverter.convert(site, Projection.DEFAULT); communityA = CommunityBuilder.createCommunity(context) .withName("communityA") diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/ViewUsageStatisticsFeatureIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/ViewUsageStatisticsFeatureIT.java index 188e21ec1f19..f1b40b57fffa 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/ViewUsageStatisticsFeatureIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/ViewUsageStatisticsFeatureIT.java @@ -100,7 +100,7 @@ public void setUp() throws Exception { super.setUp(); context.turnOffAuthorisationSystem(); - site = siteService.findSite(context); + site = siteService.findSite(context.getSession()); communityA = CommunityBuilder.createCommunity(context) .withName("communityA") .build(); diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/ViewWorkflowStatisticsFeatureIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/ViewWorkflowStatisticsFeatureIT.java index 0cdcf221ff5d..30f088199268 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/ViewWorkflowStatisticsFeatureIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/ViewWorkflowStatisticsFeatureIT.java @@ -90,7 +90,7 @@ public void setUp() throws Exception { super.setUp(); context.turnOffAuthorisationSystem(); - site = siteService.findSite(context); + site = siteService.findSite(context.getSession()); communityA = CommunityBuilder.createCommunity(context) .withName("communityA") .build(); diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/csv/CsvImportIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/csv/CsvImportIT.java index 4883058879ec..716e4b6dfc43 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/csv/CsvImportIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/csv/CsvImportIT.java @@ -115,7 +115,7 @@ public void createRelationshipsWithCsvImportTest() throws Exception { author2, author1); // Verify that the new Publication is related to both author2 and author1 (in that exact order) - List relationships = relationshipService.findByItem(context, article2); + List relationships = relationshipService.findByItem(context.getSession(), article2); assertEquals(2, relationships.size()); getClient().perform(get("/api/core/relationships/" + relationships.get(0).getID()).param("projection", "full")) .andExpect(status().isOk()) @@ -137,7 +137,7 @@ public void createRelationshipsWithCsvImportTest() throws Exception { "Relationship list size is 1", 1, 2, 0); // Verify the new Publication now has 3 relationships (3 authors) - relationships = relationshipService.findByItem(context, article2); + relationships = relationshipService.findByItem(context.getSession(), article2); assertEquals(3,relationships.size()); // Now, *remove* the first listed author (author2) from this new Publication @@ -159,7 +159,8 @@ public void createRelationshipsWithCsvImportTest() throws Exception { } private void assertArticle2Relationships(Item article2, Item author1, Item author3) throws SQLException { - List relationshipsForArticle2 = relationshipService.findByItem(context, article2); + List relationshipsForArticle2 + = relationshipService.findByItem(context.getSession(), article2); assertEquals(2, relationshipsForArticle2.size()); assertEquals(author3, relationshipsForArticle2.get(0).getRightItem()); assertEquals(author1, relationshipsForArticle2.get(1).getRightItem()); @@ -168,7 +169,7 @@ private void assertArticle2Relationships(Item article2, Item author1, Item autho private void assertArticleRelationships(Item article, Item author1, Item author2, Item author3) throws SQLException { List relationshipsForArticle = relationshipService - .findByItemAndRelationshipType(context, article, relationshipTypeService + .findByItemAndRelationshipType(context.getSession(), article, relationshipTypeService .findbyTypesAndTypeName(context, entityTypeService.findByEntityType(context, "Publication"), entityTypeService.findByEntityType(context, "Person"), "isAuthorOfPublication", "isPublicationOfAuthor")); @@ -221,10 +222,11 @@ private Item validateSpecificItemRelationCreationCsvImport(Collection col1, Item String[] csv = {"id,collection,dc.title,dspace.entity.type,relation." + relationshipTypeLabel, csvLineString}; performImportScript(csv); - Iterator itemIteratorItem = itemService.findByMetadataField(context, "dc", "title", null, itemTitle); + Iterator itemIteratorItem = itemService.findByMetadataField(context.getSession(), + "dc", "title", null, itemTitle); Item item = itemIteratorItem.next(); - List relationships = relationshipService.findByItem(context, item); + List relationships = relationshipService.findByItem(context.getSession(), item); assertEquals(reasonAssertCheck, sizeToCheck, relationships.size()); getClient().perform(get("/api/core/items/" + item.getID())).andExpect(status().isOk()); getClient().perform(get("/api/core/relationships/" + relationships.get(0).getID()).param("projection", "full")) @@ -253,7 +255,8 @@ private Item validateSpecificItemRelationCreationCsvImportMultiple(Collection co .getHandle() + "," + itemTitle + "," + entityType + "," + idStringRelatedItems; String[] csv = {"id,collection,dc.title,dspace.entity.type,relation." + relationshipTypeLabel, csvLineString}; performImportScript(csv); - Iterator itemIteratorItem = itemService.findByMetadataField(context, "dc", "title", null, itemTitle); + Iterator itemIteratorItem = itemService.findByMetadataField(context.getSession(), + "dc", "title", null, itemTitle); Item item = itemIteratorItem.next(); @@ -356,7 +359,8 @@ public void csvImportWithSpecifiedEPersonParameterTestShouldFailProcess() throws ProcessBuilder.deleteProcess(idRef.get()); } - Iterator itemIteratorItem = itemService.findByMetadataField(context, "dc", "title", null, "TestItemB"); + Iterator itemIteratorItem = itemService.findByMetadataField(context.getSession(), + "dc", "title", null, "TestItemB"); assertFalse(itemIteratorItem.hasNext()); } } diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/eperson/DeleteEPersonSubmitterIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/eperson/DeleteEPersonSubmitterIT.java index d1679ae1d20b..b78432e68d2e 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/eperson/DeleteEPersonSubmitterIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/eperson/DeleteEPersonSubmitterIT.java @@ -146,7 +146,7 @@ public void testArchivedItemSubmitterDelete() throws Exception { configurationService.setProperty("request.item.helpdesk.override", "true"); // Test it. - Item item = itemService.find(context, installItem.getID()); + Item item = itemService.find(context.getSession(), installItem.getID()); List requestItemAuthor = requestItemAuthorExtractor.getRequestItemAuthor(context, item); assertEquals(HELPDESK_NAME, requestItemAuthor.get(0).getFullName()); @@ -350,7 +350,7 @@ private void assertDeletionOfEperson(EPerson ePerson) throws SQLException { fail("Caught an Exception while deleting an EPerson. " + ex.getClass().getName() + ": " + ex.getMessage()); } - EPerson ePersonCheck = ePersonService.find(context, ePerson.getID()); + EPerson ePersonCheck = ePersonService.find(context.getSession(), ePerson.getID()); assertNull(ePersonCheck); } @@ -360,7 +360,7 @@ private void assertDeletionOfEperson(EPerson ePerson) throws SQLException { */ private EPerson retrieveItemSubmitter(UUID itemID) throws Exception { - Item item = itemService.find(context, itemID); + Item item = itemService.find(context.getSession(), itemID); return item.getSubmitter(); } @@ -374,7 +374,7 @@ private Item retrieveVersionItem(int id) throws Exception { .andDo(result -> idRef .set(read(result.getResponse().getContentAsString(), "$.uuid"))); - return itemService.find(context, UUID.fromString(idRef.get())); + return itemService.find(context.getSession(), UUID.fromString(idRef.get())); } private void cleanupVersion(int id) throws SQLException { diff --git a/dspace-server-webapp/src/test/java/org/dspace/curate/CurationScriptIT.java b/dspace-server-webapp/src/test/java/org/dspace/curate/CurationScriptIT.java index 3e40a8559482..009841a5c05f 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/curate/CurationScriptIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/curate/CurationScriptIT.java @@ -415,7 +415,7 @@ public void securityCurateTest() throws Exception { .withTitle("Test item to curate").build(); Item anotherItem = ItemBuilder.createItem(context, anotherCollection) .withTitle("Another Test item to curate").build(); - Site site = ContentServiceFactory.getInstance().getSiteService().findSite(context); + Site site = ContentServiceFactory.getInstance().getSiteService().findSite(context.getSession()); context.restoreAuthSystemState(); LinkedList siteParameters = new LinkedList<>(); diff --git a/dspace-sword/src/main/java/org/dspace/sword/SWORDAuthenticator.java b/dspace-sword/src/main/java/org/dspace/sword/SWORDAuthenticator.java index e95be15289b0..901bf08c9dfd 100644 --- a/dspace-sword/src/main/java/org/dspace/sword/SWORDAuthenticator.java +++ b/dspace-sword/src/main/java/org/dspace/sword/SWORDAuthenticator.java @@ -538,7 +538,7 @@ public List getAllowedCommunities(SWORDContext swordContext) // locate all the top level communities Context context = swordContext.getContext(); List allowed = new ArrayList<>(); - List comms = communityService.findAllTop(context); + List comms = communityService.findAllTop(context.getSession()); for (Community comm : comms) { boolean authAllowed = false; boolean oboAllowed = false; @@ -786,7 +786,7 @@ public List getAllowedItems(SWORDContext swordContext, try { List allowed = new ArrayList<>(); Iterator ii = itemService.findByCollection( - swordContext.getContext(), collection); + swordContext.getContext().getSession(), collection); while (ii.hasNext()) { Item item = ii.next(); diff --git a/dspace-sword/src/main/java/org/dspace/sword/SWORDUrlManager.java b/dspace-sword/src/main/java/org/dspace/sword/SWORDUrlManager.java index c145c9d3671f..693a507b5c61 100644 --- a/dspace-sword/src/main/java/org/dspace/sword/SWORDUrlManager.java +++ b/dspace-sword/src/main/java/org/dspace/sword/SWORDUrlManager.java @@ -52,10 +52,10 @@ public class SWORDUrlManager { private final ConfigurationService configurationService = DSpaceServicesFactory.getInstance().getConfigurationService(); - private String swordPath = configurationService.getProperty( + private final String swordPath = configurationService.getProperty( "sword-server.path", "sword"); - private String dspaceUrl = configurationService.getProperty( + private final String dspaceUrl = configurationService.getProperty( "dspace.server.url"); public SWORDUrlManager(SWORDConfiguration config, Context context) { @@ -289,7 +289,7 @@ public DSpaceObject extractDSpaceObject(String url) if (bsid.endsWith("/")) { bsid = bsid.substring(0, url.length() - 1); } - return bitstreamService.findByIdOrLegacyId(context, bsid); + return bitstreamService.findByIdOrLegacyId(context.getSession(), bsid); } else { throw new SWORDErrorException(DSpaceSWORDErrorCodes.BAD_URL, "Unable to recognise URL as a valid service document: " + diff --git a/dspace-swordv2/src/main/java/org/dspace/sword2/CollectionListManagerDSpace.java b/dspace-swordv2/src/main/java/org/dspace/sword2/CollectionListManagerDSpace.java index 3beea04d9532..daff317b0512 100644 --- a/dspace-swordv2/src/main/java/org/dspace/sword2/CollectionListManagerDSpace.java +++ b/dspace-swordv2/src/main/java/org/dspace/sword2/CollectionListManagerDSpace.java @@ -106,7 +106,7 @@ private List listItems(SwordContext sc, Collection collection, // first get the ones out of the archive Iterator items = itemService - .findBySubmitter(sc.getContext(), person); + .findBySubmitter(sc.getContext().getSession(), person); while (items.hasNext()) { Item item = items.next(); List cols = item.getCollections(); diff --git a/dspace-swordv2/src/main/java/org/dspace/sword2/MediaResourceManagerDSpace.java b/dspace-swordv2/src/main/java/org/dspace/sword2/MediaResourceManagerDSpace.java index bbb2220c8efe..cd9f39f2e4ab 100644 --- a/dspace-swordv2/src/main/java/org/dspace/sword2/MediaResourceManagerDSpace.java +++ b/dspace-swordv2/src/main/java/org/dspace/sword2/MediaResourceManagerDSpace.java @@ -41,13 +41,13 @@ public class MediaResourceManagerDSpace extends DSpaceSwordAPI implements MediaResourceManager { - private static Logger log = org.apache.logging.log4j.LogManager + private static final Logger log = org.apache.logging.log4j.LogManager .getLogger(MediaResourceManagerDSpace.class); protected AuthorizeService authorizeService = AuthorizeServiceFactory .getInstance().getAuthorizeService(); - private VerboseDescription verboseDescription = new VerboseDescription(); + private final VerboseDescription verboseDescription = new VerboseDescription(); private boolean isAccessible(Context context, Bitstream bitstream) throws DSpaceSwordException { @@ -113,8 +113,8 @@ private MediaResource getItemResource(Context context, Item item, } else { // we just want to ask for the atom version, so we bypass the main content // negotiation place - Map> analysed = new HashMap>(); - List list = new ArrayList(); + Map> analysed = new HashMap<>(); + List list = new ArrayList<>(); list.add("application/atom+xml"); analysed.put((float) 1.0, list); disseminator = SwordDisseminatorFactory @@ -128,6 +128,7 @@ private MediaResource getItemResource(Context context, Item item, disseminator.getPackaging()); } + @Override public MediaResource getMediaResourceRepresentation(String uri, Map accept, AuthCredentials authCredentials, SwordConfiguration swordConfig) @@ -166,7 +167,7 @@ public MediaResource getMediaResourceRepresentation(String uri, ctx = sc.getContext(); // re-retrieve the bitstream using the new context - bitstream = bitstreamService.find(ctx, bitstream.getID()); + bitstream = bitstreamService.find(ctx.getSession(), bitstream.getID()); // and re-verify its accessibility accessible = this.isAccessible(ctx, bitstream); @@ -249,6 +250,7 @@ private Date getLastModified(Context context, Bitstream bitstream) return lm; } + @Override public DepositReceipt replaceMediaResource(String emUri, Deposit deposit, AuthCredentials authCredentials, SwordConfiguration swordConfig) throws SwordError, SwordServerException, SwordAuthException { @@ -417,6 +419,7 @@ public DepositReceipt replaceMediaResource(String emUri, Deposit deposit, } } + @Override public void deleteMediaResource(String emUri, AuthCredentials authCredentials, SwordConfiguration swordConfig) throws SwordError, SwordServerException, SwordAuthException { @@ -547,6 +550,7 @@ public void deleteMediaResource(String emUri, } } + @Override public DepositReceipt addResource(String emUri, Deposit deposit, AuthCredentials authCredentials, SwordConfiguration swordConfig) throws SwordError, SwordServerException, SwordAuthException { diff --git a/dspace-swordv2/src/main/java/org/dspace/sword2/SwordAuthenticator.java b/dspace-swordv2/src/main/java/org/dspace/sword2/SwordAuthenticator.java index 54b769388c68..a4c964757694 100644 --- a/dspace-swordv2/src/main/java/org/dspace/sword2/SwordAuthenticator.java +++ b/dspace-swordv2/src/main/java/org/dspace/sword2/SwordAuthenticator.java @@ -52,7 +52,7 @@ public class SwordAuthenticator { /** * logger */ - private static Logger log = org.apache.logging.log4j.LogManager.getLogger(SwordAuthenticator.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(); protected AuthenticationService authenticationService = AuthenticateServiceFactory.getInstance().getAuthenticationService(); @@ -439,8 +439,8 @@ public List getAllowedCommunities(SwordContext swordContext) try { // locate all the top level communities Context context = swordContext.getContext(); - List allowed = new ArrayList(); - List comms = communityService.findAllTop(context); + List allowed = new ArrayList<>(); + List comms = communityService.findAllTop(context.getSession()); for (Community comm : comms) { boolean authAllowed = false; boolean oboAllowed = false; @@ -688,7 +688,7 @@ public List getAllowedItems(SwordContext swordContext, try { List allowed = new ArrayList<>(); Iterator ii = itemService - .findByCollection(swordContext.getContext(), collection); + .findByCollection(swordContext.getContext().getSession(), collection); while (ii.hasNext()) { Item item = ii.next(); diff --git a/dspace-swordv2/src/main/java/org/dspace/sword2/SwordUrlManager.java b/dspace-swordv2/src/main/java/org/dspace/sword2/SwordUrlManager.java index f3b2cf439657..e8579b6b8628 100644 --- a/dspace-swordv2/src/main/java/org/dspace/sword2/SwordUrlManager.java +++ b/dspace-swordv2/src/main/java/org/dspace/sword2/SwordUrlManager.java @@ -46,10 +46,10 @@ public class SwordUrlManager { protected ConfigurationService configurationService = DSpaceServicesFactory.getInstance().getConfigurationService(); - private String swordPath = configurationService.getProperty( + private final String swordPath = configurationService.getProperty( "swordv2-server.path", "swordv2"); - private String dspaceUrl = configurationService.getProperty( + private final String dspaceUrl = configurationService.getProperty( "dspace.server.url"); /** @@ -140,7 +140,7 @@ public Item getItem(Context context, String location) iid = iid.substring(0, iid.length() - ".rdf".length()); } - Item item = itemService.findByIdOrLegacyId(context, iid); + Item item = itemService.findByIdOrLegacyId(context.getSession(), iid); return item; } catch (SQLException e) { // log.error("Caught exception:", e); @@ -424,7 +424,7 @@ public Bitstream getBitstream(Context context, String location) int firstSlash = bitstreamParts.indexOf("/"); String bid = bitstreamParts.substring(0, firstSlash); Bitstream bitstream = - bitstreamService.findByIdOrLegacyId(context, bid); + bitstreamService.findByIdOrLegacyId(context.getSession(), bid); return bitstream; } catch (SQLException e) { // log.error("Caught exception:", e); From 0522379d47b6e388e3c9c37c94328d3dfc51f1e2 Mon Sep 17 00:00:00 2001 From: "Mark H. Wood" Date: Wed, 13 Sep 2023 09:27:48 -0400 Subject: [PATCH 05/14] Fix missed Checkstyle complaints. --- .../main/java/org/dspace/rest/FilteredItemsResource.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/dspace-rest/src/main/java/org/dspace/rest/FilteredItemsResource.java b/dspace-rest/src/main/java/org/dspace/rest/FilteredItemsResource.java index ce1c977b2087..7b981d15c929 100644 --- a/dspace-rest/src/main/java/org/dspace/rest/FilteredItemsResource.java +++ b/dspace-rest/src/main/java/org/dspace/rest/FilteredItemsResource.java @@ -142,11 +142,13 @@ public org.dspace.rest.common.ItemFilter getItemQuery(@QueryParam("expand") Stri List> listFieldList = getMetadataFieldsList(context, query_field); Iterator childItems = itemService - .findByMetadataQuery(context.getSession(), listFieldList, query_op, query_val, uuids, regexClause, offset, limit); + .findByMetadataQuery(context.getSession(), listFieldList, + query_op, query_val, uuids, regexClause, offset, limit); int count = itemFilterSet.processSaveItems(context, servletContext, childItems, true, expand); - writeStats(siteService.findSite(context.getSession()), UsageEvent.Action.VIEW, user_ip, user_agent, xforwardedfor, - headers, request, context); + writeStats(siteService.findSite(context.getSession()), + UsageEvent.Action.VIEW, user_ip, user_agent, xforwardedfor, + headers, request, context); result.annotateQuery(query_field, query_op, query_val); result.setUnfilteredItemCount(count); context.complete(); From 6b02305a2914c3a26337254cb15b6547ec43ed18 Mon Sep 17 00:00:00 2001 From: "Mark H. Wood" Date: Fri, 15 Sep 2023 15:11:09 -0400 Subject: [PATCH 06/14] Fix more find methods. --- .../dspace/administer/MetadataExporter.java | 2 +- .../org/dspace/administer/RegistryLoader.java | 4 +- .../dspace/app/bulkedit/MetadataImport.java | 29 +-- .../app/itemimport/ItemImportServiceImpl.java | 2 +- .../mediafilter/MediaFilterServiceImpl.java | 2 +- .../app/util/GoogleBitstreamComparator.java | 6 +- .../dspace/app/util/InitializeEntities.java | 7 +- .../authorize/AuthorizeServiceImpl.java | 24 +-- .../authorize/ResourcePolicyServiceImpl.java | 67 +++---- .../service/ResourcePolicyService.java | 76 ++++---- .../org/dspace/checker/CheckerCommand.java | 6 +- .../checker/ChecksumHistoryServiceImpl.java | 8 +- .../checker/ChecksumResultServiceImpl.java | 14 +- .../MostRecentChecksumServiceImpl.java | 64 ++----- .../org/dspace/checker/SimpleDispatcher.java | 4 +- .../checker/SimpleReporterServiceImpl.java | 8 +- .../service/ChecksumResultService.java | 6 +- .../service/MostRecentChecksumService.java | 42 ++++- .../content/BitstreamFormatServiceImpl.java | 43 ++--- .../dspace/content/BitstreamServiceImpl.java | 4 +- .../dspace/content/CollectionServiceImpl.java | 7 +- .../dspace/content/CommunityServiceImpl.java | 4 +- .../content/DSpaceObjectServiceImpl.java | 3 +- .../org/dspace/content/EntityServiceImpl.java | 13 +- .../dspace/content/EntityTypeServiceImpl.java | 20 +- .../org/dspace/content/ItemServiceImpl.java | 23 +-- .../java/org/dspace/content/LicenseUtils.java | 2 +- .../content/MetadataSchemaServiceImpl.java | 8 +- .../RelationshipMetadataServiceImpl.java | 55 +++--- .../content/RelationshipServiceImpl.java | 22 ++- .../content/RelationshipTypeServiceImpl.java | 42 ++--- .../content/WorkspaceItemServiceImpl.java | 39 ++-- .../content/crosswalk/AIPTechMDCrosswalk.java | 2 +- .../crosswalk/OREIngestionCrosswalk.java | 6 +- .../content/crosswalk/PREMISCrosswalk.java | 8 +- .../packager/AbstractMETSIngester.java | 11 +- .../dspace/content/packager/PDFPackager.java | 4 +- .../dspace/content/packager/PackageUtils.java | 6 +- .../service/BitstreamFormatService.java | 21 ++- .../content/service/CollectionService.java | 4 +- .../content/service/CommunityService.java | 2 +- .../content/service/EntityTypeService.java | 13 +- .../service/MetadataSchemaService.java | 8 +- .../service/RelationshipTypeService.java | 51 +++--- .../content/service/WorkspaceItemService.java | 29 +-- .../dspace/ctask/general/ProfileFormats.java | 12 +- .../curate/XmlWorkflowCuratorServiceImpl.java | 9 +- .../org/dspace/discovery/SolrServiceImpl.java | 10 +- .../ClaimedTaskIndexFactoryImpl.java | 4 +- .../indexobject/ItemIndexFactoryImpl.java | 4 +- .../indexobject/PoolTaskIndexFactoryImpl.java | 2 +- .../WorkflowItemIndexFactoryImpl.java | 6 +- .../WorkspaceItemIndexFactoryImpl.java | 5 +- .../dspace/eperson/AccountServiceImpl.java | 4 +- .../dspace/eperson/EPersonServiceImpl.java | 9 +- .../org/dspace/eperson/GroupServiceImpl.java | 13 +- .../eperson/RegistrationDataServiceImpl.java | 13 +- .../service/RegistrationDataService.java | 5 +- .../dspace/identifier/doi/DOIConsumer.java | 8 +- .../license/CreativeCommonsServiceImpl.java | 17 +- .../factory/impl/OrcidFundingFactory.java | 2 +- .../main/java/org/dspace/rdf/RDFConsumer.java | 12 +- .../org/dspace/service/DSpaceCRUDService.java | 3 +- .../SupervisionOrderServiceImpl.java | 5 +- .../DefaultItemVersionProvider.java | 4 +- .../versioning/VersionHistoryServiceImpl.java | 7 +- .../dspace/versioning/VersioningConsumer.java | 2 +- .../versioning/VersioningServiceImpl.java | 4 +- .../dspace/workflow/WorkflowItemService.java | 21 ++- .../xmlworkflow/XmlWorkflowServiceImpl.java | 14 +- .../migration/RestartWorkflow.java | 3 +- .../processingaction/ProcessingAction.java | 2 +- .../AssignOriginalSubmitterAction.java | 2 +- .../userassignment/AutoAssignAction.java | 4 +- .../ClaimedTaskServiceImpl.java | 43 ++--- .../InProgressUserServiceImpl.java | 5 +- .../storedcomponents/PoolTaskServiceImpl.java | 5 +- .../WorkflowItemRoleServiceImpl.java | 5 +- .../XmlWorkflowItemServiceImpl.java | 45 ++--- .../service/ClaimedTaskService.java | 23 +-- .../service/XmlWorkflowItemService.java | 15 +- .../org/dspace/builder/BitstreamBuilder.java | 2 +- .../builder/BitstreamFormatBuilder.java | 2 +- .../dspace/builder/ClaimedTaskBuilder.java | 2 +- .../dspace/builder/RelationshipBuilder.java | 2 +- .../dspace/builder/ResourcePolicyBuilder.java | 3 +- .../dspace/builder/WorkflowItemBuilder.java | 4 +- .../dspace/builder/WorkspaceItemBuilder.java | 4 +- .../dspace/content/BitstreamFormatTest.java | 32 ++-- .../org/dspace/content/BitstreamTest.java | 8 +- .../dspace/content/EntityServiceImplTest.java | 13 +- .../content/EntityTypeServiceImplTest.java | 7 +- .../dspace/content/FormatIdentifierTest.java | 2 +- .../java/org/dspace/content/ItemTest.java | 29 +-- .../dspace/content/MetadataSchemaTest.java | 10 +- .../content/RelationshipServiceImplTest.java | 4 +- ...RelationshipServiceImplVersioningTest.java | 18 +- .../dspace/content/RelationshipTypeTest.java | 12 +- .../org/dspace/content/VersioningTest.java | 2 +- .../VersioningWithRelationshipsTest.java | 26 +-- .../org/dspace/content/WorkspaceItemTest.java | 14 +- .../dao/RelationshipTypeDAOImplTest.java | 12 +- .../content/service/ItemServiceTest.java | 2 +- .../java/org/dspace/eperson/EPersonTest.java | 7 +- .../SupervisionOrderServiceIT.java | 2 +- .../org/dspace/rest/BitstreamResource.java | 6 +- .../java/org/dspace/rest/ItemsResource.java | 4 +- .../dspace/rest/MetadataRegistryResource.java | 2 +- .../rest/EntityTypeLabelRestController.java | 2 +- ...rcePolicyEPersonReplaceRestController.java | 2 +- ...ourcePolicyGroupReplaceRestController.java | 2 +- .../authorization/impl/DeleteFeature.java | 2 +- .../BitstreamFormatRestRepository.java | 8 +- .../repository/ClaimedTaskRestRepository.java | 19 +- .../ClaimedTaskStepLinkRepository.java | 2 +- .../repository/CollectionRestRepository.java | 4 +- .../repository/EPersonRestRepository.java | 2 +- .../EntityTypeRelationshipLinkRepository.java | 4 +- .../repository/EntityTypeRestRepository.java | 10 +- .../rest/repository/ItemRestRepository.java | 2 +- .../MetadataSchemaRestRepository.java | 2 +- .../repository/PoolTaskRestRepository.java | 6 +- .../PoolTaskStepLinkRepository.java | 2 +- .../RegistrationRestRepository.java | 2 +- .../RelationshipRestRepository.java | 14 +- ...ionshipTypeRelationshipLinkRepository.java | 2 +- .../RelationshipTypeRestRepository.java | 13 +- .../ResourcePolicyRestRepository.java | 33 ++-- .../SupervisionOrderRestRepository.java | 4 +- ...sionHistoryDraftVersionLinkRepository.java | 8 +- .../VersionHistoryRestRepository.java | 2 +- .../repository/VersionRestRepository.java | 8 +- .../repository/VersionsLinkRepository.java | 2 +- .../WorkflowItemRestRepository.java | 19 +- .../WorkflowItemStepLinkRepository.java | 4 +- .../WorkspaceItemRestRepository.java | 16 +- ...ceItemSupervisionOrdersLinkRepository.java | 2 +- ...rnalSourceEntryPoolTaskUriListHandler.java | 4 +- ...imedTaskRestPermissionEvaluatorPlugin.java | 2 +- ...orOfAInprogressSubmissionInformations.java | 16 +- ...PoolTaskRestPermissionEvaluatorPlugin.java | 2 +- ...PolicyAdminPermissionEvalutatorPlugin.java | 2 +- ...WorkflowRestPermissionEvaluatorPlugin.java | 4 +- ...paceItemRestPermissionEvaluatorPlugin.java | 2 +- .../app/rest/submit/SubmissionService.java | 2 +- .../AccessConditionRemovePatchOperation.java | 5 +- .../AccessConditionReplacePatchOperation.java | 3 +- ...eamResourcePolicyRemovePatchOperation.java | 2 +- .../ItemMetadataValueAddPatchOperation.java | 5 +- .../java/org/dspace/app/rest/utils/Utils.java | 2 +- .../app/rest/BitstreamRestControllerIT.java | 2 +- .../app/rest/BitstreamRestRepositoryIT.java | 8 +- .../app/rest/DiscoveryVersioningIT.java | 10 +- .../app/rest/EPersonRestRepositoryIT.java | 120 ++++++------ .../rest/EntityTypeLabelRestControllerIT.java | 2 +- .../app/rest/EntityTypeRestRepositoryIT.java | 171 ++++++++++-------- .../dspace/app/rest/InitializeEntitiesIT.java | 10 +- .../rest/MetadataSchemaRestRepositoryIT.java | 2 +- .../rest/MetadatafieldRestRepositoryIT.java | 2 +- .../org/dspace/app/rest/PatchMetadataIT.java | 16 +- .../RelationshipDeleteRestRepositoryIT.java | 26 +-- .../rest/RelationshipRestRepositoryIT.java | 153 +++++++++------- .../RelationshipTypeRestControllerIT.java | 97 +++++----- .../RelationshipTypeRestRepositoryIT.java | 31 ++-- .../rest/SubmissionShowIdentifiersRestIT.java | 2 +- .../SupervisionOrderRestRepositoryIT.java | 8 +- .../rest/VersionHistoryRestRepositoryIT.java | 4 +- .../app/rest/VersionRestRepositoryIT.java | 4 +- .../CanDeleteVersionFeatureIT.java | 8 +- .../authorization/CanSubscribeFeatureIT.java | 6 +- .../org/dspace/app/rest/csv/CsvImportIT.java | 7 +- .../eperson/DeleteEPersonSubmitterIT.java | 4 +- .../test/AbstractEntityIntegrationTest.java | 2 +- .../org/dspace/sword/CollectionDepositor.java | 2 +- .../java/org/dspace/sword/ItemDepositor.java | 2 +- .../org/dspace/sword/SWORDConfiguration.java | 14 +- .../java/org/dspace/sword/SWORDService.java | 6 +- .../org/dspace/sword/SimpleFileIngester.java | 3 +- .../sword2/AbstractSwordContentIngester.java | 2 +- .../sword2/CollectionListManagerDSpace.java | 4 +- .../org/dspace/sword2/DSpaceSwordAPI.java | 6 +- .../sword2/SwordConfigurationDSpace.java | 31 +++- .../java/org/dspace/sword2/WorkflowTools.java | 8 +- 183 files changed, 1277 insertions(+), 1144 deletions(-) diff --git a/dspace-api/src/main/java/org/dspace/administer/MetadataExporter.java b/dspace-api/src/main/java/org/dspace/administer/MetadataExporter.java index 140f86e843ad..e8b9edb51a4f 100644 --- a/dspace-api/src/main/java/org/dspace/administer/MetadataExporter.java +++ b/dspace-api/src/main/java/org/dspace/administer/MetadataExporter.java @@ -186,7 +186,7 @@ public static void saveSchema(Context context, Document document, String schema) saveSchema(document, mdSchema); } else { // Find all schemas - List mdSchemas = metadataSchemaService.findAll(context); + List mdSchemas = metadataSchemaService.findAll(context.getSession()); for (MetadataSchema mdSchema : mdSchemas) { saveSchema(document, mdSchema); diff --git a/dspace-api/src/main/java/org/dspace/administer/RegistryLoader.java b/dspace-api/src/main/java/org/dspace/administer/RegistryLoader.java index bbf320a0d5e5..3dea48a1e137 100644 --- a/dspace-api/src/main/java/org/dspace/administer/RegistryLoader.java +++ b/dspace-api/src/main/java/org/dspace/administer/RegistryLoader.java @@ -170,11 +170,11 @@ private static void loadFormat(Context context, Node node) String[] extensions = getRepeatedElementData(node, "extension"); // Check if this format already exists in our registry (by mime type) - BitstreamFormat exists = bitstreamFormatService.findByMIMEType(context, mimeType); + BitstreamFormat exists = bitstreamFormatService.findByMIMEType(context.getSession(), mimeType); // If not found by mimeType, check by short description (since this must also be unique) if (exists == null) { - exists = bitstreamFormatService.findByShortDescription(context, shortDesc); + exists = bitstreamFormatService.findByShortDescription(context.getSession(), shortDesc); } // If it doesn't exist, create it..otherwise skip it. diff --git a/dspace-api/src/main/java/org/dspace/app/bulkedit/MetadataImport.java b/dspace-api/src/main/java/org/dspace/app/bulkedit/MetadataImport.java index 472f23aec412..e40eaccda888 100644 --- a/dspace-api/src/main/java/org/dspace/app/bulkedit/MetadataImport.java +++ b/dspace-api/src/main/java/org/dspace/app/bulkedit/MetadataImport.java @@ -813,7 +813,7 @@ protected void compareAndUpdate(Context c, Item item, String[] fromCSV, boolean if (StringUtils.equals(schema, MetadataSchemaEnum.RELATION.getName())) { List relationshipTypeList = relationshipTypeService - .findByLeftwardOrRightwardTypeName(c, element); + .findByLeftwardOrRightwardTypeName(c.getSession(), element); for (RelationshipType relationshipType : relationshipTypeList) { for (Relationship relationship : relationshipService .findByItemAndRelationshipType(c.getSession(), item, relationshipType)) { @@ -901,7 +901,8 @@ private void addRelationship(Context c, Item item, String typeName, String value "type", Item.ANY).get(0).getValue(); // Get the correct RelationshipType based on typeName - List relType = relationshipTypeService.findByLeftwardOrRightwardTypeName(c, typeName); + List relType + = relationshipTypeService.findByLeftwardOrRightwardTypeName(c.getSession(), typeName); RelationshipType foundRelationshipType = matchRelationshipType(relType, relationEntityRelationshipType, itemRelationshipType, typeName); @@ -1222,8 +1223,8 @@ private int displayChanges(List changes, boolean changed) { List removes = change.getRemoves(); List newCollections = change.getNewMappedCollections(); List oldCollections = change.getOldMappedCollections(); - if ((adds.size() > 0) || (removes.size() > 0) || - (newCollections.size() > 0) || (oldCollections.size() > 0) || + if ((!adds.isEmpty()) || (!removes.isEmpty()) || + (!newCollections.isEmpty()) || (!oldCollections.isEmpty()) || (change.getNewOwningCollection() != null) || (change.getOldOwningCollection() != null) || (change.isDeleted()) || (change.isWithdrawn()) || (change.isReinstated())) { // Show the item @@ -1648,8 +1649,7 @@ private void validateExpressedRelations(Context c) throws MetadataImportExceptio try { // Get the type of reference. Attempt lookup in processed map first before looking in archive. if (entityTypeMap.get(UUID.fromString(targetUUID)) != null) { - targetType = entityTypeService. - findByEntityType(c, + targetType = entityTypeService.findByEntityType(c.getSession(), entityTypeMap.get(UUID.fromString(targetUUID))) .getLabel(); } else { @@ -1664,7 +1664,7 @@ private void validateExpressedRelations(Context c) throws MetadataImportExceptio String relTypeValue = null; if (!relTypes.isEmpty()) { relTypeValue = relTypes.get(0).getValue(); - targetType = entityTypeService.findByEntityType(c, relTypeValue).getLabel(); + targetType = entityTypeService.findByEntityType(c.getSession(), relTypeValue).getLabel(); } else { relationValidationErrors.add("Cannot resolve Entity type for target UUID: " + targetUUID); @@ -1703,7 +1703,7 @@ private void validateExpressedRelations(Context c) throws MetadataImportExceptio Item originItem = null; if (itemService.find(c.getSession(), UUID.fromString(targetUUID)) != null) { DSpaceCSVLine dSpaceCSVLine = this.csv.getCSVLines() - .get(Integer.valueOf(originRow) - 1); + .get(Integer.parseInt(originRow) - 1); List relTypes = dSpaceCSVLine.get("dspace.entity.type"); if (relTypes == null || relTypes.isEmpty()) { dSpaceCSVLine.get("dspace.entity.type[]"); @@ -1712,7 +1712,8 @@ private void validateExpressedRelations(Context c) throws MetadataImportExceptio if (relTypes != null && !relTypes.isEmpty()) { String relTypeValue = relTypes.get(0); relTypeValue = StringUtils.remove(relTypeValue, "\"").trim(); - originType = entityTypeService.findByEntityType(c, relTypeValue).getLabel(); + originType = entityTypeService.findByEntityType(c.getSession(), relTypeValue) + .getLabel(); validateTypesByTypeByTypeName(c, targetType, originType, typeName, originRow); } else { originItem = itemService.find(c.getSession(), UUID.fromString(originRefererUUID)); @@ -1723,7 +1724,9 @@ private void validateExpressedRelations(Context c) throws MetadataImportExceptio Item.ANY); if (!mdv.isEmpty()) { String relTypeValue = mdv.get(0).getValue(); - originType = entityTypeService.findByEntityType(c, relTypeValue).getLabel(); + originType = entityTypeService.findByEntityType(c.getSession(), + relTypeValue) + .getLabel(); validateTypesByTypeByTypeName(c, targetType, originType, typeName, originRow); } else { @@ -1774,9 +1777,9 @@ private void validateTypesByTypeByTypeName(Context c, throws MetadataImportException { try { RelationshipType foundRelationshipType = null; - List relationshipTypeList = relationshipTypeService. - findByLeftwardOrRightwardTypeName( - c, typeName.split("\\.")[1]); + List relationshipTypeList + = relationshipTypeService.findByLeftwardOrRightwardTypeName( + c.getSession(), typeName.split("\\.")[1]); // Validate described relationship form the CSV. foundRelationshipType = matchRelationshipType(relationshipTypeList, targetType, originType, typeName); if (foundRelationshipType == null) { diff --git a/dspace-api/src/main/java/org/dspace/app/itemimport/ItemImportServiceImpl.java b/dspace-api/src/main/java/org/dspace/app/itemimport/ItemImportServiceImpl.java index abba6a36931a..59d2f3e5f6a0 100644 --- a/dspace-api/src/main/java/org/dspace/app/itemimport/ItemImportServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/app/itemimport/ItemImportServiceImpl.java @@ -396,7 +396,7 @@ protected void addRelationship(Context c, Item item, Item relationItem, String r // find matching relationship type List relTypes = relationshipTypeService.findByLeftwardOrRightwardTypeName( - c, relationshipType); + c.getSession(), relationshipType); RelationshipType foundRelationshipType = RelationshipUtils.matchRelationshipType( relTypes, relatedEntityType, itemEntityType, relationshipType); diff --git a/dspace-api/src/main/java/org/dspace/app/mediafilter/MediaFilterServiceImpl.java b/dspace-api/src/main/java/org/dspace/app/mediafilter/MediaFilterServiceImpl.java index eb50f08c8614..4ea4cbe15705 100644 --- a/dspace-api/src/main/java/org/dspace/app/mediafilter/MediaFilterServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/app/mediafilter/MediaFilterServiceImpl.java @@ -380,7 +380,7 @@ public boolean processBitstream(Context context, Item item, Bitstream source, Fo " on " + DCDate.getCurrent() + " (GMT)."); b.setDescription(context, formatFilter.getDescription()); // Set the format of the bitstream - BitstreamFormat bf = bitstreamFormatService.findByShortDescription(context, + BitstreamFormat bf = bitstreamFormatService.findByShortDescription(context.getSession(), formatFilter.getFormatString()); bitstreamService.setFormat(context, b, bf); bitstreamService.update(context, b); diff --git a/dspace-api/src/main/java/org/dspace/app/util/GoogleBitstreamComparator.java b/dspace-api/src/main/java/org/dspace/app/util/GoogleBitstreamComparator.java index ae6ba7e83f55..342fe4cb8b20 100644 --- a/dspace-api/src/main/java/org/dspace/app/util/GoogleBitstreamComparator.java +++ b/dspace-api/src/main/java/org/dspace/app/util/GoogleBitstreamComparator.java @@ -42,8 +42,9 @@ public GoogleBitstreamComparator(Context context, Map googleScho int priority = 1; for (String s : shortDescriptions) { try { - BitstreamFormat format = ContentServiceFactory.getInstance().getBitstreamFormatService() - .findByShortDescription(context, s); + BitstreamFormat format = ContentServiceFactory.getInstance() + .getBitstreamFormatService() + .findByShortDescription(context.getSession(), s); if (format != null) { priorityMap.put(format.getMIMEType(), priority); } else { @@ -79,6 +80,7 @@ private String[] splitAndTrim(String toSplit) { * @param b2 second bitstream * @return */ + @Override public int compare(Bitstream b1, Bitstream b2) { int priority1 = getPriorityFromBitstream(b1); int priority2 = getPriorityFromBitstream(b2); diff --git a/dspace-api/src/main/java/org/dspace/app/util/InitializeEntities.java b/dspace-api/src/main/java/org/dspace/app/util/InitializeEntities.java index 0a072a9819eb..6551bc307e4a 100644 --- a/dspace-api/src/main/java/org/dspace/app/util/InitializeEntities.java +++ b/dspace-api/src/main/java/org/dspace/app/util/InitializeEntities.java @@ -195,11 +195,11 @@ private void populateRelationshipType(Context context, String leftType, String r Boolean copyToLeft, Boolean copyToRight, RelationshipType.Tilted tilted) throws SQLException, AuthorizeException { - EntityType leftEntityType = entityTypeService.findByEntityType(context,leftType); + EntityType leftEntityType = entityTypeService.findByEntityType(context.getSession(),leftType); if (leftEntityType == null) { leftEntityType = entityTypeService.create(context, leftType); } - EntityType rightEntityType = entityTypeService.findByEntityType(context, rightType); + EntityType rightEntityType = entityTypeService.findByEntityType(context.getSession(), rightType); if (rightEntityType == null) { rightEntityType = entityTypeService.create(context, rightType); } @@ -228,7 +228,8 @@ private void populateRelationshipType(Context context, String leftType, String r rightCardinalityMaxInteger = null; } RelationshipType relationshipType = relationshipTypeService - .findbyTypesAndTypeName(context, leftEntityType, rightEntityType, leftwardType, rightwardType); + .findbyTypesAndTypeName(context.getSession(), leftEntityType, rightEntityType, + leftwardType, rightwardType); if (relationshipType == null) { relationshipTypeService.create(context, leftEntityType, rightEntityType, leftwardType, rightwardType, leftCardinalityMinInteger, leftCardinalityMaxInteger, diff --git a/dspace-api/src/main/java/org/dspace/authorize/AuthorizeServiceImpl.java b/dspace-api/src/main/java/org/dspace/authorize/AuthorizeServiceImpl.java index fc438c234cda..427b352b71a9 100644 --- a/dspace-api/src/main/java/org/dspace/authorize/AuthorizeServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/authorize/AuthorizeServiceImpl.java @@ -284,8 +284,8 @@ protected boolean authorize(Context c, DSpaceObject o, int action, EPerson e, bo // the isArchived check is fast and would exclude the possibility that the item // is a workspace or workflow without further queries if (!((Item) o).isArchived() && - (workspaceItemService.findByItem(c, (Item) o) != null || - workflowItemService.findByItem(c, (Item) o) != null)) { + (workspaceItemService.findByItem(c.getSession(), (Item) o) != null || + workflowItemService.findByItem(c.getSession(), (Item) o) != null)) { ignoreCustomPolicies = true; } } @@ -346,8 +346,8 @@ protected boolean isAnyItemInstalled(Context ctx, List bundles) throws SQLException { for (Bundle bundle : bundles) { for (Item item : bundle.getItems()) { - if (workspaceItemService.findByItem(ctx, item) == null - && workflowItemService.findByItem(ctx, item) == null) { + if (workspaceItemService.findByItem(ctx.getSession(), item) == null + && workflowItemService.findByItem(ctx.getSession(), item) == null) { return true; } } @@ -486,25 +486,25 @@ public void addPolicy(Context c, DSpaceObject o, int actionID, @Override public List getPolicies(Context c, DSpaceObject o) throws SQLException { - return resourcePolicyService.find(c, o); + return resourcePolicyService.find(c.getSession(), o); } @Override public List findPoliciesByDSOAndType(Context c, DSpaceObject o, String type) throws SQLException { - return resourcePolicyService.find(c, o, type); + return resourcePolicyService.find(c.getSession(), o, type); } @Override public List getPoliciesForGroup(Context c, Group g) throws SQLException { - return resourcePolicyService.find(c, g); + return resourcePolicyService.find(c.getSession(), g); } @Override public List getPoliciesActionFilter(Context c, DSpaceObject o, int actionID) throws SQLException { - return resourcePolicyService.find(c, o, actionID); + return resourcePolicyService.find(c.getSession(), o, actionID); } @Override @@ -640,13 +640,13 @@ public boolean isAnIdenticalPolicyAlreadyInPlace(Context c, DSpaceObject o, Reso @Override public boolean isAnIdenticalPolicyAlreadyInPlace(Context c, DSpaceObject dso, Group group, int action, int policyID) throws SQLException { - return !resourcePolicyService.findByTypeGroupActionExceptId(c, dso, group, action, policyID).isEmpty(); + return !resourcePolicyService.findByTypeGroupActionExceptId(c.getSession(), dso, group, action, policyID).isEmpty(); } @Override public ResourcePolicy findByTypeGroupAction(Context c, DSpaceObject dso, Group group, int action) throws SQLException { - List policies = resourcePolicyService.find(c, dso, group, action); + List policies = resourcePolicyService.find(c.getSession(), dso, group, action); if (CollectionUtils.isNotEmpty(policies)) { return policies.iterator().next(); @@ -693,7 +693,7 @@ public ResourcePolicy createOrModifyPolicy(ResourcePolicy policy, Context contex ResourcePolicy policyTemp = null; if (policy != null) { List duplicates = resourcePolicyService - .findByTypeGroupActionExceptId(context, dso, group, action, policy.getID()); + .findByTypeGroupActionExceptId(context.getSession(), dso, group, action, policy.getID()); if (!duplicates.isEmpty()) { policy = duplicates.get(0); } @@ -727,7 +727,7 @@ public ResourcePolicy createOrModifyPolicy(ResourcePolicy policy, Context contex @Override public List getPoliciesActionFilterExceptRpType(Context c, DSpaceObject o, int actionID, String rpType) throws SQLException { - return resourcePolicyService.findExceptRpType(c, o, actionID, rpType); + return resourcePolicyService.findExceptRpType(c.getSession(), o, actionID, rpType); } /** diff --git a/dspace-api/src/main/java/org/dspace/authorize/ResourcePolicyServiceImpl.java b/dspace-api/src/main/java/org/dspace/authorize/ResourcePolicyServiceImpl.java index 18286f4ba9b6..4b6fc735cafd 100644 --- a/dspace-api/src/main/java/org/dspace/authorize/ResourcePolicyServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/authorize/ResourcePolicyServiceImpl.java @@ -26,6 +26,7 @@ import org.dspace.eperson.EPerson; import org.dspace.eperson.Group; import org.dspace.eperson.service.GroupService; +import org.hibernate.Session; import org.springframework.beans.factory.annotation.Autowired; /** @@ -51,14 +52,14 @@ protected ResourcePolicyServiceImpl() { /** * Get an ResourcePolicy from the database. * - * @param context DSpace context object + * @param session current request's database context. * @param id ID of the ResourcePolicy * @return the ResourcePolicy format, or null if the ID is invalid. * @throws SQLException if database error */ @Override - public ResourcePolicy find(Context context, int id) throws SQLException { - return resourcePolicyDAO.findByID(context.getSession(), ResourcePolicy.class, id); + public ResourcePolicy find(Session session, int id) throws SQLException { + return resourcePolicyDAO.findByID(session.getSession(), ResourcePolicy.class, id); } /** @@ -78,47 +79,47 @@ public ResourcePolicy create(Context context) throws SQLException { } @Override - public List find(Context c, DSpaceObject o) throws SQLException { - return resourcePolicyDAO.findByDso(c.getSession(), o); + public List find(Session s, DSpaceObject o) throws SQLException { + return resourcePolicyDAO.findByDso(s, o); } @Override - public List find(Context c, DSpaceObject o, String type) throws SQLException { - return resourcePolicyDAO.findByDsoAndType(c.getSession(), o, type); + public List find(Session s, DSpaceObject o, String type) throws SQLException { + return resourcePolicyDAO.findByDsoAndType(s, o, type); } @Override - public List find(Context context, Group group) throws SQLException { - return resourcePolicyDAO.findByGroup(context.getSession(), group); + public List find(Session session, Group group) throws SQLException { + return resourcePolicyDAO.findByGroup(session, group); } @Override - public List find(Context c, DSpaceObject o, int actionId) throws SQLException { - return resourcePolicyDAO.findByDSoAndAction(c.getSession(), o, actionId); + public List find(Session s, DSpaceObject o, int actionId) throws SQLException { + return resourcePolicyDAO.findByDSoAndAction(s, o, actionId); } @Override - public List find(Context c, DSpaceObject dso, Group group, int action) throws SQLException { - return resourcePolicyDAO.findByTypeGroupAction(c.getSession(), dso, group, action); + public List find(Session s, DSpaceObject dso, Group group, int action) throws SQLException { + return resourcePolicyDAO.findByTypeGroupAction(s, dso, group, action); } @Override - public List find(Context c, EPerson e, List groups, int action, int type_id) + public List find(Session s, EPerson e, List groups, int action, int type_id) throws SQLException { - return resourcePolicyDAO.findByEPersonGroupTypeIdAction(c.getSession(), e, groups, action, type_id); + return resourcePolicyDAO.findByEPersonGroupTypeIdAction(s, e, groups, action, type_id); } @Override - public List find(Context context, EPerson ePerson) throws SQLException { - return resourcePolicyDAO.findByEPerson(context.getSession(), ePerson); + public List find(Session session, EPerson ePerson) throws SQLException { + return resourcePolicyDAO.findByEPerson(session, ePerson); } @Override - public List findByTypeGroupActionExceptId(Context context, DSpaceObject dso, Group group, + public List findByTypeGroupActionExceptId(Session session, DSpaceObject dso, Group group, int action, int notPolicyID) throws SQLException { - return resourcePolicyDAO.findByTypeGroupActionExceptId(context.getSession(), + return resourcePolicyDAO.findByTypeGroupActionExceptId(session, dso, group, action, notPolicyID); } @@ -329,15 +330,15 @@ public void update(Context context, List resourcePolicies) throw } @Override - public List findExceptRpType(Context c, DSpaceObject o, int actionID, String rpType) + public List findExceptRpType(Session s, DSpaceObject o, int actionID, String rpType) throws SQLException { - return resourcePolicyDAO.findByDSoAndActionExceptRpType(c.getSession(), o, actionID, rpType); + return resourcePolicyDAO.findByDSoAndActionExceptRpType(s.getSession(), o, actionID, rpType); } @Override - public List findByEPerson(Context context, EPerson ePerson, int offset, int limit) + public List findByEPerson(Session session, EPerson ePerson, int offset, int limit) throws SQLException { - return resourcePolicyDAO.findByEPerson(context.getSession(), ePerson, offset, limit); + return resourcePolicyDAO.findByEPerson(session, ePerson, offset, limit); } @Override @@ -346,9 +347,9 @@ public int countByEPerson(Context context, EPerson eperson) throws SQLException } @Override - public List findByEPersonAndResourceUuid(Context context, EPerson eperson, UUID resourceUuid, + public List findByEPersonAndResourceUuid(Session session, EPerson eperson, UUID resourceUuid, int offset, int limit) throws SQLException { - return resourcePolicyDAO.findByEPersonAndResourceUuid(context.getSession(), + return resourcePolicyDAO.findByEPersonAndResourceUuid(session, eperson, resourceUuid, offset, limit); } @@ -359,9 +360,9 @@ public int countResourcePoliciesByEPersonAndResourceUuid(Context context, EPerso } @Override - public List findByResouceUuidAndActionId(Context context, UUID resourceUuid, int actionId, + public List findByResouceUuidAndActionId(Session session, UUID resourceUuid, int actionId, int offset, int limit) throws SQLException { - return resourcePolicyDAO.findByResouceUuidAndActionId(context.getSession(), + return resourcePolicyDAO.findByResouceUuidAndActionId(session, resourceUuid, actionId, offset, limit); } @@ -371,9 +372,9 @@ public int countByResouceUuidAndActionId(Context context, UUID resourceUuid, int } @Override - public List findByResouceUuid(Context context, UUID resourceUuid, int offset, int limit) + public List findByResouceUuid(Session session, UUID resourceUuid, int offset, int limit) throws SQLException { - return resourcePolicyDAO.findByResouceUuid(context.getSession(), resourceUuid, offset, limit); + return resourcePolicyDAO.findByResouceUuid(session, resourceUuid, offset, limit); } @Override @@ -382,8 +383,8 @@ public int countByResourceUuid(Context context, UUID resourceUuid) throws SQLExc } @Override - public List findByGroup(Context context, Group group, int offset, int limit) throws SQLException { - return resourcePolicyDAO.findByGroup(context.getSession(), group, offset, limit); + public List findByGroup(Session session, Group group, int offset, int limit) throws SQLException { + return resourcePolicyDAO.findByGroup(session, group, offset, limit); } @Override @@ -392,9 +393,9 @@ public int countResourcePolicyByGroup(Context context, Group group) throws SQLEx } @Override - public List findByGroupAndResourceUuid(Context context, Group group, UUID resourceUuid, + public List findByGroupAndResourceUuid(Session session, Group group, UUID resourceUuid, int offset, int limit) throws SQLException { - return resourcePolicyDAO.findByGroupAndResourceUuid(context.getSession(), group, resourceUuid, offset, limit); + return resourcePolicyDAO.findByGroupAndResourceUuid(session, group, resourceUuid, offset, limit); } @Override diff --git a/dspace-api/src/main/java/org/dspace/authorize/service/ResourcePolicyService.java b/dspace-api/src/main/java/org/dspace/authorize/service/ResourcePolicyService.java index 43735fcd6089..9624354ce87a 100644 --- a/dspace-api/src/main/java/org/dspace/authorize/service/ResourcePolicyService.java +++ b/dspace-api/src/main/java/org/dspace/authorize/service/ResourcePolicyService.java @@ -18,6 +18,7 @@ import org.dspace.eperson.EPerson; import org.dspace.eperson.Group; import org.dspace.service.DSpaceCRUDService; +import org.hibernate.Session; /** * Service interface class for the ResourcePolicy object. @@ -28,28 +29,27 @@ */ public interface ResourcePolicyService extends DSpaceCRUDService { + public List find(Session s, DSpaceObject o) throws SQLException; - public List find(Context c, DSpaceObject o) throws SQLException; + public List find(Session s, DSpaceObject o, String type) throws SQLException; - public List find(Context c, DSpaceObject o, String type) throws SQLException; + public List find(Session s, DSpaceObject o, int actionId) throws SQLException; - public List find(Context c, DSpaceObject o, int actionId) throws SQLException; + public List find(Session s, DSpaceObject dso, Group group, int action) throws SQLException; - public List find(Context c, DSpaceObject dso, Group group, int action) throws SQLException; - - public List find(Context context, Group group) throws SQLException; + public List find(Session session, Group group) throws SQLException; /** * Retrieve a list of ResourcePolicies by EPerson * - * @param c context + * @param s current request's database context. * @param ePerson the EPerson for which to look up the resource policies * @return a list of ResourcePolicies for the provided EPerson * @throws SQLException if there's a database problem */ - public List find(Context c, EPerson ePerson) throws SQLException; + public List find(Session s, EPerson ePerson) throws SQLException; - public List find(Context c, EPerson e, List groups, int action, int type_id) + public List find(Session s, EPerson e, List groups, int action, int type_id) throws SQLException; /** @@ -57,7 +57,7 @@ public List find(Context c, EPerson e, List groups, int a * IDs with a specific PolicyID. This method can be used to detect duplicate * ResourcePolicies. * - * @param context current DSpace session. + * @param session current request's database context. * @param dso find policies for this object. * @param group find policies referring to this group. * @param action find policies for this action. @@ -67,7 +67,7 @@ public List find(Context c, EPerson e, List groups, int a * action but other policyID. * @throws SQLException passed through. */ - public List findByTypeGroupActionExceptId(Context context, DSpaceObject dso, Group group, + public List findByTypeGroupActionExceptId(Session session, DSpaceObject dso, Group group, int action, int notPolicyID) throws SQLException; @@ -120,32 +120,32 @@ public void removeDsoAndTypeNotEqualsToPolicies(Context c, DSpaceObject o, Strin /** * Return a list of policies for an object that match the action except the record labeled with the rpType * - * @param c context + * @param s current request's database context. * @param o DSpaceObject policies relate to * @param actionID action (defined in class Constants) * @param rpType the resource policy type * @return list of resource policies * @throws SQLException if there's a database problem */ - public List findExceptRpType(Context c, DSpaceObject o, int actionID, String rpType) + public List findExceptRpType(Session s, DSpaceObject o, int actionID, String rpType) throws SQLException; /** * Return a paginated list of policies that belong to an EPerson - * - * @param context DSpace context object + * + * @param session current request's database context. * @param ePerson ePerson whose policies want to find * @param offset the position of the first result to return * @param limit paging limit * @return some of the policies referring to {@code ePerson}. * @throws SQLException if database error */ - public List findByEPerson(Context context, EPerson ePerson, int offset, int limit) + public List findByEPerson(Session session, EPerson ePerson, int offset, int limit) throws SQLException; /** * Count all the resource policies of the ePerson - * + * * @param context DSpace context object * @param ePerson ePerson whose policies want to count * @return total resource policies of the ePerson @@ -155,8 +155,8 @@ public List findByEPerson(Context context, EPerson ePerson, int /** * Return a paginated list of policies related to a resourceUuid belong to an ePerson - * - * @param context DSpace context object + * + * @param session current request's database context. * @param ePerson ePerson whose policies want to find * @param resourceUuid the uuid of an DSpace resource * @param offset the position of the first result to return @@ -164,12 +164,12 @@ public List findByEPerson(Context context, EPerson ePerson, int * @return list of resource policies * @throws SQLException if database error */ - public List findByEPersonAndResourceUuid(Context context, EPerson ePerson, UUID resourceUuid, + public List findByEPersonAndResourceUuid(Session session, EPerson ePerson, UUID resourceUuid, int offset, int limit) throws SQLException; /** * Count all the policies related to a resourceUuid belong to an ePerson - * + * * @param context DSpace context object * @param resourceUuid the uuid of an DSpace resource * @param ePerson ePerson whose policies want to find @@ -181,8 +181,8 @@ public int countResourcePoliciesByEPersonAndResourceUuid(Context context, EPerso /** * Return a paginated list of policies related to a DSpace resource filter by actionId - * - * @param context DSpace context object + * + * @param session current request's database context. * @param resourceUuid the uuid of an DSpace resource * @param actionId id relative to action as READ, WRITE, DELITE etc. * @param offset the position of the first result to return @@ -190,12 +190,12 @@ public int countResourcePoliciesByEPersonAndResourceUuid(Context context, EPerso * @return list of resource policies * @throws SQLException if database error */ - public List findByResouceUuidAndActionId(Context context, UUID resourceUuid, int actionId, + public List findByResouceUuidAndActionId(Session session, UUID resourceUuid, int actionId, int offset, int limit) throws SQLException; /** * Count all the policies related to a resourceUuid and actionId - * + * * @param context DSpace context object * @param resourceUuid the uuid of an DSpace resource * @param actionId id relative to action as READ, WRITE, DELITE etc. @@ -206,20 +206,20 @@ public List findByResouceUuidAndActionId(Context context, UUID r /** * Return a paginated list of policies related to a DSpace resource - * - * @param context DSpace context object + * + * @param session current request's database context. * @param resourceUuid the uuid of an DSpace resource * @param offset the position of the first result to return * @param limit paging limit * @return list of resource policies * @throws SQLException if database error */ - public List findByResouceUuid(Context context, UUID resourceUuid, int offset, int limit) + public List findByResouceUuid(Session session, UUID resourceUuid, int offset, int limit) throws SQLException; /** * Count all the policies by resourceUuid - * + * * @param context DSpace context object * @param resourceUuid the uuid of an DSpace resource * @return total policies @@ -229,19 +229,19 @@ public List findByResouceUuid(Context context, UUID resourceUuid /** * Return a paginated list of policies related to a group - * - * @param context DSpace context object + * + * @param session current request's database context. * @param group DSpace group * @param offset the position of the first result to return * @param limit paging limit * @return list of resource policies * @throws SQLException if database error */ - public List findByGroup(Context context, Group group, int offset, int limit) throws SQLException; + public List findByGroup(Session session, Group group, int offset, int limit) throws SQLException; /** * Count all the resource policies of the group - * + * * @param context DSpace context object * @param group DSpace group * @return total policies @@ -251,8 +251,8 @@ public List findByResouceUuid(Context context, UUID resourceUuid /** * Return a paginated list of policies related to a group and related to a resourceUuid - * - * @param context DSpace context object + * + * @param session current request's database context. * @param group DSpace group * @param resourceUuid the uuid of an DSpace resource * @param offset the position of the first result to return @@ -260,12 +260,12 @@ public List findByResouceUuid(Context context, UUID resourceUuid * @return list of resource policies * @throws SQLException if database error */ - public List findByGroupAndResourceUuid(Context context, Group group, UUID resourceUuid, + public List findByGroupAndResourceUuid(Session session, Group group, UUID resourceUuid, int offset, int limit) throws SQLException; /** * Count all the resource policies of the group and of the resourceUuid - * + * * @param context DSpace context object * @param group DSpace group * @param resourceUuid the uuid of an DSpace resource @@ -276,7 +276,7 @@ public List findByGroupAndResourceUuid(Context context, Group gr /** * Check if the resource policy identified with (id) belong to ePerson - * + * * @param context DSpace context object * @param eperson ePerson * @param id id of resource policy diff --git a/dspace-api/src/main/java/org/dspace/checker/CheckerCommand.java b/dspace-api/src/main/java/org/dspace/checker/CheckerCommand.java index a12ac3b98a2e..2941e388db87 100644 --- a/dspace-api/src/main/java/org/dspace/checker/CheckerCommand.java +++ b/dspace-api/src/main/java/org/dspace/checker/CheckerCommand.java @@ -44,7 +44,7 @@ public final class CheckerCommand { */ private static final Logger LOG = org.apache.logging.log4j.LogManager.getLogger(CheckerCommand.class); - private Context context; + private final Context context; /** * BitstreamInfoDAO dependency. @@ -145,7 +145,7 @@ public void process() throws SQLException { */ protected MostRecentChecksum checkBitstream(final Bitstream bitstream) throws SQLException { // get bitstream info from bitstream table - MostRecentChecksum info = checksumService.findByBitstream(context, bitstream); + MostRecentChecksum info = checksumService.findByBitstream(context.getSession(), bitstream); // requested id was not found in bitstream // or most_recent_checksum table @@ -288,7 +288,7 @@ protected void processBitstream(MostRecentChecksum info) throws SQLException { } protected ChecksumResult getChecksumResultByCode(ChecksumResultCode checksumResultCode) throws SQLException { - return checksumResultService.findByCode(context, checksumResultCode); + return checksumResultService.findByCode(context.getSession(), checksumResultCode); } /** diff --git a/dspace-api/src/main/java/org/dspace/checker/ChecksumHistoryServiceImpl.java b/dspace-api/src/main/java/org/dspace/checker/ChecksumHistoryServiceImpl.java index 5a406033f5ed..d180b495eede 100644 --- a/dspace-api/src/main/java/org/dspace/checker/ChecksumHistoryServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/checker/ChecksumHistoryServiceImpl.java @@ -56,7 +56,8 @@ public void updateMissingBitstreams(Context context) throws SQLException { // + "not exists( select 'x' from checksum_history where " // + "most_recent_checksum.bitstream_id = checksum_history.bitstream_id ) " // + "and most_recent_checksum.bitstream_id = bitstream.bitstream_id"; - List mostRecentChecksums = mostRecentChecksumService.findNotInHistory(context); + List mostRecentChecksums + = mostRecentChecksumService.findNotInHistory(context.getSession()); for (MostRecentChecksum mostRecentChecksum : mostRecentChecksums) { addHistory(context, mostRecentChecksum); } @@ -72,9 +73,10 @@ public void addHistory(Context context, MostRecentChecksum mostRecentChecksum) t checksumHistory.setChecksumCalculated(mostRecentChecksum.getCurrentChecksum()); ChecksumResult checksumResult; if (mostRecentChecksum.getBitstream().isDeleted()) { - checksumResult = checksumResultService.findByCode(context, ChecksumResultCode.BITSTREAM_MARKED_DELETED); + checksumResult = checksumResultService.findByCode(context.getSession(), + ChecksumResultCode.BITSTREAM_MARKED_DELETED); } else { - checksumResult = checksumResultService.findByCode(context, + checksumResult = checksumResultService.findByCode(context.getSession(), mostRecentChecksum.getChecksumResult().getResultCode()); } diff --git a/dspace-api/src/main/java/org/dspace/checker/ChecksumResultServiceImpl.java b/dspace-api/src/main/java/org/dspace/checker/ChecksumResultServiceImpl.java index 2688d02ae407..a46899b5069d 100644 --- a/dspace-api/src/main/java/org/dspace/checker/ChecksumResultServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/checker/ChecksumResultServiceImpl.java @@ -12,7 +12,7 @@ import org.dspace.checker.dao.ChecksumResultDAO; import org.dspace.checker.service.ChecksumResultService; -import org.dspace.core.Context; +import org.hibernate.Session; import org.springframework.beans.factory.annotation.Autowired; /** @@ -34,25 +34,25 @@ protected ChecksumResultServiceImpl() { /** * Get the result description for the given result code * - * @param context Context + * @param session Context * @param code to get the description for. * @return the found description. * @throws SQLException if database error */ @Override - public ChecksumResult findByCode(Context context, ChecksumResultCode code) throws SQLException { - return checksumResultDAO.findByCode(context.getSession(), code); + public ChecksumResult findByCode(Session session, ChecksumResultCode code) throws SQLException { + return checksumResultDAO.findByCode(session, code); } /** * Get a list of all the possible result codes. * - * @param context Context + * @param session Context * @return a list of all the result codes * @throws SQLException if database error */ @Override - public List findAll(Context context) throws SQLException { - return checksumResultDAO.findAll(context.getSession(), ChecksumResult.class); + public List findAll(Session session) throws SQLException { + return checksumResultDAO.findAll(session, ChecksumResult.class); } } diff --git a/dspace-api/src/main/java/org/dspace/checker/MostRecentChecksumServiceImpl.java b/dspace-api/src/main/java/org/dspace/checker/MostRecentChecksumServiceImpl.java index 041587c4942b..9e926b6317ac 100644 --- a/dspace-api/src/main/java/org/dspace/checker/MostRecentChecksumServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/checker/MostRecentChecksumServiceImpl.java @@ -18,6 +18,7 @@ import org.dspace.content.Bitstream; import org.dspace.content.service.BitstreamService; import org.dspace.core.Context; +import org.hibernate.Session; import org.springframework.beans.factory.annotation.Autowired; /** @@ -51,41 +52,20 @@ public MostRecentChecksum getNonPersistedObject() { } @Override - public MostRecentChecksum findByBitstream(Context context, Bitstream bitstream) throws SQLException { - return mostRecentChecksumDAO.findByBitstream(context.getSession(), bitstream); + public MostRecentChecksum findByBitstream(Session session, Bitstream bitstream) throws SQLException { + return mostRecentChecksumDAO.findByBitstream(session, bitstream); } - /** - * Find all bitstreams that were set to not be processed for the specified - * date range. - * - * @param context Context - * @param startDate the start of the date range - * @param endDate the end of the date range - * @return a list of BitstreamHistoryInfo objects - * @throws SQLException if database error - */ @Override - public List findNotProcessedBitstreamsReport(Context context, Date startDate, Date endDate) + public List findNotProcessedBitstreamsReport(Session session, Date startDate, Date endDate) throws SQLException { - return mostRecentChecksumDAO.findByNotProcessedInDateRange(context.getSession(), startDate, endDate); + return mostRecentChecksumDAO.findByNotProcessedInDateRange(session, startDate, endDate); } - /** - * Select the most recent bitstream for a given date range with the - * specified status. - * - * @param context Context - * @param startDate the start date range - * @param endDate the end date range. - * @param resultCode the result code - * @return a list of BitstreamHistoryInfo objects - * @throws SQLException if database error - */ @Override - public List findBitstreamResultTypeReport(Context context, Date startDate, Date endDate, + public List findBitstreamResultTypeReport(Session session, Date startDate, Date endDate, ChecksumResultCode resultCode) throws SQLException { - return mostRecentChecksumDAO.findByResultTypeInDateRange(context.getSession(), startDate, endDate, resultCode); + return mostRecentChecksumDAO.findByResultTypeInDateRange(session, startDate, endDate, resultCode); } /** @@ -138,9 +118,11 @@ public void updateMissingBitstreams(Context context) throws SQLException { mostRecentChecksum.setMatchedPrevChecksum(true); ChecksumResult checksumResult; if (bitstream.isDeleted()) { - checksumResult = checksumResultService.findByCode(context, ChecksumResultCode.BITSTREAM_MARKED_DELETED); + checksumResult = checksumResultService.findByCode(context.getSession(), + ChecksumResultCode.BITSTREAM_MARKED_DELETED); } else { - checksumResult = checksumResultService.findByCode(context, ChecksumResultCode.CHECKSUM_MATCH); + checksumResult = checksumResultService.findByCode(context.getSession(), + ChecksumResultCode.CHECKSUM_MATCH); } mostRecentChecksum.setChecksumResult(checksumResult); mostRecentChecksumDAO.create(context.getSession(), mostRecentChecksum); @@ -153,36 +135,28 @@ public void deleteByBitstream(Context context, Bitstream bitstream) throws SQLEx mostRecentChecksumDAO.deleteByBitstream(context.getSession(), bitstream); } - /** - * Get the oldest most recent checksum record. If more than - * one found the first one in the result set is returned. - * - * @param context COntext - * @return the oldest MostRecentChecksum or NULL if the table is empty - * @throws SQLException if database error - */ @Override - public MostRecentChecksum findOldestRecord(Context context) throws SQLException { - return mostRecentChecksumDAO.getOldestRecord(context.getSession()); + public MostRecentChecksum findOldestRecord(Session session) throws SQLException { + return mostRecentChecksumDAO.getOldestRecord(session); } /** * Returns the oldest bitstream that in the set of bitstreams that are less * than the specified date. If no bitstreams are found -1 is returned. * - * @param context context + * @param session context * @param lessThanDate date - * @return id of olded bitstream or -1 if not bitstreams are found + * @return id of oldest bitstream or -1 if no bitstreams are found * @throws SQLException if database error */ @Override - public MostRecentChecksum findOldestRecord(Context context, Date lessThanDate) throws SQLException { - return mostRecentChecksumDAO.getOldestRecord(context.getSession(), lessThanDate); + public MostRecentChecksum findOldestRecord(Session session, Date lessThanDate) throws SQLException { + return mostRecentChecksumDAO.getOldestRecord(session, lessThanDate); } @Override - public List findNotInHistory(Context context) throws SQLException { - return mostRecentChecksumDAO.findNotInHistory(context.getSession()); + public List findNotInHistory(Session session) throws SQLException { + return mostRecentChecksumDAO.findNotInHistory(session); } @Override diff --git a/dspace-api/src/main/java/org/dspace/checker/SimpleDispatcher.java b/dspace-api/src/main/java/org/dspace/checker/SimpleDispatcher.java index b93ce333da5e..89759469df49 100644 --- a/dspace-api/src/main/java/org/dspace/checker/SimpleDispatcher.java +++ b/dspace-api/src/main/java/org/dspace/checker/SimpleDispatcher.java @@ -74,14 +74,14 @@ public synchronized Bitstream next() throws SQLException { // should process loop infinitely through the // bitstreams in most_recent_checksum table? if (!loopContinuously && (processStartTime != null)) { - MostRecentChecksum oldestRecord = checksumService.findOldestRecord(context, processStartTime); + MostRecentChecksum oldestRecord = checksumService.findOldestRecord(context.getSession(), processStartTime); if (oldestRecord != null) { return oldestRecord.getBitstream(); } else { return null; } } else { - MostRecentChecksum oldestRecord = checksumService.findOldestRecord(context); + MostRecentChecksum oldestRecord = checksumService.findOldestRecord(context.getSession()); if (oldestRecord != null) { return oldestRecord.getBitstream(); } else { diff --git a/dspace-api/src/main/java/org/dspace/checker/SimpleReporterServiceImpl.java b/dspace-api/src/main/java/org/dspace/checker/SimpleReporterServiceImpl.java index 91f9a56132ef..043cba23fe00 100644 --- a/dspace-api/src/main/java/org/dspace/checker/SimpleReporterServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/checker/SimpleReporterServiceImpl.java @@ -65,7 +65,7 @@ public int getDeletedBitstreamReport(Context context, Date startDate, Date endDa OutputStreamWriter osw) throws IOException, SQLException { // get all the bitstreams marked deleted for today List recentChecksums = mostRecentChecksumService - .findBitstreamResultTypeReport(context, startDate, + .findBitstreamResultTypeReport(context.getSession(), startDate, endDate, ChecksumResultCode.BITSTREAM_MARKED_DELETED); osw.write("\n"); @@ -105,7 +105,7 @@ public int getChangedChecksumReport(Context context, Date startDate, Date endDat OutputStreamWriter osw) throws IOException, SQLException { // get all the bitstreams marked deleted for today List history = - mostRecentChecksumService.findBitstreamResultTypeReport(context, startDate, endDate, + mostRecentChecksumService.findBitstreamResultTypeReport(context.getSession(), startDate, endDate, ChecksumResultCode.CHECKSUM_NO_MATCH); osw.write("\n"); @@ -147,7 +147,7 @@ public int getBitstreamNotFoundReport(Context context, Date startDate, Date endD OutputStreamWriter osw) throws IOException, SQLException { // get all the bitstreams marked deleted for today List history = - mostRecentChecksumService.findBitstreamResultTypeReport(context, startDate, endDate, + mostRecentChecksumService.findBitstreamResultTypeReport(context.getSession(), startDate, endDate, ChecksumResultCode.BITSTREAM_NOT_FOUND); osw.write("\n"); @@ -189,7 +189,7 @@ public int getNotToBeProcessedReport(Context context, Date startDate, Date endDa OutputStreamWriter osw) throws IOException, SQLException { // get all the bitstreams marked deleted for today List mostRecentChecksums = mostRecentChecksumService - .findNotProcessedBitstreamsReport(context, startDate, + .findNotProcessedBitstreamsReport(context.getSession(), startDate, endDate); osw.write("\n"); diff --git a/dspace-api/src/main/java/org/dspace/checker/service/ChecksumResultService.java b/dspace-api/src/main/java/org/dspace/checker/service/ChecksumResultService.java index 4a05c40b941e..9c85159f2cc7 100644 --- a/dspace-api/src/main/java/org/dspace/checker/service/ChecksumResultService.java +++ b/dspace-api/src/main/java/org/dspace/checker/service/ChecksumResultService.java @@ -12,7 +12,7 @@ import org.dspace.checker.ChecksumResult; import org.dspace.checker.ChecksumResultCode; -import org.dspace.core.Context; +import org.hibernate.Session; /** * Service interface class for the ChecksumResult object. @@ -23,7 +23,7 @@ */ public interface ChecksumResultService { - public ChecksumResult findByCode(Context context, ChecksumResultCode code) throws SQLException; + public ChecksumResult findByCode(Session session, ChecksumResultCode code) throws SQLException; - public List findAll(Context context) throws SQLException; + public List findAll(Session session) throws SQLException; } diff --git a/dspace-api/src/main/java/org/dspace/checker/service/MostRecentChecksumService.java b/dspace-api/src/main/java/org/dspace/checker/service/MostRecentChecksumService.java index b1ef87ac9759..cfca93a7e61d 100644 --- a/dspace-api/src/main/java/org/dspace/checker/service/MostRecentChecksumService.java +++ b/dspace-api/src/main/java/org/dspace/checker/service/MostRecentChecksumService.java @@ -15,6 +15,7 @@ import org.dspace.checker.MostRecentChecksum; import org.dspace.content.Bitstream; import org.dspace.core.Context; +import org.hibernate.Session; /** * Service interface class for the MostRecentChecksum object. @@ -27,23 +28,52 @@ public interface MostRecentChecksumService { public MostRecentChecksum getNonPersistedObject(); - public MostRecentChecksum findByBitstream(Context context, Bitstream bitstream) throws SQLException; + public MostRecentChecksum findByBitstream(Session session, Bitstream bitstream) throws SQLException; - public List findNotProcessedBitstreamsReport(Context context, Date startDate, Date endDate) + /** + * Find all bitstreams that were set to not be processed for the specified + * date range. + * + * @param session current request's database context. + * @param startDate the start of the date range + * @param endDate the end of the date range + * @return a list of BitstreamHistoryInfo objects + * @throws SQLException if database error + */ + public List findNotProcessedBitstreamsReport(Session session, Date startDate, Date endDate) throws SQLException; - public List findBitstreamResultTypeReport(Context context, Date startDate, Date endDate, + /** + * Select the most recent bitstream for a given date range with the + * specified status. + * + * @param session current request's database context. + * @param startDate the start date range + * @param endDate the end date range. + * @param resultCode the result code + * @return a list of BitstreamHistoryInfo objects + * @throws SQLException if database error + */ + public List findBitstreamResultTypeReport(Session session, Date startDate, Date endDate, ChecksumResultCode resultCode) throws SQLException; public void updateMissingBitstreams(Context context) throws SQLException; public void deleteByBitstream(Context context, Bitstream bitstream) throws SQLException; - public MostRecentChecksum findOldestRecord(Context context) throws SQLException; + /** + * Get the oldest most recent checksum record. If more than + * one found the first one in the result set is returned. + * + * @param session current request's database context. + * @return the oldest MostRecentChecksum or NULL if the table is empty + * @throws SQLException if database error + */ + public MostRecentChecksum findOldestRecord(Session session) throws SQLException; - public MostRecentChecksum findOldestRecord(Context context, Date lessThanDate) throws SQLException; + public MostRecentChecksum findOldestRecord(Session session, Date lessThanDate) throws SQLException; - public List findNotInHistory(Context context) throws SQLException; + public List findNotInHistory(Session session) throws SQLException; public void update(Context context, MostRecentChecksum mostRecentChecksum) throws SQLException; } diff --git a/dspace-api/src/main/java/org/dspace/content/BitstreamFormatServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/BitstreamFormatServiceImpl.java index 279b4a306c2b..1cab8b7ee238 100644 --- a/dspace-api/src/main/java/org/dspace/content/BitstreamFormatServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/BitstreamFormatServiceImpl.java @@ -19,6 +19,7 @@ import org.dspace.content.service.BitstreamFormatService; import org.dspace.core.Context; import org.dspace.core.LogHelper; +import org.hibernate.Session; import org.springframework.beans.factory.annotation.Autowired; /** @@ -57,49 +58,41 @@ protected BitstreamFormatServiceImpl() { /** * Get a bitstream format from the database. * - * @param context DSpace context object + * @param session current request's database context. * @param id ID of the bitstream format * @return the bitstream format, or null if the ID is invalid. * @throws SQLException if database error */ @Override - public BitstreamFormat find(Context context, int id) + public BitstreamFormat find(Session session, int id) throws SQLException { BitstreamFormat bitstreamFormat - = bitstreamFormatDAO.findByID(context.getSession(), BitstreamFormat.class, id); + = bitstreamFormatDAO.findByID(session, BitstreamFormat.class, id); if (bitstreamFormat == null) { - if (log.isDebugEnabled()) { - log.debug(LogHelper.getHeader(context, - "find_bitstream_format", - "not_found,bitstream_format_id=" + id)); - } - + log.debug("find_bitstream_format not_found,bitstream_format_id={}", id); return null; } // not null, return format object - if (log.isDebugEnabled()) { - log.debug(LogHelper.getHeader(context, "find_bitstream_format", - "bitstream_format_id=" + id)); - } + log.debug("find_bitstream_format bitstream_format_id={}", id); return bitstreamFormat; } @Override - public BitstreamFormat findByMIMEType(Context context, String mimeType) throws SQLException { - return bitstreamFormatDAO.findByMIMEType(context.getSession(), mimeType, false); + public BitstreamFormat findByMIMEType(Session session, String mimeType) throws SQLException { + return bitstreamFormatDAO.findByMIMEType(session, mimeType, false); } @Override - public BitstreamFormat findByShortDescription(Context context, String desc) throws SQLException { - return bitstreamFormatDAO.findByShortDescription(context.getSession(), desc); + public BitstreamFormat findByShortDescription(Session session, String desc) throws SQLException { + return bitstreamFormatDAO.findByShortDescription(session, desc); } @Override - public BitstreamFormat findUnknown(Context context) throws SQLException { - BitstreamFormat bf = findByShortDescription(context, "Unknown"); + public BitstreamFormat findUnknown(Session session) throws SQLException { + BitstreamFormat bf = findByShortDescription(session, "Unknown"); if (bf == null) { throw new IllegalStateException( @@ -110,13 +103,13 @@ public BitstreamFormat findUnknown(Context context) throws SQLException { } @Override - public List findAll(Context context) throws SQLException { - return bitstreamFormatDAO.findAll(context.getSession(), BitstreamFormat.class); + public List findAll(Session session) throws SQLException { + return bitstreamFormatDAO.findAll(session, BitstreamFormat.class); } @Override - public List findNonInternal(Context context) throws SQLException { - return bitstreamFormatDAO.findNonInternal(context.getSession()); + public List findNonInternal(Session session) throws SQLException { + return bitstreamFormatDAO.findNonInternal(session); } @Override @@ -144,7 +137,7 @@ public void setShortDescription(Context context, BitstreamFormat bitstreamFormat // You can not reset the unknown's registry's name BitstreamFormat unknown = null; try { - unknown = findUnknown(context); + unknown = findUnknown(context.getSession()); } catch (IllegalStateException e) { // No short_description='Unknown' found in bitstreamformatregistry // table. On first load of registries this is expected because it @@ -208,7 +201,7 @@ public void delete(Context context, BitstreamFormat bitstreamFormat) throws SQLE } // Find "unknown" type - BitstreamFormat unknown = findUnknown(context); + BitstreamFormat unknown = findUnknown(context.getSession()); if (unknown.getID().equals(bitstreamFormat.getID())) { throw new IllegalArgumentException("The Unknown bitstream format may not be deleted."); diff --git a/dspace-api/src/main/java/org/dspace/content/BitstreamServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/BitstreamServiceImpl.java index 9ed847213d4f..0e56acb7989e 100644 --- a/dspace-api/src/main/java/org/dspace/content/BitstreamServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/BitstreamServiceImpl.java @@ -223,7 +223,7 @@ public void setFormat(Context context, Bitstream bitstream, BitstreamFormat bits // but we need to find the unknown format! if (bitstreamFormat == null) { // Use "Unknown" format - bitstreamFormat = bitstreamFormatService.findUnknown(context); + bitstreamFormat = bitstreamFormatService.findUnknown(context.getSession()); } // Remove user type description @@ -423,7 +423,7 @@ public Bitstream getThumbnail(Context context, Bitstream bitstream) throws SQLEx @Override public BitstreamFormat getFormat(Context context, Bitstream bitstream) throws SQLException { if (bitstream.getBitstreamFormat() == null) { - return bitstreamFormatService.findUnknown(context); + return bitstreamFormatService.findUnknown(context.getSession()); } else { return bitstream.getBitstreamFormat(); } diff --git a/dspace-api/src/main/java/org/dspace/content/CollectionServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/CollectionServiceImpl.java index 945922b4cca7..2bc18a684374 100644 --- a/dspace-api/src/main/java/org/dspace/content/CollectionServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/CollectionServiceImpl.java @@ -766,7 +766,8 @@ public void delete(Context context, Collection collection) throws SQLException, // Delete bitstream logo setLogo(context, collection, null); - Iterator workspaceItems = workspaceItemService.findByCollection(context, collection).iterator(); + Iterator workspaceItems + = workspaceItemService.findByCollection(context.getSession(), collection).iterator(); while (workspaceItems.hasNext()) { WorkspaceItem workspaceItem = workspaceItems.next(); workspaceItems.remove(); @@ -840,8 +841,8 @@ public List findAuthorized(Context context, Community community, int } @Override - public Collection findByGroup(Context context, Group group) throws SQLException { - return collectionDAO.findByGroup(context.getSession(), group); + public Collection findByGroup(Session session, Group group) throws SQLException { + return collectionDAO.findByGroup(session, group); } @Override diff --git a/dspace-api/src/main/java/org/dspace/content/CommunityServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/CommunityServiceImpl.java index 2cb012e5a4bc..cb168eff0d89 100644 --- a/dspace-api/src/main/java/org/dspace/content/CommunityServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/CommunityServiceImpl.java @@ -631,8 +631,8 @@ public void canEdit(Context context, Community community) throws AuthorizeExcept } @Override - public Community findByAdminGroup(Context context, Group group) throws SQLException { - return communityDAO.findByAdminGroup(context.getSession(), group); + public Community findByAdminGroup(Session session, Group group) throws SQLException { + return communityDAO.findByAdminGroup(session, group); } @Override diff --git a/dspace-api/src/main/java/org/dspace/content/DSpaceObjectServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/DSpaceObjectServiceImpl.java index c47eb5d76e19..c10317063835 100644 --- a/dspace-api/src/main/java/org/dspace/content/DSpaceObjectServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/DSpaceObjectServiceImpl.java @@ -637,7 +637,8 @@ public void update(Context context, T dso) throws SQLException, AuthorizeExcepti metadataValue.setPlace(mvPlace); String authority = metadataValue.getAuthority(); String relationshipId = StringUtils.split(authority, "::")[1]; - Relationship relationship = relationshipService.find(context, Integer.parseInt(relationshipId)); + Relationship relationship = relationshipService.find(context.getSession(), + Integer.parseInt(relationshipId)); if (relationship.getLeftItem().equals(dso)) { relationship.setLeftPlace(mvPlace); } else { diff --git a/dspace-api/src/main/java/org/dspace/content/EntityServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/EntityServiceImpl.java index 90542a079863..2165cca2f8d9 100644 --- a/dspace-api/src/main/java/org/dspace/content/EntityServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/EntityServiceImpl.java @@ -54,7 +54,7 @@ public EntityType getType(Context context, Entity entity) throws SQLException { Item item = entity.getItem(); List list = itemService.getMetadata(item, "dspace", "entity", "type", Item.ANY, false); if (!list.isEmpty()) { - return entityTypeService.findByEntityType(context, list.get(0).getValue()); + return entityTypeService.findByEntityType(context.getSession(), list.get(0).getValue()); } else { return null; } @@ -104,7 +104,8 @@ public List getAllRelationshipTypes(Context context, Entity en @Override public List getAllRelationshipTypes(Context context, Entity entity, Integer limit, Integer offset) throws SQLException { - return relationshipTypeService.findByEntityType(context, this.getType(context, entity), limit, offset); + return relationshipTypeService.findByEntityType(context.getSession(), + this.getType(context, entity), limit, offset); } @Override @@ -116,7 +117,8 @@ public List getLeftRelationshipTypes(Context context, Entity e @Override public List getLeftRelationshipTypes(Context context, Entity entity, boolean isLeft, Integer limit, Integer offset) throws SQLException { - return relationshipTypeService.findByEntityType(context, this.getType(context, entity), isLeft, limit, offset); + return relationshipTypeService.findByEntityType(context.getSession(), + this.getType(context, entity), isLeft, limit, offset); } @Override @@ -129,7 +131,8 @@ public List getRightRelationshipTypes(Context context, Entity public List getRightRelationshipTypes(Context context, Entity entity, boolean isLeft, Integer limit, Integer offset) throws SQLException { - return relationshipTypeService.findByEntityType(context, this.getType(context, entity), isLeft, limit, offset); + return relationshipTypeService.findByEntityType(context.getSession(), + this.getType(context, entity), isLeft, limit, offset); } @Override @@ -140,6 +143,6 @@ public List getRelationshipTypesByTypeName(Context context, St @Override public List getRelationshipTypesByTypeName(Context context, String typeName, Integer limit, Integer offset) throws SQLException { - return relationshipTypeService.findByLeftwardOrRightwardTypeName(context, typeName, limit, offset); + return relationshipTypeService.findByLeftwardOrRightwardTypeName(context.getSession(), typeName, limit, offset); } } diff --git a/dspace-api/src/main/java/org/dspace/content/EntityTypeServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/EntityTypeServiceImpl.java index d1edc7605c24..208e8790c980 100644 --- a/dspace-api/src/main/java/org/dspace/content/EntityTypeServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/EntityTypeServiceImpl.java @@ -32,6 +32,7 @@ import org.dspace.discovery.indexobject.IndexableCollection; import org.dspace.eperson.Group; import org.dspace.eperson.service.GroupService; +import org.hibernate.Session; import org.springframework.beans.factory.annotation.Autowired; public class EntityTypeServiceImpl implements EntityTypeService { @@ -49,20 +50,19 @@ public class EntityTypeServiceImpl implements EntityTypeService { protected SolrSearchCore solrSearchCore; @Override - public EntityType findByEntityType(Context context, String entityType) throws SQLException { - return entityTypeDAO.findByEntityType(context.getSession(), entityType); + public EntityType findByEntityType(Session session, String entityType) throws SQLException { + return entityTypeDAO.findByEntityType(session, entityType); } @Override - public List findAll(Context context) throws SQLException { + public List findAll(Session session) throws SQLException { - return findAll(context, -1, -1); + return findAll(session, -1, -1); } @Override - public List findAll(Context context, Integer limit, Integer offset) throws SQLException { - - return entityTypeDAO.findAll(context.getSession(), EntityType.class, limit, offset); + public List findAll(Session session, Integer limit, Integer offset) throws SQLException { + return entityTypeDAO.findAll(session, EntityType.class, limit, offset); } @Override @@ -86,8 +86,8 @@ public EntityType create(Context context, String entityTypeString) throws SQLExc } @Override - public EntityType find(Context context,int id) throws SQLException { - EntityType entityType = entityTypeDAO.findByID(context.getSession(), EntityType.class, id); + public EntityType find(Session session,int id) throws SQLException { + EntityType entityType = entityTypeDAO.findByID(session, EntityType.class, id); return entityType; } @@ -171,7 +171,7 @@ public int countEntityTypesByNames(Context context, List names) throws S @Override public void initDefaultEntityTypeNames(Context context) throws SQLException, AuthorizeException { - EntityType noneEntityType = this.findByEntityType(context, Constants.ENTITY_TYPE_NONE); + EntityType noneEntityType = this.findByEntityType(context.getSession(), Constants.ENTITY_TYPE_NONE); if (Objects.isNull(noneEntityType)) { noneEntityType = this.create(context, Constants.ENTITY_TYPE_NONE); this.update(context, noneEntityType); diff --git a/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java index 7302cd6045fa..dfb46c7dc67c 100644 --- a/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java @@ -547,7 +547,7 @@ public void removeDSpaceLicense(Context context, Item item) throws SQLException, @Override public void removeLicenses(Context context, Item item) throws SQLException, AuthorizeException, IOException { // Find the License format - BitstreamFormat bf = bitstreamFormatService.findByShortDescription(context, "License"); + BitstreamFormat bf = bitstreamFormatService.findByShortDescription(context.getSession(), "License"); int licensetype = bf.getID(); // search through bundles, looking for bitstream type license @@ -1199,8 +1199,8 @@ public int countItemsWithEdit(Context context) throws SQLException, SearchServic */ @Override public boolean isInProgressSubmission(Context context, Item item) throws SQLException { - return workspaceItemService.findByItem(context, item) != null - || workflowItemService.findByItem(context, item) != null; + return workspaceItemService.findByItem(context.getSession(), item) != null + || workflowItemService.findByItem(context.getSession(), item) != null; } /* @@ -1258,7 +1258,7 @@ private void addCustomPoliciesNotInPlace(Context context, DSpaceObject dso, List * @throws SQLException If something goes wrong retrieving the RP on the DSO */ private boolean isNotAlreadyACustomRPOfThisTypeOnDSO(Context context, DSpaceObject dso) throws SQLException { - List readRPs = resourcePolicyService.find(context, dso, Constants.READ); + List readRPs = resourcePolicyService.find(context.getSession(), dso, Constants.READ); for (ResourcePolicy readRP : readRPs) { if (readRP.getRpType() != null && readRP.getRpType().equals(ResourcePolicy.TYPE_CUSTOM)) { return false; @@ -1280,7 +1280,7 @@ private boolean isNotAlreadyACustomRPOfThisTypeOnDSO(Context context, DSpaceObje */ private boolean shouldBeAppended(Context context, DSpaceObject dso, ResourcePolicy defaultPolicy) throws SQLException { - boolean hasCustomPolicy = resourcePolicyService.find(context, dso, Constants.READ) + boolean hasCustomPolicy = resourcePolicyService.find(context.getSession(), dso, Constants.READ) .stream() .filter(rp -> (Objects.nonNull(rp.getRpType()) && Objects.equals(rp.getRpType(), ResourcePolicy.TYPE_CUSTOM))) @@ -1419,11 +1419,12 @@ public DSpaceObject getParentObject(Context context, Item item) throws SQLExcept if (ownCollection != null) { return ownCollection; } else { - InProgressSubmission inprogress = ContentServiceFactory.getInstance().getWorkspaceItemService() - .findByItem(context, - item); + InProgressSubmission inprogress = ContentServiceFactory.getInstance() + .getWorkspaceItemService() + .findByItem(context.getSession(), item); if (inprogress == null) { - inprogress = WorkflowServiceFactory.getInstance().getWorkflowItemService().findByItem(context, item); + inprogress = WorkflowServiceFactory.getInstance().getWorkflowItemService() + .findByItem(context.getSession(), item); } if (inprogress != null) { @@ -1650,7 +1651,7 @@ protected void moveSingleMetadataValue(Context context, Item dso, int place, Met if (rr instanceof RelationshipMetadataValue) { try { //Retrieve the applicable relationship - Relationship rs = relationshipService.find(context, + Relationship rs = relationshipService.find(context.getSession(), ((RelationshipMetadataValue) rr).getRelationshipId()); if (rs.getLeftItem() == dso) { rs.setLeftPlace(place); @@ -1719,7 +1720,7 @@ public EntityType getEntityType(Context context, Item item) throws SQLException return null; } - return entityTypeService.findByEntityType(context, entityTypeString); + return entityTypeService.findByEntityType(context.getSession(), entityTypeString); } private void removeOrcidSynchronizationStuff(Context context, Item item) throws SQLException, AuthorizeException { diff --git a/dspace-api/src/main/java/org/dspace/content/LicenseUtils.java b/dspace-api/src/main/java/org/dspace/content/LicenseUtils.java index 673a30d2ddfc..e8bf7ad87bca 100644 --- a/dspace-api/src/main/java/org/dspace/content/LicenseUtils.java +++ b/dspace-api/src/main/java/org/dspace/content/LicenseUtils.java @@ -150,7 +150,7 @@ public static void grantLicense(Context context, Item item, } b.setAcceptanceDate(context, acceptanceDCDate); // Find the License format - BitstreamFormat bf = bitstreamFormat.findByShortDescription(context, + BitstreamFormat bf = bitstreamFormat.findByShortDescription(context.getSession(), "License"); b.setFormat(bf); diff --git a/dspace-api/src/main/java/org/dspace/content/MetadataSchemaServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/MetadataSchemaServiceImpl.java index da100b492268..f8509b98ac3e 100644 --- a/dspace-api/src/main/java/org/dspace/content/MetadataSchemaServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/MetadataSchemaServiceImpl.java @@ -82,8 +82,8 @@ public MetadataSchema create(Context context, String name, String namespace) } @Override - public MetadataSchema findByNamespace(Context context, String namespace) throws SQLException { - return metadataSchemaDAO.findByNamespace(context.getSession(), namespace); + public MetadataSchema findByNamespace(Session session, String namespace) throws SQLException { + return metadataSchemaDAO.findByNamespace(session, namespace); } @Override @@ -131,8 +131,8 @@ public void delete(Context context, MetadataSchema metadataSchema) throws SQLExc } @Override - public List findAll(Context context) throws SQLException { - return metadataSchemaDAO.findAll(context.getSession(), MetadataSchema.class); + public List findAll(Session session) throws SQLException { + return metadataSchemaDAO.findAll(session, MetadataSchema.class); } @Override diff --git a/dspace-api/src/main/java/org/dspace/content/RelationshipMetadataServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/RelationshipMetadataServiceImpl.java index 98c5df198f5b..831ce5e80783 100644 --- a/dspace-api/src/main/java/org/dspace/content/RelationshipMetadataServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/RelationshipMetadataServiceImpl.java @@ -29,6 +29,7 @@ import org.dspace.content.virtual.VirtualMetadataPopulator; import org.dspace.core.Constants; import org.dspace.core.Context; +import org.hibernate.Session; import org.springframework.beans.factory.annotation.Autowired; public class RelationshipMetadataServiceImpl implements RelationshipMetadataService { @@ -66,7 +67,8 @@ public List getRelationshipMetadata(Item item, boolea // from the perspective of the other item. In other words, given a relationship with this item, // the current item should have "latest status" in order for the other item to appear in // relation.*.latestForDiscovery fields. - fullMetadataValueList.addAll(findLatestForDiscoveryMetadataValues(context, item, entityType)); + fullMetadataValueList.addAll(findLatestForDiscoveryMetadataValues(context.getSession(), + item, entityType)); // NOTE: The following code will, among other things, // add metadata fields of type relation.* (e.g. relation.isAuthorOfPublication). @@ -91,21 +93,22 @@ public List getRelationshipMetadata(Item item, boolea /** * Create the list of relation.*.latestForDiscovery virtual metadata values * for the given item. - * @param context the DSpace context. + * @param session current request's database context. * @param item the item. * @param itemEntityType the entity type of the item. * @return a list (may be empty) of metadata values of type relation.*.latestForDiscovery. * @throws java.sql.SQLException passed through. */ protected List findLatestForDiscoveryMetadataValues( - Context context, Item item, EntityType itemEntityType + Session session, Item item, EntityType itemEntityType ) throws SQLException { final String schema = MetadataSchemaEnum.RELATION.getName(); final String qualifier = "latestForDiscovery"; List mdvs = new LinkedList<>(); - List relationshipTypes = relationshipTypeService.findByEntityType(context, itemEntityType); + List relationshipTypes + = relationshipTypeService.findByEntityType(session, itemEntityType); for (RelationshipType relationshipType : relationshipTypes) { // item is on left side of this relationship type // NOTE: On the left item, we should index the uuids of the right items. If the relationship type is @@ -117,8 +120,8 @@ protected List findLatestForDiscoveryMetadataValues( && Objects.equals(relationshipType.getLeftType(), itemEntityType)) { String element = relationshipType.getLeftwardType(); List data = relationshipService - .findByLatestItemAndRelationshipType(context.getSession(), item, relationshipType, true); - mdvs.addAll(constructLatestForDiscoveryMetadataValues(context, schema, element, qualifier, data)); + .findByLatestItemAndRelationshipType(session, item, relationshipType, true); + mdvs.addAll(constructLatestForDiscoveryMetadataValues(session, schema, element, qualifier, data)); } // item is on right side of this relationship type @@ -130,8 +133,8 @@ protected List findLatestForDiscoveryMetadataValues( if (relationshipType.getTilted() != LEFT && relationshipType.getRightType().equals(itemEntityType)) { String element = relationshipType.getRightwardType(); List data = relationshipService - .findByLatestItemAndRelationshipType(context.getSession(), item, relationshipType, false); - mdvs.addAll(constructLatestForDiscoveryMetadataValues(context, schema, element, qualifier, data)); + .findByLatestItemAndRelationshipType(session, item, relationshipType, false); + mdvs.addAll(constructLatestForDiscoveryMetadataValues(session, schema, element, qualifier, data)); } } @@ -140,7 +143,7 @@ protected List findLatestForDiscoveryMetadataValues( /** * Turn the given data into a list of relation.*.latestForDiscovery virtual metadata values. - * @param context the DSpace context. + * @param session current request's database context. * @param schema the schema for all metadata values. * @param element the element for all metadata values. * @param qualifier the qualifier for all metadata values. @@ -148,13 +151,13 @@ protected List findLatestForDiscoveryMetadataValues( * @return a list (may be empty) of metadata values of type relation.*.latestForDiscovery. */ protected List constructLatestForDiscoveryMetadataValues( - Context context, String schema, String element, String qualifier, List data + Session session, String schema, String element, String qualifier, List data ) { String mdf = new MetadataFieldName(schema, element, qualifier).toString(); return data.stream() .map(datum -> { - RelationshipMetadataValue mdv = constructMetadataValue(context, mdf); + RelationshipMetadataValue mdv = constructMetadataValue(session, mdf); if (mdv == null) { return null; } @@ -215,7 +218,8 @@ public List findRelationshipMetadataValueForItemRelat relationship, place, isLeftwards)); } RelationshipMetadataValue relationMetadataFromOtherItem = - getRelationMetadataFromOtherItem(context, otherItem, relationName, relationship.getID(), place); + getRelationMetadataFromOtherItem(context.getSession(), otherItem, + relationName, relationship.getID(), place); if (relationMetadataFromOtherItem != null) { resultingMetadataValueList.add(relationMetadataFromOtherItem); } @@ -252,7 +256,7 @@ private List findVirtualMetadataFromConfiguration(Con String wardLabel = isLeftwards ? relationship.getLeftwardValue() : relationship.getRightwardValue(); if (wardLabel != null) { resultingMetadataValueList.add( - constructRelationshipMetadataValue(context, item, relationship.getID(), place, key, virtualBean, + constructRelationshipMetadataValue(context.getSession(), item, relationship.getID(), place, key, virtualBean, wardLabel)); } else { resultingMetadataValueList.addAll( @@ -289,12 +293,13 @@ private List findRelationshipMetadataValueFromBean( String key, VirtualMetadataConfiguration virtualBean) throws SQLException { List resultingMetadataValueList = new LinkedList<>(); for (String value : virtualBean.getValues(context, otherItem)) { - RelationshipMetadataValue relationshipMetadataValue = constructRelationshipMetadataValue(context, item, - relationship - .getID(), - place, - key, virtualBean, - value); + RelationshipMetadataValue relationshipMetadataValue + = constructRelationshipMetadataValue(context.getSession(), + item, + relationship.getID(), + place, + key, virtualBean, + value); if (relationshipMetadataValue != null) { resultingMetadataValueList.add(relationshipMetadataValue); } @@ -304,12 +309,12 @@ private List findRelationshipMetadataValueFromBean( //This method will construct a RelationshipMetadataValue object with proper schema, element, qualifier, //authority, item, place and useForPlace based on the key String parameter passed along to it - private RelationshipMetadataValue constructRelationshipMetadataValue(Context context, Item item, + private RelationshipMetadataValue constructRelationshipMetadataValue(Session session, Item item, Integer relationshipId, int place, String key, VirtualMetadataConfiguration virtualBean, String value) { - RelationshipMetadataValue metadataValue = constructMetadataValue(context, key); + RelationshipMetadataValue metadataValue = constructMetadataValue(session, key); if (metadataValue != null) { metadataValue = constructResultingMetadataValue(item, value, metadataValue, relationshipId); metadataValue.setUseForPlace(virtualBean.getUseForPlace()); @@ -323,7 +328,7 @@ private RelationshipMetadataValue constructRelationshipMetadataValue(Context con //This method will construct a RelationshipMetadataValue object with proper schema, element and qualifier based //on the key String parameter passed along to it - private RelationshipMetadataValue constructMetadataValue(Context context, String key) { + private RelationshipMetadataValue constructMetadataValue(Session session, String key) { String[] splittedKey = key.split("\\."); RelationshipMetadataValue metadataValue = new RelationshipMetadataValue(); String metadataSchema = splittedKey.length > 0 ? splittedKey[0] : null; @@ -332,7 +337,7 @@ private RelationshipMetadataValue constructMetadataValue(Context context, String MetadataField metadataField = null; try { metadataField = metadataFieldService - .findByElement(context.getSession(), metadataSchema, metadataElement, metadataQualifier); + .findByElement(session, metadataSchema, metadataElement, metadataQualifier); } catch (SQLException e) { log.error("Could not find element with MetadataSchema: " + metadataSchema + ", MetadataElement: " + metadataElement + " and MetadataQualifier: " + metadataQualifier, e); @@ -363,10 +368,10 @@ private RelationshipMetadataValue constructResultingMetadataValue(Item item, Str // This method will create the Relationship Metadatavalue that describes the relationship type and has the ID // of the other item as value - private RelationshipMetadataValue getRelationMetadataFromOtherItem(Context context, Item otherItem, + private RelationshipMetadataValue getRelationMetadataFromOtherItem(Session session, Item otherItem, String relationName, Integer relationshipId, int place) { - RelationshipMetadataValue metadataValue = constructMetadataValue(context, + RelationshipMetadataValue metadataValue = constructMetadataValue(session, MetadataSchemaEnum.RELATION .getName() + "." + relationName); if (metadataValue != null) { diff --git a/dspace-api/src/main/java/org/dspace/content/RelationshipServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/RelationshipServiceImpl.java index 6dea8ab27c0d..6047037eec27 100644 --- a/dspace-api/src/main/java/org/dspace/content/RelationshipServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/RelationshipServiceImpl.java @@ -603,8 +603,8 @@ private boolean verifyEntityTypes(Item itemToProcess, EntityType entityTypeToPro } @Override - public Relationship find(Context context, int id) throws SQLException { - Relationship relationship = relationshipDAO.findByID(context.getSession(), Relationship.class, id); + public Relationship find(Session session, int id) throws SQLException { + Relationship relationship = relationshipDAO.findByID(session, Relationship.class, id); return relationship; } @@ -757,11 +757,11 @@ private void updateItemsInRelationship(Context context, Relationship relationshi itemsToUpdate.add(relationship.getRightItem()); if (containsVirtualMetadata(relationship.getRelationshipType().getLeftwardType())) { - findModifiedDiscoveryItemsForCurrentItem(context, relationship.getLeftItem(), + findModifiedDiscoveryItemsForCurrentItem(context.getSession(), relationship.getLeftItem(), itemsToUpdate, max, 0, maxDepth); } if (containsVirtualMetadata(relationship.getRelationshipType().getRightwardType())) { - findModifiedDiscoveryItemsForCurrentItem(context, relationship.getRightItem(), + findModifiedDiscoveryItemsForCurrentItem(context.getSession(), relationship.getRightItem(), itemsToUpdate, max, 0, maxDepth); } @@ -780,7 +780,7 @@ private void updateItemsInRelationship(Context context, Relationship relationshi * It starts from the given item, excludes items already in itemsToUpdate (they're already handled), * and can be limited in amount of items or depth to update */ - private void findModifiedDiscoveryItemsForCurrentItem(Context context, Item item, List itemsToUpdate, + private void findModifiedDiscoveryItemsForCurrentItem(Session session, Item item, List itemsToUpdate, int max, int currentDepth, int maxDepth) throws SQLException { if (itemsToUpdate.size() >= max) { @@ -794,9 +794,11 @@ private void findModifiedDiscoveryItemsForCurrentItem(Context context, Item item return; } String entityTypeStringFromMetadata = itemService.getEntityTypeLabel(item); - EntityType actualEntityType = entityTypeService.findByEntityType(context, entityTypeStringFromMetadata); + EntityType actualEntityType + = entityTypeService.findByEntityType(session, entityTypeStringFromMetadata); // Get all types of relations for the current item - List relationshipTypes = relationshipTypeService.findByEntityType(context, actualEntityType); + List relationshipTypes + = relationshipTypeService.findByEntityType(session, actualEntityType); for (RelationshipType relationshipType : relationshipTypes) { //are we searching for items where the current item is on the left boolean isLeft = relationshipType.getLeftType().equals(actualEntityType); @@ -813,7 +815,7 @@ private void findModifiedDiscoveryItemsForCurrentItem(Context context, Item item // we have a relationship type where the items attached to the current item will inherit // virtual metadata from the current item // retrieving the actual relationships so the related items can be updated - List list = findByItemAndRelationshipType(context.getSession(), + List list = findByItemAndRelationshipType(session, item, relationshipType, isLeft); for (Relationship foundRelationship : list) { Item nextItem; @@ -828,7 +830,7 @@ private void findModifiedDiscoveryItemsForCurrentItem(Context context, Item item if (!itemsToUpdate.contains(nextItem)) { itemsToUpdate.add(nextItem); // continue the process for the next item, it may also inherit item from the current item - findModifiedDiscoveryItemsForCurrentItem(context, nextItem, + findModifiedDiscoveryItemsForCurrentItem(session, nextItem, itemsToUpdate, max, currentDepth + 1, maxDepth); } } @@ -947,7 +949,7 @@ private boolean isRelationshipValidToDelete(Context context, Relationship relati " off the given relationship was null"); return false; } - if (this.find(context, relationship.getID()) == null) { + if (this.find(context.getSession(), relationship.getID()) == null) { log.warn("The relationship has been deemed invalid since the relationship" + " is not present in the DB with the current ID"); logRelationshipTypeDetailsForError(relationship.getRelationshipType()); diff --git a/dspace-api/src/main/java/org/dspace/content/RelationshipTypeServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/RelationshipTypeServiceImpl.java index 47fff2b862df..828b275eb36e 100644 --- a/dspace-api/src/main/java/org/dspace/content/RelationshipTypeServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/RelationshipTypeServiceImpl.java @@ -17,6 +17,7 @@ import org.dspace.content.dao.RelationshipTypeDAO; import org.dspace.content.service.RelationshipTypeService; import org.dspace.core.Context; +import org.hibernate.Session; import org.springframework.beans.factory.annotation.Autowired; public class RelationshipTypeServiceImpl implements RelationshipTypeService { @@ -47,58 +48,57 @@ public RelationshipType create(Context context, RelationshipType relationshipTyp } @Override - public RelationshipType findbyTypesAndTypeName(Context context, + public RelationshipType findbyTypesAndTypeName(Session session, EntityType leftType, EntityType rightType, String leftwardType,String rightwardType) throws SQLException { - return relationshipTypeDAO.findbyTypesAndTypeName(context.getSession(), + return relationshipTypeDAO.findbyTypesAndTypeName(session, leftType, rightType, leftwardType, rightwardType); } @Override - public List findAll(Context context) throws SQLException { - return findAll(context, -1, -1); + public List findAll(Session session) throws SQLException { + return findAll(session, -1, -1); } @Override - public List findAll(Context context, Integer limit, Integer offset) throws SQLException { - - return relationshipTypeDAO.findAll(context.getSession(), RelationshipType.class, limit, offset); + public List findAll(Session session, Integer limit, Integer offset) throws SQLException { + return relationshipTypeDAO.findAll(session, RelationshipType.class, limit, offset); } @Override - public List findByLeftwardOrRightwardTypeName(Context context, String typeName) + public List findByLeftwardOrRightwardTypeName(Session session, String typeName) throws SQLException { - return findByLeftwardOrRightwardTypeName(context, typeName, -1, -1); + return findByLeftwardOrRightwardTypeName(session, typeName, -1, -1); } @Override - public List findByLeftwardOrRightwardTypeName(Context context, String typeName, Integer limit, + public List findByLeftwardOrRightwardTypeName(Session session, String typeName, Integer limit, Integer offset) throws SQLException { - return relationshipTypeDAO.findByLeftwardOrRightwardTypeName(context.getSession(), typeName, limit, offset); + return relationshipTypeDAO.findByLeftwardOrRightwardTypeName(session, typeName, limit, offset); } @Override - public List findByEntityType(Context context, EntityType entityType) throws SQLException { - return findByEntityType(context, entityType, -1, -1); + public List findByEntityType(Session session, EntityType entityType) throws SQLException { + return findByEntityType(session, entityType, -1, -1); } @Override - public List findByEntityType(Context context, EntityType entityType, + public List findByEntityType(Session session, EntityType entityType, Integer limit, Integer offset) throws SQLException { - return relationshipTypeDAO.findByEntityType(context.getSession(), entityType, limit, offset); + return relationshipTypeDAO.findByEntityType(session, entityType, limit, offset); } @Override - public List findByEntityType(Context context, EntityType entityType, boolean isLeft) + public List findByEntityType(Session session, EntityType entityType, boolean isLeft) throws SQLException { - return findByEntityType(context, entityType, isLeft, -1, -1); + return findByEntityType(session, entityType, isLeft, -1, -1); } @Override - public List findByEntityType(Context context, EntityType entityType, boolean isLeft, + public List findByEntityType(Session session, EntityType entityType, boolean isLeft, Integer limit, Integer offset) throws SQLException { - return relationshipTypeDAO.findByEntityType(context.getSession(), entityType, isLeft, limit, offset); + return relationshipTypeDAO.findByEntityType(session, entityType, isLeft, limit, offset); } @Override @@ -142,8 +142,8 @@ public RelationshipType create(Context context, EntityType leftEntityType, Entit } @Override - public RelationshipType find(Context context,int id) throws SQLException { - return relationshipTypeDAO.findByID(context.getSession(), RelationshipType.class, id); + public RelationshipType find(Session session,int id) throws SQLException { + return relationshipTypeDAO.findByID(session, RelationshipType.class, id); } @Override diff --git a/dspace-api/src/main/java/org/dspace/content/WorkspaceItemServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/WorkspaceItemServiceImpl.java index f9cb4ab9cb65..205e0e47874d 100644 --- a/dspace-api/src/main/java/org/dspace/content/WorkspaceItemServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/WorkspaceItemServiceImpl.java @@ -43,6 +43,7 @@ import org.dspace.services.factory.DSpaceServicesFactory; import org.dspace.workflow.WorkflowItem; import org.dspace.workflow.WorkflowService; +import org.hibernate.Session; import org.springframework.beans.factory.annotation.Autowired; /** @@ -76,20 +77,14 @@ protected WorkspaceItemServiceImpl() { } @Override - public WorkspaceItem find(Context context, int id) throws SQLException { + public WorkspaceItem find(Session session, int id) throws SQLException { WorkspaceItem workspaceItem - = workspaceItemDAO.findByID(context.getSession(), WorkspaceItem.class, id); + = workspaceItemDAO.findByID(session, WorkspaceItem.class, id); if (workspaceItem == null) { - if (log.isDebugEnabled()) { - log.debug(LogHelper.getHeader(context, "find_workspace_item", - "not_found,workspace_item_id=" + id)); - } + log.debug("find_workspace_item not_found,workspace_item_id={}", id); } else { - if (log.isDebugEnabled()) { - log.debug(LogHelper.getHeader(context, "find_workspace_item", - "workspace_item_id=" + id)); - } + log.debug("find_workspace_item workspace_item_id={}", id); } return workspaceItem; } @@ -224,34 +219,34 @@ public WorkspaceItem create(Context c, WorkflowItem workflowItem) throws SQLExce } @Override - public List findByEPerson(Context context, EPerson ep) throws SQLException { - return workspaceItemDAO.findByEPerson(context.getSession(), ep); + public List findByEPerson(Session session, EPerson ep) throws SQLException { + return workspaceItemDAO.findByEPerson(session, ep); } @Override - public List findByEPerson(Context context, EPerson ep, Integer limit, Integer offset) + public List findByEPerson(Session session, EPerson ep, Integer limit, Integer offset) throws SQLException { - return workspaceItemDAO.findByEPerson(context.getSession(), ep, limit, offset); + return workspaceItemDAO.findByEPerson(session, ep, limit, offset); } @Override - public List findByCollection(Context context, Collection collection) throws SQLException { - return workspaceItemDAO.findByCollection(context.getSession(), collection); + public List findByCollection(Session session, Collection collection) throws SQLException { + return workspaceItemDAO.findByCollection(session, collection); } @Override - public WorkspaceItem findByItem(Context context, Item item) throws SQLException { - return workspaceItemDAO.findByItem(context.getSession(), item); + public WorkspaceItem findByItem(Session session, Item item) throws SQLException { + return workspaceItemDAO.findByItem(session, item); } @Override - public List findAll(Context context) throws SQLException { - return workspaceItemDAO.findAll(context.getSession()); + public List findAll(Session session) throws SQLException { + return workspaceItemDAO.findAll(session); } @Override - public List findAll(Context context, Integer limit, Integer offset) throws SQLException { - return workspaceItemDAO.findAll(context.getSession(), limit, offset); + public List findAll(Session session, Integer limit, Integer offset) throws SQLException { + return workspaceItemDAO.findAll(session, limit, offset); } @Override diff --git a/dspace-api/src/main/java/org/dspace/content/crosswalk/AIPTechMDCrosswalk.java b/dspace-api/src/main/java/org/dspace/content/crosswalk/AIPTechMDCrosswalk.java index eb08c1c67ea5..0350f8f3bbb4 100644 --- a/dspace-api/src/main/java/org/dspace/content/crosswalk/AIPTechMDCrosswalk.java +++ b/dspace-api/src/main/java/org/dspace/content/crosswalk/AIPTechMDCrosswalk.java @@ -485,7 +485,7 @@ public void ingest(Context context, DSpaceObject dso, List dimList, boo // final step: find or create bitstream format since it // takes the accumulation of a few values: if (type == Constants.BITSTREAM && bsfShortName != null) { - BitstreamFormat bsf = bitstreamFormatService.findByShortDescription(context, bsfShortName); + BitstreamFormat bsf = bitstreamFormatService.findByShortDescription(context.getSession(), bsfShortName); if (bsf == null && bsfMIMEType != null) { bsf = PackageUtils.findOrCreateBitstreamFormat(context, bsfShortName, diff --git a/dspace-api/src/main/java/org/dspace/content/crosswalk/OREIngestionCrosswalk.java b/dspace-api/src/main/java/org/dspace/content/crosswalk/OREIngestionCrosswalk.java index f756aae22577..02d2dc7d44ec 100644 --- a/dspace-api/src/main/java/org/dspace/content/crosswalk/OREIngestionCrosswalk.java +++ b/dspace-api/src/main/java/org/dspace/content/crosswalk/OREIngestionCrosswalk.java @@ -160,7 +160,7 @@ public void ingest(Context context, DSpaceObject dso, Element root, boolean crea Bundle targetBundle; // if null, create the new bundle and add it in - if (targetBundles.size() == 0) { + if (targetBundles.isEmpty()) { targetBundle = bundleService.create(context, item, bundleName); itemService.addBundle(context, item, targetBundle); } else { @@ -194,7 +194,7 @@ public void ingest(Context context, DSpaceObject dso, Element root, boolean crea // Identify the format String mimeString = resource.getAttributeValue("type"); - BitstreamFormat bsFormat = bitstreamFormatService.findByMIMEType(context, mimeString); + BitstreamFormat bsFormat = bitstreamFormatService.findByMIMEType(context.getSession(), mimeString); if (bsFormat == null) { bsFormat = bitstreamFormatService.guessFormat(context, newBitstream); } @@ -231,7 +231,7 @@ private String encodeForURL(String sourceString) { // reserved Character reserved[] = {';', '/', '?', ':', '@', '&', '=', '+', '$', ',', '%', '#'}; - Set URLcharsSet = new HashSet(); + Set URLcharsSet = new HashSet<>(); URLcharsSet.addAll(Arrays.asList(lowalpha)); URLcharsSet.addAll(Arrays.asList(upalpha)); URLcharsSet.addAll(Arrays.asList(digit)); diff --git a/dspace-api/src/main/java/org/dspace/content/crosswalk/PREMISCrosswalk.java b/dspace-api/src/main/java/org/dspace/content/crosswalk/PREMISCrosswalk.java index 39b6c8f29c80..4464a9fe264a 100644 --- a/dspace-api/src/main/java/org/dspace/content/crosswalk/PREMISCrosswalk.java +++ b/dspace-api/src/main/java/org/dspace/content/crosswalk/PREMISCrosswalk.java @@ -165,7 +165,7 @@ public void ingest(Context context, DSpaceObject dso, List ml, boolean // get it from that, otherwise try to divine from file extension // (guessFormat() looks at bitstream Name, which we just set) BitstreamFormat bf = (MIMEType == null) ? null : - bitstreamFormatService.findByMIMEType(context, MIMEType); + bitstreamFormatService.findByMIMEType(context.getSession(), MIMEType); if (bf == null) { bf = bitstreamFormatService.guessFormat(context, bitstream); } @@ -227,9 +227,9 @@ public Element disseminateElement(Context context, DSpaceObject dso) String handle = null; // get handle of parent Item of this bitstream, if there is one: List bn = bitstream.getBundles(); - if (bn.size() > 0) { + if (!bn.isEmpty()) { List bi = bn.get(0).getItems(); - if (bi.size() > 0) { + if (!bi.isEmpty()) { handle = bi.get(0).getHandle(); } } @@ -237,7 +237,7 @@ public Element disseminateElement(Context context, DSpaceObject dso) String bsName = bitstream.getName(); if (bsName == null) { List ext = bitstream.getFormat(context).getExtensions(); - bsName = "bitstream_" + sid + (ext.size() > 0 ? ext.get(0) : ""); + bsName = "bitstream_" + sid + (!ext.isEmpty() ? ext.get(0) : ""); } if (handle != null && baseUrl != null) { oiv.setText(baseUrl diff --git a/dspace-api/src/main/java/org/dspace/content/packager/AbstractMETSIngester.java b/dspace-api/src/main/java/org/dspace/content/packager/AbstractMETSIngester.java index 98277c4f9c06..2fd910967167 100644 --- a/dspace-api/src/main/java/org/dspace/content/packager/AbstractMETSIngester.java +++ b/dspace-api/src/main/java/org/dspace/content/packager/AbstractMETSIngester.java @@ -463,7 +463,7 @@ protected DSpaceObject ingestObject(Context context, DSpaceObject parent, //Check if this item is still in a user's workspace. //It should be, as we haven't completed its install yet. - WorkspaceItem wsi = workspaceItemService.findByItem(context, item); + WorkspaceItem wsi = workspaceItemService.findByItem(context.getSession(), item); // Get collection this item is being submitted to Collection collection = item.getOwningCollection(); @@ -628,10 +628,11 @@ protected DSpaceObject replaceObject(Context context, DSpaceObject dso, .getParentObject(context, dso); if (owningCollection == null) { //We are probably dealing with an item that isn't archived yet - InProgressSubmission inProgressSubmission = workspaceItemService.findByItem(context, item); + InProgressSubmission inProgressSubmission + = workspaceItemService.findByItem(context.getSession(), item); if (inProgressSubmission == null) { inProgressSubmission = WorkflowServiceFactory.getInstance().getWorkflowItemService() - .findByItem(context, item); + .findByItem(context.getSession(), item); } owningCollection = inProgressSubmission.getCollection(); } @@ -714,7 +715,7 @@ protected void addBitstreams(Context context, Item item, .getBundleFiles(); boolean setPrimaryBitstream = false; - BitstreamFormat unknownFormat = bitstreamFormatService.findUnknown(context); + BitstreamFormat unknownFormat = bitstreamFormatService.findUnknown(context.getSession()); for (Iterator mi = manifestContentFiles.iterator(); mi .hasNext(); ) { @@ -782,7 +783,7 @@ protected void addBitstreams(Context context, Item item, } String mimeType = mfile.getAttributeValue("MIMETYPE"); BitstreamFormat bf = (mimeType == null) ? null - : bitstreamFormatService.findByMIMEType(context, mimeType); + : bitstreamFormatService.findByMIMEType(context.getSession(), mimeType); if (bf == null) { bf = bitstreamFormatService.guessFormat(context, bitstream); } diff --git a/dspace-api/src/main/java/org/dspace/content/packager/PDFPackager.java b/dspace-api/src/main/java/org/dspace/content/packager/PDFPackager.java index 6c7baad45497..75b42a480868 100644 --- a/dspace-api/src/main/java/org/dspace/content/packager/PDFPackager.java +++ b/dspace-api/src/main/java/org/dspace/content/packager/PDFPackager.java @@ -94,7 +94,7 @@ public static String[] getPluginNames() { // utility to grovel bitstream formats.. protected void setFormatToMIMEType(Context context, Bitstream bs, String mimeType) throws SQLException { - List bf = bitstreamFormatService.findNonInternal(context); + List bf = bitstreamFormatService.findNonInternal(context.getSession()); for (BitstreamFormat aBf : bf) { if (aBf.getMIMEType().equalsIgnoreCase(mimeType)) { bs.setFormat(context, aBf); @@ -267,7 +267,7 @@ public void disseminate(Context context, DSpaceObject dso, } Item item = (Item) dso; - BitstreamFormat pdff = bitstreamFormatService.findByShortDescription(context, + BitstreamFormat pdff = bitstreamFormatService.findByShortDescription(context.getSession(), BITSTREAM_FORMAT_NAME); if (pdff == null) { throw new PackageValidationException("Cannot find BitstreamFormat \"" + BITSTREAM_FORMAT_NAME + "\""); diff --git a/dspace-api/src/main/java/org/dspace/content/packager/PackageUtils.java b/dspace-api/src/main/java/org/dspace/content/packager/PackageUtils.java index 9734c13de10e..1e8b1d2bd5b1 100644 --- a/dspace-api/src/main/java/org/dspace/content/packager/PackageUtils.java +++ b/dspace-api/src/main/java/org/dspace/content/packager/PackageUtils.java @@ -200,7 +200,7 @@ public static void addDepositLicense(Context context, String license, //Create the License bitstream Bitstream lbs = bitstreamService.create(context, lb, lis); lis.close(); - BitstreamFormat bf = bitstreamFormatService.findByShortDescription(context, "License"); + BitstreamFormat bf = bitstreamFormatService.findByShortDescription(context.getSession(), "License"); if (bf == null) { bf = bitstreamFormatService.guessFormat(context, lbs); } @@ -373,7 +373,7 @@ public static BitstreamFormat findOrCreateBitstreamFormat(Context context, String shortDesc, String MIMEType, String desc, int supportLevel, boolean internal) throws SQLException, AuthorizeException { - BitstreamFormat bsf = bitstreamFormatService.findByShortDescription(context, + BitstreamFormat bsf = bitstreamFormatService.findByShortDescription(context.getSession(), shortDesc); // not found, try to create one if (bsf == null) { @@ -402,7 +402,7 @@ public static Bitstream findDepositLicense(Context context, Item item) throws SQLException, IOException, AuthorizeException { // get license format ID int licenseFormatId = -1; - BitstreamFormat bf = bitstreamFormatService.findByShortDescription(context, + BitstreamFormat bf = bitstreamFormatService.findByShortDescription(context.getSession(), "License"); if (bf != null) { licenseFormatId = bf.getID(); diff --git a/dspace-api/src/main/java/org/dspace/content/service/BitstreamFormatService.java b/dspace-api/src/main/java/org/dspace/content/service/BitstreamFormatService.java index 96f9d78cb84a..cd53885bac3c 100644 --- a/dspace-api/src/main/java/org/dspace/content/service/BitstreamFormatService.java +++ b/dspace-api/src/main/java/org/dspace/content/service/BitstreamFormatService.java @@ -14,6 +14,7 @@ import org.dspace.content.BitstreamFormat; import org.dspace.core.Context; import org.dspace.service.DSpaceCRUDService; +import org.hibernate.Session; /** * Service interface class for the BitstreamFormat object. @@ -30,54 +31,54 @@ public interface BitstreamFormatService extends DSpaceCRUDServicenull if * there's no bitstream format with the given MIMEtype. * @throws SQLException if database error */ - public BitstreamFormat findByMIMEType(Context context, String mimeType) throws SQLException; + public BitstreamFormat findByMIMEType(Session session, String mimeType) throws SQLException; /** * Find a bitstream format by its (unique) short description * - * @param context DSpace context object + * @param session current request's database context. * @param desc the short description * @return the corresponding bitstream format, or null if * there's no bitstream format with the given short description * @throws SQLException if database error */ - public BitstreamFormat findByShortDescription(Context context, String desc) throws SQLException; + public BitstreamFormat findByShortDescription(Session session, String desc) throws SQLException; /** * Get the generic "unknown" bitstream format. * - * @param context DSpace context object + * @param session current request's database context. * @return the "unknown" bitstream format. * @throws SQLException if database error * @throws IllegalStateException if the "unknown" bitstream format couldn't be found */ - public BitstreamFormat findUnknown(Context context) throws SQLException; + public BitstreamFormat findUnknown(Session session) throws SQLException; /** * Retrieve all bitstream formats from the registry, ordered by ID * - * @param context DSpace context object + * @param session current request's database context. * @return the bitstream formats. * @throws SQLException if database error */ - public List findAll(Context context) throws SQLException; + public List findAll(Session session) throws SQLException; /** * Retrieve all non-internal bitstream formats from the registry. The * "unknown" format is not included, and the formats are ordered by support * level (highest first) first then short description. * - * @param context DSpace context object + * @param session current request's database context. * @return the bitstream formats. * @throws SQLException if database error */ - public List findNonInternal(Context context) throws SQLException; + public List findNonInternal(Session session) throws SQLException; /** * Set the short description of the bitstream format diff --git a/dspace-api/src/main/java/org/dspace/content/service/CollectionService.java b/dspace-api/src/main/java/org/dspace/content/service/CollectionService.java index c822e8fdfe95..fbdd16168d9b 100644 --- a/dspace-api/src/main/java/org/dspace/content/service/CollectionService.java +++ b/dspace-api/src/main/java/org/dspace/content/service/CollectionService.java @@ -331,12 +331,12 @@ public List findAuthorized(Context context, Community community, int /** * - * @param context DSpace Context + * @param session current request's database context. * @param group EPerson Group * @return the collection, if any, that has the specified group as administrators or submitters * @throws SQLException */ - public Collection findByGroup(Context context, Group group) throws SQLException; + public Collection findByGroup(Session session, Group group) throws SQLException; List findCollectionsWithSubscribers(Session session) throws SQLException; diff --git a/dspace-api/src/main/java/org/dspace/content/service/CommunityService.java b/dspace-api/src/main/java/org/dspace/content/service/CommunityService.java index b6bf3bb13c27..27e33a60cc42 100644 --- a/dspace-api/src/main/java/org/dspace/content/service/CommunityService.java +++ b/dspace-api/src/main/java/org/dspace/content/service/CommunityService.java @@ -287,7 +287,7 @@ public void removeSubcommunity(Context context, Community parentCommunity, Commu public void canEdit(Context context, Community community) throws AuthorizeException, SQLException; - public Community findByAdminGroup(Context context, Group group) throws SQLException; + public Community findByAdminGroup(Session session, Group group) throws SQLException; public List findAuthorized(Context context, List actions) throws SQLException; diff --git a/dspace-api/src/main/java/org/dspace/content/service/EntityTypeService.java b/dspace-api/src/main/java/org/dspace/content/service/EntityTypeService.java index d0a1a498ceb9..138bb19ee6ae 100644 --- a/dspace-api/src/main/java/org/dspace/content/service/EntityTypeService.java +++ b/dspace-api/src/main/java/org/dspace/content/service/EntityTypeService.java @@ -16,6 +16,7 @@ import org.dspace.content.EntityType; import org.dspace.core.Context; import org.dspace.service.DSpaceCRUDService; +import org.hibernate.Session; /** * This Service is used to access the data for EntityTypes through the DAO objects @@ -24,30 +25,30 @@ public interface EntityTypeService extends DSpaceCRUDService { /** * Retrieves the EntityType that has the entityType String parameter as label - * @param context The relevant DSpace context + * @param session The current request's database context. * @param entityType The String label that has to match * @return The EntityType that has a String * @throws SQLException If something goes wrong */ - public EntityType findByEntityType(Context context,String entityType) throws SQLException; + public EntityType findByEntityType(Session session, String entityType) throws SQLException; /** * Retrieves all the EntityType objects currently in the system - * @param context The relevant DSpace context + * @param session The current request's database context. * @return A list of all EntityType objects * @throws SQLException If something goes wrong */ - public List findAll(Context context) throws SQLException; + public List findAll(Session session) throws SQLException; /** * Retrieves all the EntityType objects currently in the system - * @param context The relevant DSpace context + * @param session The current request's database context. * @param limit paging limit * @param offset paging offset * @return A list of all EntityType objects * @throws SQLException If something goes wrong */ - List findAll(Context context, Integer limit, Integer offset) throws SQLException; + List findAll(Session session, Integer limit, Integer offset) throws SQLException; /** * This method creates an EntityType object in the database with the given entityTypeString as it's label diff --git a/dspace-api/src/main/java/org/dspace/content/service/MetadataSchemaService.java b/dspace-api/src/main/java/org/dspace/content/service/MetadataSchemaService.java index 10b4cc587904..ab43a41abb15 100644 --- a/dspace-api/src/main/java/org/dspace/content/service/MetadataSchemaService.java +++ b/dspace-api/src/main/java/org/dspace/content/service/MetadataSchemaService.java @@ -43,12 +43,12 @@ public MetadataSchema create(Context context, String name, String namespace) /** * Get the schema object corresponding to this namespace URI. * - * @param context DSpace context + * @param session current request's database context. * @param namespace namespace URI to match * @return metadata schema object or null if none found. * @throws SQLException if database error */ - public MetadataSchema findByNamespace(Context context, String namespace) throws SQLException; + public MetadataSchema findByNamespace(Session session, String namespace) throws SQLException; /** * Update the metadata schema in the database. @@ -76,11 +76,11 @@ public void update(Context context, MetadataSchema metadataSchema) /** * Return all metadata schemas. * - * @param context DSpace context + * @param session DSpace context * @return array of metadata schemas * @throws SQLException if database error */ - public List findAll(Context context) throws SQLException; + public List findAll(Session session) throws SQLException; /** * Get the schema corresponding with this numeric ID. diff --git a/dspace-api/src/main/java/org/dspace/content/service/RelationshipTypeService.java b/dspace-api/src/main/java/org/dspace/content/service/RelationshipTypeService.java index 0d84ccd5e241..199177fdb1ca 100644 --- a/dspace-api/src/main/java/org/dspace/content/service/RelationshipTypeService.java +++ b/dspace-api/src/main/java/org/dspace/content/service/RelationshipTypeService.java @@ -15,6 +15,7 @@ import org.dspace.content.RelationshipType; import org.dspace.core.Context; import org.dspace.service.DSpaceCRUDService; +import org.hibernate.Session; /** * This Service uses DAOs to access information on the database objects for the RelationshipTypes @@ -33,7 +34,7 @@ public interface RelationshipTypeService extends DSpaceCRUDService findAll(Context context) throws SQLException; + List findAll(Session session) throws SQLException; /** * Retrieves all RelationshipType objects currently in the system - * @param context The relevant DSpace context + * @param session The current request's database context. * @param limit paging limit * @param offset paging offset * @return The list of all RelationshipType objects currently in the system * @throws SQLException If something goes wrong */ - List findAll(Context context, Integer limit, Integer offset) throws SQLException; + List findAll(Session session, Integer limit, Integer offset) throws SQLException; /** * Retrieves all RelationshipType objects that have a left or right type that is - * equal to the given String - * @param context The relevant DSpace context - * @param typeName The label that has to match + * equal to the given String. + * @param session The current request's database context. + * @param typeName The label that has to match * @return The list of all RelationshipType objects that have a left or right label - * that is equal to the given label param + * that is equal to the given label parameter * @throws SQLException If something goes wrong */ - List findByLeftwardOrRightwardTypeName(Context context, String typeName) throws SQLException; + List findByLeftwardOrRightwardTypeName(Session session, String typeName) throws SQLException; /** * Retrieves all RelationshipType objects that have a left or right label that is - * equal to the given String - * @param context The relevant DSpace context + * equal to the given String. + * @param session The current request's database context. * @param typeName The typeName that has to match * @param limit paging limit * @param offset paging offset * @return The list of all RelationshipType objects that have a left or right label - * that is equal to the given label param + * that is equal to the given label parameter * @throws SQLException If something goes wrong */ - List findByLeftwardOrRightwardTypeName(Context context, String typeName, Integer limit, + List findByLeftwardOrRightwardTypeName(Session session, String typeName, Integer limit, Integer offset) throws SQLException; /** * Returns a list of RelationshipType objects for which the given EntityType is equal to either the leftType * or the rightType - * @param context The relevant DSpace context + * @param session The current request's database context. * @param entityType The EntityType object used to check the leftType and rightType properties * @return A list of RelationshipType objects for which the leftType or rightType property are equal to the * given EntityType object * @throws SQLException If something goes wrong */ - List findByEntityType(Context context, EntityType entityType) throws SQLException; + List findByEntityType(Session session, EntityType entityType) throws SQLException; /** * Returns a list of relationship types that matches provided EntityType object on any side of relationship - * - * @param context The relevant DSpace context + * + * @param session The current request's database context. * @param entityType The EntityType object that will be used to check on * @param limit Paging limit * @param offset Paging offset * @return * @throws SQLException If database error */ - List findByEntityType(Context context, EntityType entityType, Integer limit, Integer offset) + List findByEntityType(Session session, EntityType entityType, Integer limit, Integer offset) throws SQLException; /** * Count all RelationshipType objects for which the given EntityType * is equal to either the leftType or the rightType - * + * * @param context DSpace context object * @param entityType The EntityType object used to check the leftType and rightType properties * @return Total RelationshipType objects @@ -127,7 +128,7 @@ List findByEntityType(Context context, EntityType entityType, /** * This method will return a list of RelationshipType objects for which the given EntityType object is equal * to the leftType or rightType - * @param context The relevant DSpace context + * @param session The current request's database context. * @param entityType The EntityType object that will be used to check on * @param isLeft Boolean value used to filter by left_type or right_type. If true left_type results only * else right_type results. @@ -135,14 +136,14 @@ List findByEntityType(Context context, EntityType entityType, * as either a leftType or rightType * @throws SQLException If something goes wrong */ - List findByEntityType(Context context, EntityType entityType, boolean isLeft) + List findByEntityType(Session session, EntityType entityType, boolean isLeft) throws SQLException; /** * This method will return a list of RelationshipType objects for which the given EntityType object is equal * to the leftType or rightType - * @param context The relevant DSpace context + * @param session The current request's database context. * @param entityType The EntityType object that will be used to check on * @param isLeft Boolean value used to filter by left_type or right_type. If true left_type results only * else right_type results. @@ -152,7 +153,7 @@ List findByEntityType(Context context, EntityType entityType, * as either a leftType or rightType * @throws SQLException If something goes wrong */ - List findByEntityType(Context context, EntityType entityType, boolean isLeft, + List findByEntityType(Session session, EntityType entityType, boolean isLeft, Integer limit, Integer offset) throws SQLException; diff --git a/dspace-api/src/main/java/org/dspace/content/service/WorkspaceItemService.java b/dspace-api/src/main/java/org/dspace/content/service/WorkspaceItemService.java index c8df68e43498..d383312460e8 100644 --- a/dspace-api/src/main/java/org/dspace/content/service/WorkspaceItemService.java +++ b/dspace-api/src/main/java/org/dspace/content/service/WorkspaceItemService.java @@ -20,6 +20,7 @@ import org.dspace.core.Context; import org.dspace.eperson.EPerson; import org.dspace.workflow.WorkflowItem; +import org.hibernate.Session; /** * Service interface class for the WorkspaceItem object. @@ -34,12 +35,12 @@ public interface WorkspaceItemService extends InProgressSubmissionService findByEPerson(Context context, EPerson ep) + public List findByEPerson(Session session, EPerson ep) throws SQLException; /** @@ -93,25 +94,25 @@ public List findByEPerson(Context context, EPerson ep) * workspace item ID, since this should likely keep them in the order in * which they were created. * - * @param context the context object + * @param session current request's database context. * @param ep the eperson * @param limit the max number of workspaceitems to return * @param offset the offset * @return the corresponding workspace items * @throws SQLException if database error */ - public List findByEPerson(Context context, EPerson ep, Integer limit, Integer offset) + public List findByEPerson(Session session, EPerson ep, Integer limit, Integer offset) throws SQLException; /** * Get all workspace items for a particular collection. * - * @param context the context object + * @param session current request's database context. * @param collection the collection * @return the corresponding workspace items * @throws SQLException if database error */ - public List findByCollection(Context context, Collection collection) + public List findByCollection(Session session, Collection collection) throws SQLException; @@ -119,34 +120,34 @@ public List findByCollection(Context context, Collection collecti * Check to see if a particular item is currently still in a user's Workspace. * If so, its WorkspaceItem is returned. If not, null is returned * - * @param context the context object + * @param session current request's database session. * @param item the item * @return workflow item corresponding to the item, or null * @throws SQLException if database error */ - public WorkspaceItem findByItem(Context context, Item item) + public WorkspaceItem findByItem(Session session, Item item) throws SQLException; /** * Get all workspace items in the whole system * - * @param context the context object + * @param session the context object * @return all workspace items * @throws SQLException if database error */ - public List findAll(Context context) + public List findAll(Session session) throws SQLException; /** * Get all workspace items in the whole system, paginated. * - * @param context the context object + * @param session current request's database context. * @param limit limit * @param offset offset * @return a page of workspace items * @throws SQLException if database error */ - public List findAll(Context context, Integer limit, Integer offset) throws SQLException; + public List findAll(Session session, Integer limit, Integer offset) throws SQLException; /** diff --git a/dspace-api/src/main/java/org/dspace/ctask/general/ProfileFormats.java b/dspace-api/src/main/java/org/dspace/ctask/general/ProfileFormats.java index 76471b1f9fe5..6eb477046c6c 100644 --- a/dspace-api/src/main/java/org/dspace/ctask/general/ProfileFormats.java +++ b/dspace-api/src/main/java/org/dspace/ctask/general/ProfileFormats.java @@ -22,6 +22,7 @@ import org.dspace.curate.AbstractCurationTask; import org.dspace.curate.Curator; import org.dspace.curate.Distributive; +import org.hibernate.Session; /** * ProfileFormats is a task that creates a distribution table of Bitstream @@ -32,16 +33,10 @@ @Distributive public class ProfileFormats extends AbstractCurationTask { // map of formats to occurrences - protected Map fmtTable = new HashMap(); + protected Map fmtTable = new HashMap<>(); protected BitstreamFormatService bitstreamFormatService = ContentServiceFactory.getInstance() .getBitstreamFormatService(); - /** - * Perform the curation task upon passed DSO - * - * @param dso the DSpace object - * @throws IOException if IO error - */ @Override public int perform(DSpaceObject dso) throws IOException { fmtTable.clear(); @@ -69,8 +64,9 @@ protected void performItem(Item item) throws SQLException, IOException { private void formatResults() throws IOException { try { StringBuilder sb = new StringBuilder(); + Session session = Curator.curationContext().getSession(); for (String fmt : fmtTable.keySet()) { - BitstreamFormat bsf = bitstreamFormatService.findByShortDescription(Curator.curationContext(), fmt); + BitstreamFormat bsf = bitstreamFormatService.findByShortDescription(session, fmt); sb.append(String.format("%6d", fmtTable.get(fmt))).append(" ("). append(bitstreamFormatService.getSupportLevelText(bsf).charAt(0)).append(") "). append(bsf.getDescription()).append("\n"); diff --git a/dspace-api/src/main/java/org/dspace/curate/XmlWorkflowCuratorServiceImpl.java b/dspace-api/src/main/java/org/dspace/curate/XmlWorkflowCuratorServiceImpl.java index 440fcf0b7a4a..94b5c039c38f 100644 --- a/dspace-api/src/main/java/org/dspace/curate/XmlWorkflowCuratorServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/curate/XmlWorkflowCuratorServiceImpl.java @@ -103,7 +103,7 @@ public boolean doCuration(Context c, XmlWorkflowItem wfi) @Override public boolean curate(Curator curator, Context c, String wfId) throws AuthorizeException, IOException, SQLException { - XmlWorkflowItem wfi = workflowItemService.find(c, Integer.parseInt(wfId)); + XmlWorkflowItem wfi = workflowItemService.find(c.getSession(), Integer.parseInt(wfId)); if (wfi != null) { return curate(curator, c, wfi); } else { @@ -182,7 +182,7 @@ public boolean curate(Curator curator, Context c, XmlWorkflowItem wfi) */ protected FlowStep getFlowStep(Context c, XmlWorkflowItem wfi) throws SQLException, IOException { - if (claimedTaskService.find(c, wfi).isEmpty()) { // No claimed tasks: assume first step + if (claimedTaskService.find(c.getSession(), wfi).isEmpty()) { // No claimed tasks: assume first step Collection coll = wfi.getCollection(); String taskSetName = curationTaskConfig.containsKey(coll.getHandle()) ? coll.getHandle() : CurationTaskConfig.DEFAULT_TASKSET_NAME; @@ -190,7 +190,7 @@ protected FlowStep getFlowStep(Context c, XmlWorkflowItem wfi) return ts.steps.isEmpty() ? null : ts.steps.get(0); } ClaimedTask claimedTask - = claimedTaskService.findByWorkflowIdAndEPerson(c, wfi, c.getCurrentUser()); + = claimedTaskService.findByWorkflowIdAndEPerson(c.getSession(), wfi, c.getCurrentUser()); if (claimedTask != null) { Collection coll = wfi.getCollection(); String taskSetName = curationTaskConfig.containsKey(coll.getHandle()) ? @@ -247,7 +247,8 @@ protected List resolveContacts(Context c, List contacts, // decode contacts if ("$flowgroup".equals(contact)) { // special literal for current flowgoup - ClaimedTask claimedTask = claimedTaskService.findByWorkflowIdAndEPerson(c, wfi, c.getCurrentUser()); + ClaimedTask claimedTask + = claimedTaskService.findByWorkflowIdAndEPerson(c.getSession(), wfi, c.getCurrentUser()); String stepID = claimedTask.getStepID(); Step step; try { diff --git a/dspace-api/src/main/java/org/dspace/discovery/SolrServiceImpl.java b/dspace-api/src/main/java/org/dspace/discovery/SolrServiceImpl.java index 488eb0f9324d..1516736a2070 100644 --- a/dspace-api/src/main/java/org/dspace/discovery/SolrServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/discovery/SolrServiceImpl.java @@ -598,14 +598,12 @@ public String createLocationQueryForAdministrableItems(Context context) .allMemberGroups(context, context.getCurrentUser()); List communitiesPolicies = AuthorizeServiceFactory.getInstance().getResourcePolicyService() - .find(context, context.getCurrentUser(), - groupList, Constants.ADMIN, - Constants.COMMUNITY); + .find(context.getSession(), context.getCurrentUser(), + groupList, Constants.ADMIN, Constants.COMMUNITY); List collectionsPolicies = AuthorizeServiceFactory.getInstance().getResourcePolicyService() - .find(context, context.getCurrentUser(), - groupList, Constants.ADMIN, - Constants.COLLECTION); + .find(context.getSession(), context.getCurrentUser(), + groupList, Constants.ADMIN, Constants.COLLECTION); List allCollections = new ArrayList<>(); diff --git a/dspace-api/src/main/java/org/dspace/discovery/indexobject/ClaimedTaskIndexFactoryImpl.java b/dspace-api/src/main/java/org/dspace/discovery/indexobject/ClaimedTaskIndexFactoryImpl.java index 411aa6a0fb2d..b8e326e3fb18 100644 --- a/dspace-api/src/main/java/org/dspace/discovery/indexobject/ClaimedTaskIndexFactoryImpl.java +++ b/dspace-api/src/main/java/org/dspace/discovery/indexobject/ClaimedTaskIndexFactoryImpl.java @@ -38,7 +38,7 @@ public class ClaimedTaskIndexFactoryImpl extends IndexFactoryImpl findAll(Context context) throws SQLException { - final Iterator claimedTasks = claimedTaskService.findAll(context).iterator(); + final Iterator claimedTasks = claimedTaskService.findAll(context.getSession()).iterator(); return new Iterator() { @Override public boolean hasNext() { @@ -93,7 +93,7 @@ public List getIndexableObjects(Context context, ClaimedTask object) { @Override public Optional findIndexableObject(Context context, String id) throws SQLException { - final ClaimedTask claimedTask = claimedTaskService.find(context, Integer.parseInt(id)); + final ClaimedTask claimedTask = claimedTaskService.find(context.getSession(), Integer.parseInt(id)); return claimedTask == null ? Optional.empty() : Optional.of(new IndexableClaimedTask(claimedTask)); } } \ No newline at end of file diff --git a/dspace-api/src/main/java/org/dspace/discovery/indexobject/ItemIndexFactoryImpl.java b/dspace-api/src/main/java/org/dspace/discovery/indexobject/ItemIndexFactoryImpl.java index 83ba3a2f982b..61990f59badb 100644 --- a/dspace-api/src/main/java/org/dspace/discovery/indexobject/ItemIndexFactoryImpl.java +++ b/dspace-api/src/main/java/org/dspace/discovery/indexobject/ItemIndexFactoryImpl.java @@ -692,13 +692,13 @@ public List getIndexableObjects(Context context, Item item) throws SQLException return List.of(new IndexableItem(item)); } - final WorkspaceItem workspaceItem = workspaceItemService.findByItem(context, item); + final WorkspaceItem workspaceItem = workspaceItemService.findByItem(context.getSession(), item); if (workspaceItem != null) { // a workspace item is linked to the given item return List.copyOf(workspaceItemIndexFactory.getIndexableObjects(context, workspaceItem)); } - final XmlWorkflowItem xmlWorkflowItem = xmlWorkflowItemService.findByItem(context, item); + final XmlWorkflowItem xmlWorkflowItem = xmlWorkflowItemService.findByItem(context.getSession(), item); if (xmlWorkflowItem != null) { // a workflow item is linked to the given item return List.copyOf(workflowItemIndexFactory.getIndexableObjects(context, xmlWorkflowItem)); diff --git a/dspace-api/src/main/java/org/dspace/discovery/indexobject/PoolTaskIndexFactoryImpl.java b/dspace-api/src/main/java/org/dspace/discovery/indexobject/PoolTaskIndexFactoryImpl.java index e7f2f0a14ce1..8e6b2c48c970 100644 --- a/dspace-api/src/main/java/org/dspace/discovery/indexobject/PoolTaskIndexFactoryImpl.java +++ b/dspace-api/src/main/java/org/dspace/discovery/indexobject/PoolTaskIndexFactoryImpl.java @@ -98,7 +98,7 @@ public List getIndexableObjects(Context context, PoolTask object) { @Override public Optional findIndexableObject(Context context, String id) throws SQLException { - final PoolTask poolTask = poolTaskService.find(context, Integer.parseInt(id)); + final PoolTask poolTask = poolTaskService.find(context.getSession(), Integer.parseInt(id)); return poolTask == null ? Optional.empty() : Optional.of(new IndexablePoolTask(poolTask)); } } diff --git a/dspace-api/src/main/java/org/dspace/discovery/indexobject/WorkflowItemIndexFactoryImpl.java b/dspace-api/src/main/java/org/dspace/discovery/indexobject/WorkflowItemIndexFactoryImpl.java index 0bb114e18964..0ea907b16575 100644 --- a/dspace-api/src/main/java/org/dspace/discovery/indexobject/WorkflowItemIndexFactoryImpl.java +++ b/dspace-api/src/main/java/org/dspace/discovery/indexobject/WorkflowItemIndexFactoryImpl.java @@ -46,7 +46,7 @@ public class WorkflowItemIndexFactoryImpl @Override public Iterator findAll(Context context) throws SQLException { - final Iterator workflowItems = workflowItemService.findAll(context).iterator(); + final Iterator workflowItems = workflowItemService.findAll(context.getSession()).iterator(); return new Iterator() { @Override @@ -99,7 +99,7 @@ public List getIndexableObjects(Context context, XmlWorkflowItem object) throws results.add(new IndexablePoolTask(poolTask)); } - List claimedTasks = claimedTaskService.find(context, object); + List claimedTasks = claimedTaskService.find(context.getSession(), object); for (ClaimedTask claimedTask : claimedTasks) { results.add(new IndexableClaimedTask(claimedTask)); } @@ -109,7 +109,7 @@ public List getIndexableObjects(Context context, XmlWorkflowItem object) throws @Override public Optional findIndexableObject(Context context, String id) throws SQLException { - final XmlWorkflowItem xmlWorkflowItem = workflowItemService.find(context, Integer.parseInt(id)); + final XmlWorkflowItem xmlWorkflowItem = workflowItemService.find(context.getSession(), Integer.parseInt(id)); return xmlWorkflowItem == null ? Optional.empty() : Optional.of(new IndexableWorkflowItem(xmlWorkflowItem)); } } diff --git a/dspace-api/src/main/java/org/dspace/discovery/indexobject/WorkspaceItemIndexFactoryImpl.java b/dspace-api/src/main/java/org/dspace/discovery/indexobject/WorkspaceItemIndexFactoryImpl.java index 05c82820de23..93f827941045 100644 --- a/dspace-api/src/main/java/org/dspace/discovery/indexobject/WorkspaceItemIndexFactoryImpl.java +++ b/dspace-api/src/main/java/org/dspace/discovery/indexobject/WorkspaceItemIndexFactoryImpl.java @@ -36,7 +36,8 @@ public class WorkspaceItemIndexFactoryImpl @Override public Iterator findAll(Context context) throws SQLException { - final Iterator workspaceItems = workspaceItemService.findAll(context).iterator(); + final Iterator workspaceItems + = workspaceItemService.findAll(context.getSession()).iterator(); return new Iterator() { @Override @@ -85,7 +86,7 @@ public List getIndexableObjects(Context context, WorkspaceItem object) { @Override public Optional findIndexableObject(Context context, String id) throws SQLException { - final WorkspaceItem workspaceItem = workspaceItemService.find(context, Integer.parseInt(id)); + final WorkspaceItem workspaceItem = workspaceItemService.find(context.getSession(), Integer.parseInt(id)); return workspaceItem == null ? Optional.empty() : Optional.of(new IndexableWorkspaceItem(workspaceItem)); } } diff --git a/dspace-api/src/main/java/org/dspace/eperson/AccountServiceImpl.java b/dspace-api/src/main/java/org/dspace/eperson/AccountServiceImpl.java index 3d4eab125f92..12242615a444 100644 --- a/dspace-api/src/main/java/org/dspace/eperson/AccountServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/eperson/AccountServiceImpl.java @@ -157,7 +157,7 @@ public EPerson getEPerson(Context context, String token) @Override public String getEmail(Context context, String token) throws SQLException { - RegistrationData registrationData = registrationDataService.findByToken(context, token); + RegistrationData registrationData = registrationDataService.findByToken(context.getSession(), token); if (registrationData == null) { return null; @@ -209,7 +209,7 @@ protected RegistrationData sendInfo(Context context, String email, boolean isRegister, boolean send) throws SQLException, IOException, MessagingException, AuthorizeException { // See if a registration token already exists for this user - RegistrationData rd = registrationDataService.findByEmail(context, email); + RegistrationData rd = registrationDataService.findByEmail(context.getSession(), email); // If it already exists, just re-issue it diff --git a/dspace-api/src/main/java/org/dspace/eperson/EPersonServiceImpl.java b/dspace-api/src/main/java/org/dspace/eperson/EPersonServiceImpl.java index adda4127614f..3aa1f962845e 100644 --- a/dspace-api/src/main/java/org/dspace/eperson/EPersonServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/eperson/EPersonServiceImpl.java @@ -322,7 +322,7 @@ public void delete(Context context, EPerson ePerson, boolean cascade) } WorkspaceItemService workspaceItemService = ContentServiceFactory.getInstance() .getWorkspaceItemService(); - WorkspaceItem wsi = workspaceItemService.findByItem(context, item); + WorkspaceItem wsi = workspaceItemService.findByItem(context.getSession(), item); if (null != wsi) { workspaceItemService.deleteAll(context, wsi); @@ -343,7 +343,8 @@ public void delete(Context context, EPerson ePerson, boolean cascade) WorkflowRequirementsService workflowRequirementsService = XmlWorkflowServiceFactory .getInstance().getWorkflowRequirementsService(); - List claimedTasks = claimedTaskService.findByEperson(context, ePerson); + List claimedTasks + = claimedTaskService.findByEperson(context.getSession(), ePerson); for (ClaimedTask task : claimedTasks) { xmlWorkflowService.deleteClaimedTask(context, task.getWorkflowItem(), task); @@ -526,13 +527,13 @@ public List getDeleteConstraints(Context context, EPerson ePerson) throw } WorkspaceItemService workspaceItemService = ContentServiceFactory.getInstance().getWorkspaceItemService(); - List workspaceBySubmitter = workspaceItemService.findByEPerson(context, ePerson); + List workspaceBySubmitter = workspaceItemService.findByEPerson(context.getSession(), ePerson); if (!workspaceBySubmitter.isEmpty()) { tableList.add("workspaceitem"); } ResourcePolicyService resourcePolicyService = AuthorizeServiceFactory.getInstance().getResourcePolicyService(); - if (!resourcePolicyService.find(context, ePerson).isEmpty()) { + if (!resourcePolicyService.find(context.getSession(), ePerson).isEmpty()) { tableList.add("resourcepolicy"); } diff --git a/dspace-api/src/main/java/org/dspace/eperson/GroupServiceImpl.java b/dspace-api/src/main/java/org/dspace/eperson/GroupServiceImpl.java index 991f4e4af0a9..d3c545cdd948 100644 --- a/dspace-api/src/main/java/org/dspace/eperson/GroupServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/eperson/GroupServiceImpl.java @@ -173,7 +173,7 @@ public void removeMember(Context context, Group group, EPerson ePerson) throws S List collectionRoles = collectionRoleService.findByGroup(context, group); if (!collectionRoles.isEmpty()) { List poolTasks = poolTaskService.findByGroup(context, group); - List claimedTasks = claimedTaskService.findByEperson(context, ePerson); + List claimedTasks = claimedTaskService.findByEperson(context.getSession(), ePerson); for (ClaimedTask claimedTask : claimedTasks) { Step stepByName = workflowFactory.getStepByName(claimedTask.getStepID()); Role role = stepByName.getRole(); @@ -689,7 +689,7 @@ public DSpaceObject getParentObject(Context context, Group group) throws SQLExce || AuthorizeConfiguration .canCommunityAdminManageCollectionWorkflows()) { // is this a collection related group? - org.dspace.content.Collection collection = collectionService.findByGroup(context, group); + org.dspace.content.Collection collection = collectionService.findByGroup(context.getSession(), group); if (collection != null) { if (group.equals(collection.getSubmitters())) { @@ -731,8 +731,9 @@ public DSpaceObject getParentObject(Context context, Group group) throws SQLExce || AuthorizeConfiguration.canCommunityAdminManageCollectionWorkflows()) { List groups = new ArrayList<>(); groups.add(group); - List policies = resourcePolicyService.find(context, null, groups, - Constants.DEFAULT_ITEM_READ, Constants.COLLECTION); + List policies = resourcePolicyService.find(context.getSession(), + null, groups, + Constants.DEFAULT_ITEM_READ, Constants.COLLECTION); Optional defaultPolicy = policies.stream().filter(p -> StringUtils.equals( collectionService.getDefaultReadGroupName((Collection) p.getdSpaceObject(), "ITEM"), @@ -741,7 +742,7 @@ public DSpaceObject getParentObject(Context context, Group group) throws SQLExce if (defaultPolicy.isPresent()) { return defaultPolicy.get().getdSpaceObject(); } - policies = resourcePolicyService.find(context, null, groups, + policies = resourcePolicyService.find(context.getSession(), null, groups, Constants.DEFAULT_BITSTREAM_READ, Constants.COLLECTION); defaultPolicy = policies.stream() @@ -758,7 +759,7 @@ public DSpaceObject getParentObject(Context context, Group group) throws SQLExce if (AuthorizeConfiguration.canCommunityAdminManageAdminGroup()) { // is the group related to a community and community administrator allowed // to manage it? - return communityService.findByAdminGroup(context, group); + return communityService.findByAdminGroup(context.getSession(), group); } } } diff --git a/dspace-api/src/main/java/org/dspace/eperson/RegistrationDataServiceImpl.java b/dspace-api/src/main/java/org/dspace/eperson/RegistrationDataServiceImpl.java index 1668d15583d4..ba332e5a13a9 100644 --- a/dspace-api/src/main/java/org/dspace/eperson/RegistrationDataServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/eperson/RegistrationDataServiceImpl.java @@ -16,6 +16,7 @@ import org.dspace.core.Context; import org.dspace.eperson.dao.RegistrationDataDAO; import org.dspace.eperson.service.RegistrationDataService; +import org.hibernate.Session; import org.springframework.beans.factory.annotation.Autowired; /** @@ -40,13 +41,13 @@ public RegistrationData create(Context context) throws SQLException, AuthorizeEx @Override - public RegistrationData findByToken(Context context, String token) throws SQLException { - return registrationDataDAO.findByToken(context.getSession(), token); + public RegistrationData findByToken(Session session, String token) throws SQLException { + return registrationDataDAO.findByToken(session, token); } @Override - public RegistrationData findByEmail(Context context, String email) throws SQLException { - return registrationDataDAO.findByEmail(context.getSession(), email); + public RegistrationData findByEmail(Session session, String email) throws SQLException { + return registrationDataDAO.findByEmail(session, email); } @Override @@ -56,8 +57,8 @@ public void deleteByToken(Context context, String token) throws SQLException { } @Override - public RegistrationData find(Context context, int id) throws SQLException { - return registrationDataDAO.findByID(context.getSession(), RegistrationData.class, id); + public RegistrationData find(Session session, int id) throws SQLException { + return registrationDataDAO.findByID(session.getSession(), RegistrationData.class, id); } @Override diff --git a/dspace-api/src/main/java/org/dspace/eperson/service/RegistrationDataService.java b/dspace-api/src/main/java/org/dspace/eperson/service/RegistrationDataService.java index d1e78fa2bce2..1af0f2171868 100644 --- a/dspace-api/src/main/java/org/dspace/eperson/service/RegistrationDataService.java +++ b/dspace-api/src/main/java/org/dspace/eperson/service/RegistrationDataService.java @@ -12,6 +12,7 @@ import org.dspace.core.Context; import org.dspace.eperson.RegistrationData; import org.dspace.service.DSpaceCRUDService; +import org.hibernate.Session; /** * Service interface class for the RegistrationData object. @@ -22,9 +23,9 @@ */ public interface RegistrationDataService extends DSpaceCRUDService { - public RegistrationData findByToken(Context context, String token) throws SQLException; + public RegistrationData findByToken(Session session, String token) throws SQLException; - public RegistrationData findByEmail(Context context, String email) throws SQLException; + public RegistrationData findByEmail(Session session, String email) throws SQLException; public void deleteByToken(Context context, String token) throws SQLException; diff --git a/dspace-api/src/main/java/org/dspace/identifier/doi/DOIConsumer.java b/dspace-api/src/main/java/org/dspace/identifier/doi/DOIConsumer.java index 33ef058e1696..e37a59f89179 100644 --- a/dspace-api/src/main/java/org/dspace/identifier/doi/DOIConsumer.java +++ b/dspace-api/src/main/java/org/dspace/identifier/doi/DOIConsumer.java @@ -38,7 +38,7 @@ public class DOIConsumer implements Consumer { /** * log4j logger */ - private static Logger log = org.apache.logging.log4j.LogManager.getLogger(DOIConsumer.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(); ConfigurationService configurationService; @@ -76,8 +76,10 @@ public void consume(Context ctx, Event event) throws Exception { } Item item = (Item) dso; DOIIdentifierProvider provider = new DSpace().getSingletonService(DOIIdentifierProvider.class); - boolean inProgress = (ContentServiceFactory.getInstance().getWorkspaceItemService().findByItem(ctx, item) - != null || WorkflowServiceFactory.getInstance().getWorkflowItemService().findByItem(ctx, item) != null); + boolean inProgress = (ContentServiceFactory.getInstance().getWorkspaceItemService() + .findByItem(ctx.getSession(), item) + != null || WorkflowServiceFactory.getInstance().getWorkflowItemService() + .findByItem(ctx.getSession(), item) != null); boolean identifiersInSubmission = configurationService.getBooleanProperty("identifiers.submission.register", false); DOIService doiService = IdentifierServiceFactory.getInstance().getDOIService(); diff --git a/dspace-api/src/main/java/org/dspace/license/CreativeCommonsServiceImpl.java b/dspace-api/src/main/java/org/dspace/license/CreativeCommonsServiceImpl.java index c9c8127d1844..df696a7ca74b 100644 --- a/dspace-api/src/main/java/org/dspace/license/CreativeCommonsServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/license/CreativeCommonsServiceImpl.java @@ -49,7 +49,7 @@ public class CreativeCommonsServiceImpl implements CreativeCommonsService, Initi /** * log4j category */ - private static Logger log = org.apache.logging.log4j.LogManager.getLogger(CreativeCommonsServiceImpl.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(); /** * The Bundle Name @@ -134,7 +134,7 @@ protected Bundle getCcBundle(Context context, Item item) throws SQLException, AuthorizeException, IOException { List bundles = itemService.getBundles(item, CC_BUNDLE_NAME); - if ((bundles.size() > 0) && (bundles.get(0) != null)) { + if ((!bundles.isEmpty()) && (bundles.get(0) != null)) { itemService.removeBundle(context, item, bundles.get(0)); } return bundleService.create(context, item, CC_BUNDLE_NAME); @@ -146,7 +146,8 @@ public void setLicenseRDF(Context context, Item item, String licenseRdf) AuthorizeException { Bundle bundle = getCcBundle(context, item); // set the format - BitstreamFormat bs_rdf_format = bitstreamFormatService.findByShortDescription(context, "RDF XML"); + BitstreamFormat bs_rdf_format + = bitstreamFormatService.findByShortDescription(context.getSession(), "RDF XML"); // set the RDF bitstream setBitstreamFromBytes(context, item, bundle, BSN_LICENSE_RDF, bs_rdf_format, licenseRdf.getBytes()); } @@ -161,11 +162,11 @@ public void setLicense(Context context, Item item, // set the format BitstreamFormat bs_format; if (mimeType.equalsIgnoreCase("text/xml")) { - bs_format = bitstreamFormatService.findByShortDescription(context, "CC License"); + bs_format = bitstreamFormatService.findByShortDescription(context.getSession(), "CC License"); } else if (mimeType.equalsIgnoreCase("text/rdf")) { - bs_format = bitstreamFormatService.findByShortDescription(context, "RDF XML"); + bs_format = bitstreamFormatService.findByShortDescription(context.getSession(), "RDF XML"); } else { - bs_format = bitstreamFormatService.findByShortDescription(context, "License"); + bs_format = bitstreamFormatService.findByShortDescription(context.getSession(), "License"); } Bitstream bs = bitstreamService.create(context, bundle, licenseStm); @@ -194,7 +195,7 @@ public void removeLicenseFile(Context context, Item item) // remove CC license bundle if one exists List bundles = itemService.getBundles(item, CC_BUNDLE_NAME); - if ((bundles.size() > 0) && (bundles.get(0) != null)) { + if ((!bundles.isEmpty()) && (bundles.get(0) != null)) { itemService.removeBundle(context, item, bundles.get(0)); } } @@ -355,7 +356,7 @@ protected Bitstream getBitstream(Item item, String bitstream_name) try { List bundles = itemService.getBundles(item, CC_BUNDLE_NAME); - if ((bundles != null) && (bundles.size() > 0)) { + if ((bundles != null) && (!bundles.isEmpty())) { cc_bundle = bundles.get(0); } else { return null; diff --git a/dspace-api/src/main/java/org/dspace/orcid/model/factory/impl/OrcidFundingFactory.java b/dspace-api/src/main/java/org/dspace/orcid/model/factory/impl/OrcidFundingFactory.java index de0bf886183a..a531e0f0aca7 100644 --- a/dspace-api/src/main/java/org/dspace/orcid/model/factory/impl/OrcidFundingFactory.java +++ b/dspace-api/src/main/java/org/dspace/orcid/model/factory/impl/OrcidFundingFactory.java @@ -156,7 +156,7 @@ private Organization getOrganization(Context context, Item item) { try { - return relationshipTypeService.findByLeftwardOrRightwardTypeName(context, + return relationshipTypeService.findByLeftwardOrRightwardTypeName(context.getSession(), fieldMapping.getOrganizationRelationshipType()).stream() .flatMap(relationshipType -> getRelationships(context, item, relationshipType)) .map(relationship -> getRelatedItem(item, relationship)) diff --git a/dspace-api/src/main/java/org/dspace/rdf/RDFConsumer.java b/dspace-api/src/main/java/org/dspace/rdf/RDFConsumer.java index 118917ed7be7..e8d95ccc4038 100644 --- a/dspace-api/src/main/java/org/dspace/rdf/RDFConsumer.java +++ b/dspace-api/src/main/java/org/dspace/rdf/RDFConsumer.java @@ -120,8 +120,8 @@ public void consumeBitstream(Context ctx, Event event) throws SQLException { for (Bundle b : bundles) { List items = b.getItems(); for (Item i : items) { - if (workspaceItemService.findByItem(ctx, i) != null - || workflowItemService.findByItem(ctx, i) != null) { + if (workspaceItemService.findByItem(ctx.getSession(), i) != null + || workflowItemService.findByItem(ctx.getSession(), i) != null) { log.debug( "Ignoring Item " + i.getID() + " as a corresponding workspace or workflow item exists."); continue; @@ -165,8 +165,8 @@ public void consumeBundles(Context ctx, Event event) throws SQLException { } List items = bundle.getItems(); for (Item i : items) { - if (workspaceItemService.findByItem(ctx, i) != null - || workflowItemService.findByItem(ctx, i) != null) { + if (workspaceItemService.findByItem(ctx.getSession(), i) != null + || workflowItemService.findByItem(ctx.getSession(), i) != null) { log.debug("Ignoring Item " + i.getID() + " as a corresponding workspace or workflow item exists."); continue; } @@ -232,8 +232,8 @@ public void consumeCommunityCollectionItem(Context ctx, Event event) throws SQLE // has an workspace item. The item flag "in_archive" doesn't help us // here as this is also set to false if a newer version was submitted. if (dso instanceof Item) { - if (workspaceItemService.findByItem(ctx, (Item) dso) != null - || workflowItemService.findByItem(ctx, (Item) dso) != null) { + if (workspaceItemService.findByItem(ctx.getSession(), (Item) dso) != null + || workflowItemService.findByItem(ctx.getSession(), (Item) dso) != null) { log.debug( "Ignoring Item " + dso.getID() + " as a corresponding workspace or workflow item exists."); return; diff --git a/dspace-api/src/main/java/org/dspace/service/DSpaceCRUDService.java b/dspace-api/src/main/java/org/dspace/service/DSpaceCRUDService.java index 3328e2a7b38b..8376e2aa787c 100644 --- a/dspace-api/src/main/java/org/dspace/service/DSpaceCRUDService.java +++ b/dspace-api/src/main/java/org/dspace/service/DSpaceCRUDService.java @@ -12,6 +12,7 @@ import org.dspace.authorize.AuthorizeException; import org.dspace.core.Context; +import org.hibernate.Session; /** * Interface containing the simple CRUD methods so we don't have to add them @@ -24,7 +25,7 @@ public interface DSpaceCRUDService { public T create(Context context) throws SQLException, AuthorizeException; - public T find(Context context, int id) throws SQLException; + public T find(Session session, int id) throws SQLException; /** * Persist a model object. diff --git a/dspace-api/src/main/java/org/dspace/supervision/SupervisionOrderServiceImpl.java b/dspace-api/src/main/java/org/dspace/supervision/SupervisionOrderServiceImpl.java index fac9d29e0f7f..2aeeaf2ffe66 100644 --- a/dspace-api/src/main/java/org/dspace/supervision/SupervisionOrderServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/supervision/SupervisionOrderServiceImpl.java @@ -22,6 +22,7 @@ import org.dspace.event.Event; import org.dspace.supervision.dao.SupervisionOrderDao; import org.dspace.supervision.service.SupervisionOrderService; +import org.hibernate.Session; import org.springframework.beans.factory.annotation.Autowired; /** @@ -50,8 +51,8 @@ public SupervisionOrder create(Context context) throws SQLException, AuthorizeEx } @Override - public SupervisionOrder find(Context context, int id) throws SQLException { - return supervisionDao.findByID(context.getSession(), SupervisionOrder.class, id); + public SupervisionOrder find(Session session, int id) throws SQLException { + return supervisionDao.findByID(session, SupervisionOrder.class, id); } @Override diff --git a/dspace-api/src/main/java/org/dspace/versioning/DefaultItemVersionProvider.java b/dspace-api/src/main/java/org/dspace/versioning/DefaultItemVersionProvider.java index e8591bf71c6e..3ecc5a46e7fc 100644 --- a/dspace-api/src/main/java/org/dspace/versioning/DefaultItemVersionProvider.java +++ b/dspace-api/src/main/java/org/dspace/versioning/DefaultItemVersionProvider.java @@ -77,8 +77,8 @@ public void deleteVersionedItem(Context c, Version versionToDelete, VersionHisto // version gets archived. Item item = versionHistoryService.getPrevious(c, history, versionToDelete).getItem(); if (!item.isArchived() - || workspaceItemService.findByItem(c, versionToDelete.getItem()) != null - || workflowItemService.findByItem(c, versionToDelete.getItem()) != null) { + || workspaceItemService.findByItem(c.getSession(), versionToDelete.getItem()) != null + || workflowItemService.findByItem(c.getSession(), versionToDelete.getItem()) != null) { item.setArchived(true); itemService.update(c, item); } diff --git a/dspace-api/src/main/java/org/dspace/versioning/VersionHistoryServiceImpl.java b/dspace-api/src/main/java/org/dspace/versioning/VersionHistoryServiceImpl.java index f6bb41127947..ea0cfa92ea59 100644 --- a/dspace-api/src/main/java/org/dspace/versioning/VersionHistoryServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/versioning/VersionHistoryServiceImpl.java @@ -23,6 +23,7 @@ import org.dspace.versioning.dao.VersionHistoryDAO; import org.dspace.versioning.service.VersionHistoryService; import org.dspace.versioning.service.VersioningService; +import org.hibernate.Session; import org.springframework.beans.factory.annotation.Autowired; /** @@ -54,8 +55,8 @@ public VersionHistory create(Context context) throws SQLException { } @Override - public VersionHistory find(Context context, int id) throws SQLException { - return versionHistoryDAO.findByID(context.getSession(), VersionHistory.class, id); + public VersionHistory find(Session session, int id) throws SQLException { + return versionHistoryDAO.findByID(session, VersionHistory.class, id); } @Override @@ -146,7 +147,7 @@ public void add(Context context, VersionHistory versionHistory, Version version) throws SQLException { List versions = versionHistory.getVersions(); if (versions == null) { - versions = new ArrayList(); + versions = new ArrayList<>(); } versions.add(0, version); } diff --git a/dspace-api/src/main/java/org/dspace/versioning/VersioningConsumer.java b/dspace-api/src/main/java/org/dspace/versioning/VersioningConsumer.java index 8a44529c80d3..94eb965c7068 100644 --- a/dspace-api/src/main/java/org/dspace/versioning/VersioningConsumer.java +++ b/dspace-api/src/main/java/org/dspace/versioning/VersioningConsumer.java @@ -363,7 +363,7 @@ protected EntityType getEntityType(Context ctx, Item item) { */ protected List getRelationshipTypes(Context ctx, EntityType entityType) { try { - return relationshipTypeService.findByEntityType(ctx, entityType); + return relationshipTypeService.findByEntityType(ctx.getSession(), entityType); } catch (SQLException e) { log.error( "Exception occurred when trying to obtain relationship types via entity type with id {}, label {}", diff --git a/dspace-api/src/main/java/org/dspace/versioning/VersioningServiceImpl.java b/dspace-api/src/main/java/org/dspace/versioning/VersioningServiceImpl.java index 298232d55515..08796a7dc91d 100644 --- a/dspace-api/src/main/java/org/dspace/versioning/VersioningServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/versioning/VersioningServiceImpl.java @@ -136,11 +136,11 @@ public void delete(Context c, Version version) throws SQLException { // new versions. To avoid authorithation problems we need to // check whether a corresponding workspaceItem exists. if (!item.isArchived()) { - WorkspaceItem wsi = workspaceItemService.findByItem(c, item); + WorkspaceItem wsi = workspaceItemService.findByItem(c.getSession(), item); if (wsi != null) { workspaceItemService.deleteAll(c, wsi); } else { - WorkflowItem wfi = workflowItemService.findByItem(c, item); + WorkflowItem wfi = workflowItemService.findByItem(c.getSession(), item); if (wfi != null) { workflowItemService.delete(c, wfi); } diff --git a/dspace-api/src/main/java/org/dspace/workflow/WorkflowItemService.java b/dspace-api/src/main/java/org/dspace/workflow/WorkflowItemService.java index 15c1e8fe2e40..1d29c4a4e3fd 100644 --- a/dspace-api/src/main/java/org/dspace/workflow/WorkflowItemService.java +++ b/dspace-api/src/main/java/org/dspace/workflow/WorkflowItemService.java @@ -17,6 +17,7 @@ import org.dspace.content.service.InProgressSubmissionService; import org.dspace.core.Context; import org.dspace.eperson.EPerson; +import org.hibernate.Session; /** * Service interface class for the Workflow items. @@ -43,53 +44,53 @@ public interface WorkflowItemService extends InProgressS /** * Get a workflow item from the database. * - * @param context The relevant DSpace Context. + * @param session current request's database context. * @param id ID of the workflow item * @return the workflow item, or null if the ID is invalid. * @throws SQLException An exception that provides information on a database access error or other errors. */ - public T find(Context context, int id) throws SQLException; + public T find(Session session, int id) throws SQLException; /** * return all workflowitems * - * @param context The relevant DSpace Context. + * @param session current request's database context. * @return List of all workflowItems in system * @throws SQLException An exception that provides information on a database access error or other errors. */ - public List findAll(Context context) throws SQLException; + public List findAll(Session session) throws SQLException; /** * Get all workflow items for a particular collection. * - * @param context The relevant DSpace Context. + * @param session current request's database context. * @param collection the collection * @return array of the corresponding workflow items * @throws SQLException An exception that provides information on a database access error or other errors. */ - public List findByCollection(Context context, Collection collection) throws SQLException; + public List findByCollection(Session session, Collection collection) throws SQLException; /** * Check to see if a particular item is currently under Workflow. * If so, its WorkflowItem is returned. If not, null is returned * - * @param context The relevant DSpace Context. + * @param session current request's database context. * @param item the item * @return workflow item corresponding to the item, or null * @throws SQLException An exception that provides information on a database access error or other errors. */ - public T findByItem(Context context, Item item) throws SQLException; + public T findByItem(Session session, Item item) throws SQLException; /** * Get all workflow items that were original submissions by a particular * e-person. * - * @param context The relevant DSpace Context. + * @param session current request's database context. * @param ep the eperson * @return the corresponding workflow items * @throws SQLException An exception that provides information on a database access error or other errors. */ - public List findBySubmitter(Context context, EPerson ep) throws SQLException; + public List findBySubmitter(Session session, EPerson ep) throws SQLException; /** * Delete all workflow items present in the specified collection. diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/XmlWorkflowServiceImpl.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/XmlWorkflowServiceImpl.java index da7910da29f2..55b1e22d9cb5 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/XmlWorkflowServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/XmlWorkflowServiceImpl.java @@ -144,7 +144,7 @@ public void deleteCollection(Context context, Collection collection) @Override public List getEPersonDeleteConstraints(Context context, EPerson ePerson) throws SQLException { List constraints = new ArrayList<>(); - if (CollectionUtils.isNotEmpty(claimedTaskService.findByEperson(context, ePerson))) { + if (CollectionUtils.isNotEmpty(claimedTaskService.findByEperson(context.getSession(), ePerson))) { constraints.add("cwf_claimtask"); } if (CollectionUtils.isNotEmpty(poolTaskService.findByEPerson(context, ePerson))) { @@ -353,7 +353,7 @@ public WorkflowActionConfig doState(Context c, EPerson user, WorkflowActionConfig currentActionConfig) throws SQLException, AuthorizeException, IOException, MessagingException, WorkflowException { - XmlWorkflowItem wi = xmlWorkflowItemService.find(c, workflowItemId); + XmlWorkflowItem wi = xmlWorkflowItemService.find(c.getSession(), workflowItemId); // Check for curation tasks. // @@ -460,7 +460,7 @@ public WorkflowActionConfig processOutcome(Context c, EPerson user, Workflow wor return nextActionConfig; } } else { - ClaimedTask task = claimedTaskService.findByWorkflowIdAndEPerson(c, wfi, user); + ClaimedTask task = claimedTaskService.findByWorkflowIdAndEPerson(c.getSession(), wfi, user); //Check if we have a task for this action (might not be the case with automatic steps) //First add it to our list of finished users, since no more actions remain @@ -529,7 +529,7 @@ protected void logWorkflowEvent(Context c, String workflowId, String previousSte workflowStepString = workflowId + "." + newStep.getId() + "." + newActionConfig.getId(); //Retrieve the current owners of the task - List claimedTasks = claimedTaskService.find(c, wfi, newStep.getId()); + List claimedTasks = claimedTaskService.find(c.getSession(), wfi, newStep.getId()); List pooledTasks = poolTaskService.find(c, wfi); for (PoolTask poolTask : pooledTasks) { if (poolTask.getEperson() != null) { @@ -745,7 +745,8 @@ protected String getSubmitterName(XmlWorkflowItem wi) throws SQLException { public void deleteAllTasks(Context context, XmlWorkflowItem wi) throws SQLException, AuthorizeException { deleteAllPooledTasks(context, wi); - Iterator allClaimedTasks = claimedTaskService.findByWorkflowItem(context, wi).iterator(); + Iterator allClaimedTasks + = claimedTaskService.findByWorkflowItem(context.getSession(), wi).iterator(); while (allClaimedTasks.hasNext()) { ClaimedTask task = allClaimedTasks.next(); allClaimedTasks.remove(); @@ -998,7 +999,8 @@ public WorkspaceItem sendWorkflowItemBackSubmission(Context context, XmlWorkflow String workflowID = null; String currentStepId = null; String currentActionConfigId = null; - ClaimedTask claimedTask = claimedTaskService.findByWorkflowIdAndEPerson(context, wi, e); + ClaimedTask claimedTask + = claimedTaskService.findByWorkflowIdAndEPerson(context.getSession(), wi, e); if (claimedTask != null) { //Log it workflowID = claimedTask.getWorkflowID(); diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/migration/RestartWorkflow.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/migration/RestartWorkflow.java index 4ffc3a60c985..e081949b7be0 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/migration/RestartWorkflow.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/migration/RestartWorkflow.java @@ -115,7 +115,8 @@ public static void main(String[] args) { WorkflowServiceFactory workflowServiceFactory = WorkflowServiceFactory.getInstance(); - List workflowItems = workflowServiceFactory.getWorkflowItemService().findAll(context); + List workflowItems = workflowServiceFactory.getWorkflowItemService() + .findAll(context.getSession()); WorkflowService workflowService = workflowServiceFactory.getWorkflowService(); int i = 0; for (WorkflowItem workflowItem : workflowItems) { diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/state/actions/processingaction/ProcessingAction.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/state/actions/processingaction/ProcessingAction.java index 7a1c62adbd1e..0633b24fdde4 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/state/actions/processingaction/ProcessingAction.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/state/actions/processingaction/ProcessingAction.java @@ -50,7 +50,7 @@ public abstract class ProcessingAction extends Action { public boolean isAuthorized(Context context, HttpServletRequest request, XmlWorkflowItem wfi) throws SQLException { ClaimedTask task = null; if (context.getCurrentUser() != null) { - task = claimedTaskService.findByWorkflowIdAndEPerson(context, wfi, context.getCurrentUser()); + task = claimedTaskService.findByWorkflowIdAndEPerson(context.getSession(), wfi, context.getCurrentUser()); } //Check if we have claimed the current task return task != null && diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/state/actions/userassignment/AssignOriginalSubmitterAction.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/state/actions/userassignment/AssignOriginalSubmitterAction.java index 0cd82fe77084..84de3d6d1548 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/state/actions/userassignment/AssignOriginalSubmitterAction.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/state/actions/userassignment/AssignOriginalSubmitterAction.java @@ -135,7 +135,7 @@ public List getOptions() { */ protected void createTaskForEPerson(Context c, XmlWorkflowItem wfi, Step step, WorkflowActionConfig actionConfig, EPerson user) throws SQLException, AuthorizeException, IOException { - if (claimedTaskService.find(c, wfi, step.getId(), actionConfig.getId()) != null) { + if (claimedTaskService.find(c.getSession(), wfi, step.getId(), actionConfig.getId()) != null) { workflowRequirementsService.addClaimedUser(c, wfi, step, user); XmlWorkflowServiceFactory.getInstance().getXmlWorkflowService() .createOwnedTask(c, wfi, step, actionConfig, user); diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/state/actions/userassignment/AutoAssignAction.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/state/actions/userassignment/AutoAssignAction.java index 401a7c506b98..e216b528f5bd 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/state/actions/userassignment/AutoAssignAction.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/state/actions/userassignment/AutoAssignAction.java @@ -130,7 +130,7 @@ public List getOptions() { */ protected void createTaskForEPerson(Context c, XmlWorkflowItem wfi, Step step, WorkflowActionConfig actionConfig, EPerson user) throws SQLException, AuthorizeException, IOException { - if (claimedTaskService.find(c, wfi, step.getId(), actionConfig.getId()) != null) { + if (claimedTaskService.find(c.getSession(), wfi, step.getId(), actionConfig.getId()) != null) { workflowRequirementsService.addClaimedUser(c, wfi, step, user); XmlWorkflowServiceFactory.getInstance().getXmlWorkflowService() .createOwnedTask(c, wfi, step, actionConfig, user); @@ -154,7 +154,7 @@ public boolean isValidUserSelection(Context context, XmlWorkflowItem wfi, boolea Role role = getParent().getStep().getRole(); if (role != null) { List workflowItemRoles = workflowItemRoleService.find(context, wfi, role.getId()); - if (workflowItemRoles.size() == 0) { + if (workflowItemRoles.isEmpty()) { throw new WorkflowConfigurationException( "The next step is invalid, since it doesn't have any individual item roles"); } diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/ClaimedTaskServiceImpl.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/ClaimedTaskServiceImpl.java index 70ae02fd3f34..e7edb71afc5c 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/ClaimedTaskServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/ClaimedTaskServiceImpl.java @@ -18,6 +18,7 @@ import org.dspace.eperson.EPerson; import org.dspace.xmlworkflow.storedcomponents.dao.ClaimedTaskDAO; import org.dspace.xmlworkflow.storedcomponents.service.ClaimedTaskService; +import org.hibernate.Session; import org.springframework.beans.factory.annotation.Autowired; /** @@ -43,13 +44,13 @@ public ClaimedTask create(Context context) throws SQLException, AuthorizeExcepti } @Override - public ClaimedTask find(Context context, int id) throws SQLException { - return claimedTaskDAO.findByID(context.getSession(), ClaimedTask.class, id); + public ClaimedTask find(Session session, int id) throws SQLException { + return claimedTaskDAO.findByID(session, ClaimedTask.class, id); } @Override - public List findAll(Context context) throws SQLException { - return claimedTaskDAO.findAll(context.getSession(), ClaimedTask.class); + public List findAll(Session session) throws SQLException { + return claimedTaskDAO.findAll(session, ClaimedTask.class); } @Override @@ -72,55 +73,55 @@ public void delete(Context context, ClaimedTask claimedTask) throws SQLException } @Override - public List findByWorkflowItem(Context context, XmlWorkflowItem workflowItem) throws SQLException { - return claimedTaskDAO.findByWorkflowItem(context.getSession(), workflowItem); + public List findByWorkflowItem(Session session, XmlWorkflowItem workflowItem) throws SQLException { + return claimedTaskDAO.findByWorkflowItem(session, workflowItem); } @Override - public ClaimedTask findByWorkflowIdAndEPerson(Context context, XmlWorkflowItem workflowItem, EPerson ePerson) + public ClaimedTask findByWorkflowIdAndEPerson(Session session, XmlWorkflowItem workflowItem, EPerson ePerson) throws SQLException { - return claimedTaskDAO.findByWorkflowItemAndEPerson(context.getSession(), workflowItem, ePerson); + return claimedTaskDAO.findByWorkflowItemAndEPerson(session, workflowItem, ePerson); } @Override - public List findByEperson(Context context, EPerson ePerson) throws SQLException { - return claimedTaskDAO.findByEperson(context.getSession(), ePerson); + public List findByEperson(Session session, EPerson ePerson) throws SQLException { + return claimedTaskDAO.findByEperson(session, ePerson); } @Override - public List find(Context context, XmlWorkflowItem workflowItem, String stepID) throws SQLException { - return claimedTaskDAO.findByWorkflowItemAndStepId(context.getSession(), workflowItem, stepID); + public List find(Session session, XmlWorkflowItem workflowItem, String stepID) throws SQLException { + return claimedTaskDAO.findByWorkflowItemAndStepId(session, workflowItem, stepID); } @Override - public ClaimedTask find(Context context, EPerson ePerson, XmlWorkflowItem workflowItem, String stepID, + public ClaimedTask find(Session session, EPerson ePerson, XmlWorkflowItem workflowItem, String stepID, String actionID) throws SQLException { return claimedTaskDAO - .findByEPersonAndWorkflowItemAndStepIdAndActionId(context.getSession(), + .findByEPersonAndWorkflowItemAndStepIdAndActionId(session, ePerson, workflowItem, stepID, actionID); } @Override - public List find(Context context, XmlWorkflowItem workflowItem, String stepID, String actionID) + public List find(Session session, XmlWorkflowItem workflowItem, String stepID, String actionID) throws SQLException { - return claimedTaskDAO.findByWorkflowItemAndStepIdAndActionId(context.getSession(), + return claimedTaskDAO.findByWorkflowItemAndStepIdAndActionId(session, workflowItem, stepID, actionID); } @Override - public List find(Context context, XmlWorkflowItem workflowItem) throws SQLException { - return claimedTaskDAO.findByWorkflowItem(context.getSession(), workflowItem); + public List find(Session session, XmlWorkflowItem workflowItem) throws SQLException { + return claimedTaskDAO.findByWorkflowItem(session, workflowItem); } @Override - public List findAllInStep(Context context, String stepID) throws SQLException { - return claimedTaskDAO.findByStep(context.getSession(), stepID); + public List findAllInStep(Session session, String stepID) throws SQLException { + return claimedTaskDAO.findByStep(session, stepID); } @Override public void deleteByWorkflowItem(Context context, XmlWorkflowItem workflowItem) throws SQLException, AuthorizeException { - List claimedTasks = findByWorkflowItem(context, workflowItem); + List claimedTasks = findByWorkflowItem(context.getSession(), workflowItem); //Use an iterator to remove the tasks ! Iterator iterator = claimedTasks.iterator(); while (iterator.hasNext()) { diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/InProgressUserServiceImpl.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/InProgressUserServiceImpl.java index 428af9455acd..487c91c926d3 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/InProgressUserServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/InProgressUserServiceImpl.java @@ -17,6 +17,7 @@ import org.dspace.eperson.EPerson; import org.dspace.xmlworkflow.storedcomponents.dao.InProgressUserDAO; import org.dspace.xmlworkflow.storedcomponents.service.InProgressUserService; +import org.hibernate.Session; import org.springframework.beans.factory.annotation.Autowired; /** @@ -67,8 +68,8 @@ public InProgressUser create(Context context) throws SQLException, AuthorizeExce } @Override - public InProgressUser find(Context context, int id) throws SQLException { - return inProgressUserDAO.findByID(context.getSession(), InProgressUser.class, id); + public InProgressUser find(Session session, int id) throws SQLException { + return inProgressUserDAO.findByID(session.getSession(), InProgressUser.class, id); } @Override diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/PoolTaskServiceImpl.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/PoolTaskServiceImpl.java index b9c1e9825f21..8b291242aa9b 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/PoolTaskServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/PoolTaskServiceImpl.java @@ -24,6 +24,7 @@ import org.dspace.xmlworkflow.storedcomponents.dao.PoolTaskDAO; import org.dspace.xmlworkflow.storedcomponents.service.InProgressUserService; import org.dspace.xmlworkflow.storedcomponents.service.PoolTaskService; +import org.hibernate.Session; import org.springframework.beans.factory.annotation.Autowired; /** @@ -154,8 +155,8 @@ public PoolTask create(Context context) throws SQLException, AuthorizeException } @Override - public PoolTask find(Context context, int id) throws SQLException { - return poolTaskDAO.findByID(context.getSession(), PoolTask.class, id); + public PoolTask find(Session session, int id) throws SQLException { + return poolTaskDAO.findByID(session, PoolTask.class, id); } @Override diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/WorkflowItemRoleServiceImpl.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/WorkflowItemRoleServiceImpl.java index 97f9dd884365..544dcd75b96d 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/WorkflowItemRoleServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/WorkflowItemRoleServiceImpl.java @@ -18,6 +18,7 @@ import org.dspace.eperson.EPerson; import org.dspace.xmlworkflow.storedcomponents.dao.WorkflowItemRoleDAO; import org.dspace.xmlworkflow.storedcomponents.service.WorkflowItemRoleService; +import org.hibernate.Session; import org.springframework.beans.factory.annotation.Autowired; /** @@ -79,8 +80,8 @@ public WorkflowItemRole create(Context context) throws SQLException, AuthorizeEx } @Override - public WorkflowItemRole find(Context context, int id) throws SQLException { - return workflowItemRoleDAO.findByID(context.getSession(), WorkflowItemRole.class, id); + public WorkflowItemRole find(Session session, int id) throws SQLException { + return workflowItemRoleDAO.findByID(session, WorkflowItemRole.class, id); } @Override diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/XmlWorkflowItemServiceImpl.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/XmlWorkflowItemServiceImpl.java index 7ca0df2d25db..ccd1190212eb 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/XmlWorkflowItemServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/XmlWorkflowItemServiceImpl.java @@ -26,6 +26,7 @@ import org.dspace.xmlworkflow.storedcomponents.service.PoolTaskService; import org.dspace.xmlworkflow.storedcomponents.service.WorkflowItemRoleService; import org.dspace.xmlworkflow.storedcomponents.service.XmlWorkflowItemService; +import org.hibernate.Session; import org.springframework.beans.factory.annotation.Autowired; /** @@ -72,41 +73,35 @@ public XmlWorkflowItem create(Context context, Item item, Collection collection) } @Override - public XmlWorkflowItem find(Context context, int id) throws SQLException { - XmlWorkflowItem workflowItem = xmlWorkflowItemDAO.findByID(context.getSession(), XmlWorkflowItem.class, id); + public XmlWorkflowItem find(Session session, int id) throws SQLException { + XmlWorkflowItem workflowItem = xmlWorkflowItemDAO.findByID(session, XmlWorkflowItem.class, id); if (workflowItem == null) { - if (log.isDebugEnabled()) { - log.debug(LogHelper.getHeader(context, "find_workflow_item", - "not_found,workflowitem_id=" + id)); - } + log.debug("find_workflow_item not_found,workflowitem_id={}", id); } else { - if (log.isDebugEnabled()) { - log.debug(LogHelper.getHeader(context, "find_workflow_item", - "workflowitem_id=" + id)); - } + log.debug("find_workflow_item workflowitem_id={}", id); } return workflowItem; } @Override - public List findAll(Context context) throws SQLException { - return xmlWorkflowItemDAO.findAll(context.getSession(), XmlWorkflowItem.class); + public List findAll(Session session) throws SQLException { + return xmlWorkflowItemDAO.findAll(session, XmlWorkflowItem.class); } @Override - public List findAll(Context context, Integer page, Integer pagesize) throws SQLException { - return findAllInCollection(context, page, pagesize, null); + public List findAll(Session session, Integer page, Integer pagesize) throws SQLException { + return findAllInCollection(session, page, pagesize, null); } @Override - public List findAllInCollection(Context context, Integer page, Integer pagesize, + public List findAllInCollection(Session session, Integer page, Integer pagesize, Collection collection) throws SQLException { Integer offset = null; if (page != null && pagesize != null) { offset = page * pagesize; } - return xmlWorkflowItemDAO.findAllInCollection(context.getSession(), offset, pagesize, collection); + return xmlWorkflowItemDAO.findAllInCollection(session, offset, pagesize, collection); } @Override @@ -120,18 +115,18 @@ public int countAllInCollection(Context context, Collection collection) throws S } @Override - public List findBySubmitter(Context context, EPerson ep) throws SQLException { - return xmlWorkflowItemDAO.findBySubmitter(context.getSession(), ep); + public List findBySubmitter(Session session, EPerson ep) throws SQLException { + return xmlWorkflowItemDAO.findBySubmitter(session, ep); } @Override - public List findBySubmitter(Context context, EPerson ep, Integer pageNumber, Integer pageSize) + public List findBySubmitter(Session session, EPerson ep, Integer pageNumber, Integer pageSize) throws SQLException { Integer offset = null; if (pageNumber != null && pageSize != null) { offset = pageNumber * pageSize; } - return xmlWorkflowItemDAO.findBySubmitter(context.getSession(), ep, pageNumber, pageSize); + return xmlWorkflowItemDAO.findBySubmitter(session, ep, pageNumber, pageSize); } @Override @@ -142,7 +137,7 @@ public int countBySubmitter(Context context, EPerson ep) throws SQLException { @Override public void deleteByCollection(Context context, Collection collection) throws SQLException, IOException, AuthorizeException { - List xmlWorkflowItems = findByCollection(context, collection); + List xmlWorkflowItems = findByCollection(context.getSession(), collection); Iterator iterator = xmlWorkflowItems.iterator(); while (iterator.hasNext()) { XmlWorkflowItem workflowItem = iterator.next(); @@ -164,13 +159,13 @@ public void delete(Context context, XmlWorkflowItem workflowItem) } @Override - public List findByCollection(Context context, Collection collection) throws SQLException { - return xmlWorkflowItemDAO.findByCollection(context.getSession(), collection); + public List findByCollection(Session session, Collection collection) throws SQLException { + return xmlWorkflowItemDAO.findByCollection(session, collection); } @Override - public XmlWorkflowItem findByItem(Context context, Item item) throws SQLException { - return xmlWorkflowItemDAO.findByItem(context.getSession(), item); + public XmlWorkflowItem findByItem(Session session, Item item) throws SQLException { + return xmlWorkflowItemDAO.findByItem(session.getSession(), item); } @Override diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/service/ClaimedTaskService.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/service/ClaimedTaskService.java index 415a9123465d..790f5a434c83 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/service/ClaimedTaskService.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/service/ClaimedTaskService.java @@ -16,6 +16,7 @@ import org.dspace.service.DSpaceCRUDService; import org.dspace.xmlworkflow.storedcomponents.ClaimedTask; import org.dspace.xmlworkflow.storedcomponents.XmlWorkflowItem; +import org.hibernate.Session; /** * Service interface class for the ClaimedTask object. @@ -26,43 +27,43 @@ */ public interface ClaimedTaskService extends DSpaceCRUDService { - public List findByWorkflowItem(Context context, XmlWorkflowItem workflowItem) throws SQLException; + public List findByWorkflowItem(Session session, XmlWorkflowItem workflowItem) throws SQLException; /** * Find the single task for a given workflow item claimed by a given EPerson. - * @param context + * @param session the current request's database context. * @param workflowItem find task for this item. * @param ePerson find task claimed by this EPerson. * @return the single matching task, or null if none. * @throws SQLException passed through. */ - public ClaimedTask findByWorkflowIdAndEPerson(Context context, XmlWorkflowItem workflowItem, EPerson ePerson) + public ClaimedTask findByWorkflowIdAndEPerson(Session session, XmlWorkflowItem workflowItem, EPerson ePerson) throws SQLException; - public List findByEperson(Context context, EPerson ePerson) throws SQLException; + public List findByEperson(Session session, EPerson ePerson) throws SQLException; - public List find(Context context, XmlWorkflowItem workflowItem, String stepID) throws SQLException; + public List find(Session session, XmlWorkflowItem workflowItem, String stepID) throws SQLException; - public ClaimedTask find(Context context, EPerson ePerson, XmlWorkflowItem workflowItem, String stepID, + public ClaimedTask find(Session session, EPerson ePerson, XmlWorkflowItem workflowItem, String stepID, String actionID) throws SQLException; - public List find(Context context, XmlWorkflowItem workflowItem, String stepID, String actionID) + public List find(Session session, XmlWorkflowItem workflowItem, String stepID, String actionID) throws SQLException; /** * Find all claimed tasks for a given workflow item. * - * @param context current DSpace session. + * @param session current request's database context. * @param workflowItem the given workflow item. * @return all claimed tasks for that item. * @throws SQLException passed through. */ - public List find(Context context, XmlWorkflowItem workflowItem) throws SQLException; + public List find(Session session, XmlWorkflowItem workflowItem) throws SQLException; - public List findAllInStep(Context context, String stepID) throws SQLException; + public List findAllInStep(Session session, String stepID) throws SQLException; public void deleteByWorkflowItem(Context context, XmlWorkflowItem workflowItem) throws SQLException, AuthorizeException; - List findAll(Context context) throws SQLException; + List findAll(Session session) throws SQLException; } diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/service/XmlWorkflowItemService.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/service/XmlWorkflowItemService.java index 76b1fa081793..cd51f7176813 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/service/XmlWorkflowItemService.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/service/XmlWorkflowItemService.java @@ -15,6 +15,7 @@ import org.dspace.eperson.EPerson; import org.dspace.workflow.WorkflowItemService; import org.dspace.xmlworkflow.storedcomponents.XmlWorkflowItem; +import org.hibernate.Session; /** * Service interface class for the XmlWorkflowItem object. @@ -28,25 +29,25 @@ public interface XmlWorkflowItemService extends WorkflowItemService findAll(Context context, Integer page, Integer pagesize) throws SQLException; + public List findAll(Session session, Integer page, Integer pagesize) throws SQLException; /** * return all workflowitems for a certain page with a certain collection * - * @param context The relevant DSpace Context. + * @param session current request's database context. * @param page paging: page number * @param pagesize paging: items per page * @param collection restrict to this collection * @return WorkflowItem list of all the workflow items in system * @throws SQLException An exception that provides information on a database access error or other errors. */ - public List findAllInCollection(Context context, Integer page, Integer pagesize, + public List findAllInCollection(Session session, Integer page, Integer pagesize, Collection collection) throws SQLException; /** @@ -71,8 +72,8 @@ public List findAllInCollection(Context context, Integer page, /** * Return all the workflow items from a specific submitter respecting the pagination parameters * - * @param context - * The relevant DSpace Context. + * @param session + * current request's database context. * @param ep * the eperson that has submitted the item * @param pageNumber @@ -82,7 +83,7 @@ public List findAllInCollection(Context context, Integer page, * @return * @throws SQLException */ - public List findBySubmitter(Context context, EPerson ep, Integer pageNumber, Integer pageSize) + public List findBySubmitter(Session session, EPerson ep, Integer pageNumber, Integer pageSize) throws SQLException; /** diff --git a/dspace-api/src/test/java/org/dspace/builder/BitstreamBuilder.java b/dspace-api/src/test/java/org/dspace/builder/BitstreamBuilder.java index 424833e5cc65..f1768c8b64e3 100644 --- a/dspace-api/src/test/java/org/dspace/builder/BitstreamBuilder.java +++ b/dspace-api/src/test/java/org/dspace/builder/BitstreamBuilder.java @@ -112,7 +112,7 @@ public BitstreamBuilder withDescription(String description) throws SQLException } public BitstreamBuilder withMimeType(String mimeType) throws SQLException { - BitstreamFormat bf = bitstreamFormatService.findByMIMEType(context, mimeType); + BitstreamFormat bf = bitstreamFormatService.findByMIMEType(context.getSession(), mimeType); if (bf != null) { bitstream.setFormat(context, bf); diff --git a/dspace-api/src/test/java/org/dspace/builder/BitstreamFormatBuilder.java b/dspace-api/src/test/java/org/dspace/builder/BitstreamFormatBuilder.java index a13783ceef84..fc4bc3d240b6 100644 --- a/dspace-api/src/test/java/org/dspace/builder/BitstreamFormatBuilder.java +++ b/dspace-api/src/test/java/org/dspace/builder/BitstreamFormatBuilder.java @@ -120,7 +120,7 @@ public BitstreamFormatBuilder withSupportLevel(int supportLevel) throws SQLExcep public static void deleteBitstreamFormat(int id) throws SQLException, IOException { try (Context c = new Context()) { c.turnOffAuthorisationSystem(); - BitstreamFormat bitstreamFormat = bitstreamFormatService.find(c, id); + BitstreamFormat bitstreamFormat = bitstreamFormatService.find(c.getSession(), id); if (bitstreamFormat != null) { try { bitstreamFormatService.delete(c, bitstreamFormat); diff --git a/dspace-api/src/test/java/org/dspace/builder/ClaimedTaskBuilder.java b/dspace-api/src/test/java/org/dspace/builder/ClaimedTaskBuilder.java index aed712f2d2b9..61c41470a457 100644 --- a/dspace-api/src/test/java/org/dspace/builder/ClaimedTaskBuilder.java +++ b/dspace-api/src/test/java/org/dspace/builder/ClaimedTaskBuilder.java @@ -93,7 +93,7 @@ public ClaimedTask build() { workflowService .doState(context, user, null, task.getWorkflowItem().getID(), workflow, currentActionConfig); - claimedTask = getService().findByWorkflowIdAndEPerson(context, workflowItem, user); + claimedTask = getService().findByWorkflowIdAndEPerson(context.getSession(), workflowItem, user); // restore the submitter as current user context.setCurrentUser(submitter); context.dispatchEvents(); diff --git a/dspace-api/src/test/java/org/dspace/builder/RelationshipBuilder.java b/dspace-api/src/test/java/org/dspace/builder/RelationshipBuilder.java index c8c5cf85bf1a..d6c3fb80ac84 100644 --- a/dspace-api/src/test/java/org/dspace/builder/RelationshipBuilder.java +++ b/dspace-api/src/test/java/org/dspace/builder/RelationshipBuilder.java @@ -94,7 +94,7 @@ public void delete(Relationship dso) throws Exception { public static void deleteRelationship(Integer id) throws SQLException, IOException { try (Context c = new Context()) { c.turnOffAuthorisationSystem(); - Relationship relationship = relationshipService.find(c, id); + Relationship relationship = relationshipService.find(c.getSession(), id); if (relationship != null) { try { relationshipService.delete(c, relationship); diff --git a/dspace-api/src/test/java/org/dspace/builder/ResourcePolicyBuilder.java b/dspace-api/src/test/java/org/dspace/builder/ResourcePolicyBuilder.java index 70b1f8d73daf..615861710bb6 100644 --- a/dspace-api/src/test/java/org/dspace/builder/ResourcePolicyBuilder.java +++ b/dspace-api/src/test/java/org/dspace/builder/ResourcePolicyBuilder.java @@ -74,7 +74,6 @@ public ResourcePolicy build() { log.error(e); } catch (AuthorizeException e) { log.error(e); - ; } return resourcePolicy; } @@ -97,7 +96,7 @@ public static void delete(Integer id) throws SQLException, IOException, SearchServiceException { try (Context c = new Context()) { c.turnOffAuthorisationSystem(); - ResourcePolicy rp = resourcePolicyService.find(c, id); + ResourcePolicy rp = resourcePolicyService.find(c.getSession(), id); if (rp != null) { try { resourcePolicyService.delete(c, rp); diff --git a/dspace-api/src/test/java/org/dspace/builder/WorkflowItemBuilder.java b/dspace-api/src/test/java/org/dspace/builder/WorkflowItemBuilder.java index e06819d0ca4d..3f5cb2e1a0fa 100644 --- a/dspace-api/src/test/java/org/dspace/builder/WorkflowItemBuilder.java +++ b/dspace-api/src/test/java/org/dspace/builder/WorkflowItemBuilder.java @@ -104,7 +104,7 @@ private void deleteItem(Context c, Item dso) throws Exception { if (dso != null) { // if we still have a reference to an item it could be an approved workflow or a rejected one. In the // last case we need to remove the "new" workspaceitem - WorkspaceItem wi = workspaceItemService.findByItem(c, item); + WorkspaceItem wi = workspaceItemService.findByItem(c.getSession(), item); if (wi != null) { workspaceItemService.deleteAll(c, wi); } else { @@ -267,7 +267,7 @@ public static void deleteWorkflowItem(Integer id) throws SQLException, IOException, SearchServiceException { try (Context c = new Context()) { c.turnOffAuthorisationSystem(); - XmlWorkflowItem wi = workflowItemService.find(c, id); + XmlWorkflowItem wi = workflowItemService.find(c.getSession(), id); if (wi != null) { try { workflowItemService.delete(c, wi); diff --git a/dspace-api/src/test/java/org/dspace/builder/WorkspaceItemBuilder.java b/dspace-api/src/test/java/org/dspace/builder/WorkspaceItemBuilder.java index 9d786d4761f0..c8702c0deead 100644 --- a/dspace-api/src/test/java/org/dspace/builder/WorkspaceItemBuilder.java +++ b/dspace-api/src/test/java/org/dspace/builder/WorkspaceItemBuilder.java @@ -91,7 +91,7 @@ public void delete( Context c, WorkspaceItem dso) throws Exception { public static void deleteWorkspaceItem(Integer id) throws SQLException, IOException { try (Context c = new Context()) { c.turnOffAuthorisationSystem(); - WorkspaceItem workspaceItem = workspaceItemService.find(c, id); + WorkspaceItem workspaceItem = workspaceItemService.find(c.getSession(), id); if (workspaceItem != null) { try { workspaceItemService.deleteAll(c, workspaceItem); @@ -115,7 +115,7 @@ public void cleanup() throws Exception { } else { item = c.reloadEntity(item); // check if the wsi has been pushed to the workflow - XmlWorkflowItem wfi = workflowItemService.findByItem(c, item); + XmlWorkflowItem wfi = workflowItemService.findByItem(c.getSession(), item); if (wfi != null) { workflowItemService.delete(c, wfi); } diff --git a/dspace-api/src/test/java/org/dspace/content/BitstreamFormatTest.java b/dspace-api/src/test/java/org/dspace/content/BitstreamFormatTest.java index ff99a820b5b7..d6ec19ca9a8e 100644 --- a/dspace-api/src/test/java/org/dspace/content/BitstreamFormatTest.java +++ b/dspace-api/src/test/java/org/dspace/content/BitstreamFormatTest.java @@ -79,8 +79,8 @@ public class BitstreamFormatTest extends AbstractUnitTest { public void init() { super.init(); try { - bf = bitstreamFormatService.find(context, 5); - bunknown = bitstreamFormatService.findUnknown(context); + bf = bitstreamFormatService.find(context.getSession(), 5); + bunknown = bitstreamFormatService.findUnknown(context.getSession()); // Initialize our spy of the autowired (global) authorizeService bean. // This allows us to customize the bean's method return values in tests below @@ -114,11 +114,11 @@ public void destroy() { */ @Test public void testFind() throws SQLException { - BitstreamFormat found = bitstreamFormatService.find(context, 1); + BitstreamFormat found = bitstreamFormatService.find(context.getSession(), 1); assertThat("testFind 0", found, notNullValue()); assertThat("testFind 1", found.getShortDescription(), equalTo("Unknown")); - found = bitstreamFormatService.find(context, 2); + found = bitstreamFormatService.find(context.getSession(), 2); assertThat("testFind 2", found, notNullValue()); assertThat("testFind 3", found.getShortDescription(), equalTo("License")); assertTrue("testFind 4", found.isInternal()); @@ -129,12 +129,12 @@ public void testFind() throws SQLException { */ @Test public void testFindByMIMEType() throws SQLException { - BitstreamFormat found = bitstreamFormatService.findByMIMEType(context, "text/plain"); + BitstreamFormat found = bitstreamFormatService.findByMIMEType(context.getSession(), "text/plain"); assertThat("testFindByMIMEType 0", found, notNullValue()); assertThat("testFindByMIMEType 1", found.getMIMEType(), equalTo("text/plain")); assertFalse("testFindByMIMEType 2", found.isInternal()); - found = bitstreamFormatService.findByMIMEType(context, "text/xml"); + found = bitstreamFormatService.findByMIMEType(context.getSession(), "text/xml"); assertThat("testFindByMIMEType 3", found, notNullValue()); assertThat("testFindByMIMEType 4", found.getMIMEType(), equalTo("text/xml")); assertFalse("testFindByMIMEType 5", found.isInternal()); @@ -145,12 +145,12 @@ public void testFindByMIMEType() throws SQLException { */ @Test public void testFindByShortDescription() throws SQLException { - BitstreamFormat found = bitstreamFormatService.findByShortDescription(context, "Adobe PDF"); + BitstreamFormat found = bitstreamFormatService.findByShortDescription(context.getSession(), "Adobe PDF"); assertThat("testFindByShortDescription 0", found, notNullValue()); assertThat("testFindByShortDescription 1", found.getShortDescription(), equalTo("Adobe PDF")); assertFalse("testFindByShortDescription 2", found.isInternal()); - found = bitstreamFormatService.findByShortDescription(context, "XML"); + found = bitstreamFormatService.findByShortDescription(context.getSession(), "XML"); assertThat("testFindByShortDescription 3", found, notNullValue()); assertThat("testFindByShortDescription 4", found.getShortDescription(), equalTo("XML")); assertFalse("testFindByShortDescription 5", found.isInternal()); @@ -162,7 +162,7 @@ public void testFindByShortDescription() throws SQLException { @Test public void testFindUnknown() throws SQLException { - BitstreamFormat found = bitstreamFormatService.findUnknown(context); + BitstreamFormat found = bitstreamFormatService.findUnknown(context.getSession()); assertThat("testFindUnknown 0", found, notNullValue()); assertThat("testFindUnknown 1", found.getShortDescription(), equalTo("Unknown")); assertFalse("testFindUnknown 2", found.isInternal()); @@ -175,7 +175,7 @@ public void testFindUnknown() @Test public void testFindAll() throws SQLException { - List found = bitstreamFormatService.findAll(context); + List found = bitstreamFormatService.findAll(context.getSession()); assertThat("testFindAll 0", found, notNullValue()); //check pos 0 is Unknown @@ -198,7 +198,7 @@ public void testFindAll() throws SQLException { @Test public void testFindNonInternal() throws SQLException { - List found = bitstreamFormatService.findNonInternal(context); + List found = bitstreamFormatService.findNonInternal(context.getSession()); assertThat("testFindNonInternal 0", found, notNullValue()); int i = 0; for (BitstreamFormat b : found) { @@ -351,7 +351,7 @@ public void testGetSupportLevel() throws SQLException { assertTrue("testGetSupportLevel 2", bunknown.getSupportLevel() >= 0); assertTrue("testGetSupportLevel 3", bunknown.getSupportLevel() <= 2); - List found = bitstreamFormatService.findAll(context); + List found = bitstreamFormatService.findAll(context.getSession()); int i = 0; for (BitstreamFormat b : found) { i++; @@ -423,10 +423,10 @@ public void testGetSupportLevelIDInvalid() { public void testIsInternal() throws SQLException { assertThat("testIsInternal 0", bf.isInternal(), equalTo(false)); - BitstreamFormat found = bitstreamFormatService.findByShortDescription(context, "License"); + BitstreamFormat found = bitstreamFormatService.findByShortDescription(context.getSession(), "License"); assertThat("testIsInternal 1", found.isInternal(), equalTo(true)); - found = bitstreamFormatService.findByShortDescription(context, "CC License"); + found = bitstreamFormatService.findByShortDescription(context.getSession(), "CC License"); assertThat("testIsInternal 2", found.isInternal(), equalTo(true)); assertThat("testIsInternal 3", bunknown.isInternal(), equalTo(false)); @@ -469,7 +469,7 @@ public void testUpdateAdmin() throws SQLException, AuthorizeException { bf.setDescription(desc); bitstreamFormatService.update(context, bf); - BitstreamFormat b = bitstreamFormatService.find(context, 5); + BitstreamFormat b = bitstreamFormatService.find(context.getSession(), 5); assertThat("testUpdateAdmin 0", b.getDescription(), equalTo(desc)); bf.setDescription(oldDescription); } @@ -497,7 +497,7 @@ public void testDeleteAdmin() throws SQLException, AuthorizeException { BitstreamFormat bitstreamFormat = bitstreamFormatService.create(context); int toDeleteIdentifier = bitstreamFormat.getID(); bitstreamFormatService.delete(context, bitstreamFormat); - BitstreamFormat b = bitstreamFormatService.find(context, toDeleteIdentifier); + BitstreamFormat b = bitstreamFormatService.find(context.getSession(), toDeleteIdentifier); assertThat("testDeleteAdmin 0", b, nullValue()); } diff --git a/dspace-api/src/test/java/org/dspace/content/BitstreamTest.java b/dspace-api/src/test/java/org/dspace/content/BitstreamTest.java index 0231f1b834f5..17a98e97c087 100644 --- a/dspace-api/src/test/java/org/dspace/content/BitstreamTest.java +++ b/dspace-api/src/test/java/org/dspace/content/BitstreamTest.java @@ -365,7 +365,8 @@ public void testGetFormatDescription() throws SQLException { @Test public void testGetFormat() throws SQLException { assertThat("testGetFormat 0", bs.getFormat(context), notNullValue()); - assertThat("testGetFormat 1", bs.getFormat(context), equalTo(bitstreamFormatService.findUnknown(context))); + assertThat("testGetFormat 1", bs.getFormat(context), + equalTo(bitstreamFormatService.findUnknown(context.getSession()))); } /** @@ -374,10 +375,11 @@ public void testGetFormat() throws SQLException { @Test public void testSetFormat() throws SQLException { int id = 3; - BitstreamFormat format = bitstreamFormatService.find(context, id); + BitstreamFormat format = bitstreamFormatService.find(context.getSession(), id); bs.setFormat(format); assertThat("testSetFormat 0", bs.getFormat(context), notNullValue()); - assertThat("testSetFormat 1", bs.getFormat(context), equalTo(bitstreamFormatService.find(context, id))); + assertThat("testSetFormat 1", bs.getFormat(context), + equalTo(bitstreamFormatService.find(context.getSession(), id))); } /** diff --git a/dspace-api/src/test/java/org/dspace/content/EntityServiceImplTest.java b/dspace-api/src/test/java/org/dspace/content/EntityServiceImplTest.java index e546b87fd3d2..6ef05b69d6bd 100644 --- a/dspace-api/src/test/java/org/dspace/content/EntityServiceImplTest.java +++ b/dspace-api/src/test/java/org/dspace/content/EntityServiceImplTest.java @@ -75,7 +75,7 @@ public void testGetType() throws Exception { // Declare objects utilized in unit test Entity entity = mock(Entity.class); EntityTypeService entityTypeService = mock(EntityTypeService.class); - EntityType entityType = entityTypeService.findByEntityType(context, "testType"); + EntityType entityType = entityTypeService.findByEntityType(context.getSession(), "testType"); // The returned EntityType should equal our defined entityType case assertEquals("TestGetType 0", entityType, entityService.getType(context, entity)); @@ -157,7 +157,8 @@ public void testGetAllRelationshipTypes() throws Exception { // Mock the state of objects utilized in getAllRelationshipTypes() // to meet the success criteria of the invocation when(entity.getItem()).thenReturn(item); - when(relationshipTypeService.findByEntityType(context, entityService.getType(context, entity), -1, -1)) + when(relationshipTypeService.findByEntityType(context.getSession(), + entityService.getType(context, entity), -1, -1)) .thenReturn(relationshipTypeList); // The relation(s) reported from our mocked Entity should match our relationshipList @@ -185,7 +186,8 @@ public void testGetLeftRelationshipTypes() throws Exception { when(itemService.getMetadata(item, "dspace", "entity", "type", Item.ANY, false)).thenReturn(metsList); when(entity.getItem()).thenReturn(item); when(entityService.getType(context, entity)).thenReturn(entityType); - when(relationshipTypeService.findByEntityType(context, entityService.getType(context, entity), true, -1, -1)) + when(relationshipTypeService.findByEntityType(context.getSession(), + entityService.getType(context, entity), true, -1, -1)) .thenReturn(relationshipTypeList); // The left relationshipType(s) reported from our mocked Entity should match our relationshipList @@ -213,7 +215,8 @@ public void testGetRightRelationshipTypes() throws Exception { when(itemService.getMetadata(item, "dspace", "entity", "type", Item.ANY, false)).thenReturn(metsList); when(entity.getItem()).thenReturn(item); when(entityService.getType(context, entity)).thenReturn(entityType); - when(relationshipTypeService.findByEntityType(context, entityService.getType(context, entity), false, -1, -1)) + when(relationshipTypeService.findByEntityType(context.getSession(), + entityService.getType(context, entity), false, -1, -1)) .thenReturn(relationshipTypeList); // The right relationshipType(s) reported from our mocked Entity should match our relationshipList @@ -231,7 +234,7 @@ public void testGetRelationshipTypesByTypeName() throws Exception { // Mock the state of objects utilized in getRelationshipTypesByTypeName() // to meet the success criteria of the invocation - when(relationshipTypeService.findByLeftwardOrRightwardTypeName(context, "leftwardType", -1, -1)) + when(relationshipTypeService.findByLeftwardOrRightwardTypeName(context.getSession(), "leftwardType", -1, -1)) .thenReturn(list); // The RelationshipType(s) reported from our mocked Entity should match our list diff --git a/dspace-api/src/test/java/org/dspace/content/EntityTypeServiceImplTest.java b/dspace-api/src/test/java/org/dspace/content/EntityTypeServiceImplTest.java index 3296868e5b12..4f42a2d355c6 100644 --- a/dspace-api/src/test/java/org/dspace/content/EntityTypeServiceImplTest.java +++ b/dspace-api/src/test/java/org/dspace/content/EntityTypeServiceImplTest.java @@ -51,7 +51,8 @@ public void testFindByEntityType() throws Exception { when(entityTypeDAO.findByEntityType(context.getSession(), "TestType")).thenReturn(entityType); // The EntityType reported from our TestType parameter should match our mocked EntityType - assertEquals("TestFindByEntityType 0", entityType, entityTypeService.findByEntityType(context, "TestType")); + assertEquals("TestFindByEntityType 0", entityType, + entityTypeService.findByEntityType(context.getSession(), "TestType")); } @@ -61,7 +62,7 @@ public void testFindAll() throws Exception { List entityTypeList = new ArrayList<>(); // The EntityType(s) reported from our mocked state should match our entityTypeList - assertEquals("TestFindAll 0", entityTypeList, entityTypeService.findAll(context)); + assertEquals("TestFindAll 0", entityTypeList, entityTypeService.findAll(context.getSession())); } @@ -89,7 +90,7 @@ public void testFind() throws Exception { when(entityTypeDAO.findByID(context.getSession(), EntityType.class, 0)).thenReturn(entityType); // The reported EntityType should match our mocked entityType - assertEquals("TestFind 0", entityType, entityTypeService.find(context, 0)); + assertEquals("TestFind 0", entityType, entityTypeService.find(context.getSession(), 0)); } @Test diff --git a/dspace-api/src/test/java/org/dspace/content/FormatIdentifierTest.java b/dspace-api/src/test/java/org/dspace/content/FormatIdentifierTest.java index c9f8be9988f9..b8d4d39b6721 100644 --- a/dspace-api/src/test/java/org/dspace/content/FormatIdentifierTest.java +++ b/dspace-api/src/test/java/org/dspace/content/FormatIdentifierTest.java @@ -67,7 +67,7 @@ public void testGuessFormat() throws Exception { File f = new File(testProps.get("test.bitstream").toString()); Bitstream bs; BitstreamFormat result; - BitstreamFormat pdf = bitstreamFormatService.findByShortDescription(context, "Adobe PDF"); + BitstreamFormat pdf = bitstreamFormatService.findByShortDescription(context.getSession(), "Adobe PDF"); //test null filename //TODO: the check if filename is null is wrong, as it checks after using a toLowerCase diff --git a/dspace-api/src/test/java/org/dspace/content/ItemTest.java b/dspace-api/src/test/java/org/dspace/content/ItemTest.java index e73bf82c9e9e..84044da4f2e0 100644 --- a/dspace-api/src/test/java/org/dspace/content/ItemTest.java +++ b/dspace-api/src/test/java/org/dspace/content/ItemTest.java @@ -72,11 +72,12 @@ public class ItemTest extends AbstractDSpaceObjectTest { */ private Item it; - private MetadataSchemaService metadataSchemaService = ContentServiceFactory.getInstance() - .getMetadataSchemaService(); - private BitstreamFormatService bitstreamFormatService = ContentServiceFactory.getInstance() - .getBitstreamFormatService(); - private MetadataFieldService metadataFieldService = ContentServiceFactory.getInstance().getMetadataFieldService(); + private final MetadataSchemaService metadataSchemaService + = ContentServiceFactory.getInstance().getMetadataSchemaService(); + private final BitstreamFormatService bitstreamFormatService + = ContentServiceFactory.getInstance().getBitstreamFormatService(); + private final MetadataFieldService metadataFieldService + = ContentServiceFactory.getInstance().getMetadataFieldService(); private Collection collection; private Community owningCommunity; @@ -1037,7 +1038,8 @@ public void testRemoveLicensesAuth() throws Exception { String bsname = "License"; File f = new File(testProps.get("test.bitstream").toString()); Bitstream result = itemService.createSingleBitstream(context, new FileInputStream(f), it, bsname); - bitstreamService.setFormat(context, result, bitstreamFormatService.findByShortDescription(context, bsname)); + bitstreamService.setFormat(context, result, + bitstreamFormatService.findByShortDescription(context.getSession(), bsname)); bundleService.addBitstream(context, created, result); context.restoreAuthSystemState(); @@ -1071,7 +1073,8 @@ public void testRemoveLicensesNoAuth() throws Exception { String bsname = "License"; File f = new File(testProps.get("test.bitstream").toString()); Bitstream result = itemService.createSingleBitstream(context, new FileInputStream(f), it, bsname); - bitstreamService.setFormat(context, result, bitstreamFormatService.findByShortDescription(context, bsname)); + bitstreamService.setFormat(context, result, + bitstreamFormatService.findByShortDescription(context.getSession(), bsname)); bundleService.addBitstream(context, created, result); context.restoreAuthSystemState(); @@ -1280,10 +1283,11 @@ public void testReplaceAllBitstreamPolicies() throws Exception { String bsname = "License"; File f = new File(testProps.get("test.bitstream").toString()); Bitstream result = itemService.createSingleBitstream(context, new FileInputStream(f), it, bsname); - bitstreamService.setFormat(context, result, bitstreamFormatService.findByShortDescription(context, bsname)); + bitstreamService.setFormat(context, result, + bitstreamFormatService.findByShortDescription(context.getSession(), bsname)); bundleService.addBitstream(context, created, result); - List newpolicies = new ArrayList(); + List newpolicies = new ArrayList<>(); newpolicies.add(resourcePolicyService.create(context)); newpolicies.add(resourcePolicyService.create(context)); newpolicies.add(resourcePolicyService.create(context)); @@ -1291,7 +1295,7 @@ public void testReplaceAllBitstreamPolicies() throws Exception { itemService.replaceAllBitstreamPolicies(context, it, newpolicies); - List retrieved = new ArrayList(); + List retrieved = new ArrayList<>(); List bundles = it.getBundles(); for (Bundle b : bundles) { retrieved.addAll(authorizeService.getPolicies(context, b)); @@ -1340,7 +1344,7 @@ public void testInheritCollectionDefaultPolicies() throws Exception { List defaultCollectionPolicies = authorizeService.getPoliciesActionFilter(context, c, Constants.DEFAULT_BITSTREAM_READ); - List newPolicies = new ArrayList(); + List newPolicies = new ArrayList<>(); for (ResourcePolicy collRp : defaultCollectionPolicies) { ResourcePolicy rp = resourcePolicyService.clone(context, collRp); rp.setAction(Constants.READ); @@ -1356,7 +1360,8 @@ public void testInheritCollectionDefaultPolicies() throws Exception { String bsname = "License"; File f = new File(testProps.get("test.bitstream").toString()); Bitstream result = itemService.createSingleBitstream(context, new FileInputStream(f), it, bsname); - bitstreamService.setFormat(context, result, bitstreamFormatService.findByShortDescription(context, bsname)); + bitstreamService.setFormat(context, result, + bitstreamFormatService.findByShortDescription(context.getSession(), bsname)); bundleService.addBitstream(context, created, result); context.restoreAuthSystemState(); diff --git a/dspace-api/src/test/java/org/dspace/content/MetadataSchemaTest.java b/dspace-api/src/test/java/org/dspace/content/MetadataSchemaTest.java index 8c4638ef814e..db25b26c413c 100644 --- a/dspace-api/src/test/java/org/dspace/content/MetadataSchemaTest.java +++ b/dspace-api/src/test/java/org/dspace/content/MetadataSchemaTest.java @@ -154,7 +154,7 @@ public void testCreateAuth() throws Exception { String name = "name"; metadataSchemaService.create(context, name, namespace); - MetadataSchema found = metadataSchemaService.findByNamespace(context, namespace); + MetadataSchema found = metadataSchemaService.findByNamespace(context.getSession(), namespace); assertThat("testCreateAuth 0", found, notNullValue()); } @@ -189,7 +189,7 @@ public void testCreateRepeated() throws Exception { @Test public void testFindByNamespace() throws Exception { log.info(">>" + ms.getNamespace() + " " + ms.getName()); - MetadataSchema found = metadataSchemaService.findByNamespace(context, ms.getNamespace()); + MetadataSchema found = metadataSchemaService.findByNamespace(context.getSession(), ms.getNamespace()); assertThat("testFindByNamespace 0", found, notNullValue()); assertThat("testFindByNamespace 1", found.getID(), equalTo(ms.getID())); } @@ -208,7 +208,7 @@ public void testUpdateAuth() throws Exception { metadataSchemaService.update(context, metadataSchema); - MetadataSchema found = metadataSchemaService.findByNamespace(context, namespace); + MetadataSchema found = metadataSchemaService.findByNamespace(context.getSession(), namespace); assertThat("testUpdateAuth 0", found.getID(), equalTo(metadataSchema.getID())); } @@ -253,7 +253,7 @@ public void testDeleteAuth() throws Exception { metadataSchemaService.delete(context, m); - MetadataSchema found = metadataSchemaService.findByNamespace(context, namespace); + MetadataSchema found = metadataSchemaService.findByNamespace(context.getSession(), namespace); assertThat("testDeleteAuth 0", found, nullValue()); } @@ -275,7 +275,7 @@ public void testDeleteNoAuth() throws Exception { */ @Test public void testFindAll() throws Exception { - List found = metadataSchemaService.findAll(context); + List found = metadataSchemaService.findAll(context.getSession()); assertThat("testFindAll 0", found, notNullValue()); assertTrue("testFindAll 1", found.size() >= 1); diff --git a/dspace-api/src/test/java/org/dspace/content/RelationshipServiceImplTest.java b/dspace-api/src/test/java/org/dspace/content/RelationshipServiceImplTest.java index 2b0462e9fac7..a628453311a3 100644 --- a/dspace-api/src/test/java/org/dspace/content/RelationshipServiceImplTest.java +++ b/dspace-api/src/test/java/org/dspace/content/RelationshipServiceImplTest.java @@ -162,7 +162,7 @@ public void find() throws Exception { .thenReturn(relationship); // The reported Relationship should match our mocked relationship - assertEquals("TestFind 0", relationship, relationshipService.find(context, relationship.getID())); + assertEquals("TestFind 0", relationship, relationshipService.find(context.getSession(), relationship.getID())); } @Test @@ -251,7 +251,7 @@ public void testDelete() throws Exception { .thenReturn(leftTypelist); when(relationshipService.findByItemAndRelationshipType(context.getSession(), rightItem, testRel, false)) .thenReturn(rightTypelist); - when(relationshipService.find(context,0)).thenReturn(relationship); + when(relationshipService.find(context.getSession(),0)).thenReturn(relationship); // Invoke delete() relationshipService.delete(context, relationship); diff --git a/dspace-api/src/test/java/org/dspace/content/RelationshipServiceImplVersioningTest.java b/dspace-api/src/test/java/org/dspace/content/RelationshipServiceImplVersioningTest.java index b40d67ca418a..793658700209 100644 --- a/dspace-api/src/test/java/org/dspace/content/RelationshipServiceImplVersioningTest.java +++ b/dspace-api/src/test/java/org/dspace/content/RelationshipServiceImplVersioningTest.java @@ -107,7 +107,7 @@ public void testRelationshipLatestVersionStatusDefault() throws Exception { ); context.restoreAuthSystemState(); assertEquals(Relationship.LatestVersionStatus.BOTH, relationship1.getLatestVersionStatus()); - Relationship relationship2 = relationshipService.find(context, relationship1.getID()); + Relationship relationship2 = relationshipService.find(context.getSession(), relationship1.getID()); assertEquals(Relationship.LatestVersionStatus.BOTH, relationship2.getLatestVersionStatus()); // create method #2 @@ -117,7 +117,7 @@ public void testRelationshipLatestVersionStatusDefault() throws Exception { ); context.restoreAuthSystemState(); assertEquals(Relationship.LatestVersionStatus.BOTH, relationship3.getLatestVersionStatus()); - Relationship relationship4 = relationshipService.find(context, relationship3.getID()); + Relationship relationship4 = relationshipService.find(context.getSession(), relationship3.getID()); assertEquals(Relationship.LatestVersionStatus.BOTH, relationship4.getLatestVersionStatus()); // create method #3 @@ -129,7 +129,7 @@ public void testRelationshipLatestVersionStatusDefault() throws Exception { Relationship relationship5 = relationshipService.create(context, inputRelationship); context.restoreAuthSystemState(); assertEquals(Relationship.LatestVersionStatus.BOTH, relationship5.getLatestVersionStatus()); - Relationship relationship6 = relationshipService.find(context, relationship5.getID()); + Relationship relationship6 = relationshipService.find(context.getSession(), relationship5.getID()); assertEquals(Relationship.LatestVersionStatus.BOTH, relationship6.getLatestVersionStatus()); // clean up @@ -150,7 +150,7 @@ public void testRelationshipLatestVersionStatusBoth() throws Exception { ); context.restoreAuthSystemState(); assertEquals(Relationship.LatestVersionStatus.BOTH, relationship1.getLatestVersionStatus()); - Relationship relationship2 = relationshipService.find(context, relationship1.getID()); + Relationship relationship2 = relationshipService.find(context.getSession(), relationship1.getID()); assertEquals(Relationship.LatestVersionStatus.BOTH, relationship2.getLatestVersionStatus()); // create method #2 @@ -163,7 +163,7 @@ public void testRelationshipLatestVersionStatusBoth() throws Exception { Relationship relationship3 = relationshipService.create(context, inputRelationship); context.restoreAuthSystemState(); assertEquals(Relationship.LatestVersionStatus.BOTH, relationship3.getLatestVersionStatus()); - Relationship relationship4 = relationshipService.find(context, relationship3.getID()); + Relationship relationship4 = relationshipService.find(context.getSession(), relationship3.getID()); assertEquals(Relationship.LatestVersionStatus.BOTH, relationship4.getLatestVersionStatus()); // clean up @@ -183,7 +183,7 @@ public void testRelationshipLatestVersionStatusLeftOnly() throws Exception { ); context.restoreAuthSystemState(); assertEquals(Relationship.LatestVersionStatus.LEFT_ONLY, relationship1.getLatestVersionStatus()); - Relationship relationship2 = relationshipService.find(context, relationship1.getID()); + Relationship relationship2 = relationshipService.find(context.getSession(), relationship1.getID()); assertEquals(Relationship.LatestVersionStatus.LEFT_ONLY, relationship2.getLatestVersionStatus()); // create method #2 @@ -196,7 +196,7 @@ public void testRelationshipLatestVersionStatusLeftOnly() throws Exception { Relationship relationship3 = relationshipService.create(context, inputRelationship); context.restoreAuthSystemState(); assertEquals(Relationship.LatestVersionStatus.LEFT_ONLY, relationship3.getLatestVersionStatus()); - Relationship relationship4 = relationshipService.find(context, relationship3.getID()); + Relationship relationship4 = relationshipService.find(context.getSession(), relationship3.getID()); assertEquals(Relationship.LatestVersionStatus.LEFT_ONLY, relationship4.getLatestVersionStatus()); // clean up @@ -216,7 +216,7 @@ public void testRelationshipLatestVersionStatusRightOnly() throws Exception { ); context.restoreAuthSystemState(); assertEquals(Relationship.LatestVersionStatus.RIGHT_ONLY, relationship1.getLatestVersionStatus()); - Relationship relationship2 = relationshipService.find(context, relationship1.getID()); + Relationship relationship2 = relationshipService.find(context.getSession(), relationship1.getID()); assertEquals(Relationship.LatestVersionStatus.RIGHT_ONLY, relationship2.getLatestVersionStatus()); // create method #2 @@ -229,7 +229,7 @@ public void testRelationshipLatestVersionStatusRightOnly() throws Exception { Relationship relationship3 = relationshipService.create(context, inputRelationship); context.restoreAuthSystemState(); assertEquals(Relationship.LatestVersionStatus.RIGHT_ONLY, relationship3.getLatestVersionStatus()); - Relationship relationship4 = relationshipService.find(context, relationship3.getID()); + Relationship relationship4 = relationshipService.find(context.getSession(), relationship3.getID()); assertEquals(Relationship.LatestVersionStatus.RIGHT_ONLY, relationship4.getLatestVersionStatus()); // clean up diff --git a/dspace-api/src/test/java/org/dspace/content/RelationshipTypeTest.java b/dspace-api/src/test/java/org/dspace/content/RelationshipTypeTest.java index ba4e40ce959c..834ad91e484c 100644 --- a/dspace-api/src/test/java/org/dspace/content/RelationshipTypeTest.java +++ b/dspace-api/src/test/java/org/dspace/content/RelationshipTypeTest.java @@ -72,7 +72,7 @@ public void testRelationshipTypeFind() throws Exception { when(relationshipTypeDAO.findByID(any(), any(), any(Integer.class))).thenReturn(firstRelationshipType); // Declare objects utilized for this test - RelationshipType found = relationshipTypeService.find(context, 1); + RelationshipType found = relationshipTypeService.find(context.getSession(), 1); // Pass expected and actual RelationshipTypes into comparator method checkRelationshipTypeValues(found, firstRelationshipType); @@ -85,7 +85,8 @@ public void testRelationshipTypeFindByTypesAndLabels() throws Exception { .thenReturn(firstRelationshipType); // Declare objects utilized for this test - RelationshipType found = relationshipTypeService.findbyTypesAndTypeName(context, mock(EntityType.class), + RelationshipType found = relationshipTypeService.findbyTypesAndTypeName(context.getSession(), + mock(EntityType.class), mock(EntityType.class), "mock", "mock"); @@ -104,7 +105,7 @@ public void testRelationshipTypeFindAll() throws Exception { when(relationshipTypeDAO.findAll(context.getSession(), RelationshipType.class, -1, -1)).thenReturn(mockedList); // Invoke findAll() - List foundRelationshipTypes = relationshipTypeService.findAll(context); + List foundRelationshipTypes = relationshipTypeService.findAll(context.getSession()); // Assert that our foundRelationshipTypes should not be null and contain two RelationshipTypes assertThat(foundRelationshipTypes, notNullValue()); @@ -122,7 +123,8 @@ public void testRelationshipTypeFindByLeftOrRightwardType() throws Exception { "mock", -1, -1)).thenReturn(mockedList); // Invoke findByLeftwardOrRightwardTypeName() - List found = relationshipTypeService.findByLeftwardOrRightwardTypeName(context, "mock"); + List found + = relationshipTypeService.findByLeftwardOrRightwardTypeName(context.getSession(), "mock"); // Assert that our expected list contains our expected RelationshipType and nothing more assertThat(found, notNullValue()); @@ -141,7 +143,7 @@ public void testRelationshipTypefindByEntityType() throws Exception { // Invoke findByEntityType() List found = relationshipTypeService - .findByEntityType(context, mock(EntityType.class), -1, -1); + .findByEntityType(context.getSession(), mock(EntityType.class), -1, -1); // Assert that our expected list contains our expected RelationshipType and nothing more assertThat(found, notNullValue()); diff --git a/dspace-api/src/test/java/org/dspace/content/VersioningTest.java b/dspace-api/src/test/java/org/dspace/content/VersioningTest.java index 4ec9a7b07baf..ceb27f8da9b3 100644 --- a/dspace-api/src/test/java/org/dspace/content/VersioningTest.java +++ b/dspace-api/src/test/java/org/dspace/content/VersioningTest.java @@ -86,7 +86,7 @@ public void init() { originalItem = installItemService.installItem(context, is); Version version = versionService.createNewVersion(context, originalItem, summary); - WorkspaceItem wsi = workspaceItemService.findByItem(context, version.getItem()); + WorkspaceItem wsi = workspaceItemService.findByItem(context.getSession(), version.getItem()); versionedItem = installItemService.installItem(context, wsi); context.restoreAuthSystemState(); diff --git a/dspace-api/src/test/java/org/dspace/content/VersioningWithRelationshipsTest.java b/dspace-api/src/test/java/org/dspace/content/VersioningWithRelationshipsTest.java index baacc3c9ddff..eacff65cf4a7 100644 --- a/dspace-api/src/test/java/org/dspace/content/VersioningWithRelationshipsTest.java +++ b/dspace-api/src/test/java/org/dspace/content/VersioningWithRelationshipsTest.java @@ -389,7 +389,7 @@ public void test_createNewVersionOfItemOnLeftSideOfRelationships() throws Except // do item install on new publication // //////////////////////////////////////// - WorkspaceItem newPublicationWSI = workspaceItemService.findByItem(context, newPublication); + WorkspaceItem newPublicationWSI = workspaceItemService.findByItem(context.getSession(), newPublication); installItemService.installItem(context, newPublicationWSI); context.dispatchEvents(); @@ -729,7 +729,7 @@ public void test_createNewVersionOfItemAndModifyRelationships() throws Exception // do item install on new publication // //////////////////////////////////////// - WorkspaceItem newPublicationWSI = workspaceItemService.findByItem(context, newPublication); + WorkspaceItem newPublicationWSI = workspaceItemService.findByItem(context.getSession(), newPublication); installItemService.installItem(context, newPublicationWSI); context.dispatchEvents(); @@ -1025,7 +1025,7 @@ public void test_createNewVersionOfItemOnRightSideOfRelationships() throws Excep // do item install on new person // /////////////////////////////////// - WorkspaceItem newPersonWSI = workspaceItemService.findByItem(context, newPerson); + WorkspaceItem newPersonWSI = workspaceItemService.findByItem(context.getSession(), newPerson); installItemService.installItem(context, newPersonWSI); context.dispatchEvents(); @@ -1513,7 +1513,7 @@ public void test_createNewVersionOfItemWithAddRemoveMove() throws Exception { // do item install on new publication // //////////////////////////////////////// - WorkspaceItem newPublicationWSI = workspaceItemService.findByItem(context, newPublication); + WorkspaceItem newPublicationWSI = workspaceItemService.findByItem(context.getSession(), newPublication); installItemService.installItem(context, newPublicationWSI); context.dispatchEvents(); @@ -1786,7 +1786,7 @@ public void test_placeRecalculationAfterDelete() throws Exception { ///////////////////////////////////// Item v1_2 = versioningService.createNewVersion(context, v1_1).getItem(); - installItemService.installItem(context, workspaceItemService.findByItem(context, v1_2)); + installItemService.installItem(context, workspaceItemService.findByItem(context.getSession(), v1_2)); context.commit(); //////////////////////////////////// @@ -1794,7 +1794,7 @@ public void test_placeRecalculationAfterDelete() throws Exception { //////////////////////////////////// Item i3_2 = versioningService.createNewVersion(context, i3_1).getItem(); - installItemService.installItem(context, workspaceItemService.findByItem(context, i3_2)); + installItemService.installItem(context, workspaceItemService.findByItem(context.getSession(), i3_2)); context.commit(); //////////////////////////////////////////////// @@ -2320,7 +2320,7 @@ public void test_placeRecalculationAfterDelete_complex() throws Exception { ///////////////////////////////////// Item pe3_2 = versioningService.createNewVersion(context, pe3_1).getItem(); - installItemService.installItem(context, workspaceItemService.findByItem(context, pe3_2)); + installItemService.installItem(context, workspaceItemService.findByItem(context.getSession(), pe3_2)); context.commit(); ////////////////////////////////////// @@ -2328,7 +2328,7 @@ public void test_placeRecalculationAfterDelete_complex() throws Exception { ////////////////////////////////////// Item pr3_2 = versioningService.createNewVersion(context, pr3_1).getItem(); - installItemService.installItem(context, workspaceItemService.findByItem(context, pr3_2)); + installItemService.installItem(context, workspaceItemService.findByItem(context.getSession(), pr3_2)); context.commit(); //////////////////////////////////////////////// @@ -3060,7 +3060,7 @@ public void test_placeRecalculationNoUseForPlace() throws Exception { ///////////////////////////////////// Item v1_2 = versioningService.createNewVersion(context, v1_1).getItem(); - installItemService.installItem(context, workspaceItemService.findByItem(context, v1_2)); + installItemService.installItem(context, workspaceItemService.findByItem(context.getSession(), v1_2)); context.commit(); //////////////////////////////////// @@ -3068,7 +3068,7 @@ public void test_placeRecalculationNoUseForPlace() throws Exception { //////////////////////////////////// Item i3_2 = versioningService.createNewVersion(context, i3_1).getItem(); - installItemService.installItem(context, workspaceItemService.findByItem(context, i3_2)); + installItemService.installItem(context, workspaceItemService.findByItem(context.getSession(), i3_2)); context.commit(); //////////////////////////////////////////////// @@ -3513,7 +3513,7 @@ public void test_virtualMetadataPreserved() throws Exception { /////////////////////////////////////////////////////// Item publication1V2 = versioningService.createNewVersion(context, publication1V1).getItem(); - installItemService.installItem(context, workspaceItemService.findByItem(context, publication1V2)); + installItemService.installItem(context, workspaceItemService.findByItem(context.getSession(), publication1V2)); context.dispatchEvents(); //////////////////////////////////// @@ -3691,7 +3691,7 @@ public void test_virtualMetadataPreserved() throws Exception { // archive new version of person 1 // ///////////////////////////////////// - installItemService.installItem(context, workspaceItemService.findByItem(context, person1V2)); + installItemService.installItem(context, workspaceItemService.findByItem(context.getSession(), person1V2)); context.dispatchEvents(); /////////////////// @@ -4033,7 +4033,7 @@ public void test_virtualMetadataPreserved() throws Exception { // archive new version of person 2 // ///////////////////////////////////// - installItemService.installItem(context, workspaceItemService.findByItem(context, person2V2)); + installItemService.installItem(context, workspaceItemService.findByItem(context.getSession(), person2V2)); context.dispatchEvents(); /////////////////// diff --git a/dspace-api/src/test/java/org/dspace/content/WorkspaceItemTest.java b/dspace-api/src/test/java/org/dspace/content/WorkspaceItemTest.java index 971936f60fc1..fc764a4a2371 100644 --- a/dspace-api/src/test/java/org/dspace/content/WorkspaceItemTest.java +++ b/dspace-api/src/test/java/org/dspace/content/WorkspaceItemTest.java @@ -152,7 +152,7 @@ public void destroy() { @Test public void testFind() throws Exception { int id = wi.getID(); - WorkspaceItem found = workspaceItemService.find(context, id); + WorkspaceItem found = workspaceItemService.find(context.getSession(), id); assertThat("testFind 0", found, notNullValue()); assertThat("testFind 1", found.getID(), equalTo(id)); assertThat("testFind 2", found, equalTo(wi)); @@ -199,7 +199,7 @@ public void testCreateNoAuth() throws Exception { @Test public void testFindByEPerson() throws Exception { EPerson ep = context.getCurrentUser(); - List found = workspaceItemService.findByEPerson(context, ep); + List found = workspaceItemService.findByEPerson(context.getSession(), ep); assertThat("testFindByEPerson 0", found, notNullValue()); assertTrue("testFindByEPerson 1", found.size() >= 1); boolean exists = false; @@ -217,7 +217,7 @@ public void testFindByEPerson() throws Exception { @Test public void testFindByCollection() throws Exception { Collection c = wi.getCollection(); - List found = workspaceItemService.findByCollection(context, c); + List found = workspaceItemService.findByCollection(context.getSession(), c); assertThat("testFindByCollection 0", found, notNullValue()); assertTrue("testFindByCollection 1", found.size() >= 1); assertThat("testFindByCollection 2", found.get(0).getID(), equalTo(wi.getID())); @@ -230,7 +230,7 @@ public void testFindByCollection() throws Exception { */ @Test public void testFindAll() throws Exception { - List found = workspaceItemService.findAll(context); + List found = workspaceItemService.findAll(context.getSession()); assertTrue("testFindAll 0", found.size() >= 1); boolean added = false; for (WorkspaceItem f : found) { @@ -298,7 +298,7 @@ public void testUpdateAuth() throws Exception { workspaceItemService.update(context, wi); // Reload our WorkspaceItem - wi = workspaceItemService.find(context, wi.getID()); + wi = workspaceItemService.find(context.getSession(), wi.getID()); assertTrue("testUpdate", pBefore != wi.isPublishedBefore()); } @@ -341,7 +341,7 @@ public void testDeleteAllAuth() throws Exception { int id = wi.getID(); //we are the user that created it (same context) so we can delete workspaceItemService.deleteAll(context, wi); - WorkspaceItem found = workspaceItemService.find(context, id); + WorkspaceItem found = workspaceItemService.find(context.getSession(), id); assertThat("testDeleteAllAuth 0", found, nullValue()); } @@ -376,7 +376,7 @@ public void testDeleteWrapperAuth() throws Exception { workspaceItemService.deleteWrapper(context, wi); Item found = itemService.find(context.getSession(), itemid); assertThat("testDeleteWrapperAuth 0", found, notNullValue()); - WorkspaceItem wfound = workspaceItemService.find(context, id); + WorkspaceItem wfound = workspaceItemService.find(context.getSession(), id); assertThat("testDeleteWrapperAuth 1", wfound, nullValue()); } diff --git a/dspace-api/src/test/java/org/dspace/content/dao/RelationshipTypeDAOImplTest.java b/dspace-api/src/test/java/org/dspace/content/dao/RelationshipTypeDAOImplTest.java index 3fff6fec4762..2b78c6285323 100644 --- a/dspace-api/src/test/java/org/dspace/content/dao/RelationshipTypeDAOImplTest.java +++ b/dspace-api/src/test/java/org/dspace/content/dao/RelationshipTypeDAOImplTest.java @@ -51,7 +51,7 @@ public class RelationshipTypeDAOImplTest extends AbstractIntegrationTest { private RelationshipType relationshipType; - private List relationshipTypeList = new ArrayList<>(); + private final List relationshipTypeList = new ArrayList<>(); private EntityType entityTypeOne; @@ -101,7 +101,7 @@ public void init() { } /** - * Delete all initalized DSpace objects after each test + * Delete all initialized DSpace objects after each test */ @After @Override @@ -132,7 +132,7 @@ public void destroy() { @Test public void testFindByTypesAndLabels() throws Exception { assertEquals("TestFindbyTypesAndLabels 0", relationshipType, relationshipTypeService - .findbyTypesAndTypeName(context, entityTypeTwo, entityTypeOne, "isAuthorOfPublication", + .findbyTypesAndTypeName(context.getSession(), entityTypeTwo, entityTypeOne, "isAuthorOfPublication", "isPublicationOfAuthor")); } @@ -144,7 +144,7 @@ public void testFindByTypesAndLabels() throws Exception { @Test public void testFindByLeftOrRightLabel() throws Exception { assertEquals("TestFindByLeftOrRightLabel 0", relationshipTypeList, relationshipTypeService. - findByLeftwardOrRightwardTypeName(context, "isAuthorOfPublication", -1, -1)); + findByLeftwardOrRightwardTypeName(context.getSession(), "isAuthorOfPublication", -1, -1)); } /** @@ -155,7 +155,7 @@ public void testFindByLeftOrRightLabel() throws Exception { */ @Test public void testFindByEntityType() throws Exception { - assertEquals("TestFindByEntityType 0", relationshipTypeList, relationshipTypeService.findByEntityType(context, - entityTypeOne)); + assertEquals("TestFindByEntityType 0", relationshipTypeList, + relationshipTypeService.findByEntityType(context.getSession(), entityTypeOne)); } } diff --git a/dspace-api/src/test/java/org/dspace/content/service/ItemServiceTest.java b/dspace-api/src/test/java/org/dspace/content/service/ItemServiceTest.java index 81a104a37bdd..9b30892032b3 100644 --- a/dspace-api/src/test/java/org/dspace/content/service/ItemServiceTest.java +++ b/dspace-api/src/test/java/org/dspace/content/service/ItemServiceTest.java @@ -642,7 +642,7 @@ public void testDeleteItemWithMultipleVersions() throws Exception { // create a new version, which results in a non-latest relationship attached person 1. Version newVersion = versioningService.createNewVersion(context, publication1); Item newPublication1 = newVersion.getItem(); - WorkspaceItem newPublication1WSI = workspaceItemService.findByItem(context, newPublication1); + WorkspaceItem newPublication1WSI = workspaceItemService.findByItem(context.getSession(), newPublication1); installItemService.installItem(context, newPublication1WSI); context.dispatchEvents(); diff --git a/dspace-api/src/test/java/org/dspace/eperson/EPersonTest.java b/dspace-api/src/test/java/org/dspace/eperson/EPersonTest.java index 9d6ce05cc13d..33217bff3c28 100644 --- a/dspace-api/src/test/java/org/dspace/eperson/EPersonTest.java +++ b/dspace-api/src/test/java/org/dspace/eperson/EPersonTest.java @@ -945,7 +945,7 @@ public void testCascadingDeletionOfUnsubmittedWorkspaceItem() context.commit(); try { - WorkspaceItem restoredWsi = workspaceItemService.find(context, wsi.getID()); + WorkspaceItem restoredWsi = workspaceItemService.find(context.getSession(), wsi.getID()); Item restoredItem = itemService.find(context.getSession(), item.getID()); assertNull("An unsubmited WorkspaceItem wasn't deleted while cascading deleting the submitter.", restoredWsi); @@ -1001,7 +1001,8 @@ public void testCascadingDeleteSubmitterPreservesWorkflowItems() context.turnOffAuthorisationSystem(); // check that the workflow item exists. - assertNotNull("Cannot find currently created WorkflowItem!", workflowItemService.find(context, wfiID)); + assertNotNull("Cannot find currently created WorkflowItem!", + workflowItemService.find(context.getSession(), wfiID)); // delete the submitter try { @@ -1023,7 +1024,7 @@ public void testCascadingDeleteSubmitterPreservesWorkflowItems() context.turnOffAuthorisationSystem(); // check whether the workflow item still exists. - WorkflowItem wfi = workflowItemService.find(context, wfiID); + WorkflowItem wfi = workflowItemService.find(context.getSession(), wfiID); assertNotNull("Could not load WorkflowItem after cascading deletion of the submitter.", wfi); assertNull("Cascading deletion of an EPerson did not set the submitter of an submitted WorkflowItem null.", wfi.getSubmitter()); diff --git a/dspace-api/src/test/java/org/dspace/supervision/SupervisionOrderServiceIT.java b/dspace-api/src/test/java/org/dspace/supervision/SupervisionOrderServiceIT.java index 60407823485b..6d26790b2b8a 100644 --- a/dspace-api/src/test/java/org/dspace/supervision/SupervisionOrderServiceIT.java +++ b/dspace-api/src/test/java/org/dspace/supervision/SupervisionOrderServiceIT.java @@ -141,7 +141,7 @@ public void findSupervisionOrderTest() throws Exception { context.restoreAuthSystemState(); SupervisionOrder supervisionOrder = - supervisionOrderService.find(context, supervisionOrderOne.getID()); + supervisionOrderService.find(context.getSession(), supervisionOrderOne.getID()); assertThat(supervisionOrder, notNullValue()); assertThat(supervisionOrder.getID(), is(supervisionOrderOne.getID())); diff --git a/dspace-rest/src/main/java/org/dspace/rest/BitstreamResource.java b/dspace-rest/src/main/java/org/dspace/rest/BitstreamResource.java index ed99d0cb80ac..0d125703ab76 100644 --- a/dspace-rest/src/main/java/org/dspace/rest/BitstreamResource.java +++ b/dspace-rest/src/main/java/org/dspace/rest/BitstreamResource.java @@ -450,11 +450,11 @@ public Response updateBitstream(@PathParam("bitstream_id") String bitstreamId, B dspaceBitstream.setDescription(context, bitstream.getDescription()); if (getMimeType(bitstream.getName()) == null) { - BitstreamFormat unknownFormat = bitstreamFormatService.findUnknown(context); + BitstreamFormat unknownFormat = bitstreamFormatService.findUnknown(context.getSession()); bitstreamService.setFormat(context, dspaceBitstream, unknownFormat); } else { BitstreamFormat guessedFormat = bitstreamFormatService - .findByMIMEType(context, getMimeType(bitstream.getName())); + .findByMIMEType(context.getSession(), getMimeType(bitstream.getName())); bitstreamService.setFormat(context, dspaceBitstream, guessedFormat); } dspaceBitstream.setName(context, bitstream.getName()); @@ -676,7 +676,7 @@ public javax.ws.rs.core.Response deleteBitstreamPolicy(@PathParam("bitstream_id" writeStats(dspaceBitstream, UsageEvent.Action.UPDATE, user_ip, user_agent, xforwardedfor, headers, request, context); - org.dspace.authorize.ResourcePolicy resourcePolicy = resourcePolicyService.find(context, policyId); + org.dspace.authorize.ResourcePolicy resourcePolicy = resourcePolicyService.find(context.getSession(), policyId); if (resourcePolicy.getdSpaceObject().getID().equals(dspaceBitstream.getID()) && authorizeService .authorizeActionBoolean(context, dspaceBitstream, org.dspace.core.Constants.REMOVE)) { diff --git a/dspace-rest/src/main/java/org/dspace/rest/ItemsResource.java b/dspace-rest/src/main/java/org/dspace/rest/ItemsResource.java index e6717b875de9..19852af6ad1a 100644 --- a/dspace-rest/src/main/java/org/dspace/rest/ItemsResource.java +++ b/dspace-rest/src/main/java/org/dspace/rest/ItemsResource.java @@ -485,10 +485,10 @@ public Bitstream addItemBitstream(@PathParam("item_id") String itemId, InputStre // Set bitstream name and description if (name != null) { if (BitstreamResource.getMimeType(name) == null) { - dspaceBitstream.setFormat(context, bitstreamFormatService.findUnknown(context)); + dspaceBitstream.setFormat(context, bitstreamFormatService.findUnknown(context.getSession())); } else { bitstreamService.setFormat(context, dspaceBitstream, bitstreamFormatService - .findByMIMEType(context, BitstreamResource.getMimeType(name))); + .findByMIMEType(context.getSession(), BitstreamResource.getMimeType(name))); } dspaceBitstream.setName(context, name); diff --git a/dspace-rest/src/main/java/org/dspace/rest/MetadataRegistryResource.java b/dspace-rest/src/main/java/org/dspace/rest/MetadataRegistryResource.java index 709a744aeabf..08a6598f0e88 100644 --- a/dspace-rest/src/main/java/org/dspace/rest/MetadataRegistryResource.java +++ b/dspace-rest/src/main/java/org/dspace/rest/MetadataRegistryResource.java @@ -107,7 +107,7 @@ public MetadataSchema[] getSchemas(@QueryParam("expand") @DefaultValue("fields") try { context = createContext(); - List schemas = metadataSchemaService.findAll(context); + List schemas = metadataSchemaService.findAll(context.getSession()); metadataSchemas = new ArrayList<>(); for (org.dspace.content.MetadataSchema schema : schemas) { metadataSchemas.add(new MetadataSchema(schema, expand, context)); diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/EntityTypeLabelRestController.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/EntityTypeLabelRestController.java index 072975417217..55eb4b1b6dc7 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/EntityTypeLabelRestController.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/EntityTypeLabelRestController.java @@ -56,7 +56,7 @@ public EntityTypeResource get(HttpServletRequest request, HttpServletResponse re @PathVariable("entity-type-label") String label) { Context context = ContextUtil.obtainContext(request); try { - EntityType entityType = this.entityTypeService.findByEntityType(context, label); + EntityType entityType = this.entityTypeService.findByEntityType(context.getSession(), label); if (entityType == null) { throw new ResourceNotFoundException("There was no entityType found with label: " + label); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/ResourcePolicyEPersonReplaceRestController.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/ResourcePolicyEPersonReplaceRestController.java index e772aa0abe18..d81107c39dd7 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/ResourcePolicyEPersonReplaceRestController.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/ResourcePolicyEPersonReplaceRestController.java @@ -65,7 +65,7 @@ public ResponseEntity> replaceEPersonOfResourcePolicy(@Pa "The EPerson doesn't exist or the data cannot be resolved to an EPerson."); } - ResourcePolicy resourcePolicy = resourcePolicyService.find(context, id); + ResourcePolicy resourcePolicy = resourcePolicyService.find(context.getSession(), id); if (Objects.isNull(resourcePolicy)) { throw new ResourceNotFoundException("ResourcePolicy with id: " + id + " not found"); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/ResourcePolicyGroupReplaceRestController.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/ResourcePolicyGroupReplaceRestController.java index e9ba0dff4429..fb76198ee584 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/ResourcePolicyGroupReplaceRestController.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/ResourcePolicyGroupReplaceRestController.java @@ -64,7 +64,7 @@ public ResponseEntity> replaceGroupOfResourcePolicy(@Path throw new UnprocessableEntityException("The Group doesn't exist or the data cannot be resolved to a Group"); } - ResourcePolicy resourcePolicy = resourcePolicyService.find(context, id); + ResourcePolicy resourcePolicy = resourcePolicyService.find(context.getSession(), id); if (Objects.isNull(resourcePolicy)) { throw new ResourceNotFoundException("ResourcePolicy with id: " + id + " not found!"); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/authorization/impl/DeleteFeature.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/authorization/impl/DeleteFeature.java index 02ca816290d0..d103273c9ea2 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/authorization/impl/DeleteFeature.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/authorization/impl/DeleteFeature.java @@ -114,7 +114,7 @@ private DSpaceObject getParentObject(Context context, DSpaceObject object) throw parentObject = item.getOwningCollection(); WorkspaceItem byItem = ContentServiceFactory.getInstance() .getWorkspaceItemService() - .findByItem(context, item); + .findByItem(context.getSession(), item); if (byItem != null) { parentObject = byItem.getCollection(); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/BitstreamFormatRestRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/BitstreamFormatRestRepository.java index 49585ee9db5a..ea44c7c7491a 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/BitstreamFormatRestRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/BitstreamFormatRestRepository.java @@ -46,7 +46,7 @@ public class BitstreamFormatRestRepository extends DSpaceRestRepository findAll(Context context, Pageable pageable) { try { - List bit = bitstreamFormatService.findAll(context); + List bit = bitstreamFormatService.findAll(context.getSession()); return converter.toRestPage(bit, pageable, utils.obtainProjection()); } catch (SQLException e) { throw new RuntimeException(e.getMessage(), e); @@ -106,7 +106,7 @@ protected BitstreamFormatRest put(Context context, HttpServletRequest request, S String notFoundException = "ResourceNotFoundException:" + apiCategory + "." + model + " with id: " + id + " not found"; try { - bitstreamFormat = bitstreamFormatService.find(context, id); + bitstreamFormat = bitstreamFormatService.find(context.getSession(), id); if (bitstreamFormat == null) { throw new ResourceNotFoundException(notFoundException); } @@ -131,7 +131,7 @@ protected void delete(Context context, Integer id) throws AuthorizeException { String notFoundException = "ResourceNotFoundException:" + BitstreamFormatRest.CATEGORY + "." + BitstreamFormatRest.NAME + " with id: " + id + " not found"; try { - bitstreamFormat = bitstreamFormatService.find(context, id); + bitstreamFormat = bitstreamFormatService.find(context.getSession(), id); if (bitstreamFormat == null) { throw new ResourceNotFoundException(notFoundException); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ClaimedTaskRestRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ClaimedTaskRestRepository.java index f52740c43f1c..3be9b4ae59e2 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ClaimedTaskRestRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ClaimedTaskRestRepository.java @@ -102,7 +102,7 @@ public class ClaimedTaskRestRepository extends DSpaceRestRepository findByUser(@Parameter(value = "uuid", required = tr } if (authorizeService.isAdmin(context) || userID.equals(currentUser.getID())) { EPerson ep = epersonService.find(context.getSession(), userID); - List tasks = claimedTaskService.findByEperson(context, ep); + List tasks = claimedTaskService.findByEperson(context.getSession(), ep); return converter.toRestPage(tasks, pageable, utils.obtainProjection()); } else { throw new RESTAuthorizationException("Only administrators can search for claimed tasks of other users"); @@ -147,11 +147,11 @@ public Page findAllByItem(@Parameter(value = "uuid", required = if (item == null) { throw new UnprocessableEntityException("There is no Item with uuid provided, uuid:" + itemUUID); } - XmlWorkflowItem xmlWFI = xmlWorkflowItemService.findByItem(context, item); + XmlWorkflowItem xmlWFI = xmlWorkflowItemService.findByItem(context.getSession(), item); if (xmlWFI == null) { return null; } else { - tasks = claimedTaskService.findByWorkflowItem(context, xmlWFI); + tasks = claimedTaskService.findByWorkflowItem(context.getSession(), xmlWFI); } return converter.toRestPage(tasks, pageable, utils.obtainProjection()); } catch (SQLException e) { @@ -169,11 +169,12 @@ public ClaimedTaskRest findByItem(@Parameter(value = "uuid", required = true) UU if (item == null) { throw new UnprocessableEntityException("There is no Item with uuid provided, uuid:" + itemUUID); } - XmlWorkflowItem xmlWFI = xmlWorkflowItemService.findByItem(context, item); + XmlWorkflowItem xmlWFI = xmlWorkflowItemService.findByItem(context.getSession(), item); if (xmlWFI == null) { return null; } else { - claimedTask = claimedTaskService.findByWorkflowIdAndEPerson(context, xmlWFI, context.getCurrentUser()); + claimedTask = claimedTaskService.findByWorkflowIdAndEPerson(context.getSession(), + xmlWFI, context.getCurrentUser()); } if (claimedTask == null) { return null; @@ -194,7 +195,7 @@ public Class getDomainClass() { protected ClaimedTaskRest action(Context context, HttpServletRequest request, Integer id) throws SQLException, IOException { ClaimedTask task = null; - task = claimedTaskService.find(context, id); + task = claimedTaskService.find(context.getSession(), id); if (task == null) { throw new ResourceNotFoundException("ClaimedTask ID " + id + " not found"); } @@ -238,7 +239,7 @@ protected ClaimedTaskRest action(Context context, HttpServletRequest request, In protected void delete(Context context, Integer id) { ClaimedTask task = null; try { - task = claimedTaskService.find(context, id); + task = claimedTaskService.find(context.getSession(), id); if (task == null) { throw new ResourceNotFoundException("ClaimedTask ID " + id + " not found"); } @@ -274,7 +275,7 @@ protected ClaimedTaskRest createAndReturn(Context context, List list) WorkflowActionConfig currentActionConfig = step.getActionConfig(task.getActionID()); workflowService.doState(context, context.getCurrentUser(), request, task.getWorkflowItem().getID(), workflow, currentActionConfig); - claimedTask = claimedTaskService.findByWorkflowIdAndEPerson(context, + claimedTask = claimedTaskService.findByWorkflowIdAndEPerson(context.getSession(), task.getWorkflowItem(), context.getCurrentUser()); } catch (AuthorizeException e) { throw new RESTAuthorizationException(e); diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ClaimedTaskStepLinkRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ClaimedTaskStepLinkRepository.java index 9ee277171e84..140c39ec804e 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ClaimedTaskStepLinkRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ClaimedTaskStepLinkRepository.java @@ -51,7 +51,7 @@ public WorkflowStepRest getStep(@Nullable HttpServletRequest request, Context context = obtainContext(); try { - ClaimedTask claimedTask = claimedTaskService.find(context, claimedTaskId); + ClaimedTask claimedTask = claimedTaskService.find(context.getSession(), claimedTaskId); if (claimedTask == null) { throw new ResourceNotFoundException("ClaimedTask with id: " + claimedTaskId + " wasn't found"); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CollectionRestRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CollectionRestRepository.java index 23dce93604d5..b2fa3bd96ed0 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CollectionRestRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CollectionRestRepository.java @@ -241,7 +241,7 @@ public Page findSubmitAuthorizedByEntityType( throws SearchServiceException { try { Context context = obtainContext(); - EntityType entityType = this.entityTypeService.findByEntityType(context, entityTypeLabel); + EntityType entityType = this.entityTypeService.findByEntityType(context.getSession(), entityTypeLabel); if (entityType == null) { throw new ResourceNotFoundException("There was no entityType found with label: " + entityTypeLabel); } @@ -273,7 +273,7 @@ public Page findSubmitAuthorizedByCommunityAndEntityType( Pageable pageable) { try { Context context = obtainContext(); - EntityType entityType = entityTypeService.findByEntityType(context, entityTypeLabel); + EntityType entityType = entityTypeService.findByEntityType(context.getSession(), entityTypeLabel); if (Objects.isNull(entityType)) { throw new ResourceNotFoundException("There was no entityType found with label: " + entityTypeLabel); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/EPersonRestRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/EPersonRestRepository.java index 31c911051e51..b14a7d46af25 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/EPersonRestRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/EPersonRestRepository.java @@ -161,7 +161,7 @@ private EPersonRest createAndReturn(Context context, EPersonRest epersonRest, St throw new DSpaceBadRequestException( "Registration is disabled, you are not authorized to create a new Authorization"); } - RegistrationData registrationData = registrationDataService.findByToken(context, token); + RegistrationData registrationData = registrationDataService.findByToken(context.getSession(), token); if (registrationData == null) { throw new DSpaceBadRequestException("The token given as parameter: " + token + " does not exist" + " in the database"); diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/EntityTypeRelationshipLinkRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/EntityTypeRelationshipLinkRepository.java index 3d71ddd9bb30..5e0360283986 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/EntityTypeRelationshipLinkRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/EntityTypeRelationshipLinkRepository.java @@ -57,12 +57,12 @@ public Page getEntityTypeRelationship(@Nullable HttpServle try { Context context = obtainContext(); Pageable pageable = utils.getPageable(optionalPageable); - EntityType entityType = entityTypeService.find(context, id); + EntityType entityType = entityTypeService.find(context.getSession(), id); if (Objects.isNull(entityType)) { throw new ResourceNotFoundException("No such EntityType: " + id); } int total = relationshipTypeService.countByEntityType(context, entityType); - List list = relationshipTypeService.findByEntityType(context, entityType, + List list = relationshipTypeService.findByEntityType(context.getSession(), entityType, pageable.getPageSize(), Math.toIntExact(pageable.getOffset())); return converter.toRestPage(list, pageable, total, projection); } catch (SQLException e) { diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/EntityTypeRestRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/EntityTypeRestRepository.java index eec67b6fc93b..84678af4cf38 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/EntityTypeRestRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/EntityTypeRestRepository.java @@ -43,7 +43,7 @@ public class EntityTypeRestRepository extends DSpaceRestRepository findAll(Context context, Pageable pageable) { try { - List entityTypes = entityTypeService.findAll(context); + List entityTypes = entityTypeService.findAll(context.getSession()); return converter.toRestPage(entityTypes, pageable, utils.obtainProjection()); } catch (SQLException e) { throw new RuntimeException(e.getMessage(), e); @@ -79,7 +79,7 @@ public Page findAllByAuthorizedCollection(Pageable pageable) { return null; } try { - return entityTypeService.findByEntityType(context, type); + return entityTypeService.findByEntityType(context.getSession(), type); } catch (SQLException e) { throw new RuntimeException(e.getMessage(), e); } @@ -103,13 +103,13 @@ public Page findAllByAuthorizedExternalSource(Pageable pageable) Context context = obtainContext(); List types = entityTypeService.getSubmitAuthorizedTypes(context); List entityTypes = types.stream() - .filter(x -> externalDataService.getExternalDataProvidersForEntityType(x).size() > 0) + .filter(x -> !externalDataService.getExternalDataProvidersForEntityType(x).isEmpty()) .map(type -> { if (StringUtils.isBlank(type)) { return null; } try { - return entityTypeService.findByEntityType(context, type); + return entityTypeService.findByEntityType(context.getSession(), type); } catch (SQLException e) { throw new RuntimeException(e.getMessage(), e); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ItemRestRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ItemRestRepository.java index 01c07a61cd40..106c101a5c96 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ItemRestRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ItemRestRepository.java @@ -224,7 +224,7 @@ private void deleteMultipleRelationshipsCopyVirtualMetadata(Context context, Str // relatives. List relationshipIds = parseVirtualMetadataTypes(copyVirtual); for (Integer relationshipId : relationshipIds) { - RelationshipType relationshipType = relationshipTypeService.find(context, relationshipId); + RelationshipType relationshipType = relationshipTypeService.find(context.getSession(), relationshipId); for (Relationship relationship : relationshipService .findByItemAndRelationshipType(context.getSession(), item, relationshipType)) { diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/MetadataSchemaRestRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/MetadataSchemaRestRepository.java index 022557655de0..79c4ddbc3bbe 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/MetadataSchemaRestRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/MetadataSchemaRestRepository.java @@ -62,7 +62,7 @@ public MetadataSchemaRest findOne(Context context, Integer id) { @Override public Page findAll(Context context, Pageable pageable) { try { - List metadataSchemas = metadataSchemaService.findAll(context); + List metadataSchemas = metadataSchemaService.findAll(context.getSession()); return converter.toRestPage(metadataSchemas, pageable, utils.obtainProjection()); } catch (SQLException e) { throw new RuntimeException(e.getMessage(), e); diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/PoolTaskRestRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/PoolTaskRestRepository.java index f2bcc6785085..a901da80d268 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/PoolTaskRestRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/PoolTaskRestRepository.java @@ -83,7 +83,7 @@ public class PoolTaskRestRepository extends DSpaceRestRepository findAllByItem(@Parameter(value = "uuid", required = tr if (item == null) { throw new UnprocessableEntityException("There is no Item with uuid provided, uuid:" + itemUUID); } - XmlWorkflowItem xmlWorkflowItem = xmlWorkflowItemService.findByItem(context, item); + XmlWorkflowItem xmlWorkflowItem = xmlWorkflowItemService.findByItem(context.getSession(), item); if (xmlWorkflowItem == null) { return null; } else { @@ -168,7 +168,7 @@ public PoolTaskRest findByItem(@Parameter(value = "uuid", required = true) UUID if (item == null) { throw new UnprocessableEntityException("There is no Item with uuid provided, uuid:" + itemUUID); } - XmlWorkflowItem xmlWorkflowItem = xmlWorkflowItemService.findByItem(context, item); + XmlWorkflowItem xmlWorkflowItem = xmlWorkflowItemService.findByItem(context.getSession(), item); if (xmlWorkflowItem == null) { return null; } else { diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/PoolTaskStepLinkRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/PoolTaskStepLinkRepository.java index 6e7f4f84ace3..fbe32cbdeec8 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/PoolTaskStepLinkRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/PoolTaskStepLinkRepository.java @@ -51,7 +51,7 @@ public WorkflowStepRest getStep(@Nullable HttpServletRequest request, Context context = obtainContext(); try { - PoolTask poolTask = poolTaskService.find(context, poolTaskId); + PoolTask poolTask = poolTaskService.find(context.getSession(), poolTaskId); if (poolTask == null) { throw new ResourceNotFoundException("ClaimedTask with id: " + poolTaskId + " wasn't found"); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/RegistrationRestRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/RegistrationRestRepository.java index be28170d8a07..c46ee1470791 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/RegistrationRestRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/RegistrationRestRepository.java @@ -183,7 +183,7 @@ public Class getDomainClass() { public RegistrationRest findByToken(@Parameter(value = "token", required = true) String token) throws SQLException, AuthorizeException { Context context = obtainContext(); - RegistrationData registrationData = registrationDataService.findByToken(context, token); + RegistrationData registrationData = registrationDataService.findByToken(context.getSession(), token); if (registrationData == null) { throw new ResourceNotFoundException("The token: " + token + " couldn't be found"); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/RelationshipRestRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/RelationshipRestRepository.java index 8b1e13c9f1bf..8397c6033669 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/RelationshipRestRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/RelationshipRestRepository.java @@ -79,7 +79,7 @@ public class RelationshipRestRepository extends DSpaceRestRepository stringL Item leftItem = (Item) list.get(0); Item rightItem = (Item) list.get(1); RelationshipType relationshipType = relationshipTypeService - .find(context, Integer.parseInt(req.getParameter("relationshipType"))); + .find(context.getSession(), Integer.parseInt(req.getParameter("relationshipType"))); String leftwardValue = req.getParameter("leftwardValue"); String rightwardValue = req.getParameter("rightwardValue"); @@ -159,7 +159,7 @@ public RelationshipRest put(Context context, String contextPath, Integer id, Lis Relationship relationship; try { - relationship = relationshipService.find(context, id); + relationship = relationshipService.find(context.getSession(), id); } catch (SQLException e) { throw new ResourceNotFoundException(contextPath + " with id: " + id + " not found"); } @@ -219,7 +219,7 @@ protected RelationshipRest put(Context context, HttpServletRequest request, Stri Relationship relationship; try { - relationship = relationshipService.find(context, id); + relationship = relationshipService.find(context.getSession(), id); } catch (SQLException e) { throw new ResourceNotFoundException("Relationship" + " with id: " + id + " not found"); } @@ -293,7 +293,7 @@ protected void delete(Context context, Integer id) throws AuthorizeException { Relationship relationship = null; try { - relationship = relationshipService.find(context, id); + relationship = relationshipService.find(context.getSession(), id); if (relationship != null) { try { switch (copyVirtual) { @@ -342,7 +342,7 @@ public Page findByLabel(@Parameter(value = "label", required = Context context = obtainContext(); List relationshipTypeList = - relationshipTypeService.findByLeftwardOrRightwardTypeName(context, label); + relationshipTypeService.findByLeftwardOrRightwardTypeName(context.getSession(), label); List relationships = new LinkedList<>(); int total = 0; if (dsoId != null) { @@ -398,7 +398,7 @@ public Page findByItemsAndType( Context context = obtainContext(); int total = 0; List relationships = new LinkedList<>(); - RelationshipType relationshipType = relationshipTypeService.find(context, typeId); + RelationshipType relationshipType = relationshipTypeService.find(context.getSession(), typeId); if (Objects.nonNull(relationshipType)) { if (!relationshipType.getLeftwardType().equals(label) && !relationshipType.getRightwardType().equals(label)) { diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/RelationshipTypeRelationshipLinkRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/RelationshipTypeRelationshipLinkRepository.java index a6c31d0c1632..6e2611d9398e 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/RelationshipTypeRelationshipLinkRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/RelationshipTypeRelationshipLinkRepository.java @@ -41,7 +41,7 @@ public RelationshipTypeRest getRelationshipType(@Nullable HttpServletRequest req Projection projection) { try { Context context = obtainContext(); - Relationship relationship = relationshipService.find(context, relationshipId); + Relationship relationship = relationshipService.find(context.getSession(), relationshipId); if (relationship == null) { throw new ResourceNotFoundException("No such relationship: " + relationshipId); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/RelationshipTypeRestRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/RelationshipTypeRestRepository.java index a4e65d75a390..d2dc06adaeb2 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/RelationshipTypeRestRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/RelationshipTypeRestRepository.java @@ -42,7 +42,8 @@ public class RelationshipTypeRestRepository extends DSpaceRestRepository findAll(Context context, Pageable pageable) { try { - List relationshipTypes = relationshipTypeService.findAll(context); + List relationshipTypes = relationshipTypeService.findAll(context.getSession()); return converter.toRestPage(relationshipTypes, pageable, utils.obtainProjection()); } catch (SQLException e) { throw new RuntimeException(e.getMessage(), e); @@ -60,7 +61,7 @@ public Page findAll(Context context, Pageable pageable) { /** * Returns a list of relationship types that matches provided entity type on any side of relationship - * + * * @param type The entity type label * @param pageable The page information * @return @@ -70,12 +71,12 @@ public Page findAll(Context context, Pageable pageable) { public Page findByEntityType(@Parameter(value = "type", required = true) String type, Pageable pageable) throws SQLException { Context context = obtainContext(); - EntityType entityType = entityTypeService.findByEntityType(context, type); + EntityType entityType = entityTypeService.findByEntityType(context.getSession(), type); if (Objects.isNull(entityType)) { throw new DSpaceBadRequestException("EntityType with name: " + type + " not found"); } - List relationshipTypes = relationshipTypeService.findByEntityType(context, entityType, - Math.toIntExact(pageable.getPageSize()), Math.toIntExact(pageable.getOffset())); + List relationshipTypes = relationshipTypeService.findByEntityType(context.getSession(), + entityType, Math.toIntExact(pageable.getPageSize()), Math.toIntExact(pageable.getOffset())); int total = relationshipTypeService.countByEntityType(context, entityType); return converter.toRestPage(relationshipTypes, pageable, total, utils.obtainProjection()); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ResourcePolicyRestRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ResourcePolicyRestRepository.java index 658c421845d0..1fdfe48ccf7c 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ResourcePolicyRestRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ResourcePolicyRestRepository.java @@ -81,7 +81,7 @@ public class ResourcePolicyRestRepository extends DSpaceRestRepository findByResource(@Parameter(value = "uuid", requir Context context = obtainContext(); if (action != null) { int actionId = Constants.getActionID(action); - resourcePolisies = resourcePolicyService.findByResouceUuidAndActionId(context, resourceUuid, actionId, - Math.toIntExact(pageable.getOffset()), - Math.toIntExact(pageable.getPageSize())); + resourcePolisies = resourcePolicyService.findByResouceUuidAndActionId(context.getSession(), + resourceUuid, actionId, + Math.toIntExact(pageable.getOffset()), + Math.toIntExact(pageable.getPageSize())); total = resourcePolicyService.countByResouceUuidAndActionId(context, resourceUuid, actionId); } else { - resourcePolisies = resourcePolicyService.findByResouceUuid(context, resourceUuid, + resourcePolisies = resourcePolicyService.findByResouceUuid(context.getSession(), resourceUuid, Math.toIntExact(pageable.getOffset()), Math.toIntExact(pageable.getPageSize())); total = resourcePolicyService.countByResourceUuid(context, resourceUuid); @@ -161,13 +162,14 @@ public Page findByEPerson(@Parameter(value = "uuid", require return null; } if (resourceUuid != null) { - resourcePolisies = resourcePolicyService.findByEPersonAndResourceUuid(context, eperson, resourceUuid, - Math.toIntExact(pageable.getOffset()), - Math.toIntExact(pageable.getPageSize())); + resourcePolisies = resourcePolicyService.findByEPersonAndResourceUuid(context.getSession(), + eperson, resourceUuid, + Math.toIntExact(pageable.getOffset()), + Math.toIntExact(pageable.getPageSize())); total = resourcePolicyService.countResourcePoliciesByEPersonAndResourceUuid(context, eperson, resourceUuid); } else { - resourcePolisies = resourcePolicyService.findByEPerson(context, eperson, + resourcePolisies = resourcePolicyService.findByEPerson(context.getSession(), eperson, Math.toIntExact(pageable.getOffset()), Math.toIntExact(pageable.getPageSize())); total = resourcePolicyService.countByEPerson(context, eperson); @@ -204,12 +206,13 @@ public Page findByGroup(@Parameter(value = "uuid", required return null; } if (resourceUuid != null) { - resourcePolisies = resourcePolicyService.findByGroupAndResourceUuid(context, group, resourceUuid, - Math.toIntExact(pageable.getOffset()), - Math.toIntExact(pageable.getPageSize())); + resourcePolisies = resourcePolicyService.findByGroupAndResourceUuid(context.getSession(), + group, resourceUuid, + Math.toIntExact(pageable.getOffset()), + Math.toIntExact(pageable.getPageSize())); total = resourcePolicyService.countByGroupAndResourceUuid(context, group, resourceUuid); } else { - resourcePolisies = resourcePolicyService.findByGroup(context, group, + resourcePolisies = resourcePolicyService.findByGroup(context.getSession(), group, Math.toIntExact(pageable.getOffset()), Math.toIntExact(pageable.getPageSize())); total = resourcePolicyService.countResourcePolicyByGroup(context, group); @@ -297,7 +300,7 @@ protected ResourcePolicyRest createAndReturn(Context context) throws AuthorizeEx protected void delete(Context context, Integer id) throws AuthorizeException { ResourcePolicy resourcePolicy = null; try { - resourcePolicy = resourcePolicyService.find(context, id); + resourcePolicy = resourcePolicyService.find(context.getSession(), id); if (resourcePolicy == null) { throw new ResourceNotFoundException( ResourcePolicyRest.CATEGORY + "." + ResourcePolicyRest.NAME + " with id: " + id + " not found"); @@ -312,7 +315,7 @@ protected void delete(Context context, Integer id) throws AuthorizeException { @PreAuthorize("hasPermission(#id, 'resourcepolicy', 'ADMIN')") protected void patch(Context context, HttpServletRequest request, String apiCategory, String model, Integer id, Patch patch) throws RepositoryMethodNotImplementedException, SQLException, AuthorizeException { - ResourcePolicy resourcePolicy = resourcePolicyService.find(context, id); + ResourcePolicy resourcePolicy = resourcePolicyService.find(context.getSession(), id); if (resourcePolicy == null) { throw new ResourceNotFoundException( ResourcePolicyRest.CATEGORY + "." + ResourcePolicyRest.NAME + " with id: " + id + " not found"); diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/SupervisionOrderRestRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/SupervisionOrderRestRepository.java index f07121f26bdb..5a5e375cb3a4 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/SupervisionOrderRestRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/SupervisionOrderRestRepository.java @@ -77,7 +77,7 @@ public class SupervisionOrderRestRepository extends DSpaceRestRepository stringList) if (Objects.nonNull(versionHistory)) { Version lastVersion = versionHistoryService.getLatestVersion(context, versionHistory); if (Objects.nonNull(lastVersion)) { - workflowItem = workflowItemService.findByItem(context, lastVersion.getItem()); - workspaceItem = workspaceItemService.findByItem(context, lastVersion.getItem()); + workflowItem = workflowItemService.findByItem(context.getSession(), lastVersion.getItem()); + workspaceItem = workspaceItemService.findByItem(context.getSession(), lastVersion.getItem()); } } else { - workflowItem = workflowItemService.findByItem(context, item); - workspaceItem = workspaceItemService.findByItem(context, item); + workflowItem = workflowItemService.findByItem(context.getSession(), item); + workspaceItem = workspaceItemService.findByItem(context.getSession(), item); } if (Objects.nonNull(workflowItem) || Objects.nonNull(workspaceItem)) { diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/VersionsLinkRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/VersionsLinkRepository.java index 2538b51cf16a..5c6dd080155c 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/VersionsLinkRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/VersionsLinkRepository.java @@ -61,7 +61,7 @@ public Page getVersions(@Nullable HttpServletRequest request, Context context = obtainContext(); int total = 0; - VersionHistory versionHistory = versionHistoryService.find(context, versionHistoryId); + VersionHistory versionHistory = versionHistoryService.find(context.getSession(), versionHistoryId); if (versionHistory == null) { throw new ResourceNotFoundException("The versionHistory with ID: " + versionHistoryId + " couldn't be found"); diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/WorkflowItemRestRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/WorkflowItemRestRepository.java index 7470dc32b31e..1eb954192794 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/WorkflowItemRestRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/WorkflowItemRestRepository.java @@ -120,7 +120,7 @@ public WorkflowItemRestRepository() throws SubmissionConfigReaderException { public WorkflowItemRest findOne(Context context, Integer id) { XmlWorkflowItem witem = null; try { - witem = wis.find(context, id); + witem = wis.find(context.getSession(), id); } catch (SQLException e) { throw new RuntimeException(e.getMessage(), e); } @@ -135,7 +135,8 @@ public WorkflowItemRest findOne(Context context, Integer id) { public Page findAll(Context context, Pageable pageable) { try { long total = wis.countAll(context); - List witems = wis.findAll(context, pageable.getPageNumber(), pageable.getPageSize()); + List witems = wis.findAll(context.getSession(), + pageable.getPageNumber(), pageable.getPageSize()); return converter.toRestPage(witems, pageable, total, utils.obtainProjection()); } catch (SQLException e) { throw new RuntimeException("SQLException in " + this.getClass() + "#findAll trying to retrieve all " + @@ -150,7 +151,7 @@ public Page findBySubmitter(@Parameter(value = "uuid") UUID su Context context = obtainContext(); EPerson ep = epersonService.find(context.getSession(), submitterID); long total = wis.countBySubmitter(context, ep); - List witems = wis.findBySubmitter(context, ep, pageable.getPageNumber(), + List witems = wis.findBySubmitter(context.getSession(), ep, pageable.getPageNumber(), pageable.getPageSize()); return converter.toRestPage(witems, pageable, total, utils.obtainProjection()); } catch (SQLException e) { @@ -194,7 +195,7 @@ public WorkflowItemRest upload(HttpServletRequest request, String apiCategory, S Context context = obtainContext(); WorkflowItemRest wsi = findOne(context, id); - XmlWorkflowItem source = wis.find(context, id); + XmlWorkflowItem source = wis.find(context.getSession(), id); this.checkIfEditMetadataAllowedInCurrentStep(context, source); List errors = submissionService.uploadFileToInprogressSubmission(context, request, wsi, source, @@ -214,7 +215,7 @@ public void patch(Context context, HttpServletRequest request, String apiCategor Patch patch) throws SQLException, AuthorizeException { List operations = patch.getOperations(); WorkflowItemRest wsi = findOne(context, id); - XmlWorkflowItem source = wis.find(context, id); + XmlWorkflowItem source = wis.find(context.getSession(), id); this.checkIfEditMetadataAllowedInCurrentStep(context, source); @@ -240,7 +241,7 @@ public void patch(Context context, HttpServletRequest request, String apiCategor protected void delete(Context context, Integer id) { XmlWorkflowItem witem = null; try { - witem = wis.find(context, id); + witem = wis.find(context.getSession(), id); if (witem == null) { throw new ResourceNotFoundException("WorkflowItem ID " + id + " not found"); } @@ -264,8 +265,8 @@ protected void delete(Context context, Integer id) { */ private void checkIfEditMetadataAllowedInCurrentStep(Context context, XmlWorkflowItem xmlWorkflowItem) { try { - ClaimedTask claimedTask = claimedTaskService.findByWorkflowIdAndEPerson(context, xmlWorkflowItem, - context.getCurrentUser()); + ClaimedTask claimedTask = claimedTaskService.findByWorkflowIdAndEPerson(context.getSession(), + xmlWorkflowItem, context.getCurrentUser()); if (claimedTask == null) { throw new UnprocessableEntityException("WorkflowItem with id " + xmlWorkflowItem.getID() + " has not been claimed yet."); @@ -301,7 +302,7 @@ public WorkflowItemRest findByItemUuid(@Parameter(value = "uuid", required = tru try { Context context = obtainContext(); Item item = itemService.find(context.getSession(), itemUuid); - XmlWorkflowItem xmlWorkflowItem = wis.findByItem(context, item); + XmlWorkflowItem xmlWorkflowItem = wis.findByItem(context.getSession(), item); if (xmlWorkflowItem == null) { return null; } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/WorkflowItemStepLinkRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/WorkflowItemStepLinkRepository.java index 30aac1579c79..6993a0acd0cf 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/WorkflowItemStepLinkRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/WorkflowItemStepLinkRepository.java @@ -63,12 +63,12 @@ public WorkflowStepRest getStep(@Nullable HttpServletRequest request, Context context = obtainContext(); try { - XmlWorkflowItem xmlWorkflowItem = xmlWorkflowItemService.find(context, workflowItemId); + XmlWorkflowItem xmlWorkflowItem = xmlWorkflowItemService.find(context.getSession(), workflowItemId); if (xmlWorkflowItem == null) { throw new ResourceNotFoundException("XmlWorkflowItem with id: " + workflowItemId + " wasn't found"); } List poolTasks = poolTaskService.find(context, xmlWorkflowItem); - List claimedTasks = claimedTaskService.find(context, xmlWorkflowItem); + List claimedTasks = claimedTaskService.find(context.getSession(), xmlWorkflowItem); for (PoolTask poolTask : poolTasks) { return converter.toRest(xmlWorkflowFactory.getStepByName(poolTask.getStepID()), projection); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/WorkspaceItemRestRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/WorkspaceItemRestRepository.java index 43213a4c29db..58ac7c6f264a 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/WorkspaceItemRestRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/WorkspaceItemRestRepository.java @@ -127,7 +127,7 @@ public WorkspaceItemRestRepository() throws SubmissionConfigReaderException { public WorkspaceItemRest findOne(Context context, Integer id) { WorkspaceItem witem = null; try { - witem = wis.find(context, id); + witem = wis.find(context.getSession(), id); } catch (SQLException e) { throw new RuntimeException(e.getMessage(), e); } @@ -142,7 +142,7 @@ public WorkspaceItemRest findOne(Context context, Integer id) { public Page findAll(Context context, Pageable pageable) { try { long total = wis.countTotal(context); - List witems = wis.findAll(context, pageable.getPageSize(), + List witems = wis.findAll(context.getSession(), pageable.getPageSize(), Math.toIntExact(pageable.getOffset())); return converter.toRestPage(witems, pageable, total, utils.obtainProjection()); } catch (SQLException e) { @@ -158,7 +158,7 @@ public Page findBySubmitter(@Parameter(value = "uuid", requir Context context = obtainContext(); EPerson ep = epersonService.find(context.getSession(), submitterID); long total = wis.countByEPerson(context, ep); - List witems = wis.findByEPerson(context, ep, pageable.getPageSize(), + List witems = wis.findByEPerson(context.getSession(), ep, pageable.getPageSize(), Math.toIntExact(pageable.getOffset())); return converter.toRestPage(witems, pageable, total, utils.obtainProjection()); } catch (SQLException e) { @@ -184,7 +184,7 @@ public WorkspaceItemRest upload(HttpServletRequest request, String apiCategory, Context context = obtainContext(); WorkspaceItemRest wsi = findOne(context, id); - WorkspaceItem source = wis.find(context, id); + WorkspaceItem source = wis.find(context.getSession(), id); List errors = submissionService.uploadFileToInprogressSubmission(context, request, wsi, source, file); wsi = converter.toRest(source, utils.obtainProjection()); @@ -203,7 +203,7 @@ public void patch(Context context, HttpServletRequest request, String apiCategor Patch patch) throws SQLException, AuthorizeException { List operations = patch.getOperations(); WorkspaceItemRest wsi = findOne(context, id); - WorkspaceItem source = wis.find(context, id); + WorkspaceItem source = wis.find(context.getSession(), id); for (Operation op : operations) { //the value in the position 0 is a null value String[] path = op.getPath().substring(1).split("/", 3); @@ -223,7 +223,7 @@ public void patch(Context context, HttpServletRequest request, String apiCategor protected void delete(Context context, Integer id) throws AuthorizeException { WorkspaceItem witem = null; try { - witem = wis.find(context, id); + witem = wis.find(context.getSession(), id); wis.deleteAll(context, witem); context.addEvent(new Event(Event.DELETE, Constants.ITEM, witem.getItem().getID(), null, itemService.getIdentifiers(context, witem.getItem()))); @@ -346,7 +346,7 @@ public WorkspaceItemRest findByItemUuid(@Parameter(value = "uuid", required = tr try { Context context = obtainContext(); Item item = itemService.find(context.getSession(), itemUuid); - WorkspaceItem workspaceItem = wis.findByItem(context, item); + WorkspaceItem workspaceItem = wis.findByItem(context.getSession(), item); if (workspaceItem == null) { return null; } @@ -361,7 +361,7 @@ public WorkspaceItemRest findByItemUuid(@Parameter(value = "uuid", required = tr @Override public WorkspaceItem findDomainObjectByPk(Context context, Integer id) throws SQLException { - return wis.find(context, id); + return wis.find(context.getSession(), id); } @Override diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/WorkspaceItemSupervisionOrdersLinkRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/WorkspaceItemSupervisionOrdersLinkRepository.java index e0d57ae0de52..a29924588037 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/WorkspaceItemSupervisionOrdersLinkRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/WorkspaceItemSupervisionOrdersLinkRepository.java @@ -47,7 +47,7 @@ public Page getSupervisionOrders(@Nullable HttpServletRequ Projection projection) { try { Context context = obtainContext(); - WorkspaceItem workspaceItem = workspaceItemService.find(context, id); + WorkspaceItem workspaceItem = workspaceItemService.find(context.getSession(), id); if (workspaceItem == null) { throw new ResourceNotFoundException("No such workspace item: " + id); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/handler/ExternalSourceEntryPoolTaskUriListHandler.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/handler/ExternalSourceEntryPoolTaskUriListHandler.java index 4ed438f93be5..c827943f9628 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/handler/ExternalSourceEntryPoolTaskUriListHandler.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/handler/ExternalSourceEntryPoolTaskUriListHandler.java @@ -22,7 +22,7 @@ /** * This class extends the {@link ExternalSourceEntryItemUriListHandler} abstract class and implements it specifically - * for the List objects. + * for the {@code List} objects. * * @author Mykhaylo Boychuk (mykhaylo.boychuk at 4science.it) */ @@ -66,7 +66,7 @@ private PoolTask getObjectFromUriList(Context context, List uriList) { String id = matcher.group(1); int poolTaskId = Integer.parseInt(id); try { - poolTask = poolTaskService.find(context, poolTaskId); + poolTask = poolTaskService.find(context.getSession(), poolTaskId); } catch (SQLException e) { throw new RuntimeException(e.getMessage(), e); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/ClaimedTaskRestPermissionEvaluatorPlugin.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/ClaimedTaskRestPermissionEvaluatorPlugin.java index 1741d94ea834..7daa409cf1e8 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/ClaimedTaskRestPermissionEvaluatorPlugin.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/ClaimedTaskRestPermissionEvaluatorPlugin.java @@ -63,7 +63,7 @@ public boolean hasDSpacePermission(Authentication authentication, Serializable t return false; } int dsoId = Integer.parseInt(targetId.toString()); - ClaimedTask claimedTask = claimedTaskService.find(context, dsoId); + ClaimedTask claimedTask = claimedTaskService.find(context.getSession(), dsoId); // If the claimed task is null then we give permission so we can throw another status code instead if (claimedTask == null) { return true; diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/ExtractorOfAInprogressSubmissionInformations.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/ExtractorOfAInprogressSubmissionInformations.java index ca33f0e07c63..9e459176176a 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/ExtractorOfAInprogressSubmissionInformations.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/ExtractorOfAInprogressSubmissionInformations.java @@ -73,14 +73,16 @@ public Integer getAInprogressSubmissionID(@Nullable HttpServletRequest request, Context context = getContext(request); if (Objects.nonNull(versionHistoryId)) { try { - VersionHistory versionHistory = versionHistoryService.find(context, versionHistoryId); + VersionHistory versionHistory = versionHistoryService.find(context.getSession(), versionHistoryId); if (Objects.nonNull(versionHistory)) { Version oldestVersion = versionHistoryService.getLatestVersion(context, versionHistory); - WorkspaceItem workspaceItem = workspaceItemService.findByItem(context, oldestVersion.getItem()); + WorkspaceItem workspaceItem + = workspaceItemService.findByItem(context.getSession(), oldestVersion.getItem()); if (Objects.nonNull(workspaceItem)) { return workspaceItem.getID(); } - WorkflowItem workflowItem = workflowItemService.findByItem(context, oldestVersion.getItem()); + WorkflowItem workflowItem + = workflowItemService.findByItem(context.getSession(), oldestVersion.getItem()); if (Objects.nonNull(workflowItem)) { return workflowItem.getID(); } @@ -105,13 +107,15 @@ public String getAInprogressSubmissionTarget(@Nullable HttpServletRequest reques Context context = getContext(request); if (Objects.nonNull(versionHistoryId)) { try { - VersionHistory versionHistory = versionHistoryService.find(context, versionHistoryId); + VersionHistory versionHistory = versionHistoryService.find(context.getSession(), versionHistoryId); if (Objects.nonNull(versionHistory)) { Version oldestVersion = versionHistoryService.getLatestVersion(context, versionHistory); - if (Objects.nonNull(workspaceItemService.findByItem(context, oldestVersion.getItem()))) { + if (Objects.nonNull(workspaceItemService.findByItem(context.getSession(), + oldestVersion.getItem()))) { return WorkspaceItemRest.NAME; } - if (Objects.nonNull(workflowItemService.findByItem(context, oldestVersion.getItem()))) { + if (Objects.nonNull(workflowItemService.findByItem(context.getSession(), + oldestVersion.getItem()))) { return WorkflowItemRest.NAME; } } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/PoolTaskRestPermissionEvaluatorPlugin.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/PoolTaskRestPermissionEvaluatorPlugin.java index d145dae44998..793caf3cf650 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/PoolTaskRestPermissionEvaluatorPlugin.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/PoolTaskRestPermissionEvaluatorPlugin.java @@ -66,7 +66,7 @@ public boolean hasDSpacePermission(Authentication authentication, Serializable t } int dsoId = Integer.parseInt(targetId.toString()); - PoolTask poolTask = poolTaskService.find(context, dsoId); + PoolTask poolTask = poolTaskService.find(context.getSession(), dsoId); // If the pool task is null then we give permission so we can throw another status code instead if (poolTask == null) { return true; diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/ResourcePolicyAdminPermissionEvalutatorPlugin.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/ResourcePolicyAdminPermissionEvalutatorPlugin.java index 421d25f9406d..e3d8a5b0cf20 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/ResourcePolicyAdminPermissionEvalutatorPlugin.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/ResourcePolicyAdminPermissionEvalutatorPlugin.java @@ -65,7 +65,7 @@ public boolean hasDSpacePermission(Authentication authentication, Serializable t try { int resourcePolicyID = Integer.parseInt(targetId.toString()); - ResourcePolicy resourcePolicy = resourcePolicyService.find(context, resourcePolicyID); + ResourcePolicy resourcePolicy = resourcePolicyService.find(context.getSession(), resourcePolicyID); if (resourcePolicy == null) { throw new ResourceNotFoundException( ResourcePolicyRest.CATEGORY + "." + ResourcePolicyRest.NAME + diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/WorkflowRestPermissionEvaluatorPlugin.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/WorkflowRestPermissionEvaluatorPlugin.java index 626290fdc3bb..fd89a82851c8 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/WorkflowRestPermissionEvaluatorPlugin.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/WorkflowRestPermissionEvaluatorPlugin.java @@ -80,7 +80,7 @@ public boolean hasDSpacePermission(Authentication authentication, Serializable t return false; } int dsoId = Integer.parseInt(targetId.toString()); - XmlWorkflowItem workflowItem = workflowItemService.find(context, dsoId); + XmlWorkflowItem workflowItem = workflowItemService.find(context.getSession(), dsoId); // submitter can see their inprogress submission if (ePerson.equals(workflowItem.getSubmitter())) { return true; @@ -90,7 +90,7 @@ public boolean hasDSpacePermission(Authentication authentication, Serializable t return true; } - if (claimedTaskService.findByWorkflowIdAndEPerson(context, workflowItem, ePerson) != null) { + if (claimedTaskService.findByWorkflowIdAndEPerson(context.getSession(), workflowItem, ePerson) != null) { return true; } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/WorkspaceItemRestPermissionEvaluatorPlugin.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/WorkspaceItemRestPermissionEvaluatorPlugin.java index c0efbd60f204..ea2f35dc3144 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/WorkspaceItemRestPermissionEvaluatorPlugin.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/WorkspaceItemRestPermissionEvaluatorPlugin.java @@ -77,7 +77,7 @@ public boolean hasDSpacePermission(Authentication authentication, Serializable t return false; } - witem = wis.find(context, dsoId); + witem = wis.find(context.getSession(), dsoId); // If the dso is null then we give permission so we can throw another status // code instead diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/submit/SubmissionService.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/submit/SubmissionService.java index 791685f3b8a8..ec6087dae0ea 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/submit/SubmissionService.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/submit/SubmissionService.java @@ -250,7 +250,7 @@ public XmlWorkflowItem createWorkflowItem(Context context, String requestUriList int id = 0; try { id = Integer.parseInt(split[1]); - wsi = workspaceItemService.find(context, id); + wsi = workspaceItemService.find(context.getSession(), id); } catch (NumberFormatException e) { throw new UnprocessableEntityException("The provided workspaceitem URI is not valid", e); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/submit/factory/impl/AccessConditionRemovePatchOperation.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/submit/factory/impl/AccessConditionRemovePatchOperation.java index 61ed7e28c9ac..1fd74fe92032 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/submit/factory/impl/AccessConditionRemovePatchOperation.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/submit/factory/impl/AccessConditionRemovePatchOperation.java @@ -22,7 +22,7 @@ /** * Submission "remove" operation to remove custom resource policies. - * + * * @author Mykhaylo Boychuk (mykhaylo.boychuk at 4science.com) */ public class AccessConditionRemovePatchOperation extends RemovePatchOperation { @@ -54,7 +54,8 @@ void remove(Context context, HttpServletRequest currentRequest, InProgressSubmis throw new UnprocessableEntityException("The provided index format is not correct! Must be a number!"); } - List policies = resourcePolicyService.find(context, item, ResourcePolicy.TYPE_CUSTOM); + List policies = resourcePolicyService.find(context.getSession(), + item, ResourcePolicy.TYPE_CUSTOM); if (idxToDelete < 0 || idxToDelete >= policies.size()) { throw new UnprocessableEntityException("The provided index:" + idxToDelete + " is not supported," + " currently the are " + policies.size() + " access conditions"); diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/submit/factory/impl/AccessConditionReplacePatchOperation.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/submit/factory/impl/AccessConditionReplacePatchOperation.java index d2529cbca303..392b35ec8a83 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/submit/factory/impl/AccessConditionReplacePatchOperation.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/submit/factory/impl/AccessConditionReplacePatchOperation.java @@ -67,7 +67,8 @@ void replace(Context context, HttpServletRequest currentRequest, InProgressSubmi } catch (NumberFormatException e) { throw new UnprocessableEntityException("The provided index format is not correct! Must be a number!"); } - List policies = resourcePolicyService.find(context, item, ResourcePolicy.TYPE_CUSTOM); + List policies = resourcePolicyService.find(context.getSession(), + item, ResourcePolicy.TYPE_CUSTOM); if (idxToReplace < 0 || idxToReplace >= policies.size()) { throw new UnprocessableEntityException("The provided index:" + idxToReplace + " is not supported," + " currently the are " + policies.size() + " access conditions"); diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/submit/factory/impl/BitstreamResourcePolicyRemovePatchOperation.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/submit/factory/impl/BitstreamResourcePolicyRemovePatchOperation.java index e936b0b0c7e9..6d552c24a767 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/submit/factory/impl/BitstreamResourcePolicyRemovePatchOperation.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/submit/factory/impl/BitstreamResourcePolicyRemovePatchOperation.java @@ -61,7 +61,7 @@ void remove(Context context, HttpServletRequest currentRequest, InProgressSubmis ResourcePolicy.TYPE_CUSTOM); } else { String rpIdx = split[3]; - List policies = resourcePolicyService.find(context, b, + List policies = resourcePolicyService.find(context.getSession(), b, ResourcePolicy.TYPE_CUSTOM); int index = 0; for (ResourcePolicy policy : policies) { diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/submit/factory/impl/ItemMetadataValueAddPatchOperation.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/submit/factory/impl/ItemMetadataValueAddPatchOperation.java index e749c4e79328..b20a7374c0c4 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/submit/factory/impl/ItemMetadataValueAddPatchOperation.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/submit/factory/impl/ItemMetadataValueAddPatchOperation.java @@ -130,6 +130,7 @@ void add(Context context, HttpServletRequest currentRequest, InProgressSubmissio } + @Override protected void replaceValue(Context context, Item source, String target, List list) throws SQLException { String[] metadata = Utils.tokenize(target); @@ -192,11 +193,11 @@ protected void replaceValue(Context context, Item source, String target, List preExistentRelationships(Context context, List preExistentMetadata) throws SQLException { - Map relationshipsMap = new HashMap(); + Map relationshipsMap = new HashMap<>(); for (MetadataValue ll : preExistentMetadata) { if (ll instanceof RelationshipMetadataValue) { Relationship relationship = relationshipService - .find(context, ((RelationshipMetadataValue) ll).getRelationshipId()); + .find(context.getSession(), ((RelationshipMetadataValue) ll).getRelationshipId()); if (relationship != null) { relationshipsMap.put(relationship.getID(), relationship); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/utils/Utils.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/utils/Utils.java index b9ea99f9fa2c..ee5b3b407080 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/utils/Utils.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/utils/Utils.java @@ -456,7 +456,7 @@ public List constructBitstreamFormatList(HttpServletRequest req }) .map(id -> { try { - return bitstreamFormatService.find(context, parseInt(id)); + return bitstreamFormatService.find(context.getSession(), parseInt(id)); } catch (SQLException | NumberFormatException e) { log.error("Could not find bitstream format for id: " + id, e); return null; diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/BitstreamRestControllerIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/BitstreamRestControllerIT.java index 4813cc659694..1a6162f433de 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/BitstreamRestControllerIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/BitstreamRestControllerIT.java @@ -152,7 +152,7 @@ public void setUp() throws Exception { .withFormat("test format") .build(); - unknownFormat = bitstreamFormatService.findUnknown(context); + unknownFormat = bitstreamFormatService.findUnknown(context.getSession()); knownFormat = createBitstreamFormat(context) .withMimeType("known test mime type") diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/BitstreamRestRepositoryIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/BitstreamRestRepositoryIT.java index 9fe23a2dadd5..80bf2c8a81be 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/BitstreamRestRepositoryIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/BitstreamRestRepositoryIT.java @@ -346,7 +346,7 @@ public void findOneBitstreamFormatTest_EmbargoedBitstream_Anon() throws Exceptio // a public item with an embargoed bitstream String bitstreamContent = "Embargoed!"; - BitstreamFormat bitstreamFormat = bitstreamFormatService.findByMIMEType(context, "text/plain"); + BitstreamFormat bitstreamFormat = bitstreamFormatService.findByMIMEType(context.getSession(), "text/plain"); Item publicItem1; Bitstream bitstream; @@ -459,7 +459,7 @@ public void findOneBitstreamFormatTest_NoReadPolicyOnBitstream_Anon() throws Exc String bitstreamContent = "ThisIsSomeDummyText"; - BitstreamFormat bitstreamFormat = bitstreamFormatService.findByMIMEType(context, "text/plain"); + BitstreamFormat bitstreamFormat = bitstreamFormatService.findByMIMEType(context.getSession(), "text/plain"); //Add a bitstream to an item Bitstream bitstream = null; @@ -560,7 +560,7 @@ public void findOneBitstreamFormatTest_EmbargoedBitstream_NoREADRightsOnBundle() // a public item with an embargoed bitstream String bitstreamContent = "Embargoed!"; - BitstreamFormat bitstreamFormat = bitstreamFormatService.findByMIMEType(context, "text/plain"); + BitstreamFormat bitstreamFormat = bitstreamFormatService.findByMIMEType(context.getSession(), "text/plain"); Item publicItem1; Bitstream bitstream; @@ -684,7 +684,7 @@ public void findOneBitstreamFormatTest_EmbargoedBitstream_ePersonREADRightsOnBun // a public item with an embargoed bitstream String bitstreamContent = "Embargoed!"; - BitstreamFormat bitstreamFormat = bitstreamFormatService.findByMIMEType(context, "text/plain"); + BitstreamFormat bitstreamFormat = bitstreamFormatService.findByMIMEType(context.getSession(), "text/plain"); Item publicItem1; Bitstream bitstream; diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/DiscoveryVersioningIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/DiscoveryVersioningIT.java index edeaa21220a9..b94cdc410be6 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/DiscoveryVersioningIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/DiscoveryVersioningIT.java @@ -253,7 +253,7 @@ protected Item createNewVersion(Item currentItem, String newTitle, Boolean isDis context.commit(); // archive the new version, this implies that VersioningConsumer will unarchive the previous version - installItemService.installItem(context, workspaceItemService.findByItem(context, newItem)); + installItemService.installItem(context, workspaceItemService.findByItem(context.getSession(), newItem)); context.commit(); indexingService.commit(); @@ -1207,7 +1207,7 @@ public void test_reindexAfterUpdatingLatestVersionStatus() throws Exception { context.commit(); indexingService.commit(); Assert.assertNotEquals(pub1_1, pub1_2); - installItemService.installItem(context, workspaceItemService.findByItem(context, pub1_2)); + installItemService.installItem(context, workspaceItemService.findByItem(context.getSession(), pub1_2)); context.commit(); indexingService.commit(); context.restoreAuthSystemState(); @@ -1514,7 +1514,7 @@ public void test_reindexAfterUpdatingLatestVersionStatus() throws Exception { // archive project 1.2 context.turnOffAuthorisationSystem(); - installItemService.installItem(context, workspaceItemService.findByItem(context, pro1_2)); + installItemService.installItem(context, workspaceItemService.findByItem(context.getSession(), pro1_2)); context.commit(); indexingService.commit(); context.restoreAuthSystemState(); @@ -1794,7 +1794,7 @@ public void test_forceReindexAfterNewVersionInWorkspace() throws Exception { context.commit(); indexingService.commit(); Assert.assertNotEquals(pub1_1, pub1_2); - installItemService.installItem(context, workspaceItemService.findByItem(context, pub1_2)); + installItemService.installItem(context, workspaceItemService.findByItem(context.getSession(), pub1_2)); context.commit(); indexingService.commit(); context.restoreAuthSystemState(); @@ -2108,7 +2108,7 @@ public void test_forceReindexAfterNewVersionInWorkspace() throws Exception { // archive project 1.2 context.turnOffAuthorisationSystem(); - installItemService.installItem(context, workspaceItemService.findByItem(context, pro1_2)); + installItemService.installItem(context, workspaceItemService.findByItem(context.getSession(), pro1_2)); context.commit(); indexingService.commit(); context.restoreAuthSystemState(); diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/EPersonRestRepositoryIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/EPersonRestRepositoryIT.java index e223e3989a58..603300c5c754 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/EPersonRestRepositoryIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/EPersonRestRepositoryIT.java @@ -202,7 +202,7 @@ public void testCreateWithInvalidPassword() throws Exception { context.turnOffAuthorisationSystem(); accountService.sendRegistrationInfo(context, "test@fake-email.com"); - String token = registrationDataService.findByEmail(context, "test@fake-email.com").getToken(); + String token = registrationDataService.findByEmail(context.getSession(), "test@fake-email.com").getToken(); context.restoreAuthSystemState(); String ePersonData = "{" + @@ -2104,7 +2104,8 @@ public void patchReplacePasswordWithToken() throws Exception { String patchBody = buildPasswordAddOperationPatchBody(newPassword, null); accountService.sendRegistrationInfo(context, ePerson.getEmail()); - String tokenForEPerson = registrationDataService.findByEmail(context, ePerson.getEmail()).getToken(); + String tokenForEPerson = registrationDataService.findByEmail(context.getSession(), ePerson.getEmail()) + .getToken(); PasswordHash oldPassword = ePersonService.getPasswordHash(ePerson); // updates password getClient().perform(patch("/api/eperson/epersons/" + ePerson.getID()) @@ -2115,9 +2116,9 @@ public void patchReplacePasswordWithToken() throws Exception { PasswordHash newPasswordHash = ePersonService.getPasswordHash(ePerson); assertNotEquals(oldPassword, newPasswordHash); - assertTrue(registrationDataService.findByEmail(context, ePerson.getEmail()) == null); + assertTrue(registrationDataService.findByEmail(context.getSession(), ePerson.getEmail()) == null); - assertNull(registrationDataService.findByToken(context, tokenForEPerson)); + assertNull(registrationDataService.findByToken(context.getSession(), tokenForEPerson)); } @@ -2138,7 +2139,8 @@ public void patchReplacePasswordWithRandomTokenPatchFail() throws Exception { String patchBody = buildPasswordAddOperationPatchBody(newPassword, null); accountService.sendRegistrationInfo(context, ePerson.getEmail()); - String tokenForEPerson = registrationDataService.findByEmail(context, ePerson.getEmail()).getToken(); + String tokenForEPerson = registrationDataService.findByEmail(context.getSession(), ePerson.getEmail()) + .getToken(); PasswordHash oldPassword = ePersonService.getPasswordHash(ePerson); // updates password getClient().perform(patch("/api/eperson/epersons/" + ePerson.getID()) @@ -2149,8 +2151,9 @@ public void patchReplacePasswordWithRandomTokenPatchFail() throws Exception { PasswordHash newPasswordHash = ePersonService.getPasswordHash(ePerson); assertEquals(oldPassword.getHashString(),newPasswordHash.getHashString()); - assertNotNull(registrationDataService.findByEmail(context, ePerson.getEmail())); - assertEquals(registrationDataService.findByEmail(context, ePerson.getEmail()).getToken(), tokenForEPerson); + assertNotNull(registrationDataService.findByEmail(context.getSession(), ePerson.getEmail())); + assertEquals(registrationDataService.findByEmail(context.getSession(), ePerson.getEmail()).getToken(), + tokenForEPerson); context.turnOffAuthorisationSystem(); registrationDataService.deleteByToken(context, tokenForEPerson); @@ -2182,8 +2185,10 @@ public void patchReplacePasswordWithOtherUserTokenFail() throws Exception { accountService.sendRegistrationInfo(context, ePerson.getEmail()); accountService.sendRegistrationInfo(context, ePersonTwo.getEmail()); - String tokenForEPerson = registrationDataService.findByEmail(context, ePerson.getEmail()).getToken(); - String tokenForEPersonTwo = registrationDataService.findByEmail(context, ePersonTwo.getEmail()).getToken(); + String tokenForEPerson = registrationDataService.findByEmail(context.getSession(), ePerson.getEmail()) + .getToken(); + String tokenForEPersonTwo = registrationDataService.findByEmail(context.getSession(), ePersonTwo.getEmail()) + .getToken(); PasswordHash oldPassword = ePersonService.getPasswordHash(ePerson); // updates password @@ -2195,7 +2200,7 @@ public void patchReplacePasswordWithOtherUserTokenFail() throws Exception { PasswordHash newPasswordHash = ePersonService.getPasswordHash(ePerson); assertEquals(oldPassword.getHashString(),newPasswordHash.getHashString()); - assertNotNull(registrationDataService.findByEmail(context, ePerson.getEmail())); + assertNotNull(registrationDataService.findByEmail(context.getSession(), ePerson.getEmail())); context.turnOffAuthorisationSystem(); registrationDataService.deleteByToken(context, tokenForEPerson); @@ -2218,12 +2223,13 @@ public void patchReplaceEmailWithTokenFail() throws Exception { context.restoreAuthSystemState(); - List ops = new ArrayList(); + List ops = new ArrayList<>(); ReplaceOperation replaceOperation = new ReplaceOperation("/email", newEmail); ops.add(replaceOperation); String patchBody = getPatchContent(ops); accountService.sendRegistrationInfo(context, ePerson.getEmail()); - String tokenForEPerson = registrationDataService.findByEmail(context, ePerson.getEmail()).getToken(); + String tokenForEPerson = registrationDataService.findByEmail(context.getSession(), ePerson.getEmail()) + .getToken(); PasswordHash oldPassword = ePersonService.getPasswordHash(ePerson); // updates password getClient().perform(patch("/api/eperson/epersons/" + ePerson.getID()) @@ -2234,11 +2240,12 @@ public void patchReplaceEmailWithTokenFail() throws Exception { PasswordHash newPasswordHash = ePersonService.getPasswordHash(ePerson); assertEquals(oldPassword.getHashString(),newPasswordHash.getHashString()); - assertNotNull(registrationDataService.findByEmail(context, ePerson.getEmail())); + assertNotNull(registrationDataService.findByEmail(context.getSession(), ePerson.getEmail())); assertEquals(ePerson.getEmail(), originalEmail); context.turnOffAuthorisationSystem(); - registrationDataService.delete(context, registrationDataService.findByEmail(context, ePerson.getEmail())); + registrationDataService.delete(context, + registrationDataService.findByEmail(context.getSession(), ePerson.getEmail())); registrationDataService.deleteByToken(context, tokenForEPerson); context.restoreAuthSystemState(); @@ -2271,7 +2278,8 @@ public void registerNewAccountPatchUpdatePasswordRandomUserUuidFail() throws Exc String patchBody = buildPasswordAddOperationPatchBody(newPassword, null); accountService.sendRegistrationInfo(context, ePerson.getEmail()); - String newRegisterToken = registrationDataService.findByEmail(context, newRegisterEmail).getToken(); + String newRegisterToken = registrationDataService.findByEmail(context.getSession(), newRegisterEmail) + .getToken(); PasswordHash oldPassword = ePersonService.getPasswordHash(ePerson); try { // updates password @@ -2283,11 +2291,12 @@ public void registerNewAccountPatchUpdatePasswordRandomUserUuidFail() throws Exc PasswordHash newPasswordHash = ePersonService.getPasswordHash(ePerson); assertTrue(StringUtils.equalsIgnoreCase(oldPassword.getHashString(),newPasswordHash.getHashString())); - assertFalse(registrationDataService.findByEmail(context, ePerson.getEmail()) == null); - assertFalse(registrationDataService.findByEmail(context, newRegisterEmail) == null); + assertFalse(registrationDataService.findByEmail(context.getSession(), ePerson.getEmail()) == null); + assertFalse(registrationDataService.findByEmail(context.getSession(), newRegisterEmail) == null); } finally { context.turnOffAuthorisationSystem(); - registrationDataService.delete(context, registrationDataService.findByEmail(context, ePerson.getEmail())); + registrationDataService.delete(context, registrationDataService.findByEmail(context.getSession(), + ePerson.getEmail())); registrationDataService.deleteByToken(context, newRegisterToken); context.restoreAuthSystemState(); } @@ -2306,7 +2315,8 @@ public void postEPersonWithTokenWithoutEmailProperty() throws Exception { .contentType(MediaType.APPLICATION_JSON) .content(mapper.writeValueAsBytes(registrationRest))) .andExpect(status().isCreated()); - String newRegisterToken = registrationDataService.findByEmail(context, newRegisterEmail).getToken(); + String newRegisterToken = registrationDataService.findByEmail(context.getSession(), newRegisterEmail) + .getToken(); EPersonRest ePersonRest = new EPersonRest(); MetadataRest metadataRest = new MetadataRest(); @@ -2348,7 +2358,7 @@ public void postEPersonWithTokenWithoutEmailProperty() throws Exception { EPerson createdEPerson = ePersonService.find(context.getSession(), UUID.fromString(epersonUuid)); assertTrue(ePersonService.checkPassword(context, createdEPerson, "somePassword")); - assertNull(registrationDataService.findByToken(context, newRegisterToken)); + assertNull(registrationDataService.findByToken(context.getSession(), newRegisterToken)); } finally { context.turnOffAuthorisationSystem(); @@ -2371,7 +2381,8 @@ public void postEPersonWithTokenWithEmailProperty() throws Exception { .contentType(MediaType.APPLICATION_JSON) .content(mapper.writeValueAsBytes(registrationRest))) .andExpect(status().isCreated()); - String newRegisterToken = registrationDataService.findByEmail(context, newRegisterEmail).getToken(); + String newRegisterToken = registrationDataService.findByEmail(context.getSession(), newRegisterEmail) + .getToken(); EPersonRest ePersonRest = new EPersonRest(); MetadataRest metadataRest = new MetadataRest(); @@ -2410,7 +2421,7 @@ public void postEPersonWithTokenWithEmailProperty() throws Exception { String epersonUuid = String.valueOf(idRef.get()); EPerson createdEPerson = ePersonService.find(context.getSession(), UUID.fromString(epersonUuid)); assertTrue(ePersonService.checkPassword(context, createdEPerson, "somePassword")); - assertNull(registrationDataService.findByToken(context, newRegisterToken)); + assertNull(registrationDataService.findByToken(context.getSession(), newRegisterToken)); } finally { context.turnOffAuthorisationSystem(); @@ -2434,7 +2445,8 @@ public void postEPersonWithTokenWithEmailAndSelfRegisteredProperty() throws Exce .contentType(MediaType.APPLICATION_JSON) .content(mapper.writeValueAsBytes(registrationRest))) .andExpect(status().isCreated()); - String newRegisterToken = registrationDataService.findByEmail(context, newRegisterEmail).getToken(); + String newRegisterToken = registrationDataService.findByEmail(context.getSession(), newRegisterEmail) + .getToken(); EPersonRest ePersonRest = new EPersonRest(); MetadataRest metadataRest = new MetadataRest(); @@ -2477,7 +2489,7 @@ public void postEPersonWithTokenWithEmailAndSelfRegisteredProperty() throws Exce String epersonUuid = String.valueOf(idRef.get()); EPerson createdEPerson = ePersonService.find(context.getSession(), UUID.fromString(epersonUuid)); assertTrue(ePersonService.checkPassword(context, createdEPerson, "somePassword")); - assertNull(registrationDataService.findByToken(context, newRegisterToken)); + assertNull(registrationDataService.findByToken(context.getSession(), newRegisterToken)); } finally { context.turnOffAuthorisationSystem(); @@ -2501,7 +2513,8 @@ public void postEPersonWithTokenWithTwoTokensDifferentEmailProperty() throws Exc .contentType(MediaType.APPLICATION_JSON) .content(mapper.writeValueAsBytes(registrationRest))) .andExpect(status().isCreated()); - String newRegisterToken = registrationDataService.findByEmail(context, newRegisterEmail).getToken(); + String newRegisterToken = registrationDataService.findByEmail(context.getSession(), newRegisterEmail) + .getToken(); String newRegisterEmailTwo = "new-register-two@fake-email.com"; RegistrationRest registrationRestTwo = new RegistrationRest(); @@ -2511,7 +2524,8 @@ public void postEPersonWithTokenWithTwoTokensDifferentEmailProperty() throws Exc .contentType(MediaType.APPLICATION_JSON) .content(mapper.writeValueAsBytes(registrationRestTwo))) .andExpect(status().isCreated()); - String newRegisterTokenTwo = registrationDataService.findByEmail(context, newRegisterEmailTwo).getToken(); + String newRegisterTokenTwo = registrationDataService.findByEmail(context.getSession(), newRegisterEmailTwo) + .getToken(); EPersonRest ePersonRest = new EPersonRest(); @@ -2538,8 +2552,8 @@ public void postEPersonWithTokenWithTwoTokensDifferentEmailProperty() throws Exc EPerson createdEPerson = ePersonService.findByEmail(context, newRegisterEmailTwo); assertNull(createdEPerson); - assertNotNull(registrationDataService.findByToken(context, newRegisterToken)); - assertNotNull(registrationDataService.findByToken(context, newRegisterTokenTwo)); + assertNotNull(registrationDataService.findByToken(context.getSession(), newRegisterToken)); + assertNotNull(registrationDataService.findByToken(context.getSession(), newRegisterTokenTwo)); } finally { context.turnOffAuthorisationSystem(); registrationDataService.deleteByToken(context, newRegisterToken); @@ -2562,8 +2576,8 @@ public void postEPersonWithRandomTokenWithEmailProperty() throws Exception { .contentType(MediaType.APPLICATION_JSON) .content(mapper.writeValueAsBytes(registrationRest))) .andExpect(status().isCreated()); - String newRegisterToken = registrationDataService.findByEmail(context, newRegisterEmail).getToken(); - + String newRegisterToken = registrationDataService.findByEmail(context.getSession(), newRegisterEmail) + .getToken(); EPersonRest ePersonRest = new EPersonRest(); MetadataRest metadataRest = new MetadataRest(); @@ -2589,7 +2603,7 @@ public void postEPersonWithRandomTokenWithEmailProperty() throws Exception { EPerson createdEPerson = ePersonService.findByEmail(context, newRegisterEmail); assertNull(createdEPerson); - assertNotNull(registrationDataService.findByToken(context, newRegisterToken)); + assertNotNull(registrationDataService.findByToken(context.getSession(), newRegisterToken)); } finally { context.turnOffAuthorisationSystem(); registrationDataService.deleteByToken(context, newRegisterToken); @@ -2611,8 +2625,8 @@ public void postEPersonWithTokenWithEmailAndSelfRegisteredFalseProperty() throws .contentType(MediaType.APPLICATION_JSON) .content(mapper.writeValueAsBytes(registrationRest))) .andExpect(status().isCreated()); - String newRegisterToken = registrationDataService.findByEmail(context, newRegisterEmail).getToken(); - + String newRegisterToken = registrationDataService.findByEmail(context.getSession(), newRegisterEmail) + .getToken(); EPersonRest ePersonRest = new EPersonRest(); MetadataRest metadataRest = new MetadataRest(); @@ -2639,7 +2653,7 @@ public void postEPersonWithTokenWithEmailAndSelfRegisteredFalseProperty() throws EPerson createdEPerson = ePersonService.findByEmail(context, newRegisterEmail); assertNull(createdEPerson); - assertNotNull(registrationDataService.findByToken(context, newRegisterToken)); + assertNotNull(registrationDataService.findByToken(context.getSession(), newRegisterToken)); } finally { context.turnOffAuthorisationSystem(); registrationDataService.deleteByToken(context, newRegisterToken); @@ -2661,8 +2675,8 @@ public void postEPersonWithTokenWithoutLastNameProperty() throws Exception { .contentType(MediaType.APPLICATION_JSON) .content(mapper.writeValueAsBytes(registrationRest))) .andExpect(status().isCreated()); - String newRegisterToken = registrationDataService.findByEmail(context, newRegisterEmail).getToken(); - + String newRegisterToken = registrationDataService.findByEmail(context.getSession(), newRegisterEmail) + .getToken(); EPersonRest ePersonRest = new EPersonRest(); MetadataRest metadataRest = new MetadataRest(); @@ -2707,7 +2721,7 @@ public void postEPersonWithTokenWithoutLastNameProperty() throws Exception { EPerson createdEPerson = ePersonService.findByEmail(context, newRegisterEmail); assertNull(createdEPerson); - assertNotNull(registrationDataService.findByToken(context, newRegisterToken)); + assertNotNull(registrationDataService.findByToken(context.getSession(), newRegisterToken)); } finally { context.turnOffAuthorisationSystem(); registrationDataService.deleteByToken(context, newRegisterToken); @@ -2729,8 +2743,8 @@ public void postEPersonWithTokenWithoutFirstNameProperty() throws Exception { .contentType(MediaType.APPLICATION_JSON) .content(mapper.writeValueAsBytes(registrationRest))) .andExpect(status().isCreated()); - String newRegisterToken = registrationDataService.findByEmail(context, newRegisterEmail).getToken(); - + String newRegisterToken = registrationDataService.findByEmail(context.getSession(), newRegisterEmail) + .getToken(); EPersonRest ePersonRest = new EPersonRest(); MetadataRest metadataRest = new MetadataRest(); @@ -2776,7 +2790,7 @@ public void postEPersonWithTokenWithoutFirstNameProperty() throws Exception { EPerson createdEPerson = ePersonService.findByEmail(context, newRegisterEmail); assertNull(createdEPerson); - assertNotNull(registrationDataService.findByToken(context, newRegisterToken)); + assertNotNull(registrationDataService.findByToken(context.getSession(), newRegisterToken)); } finally { context.turnOffAuthorisationSystem(); registrationDataService.deleteByToken(context, newRegisterToken); @@ -2798,8 +2812,8 @@ public void postEPersonWithTokenWithoutPasswordProperty() throws Exception { .contentType(MediaType.APPLICATION_JSON) .content(mapper.writeValueAsBytes(registrationRest))) .andExpect(status().isCreated()); - String newRegisterToken = registrationDataService.findByEmail(context, newRegisterEmail).getToken(); - + String newRegisterToken = registrationDataService.findByEmail(context.getSession(), newRegisterEmail) + .getToken(); EPersonRest ePersonRest = new EPersonRest(); MetadataRest metadataRest = new MetadataRest(); @@ -2824,7 +2838,7 @@ public void postEPersonWithTokenWithoutPasswordProperty() throws Exception { EPerson createdEPerson = ePersonService.findByEmail(context, newRegisterEmail); assertNull(createdEPerson); - assertNotNull(registrationDataService.findByToken(context, newRegisterToken)); + assertNotNull(registrationDataService.findByToken(context.getSession(), newRegisterToken)); } finally { context.turnOffAuthorisationSystem(); registrationDataService.deleteByToken(context, newRegisterToken); @@ -2846,8 +2860,8 @@ public void postEPersonWithWrongToken() throws Exception { .contentType(MediaType.APPLICATION_JSON) .content(mapper.writeValueAsBytes(registrationRest))) .andExpect(status().isCreated()); - String forgotPasswordToken = registrationDataService.findByEmail(context, eperson.getEmail()).getToken(); - + String forgotPasswordToken = registrationDataService.findByEmail(context.getSession(), eperson.getEmail()) + .getToken(); EPersonRest ePersonRest = new EPersonRest(); MetadataRest metadataRest = new MetadataRest(); @@ -2873,7 +2887,7 @@ public void postEPersonWithWrongToken() throws Exception { EPerson createdEPerson = ePersonService.findByEmail(context, newEmail); assertNull(createdEPerson); - assertNotNull(registrationDataService.findByToken(context, forgotPasswordToken)); + assertNotNull(registrationDataService.findByToken(context.getSession(), forgotPasswordToken)); } finally { context.turnOffAuthorisationSystem(); registrationDataService.deleteByToken(context, forgotPasswordToken); @@ -2896,8 +2910,8 @@ public void postEPersonWithTokenWithEmailPropertyAnonUser() throws Exception { .contentType(MediaType.APPLICATION_JSON) .content(mapper.writeValueAsBytes(registrationRest))) .andExpect(status().isCreated()); - String newRegisterToken = registrationDataService.findByEmail(context, newRegisterEmail).getToken(); - + String newRegisterToken = registrationDataService.findByEmail(context.getSession(), newRegisterEmail) + .getToken(); EPersonRest ePersonRest = new EPersonRest(); MetadataRest metadataRest = new MetadataRest(); @@ -2938,7 +2952,7 @@ public void postEPersonWithTokenWithEmailPropertyAnonUser() throws Exception { String epersonUuid = String.valueOf(idRef.get()); EPerson createdEPerson = ePersonService.find(context.getSession(), UUID.fromString(epersonUuid)); assertTrue(ePersonService.checkPassword(context, createdEPerson, "somePassword")); - assertNull(registrationDataService.findByToken(context, newRegisterToken)); + assertNull(registrationDataService.findByToken(context.getSession(), newRegisterToken)); } finally { context.turnOffAuthorisationSystem(); registrationDataService.deleteByToken(context, newRegisterToken); @@ -3230,7 +3244,8 @@ public void validatePasswordRobustnessContainingAtLeastAnUpperCaseCharUnprocessa .content(mapper.writeValueAsBytes(registrationRest))) .andExpect(status().isCreated()); - String newRegisterToken = registrationDataService.findByEmail(context, newRegisterEmail).getToken(); + String newRegisterToken = registrationDataService.findByEmail(context.getSession(), newRegisterEmail) + .getToken(); EPersonRest ePersonRest = new EPersonRest(); MetadataRest metadataRest = new MetadataRest(); @@ -3276,7 +3291,8 @@ public void validatePasswordRobustnessContainingAtLeastAnUpperCaseCharTest() thr .content(mapper.writeValueAsBytes(registrationRest))) .andExpect(status().isCreated()); - String newRegisterToken = registrationDataService.findByEmail(context, newRegisterEmail).getToken(); + String newRegisterToken = registrationDataService.findByEmail(context.getSession(), newRegisterEmail) + .getToken(); EPersonRest ePersonRest = new EPersonRest(); MetadataRest metadataRest = new MetadataRest(); @@ -3311,7 +3327,7 @@ public void validatePasswordRobustnessContainingAtLeastAnUpperCaseCharTest() thr EPerson createdEPerson = ePersonService.find(context.getSession(), UUID.fromString(String.valueOf(idRef.get()))); assertTrue(ePersonService.checkPassword(context, createdEPerson, "Lowercasepassword")); - assertNull(registrationDataService.findByToken(context, newRegisterToken)); + assertNull(registrationDataService.findByToken(context.getSession(), newRegisterToken)); } finally { context.turnOffAuthorisationSystem(); registrationDataService.deleteByToken(context, newRegisterToken); diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/EntityTypeLabelRestControllerIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/EntityTypeLabelRestControllerIT.java index e75d639cd744..b1fd4ef09170 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/EntityTypeLabelRestControllerIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/EntityTypeLabelRestControllerIT.java @@ -32,7 +32,7 @@ public class EntityTypeLabelRestControllerIT extends AbstractEntityIntegrationTe @Test public void testGetEntityTypeByLabel_ExistingLabel() throws Exception { String testLabel = "Person"; - EntityType entityType = entityTypeService.findByEntityType(context, testLabel); + EntityType entityType = entityTypeService.findByEntityType(context.getSession(), testLabel); getClient().perform(get("/api/core/entitytypes/label/" + testLabel)) .andExpect(status().isOk()) .andExpect(jsonPath("$.id", is(entityType.getID()))) diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/EntityTypeRestRepositoryIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/EntityTypeRestRepositoryIT.java index 740a2c0dc388..f30475174a9b 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/EntityTypeRestRepositoryIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/EntityTypeRestRepositoryIT.java @@ -57,18 +57,22 @@ public void getAllEntityTypeEndpoint() throws Exception { .andExpect(jsonPath("$._links.self.href", containsString("api/core/entitytypes"))) //We have 4 facets in the default configuration, they need to all be present in the embedded section .andExpect(jsonPath("$._embedded.entitytypes", containsInAnyOrder( - EntityTypeMatcher.matchEntityTypeEntry(entityTypeService.findByEntityType(context, - Constants.ENTITY_TYPE_NONE)), - EntityTypeMatcher - .matchEntityTypeEntry(entityTypeService.findByEntityType(context, "Publication")), - EntityTypeMatcher.matchEntityTypeEntry(entityTypeService.findByEntityType(context, "Person")), - EntityTypeMatcher.matchEntityTypeEntry(entityTypeService.findByEntityType(context, "Project")), - EntityTypeMatcher.matchEntityTypeEntry(entityTypeService.findByEntityType(context, "OrgUnit")), - EntityTypeMatcher.matchEntityTypeEntry(entityTypeService.findByEntityType(context, "Journal")), - EntityTypeMatcher - .matchEntityTypeEntry(entityTypeService.findByEntityType(context, "JournalVolume")), - EntityTypeMatcher - .matchEntityTypeEntry(entityTypeService.findByEntityType(context, "JournalIssue")) + EntityTypeMatcher.matchEntityTypeEntry(entityTypeService.findByEntityType(context.getSession(), + Constants.ENTITY_TYPE_NONE)), + EntityTypeMatcher.matchEntityTypeEntry(entityTypeService.findByEntityType(context.getSession(), + "Publication")), + EntityTypeMatcher.matchEntityTypeEntry(entityTypeService.findByEntityType(context.getSession(), + "Person")), + EntityTypeMatcher.matchEntityTypeEntry(entityTypeService.findByEntityType(context.getSession(), + "Project")), + EntityTypeMatcher.matchEntityTypeEntry(entityTypeService.findByEntityType(context.getSession(), + "OrgUnit")), + EntityTypeMatcher.matchEntityTypeEntry(entityTypeService.findByEntityType(context.getSession(), + "Journal")), + EntityTypeMatcher.matchEntityTypeEntry(entityTypeService.findByEntityType(context.getSession(), + "JournalVolume")), + EntityTypeMatcher.matchEntityTypeEntry(entityTypeService.findByEntityType(context.getSession(), + "JournalIssue")) ))); } @@ -76,50 +80,53 @@ public void getAllEntityTypeEndpoint() throws Exception { public void getAllEntityTypeEndpointWithPaging() throws Exception { getClient().perform(get("/api/core/entitytypes").param("size", "5")) - //We expect a 200 OK status - .andExpect(status().isOk()) - //The type has to be 'discover' - .andExpect(jsonPath("$.page.size", is(5))) - .andExpect(jsonPath("$.page.totalElements", is(8))) - .andExpect(jsonPath("$.page.totalPages", is(2))) - //There needs to be a self link to this endpoint - .andExpect(jsonPath("$._links.self.href", containsString("api/core/entitytypes"))) - //We have 4 facets in the default configuration, they need to all be present in the embedded section - .andExpect(jsonPath("$._embedded.entitytypes", containsInAnyOrder( - EntityTypeMatcher.matchEntityTypeEntry(entityTypeService.findByEntityType(context, "Journal")), - EntityTypeMatcher - .matchEntityTypeEntry(entityTypeService.findByEntityType(context, "JournalIssue")), - EntityTypeMatcher - .matchEntityTypeEntry(entityTypeService.findByEntityType(context, "JournalVolume")), - EntityTypeMatcher.matchEntityTypeEntry(entityTypeService.findByEntityType(context, "OrgUnit")), - EntityTypeMatcher.matchEntityTypeEntry(entityTypeService.findByEntityType(context, "Person")) - ))); + //We expect a 200 OK status + .andExpect(status().isOk()) + //The type has to be 'discover' + .andExpect(jsonPath("$.page.size", is(5))) + .andExpect(jsonPath("$.page.totalElements", is(8))) + .andExpect(jsonPath("$.page.totalPages", is(2))) + //There needs to be a self link to this endpoint + .andExpect(jsonPath("$._links.self.href", containsString("api/core/entitytypes"))) + //We have 4 facets in the default configuration, they need to all be present in the embedded section + .andExpect(jsonPath("$._embedded.entitytypes", containsInAnyOrder( + EntityTypeMatcher.matchEntityTypeEntry(entityTypeService.findByEntityType(context.getSession(), + "Journal")), + EntityTypeMatcher.matchEntityTypeEntry(entityTypeService.findByEntityType(context.getSession(), + "JournalIssue")), + EntityTypeMatcher.matchEntityTypeEntry(entityTypeService.findByEntityType(context.getSession(), + "JournalVolume")), + EntityTypeMatcher.matchEntityTypeEntry(entityTypeService.findByEntityType(context.getSession(), + "OrgUnit")), + EntityTypeMatcher.matchEntityTypeEntry(entityTypeService.findByEntityType(context.getSession(), + "Person")) + ))); getClient().perform(get("/api/core/entitytypes").param("size", "5").param("page", "1")) - //We expect a 200 OK status - .andExpect(status().isOk()) - //The type has to be 'discover' - .andExpect(jsonPath("$.page.size", is(5))) - .andExpect(jsonPath("$.page.totalElements", is(8))) - .andExpect(jsonPath("$.page.totalPages", is(2))) - .andExpect(jsonPath("$.page.number", is(1))) - //There needs to be a self link to this endpoint - .andExpect(jsonPath("$._links.self.href", containsString("api/core/entitytypes"))) - //We have 4 facets in the default configuration, they need to all be present in the embedded section - .andExpect(jsonPath("$._embedded.entitytypes", containsInAnyOrder( - EntityTypeMatcher.matchEntityTypeEntry(entityTypeService.findByEntityType(context, "Project")), - EntityTypeMatcher - .matchEntityTypeEntry(entityTypeService.findByEntityType(context, "Publication")), - EntityTypeMatcher - .matchEntityTypeEntry(entityTypeService.findByEntityType(context, - Constants.ENTITY_TYPE_NONE)) - ))); + //We expect a 200 OK status + .andExpect(status().isOk()) + //The type has to be 'discover' + .andExpect(jsonPath("$.page.size", is(5))) + .andExpect(jsonPath("$.page.totalElements", is(8))) + .andExpect(jsonPath("$.page.totalPages", is(2))) + .andExpect(jsonPath("$.page.number", is(1))) + //There needs to be a self link to this endpoint + .andExpect(jsonPath("$._links.self.href", containsString("api/core/entitytypes"))) + //We have 4 facets in the default configuration, they need to all be present in the embedded section + .andExpect(jsonPath("$._embedded.entitytypes", containsInAnyOrder( + EntityTypeMatcher.matchEntityTypeEntry(entityTypeService.findByEntityType(context.getSession(), + "Project")), + EntityTypeMatcher.matchEntityTypeEntry(entityTypeService.findByEntityType(context.getSession(), + "Publication")), + EntityTypeMatcher.matchEntityTypeEntry(entityTypeService.findByEntityType(context.getSession(), + Constants.ENTITY_TYPE_NONE)) + ))); } @Test public void retrieveOneEntityType() throws Exception { - EntityType entityType = entityTypeService.findByEntityType(context, "Publication"); + EntityType entityType = entityTypeService.findByEntityType(context.getSession(), "Publication"); getClient().perform(get("/api/core/entitytypes/" + entityType.getID())) .andExpect(status().isOk()) .andExpect(jsonPath("$", EntityTypeMatcher.matchEntityTypeEntry(entityType))); @@ -138,10 +145,11 @@ public void findAllPaginationTest() throws Exception { .param("size", "3")) .andExpect(status().isOk()) .andExpect(jsonPath("$._embedded.entitytypes", containsInAnyOrder( - EntityTypeMatcher.matchEntityTypeEntry(entityTypeService.findByEntityType(context, "Journal")), - EntityTypeMatcher.matchEntityTypeEntry(entityTypeService.findByEntityType(context, + EntityTypeMatcher.matchEntityTypeEntry(entityTypeService.findByEntityType(context.getSession(), + "Journal")), + EntityTypeMatcher.matchEntityTypeEntry(entityTypeService.findByEntityType(context.getSession(), "JournalIssue")), - EntityTypeMatcher.matchEntityTypeEntry(entityTypeService.findByEntityType(context, + EntityTypeMatcher.matchEntityTypeEntry(entityTypeService.findByEntityType(context.getSession(), "JournalVolume")) ))) .andExpect(jsonPath("$._links.first.href", Matchers.allOf( @@ -166,9 +174,12 @@ public void findAllPaginationTest() throws Exception { .param("size", "3")) .andExpect(status().isOk()) .andExpect(jsonPath("$._embedded.entitytypes", containsInAnyOrder( - EntityTypeMatcher.matchEntityTypeEntry(entityTypeService.findByEntityType(context, "OrgUnit")), - EntityTypeMatcher.matchEntityTypeEntry(entityTypeService.findByEntityType(context, "Person")), - EntityTypeMatcher.matchEntityTypeEntry(entityTypeService.findByEntityType(context, "Project")) + EntityTypeMatcher.matchEntityTypeEntry(entityTypeService.findByEntityType(context.getSession(), + "OrgUnit")), + EntityTypeMatcher.matchEntityTypeEntry(entityTypeService.findByEntityType(context.getSession(), + "Person")), + EntityTypeMatcher.matchEntityTypeEntry(entityTypeService.findByEntityType(context.getSession(), + "Project")) ))) .andExpect(jsonPath("$._links.first.href", Matchers.allOf( Matchers.containsString("/api/core/entitytypes?"), @@ -194,21 +205,21 @@ public void findAllPaginationTest() throws Exception { @Test public void findEntityTypeWithEmbedRelatioshipTypeTest() throws Exception { - EntityType person = entityTypeService.findByEntityType(context, "Person"); - EntityType orgunit = entityTypeService.findByEntityType(context, "OrgUnit"); - EntityType project = entityTypeService.findByEntityType(context, "Project"); - EntityType publication = entityTypeService.findByEntityType(context, "Publication"); - EntityType journalIssue = entityTypeService.findByEntityType(context, "journalIssue"); + EntityType person = entityTypeService.findByEntityType(context.getSession(), "Person"); + EntityType orgunit = entityTypeService.findByEntityType(context.getSession(), "OrgUnit"); + EntityType project = entityTypeService.findByEntityType(context.getSession(), "Project"); + EntityType publication = entityTypeService.findByEntityType(context.getSession(), "Publication"); + EntityType journalIssue = entityTypeService.findByEntityType(context.getSession(), "journalIssue"); - RelationshipType relationshipType1 = relationshipTypeService.findbyTypesAndTypeName(context, + RelationshipType relationshipType1 = relationshipTypeService.findbyTypesAndTypeName(context.getSession(), publication, person, "isAuthorOfPublication", "isPublicationOfAuthor"); - RelationshipType relationshipType2 = relationshipTypeService.findbyTypesAndTypeName(context, + RelationshipType relationshipType2 = relationshipTypeService.findbyTypesAndTypeName(context.getSession(), publication, project, "isProjectOfPublication", "isPublicationOfProject"); - RelationshipType relationshipType3 = relationshipTypeService.findbyTypesAndTypeName(context, + RelationshipType relationshipType3 = relationshipTypeService.findbyTypesAndTypeName(context.getSession(), publication, orgunit, "isOrgUnitOfPublication", "isPublicationOfOrgUnit"); - RelationshipType relationshipType4 = relationshipTypeService.findbyTypesAndTypeName(context, + RelationshipType relationshipType4 = relationshipTypeService.findbyTypesAndTypeName(context.getSession(), journalIssue, publication, "isPublicationOfJournalIssue", "isJournalIssueOfPublication"); - RelationshipType relationshipType5 = relationshipTypeService.findbyTypesAndTypeName(context, + RelationshipType relationshipType5 = relationshipTypeService.findbyTypesAndTypeName(context.getSession(), publication, orgunit, "isAuthorOfPublication","isPublicationOfAuthor"); getClient().perform(get("/api/core/entitytypes/" + publication.getID()) @@ -262,10 +273,14 @@ public void findAllByAuthorizedCollectionTest() throws Exception { getClient(token).perform(get("/api/core/entitytypes/search/findAllByAuthorizedCollection")) .andExpect(status().isOk()) .andExpect(jsonPath("$._embedded.entitytypes", containsInAnyOrder( - EntityTypeMatcher.matchEntityTypeEntry(entityTypeService.findByEntityType(context, "JournalIssue")), - EntityTypeMatcher.matchEntityTypeEntry(entityTypeService.findByEntityType(context, "Publication")), - EntityTypeMatcher.matchEntityTypeEntry(entityTypeService.findByEntityType(context, "Project")), - EntityTypeMatcher.matchEntityTypeEntry(entityTypeService.findByEntityType(context, "Journal")) + EntityTypeMatcher.matchEntityTypeEntry(entityTypeService.findByEntityType(context.getSession(), + "JournalIssue")), + EntityTypeMatcher.matchEntityTypeEntry(entityTypeService.findByEntityType(context.getSession(), + "Publication")), + EntityTypeMatcher.matchEntityTypeEntry(entityTypeService.findByEntityType(context.getSession(), + "Project")), + EntityTypeMatcher.matchEntityTypeEntry(entityTypeService.findByEntityType(context.getSession(), + "Journal")) ))); } @@ -308,8 +323,10 @@ public void findAllByAuthorizedCollectionPaginationTest() throws Exception { .param("size", "2")) .andExpect(status().isOk()) .andExpect(jsonPath("$._embedded.entitytypes", containsInAnyOrder( - EntityTypeMatcher.matchEntityTypeEntry(entityTypeService.findByEntityType(context, "JournalIssue")), - EntityTypeMatcher.matchEntityTypeEntry(entityTypeService.findByEntityType(context, "Journal")) + EntityTypeMatcher.matchEntityTypeEntry(entityTypeService.findByEntityType(context.getSession(), + "JournalIssue")), + EntityTypeMatcher.matchEntityTypeEntry(entityTypeService.findByEntityType(context.getSession(), + "Journal")) ))) .andExpect(jsonPath("$._links.first.href", Matchers.allOf( Matchers.containsString("api/core/entitytypes/search/findAllByAuthorizedCollection?"), @@ -333,8 +350,10 @@ public void findAllByAuthorizedCollectionPaginationTest() throws Exception { .param("size", "2")) .andExpect(status().isOk()) .andExpect(jsonPath("$._embedded.entitytypes", containsInAnyOrder( - EntityTypeMatcher.matchEntityTypeEntry(entityTypeService.findByEntityType(context, "Publication")), - EntityTypeMatcher.matchEntityTypeEntry(entityTypeService.findByEntityType(context, "Project")) + EntityTypeMatcher.matchEntityTypeEntry(entityTypeService.findByEntityType(context.getSession(), + "Publication")), + EntityTypeMatcher.matchEntityTypeEntry(entityTypeService.findByEntityType(context.getSession(), + "Project")) ))) .andExpect(jsonPath("$._links.first.href", Matchers.allOf( Matchers.containsString("api/core/entitytypes/search/findAllByAuthorizedCollection?"), @@ -358,9 +377,9 @@ public void findAllByAuthorizedCollectionPaginationTest() throws Exception { public void findAllByAuthorizedExternalSource() throws Exception { context.turnOffAuthorisationSystem(); - EntityType publication = entityTypeService.findByEntityType(context, "Publication"); - EntityType orgUnit = entityTypeService.findByEntityType(context, "OrgUnit"); - EntityType project = entityTypeService.findByEntityType(context, "Project"); + EntityType publication = entityTypeService.findByEntityType(context.getSession(), "Publication"); + EntityType orgUnit = entityTypeService.findByEntityType(context.getSession(), "OrgUnit"); + EntityType project = entityTypeService.findByEntityType(context.getSession(), "Project"); EntityType funding = EntityTypeBuilder.createEntityTypeBuilder(context, "Funding").build(); Community rootCommunity = CommunityBuilder.createCommunity(context) diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/InitializeEntitiesIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/InitializeEntitiesIT.java index dff837697561..b6e3f07c8309 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/InitializeEntitiesIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/InitializeEntitiesIT.java @@ -33,7 +33,7 @@ import org.springframework.beans.factory.annotation.Autowired; /** - * This class is used to verify the behavior of the {@link org.dspace.app.util.InitializeEntities} script + * This class is used to verify the behavior of the {@link org.dspace.app.util.InitializeEntities} script. * It will take the relationship-types.xml as initial input and check if all the objects that created properly. * It will then also update and verify these objects by using a second XML to verify the update behaviour * of this script. @@ -71,8 +71,8 @@ public void setup() throws Exception { public void destroy() throws Exception { //Clean up the database for the next test context.turnOffAuthorisationSystem(); - List relationshipTypeList = relationshipTypeService.findAll(context); - List entityTypeList = entityTypeService.findAll(context); + List relationshipTypeList = relationshipTypeService.findAll(context.getSession()); + List entityTypeList = entityTypeService.findAll(context.getSession()); List relationships = relationshipService.findAll(context.getSession()); for (Relationship relationship : relationships) { @@ -99,7 +99,7 @@ public void destroy() throws Exception { */ @Test public void getAllRelationshipTypesTest() throws Exception { - List relationshipTypes = relationshipTypeService.findAll(context); + List relationshipTypes = relationshipTypeService.findAll(context.getSession()); getClient().perform(get("/api/core/relationshiptypes") .param("projection", "full")) @@ -135,7 +135,7 @@ public void getAllRelationshipTypesTest() throws Exception { */ @Test public void updateRelationshipTypesTest() throws Exception { - List relationshipTypes = relationshipTypeService.findAll(context); + List relationshipTypes = relationshipTypeService.findAll(context.getSession()); //Update the relationships using a different test XML with the initialize-entities script String pathToFile = configurationService.getProperty("dspace.dir") + diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/MetadataSchemaRestRepositoryIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/MetadataSchemaRestRepositoryIT.java index 72508a0dad58..1383c9653bcc 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/MetadataSchemaRestRepositoryIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/MetadataSchemaRestRepositoryIT.java @@ -335,7 +335,7 @@ public void findAllPaginationTest() throws Exception { // Determine number of schemas from database int numberOfSchema = ContentServiceFactory.getInstance() - .getMetadataSchemaService().findAll(context).size(); + .getMetadataSchemaService().findAll(context.getSession()).size(); // If we return 6 schema per page, determine number of pages we expect int pageSize = 6; int numberOfPages = (int) Math.ceil((double) numberOfSchema / pageSize); diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/MetadatafieldRestRepositoryIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/MetadatafieldRestRepositoryIT.java index 2758972682f8..00e23ab17e1c 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/MetadatafieldRestRepositoryIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/MetadatafieldRestRepositoryIT.java @@ -71,7 +71,7 @@ public class MetadatafieldRestRepositoryIT extends AbstractControllerIntegration @Before public void setup() throws Exception { - metadataSchema = metadataSchemaService.findAll(context).get(0); + metadataSchema = metadataSchemaService.findAll(context.getSession()).get(0); } @Test diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/PatchMetadataIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/PatchMetadataIT.java index 58781cf589be..6fd6793ee85e 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/PatchMetadataIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/PatchMetadataIT.java @@ -174,16 +174,16 @@ private void initPersonPublicationWorkspace() throws Exception { .withTitle("Publication 1") .withEntityType("Publication") .build(); - publicationPersonRelationshipType = relationshipTypeService.findbyTypesAndTypeName(context, - entityTypeService.findByEntityType(context, "Publication"), - entityTypeService.findByEntityType(context, "Person"), + publicationPersonRelationshipType = relationshipTypeService.findbyTypesAndTypeName(context.getSession(), + entityTypeService.findByEntityType(context.getSession(), "Publication"), + entityTypeService.findByEntityType(context.getSession(), "Person"), "isAuthorOfPublication", "isPublicationOfAuthor"); String adminToken = getAuthToken(admin.getEmail(), password); // Make sure we grab the latest instance of the Item from the database before adding a regular author - WorkspaceItem publication = workspaceItemService.find(context, publicationWorkspaceItem.getID()); + WorkspaceItem publication = workspaceItemService.find(context.getSession(), publicationWorkspaceItem.getID()); itemService.addMetadata(context, publication.getItem(), "dc", "contributor", "author", Item.ANY, authorsOriginalOrder.get(0)); workspaceItemService.update(context, publication); @@ -204,7 +204,7 @@ private void initPersonPublicationWorkspace() throws Exception { // Add two more regular authors List regularMetadata = new ArrayList<>(); - publication = workspaceItemService.find(context, publicationWorkspaceItem.getID()); + publication = workspaceItemService.find(context.getSession(), publicationWorkspaceItem.getID()); regularMetadata.add(authorsOriginalOrder.get(2)); regularMetadata.add(authorsOriginalOrder.get(3)); itemService.addMetadata(context, publication.getItem(), @@ -224,7 +224,7 @@ private void initPersonPublicationWorkspace() throws Exception { .andExpect(status().isCreated()) .andDo(result -> idRef2.set(read(result.getResponse().getContentAsString(), "$.id"))); - publication = workspaceItemService.find(context, publicationWorkspaceItem.getID()); + publication = workspaceItemService.find(context.getSession(), publicationWorkspaceItem.getID()); authorsMetadataOriginalOrder = itemService.getMetadata(publication.getItem(), "dc", "contributor", "author", Item.ANY); assertEquals(authorsMetadataOriginalOrder.size(), 5); @@ -312,14 +312,14 @@ private void initPlainTextPublicationWorkspace() throws Exception { .build(); // Make sure we grab the latest instance of the Item from the database before adding a regular author - WorkspaceItem publication = workspaceItemService.find(context, publicationWorkspaceItem.getID()); + WorkspaceItem publication = workspaceItemService.find(context.getSession(), publicationWorkspaceItem.getID()); itemService.addMetadata(context, publication.getItem(), "dc", "contributor", "author", Item.ANY, authorsOriginalOrder); workspaceItemService.update(context, publication); context.restoreAuthSystemState(); - publication = workspaceItemService.find(context, publicationWorkspaceItem.getID()); + publication = workspaceItemService.find(context.getSession(), publicationWorkspaceItem.getID()); List publicationAuthorList = itemService.getMetadata(publication.getItem(), "dc", "contributor", "author", Item.ANY); assertEquals(publicationAuthorList.size(), 5); diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/RelationshipDeleteRestRepositoryIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/RelationshipDeleteRestRepositoryIT.java index a2773dcdc9b2..a6a445352d6a 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/RelationshipDeleteRestRepositoryIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/RelationshipDeleteRestRepositoryIT.java @@ -159,9 +159,10 @@ private void initPublicationAuthor() throws Exception { .withPersonIdentifierLastName("familyName") .build(); relationshipType = relationshipTypeService - .findbyTypesAndTypeName(context, entityTypeService.findByEntityType(context, "Publication"), - entityTypeService.findByEntityType(context, "Person"), - "isAuthorOfPublication", "isPublicationOfAuthor"); + .findbyTypesAndTypeName(context.getSession(), + entityTypeService.findByEntityType(context.getSession(), "Publication"), + entityTypeService.findByEntityType(context.getSession(), "Person"), + "isAuthorOfPublication", "isPublicationOfAuthor"); relationship = RelationshipBuilder.createRelationshipBuilder(context, leftItem, rightItem, relationshipType) .withLeftPlace(0) .build(); @@ -181,9 +182,10 @@ private void initJournalVolumeIssue() throws Exception { .withPublicationVolumeNumber("30") .build(); relationshipType = relationshipTypeService - .findbyTypesAndTypeName(context, entityTypeService.findByEntityType(context, "JournalIssue"), - entityTypeService.findByEntityType(context, "JournalVolume"), - "isJournalVolumeOfIssue", "isIssueOfJournalVolume"); + .findbyTypesAndTypeName(context.getSession(), + entityTypeService.findByEntityType(context.getSession(), "JournalIssue"), + entityTypeService.findByEntityType(context.getSession(), "JournalVolume"), + "isJournalVolumeOfIssue", "isIssueOfJournalVolume"); relationship = RelationshipBuilder.createRelationshipBuilder(context, leftItem, rightItem, relationshipType) .withLeftPlace(0) .build(); @@ -204,14 +206,14 @@ private void initPersonProjectPublication() throws Exception { publicationItem = ItemBuilder.createItem(context, collection) .withTitle("Publication 1") .build(); - personProjectRelationshipType = relationshipTypeService.findbyTypesAndTypeName(context, - entityTypeService.findByEntityType(context, "Person"), - entityTypeService.findByEntityType(context, "Project"), + personProjectRelationshipType = relationshipTypeService.findbyTypesAndTypeName(context.getSession(), + entityTypeService.findByEntityType(context.getSession(), "Person"), + entityTypeService.findByEntityType(context.getSession(), "Project"), "isProjectOfPerson", "isPersonOfProject"); - publicationPersonRelationshipType = relationshipTypeService.findbyTypesAndTypeName(context, - entityTypeService.findByEntityType(context, "Publication"), - entityTypeService.findByEntityType(context, "Person"), + publicationPersonRelationshipType = relationshipTypeService.findbyTypesAndTypeName(context.getSession(), + entityTypeService.findByEntityType(context.getSession(), "Publication"), + entityTypeService.findByEntityType(context.getSession(), "Person"), "isAuthorOfPublication", "isPublicationOfAuthor"); RelationshipBuilder diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/RelationshipRestRepositoryIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/RelationshipRestRepositoryIT.java index 5f926fb7688a..8d185942d978 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/RelationshipRestRepositoryIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/RelationshipRestRepositoryIT.java @@ -220,14 +220,16 @@ public void setUp() throws Exception { .build(); isAuthorOfPublicationRelationshipType = relationshipTypeService - .findbyTypesAndTypeName(context, entityTypeService.findByEntityType(context, "Publication"), - entityTypeService.findByEntityType(context, "Person"), - "isAuthorOfPublication", "isPublicationOfAuthor"); + .findbyTypesAndTypeName(context.getSession(), + entityTypeService.findByEntityType(context.getSession(), "Publication"), + entityTypeService.findByEntityType(context.getSession(), "Person"), + "isAuthorOfPublication", "isPublicationOfAuthor"); isOrgUnitOfPersonRelationshipType = relationshipTypeService - .findbyTypesAndTypeName(context, entityTypeService.findByEntityType(context, "Person"), - entityTypeService.findByEntityType(context, "OrgUnit"), - "isOrgUnitOfPerson", "isPersonOfOrgUnit"); + .findbyTypesAndTypeName(context.getSession(), + entityTypeService.findByEntityType(context.getSession(), "Person"), + entityTypeService.findByEntityType(context.getSession(), "OrgUnit"), + "isOrgUnitOfPerson", "isPersonOfOrgUnit"); user1 = EPersonBuilder.createEPerson(context) .withNameInMetadata("first", "last") @@ -246,17 +248,20 @@ public void findAllRelationshipTest() throws Exception { context.turnOffAuthorisationSystem(); RelationshipType isOrgUnitOfPersonRelationshipType = relationshipTypeService - .findbyTypesAndTypeName(context, entityTypeService.findByEntityType(context, "Person"), - entityTypeService.findByEntityType(context, "OrgUnit"), - "isOrgUnitOfPerson", "isPersonOfOrgUnit"); + .findbyTypesAndTypeName(context.getSession(), + entityTypeService.findByEntityType(context.getSession(), "Person"), + entityTypeService.findByEntityType(context.getSession(), "OrgUnit"), + "isOrgUnitOfPerson", "isPersonOfOrgUnit"); RelationshipType isOrgUnitOfProjectRelationshipType = relationshipTypeService - .findbyTypesAndTypeName(context, entityTypeService.findByEntityType(context, "Project"), - entityTypeService.findByEntityType(context, "OrgUnit"), - "isOrgUnitOfProject", "isProjectOfOrgUnit"); + .findbyTypesAndTypeName(context.getSession(), + entityTypeService.findByEntityType(context.getSession(), "Project"), + entityTypeService.findByEntityType(context.getSession(), "OrgUnit"), + "isOrgUnitOfProject", "isProjectOfOrgUnit"); RelationshipType isAuthorOfPublicationRelationshipType = relationshipTypeService - .findbyTypesAndTypeName(context, entityTypeService.findByEntityType(context, "Publication"), - entityTypeService.findByEntityType(context, "Person"), - "isAuthorOfPublication", "isPublicationOfAuthor"); + .findbyTypesAndTypeName(context.getSession(), + entityTypeService.findByEntityType(context.getSession(), "Publication"), + entityTypeService.findByEntityType(context.getSession(), "Person"), + "isAuthorOfPublication", "isPublicationOfAuthor"); Relationship relationship1 = RelationshipBuilder .createRelationshipBuilder(context, author1, orgUnit1, isOrgUnitOfPersonRelationshipType).build(); @@ -779,10 +784,10 @@ public void addRelationshipsAndMetadataToValidatePlaceTest() throws Exception { .build(); RelationshipType isAuthorOfPublicationRelationshipType = relationshipTypeService - .findbyTypesAndTypeName(context, entityTypeService.findByEntityType(context, "Publication"), - entityTypeService.findByEntityType(context, "Person"), - "isAuthorOfPublication", "isPublicationOfAuthor"); - + .findbyTypesAndTypeName(context.getSession(), + entityTypeService.findByEntityType(context.getSession(), "Publication"), + entityTypeService.findByEntityType(context.getSession(), "Person"), + "isAuthorOfPublication", "isPublicationOfAuthor"); String adminToken = getAuthToken(admin.getEmail(), password); @@ -2248,17 +2253,20 @@ public void findRelationshipByLabelTest() throws Exception { context.turnOffAuthorisationSystem(); RelationshipType isOrgUnitOfPersonRelationshipType = relationshipTypeService - .findbyTypesAndTypeName(context, entityTypeService.findByEntityType(context, "Person"), - entityTypeService.findByEntityType(context, "OrgUnit"), - "isOrgUnitOfPerson", "isPersonOfOrgUnit"); + .findbyTypesAndTypeName(context.getSession(), + entityTypeService.findByEntityType(context.getSession(), "Person"), + entityTypeService.findByEntityType(context.getSession(), "OrgUnit"), + "isOrgUnitOfPerson", "isPersonOfOrgUnit"); RelationshipType isOrgUnitOfProjectRelationshipType = relationshipTypeService - .findbyTypesAndTypeName(context, entityTypeService.findByEntityType(context, "Project"), - entityTypeService.findByEntityType(context, "OrgUnit"), - "isOrgUnitOfProject", "isProjectOfOrgUnit"); + .findbyTypesAndTypeName(context.getSession(), + entityTypeService.findByEntityType(context.getSession(), "Project"), + entityTypeService.findByEntityType(context.getSession(), "OrgUnit"), + "isOrgUnitOfProject", "isProjectOfOrgUnit"); RelationshipType isAuthorOfPublicationRelationshipType = relationshipTypeService - .findbyTypesAndTypeName(context, entityTypeService.findByEntityType(context, "Publication"), - entityTypeService.findByEntityType(context, "Person"), - "isAuthorOfPublication", "isPublicationOfAuthor"); + .findbyTypesAndTypeName(context.getSession(), + entityTypeService.findByEntityType(context.getSession(), "Publication"), + entityTypeService.findByEntityType(context.getSession(), "Person"), + "isAuthorOfPublication", "isPublicationOfAuthor"); // We're creating a Relationship of type isOrgUnitOfPerson between an author and an orgunit Relationship relationship1 = RelationshipBuilder @@ -2387,9 +2395,10 @@ public void rightwardValueRelationshipTest() throws Exception { context.turnOffAuthorisationSystem(); RelationshipType isAuthorOfPublicationRelationshipType = relationshipTypeService - .findbyTypesAndTypeName(context, entityTypeService.findByEntityType(context, "Publication"), - entityTypeService.findByEntityType(context, "Person"), - "isAuthorOfPublication", "isPublicationOfAuthor"); + .findbyTypesAndTypeName(context.getSession(), + entityTypeService.findByEntityType(context.getSession(), "Publication"), + entityTypeService.findByEntityType(context.getSession(), "Person"), + "isAuthorOfPublication", "isPublicationOfAuthor"); Relationship relationship3 = RelationshipBuilder .createRelationshipBuilder(context, publication1, author1, isAuthorOfPublicationRelationshipType) @@ -2425,9 +2434,10 @@ public void nonRightwardValueRelationshipTest() throws Exception { context.turnOffAuthorisationSystem(); RelationshipType isAuthorOfPublicationRelationshipType = relationshipTypeService - .findbyTypesAndTypeName(context, entityTypeService.findByEntityType(context, "Publication"), - entityTypeService.findByEntityType(context, "Person"), - "isAuthorOfPublication", "isPublicationOfAuthor"); + .findbyTypesAndTypeName(context.getSession(), + entityTypeService.findByEntityType(context.getSession(), "Publication"), + entityTypeService.findByEntityType(context.getSession(), "Person"), + "isAuthorOfPublication", "isPublicationOfAuthor"); Relationship relationship3 = RelationshipBuilder .createRelationshipBuilder(context, publication1, author3, isAuthorOfPublicationRelationshipType) @@ -2466,9 +2476,10 @@ public void mixedRightwardValueAndRegularRelationshipTest() throws Exception { context.turnOffAuthorisationSystem(); RelationshipType isAuthorOfPublicationRelationshipType = relationshipTypeService - .findbyTypesAndTypeName(context, entityTypeService.findByEntityType(context, "Publication"), - entityTypeService.findByEntityType(context, "Person"), - "isAuthorOfPublication", "isPublicationOfAuthor"); + .findbyTypesAndTypeName(context.getSession(), + entityTypeService.findByEntityType(context.getSession(), "Publication"), + entityTypeService.findByEntityType(context.getSession(), "Person"), + "isAuthorOfPublication", "isPublicationOfAuthor"); Item author1 = ItemBuilder.createItem(context, col1) .withTitle("Author1") @@ -2521,9 +2532,10 @@ public void leftwardValueRelationshipTest() throws Exception { context.turnOffAuthorisationSystem(); RelationshipType isAuthorOfPublicationRelationshipType = relationshipTypeService - .findbyTypesAndTypeName(context, entityTypeService.findByEntityType(context, "Publication"), - entityTypeService.findByEntityType(context, "Person"), - "isAuthorOfPublication", "isPublicationOfAuthor"); + .findbyTypesAndTypeName(context.getSession(), + entityTypeService.findByEntityType(context.getSession(), "Publication"), + entityTypeService.findByEntityType(context.getSession(), "Person"), + "isAuthorOfPublication", "isPublicationOfAuthor"); Relationship relationship3 = RelationshipBuilder .createRelationshipBuilder(context, publication1, author3, isAuthorOfPublicationRelationshipType) @@ -2702,9 +2714,9 @@ public void putRelationshipWithJsonMoveInFrontOtherMetadata() throws Exception { @Test public void orgUnitAndOrgUnitRelationshipVirtualMetadataTest() throws Exception { context.turnOffAuthorisationSystem(); - EntityType orgUnit = entityTypeService.findByEntityType(context, "OrgUnit"); + EntityType orgUnit = entityTypeService.findByEntityType(context.getSession(), "OrgUnit"); RelationshipType isParentOrgUnitOf = relationshipTypeService - .findbyTypesAndTypeName(context, orgUnit, orgUnit, "isParentOrgUnitOf", "isChildOrgUnitOf"); + .findbyTypesAndTypeName(context.getSession(), orgUnit, orgUnit, "isParentOrgUnitOf", "isChildOrgUnitOf"); MetadataSchema metadataSchema = metadataSchemaService.find(context.getSession(), "relation"); MetadataFieldBuilder.createMetadataField(context, metadataSchema, "isParentOrgUnitOf", null, null).build(); @@ -2751,9 +2763,9 @@ public void orgUnitAndOrgUnitRelationshipVirtualMetadataTest() throws Exception @Test public void orgUnitFindByLabelParentChildOfCountTest() throws Exception { context.turnOffAuthorisationSystem(); - EntityType orgUnit = entityTypeService.findByEntityType(context, "OrgUnit"); + EntityType orgUnit = entityTypeService.findByEntityType(context.getSession(), "OrgUnit"); RelationshipType isParentOrgUnitOf = relationshipTypeService - .findbyTypesAndTypeName(context, orgUnit, orgUnit, "isParentOrgUnitOf", "isChildOrgUnitOf"); + .findbyTypesAndTypeName(context.getSession(), orgUnit, orgUnit, "isParentOrgUnitOf", "isChildOrgUnitOf"); MetadataSchema metadataSchema = metadataSchemaService.find(context.getSession(), "relation"); MetadataFieldBuilder.createMetadataField(context, metadataSchema, "isParentOrgUnitOf", null, null).build(); @@ -2816,9 +2828,9 @@ public void orgUnitFindByLabelParentChildOfCountTest() throws Exception { @Test public void orgUnitLeftMaxCardinalityTest() throws Exception { context.turnOffAuthorisationSystem(); - EntityType orgUnit = entityTypeService.findByEntityType(context, "OrgUnit"); + EntityType orgUnit = entityTypeService.findByEntityType(context.getSession(), "OrgUnit"); RelationshipType isParentOrgUnitOf = relationshipTypeService - .findbyTypesAndTypeName(context, orgUnit, orgUnit, "isParentOrgUnitOf", "isChildOrgUnitOf"); + .findbyTypesAndTypeName(context.getSession(), orgUnit, orgUnit, "isParentOrgUnitOf", "isChildOrgUnitOf"); MetadataSchema metadataSchema = metadataSchemaService.find(context.getSession(), "relation"); MetadataFieldBuilder.createMetadataField(context, metadataSchema, "isParentOrgUnitOf", null, null).build(); @@ -2877,26 +2889,26 @@ public void orgUnitLeftMaxCardinalityTest() throws Exception { public void testVirtualMdInRESTAndSolrDoc() throws Exception { context.turnOffAuthorisationSystem(); // Create entity types if needed - EntityType journalEntityType = entityTypeService.findByEntityType(context, "Journal"); + EntityType journalEntityType = entityTypeService.findByEntityType(context.getSession(), "Journal"); if (journalEntityType == null) { journalEntityType = EntityTypeBuilder.createEntityTypeBuilder(context, "Journal").build(); } - EntityType journalVolumeEntityType = entityTypeService.findByEntityType(context, "JournalVolume"); + EntityType journalVolumeEntityType = entityTypeService.findByEntityType(context.getSession(), "JournalVolume"); if (journalVolumeEntityType == null) { journalVolumeEntityType = EntityTypeBuilder.createEntityTypeBuilder(context, "JournalVolume").build(); } - EntityType journalIssueEntityType = entityTypeService.findByEntityType(context, "JournalIssue"); + EntityType journalIssueEntityType = entityTypeService.findByEntityType(context.getSession(), "JournalIssue"); if (journalIssueEntityType == null) { journalIssueEntityType = EntityTypeBuilder.createEntityTypeBuilder(context, "JournalIssue").build(); } - EntityType publicationEntityType = entityTypeService.findByEntityType(context, "Publication"); + EntityType publicationEntityType = entityTypeService.findByEntityType(context.getSession(), "Publication"); if (publicationEntityType == null) { publicationEntityType = EntityTypeBuilder.createEntityTypeBuilder(context, "Publication").build(); } // Create relationship types if needed RelationshipType isPublicationOfJournalIssue = relationshipTypeService - .findbyTypesAndTypeName(context, journalIssueEntityType, publicationEntityType, + .findbyTypesAndTypeName(context.getSession(), journalIssueEntityType, publicationEntityType, "isPublicationOfJournalIssue", "isJournalIssueOfPublication"); if (isPublicationOfJournalIssue == null) { isPublicationOfJournalIssue = RelationshipTypeBuilder.createRelationshipTypeBuilder(context, @@ -2904,7 +2916,7 @@ public void testVirtualMdInRESTAndSolrDoc() throws Exception { "isJournalIssueOfPublication", null, null, null, null).build(); } RelationshipType isIssueOfJournalVolume = relationshipTypeService - .findbyTypesAndTypeName(context, journalVolumeEntityType, journalIssueEntityType, + .findbyTypesAndTypeName(context.getSession(), journalVolumeEntityType, journalIssueEntityType, "isIssueOfJournalVolume", "isJournalVolumeOfIssue"); if (isIssueOfJournalVolume == null) { isIssueOfJournalVolume = RelationshipTypeBuilder.createRelationshipTypeBuilder(context, @@ -2916,7 +2928,7 @@ public void testVirtualMdInRESTAndSolrDoc() throws Exception { isIssueOfJournalVolume.setRightMinCardinality(0); } RelationshipType isVolumeOfJournal = relationshipTypeService - .findbyTypesAndTypeName(context, journalEntityType, journalVolumeEntityType, + .findbyTypesAndTypeName(context.getSession(), journalEntityType, journalVolumeEntityType, "isVolumeOfJournal", "isJournalOfVolume"); if (isVolumeOfJournal == null) { isVolumeOfJournal = RelationshipTypeBuilder.createRelationshipTypeBuilder(context, @@ -3105,9 +3117,10 @@ public void findByItemsAndTypeTest() throws Exception { context.turnOffAuthorisationSystem(); RelationshipType isAuthorOfPublicationRelationshipType = relationshipTypeService - .findbyTypesAndTypeName(context, entityTypeService.findByEntityType(context, "Publication"), - entityTypeService.findByEntityType(context, "Person"), - "isAuthorOfPublication", "isPublicationOfAuthor"); + .findbyTypesAndTypeName(context.getSession(), + entityTypeService.findByEntityType(context.getSession(), "Publication"), + entityTypeService.findByEntityType(context.getSession(), "Person"), + "isAuthorOfPublication", "isPublicationOfAuthor"); Relationship relationship1 = RelationshipBuilder.createRelationshipBuilder(context, publication1, author3, isAuthorOfPublicationRelationshipType) @@ -3156,9 +3169,10 @@ public void findByItemsAndTypeBadRequestTest() throws Exception { context.turnOffAuthorisationSystem(); RelationshipType isAuthorOfPublicationRelationshipType = relationshipTypeService - .findbyTypesAndTypeName(context, entityTypeService.findByEntityType(context, "Publication"), - entityTypeService.findByEntityType(context, "Person"), - "isAuthorOfPublication", "isPublicationOfAuthor"); + .findbyTypesAndTypeName(context.getSession(), + entityTypeService.findByEntityType(context.getSession(), "Publication"), + entityTypeService.findByEntityType(context.getSession(), "Person"), + "isAuthorOfPublication", "isPublicationOfAuthor"); RelationshipBuilder.createRelationshipBuilder(context, publication1, author3, isAuthorOfPublicationRelationshipType) @@ -3212,9 +3226,10 @@ public void findByItemsAndTypeUnprocessableEntityTest() throws Exception { context.turnOffAuthorisationSystem(); RelationshipType isAuthorOfPublicationRelationshipType = relationshipTypeService - .findbyTypesAndTypeName(context, entityTypeService.findByEntityType(context, "Publication"), - entityTypeService.findByEntityType(context, "Person"), - "isAuthorOfPublication", "isPublicationOfAuthor"); + .findbyTypesAndTypeName(context.getSession(), + entityTypeService.findByEntityType(context.getSession(), "Publication"), + entityTypeService.findByEntityType(context.getSession(), "Person"), + "isAuthorOfPublication", "isPublicationOfAuthor"); RelationshipBuilder.createRelationshipBuilder(context, publication1, author3, isAuthorOfPublicationRelationshipType) @@ -3243,9 +3258,10 @@ public void findByItemsAndTypeEmptyResponceTest() throws Exception { context.turnOffAuthorisationSystem(); RelationshipType isAuthorOfPublicationRelationshipType = relationshipTypeService - .findbyTypesAndTypeName(context, entityTypeService.findByEntityType(context, "Publication"), - entityTypeService.findByEntityType(context, "Person"), - "isAuthorOfPublication", "isPublicationOfAuthor"); + .findbyTypesAndTypeName(context.getSession(), + entityTypeService.findByEntityType(context.getSession(), "Publication"), + entityTypeService.findByEntityType(context.getSession(), "Person"), + "isAuthorOfPublication", "isPublicationOfAuthor"); RelationshipBuilder.createRelationshipBuilder(context, publication1, author3, isAuthorOfPublicationRelationshipType) @@ -3288,9 +3304,10 @@ public void findByItemsAndTypePaginationTest() throws Exception { context.turnOffAuthorisationSystem(); RelationshipType isAuthorOfPublicationRelationshipType = relationshipTypeService - .findbyTypesAndTypeName(context, entityTypeService.findByEntityType(context, "Publication"), - entityTypeService.findByEntityType(context, "Person"), - "isAuthorOfPublication", "isPublicationOfAuthor"); + .findbyTypesAndTypeName(context.getSession(), + entityTypeService.findByEntityType(context.getSession(), "Publication"), + entityTypeService.findByEntityType(context.getSession(), "Person"), + "isAuthorOfPublication", "isPublicationOfAuthor"); Relationship relationship1 = RelationshipBuilder.createRelationshipBuilder(context, publication1, author3, isAuthorOfPublicationRelationshipType) diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/RelationshipTypeRestControllerIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/RelationshipTypeRestControllerIT.java index 241025e2d441..13fa112a660f 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/RelationshipTypeRestControllerIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/RelationshipTypeRestControllerIT.java @@ -69,27 +69,27 @@ public void findAllEntityTypes() throws Exception { @Test public void findAllRelationshipTypesForPublications() throws Exception { - EntityType publicationEntityType = entityTypeService.findByEntityType(context, "Publication"); - EntityType personEntityType = entityTypeService.findByEntityType(context, "Person"); - EntityType projectEntityType = entityTypeService.findByEntityType(context, "Project"); - EntityType orgunitEntityType = entityTypeService.findByEntityType(context, "OrgUnit"); - EntityType journalIssueEntityType = entityTypeService.findByEntityType(context, "journalIssue"); + EntityType publicationEntityType = entityTypeService.findByEntityType(context.getSession(), "Publication"); + EntityType personEntityType = entityTypeService.findByEntityType(context.getSession(), "Person"); + EntityType projectEntityType = entityTypeService.findByEntityType(context.getSession(), "Project"); + EntityType orgunitEntityType = entityTypeService.findByEntityType(context.getSession(), "OrgUnit"); + EntityType journalIssueEntityType = entityTypeService.findByEntityType(context.getSession(), "journalIssue"); RelationshipType relationshipType1 = relationshipTypeService - .findbyTypesAndTypeName(context, publicationEntityType, personEntityType, "isAuthorOfPublication", - "isPublicationOfAuthor"); + .findbyTypesAndTypeName(context.getSession(), publicationEntityType, personEntityType, + "isAuthorOfPublication", "isPublicationOfAuthor"); RelationshipType relationshipType2 = relationshipTypeService - .findbyTypesAndTypeName(context, publicationEntityType, projectEntityType, "isProjectOfPublication", - "isPublicationOfProject"); + .findbyTypesAndTypeName(context.getSession(), publicationEntityType, projectEntityType, + "isProjectOfPublication", "isPublicationOfProject"); RelationshipType relationshipType3 = relationshipTypeService - .findbyTypesAndTypeName(context, publicationEntityType, orgunitEntityType, "isOrgUnitOfPublication", - "isPublicationOfOrgUnit"); + .findbyTypesAndTypeName(context.getSession(), publicationEntityType, orgunitEntityType, + "isOrgUnitOfPublication", "isPublicationOfOrgUnit"); RelationshipType relationshipType4 = relationshipTypeService - .findbyTypesAndTypeName(context, journalIssueEntityType, publicationEntityType, + .findbyTypesAndTypeName(context.getSession(), journalIssueEntityType, publicationEntityType, "isPublicationOfJournalIssue", "isJournalIssueOfPublication"); RelationshipType relationshipType5 = relationshipTypeService - .findbyTypesAndTypeName(context, publicationEntityType, orgunitEntityType, "isAuthorOfPublication", - "isPublicationOfAuthor"); + .findbyTypesAndTypeName(context.getSession(), publicationEntityType, orgunitEntityType, + "isAuthorOfPublication", "isPublicationOfAuthor"); getClient().perform(get("/api/core/entitytypes/" + publicationEntityType.getID() + "/relationshiptypes")) .andExpect(status().isOk()) .andExpect(jsonPath("$._embedded.relationshiptypes", containsInAnyOrder( @@ -121,21 +121,21 @@ public void findAllRelationshipTypesEmptyResponseTest() throws Exception { @Test public void findAllRelationshipTypesForPublicationsPaginationTest() throws Exception { - EntityType person = entityTypeService.findByEntityType(context, "Person"); - EntityType orgunit = entityTypeService.findByEntityType(context, "OrgUnit"); - EntityType project = entityTypeService.findByEntityType(context, "Project"); - EntityType publication = entityTypeService.findByEntityType(context, "Publication"); - EntityType journalIssue = entityTypeService.findByEntityType(context, "journalIssue"); + EntityType person = entityTypeService.findByEntityType(context.getSession(), "Person"); + EntityType orgunit = entityTypeService.findByEntityType(context.getSession(), "OrgUnit"); + EntityType project = entityTypeService.findByEntityType(context.getSession(), "Project"); + EntityType publication = entityTypeService.findByEntityType(context.getSession(), "Publication"); + EntityType journalIssue = entityTypeService.findByEntityType(context.getSession(), "journalIssue"); - RelationshipType relationshipType1 = relationshipTypeService.findbyTypesAndTypeName(context, + RelationshipType relationshipType1 = relationshipTypeService.findbyTypesAndTypeName(context.getSession(), publication, person, "isAuthorOfPublication", "isPublicationOfAuthor"); - RelationshipType relationshipType2 = relationshipTypeService.findbyTypesAndTypeName(context, + RelationshipType relationshipType2 = relationshipTypeService.findbyTypesAndTypeName(context.getSession(), publication, project, "isProjectOfPublication", "isPublicationOfProject"); - RelationshipType relationshipType3 = relationshipTypeService.findbyTypesAndTypeName(context, + RelationshipType relationshipType3 = relationshipTypeService.findbyTypesAndTypeName(context.getSession(), publication, orgunit, "isOrgUnitOfPublication", "isPublicationOfOrgUnit"); - RelationshipType relationshipType4 = relationshipTypeService.findbyTypesAndTypeName(context, + RelationshipType relationshipType4 = relationshipTypeService.findbyTypesAndTypeName(context.getSession(), journalIssue, publication, "isPublicationOfJournalIssue", "isJournalIssueOfPublication"); - RelationshipType relationshipType5 = relationshipTypeService.findbyTypesAndTypeName(context, + RelationshipType relationshipType5 = relationshipTypeService.findbyTypesAndTypeName(context.getSession(), publication, orgunit, "isAuthorOfPublication","isPublicationOfAuthor"); getClient().perform(get("/api/core/entitytypes/" + publication.getID() + "/relationshiptypes") @@ -176,27 +176,27 @@ public void findAllRelationshipTypesForPublicationsPaginationTest() throws Excep @Test public void findAllRelationshipTypesForPublicationsEmbedTest() throws Exception { - EntityType publicationEntityType = entityTypeService.findByEntityType(context, "Publication"); - EntityType personEntityType = entityTypeService.findByEntityType(context, "Person"); - EntityType projectEntityType = entityTypeService.findByEntityType(context, "Project"); - EntityType orgunitEntityType = entityTypeService.findByEntityType(context, "OrgUnit"); - EntityType journalIssueEntityType = entityTypeService.findByEntityType(context, "journalIssue"); + EntityType publicationEntityType = entityTypeService.findByEntityType(context.getSession(), "Publication"); + EntityType personEntityType = entityTypeService.findByEntityType(context.getSession(), "Person"); + EntityType projectEntityType = entityTypeService.findByEntityType(context.getSession(), "Project"); + EntityType orgunitEntityType = entityTypeService.findByEntityType(context.getSession(), "OrgUnit"); + EntityType journalIssueEntityType = entityTypeService.findByEntityType(context.getSession(), "journalIssue"); RelationshipType relationshipType1 = relationshipTypeService - .findbyTypesAndTypeName(context, publicationEntityType, personEntityType, "isAuthorOfPublication", - "isPublicationOfAuthor"); + .findbyTypesAndTypeName(context.getSession(), publicationEntityType, personEntityType, + "isAuthorOfPublication", "isPublicationOfAuthor"); RelationshipType relationshipType2 = relationshipTypeService - .findbyTypesAndTypeName(context, publicationEntityType, projectEntityType, "isProjectOfPublication", - "isPublicationOfProject"); + .findbyTypesAndTypeName(context.getSession(), publicationEntityType, projectEntityType, + "isProjectOfPublication", "isPublicationOfProject"); RelationshipType relationshipType3 = relationshipTypeService - .findbyTypesAndTypeName(context, publicationEntityType, orgunitEntityType, "isOrgUnitOfPublication", - "isPublicationOfOrgUnit"); + .findbyTypesAndTypeName(context.getSession(), publicationEntityType, orgunitEntityType, + "isOrgUnitOfPublication", "isPublicationOfOrgUnit"); RelationshipType relationshipType4 = relationshipTypeService - .findbyTypesAndTypeName(context, journalIssueEntityType, publicationEntityType, + .findbyTypesAndTypeName(context.getSession(), journalIssueEntityType, publicationEntityType, "isPublicationOfJournalIssue", "isJournalIssueOfPublication"); RelationshipType relationshipType5 = relationshipTypeService - .findbyTypesAndTypeName(context, publicationEntityType, orgunitEntityType, "isAuthorOfPublication", - "isPublicationOfAuthor"); + .findbyTypesAndTypeName(context.getSession(), publicationEntityType, orgunitEntityType, + "isAuthorOfPublication", "isPublicationOfAuthor"); String adminToken = getAuthToken(admin.getEmail(), password); getClient(adminToken).perform(get("/api/core/relationships?embed=relationshipType")) @@ -274,17 +274,20 @@ public void createAndFindRelationships() throws Exception { .build(); RelationshipType isOrgUnitOfPersonRelationshipType = relationshipTypeService - .findbyTypesAndTypeName(context, entityTypeService.findByEntityType(context, "Person"), - entityTypeService.findByEntityType(context, "OrgUnit"), - "isOrgUnitOfPerson", "isPersonOfOrgUnit"); + .findbyTypesAndTypeName(context.getSession(), + entityTypeService.findByEntityType(context.getSession(), "Person"), + entityTypeService.findByEntityType(context.getSession(), "OrgUnit"), + "isOrgUnitOfPerson", "isPersonOfOrgUnit"); RelationshipType isOrgUnitOfProjectRelationshipType = relationshipTypeService - .findbyTypesAndTypeName(context, entityTypeService.findByEntityType(context, "Project"), - entityTypeService.findByEntityType(context, "OrgUnit"), - "isOrgUnitOfProject", "isProjectOfOrgUnit"); + .findbyTypesAndTypeName(context.getSession(), + entityTypeService.findByEntityType(context.getSession(), "Project"), + entityTypeService.findByEntityType(context.getSession(), "OrgUnit"), + "isOrgUnitOfProject", "isProjectOfOrgUnit"); RelationshipType isAuthorOfPublicationRelationshipType = relationshipTypeService - .findbyTypesAndTypeName(context, entityTypeService.findByEntityType(context, "Publication"), - entityTypeService.findByEntityType(context, "Person"), - "isAuthorOfPublication", "isPublicationOfAuthor"); + .findbyTypesAndTypeName(context.getSession(), + entityTypeService.findByEntityType(context.getSession(), "Publication"), + entityTypeService.findByEntityType(context.getSession(), "Person"), + "isAuthorOfPublication", "isPublicationOfAuthor"); Relationship relationship1 = RelationshipBuilder .createRelationshipBuilder(context, publication, author1, isAuthorOfPublicationRelationshipType).build(); diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/RelationshipTypeRestRepositoryIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/RelationshipTypeRestRepositoryIT.java index 3295e03593e7..1ac69fd065d6 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/RelationshipTypeRestRepositoryIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/RelationshipTypeRestRepositoryIT.java @@ -42,7 +42,7 @@ public class RelationshipTypeRestRepositoryIT extends AbstractEntityIntegrationT @Test public void findAllRelationshipTypesTest() throws SQLException { - assertEquals(12, relationshipTypeService.findAll(context).size()); + assertEquals(12, relationshipTypeService.findAll(context.getSession()).size()); } @Test @@ -120,13 +120,14 @@ public void findJournalVolumeJournalIssueRelationshipType() throws SQLException private void checkRelationshipType(String leftType, String rightType, String leftwardType, String rightwardType) throws SQLException { RelationshipType relationshipType = relationshipTypeService - .findbyTypesAndTypeName(context, entityTypeService.findByEntityType(context, leftType), - entityTypeService.findByEntityType(context, rightType), - leftwardType, rightwardType); + .findbyTypesAndTypeName(context.getSession(), + entityTypeService.findByEntityType(context.getSession(), leftType), + entityTypeService.findByEntityType(context.getSession(), rightType), + leftwardType, rightwardType); assertNotNull(relationshipType); - assertEquals(entityTypeService.findByEntityType(context, leftType), + assertEquals(entityTypeService.findByEntityType(context.getSession(), leftType), relationshipType.getLeftType()); - assertEquals(entityTypeService.findByEntityType(context, rightType), + assertEquals(entityTypeService.findByEntityType(context.getSession(), rightType), relationshipType.getRightType()); assertEquals(leftwardType, relationshipType.getLeftwardType()); assertEquals(rightwardType, relationshipType.getRightwardType()); @@ -135,7 +136,7 @@ private void checkRelationshipType(String leftType, String rightType, String lef @Test public void getAllRelationshipTypesEndpointTest() throws Exception { //When we call this facets endpoint - List relationshipTypes = relationshipTypeService.findAll(context); + List relationshipTypes = relationshipTypeService.findAll(context.getSession()); getClient().perform(get("/api/core/relationshiptypes").param("projection", "full")) @@ -165,7 +166,7 @@ public void getAllRelationshipTypesEndpointTest() throws Exception { @Test public void entityTypeForPublicationPersonRelationshipTypeTest() throws Exception { - List relationshipTypes = relationshipTypeService.findAll(context); + List relationshipTypes = relationshipTypeService.findAll(context.getSession()); RelationshipType foundRelationshipType = null; for (RelationshipType relationshipType : relationshipTypes) { @@ -192,8 +193,10 @@ public void entityTypeForPublicationPersonRelationshipTypeTest() throws Exceptio @Test public void cardinalityOnAuthorPublicationRelationshipTypesTest() throws Exception { RelationshipType relationshipType = relationshipTypeService - .findbyTypesAndTypeName(context, entityTypeService.findByEntityType(context, "Publication"), - entityTypeService.findByEntityType(context, "Person"), "isAuthorOfPublication", + .findbyTypesAndTypeName(context.getSession(), + entityTypeService.findByEntityType(context.getSession(), "Publication"), + entityTypeService.findByEntityType(context.getSession(), "Person"), + "isAuthorOfPublication", "isPublicationOfAuthor"); assertEquals(((Integer) 0), relationshipType.getLeftMinCardinality()); assertEquals(((Integer) 0), relationshipType.getRightMinCardinality()); @@ -211,7 +214,7 @@ public void cardinalityOnAuthorPublicationRelationshipTypesTest() throws Excepti @Test public void entityTypeForIssueJournalRelationshipTypeTest() throws Exception { - List relationshipTypes = relationshipTypeService.findAll(context); + List relationshipTypes = relationshipTypeService.findAll(context.getSession()); RelationshipType foundRelationshipType = null; for (RelationshipType relationshipType : relationshipTypes) { @@ -238,9 +241,9 @@ public void entityTypeForIssueJournalRelationshipTypeTest() throws Exception { @Test public void cardinalityOnIssueJournalJournalVolumeRelationshipTypesTest() throws Exception { RelationshipType relationshipType = relationshipTypeService - .findbyTypesAndTypeName(context, entityTypeService.findByEntityType(context, "JournalVolume"), - entityTypeService.findByEntityType(context, "JournalIssue"), "isIssueOfJournalVolume", - "isJournalVolumeOfIssue"); + .findbyTypesAndTypeName(context.getSession(), entityTypeService.findByEntityType(context.getSession(), "JournalVolume"), + entityTypeService.findByEntityType(context.getSession(), "JournalIssue"), + "isIssueOfJournalVolume", "isJournalVolumeOfIssue"); assertEquals(((Integer) 0), relationshipType.getLeftMinCardinality()); assertEquals(((Integer) 1), relationshipType.getRightMinCardinality()); assertNull(relationshipType.getLeftMaxCardinality()); diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/SubmissionShowIdentifiersRestIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/SubmissionShowIdentifiersRestIT.java index 8d95f4627b72..0a6fbb72bca6 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/SubmissionShowIdentifiersRestIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/SubmissionShowIdentifiersRestIT.java @@ -78,7 +78,7 @@ public void setUp() throws Exception { @After public void after() throws SQLException, IOException, AuthorizeException { context.turnOffAuthorisationSystem(); - workspaceItemService.findAll(context).forEach(this::deleteWorkspaceItem); + workspaceItemService.findAll(context.getSession()).forEach(this::deleteWorkspaceItem); // Manually restore identifiers configuration configurationService.setProperty("identifiers.submission.register", false); context.restoreAuthSystemState(); diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/SupervisionOrderRestRepositoryIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/SupervisionOrderRestRepositoryIT.java index 27b436b6bc76..d382c92b33b4 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/SupervisionOrderRestRepositoryIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/SupervisionOrderRestRepositoryIT.java @@ -783,13 +783,13 @@ public void createByAdminTest() throws Exception { .set(read(result.getResponse().getContentAsString(), "$.id"))); SupervisionOrder supervisionOrderOne = - supervisionOrderService.find(context, supervisionOrderIdOne.get()); + supervisionOrderService.find(context.getSession(), supervisionOrderIdOne.get()); SupervisionOrder supervisionOrderTwo = - supervisionOrderService.find(context, supervisionOrderIdTwo.get()); + supervisionOrderService.find(context.getSession(), supervisionOrderIdTwo.get()); SupervisionOrder supervisionOrderThree = - supervisionOrderService.find(context, supervisionOrderIdThree.get()); + supervisionOrderService.find(context.getSession(), supervisionOrderIdThree.get()); getClient(adminToken).perform(get("/api/core/supervisionorders/" + supervisionOrderOne.getID())) .andExpect(status().isOk()) @@ -1369,7 +1369,7 @@ public void createSupervisionOnWorkspaceThenSubmitToWorkflowTest() throws Except witem, "New Title", "2017-10-17", "ExtraEntry" )))); - AtomicReference idRef = new AtomicReference(); + AtomicReference idRef = new AtomicReference<>(); try { String adminToken = getAuthToken(admin.getEmail(), password); String reviewerToken = getAuthToken(reviewer.getEmail(), password); diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/VersionHistoryRestRepositoryIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/VersionHistoryRestRepositoryIT.java index f5dbda8771b8..859c349decf2 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/VersionHistoryRestRepositoryIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/VersionHistoryRestRepositoryIT.java @@ -382,7 +382,7 @@ public void findWorkspaceItemOfDraftVersionAdminTest() throws Exception { Version v2 = VersionBuilder.createVersion(context, item, "test").build(); VersionHistory vh = versionHistoryService.findByItem(context, item); - WorkspaceItem witem = workspaceItemService.findByItem(context, v2.getItem()); + WorkspaceItem witem = workspaceItemService.findByItem(context.getSession(), v2.getItem()); context.turnOffAuthorisationSystem(); String tokenAdmin = getAuthToken(admin.getEmail(), password); @@ -553,7 +553,7 @@ public void findWorkspaceItemOfDraftVersionLoggedUserTest() throws Exception { Version v2 = VersionBuilder.createVersion(context, item, "test").build(); VersionHistory vh = versionHistoryService.findByItem(context, item); - WorkspaceItem witem = workspaceItemService.findByItem(context, v2.getItem()); + WorkspaceItem witem = workspaceItemService.findByItem(context.getSession(), v2.getItem()); context.turnOffAuthorisationSystem(); String ePersonToken = getAuthToken(eperson.getEmail(), password); diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/VersionRestRepositoryIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/VersionRestRepositoryIT.java index ed3e811db2ce..bd5702803583 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/VersionRestRepositoryIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/VersionRestRepositoryIT.java @@ -256,7 +256,7 @@ public void findOneWithVersioningDisabledTest() throws Exception { public void versionForItemTest() throws Exception { context.turnOffAuthorisationSystem(); - WorkspaceItem workspaceItem = workspaceItemService.findByItem(context, version.getItem()); + WorkspaceItem workspaceItem = workspaceItemService.findByItem(context.getSession(), version.getItem()); installItemService.installItem(context, workspaceItem); context.restoreAuthSystemState(); getClient().perform(get("/api/core/items/" + version.getItem().getID() + "/version")) @@ -1697,7 +1697,7 @@ protected Item createNewVersion(Item oldItem, String newTitle) throws Exception context.commit(); // archive the new version, this implies that VersioningConsumer will unarchive the previous version - installItemService.installItem(context, workspaceItemService.findByItem(context, newItem)); + installItemService.installItem(context, workspaceItemService.findByItem(context.getSession(), newItem)); context.commit(); context.restoreAuthSystemState(); diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/CanDeleteVersionFeatureIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/CanDeleteVersionFeatureIT.java index df158a949acb..4671856b2615 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/CanDeleteVersionFeatureIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/CanDeleteVersionFeatureIT.java @@ -86,7 +86,7 @@ public void canDeleteVersionsFeatureTest() throws Exception { .build(); Version version = VersionBuilder.createVersion(context, item, "My test summary").build(); - WorkspaceItem workspaceItem = workspaceItemService.findByItem(context, version.getItem()); + WorkspaceItem workspaceItem = workspaceItemService.findByItem(context.getSession(), version.getItem()); installItemService.installItem(context, workspaceItem); context.restoreAuthSystemState(); @@ -171,7 +171,7 @@ public void checkCanDeleteVersionsFeatureByColAndComAdminsTest() throws Exceptio .build(); Version version = VersionBuilder.createVersion(context, item, "My test summary").build(); - WorkspaceItem workspaceItem = workspaceItemService.findByItem(context, version.getItem()); + WorkspaceItem workspaceItem = workspaceItemService.findByItem(context.getSession(), version.getItem()); installItemService.installItem(context, workspaceItem); context.restoreAuthSystemState(); @@ -229,7 +229,7 @@ public void canDeleteVersionsFeatureWithVesionInSubmissionTest() throws Exceptio .build(); Version version = VersionBuilder.createVersion(context, item, "My test summary").build(); - WorkspaceItem workspaceItem = workspaceItemService.findByItem(context, version.getItem()); + WorkspaceItem workspaceItem = workspaceItemService.findByItem(context.getSession(), version.getItem()); context.restoreAuthSystemState(); @@ -276,7 +276,7 @@ public void canDeleteVersionFeatureTest() throws Exception { .build(); Version version = VersionBuilder.createVersion(context, itemA, "My test summary").build(); - WorkspaceItem workspaceItem = workspaceItemService.findByItem(context, version.getItem()); + WorkspaceItem workspaceItem = workspaceItemService.findByItem(context.getSession(), version.getItem()); installItemService.installItem(context, workspaceItem); context.restoreAuthSystemState(); diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/CanSubscribeFeatureIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/CanSubscribeFeatureIT.java index 7eb0960566fc..9d200ce5a6da 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/CanSubscribeFeatureIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/authorization/CanSubscribeFeatureIT.java @@ -156,7 +156,7 @@ public void canNotSubscribeItemTest() throws Exception { .withTitle("Test item") .build(); - cleanUpPermissions(resourcePolicyService.find(context, item)); + cleanUpPermissions(resourcePolicyService.find(context.getSession(), item)); setPermissions(item, groupWithReadPermission, Constants.READ); ItemRest itemRest = itemConverter.convert(item, Projection.DEFAULT); @@ -203,7 +203,7 @@ public void canNotSubscribeCollectionTest() throws Exception { .addMember(eperson) .build(); - cleanUpPermissions(resourcePolicyService.find(context, collectionAuthorized)); + cleanUpPermissions(resourcePolicyService.find(context.getSession(), collectionAuthorized)); setPermissions(collectionAuthorized, groupWithReadPermission, Constants.READ); CollectionRest collectionRest = collectionConverter.convert(collectionAuthorized, Projection.DEFAULT); @@ -252,7 +252,7 @@ public void canNotSubscribeCommunityTest() throws Exception { .addMember(eperson) .build(); - cleanUpPermissions(resourcePolicyService.find(context, communityAuthorized)); + cleanUpPermissions(resourcePolicyService.find(context.getSession(), communityAuthorized)); setPermissions(communityAuthorized, groupWithReadPermission, Constants.READ); CommunityRest communityRest = communityConverter.convert(communityAuthorized, Projection.DEFAULT); diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/csv/CsvImportIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/csv/CsvImportIT.java index 716e4b6dfc43..6605d8e5d757 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/csv/CsvImportIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/csv/CsvImportIT.java @@ -170,9 +170,10 @@ private void assertArticleRelationships(Item article, Item author1, Item author2 throws SQLException { List relationshipsForArticle = relationshipService .findByItemAndRelationshipType(context.getSession(), article, relationshipTypeService - .findbyTypesAndTypeName(context, entityTypeService.findByEntityType(context, "Publication"), - entityTypeService.findByEntityType(context, "Person"), - "isAuthorOfPublication", "isPublicationOfAuthor")); + .findbyTypesAndTypeName(context.getSession(), + entityTypeService.findByEntityType(context.getSession(), "Publication"), + entityTypeService.findByEntityType(context.getSession(), "Person"), + "isAuthorOfPublication", "isPublicationOfAuthor")); assertEquals(3, relationshipsForArticle.size()); List expectedRelationshipsItemsForArticle = new ArrayList<>(); expectedRelationshipsItemsForArticle.add(author2); diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/eperson/DeleteEPersonSubmitterIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/eperson/DeleteEPersonSubmitterIT.java index b78432e68d2e..f230f48b0056 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/eperson/DeleteEPersonSubmitterIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/eperson/DeleteEPersonSubmitterIT.java @@ -249,7 +249,7 @@ public void testVersionItemSubmitterDelete() throws Exception { //TODO: Replace this with a REST call when possible Version version1 = versioningService.createNewVersion(context, item); Integer version1ID = version1.getID(); - WorkspaceItem version1WorkspaceItem = workspaceItemService.findByItem(context, version1.getItem()); + WorkspaceItem version1WorkspaceItem = workspaceItemService.findByItem(context.getSession(), version1.getItem()); installItemService.installItem(context, version1WorkspaceItem); assertDeletionOfEperson(submitter); @@ -263,7 +263,7 @@ public void testVersionItemSubmitterDelete() throws Exception { Version version2 = versioningService.createNewVersion(context, item); Integer version2ID = version2.getID(); - WorkspaceItem version2WorkspaceItem = workspaceItemService.findByItem(context, version2.getItem()); + WorkspaceItem version2WorkspaceItem = workspaceItemService.findByItem(context.getSession(), version2.getItem()); installItemService.installItem(context, version2WorkspaceItem); Item version2Item = retrieveVersionItem(version2ID); assertEquals(submitterForVersion1.getID(), retrieveItemSubmitter(version2Item.getID()).getID()); diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/test/AbstractEntityIntegrationTest.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/test/AbstractEntityIntegrationTest.java index 2c6535ea138d..9523d7368e28 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/test/AbstractEntityIntegrationTest.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/test/AbstractEntityIntegrationTest.java @@ -44,7 +44,7 @@ public class AbstractEntityIntegrationTest extends AbstractControllerIntegration public void setUp() throws Exception { super.setUp(); - if (entityTypeService.findAll(context).size() > 1) { + if (entityTypeService.findAll(context.getSession()).size() > 1) { //Don't initialize the setup more than once return; } diff --git a/dspace-sword/src/main/java/org/dspace/sword/CollectionDepositor.java b/dspace-sword/src/main/java/org/dspace/sword/CollectionDepositor.java index 2550d947d325..43ed2d2f7c5a 100644 --- a/dspace-sword/src/main/java/org/dspace/sword/CollectionDepositor.java +++ b/dspace-sword/src/main/java/org/dspace/sword/CollectionDepositor.java @@ -188,7 +188,7 @@ public DepositResult doDeposit(Deposit deposit) bitstream.setDescription(context, "SWORD deposit package"); BitstreamFormat bf = bitstreamFormatService.findByMIMEType( - context, deposit.getContentType()); + context.getSession(), deposit.getContentType()); if (bf != null) { bitstreamService.setFormat(context, bitstream, bf); } diff --git a/dspace-sword/src/main/java/org/dspace/sword/ItemDepositor.java b/dspace-sword/src/main/java/org/dspace/sword/ItemDepositor.java index bcde6c42f63d..88c3675c6cd0 100644 --- a/dspace-sword/src/main/java/org/dspace/sword/ItemDepositor.java +++ b/dspace-sword/src/main/java/org/dspace/sword/ItemDepositor.java @@ -151,7 +151,7 @@ public DepositResult doDeposit(Deposit deposit) "Original file deposited via SWORD"); BitstreamFormat bf = bitstreamFormatService - .findByMIMEType(context, deposit.getContentType()); + .findByMIMEType(context.getSession(), deposit.getContentType()); if (bf != null) { bitstreamService.setFormat(context, bitstream, bf); } diff --git a/dspace-sword/src/main/java/org/dspace/sword/SWORDConfiguration.java b/dspace-sword/src/main/java/org/dspace/sword/SWORDConfiguration.java index 0bc12934ca91..7fc28eeaefc5 100644 --- a/dspace-sword/src/main/java/org/dspace/sword/SWORDConfiguration.java +++ b/dspace-sword/src/main/java/org/dspace/sword/SWORDConfiguration.java @@ -95,7 +95,7 @@ public class SWORDConfiguration { /** * Accepted formats */ - private List swordaccepts; + private final List swordaccepts; /** * Initialise the sword configuration. It is at this stage that the @@ -135,7 +135,7 @@ public SWORDConfiguration() { // Get the accepted formats String[] acceptsFormats = configurationService .getArrayProperty("sword-server.accepts"); - swordaccepts = new ArrayList(); + swordaccepts = new ArrayList<>(); if (acceptsFormats == null) { acceptsFormats = new String[] {"application/zip"}; } @@ -307,14 +307,14 @@ public String getFailedPackageDir() { public List getAccepts(Context context, DSpaceObject dso) throws DSpaceSWORDException { try { - List accepts = new ArrayList(); + List accepts = new ArrayList<>(); if (dso instanceof Collection) { for (String format : swordaccepts) { accepts.add(format); } } else if (dso instanceof Item) { List bfs = bitstreamFormatService - .findNonInternal(context); + .findNonInternal(context.getSession()); for (BitstreamFormat bf : bfs) { accepts.add(bf.getMIMEType()); } @@ -333,7 +333,7 @@ public List getAccepts(Context context, DSpaceObject dso) * @throws DSpaceSWORDException can be thrown by the internals of the DSpace SWORD implementation */ public List getCollectionAccepts() throws DSpaceSWORDException { - List accepts = new ArrayList(); + List accepts = new ArrayList<>(); for (String format : swordaccepts) { accepts.add(format); } @@ -357,8 +357,8 @@ public List getCollectionAccepts() throws DSpaceSWORDException { * the given collection will accept. */ public Map getAcceptPackaging(Collection col) { - Map identifiers = new HashMap(); - Map qs = new HashMap(); + Map identifiers = new HashMap<>(); + Map qs = new HashMap<>(); String handle = col.getHandle(); // build the holding maps of identifiers and q values diff --git a/dspace-sword/src/main/java/org/dspace/sword/SWORDService.java b/dspace-sword/src/main/java/org/dspace/sword/SWORDService.java index a84289a934ff..b1a36cb2e758 100644 --- a/dspace-sword/src/main/java/org/dspace/sword/SWORDService.java +++ b/dspace-sword/src/main/java/org/dspace/sword/SWORDService.java @@ -56,7 +56,7 @@ public class SWORDService { /** * a holder for the messages coming through from the implementation */ - private StringBuilder verboseDescription = new StringBuilder(); + private final StringBuilder verboseDescription = new StringBuilder(); /** * is this a verbose operation @@ -66,7 +66,7 @@ public class SWORDService { /** * date formatter */ - private SimpleDateFormat dateFormat; + private final SimpleDateFormat dateFormat; /** * Construct a new service instance around the given authenticated @@ -157,7 +157,7 @@ public String getFilename(Context context, Deposit deposit, throws DSpaceSWORDException { try { BitstreamFormat bf = bitstreamFormatService.findByMIMEType( - context, deposit.getContentType()); + context.getSession(), deposit.getContentType()); List exts = null; if (bf != null) { exts = bf.getExtensions(); diff --git a/dspace-sword/src/main/java/org/dspace/sword/SimpleFileIngester.java b/dspace-sword/src/main/java/org/dspace/sword/SimpleFileIngester.java index 7db6764e7c82..488c270066ca 100644 --- a/dspace-sword/src/main/java/org/dspace/sword/SimpleFileIngester.java +++ b/dspace-sword/src/main/java/org/dspace/sword/SimpleFileIngester.java @@ -58,6 +58,7 @@ public class SimpleFileIngester implements SWORDIngester { * @throws DSpaceSWORDException can be thrown by the internals of the DSpace SWORD implementation * @throws SWORDErrorException on generic SWORD exception */ + @Override public DepositResult ingest(SWORDService service, Deposit deposit, DSpaceObject target) throws DSpaceSWORDException, SWORDErrorException { @@ -106,7 +107,7 @@ public DepositResult ingest(SWORDService service, Deposit deposit, swordService.message("File created in item with filename " + fn); BitstreamFormat bf = bitstreamFormatService.findByMIMEType( - context, deposit.getContentType()); + context.getSession(), deposit.getContentType()); if (bf != null) { bs.setFormat(context, bf); } diff --git a/dspace-swordv2/src/main/java/org/dspace/sword2/AbstractSwordContentIngester.java b/dspace-swordv2/src/main/java/org/dspace/sword2/AbstractSwordContentIngester.java index 4e9aa54af5a9..23be49ee6503 100644 --- a/dspace-swordv2/src/main/java/org/dspace/sword2/AbstractSwordContentIngester.java +++ b/dspace-swordv2/src/main/java/org/dspace/sword2/AbstractSwordContentIngester.java @@ -92,7 +92,7 @@ protected BitstreamFormat getFormat(Context context, String fileName) return null; } - List formats = bitstreamFormatService.findAll(context); + List formats = bitstreamFormatService.findAll(context.getSession()); for (BitstreamFormat format : formats) { List extensions = format.getExtensions(); for (String ext : extensions) { diff --git a/dspace-swordv2/src/main/java/org/dspace/sword2/CollectionListManagerDSpace.java b/dspace-swordv2/src/main/java/org/dspace/sword2/CollectionListManagerDSpace.java index daff317b0512..4c0e85816022 100644 --- a/dspace-swordv2/src/main/java/org/dspace/sword2/CollectionListManagerDSpace.java +++ b/dspace-swordv2/src/main/java/org/dspace/sword2/CollectionListManagerDSpace.java @@ -120,7 +120,7 @@ private List listItems(SwordContext sc, Collection collection, // now get the ones out of the workspace List wsis = workspaceItemService - .findByEPerson(sc.getContext(), person); + .findByEPerson(sc.getContext().getSession(), person); for (WorkspaceItem wsi : wsis) { Item item = wsi.getItem(); @@ -141,7 +141,7 @@ private List listItems(SwordContext sc, Collection collection, } // finally get the ones out of the workflow - List wfis = workflowItemService.findBySubmitter(sc.getContext(), + List wfis = workflowItemService.findBySubmitter(sc.getContext().getSession(), person); for (Object found : wfis) { if (found instanceof WorkflowItem) { diff --git a/dspace-swordv2/src/main/java/org/dspace/sword2/DSpaceSwordAPI.java b/dspace-swordv2/src/main/java/org/dspace/sword2/DSpaceSwordAPI.java index ce8fbc20ff56..b8ce4c03aaa0 100644 --- a/dspace-swordv2/src/main/java/org/dspace/sword2/DSpaceSwordAPI.java +++ b/dspace-swordv2/src/main/java/org/dspace/sword2/DSpaceSwordAPI.java @@ -291,7 +291,7 @@ public void storeOriginals(SwordConfigurationDSpace swordConfig, "Original SWORD entry document"); BitstreamFormat bf = bitstreamFormatService - .findByMIMEType(context, "application/xml"); + .findByMIMEType(context.getSession(), "application/xml"); if (bf != null) { entryBitstream.setFormat(context, bf); } @@ -326,7 +326,7 @@ public void storeOriginals(SwordConfigurationDSpace swordConfig, "Original SWORD deposit file"); BitstreamFormat bf = bitstreamFormatService - .findByMIMEType(context, deposit.getMimeType()); + .findByMIMEType(context.getSession(), deposit.getMimeType()); if (bf != null) { bitstream.setFormat(context, bf); } @@ -368,7 +368,7 @@ public String createFilename(Context context, Deposit deposit, throws DSpaceSwordException { try { BitstreamFormat bf = bitstreamFormatService - .findByMIMEType(context, deposit.getMimeType()); + .findByMIMEType(context.getSession(), deposit.getMimeType()); List exts = null; if (bf != null) { exts = bf.getExtensions(); diff --git a/dspace-swordv2/src/main/java/org/dspace/sword2/SwordConfigurationDSpace.java b/dspace-swordv2/src/main/java/org/dspace/sword2/SwordConfigurationDSpace.java index 0cdfc4572fd6..0901c60e5f89 100644 --- a/dspace-swordv2/src/main/java/org/dspace/sword2/SwordConfigurationDSpace.java +++ b/dspace-swordv2/src/main/java/org/dspace/sword2/SwordConfigurationDSpace.java @@ -82,7 +82,7 @@ public class SwordConfigurationDSpace implements SwordConfiguration { /** * Accepted formats */ - private List swordaccepts; + private final List swordaccepts; /** * Initialise the sword configuration. It is at this stage that the @@ -122,7 +122,7 @@ public SwordConfigurationDSpace() { // Get the accepted formats String[] acceptsFormats = configurationService .getArrayProperty("swordv2-server.accepts"); - swordaccepts = new ArrayList(); + swordaccepts = new ArrayList<>(); if (ArrayUtils.isEmpty(acceptsFormats)) { acceptsFormats = new String[] {"application/zip"}; } @@ -175,50 +175,61 @@ public String getStringProperty(String propName, // Required by the SwordConfiguration interface ////////////////////////////////////////////////////////////////////////////////// + @Override public boolean returnDepositReceipt() { return true; } + @Override public boolean returnStackTraceInError() { return configurationService.getBooleanProperty("swordv2-server.verbose-description.error.enable"); } + @Override public boolean returnErrorBody() { return true; } + @Override public String generator() { return this.getStringProperty("swordv2-server.generator.url", DSpaceUriRegistry.DSPACE_SWORD_NS); } + @Override public String generatorVersion() { return this.getStringProperty("swordv2-server.generator.version", "2.0"); } + @Override public String administratorEmail() { return this.getStringProperty("mail.admin", null); } + @Override public String getAuthType() { return this.getStringProperty("swordv2-server.auth-type", "Basic", new String[] {"Basic", "None"}); } + @Override public boolean storeAndCheckBinary() { return true; } + @Override public String getTempDirectory() { return this.getStringProperty("swordv2-server.upload.tempdir", null); } + @Override public String getAlternateUrl() { return configurationService .getProperty("swordv2-server.error.alternate.url"); } + @Override public String getAlternateUrlContentType() { return configurationService .getProperty("swordv2-server.error.alternate.content-type"); @@ -235,7 +246,7 @@ public SwordUrlManager getUrlManager(Context context, public List getDisseminatePackaging() throws DSpaceSwordException, SwordError { - List dps = new ArrayList(); + List dps = new ArrayList<>(); List packagingFormats = configurationService.getPropertyKeys("swordv2-server.disseminate-packaging"); for (String key : packagingFormats) { String value = configurationService.getProperty(key); @@ -308,6 +319,7 @@ public void setVerbose(boolean verbose) { * * @return max upload size */ + @Override public int getMaxUploadSize() { return maxUploadSize; } @@ -407,7 +419,7 @@ public String getFailedPackageDir() { public List getAccepts(Context context, DSpaceObject dso) throws DSpaceSwordException { try { - List accepts = new ArrayList(); + List accepts = new ArrayList<>(); if (dso instanceof Collection) { for (String format : swordaccepts) { accepts.add(format); @@ -416,7 +428,7 @@ public List getAccepts(Context context, DSpaceObject dso) // items will take any of the bitstream formats registered, plus // any swordaccepts mimetypes List bfs = bitstreamFormatService - .findNonInternal(context); + .findNonInternal(context.getSession()); for (BitstreamFormat bf : bfs) { accepts.add(bf.getMIMEType()); } @@ -440,7 +452,7 @@ public List getAccepts(Context context, DSpaceObject dso) * @throws DSpaceSwordException can be thrown by the internals of the DSpace SWORD implementation */ public List getCollectionAccepts() throws DSpaceSwordException { - List accepts = new ArrayList(); + List accepts = new ArrayList<>(); for (String format : swordaccepts) { accepts.add(format); } @@ -467,7 +479,7 @@ public List getAcceptPackaging(Collection col) { // accept-packaging.METSDSpaceSIP = http://purl.org/net/sword-types/METSDSpaceSIP // accept-packaging.[handle].METSDSpaceSIP = http://purl.org/net/sword-types/METSDSpaceSIP String handle = col.getHandle(); - List aps = new ArrayList(); + List aps = new ArrayList<>(); // build the holding maps of identifiers String acceptPackagingPrefix = "swordv2-server.accept-packaging.collection"; @@ -486,7 +498,7 @@ public List getAcceptPackaging(Collection col) { // is there NO handle boolean general = false; - if (suffix.indexOf(".") == -1) { + if (!suffix.contains(".")) { // a handle would be separated from the identifier of the package type general = true; } @@ -501,7 +513,7 @@ public List getAcceptPackaging(Collection col) { } public List getItemAcceptPackaging() { - List aps = new ArrayList(); + List aps = new ArrayList<>(); // build the holding maps of identifiers String acceptPackagingPrefix = "swordv2-server.accept-packaging.item"; @@ -611,6 +623,7 @@ public String getStateDescription(String state) { .getProperty("swordv2-server.state." + state + ".description"); } + @Override public boolean allowUnauthenticatedMediaAccess() { return false; } diff --git a/dspace-swordv2/src/main/java/org/dspace/sword2/WorkflowTools.java b/dspace-swordv2/src/main/java/org/dspace/sword2/WorkflowTools.java index bb20866447d4..e8c0e062d64f 100644 --- a/dspace-swordv2/src/main/java/org/dspace/sword2/WorkflowTools.java +++ b/dspace-swordv2/src/main/java/org/dspace/sword2/WorkflowTools.java @@ -51,7 +51,7 @@ public class WorkflowTools { public boolean isItemInWorkflow(Context context, Item item) throws DSpaceSwordException { try { - return workflowItemService.findByItem(context, item) != null; + return workflowItemService.findByItem(context.getSession(), item) != null; } catch (SQLException e) { throw new DSpaceSwordException(e); } @@ -71,7 +71,7 @@ public boolean isItemInWorkflow(Context context, Item item) public boolean isItemInWorkspace(Context context, Item item) throws DSpaceSwordException { try { - return workspaceItemService.findByItem(context, item) != null; + return workspaceItemService.findByItem(context.getSession(), item) != null; } catch (SQLException e) { throw new DSpaceSwordException(e); } @@ -91,7 +91,7 @@ public boolean isItemInWorkspace(Context context, Item item) public WorkflowItem getWorkflowItem(Context context, Item item) throws DSpaceSwordException { try { - return workflowItemService.findByItem(context, item); + return workflowItemService.findByItem(context.getSession(), item); } catch (SQLException e) { throw new DSpaceSwordException(e); } @@ -111,7 +111,7 @@ public WorkflowItem getWorkflowItem(Context context, Item item) public WorkspaceItem getWorkspaceItem(Context context, Item item) throws DSpaceSwordException { try { - return workspaceItemService.findByItem(context, item); + return workspaceItemService.findByItem(context.getSession(), item); } catch (SQLException e) { throw new DSpaceSwordException(e); } From dbb998bd59e7ad4a44356886834767b8aa63ecc5 Mon Sep 17 00:00:00 2001 From: "Mark H. Wood" Date: Fri, 15 Sep 2023 15:18:12 -0400 Subject: [PATCH 07/14] More checkstyle. --- .../java/org/dspace/authorize/AuthorizeServiceImpl.java | 3 ++- .../dspace/content/RelationshipMetadataServiceImpl.java | 5 +++-- .../dspace/app/rest/RelationshipTypeRestRepositoryIT.java | 7 ++++--- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/dspace-api/src/main/java/org/dspace/authorize/AuthorizeServiceImpl.java b/dspace-api/src/main/java/org/dspace/authorize/AuthorizeServiceImpl.java index 427b352b71a9..34bcbf7b51f1 100644 --- a/dspace-api/src/main/java/org/dspace/authorize/AuthorizeServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/authorize/AuthorizeServiceImpl.java @@ -640,7 +640,8 @@ public boolean isAnIdenticalPolicyAlreadyInPlace(Context c, DSpaceObject o, Reso @Override public boolean isAnIdenticalPolicyAlreadyInPlace(Context c, DSpaceObject dso, Group group, int action, int policyID) throws SQLException { - return !resourcePolicyService.findByTypeGroupActionExceptId(c.getSession(), dso, group, action, policyID).isEmpty(); + return !resourcePolicyService.findByTypeGroupActionExceptId(c.getSession(), + dso, group, action, policyID).isEmpty(); } @Override diff --git a/dspace-api/src/main/java/org/dspace/content/RelationshipMetadataServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/RelationshipMetadataServiceImpl.java index 831ce5e80783..9031b242ff32 100644 --- a/dspace-api/src/main/java/org/dspace/content/RelationshipMetadataServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/RelationshipMetadataServiceImpl.java @@ -256,8 +256,9 @@ private List findVirtualMetadataFromConfiguration(Con String wardLabel = isLeftwards ? relationship.getLeftwardValue() : relationship.getRightwardValue(); if (wardLabel != null) { resultingMetadataValueList.add( - constructRelationshipMetadataValue(context.getSession(), item, relationship.getID(), place, key, virtualBean, - wardLabel)); + constructRelationshipMetadataValue(context.getSession(), + item, relationship.getID(), place, key, + virtualBean, wardLabel)); } else { resultingMetadataValueList.addAll( findRelationshipMetadataValueFromBean(context, item, otherItem, relationship, place, key, diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/RelationshipTypeRestRepositoryIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/RelationshipTypeRestRepositoryIT.java index 1ac69fd065d6..d14b46023d63 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/RelationshipTypeRestRepositoryIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/RelationshipTypeRestRepositoryIT.java @@ -241,9 +241,10 @@ public void entityTypeForIssueJournalRelationshipTypeTest() throws Exception { @Test public void cardinalityOnIssueJournalJournalVolumeRelationshipTypesTest() throws Exception { RelationshipType relationshipType = relationshipTypeService - .findbyTypesAndTypeName(context.getSession(), entityTypeService.findByEntityType(context.getSession(), "JournalVolume"), - entityTypeService.findByEntityType(context.getSession(), "JournalIssue"), - "isIssueOfJournalVolume", "isJournalVolumeOfIssue"); + .findbyTypesAndTypeName(context.getSession(), + entityTypeService.findByEntityType(context.getSession(), "JournalVolume"), + entityTypeService.findByEntityType(context.getSession(), "JournalIssue"), + "isIssueOfJournalVolume", "isJournalVolumeOfIssue"); assertEquals(((Integer) 0), relationshipType.getLeftMinCardinality()); assertEquals(((Integer) 1), relationshipType.getRightMinCardinality()); assertNull(relationshipType.getLeftMaxCardinality()); From bd47d70298be0bd0ba748dfe6c4dc07b70c0ea64 Mon Sep 17 00:00:00 2001 From: "Mark H. Wood" Date: Fri, 15 Sep 2023 17:06:55 -0400 Subject: [PATCH 08/14] More find methods. --- .../alerts/SystemWideAlertServiceImpl.java | 21 ++++++++------- .../service/SystemWideAlertService.java | 23 +++++++++------- .../app/itemimport/ItemImportServiceImpl.java | 4 +-- .../org/dspace/content/ItemServiceImpl.java | 2 +- .../content/WorkspaceItemServiceImpl.java | 2 +- .../org/dspace/handle/HandleServiceImpl.java | 19 +++++++------- .../dspace/handle/service/HandleService.java | 7 ++--- .../identifier/DOIIdentifierProvider.java | 17 ++++++------ .../org/dspace/identifier/DOIServiceImpl.java | 13 +++++----- .../identifier/HandleIdentifierProvider.java | 2 +- .../VersionedHandleIdentifierProvider.java | 2 +- ...dentifierProviderWithCanonicalHandles.java | 4 +-- .../dspace/identifier/doi/DOIConsumer.java | 4 +-- .../dspace/identifier/doi/DOIOrganiser.java | 14 +++++----- .../dspace/identifier/service/DOIService.java | 13 +++++----- .../xmlworkflow/XmlWorkflowServiceImpl.java | 4 +-- .../alerts/SystemWideAlertServiceTest.java | 9 ++++--- .../identifier/DOIIdentifierProviderTest.java | 26 +++++++++---------- .../services/impl/DSpaceHandleResolver.java | 2 +- .../repository/IdentifierRestRepository.java | 6 ++--- .../ItemIdentifierLinkRepository.java | 4 +-- .../SystemWideAlertRestRepository.java | 13 +++++----- .../rest/submit/step/ShowIdentifiersStep.java | 3 ++- .../app/rest/IdentifierRestRepositoryIT.java | 6 ++--- .../org/dspace/sword/SWORDMETSIngester.java | 2 +- .../sword2/SwordMETSContentIngester.java | 2 +- 26 files changed, 118 insertions(+), 106 deletions(-) diff --git a/dspace-api/src/main/java/org/dspace/alerts/SystemWideAlertServiceImpl.java b/dspace-api/src/main/java/org/dspace/alerts/SystemWideAlertServiceImpl.java index a584779ac8e5..a49fa4ff8a2a 100644 --- a/dspace-api/src/main/java/org/dspace/alerts/SystemWideAlertServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/alerts/SystemWideAlertServiceImpl.java @@ -20,6 +20,7 @@ import org.dspace.core.Context; import org.dspace.core.LogHelper; import org.dspace.eperson.EPerson; +import org.hibernate.Session; import org.springframework.beans.factory.annotation.Autowired; /** @@ -62,24 +63,24 @@ public SystemWideAlert create(final Context context, final String message, } @Override - public SystemWideAlert find(final Context context, final int alertId) throws SQLException { - return systemWideAlertDAO.findByID(context.getSession(), SystemWideAlert.class, alertId); + public SystemWideAlert find(final Session session, final int alertId) throws SQLException { + return systemWideAlertDAO.findByID(session, SystemWideAlert.class, alertId); } @Override - public List findAll(final Context context) throws SQLException { - return systemWideAlertDAO.findAll(context.getSession(), SystemWideAlert.class); + public List findAll(final Session session) throws SQLException { + return systemWideAlertDAO.findAll(session, SystemWideAlert.class); } @Override - public List findAll(final Context context, final int limit, final int offset) throws SQLException { - return systemWideAlertDAO.findAll(context.getSession(), limit, offset); + public List findAll(final Session session, final int limit, final int offset) throws SQLException { + return systemWideAlertDAO.findAll(session.getSession(), limit, offset); } @Override - public List findAllActive(final Context context, final int limit, final int offset) + public List findAllActive(final Session session, final int limit, final int offset) throws SQLException { - return systemWideAlertDAO.findAllActive(context.getSession(), limit, offset); + return systemWideAlertDAO.findAllActive(session.getSession(), limit, offset); } @Override @@ -108,7 +109,7 @@ public void update(final Context context, final SystemWideAlert systemWideAlert) @Override public boolean canNonAdminUserLogin(Context context) throws SQLException { - List active = findAllActive(context, 1, 0); + List active = findAllActive(context.getSession(), 1, 0); if (active == null || active.isEmpty()) { return true; } @@ -120,7 +121,7 @@ public boolean canUserMaintainSession(Context context, EPerson ePerson) throws S if (authorizeService.isAdmin(context, ePerson)) { return true; } - List active = findAllActive(context, 1, 0); + List active = findAllActive(context.getSession(), 1, 0); if (active == null || active.isEmpty()) { return true; } diff --git a/dspace-api/src/main/java/org/dspace/alerts/service/SystemWideAlertService.java b/dspace-api/src/main/java/org/dspace/alerts/service/SystemWideAlertService.java index cf231308849d..62ec588a49d6 100644 --- a/dspace-api/src/main/java/org/dspace/alerts/service/SystemWideAlertService.java +++ b/dspace-api/src/main/java/org/dspace/alerts/service/SystemWideAlertService.java @@ -17,6 +17,7 @@ import org.dspace.authorize.AuthorizeException; import org.dspace.core.Context; import org.dspace.eperson.EPerson; +import org.hibernate.Session; /** * An interface for the SystemWideAlertService with methods regarding the SystemWideAlert workload @@ -32,7 +33,9 @@ public interface SystemWideAlertService { * @param countdownTo The date to which to count down to when the system-wide alert is active * @param active Whether the system-wide alert os active * @return The created SystemWideAlert object - * @throws SQLException If something goes wrong + * @throws SQLException If something goes wrong + * @throws AuthorizeException if current user is not an + * administrator. */ SystemWideAlert create(Context context, String message, AllowSessionsEnum allowSessionsType, Date countdownTo, boolean active @@ -41,42 +44,44 @@ SystemWideAlert create(Context context, String message, AllowSessionsEnum allowS /** * This method will retrieve a SystemWideAlert object from the Database with the given ID * - * @param context The relevant DSpace context + * @param session current request's database context. * @param alertId The alert id on which we'll search for in the database * @return The system-wide alert that holds the given alert id * @throws SQLException If something goes wrong */ - SystemWideAlert find(Context context, int alertId) throws SQLException; + SystemWideAlert find(Session session, int alertId) throws SQLException; /** * Returns a list of all SystemWideAlert objects in the database * - * @param context The relevant DSpace context + * @param session current request's database context. * @return The list of all SystemWideAlert objects in the Database * @throws SQLException If something goes wrong */ - List findAll(Context context) throws SQLException; + List findAll(Session session) throws SQLException; /** * Returns a list of all SystemWideAlert objects in the database * - * @param context The relevant DSpace context + * @param session current request's database context. * @param limit The limit for the amount of system-wide alerts returned * @param offset The offset for the system-wide alerts to be returned * @return The list of all SystemWideAlert objects in the Database * @throws SQLException If something goes wrong */ - List findAll(Context context, int limit, int offset) throws SQLException; + List findAll(Session session, int limit, int offset) throws SQLException; /** * Returns a list of all active SystemWideAlert objects in the database * - * @param context The relevant DSpace context + * @param session current request's database context. + * @param limit return at most this many alerts. + * @param offset start at this alert in the list. * @return The list of all active SystemWideAlert objects in the database * @throws SQLException If something goes wrong */ - List findAllActive(Context context, int limit, int offset) throws SQLException; + List findAllActive(Session session, int limit, int offset) throws SQLException; /** * This method will delete the given SystemWideAlert object from the database diff --git a/dspace-api/src/main/java/org/dspace/app/itemimport/ItemImportServiceImpl.java b/dspace-api/src/main/java/org/dspace/app/itemimport/ItemImportServiceImpl.java index 59d2f3e5f6a0..9b54015bd158 100644 --- a/dspace-api/src/main/java/org/dspace/app/itemimport/ItemImportServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/app/itemimport/ItemImportServiceImpl.java @@ -782,13 +782,13 @@ protected Item addItem(Context c, List mycollections, String path, } // find the handle, and output to map file - myhandle = handleService.findHandle(c, myitem); + myhandle = handleService.findHandle(c.getSession(), myitem); mapOutputString = itemname + " " + myhandle; } // set permissions if specified in contents file - if (options.size() > 0) { + if (!options.isEmpty()) { logInfo("Processing options"); processOptions(c, myitem, options); } diff --git a/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java index dfb46c7dc67c..c166710fb66a 100644 --- a/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java @@ -796,7 +796,7 @@ protected void rawDelete(Context context, Item item) throws AuthorizeException, // hibernate will throw a foreign constraint exception. // Here we use the DOI service directly as it is able to manage DOIs even without any configured // consumer or provider. - DOI doi = doiService.findDOIByDSpaceObject(context, item); + DOI doi = doiService.findDOIByDSpaceObject(context.getSession(), item); if (doi != null) { doi.setDSpaceObject(null); } diff --git a/dspace-api/src/main/java/org/dspace/content/WorkspaceItemServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/WorkspaceItemServiceImpl.java index 205e0e47874d..6cb0775df4e3 100644 --- a/dspace-api/src/main/java/org/dspace/content/WorkspaceItemServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/WorkspaceItemServiceImpl.java @@ -177,7 +177,7 @@ public WorkspaceItem create(Context context, Collection collection, UUID uuid, b Map, Filter> filters = FilterUtils.getIdentifierFilters(true); IdentifierServiceFactory.getInstance().getIdentifierService().register(context, item, filters); // Look for a DOI and move it to PENDING - DOI doi = doiService.findDOIByDSpaceObject(context, item); + DOI doi = doiService.findDOIByDSpaceObject(context.getSession(), item); if (doi != null) { doi.setStatus(DOIIdentifierProvider.PENDING); doiService.update(context, doi); diff --git a/dspace-api/src/main/java/org/dspace/handle/HandleServiceImpl.java b/dspace-api/src/main/java/org/dspace/handle/HandleServiceImpl.java index ef0a7625ba1e..4c92f1ae9dbb 100644 --- a/dspace-api/src/main/java/org/dspace/handle/HandleServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/handle/HandleServiceImpl.java @@ -25,6 +25,7 @@ import org.dspace.handle.dao.HandleDAO; import org.dspace.handle.service.HandleService; import org.dspace.services.ConfigurationService; +import org.hibernate.Session; import org.springframework.beans.factory.annotation.Autowired; /** @@ -75,7 +76,7 @@ protected HandleServiceImpl() { @Override public String resolveToURL(Context context, String handle) throws SQLException { - Handle dbhandle = findHandleInternal(context, handle); + Handle dbhandle = findHandleInternal(context.getSession(), handle); if (dbhandle == null) { return null; @@ -114,7 +115,7 @@ public String resolveUrlToHandle(Context context, String url) while (handle.startsWith("/")) { handle = handle.substring(1); } - Handle dbhandle = findHandleInternal(context, handle); + Handle dbhandle = findHandleInternal(context.getSession(), handle); return (null == dbhandle) ? null : handle; } @@ -165,7 +166,7 @@ public String createHandle(Context context, DSpaceObject dso, public String createHandle(Context context, DSpaceObject dso, String suppliedHandle, boolean force) throws SQLException, IllegalStateException { //Check if the supplied handle is already in use -- cannot use the same handle twice - Handle handle = findHandleInternal(context, suppliedHandle); + Handle handle = findHandleInternal(context.getSession(), suppliedHandle); if (handle != null && handle.getDSpaceObject() != null) { //Check if this handle is already linked up to this specified DSpace Object if (handle.getDSpaceObject().getID().equals(dso.getID())) { @@ -241,7 +242,7 @@ public void unbindHandle(Context context, DSpaceObject dso) @Override public DSpaceObject resolveToObject(Context context, String handle) throws IllegalStateException, SQLException { - Handle dbhandle = findHandleInternal(context, handle); + Handle dbhandle = findHandleInternal(context.getSession(), handle); // check if handle was allocated previously, but is currently not // associated with a DSpaceObject // (this may occur when 'unbindHandle()' is called for an obj that was removed) @@ -255,7 +256,7 @@ public DSpaceObject resolveToObject(Context context, String handle) } @Override - public String findHandle(Context context, DSpaceObject dso) + public String findHandle(Session session, DSpaceObject dso) throws SQLException { List handles = dso.getHandles(); if (CollectionUtils.isEmpty(handles)) { @@ -309,7 +310,7 @@ public int updateHandlesWithNewPrefix(Context context, String newPrefix, String @Override public void modifyHandleDSpaceObject(Context context, String handle, DSpaceObject newOwner) throws SQLException { - Handle dbHandle = findHandleInternal(context, handle); + Handle dbHandle = findHandleInternal(context.getSession(), handle); if (dbHandle != null) { // Check if we have to remove the handle from the current handle list // or if object is alreday deleted. @@ -332,18 +333,18 @@ public void modifyHandleDSpaceObject(Context context, String handle, DSpaceObjec /** * Find the database row corresponding to handle. * - * @param context DSpace context + * @param session current request's database context. * @param handle The handle to resolve * @return The database row corresponding to the handle * @throws SQLException If a database error occurs */ - protected Handle findHandleInternal(Context context, String handle) + protected Handle findHandleInternal(Session session, String handle) throws SQLException { if (handle == null) { throw new IllegalArgumentException("Handle is null"); } - return handleDAO.findByHandle(context.getSession(), handle); + return handleDAO.findByHandle(session, handle); } /** diff --git a/dspace-api/src/main/java/org/dspace/handle/service/HandleService.java b/dspace-api/src/main/java/org/dspace/handle/service/HandleService.java index 85950ab6db87..fe05bc07ae35 100644 --- a/dspace-api/src/main/java/org/dspace/handle/service/HandleService.java +++ b/dspace-api/src/main/java/org/dspace/handle/service/HandleService.java @@ -12,6 +12,7 @@ import org.dspace.content.DSpaceObject; import org.dspace.core.Context; +import org.hibernate.Session; /** * Interface to the CNRI Handle @@ -147,12 +148,12 @@ public DSpaceObject resolveToObject(Context context, String handle) /** * Return the handle for an Object, or null if the Object has no handle. * - * @param context DSpace context + * @param session current request's database context. * @param dso The object to obtain a handle for * @return The handle for object, or null if the object has no handle. * @throws SQLException If a database error occurs */ - public String findHandle(Context context, DSpaceObject dso) + public String findHandle(Session session, DSpaceObject dso) throws SQLException; /** @@ -196,7 +197,7 @@ public List getHandlesForPrefix(Context context, String prefix) /** * Gets the additional prefixes used for handles, * mapped in configuration file. - * + * * @return `String[]` array of prefixes */ String[] getAdditionalPrefixes(); diff --git a/dspace-api/src/main/java/org/dspace/identifier/DOIIdentifierProvider.java b/dspace-api/src/main/java/org/dspace/identifier/DOIIdentifierProvider.java index b70eda960d35..5b90d55609e2 100644 --- a/dspace-api/src/main/java/org/dspace/identifier/DOIIdentifierProvider.java +++ b/dspace-api/src/main/java/org/dspace/identifier/DOIIdentifierProvider.java @@ -490,10 +490,10 @@ public void updateMetadata(Context context, DSpaceObject dso, String identifier) // Use the default filter unless we find the object Filter updateFilter = this.filter; - if (doiService.findDOIByDSpaceObject(context, dso) != null) { + if (doiService.findDOIByDSpaceObject(context.getSession(), dso) != null) { // We can skip the filter here since we know the DOI already exists for the item log.debug("updateMetadata: found DOIByDSpaceObject: " + - doiService.findDOIByDSpaceObject(context, dso).getDoi()); + doiService.findDOIByDSpaceObject(context.getSession(), dso).getDoi()); updateFilter = DSpaceServicesFactory.getInstance().getServiceManager().getServiceByName( "always_true_filter", TrueFilter.class); } @@ -542,7 +542,7 @@ public void updateMetadataOnline(Context context, DSpaceObject dso, String ident // ensure DOI belongs to dso regarding our db DOI doiRow = null; try { - doiRow = doiService.findByDoi(context, doi.substring(DOI.SCHEME.length())); + doiRow = doiService.findByDoi(context.getSession(), doi.substring(DOI.SCHEME.length())); } catch (SQLException sqle) { log.warn("SQLException while searching a DOI in our db.", sqle); throw new RuntimeException("Unable to retrieve information about a DOI out of database.", sqle); @@ -757,7 +757,7 @@ public void delete(Context context, DSpaceObject dso, String identifier) DOI doiRow = null; try { - doiRow = doiService.findByDoi(context, doi.substring(DOI.SCHEME.length())); + doiRow = doiService.findByDoi(context.getSession(), doi.substring(DOI.SCHEME.length())); } catch (SQLException sqle) { throw new RuntimeException(sqle); } @@ -816,7 +816,7 @@ public void deleteOnline(Context context, String identifier) throws DOIIdentifie DOI doiRow = null; try { - doiRow = doiService.findByDoi(context, doi.substring(DOI.SCHEME.length())); + doiRow = doiService.findByDoi(context.getSession(), doi.substring(DOI.SCHEME.length())); } catch (SQLException sqle) { throw new RuntimeException(sqle); } @@ -856,7 +856,7 @@ public void deleteOnline(Context context, String identifier) throws DOIIdentifie public DSpaceObject getObjectByDOI(Context context, String identifier) throws SQLException, DOIIdentifierException, IllegalArgumentException { String doi = doiService.formatIdentifier(identifier); - DOI doiRow = doiService.findByDoi(context, doi.substring(DOI.SCHEME.length())); + DOI doiRow = doiService.findByDoi(context.getSession(), doi.substring(DOI.SCHEME.length())); if (null == doiRow) { return null; @@ -884,7 +884,8 @@ public String getDOIByObject(Context context, DSpaceObject dso) throws SQLExcept // String sql = "SELECT * FROM Doi WHERE resource_type_id = ? " + // "AND resource_id = ? AND ((status != ? AND status != ?) OR status IS NULL)"; - DOI doiRow = doiService.findDOIByDSpaceObject(context, dso, Arrays.asList(DELETED, TO_BE_DELETED)); + DOI doiRow = doiService.findDOIByDSpaceObject(context.getSession(), dso, + Arrays.asList(DELETED, TO_BE_DELETED)); if (null == doiRow) { return null; } @@ -949,7 +950,7 @@ protected DOI loadOrCreateDOI(Context context, DSpaceObject dso, String doiIdent doiIdentifier = doiIdentifier.substring(DOI.SCHEME.length()); // check if DOI is already in Database - doi = doiService.findByDoi(context, doiIdentifier); + doi = doiService.findByDoi(context.getSession(), doiIdentifier); if (null != doi) { if (doi.getDSpaceObject() == null) { // doi was deleted, check resource type diff --git a/dspace-api/src/main/java/org/dspace/identifier/DOIServiceImpl.java b/dspace-api/src/main/java/org/dspace/identifier/DOIServiceImpl.java index e3fde13f588e..17404c5cf6b7 100644 --- a/dspace-api/src/main/java/org/dspace/identifier/DOIServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/identifier/DOIServiceImpl.java @@ -18,6 +18,7 @@ import org.dspace.identifier.doi.DOIIdentifierException; import org.dspace.identifier.service.DOIService; import org.dspace.services.ConfigurationService; +import org.hibernate.Session; import org.springframework.beans.factory.annotation.Autowired; /** @@ -58,19 +59,19 @@ public DOI create(Context context) throws SQLException { } @Override - public DOI findByDoi(Context context, String doi) throws SQLException { - return doiDAO.findByDoi(context.getSession(), doi); + public DOI findByDoi(Session session, String doi) throws SQLException { + return doiDAO.findByDoi(session, doi); } @Override - public DOI findDOIByDSpaceObject(Context context, DSpaceObject dso) throws SQLException { - return doiDAO.findDOIByDSpaceObject(context.getSession(), dso); + public DOI findDOIByDSpaceObject(Session session, DSpaceObject dso) throws SQLException { + return doiDAO.findDOIByDSpaceObject(session, dso); } @Override - public DOI findDOIByDSpaceObject(Context context, DSpaceObject dso, List statusToExclude) + public DOI findDOIByDSpaceObject(Session session, DSpaceObject dso, List statusToExclude) throws SQLException { - return doiDAO.findDOIByDSpaceObject(context.getSession(), dso, statusToExclude); + return doiDAO.findDOIByDSpaceObject(session, dso, statusToExclude); } @Override diff --git a/dspace-api/src/main/java/org/dspace/identifier/HandleIdentifierProvider.java b/dspace-api/src/main/java/org/dspace/identifier/HandleIdentifierProvider.java index 59a1e13a2166..e923a2a25308 100644 --- a/dspace-api/src/main/java/org/dspace/identifier/HandleIdentifierProvider.java +++ b/dspace-api/src/main/java/org/dspace/identifier/HandleIdentifierProvider.java @@ -155,7 +155,7 @@ public String lookup(Context context, DSpaceObject dso) throws IdentifierNotFoundException, IdentifierNotResolvableException { try { - return handleService.findHandle(context, dso); + return handleService.findHandle(context.getSession(), dso); } catch (SQLException sqe) { throw new IdentifierNotResolvableException(sqe.getMessage(), sqe); } diff --git a/dspace-api/src/main/java/org/dspace/identifier/VersionedHandleIdentifierProvider.java b/dspace-api/src/main/java/org/dspace/identifier/VersionedHandleIdentifierProvider.java index 4f9efd220695..597204019637 100644 --- a/dspace-api/src/main/java/org/dspace/identifier/VersionedHandleIdentifierProvider.java +++ b/dspace-api/src/main/java/org/dspace/identifier/VersionedHandleIdentifierProvider.java @@ -314,7 +314,7 @@ public String lookup(Context context, DSpaceObject dso) throws IdentifierNotFoundException, IdentifierNotResolvableException { try { - return handleService.findHandle(context, dso); + return handleService.findHandle(context.getSession(), dso); } catch (SQLException sqe) { throw new IdentifierNotResolvableException(sqe.getMessage(), sqe); } diff --git a/dspace-api/src/main/java/org/dspace/identifier/VersionedHandleIdentifierProviderWithCanonicalHandles.java b/dspace-api/src/main/java/org/dspace/identifier/VersionedHandleIdentifierProviderWithCanonicalHandles.java index e6a092c47284..66c4f6e04235 100644 --- a/dspace-api/src/main/java/org/dspace/identifier/VersionedHandleIdentifierProviderWithCanonicalHandles.java +++ b/dspace-api/src/main/java/org/dspace/identifier/VersionedHandleIdentifierProviderWithCanonicalHandles.java @@ -122,7 +122,7 @@ public String register(Context context, DSpaceObject dso) { previous = versionHistoryService.getPrevious(context, history, version); if (previous != null) { previousIsFirstVersion = versionHistoryService.isFirstVersion(context, history, previous); - previousItemHandle = handleService.findHandle(context, previous.getItem()); + previousItemHandle = handleService.findHandle(context.getSession(), previous.getItem()); } } catch (SQLException ex) { throw new RuntimeException("A problem with the database connection occured.", ex); @@ -336,7 +336,7 @@ public String lookup(Context context, DSpaceObject dso) throws IdentifierNotFoundException, IdentifierNotResolvableException { try { - return handleService.findHandle(context, dso); + return handleService.findHandle(context.getSession(), dso); } catch (SQLException sqe) { throw new IdentifierNotResolvableException(sqe.getMessage(), sqe); } diff --git a/dspace-api/src/main/java/org/dspace/identifier/doi/DOIConsumer.java b/dspace-api/src/main/java/org/dspace/identifier/doi/DOIConsumer.java index e37a59f89179..014f2c8a0d67 100644 --- a/dspace-api/src/main/java/org/dspace/identifier/doi/DOIConsumer.java +++ b/dspace-api/src/main/java/org/dspace/identifier/doi/DOIConsumer.java @@ -95,7 +95,7 @@ public void consume(Context ctx, Event event) throws Exception { } DOI doi = null; try { - doi = doiService.findDOIByDSpaceObject(ctx, dso); + doi = doiService.findDOIByDSpaceObject(ctx.getSession(), dso); } catch (SQLException ex) { // nothing to do here, next if clause will stop us from processing // items without dois. @@ -105,7 +105,7 @@ public void consume(Context ctx, Event event) throws Exception { // it passes the workspace filter. We also need to update status to PENDING straight after. if (inProgress) { provider.mint(ctx, dso, workspaceFilter); - DOI newDoi = doiService.findDOIByDSpaceObject(ctx, dso); + DOI newDoi = doiService.findDOIByDSpaceObject(ctx.getSession(), dso); if (newDoi != null) { newDoi.setStatus(DOIIdentifierProvider.PENDING); doiService.update(ctx, newDoi); diff --git a/dspace-api/src/main/java/org/dspace/identifier/doi/DOIOrganiser.java b/dspace-api/src/main/java/org/dspace/identifier/doi/DOIOrganiser.java index 92fdc7814c8c..e05300fcd0ed 100644 --- a/dspace-api/src/main/java/org/dspace/identifier/doi/DOIOrganiser.java +++ b/dspace-api/src/main/java/org/dspace/identifier/doi/DOIOrganiser.java @@ -378,7 +378,7 @@ public void list(String processName, PrintStream out, PrintStream err, Integer . try { List doiList = doiService.getDOIsByStatus(context, Arrays.asList(status)); - if (0 < doiList.size()) { + if (!doiList.isEmpty()) { out.println("DOIs queued for " + processName + ": "); } else { out.println("There are no DOIs queued for " + processName + "."); @@ -630,7 +630,7 @@ public void delete(String identifier) throws SQLException { doi = doiService.formatIdentifier(identifier); // If there's no exception: we found a valid DOI. :) - doiRow = doiService.findByDoi(context, + doiRow = doiService.findByDoi(context.getSession(), doi.substring(DOI.SCHEME.length())); if (null == doiRow) { @@ -696,12 +696,12 @@ public DOI resolveToDOI(String identifier) DSpaceObject dso = itemService.find(context.getSession(), UUID.fromString(identifier)); if (null != dso) { - doiRow = doiService.findDOIByDSpaceObject(context, dso); + doiRow = doiService.findDOIByDSpaceObject(context.getSession(), dso); //Check if this Item has an Identifier, mint one if it doesn't if (null == doiRow) { doi = provider.mint(context, dso, this.filter); - doiRow = doiService.findByDoi(context, + doiRow = doiService.findByDoi(context.getSession(), doi.substring(DOI.SCHEME.length())); return doiRow; } @@ -721,11 +721,11 @@ public DOI resolveToDOI(String identifier) + "Cannot process specified handle as it does not identify an Item."); } - doiRow = doiService.findDOIByDSpaceObject(context, dso); + doiRow = doiService.findDOIByDSpaceObject(context.getSession(), dso); if (null == doiRow) { doi = provider.mint(context, dso, this.filter); - doiRow = doiService.findByDoi(context, + doiRow = doiService.findByDoi(context.getSession(), doi.substring(DOI.SCHEME.length())); } return doiRow; @@ -734,7 +734,7 @@ public DOI resolveToDOI(String identifier) try { doi = doiService.formatIdentifier(identifier); // If there's no exception: we found a valid DOI. :) - doiRow = doiService.findByDoi(context, + doiRow = doiService.findByDoi(context.getSession(), doi.substring(DOI.SCHEME.length())); if (null == doiRow) { throw new IllegalStateException("You specified a valid DOI, that is not stored in our database."); diff --git a/dspace-api/src/main/java/org/dspace/identifier/service/DOIService.java b/dspace-api/src/main/java/org/dspace/identifier/service/DOIService.java index 5bd68a90615f..e79f679fca39 100644 --- a/dspace-api/src/main/java/org/dspace/identifier/service/DOIService.java +++ b/dspace-api/src/main/java/org/dspace/identifier/service/DOIService.java @@ -15,6 +15,7 @@ import org.dspace.identifier.DOI; import org.dspace.identifier.IdentifierException; import org.dspace.identifier.doi.DOIIdentifierException; +import org.hibernate.Session; /** * Service interface class for the {@link DOI} object. @@ -46,34 +47,34 @@ public interface DOIService { /** * Find a specific DOI in storage. * - * @param context current DSpace session. + * @param session current request's database context. * @param doi string representation of the DOI. * @return the DOI object found. * @throws SQLException passed through, can mean none found. */ - public DOI findByDoi(Context context, String doi) throws SQLException; + public DOI findByDoi(Session session, String doi) throws SQLException; /** * Find the DOI assigned to a given DSpace Object. * - * @param context current DSpace session. + * @param session current request's database context. * @param dso The DSpace Object. * @return the DSO's DOI. * @throws SQLException passed through. */ - public DOI findDOIByDSpaceObject(Context context, DSpaceObject dso) throws SQLException; + public DOI findDOIByDSpaceObject(Session session, DSpaceObject dso) throws SQLException; /** * Find the DOI assigned to a given DSpace Object, unless it has one of a * given set of statuses. * - * @param context current DSpace context. + * @param session current request's database context. * @param dso the DSpace Object. * @param statusToExclude uninteresting statuses. * @return the DSO's DOI. * @throws SQLException passed through. */ - public DOI findDOIByDSpaceObject(Context context, DSpaceObject dso, List statusToExclude) + public DOI findDOIByDSpaceObject(Session session, DSpaceObject dso, List statusToExclude) throws SQLException; /** diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/XmlWorkflowServiceImpl.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/XmlWorkflowServiceImpl.java index 55b1e22d9cb5..0a4b0f928010 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/XmlWorkflowServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/XmlWorkflowServiceImpl.java @@ -657,7 +657,7 @@ protected void notifyOfArchive(Context context, Item item, Collection coll) Email email = Email.getEmail(I18nUtil.getEmailFilename(supportedLocale, "submit_archive")); // Get the item handle to email to user - String handle = handleService.findHandle(context, item); + String handle = handleService.findHandle(context.getSession(), item); // Get title List titles = itemService @@ -668,7 +668,7 @@ protected void notifyOfArchive(Context context, Item item, Collection coll) } catch (MissingResourceException e) { title = "Untitled"; } - if (titles.size() > 0) { + if (!titles.isEmpty()) { title = titles.iterator().next().getValue(); } diff --git a/dspace-api/src/test/java/org/dspace/alerts/SystemWideAlertServiceTest.java b/dspace-api/src/test/java/org/dspace/alerts/SystemWideAlertServiceTest.java index 5ce209196c54..10b2acf7a2c9 100644 --- a/dspace-api/src/test/java/org/dspace/alerts/SystemWideAlertServiceTest.java +++ b/dspace-api/src/test/java/org/dspace/alerts/SystemWideAlertServiceTest.java @@ -84,16 +84,16 @@ public void testFindAll() throws Exception { List systemWideAlertList = new ArrayList<>(); // The SystemWideAlert(s) reported from our mocked state should match our systemWideAlertList - assertEquals("TestFindAll 0", systemWideAlertList, systemWideAlertService.findAll(context)); + assertEquals("TestFindAll 0", systemWideAlertList, systemWideAlertService.findAll(context.getSession())); } @Test public void testFind() throws Exception { // Mock DAO to return our mocked SystemWideAlert - when(systemWideAlertService.find(context, 0)).thenReturn(systemWideAlert); + when(systemWideAlertService.find(context.getSession(), 0)).thenReturn(systemWideAlert); // The SystemWideAlert reported from our ID should match our mocked SystemWideAlert - assertEquals("TestFind 0", systemWideAlert, systemWideAlertService.find(context, 0)); + assertEquals("TestFind 0", systemWideAlert, systemWideAlertService.find(context.getSession(), 0)); } @Test @@ -102,7 +102,8 @@ public void testFindAllActive() throws Exception { List systemWideAlertList = new ArrayList<>(); // The SystemWideAlert(s) reported from our mocked state should match our systemWideAlertList - assertEquals("TestFindAllActive 0", systemWideAlertList, systemWideAlertService.findAllActive(context, 10, 0)); + assertEquals("TestFindAllActive 0", systemWideAlertList, + systemWideAlertService.findAllActive(context.getSession(), 10, 0)); } diff --git a/dspace-api/src/test/java/org/dspace/identifier/DOIIdentifierProviderTest.java b/dspace-api/src/test/java/org/dspace/identifier/DOIIdentifierProviderTest.java index 09387acd3ee3..d94122f1d318 100644 --- a/dspace-api/src/test/java/org/dspace/identifier/DOIIdentifierProviderTest.java +++ b/dspace-api/src/test/java/org/dspace/identifier/DOIIdentifierProviderTest.java @@ -614,7 +614,7 @@ public void testReserve_DOI() provider.reserve(context, item, doi); - DOI doiRow = doiService.findByDoi(context, doi.substring(DOI.SCHEME.length())); + DOI doiRow = doiService.findByDoi(context.getSession(), doi.substring(DOI.SCHEME.length())); assumeNotNull(doiRow); assertTrue("Reservation of DOI did not set the corret DOI status.", @@ -630,7 +630,7 @@ public void testRegister_unreserved_DOI() provider.register(context, item, doi); - DOI doiRow = doiService.findByDoi(context, doi.substring(DOI.SCHEME.length())); + DOI doiRow = doiService.findByDoi(context.getSession(), doi.substring(DOI.SCHEME.length())); assumeNotNull(doiRow); assertTrue("Registration of DOI did not set the corret DOI status.", @@ -646,7 +646,7 @@ public void testRegister_reserved_DOI() provider.register(context, item, doi); - DOI doiRow = doiService.findByDoi(context, doi.substring(DOI.SCHEME.length())); + DOI doiRow = doiService.findByDoi(context.getSession(), doi.substring(DOI.SCHEME.length())); assumeNotNull(doiRow); assertTrue("Registration of DOI did not set the corret DOI status.", @@ -669,7 +669,7 @@ public void testCreate_and_Register_DOI() String formated_doi = doiService.formatIdentifier(doi); assertTrue("DOI was not in the expected format!", doi.equals(formated_doi)); - DOI doiRow = doiService.findByDoi(context, doi.substring(DOI.SCHEME.length())); + DOI doiRow = doiService.findByDoi(context.getSession(), doi.substring(DOI.SCHEME.length())); assertNotNull("Created DOI was not stored in database.", doiRow); assertTrue("Registration of DOI did not set the corret DOI status.", @@ -707,12 +707,12 @@ public void testDelete_specified_DOI() assertFalse("Cannot remove DOI from item metadata.", foundDOI1); assertTrue("Removed wrong DOI from item metadata.", foundDOI2); - DOI doiRow1 = doiService.findByDoi(context, doi1.substring(DOI.SCHEME.length())); + DOI doiRow1 = doiService.findByDoi(context.getSession(), doi1.substring(DOI.SCHEME.length())); assumeNotNull(doiRow1); assertTrue("Status of deleted DOI was not set correctly.", DOIIdentifierProvider.TO_BE_DELETED.equals(doiRow1.getStatus())); - DOI doiRow2 = doiService.findByDoi(context, doi2.substring(DOI.SCHEME.length())); + DOI doiRow2 = doiService.findByDoi(context.getSession(), doi2.substring(DOI.SCHEME.length())); assumeNotNull(doiRow2); assertTrue("While deleting a DOI the status of another changed.", DOIIdentifierProvider.IS_REGISTERED.equals(doiRow2.getStatus())); @@ -749,12 +749,12 @@ public void testDelete_all_DOIs() assertFalse("Cannot remove DOI from item metadata.", foundDOI1); assertFalse("Did not removed all DOIs from item metadata.", foundDOI2); - DOI doiRow1 = doiService.findByDoi(context, doi1.substring(DOI.SCHEME.length())); + DOI doiRow1 = doiService.findByDoi(context.getSession(), doi1.substring(DOI.SCHEME.length())); assumeNotNull(doiRow1); assertTrue("Status of deleted DOI was not set correctly.", DOIIdentifierProvider.TO_BE_DELETED.equals(doiRow1.getStatus())); - DOI doiRow2 = doiService.findByDoi(context, doi1.substring(DOI.SCHEME.length())); + DOI doiRow2 = doiService.findByDoi(context.getSession(), doi1.substring(DOI.SCHEME.length())); assumeNotNull(doiRow2); assertTrue("Did not set the status of all deleted DOIs as expected.", DOIIdentifierProvider.TO_BE_DELETED.equals(doiRow2.getStatus())); @@ -773,7 +773,7 @@ public void testUpdateMetadataSkippedForPending() // But if the DOI is just pending, it should return without changing anything. provider.updateMetadata(context, item, doi1); // Get the DOI from the service - DOI doi = doiService.findDOIByDSpaceObject(context, item); + DOI doi = doiService.findDOIByDSpaceObject(context.getSession(), item); // Ensure it is still PENDING assertEquals("Status of updated DOI did not remain PENDING", DOIIdentifierProvider.PENDING, doi.getStatus()); @@ -792,7 +792,7 @@ public void testMintDoiAfterOrphanedPendingDOI() // remove the item itemService.delete(context, item1); // Get the DOI from the service - DOI doi = doiService.findDOIByDSpaceObject(context, item1); + DOI doi = doiService.findDOIByDSpaceObject(context.getSession(), item1); // ensure DOI has no state assertNull("Orphaned DOI was not set deleted", doi); // create a new item and a new DOI @@ -833,7 +833,7 @@ public void testUpdateMetadataSkippedForMinted() // But if the DOI is just minted, it should return without changing anything. provider.updateMetadata(context, item, doi1); // Get the DOI from the service - DOI doi = doiService.findDOIByDSpaceObject(context, item); + DOI doi = doiService.findDOIByDSpaceObject(context.getSession(), item); // Ensure it is still MINTED assertEquals("Status of updated DOI did not remain PENDING", DOIIdentifierProvider.MINTED, doi.getStatus()); @@ -848,11 +848,11 @@ public void testLoadOrCreateDOIReturnsMintedStatus() // Mint a DOI without an explicit reserve or register context String mintedDoi = provider.mint(context, item, DSpaceServicesFactory.getInstance() .getServiceManager().getServiceByName("always_true_filter", TrueFilter.class)); - DOI doi = doiService.findByDoi(context, mintedDoi.substring(DOI.SCHEME.length())); + DOI doi = doiService.findByDoi(context.getSession(), mintedDoi.substring(DOI.SCHEME.length())); // This should be minted assertEquals("DOI is not of 'minted' status", DOIIdentifierProvider.MINTED, doi.getStatus()); provider.updateMetadata(context, item, mintedDoi); - DOI secondFind = doiService.findByDoi(context, mintedDoi.substring(DOI.SCHEME.length())); + DOI secondFind = doiService.findByDoi(context.getSession(), mintedDoi.substring(DOI.SCHEME.length())); // After an update, this should still be minted assertEquals("DOI is not of 'minted' status", DOIIdentifierProvider.MINTED, secondFind.getStatus()); diff --git a/dspace-oai/src/main/java/org/dspace/xoai/services/impl/DSpaceHandleResolver.java b/dspace-oai/src/main/java/org/dspace/xoai/services/impl/DSpaceHandleResolver.java index 6ed44bdcc233..bea578eb9d05 100644 --- a/dspace-oai/src/main/java/org/dspace/xoai/services/impl/DSpaceHandleResolver.java +++ b/dspace-oai/src/main/java/org/dspace/xoai/services/impl/DSpaceHandleResolver.java @@ -40,7 +40,7 @@ public DSpaceObject resolve(String handle) throws HandleResolverException { @Override public String getHandle(DSpaceObject object) throws HandleResolverException { try { - return handleService.findHandle(contextService.getContext(), object); + return handleService.findHandle(contextService.getContext().getSession(), object); } catch (SQLException | ContextServiceException e) { throw new HandleResolverException(e); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/IdentifierRestRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/IdentifierRestRepository.java index c5846c155d7a..bbdc815760d3 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/IdentifierRestRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/IdentifierRestRepository.java @@ -153,7 +153,7 @@ public Page findByItem(@Parameter(value = "uuid", required = tru try { DSpaceObject dso = itemService.find(context.getSession(), UUID.fromString(uuid)); String handle = dso.getHandle(); - DOI doi = doiService.findDOIByDSpaceObject(context, dso); + DOI doi = doiService.findDOIByDSpaceObject(context.getSession(), dso); if (doi != null) { String doiUrl = doiService.DOIToExternalForm(doi.getDoi()); results.add(new IdentifierRest(doiUrl, "doi", DOIIdentifierProvider.statusText[doi.getStatus()])); @@ -200,7 +200,7 @@ protected IdentifierRest createAndReturn(Context context, List list) } // Does this item have a DOI already? If the DOI doesn't exist or has a null, MINTED or PENDING status // then we proceed with a typical create operation and return 201 success with the object - DOI doi = doiService.findDOIByDSpaceObject(context, item); + DOI doi = doiService.findDOIByDSpaceObject(context.getSession(), item); if (doi == null || null == doi.getStatus() || DOIIdentifierProvider.MINTED.equals(doi.getStatus()) || DOIIdentifierProvider.PENDING.equals(doi.getStatus())) { // Proceed with creation @@ -237,7 +237,7 @@ private IdentifierRest registerDOI(Context context, Item item) String doiValue = doiIdentifierProvider.register(context, item, new TrueFilter()); identifierRest.setValue(doiValue); // Get new status - DOI doi = doiService.findByDoi(context, doiValue); + DOI doi = doiService.findByDoi(context.getSession(), doiValue); if (doi != null) { identifierRest.setIdentifierStatus(DOIIdentifierProvider.statusText[doi.getStatus()]); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ItemIdentifierLinkRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ItemIdentifierLinkRepository.java index 84667a883777..4f86e1450582 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ItemIdentifierLinkRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ItemIdentifierLinkRepository.java @@ -64,8 +64,8 @@ public IdentifiersRest getIdentifiers(@Nullable HttpServletRequest request, } IdentifiersRest identifiersRest = new IdentifiersRest(); List identifierRestList = new ArrayList<>(); - DOI doi = doiService.findDOIByDSpaceObject(context, item); - String handle = HandleServiceFactory.getInstance().getHandleService().findHandle(context, item); + DOI doi = doiService.findDOIByDSpaceObject(context.getSession(), item); + String handle = HandleServiceFactory.getInstance().getHandleService().findHandle(context.getSession(), item); try { if (doi != null) { String doiUrl = doiService.DOIToExternalForm(doi.getDoi()); diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/SystemWideAlertRestRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/SystemWideAlertRestRepository.java index 73544145b20f..479963ddd79f 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/SystemWideAlertRestRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/SystemWideAlertRestRepository.java @@ -75,7 +75,7 @@ protected SystemWideAlertRest createAndReturn(Context context) throws SQLExcepti @PreAuthorize("permitAll()") public SystemWideAlertRest findOne(Context context, Integer id) { try { - SystemWideAlert systemWideAlert = systemWideAlertService.find(context, id); + SystemWideAlert systemWideAlert = systemWideAlertService.find(context.getSession(), id); if (systemWideAlert == null) { throw new ResourceNotFoundException( "systemWideAlert with id " + systemWideAlert.getID() + " was not found"); @@ -94,9 +94,8 @@ public SystemWideAlertRest findOne(Context context, Integer id) { @PreAuthorize("hasAuthority('ADMIN')") public Page findAll(Context context, Pageable pageable) { try { - List systemWideAlerts = systemWideAlertService.findAll(context, pageable.getPageSize(), - Math.toIntExact( - pageable.getOffset())); + List systemWideAlerts = systemWideAlertService.findAll(context.getSession(), + pageable.getPageSize(), Math.toIntExact(pageable.getOffset())); return converter.toRestPage(systemWideAlerts, pageable, utils.obtainProjection()); } catch (SQLException e) { throw new RuntimeException(e.getMessage(), e); @@ -119,7 +118,7 @@ protected SystemWideAlertRest put(Context context, HttpServletRequest request, S throw new UnprocessableEntityException("system alert message cannot be blank"); } - SystemWideAlert systemWideAlert = systemWideAlertService.find(context, id); + SystemWideAlert systemWideAlert = systemWideAlertService.find(context.getSession(), id); if (systemWideAlert == null) { throw new ResourceNotFoundException("system wide alert with id: " + id + " not found"); } @@ -145,7 +144,7 @@ protected SystemWideAlertRest put(Context context, HttpServletRequest request, S */ private SystemWideAlert createSystemWideAlert(Context context) throws SQLException, AuthorizeException { - List all = systemWideAlertService.findAll(context); + List all = systemWideAlertService.findAll(context.getSession()); if (!all.isEmpty()) { throw new DSpaceBadRequestException("A system wide alert already exists, no new value can be created. " + "Try updating the existing one."); @@ -189,7 +188,7 @@ public Page findAllActive(Pageable pageable) { Context context = obtainContext(); try { List systemWideAlerts = - systemWideAlertService.findAllActive(context, + systemWideAlertService.findAllActive(context.getSession(), pageable.getPageSize(), Math.toIntExact( pageable.getOffset())); diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/submit/step/ShowIdentifiersStep.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/submit/step/ShowIdentifiersStep.java index e63d38ab2e36..dd5b70001c4a 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/submit/step/ShowIdentifiersStep.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/submit/step/ShowIdentifiersStep.java @@ -99,7 +99,8 @@ private DataIdentifiers getIdentifierData(InProgressSubmission obj) { DOI doi = null; String doiString = null; try { - doi = IdentifierServiceFactory.getInstance().getDOIService().findDOIByDSpaceObject(context, obj.getItem()); + doi = IdentifierServiceFactory.getInstance().getDOIService() + .findDOIByDSpaceObject(context.getSession(), obj.getItem()); if (doi != null && !DOIIdentifierProvider.MINTED.equals(doi.getStatus()) && !DOIIdentifierProvider.DELETED.equals(doi.getStatus())) { doiString = doi.getDoi(); diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/IdentifierRestRepositoryIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/IdentifierRestRepositoryIT.java index 27e21e47760d..4565673a913a 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/IdentifierRestRepositoryIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/IdentifierRestRepositoryIT.java @@ -168,7 +168,7 @@ public void testRegisterDoiForItem() throws Exception { .andExpect(status().isBadRequest()); // Get the doi we minted and queued for registration - DOI doi = doiService.findDOIByDSpaceObject(context, publicItem1); + DOI doi = doiService.findDOIByDSpaceObject(context.getSession(), publicItem1); // The DOI should not be null assertNotNull(doi); // The DOI status should be TO_BE_REGISTERED @@ -213,7 +213,7 @@ public void testGetIdentifiersForItemByLink() throws Exception { // Use the DOI service to directly manipulate the DOI on this object so that we can predict and // test values via the REST request - DOI doi = doiService.findDOIByDSpaceObject(context, publicItem1); + DOI doi = doiService.findDOIByDSpaceObject(context.getSession(), publicItem1); // Assert non-null DOI, since we should be minting them automatically here assertNotNull(doi); @@ -285,7 +285,7 @@ public void testFindIdentifiersByItem() throws Exception { // Use the DOI service to directly manipulate the DOI on this object so that we can predict and // test values via the REST request - DOI doi = doiService.findDOIByDSpaceObject(context, publicItem1); + DOI doi = doiService.findDOIByDSpaceObject(context.getSession(), publicItem1); // Assert non-null DOI, since we should be minting them automatically here assertNotNull(doi); diff --git a/dspace-sword/src/main/java/org/dspace/sword/SWORDMETSIngester.java b/dspace-sword/src/main/java/org/dspace/sword/SWORDMETSIngester.java index d0cd9ee2ad17..721d9a1bfc4a 100644 --- a/dspace-sword/src/main/java/org/dspace/sword/SWORDMETSIngester.java +++ b/dspace-sword/src/main/java/org/dspace/sword/SWORDMETSIngester.java @@ -146,7 +146,7 @@ public DepositResult ingest(SWORDService service, Deposit deposit, // so we have to look it up HandleService handleService = HandleServiceFactory.getInstance() .getHandleService(); - String handle = handleService.findHandle(context, installedItem); + String handle = handleService.findHandle(context.getSession(), installedItem); swordService.message("Ingest successful"); swordService.message("Item created with internal identifier: " + diff --git a/dspace-swordv2/src/main/java/org/dspace/sword2/SwordMETSContentIngester.java b/dspace-swordv2/src/main/java/org/dspace/sword2/SwordMETSContentIngester.java index a77caa655b5d..85d3a15a2521 100644 --- a/dspace-swordv2/src/main/java/org/dspace/sword2/SwordMETSContentIngester.java +++ b/dspace-swordv2/src/main/java/org/dspace/sword2/SwordMETSContentIngester.java @@ -159,7 +159,7 @@ public DepositResult ingestToCollection(Context context, Deposit deposit, // for some reason, DSpace will not give you the handle automatically, // so we have to look it up - String handle = handleService.findHandle(context, installedItem); + String handle = handleService.findHandle(context.getSession(), installedItem); verboseDescription.append("Ingest successful"); verboseDescription.append( From 7fb73c07e7fcb03d51cd19b56f9413e9db403370 Mon Sep 17 00:00:00 2001 From: "Mark H. Wood" Date: Mon, 18 Sep 2023 10:57:17 -0400 Subject: [PATCH 09/14] More find* methods. --- .../org/dspace/administer/ProcessCleaner.java | 5 +- .../requestitem/RequestItemServiceImpl.java | 13 +- .../service/RequestItemService.java | 14 +- .../dspace/app/util/WebAppServiceImpl.java | 7 +- .../app/util/service/WebAppService.java | 3 +- .../authenticate/OrcidAuthenticationBean.java | 2 +- .../content/InstallItemServiceImpl.java | 2 +- .../org/dspace/content/ItemServiceImpl.java | 10 +- ...ServiceSupervisionOrderIndexingPlugin.java | 2 +- .../InprogressSubmissionIndexFactoryImpl.java | 2 +- .../indexobject/ItemIndexFactoryImpl.java | 2 +- .../dspace/eperson/EPersonServiceImpl.java | 3 +- .../impl/OrcidPublicationDataProvider.java | 2 +- .../VersionedDOIIdentifierProvider.java | 2 +- .../VersionedHandleIdentifierProvider.java | 8 +- ...dentifierProviderWithCanonicalHandles.java | 11 +- .../orcid/consumer/OrcidQueueConsumer.java | 4 +- .../dspace/orcid/script/OrcidBulkPush.java | 6 +- .../orcid/service/OrcidHistoryService.java | 25 ++-- .../orcid/service/OrcidQueueService.java | 25 ++-- .../orcid/service/OrcidTokenService.java | 9 +- .../service/impl/OrcidHistoryServiceImpl.java | 27 ++-- .../service/impl/OrcidQueueServiceImpl.java | 27 ++-- .../impl/OrcidSynchronizationServiceImpl.java | 4 +- .../service/impl/OrcidTokenServiceImpl.java | 13 +- .../profile/OrcidMetadataCopyingAction.java | 2 +- .../dspace/scripts/ProcessServiceImpl.java | 29 ++-- .../scripts/service/ProcessService.java | 35 ++--- .../SupervisionOrderServiceImpl.java | 14 +- .../service/SupervisionOrderService.java | 13 +- .../versioning/VersionHistoryServiceImpl.java | 10 +- .../dspace/versioning/VersioningConsumer.java | 2 +- .../versioning/VersioningServiceImpl.java | 4 +- .../service/VersionHistoryService.java | 5 +- .../dspace/administer/ProcessCleanerIT.java | 139 ++++++++---------- .../dspace/builder/OrcidHistoryBuilder.java | 2 +- .../org/dspace/builder/ProcessBuilder.java | 2 +- .../dspace/builder/RequestItemBuilder.java | 4 +- .../org/dspace/content/VersioningTest.java | 4 +- .../dspace/orcid/OrcidQueueConsumerIT.java | 66 ++++----- .../dspace/orcid/script/OrcidBulkPushIT.java | 36 ++--- .../java/org/dspace/process/ProcessIT.java | 4 +- .../SupervisionOrderServiceIT.java | 10 +- .../OrcidHistoryRestRepository.java | 2 +- .../repository/OrcidQueueRestRepository.java | 4 +- .../ProcessFileTypesLinkRepository.java | 2 +- .../ProcessOutputLinkRepository.java | 2 +- .../repository/ProcessRestRepository.java | 10 +- .../repository/RequestItemRepository.java | 16 +- .../SupervisionOrderRestRepository.java | 6 +- .../repository/VersionRestRepository.java | 4 +- ...ceItemSupervisionOrdersLinkRepository.java | 2 +- ...alSourceEntryOrcidQueueUriListHandler.java | 6 +- .../impl/RestDSpaceRunnableHandler.java | 18 +-- ...dToOrcidRestPermissionEvaluatorPlugin.java | 4 +- ...dHistoryRestPermissionEvaluatorPlugin.java | 6 +- .../ProcessRestPermissionEvaluatorPlugin.java | 2 +- .../BulkAccessControlScriptIT.java | 2 +- .../dspace/app/itemexport/ItemExportIT.java | 2 +- .../dspace/app/itemimport/ItemImportIT.java | 2 +- .../dspace/app/rest/ItemRestRepositoryIT.java | 8 +- .../dspace/app/rest/OrcidLoginFilterIT.java | 4 +- .../app/rest/ProcessRestRepositoryIT.java | 2 +- .../app/rest/RequestItemRepositoryIT.java | 6 +- .../ResearcherProfileRestRepositoryIT.java | 12 +- .../app/rest/ScriptRestRepositoryIT.java | 7 +- .../rest/VersionHistoryRestRepositoryIT.java | 26 ++-- 67 files changed, 392 insertions(+), 372 deletions(-) diff --git a/dspace-api/src/main/java/org/dspace/administer/ProcessCleaner.java b/dspace-api/src/main/java/org/dspace/administer/ProcessCleaner.java index ee6b8d08b059..9d5a975a3f6b 100644 --- a/dspace-api/src/main/java/org/dspace/administer/ProcessCleaner.java +++ b/dspace-api/src/main/java/org/dspace/administer/ProcessCleaner.java @@ -99,7 +99,8 @@ private void performDeletion(Context context) throws SQLException, IOException, Date creationDate = calculateCreationDate(); handler.logInfo("Searching for processes with status: " + statuses); - List processes = processService.findByStatusAndCreationTimeOlderThan(context, statuses, creationDate); + List processes + = processService.findByStatusAndCreationTimeOlderThan(context.getSession(), statuses, creationDate); handler.logInfo("Found " + processes.size() + " processes to be deleted"); for (Process process : processes) { processService.delete(context, process); @@ -113,7 +114,7 @@ private void performDeletion(Context context) throws SQLException, IOException, * Returns the list of Process statuses do be deleted. */ private List getProcessToDeleteStatuses() { - List statuses = new ArrayList(); + List statuses = new ArrayList<>(); if (cleanCompleted) { statuses.add(ProcessStatus.COMPLETED); } diff --git a/dspace-api/src/main/java/org/dspace/app/requestitem/RequestItemServiceImpl.java b/dspace-api/src/main/java/org/dspace/app/requestitem/RequestItemServiceImpl.java index 62d5abbc1e3c..617cae443b7f 100644 --- a/dspace-api/src/main/java/org/dspace/app/requestitem/RequestItemServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/app/requestitem/RequestItemServiceImpl.java @@ -26,6 +26,7 @@ import org.dspace.core.Context; import org.dspace.core.LogHelper; import org.dspace.core.Utils; +import org.hibernate.Session; import org.springframework.beans.factory.annotation.Autowired; /** @@ -77,15 +78,15 @@ public String createRequest(Context context, Bitstream bitstream, Item item, } @Override - public List findAll(Context context) + public List findAll(Session session) throws SQLException { - return requestItemDAO.findAll(context.getSession(), RequestItem.class); + return requestItemDAO.findAll(session, RequestItem.class); } @Override - public RequestItem findByToken(Context context, String token) { + public RequestItem findByToken(Session session, String token) { try { - return requestItemDAO.findByToken(context.getSession(), token); + return requestItemDAO.findByToken(session, token); } catch (SQLException e) { log.error(e.getMessage()); return null; @@ -93,8 +94,8 @@ public RequestItem findByToken(Context context, String token) { } @Override - public Iterator findByItem(Context context, Item item) throws SQLException { - return requestItemDAO.findByItem(context.getSession(), item); + public Iterator findByItem(Session session, Item item) throws SQLException { + return requestItemDAO.findByItem(session, item); } @Override diff --git a/dspace-api/src/main/java/org/dspace/app/requestitem/service/RequestItemService.java b/dspace-api/src/main/java/org/dspace/app/requestitem/service/RequestItemService.java index efac3b18bc7c..d310755a219e 100644 --- a/dspace-api/src/main/java/org/dspace/app/requestitem/service/RequestItemService.java +++ b/dspace-api/src/main/java/org/dspace/app/requestitem/service/RequestItemService.java @@ -16,6 +16,7 @@ import org.dspace.content.DSpaceObject; import org.dspace.content.Item; import org.dspace.core.Context; +import org.hibernate.Session; /** * Service interface class for the RequestItem object. @@ -47,29 +48,30 @@ public String createRequest(Context context, Bitstream bitstream, Item item, /** * Fetch all item requests. * - * @param context current DSpace session. + * @param session current request's database context. * @return all item requests. * @throws java.sql.SQLException passed through. */ - public List findAll(Context context) + public List findAll(Session session) throws SQLException; /** * Retrieve a request by its token. * - * @param context current DSpace session. + * @param session current request's database context. * @param token the token identifying the request. * @return the matching request, or null if not found. */ - public RequestItem findByToken(Context context, String token); + public RequestItem findByToken(Session session, String token); /** * Retrieve a request based on the item. - * @param context current DSpace session. + * @param session current request's database context. * @param item the item to find requests for. * @return the matching requests, or null if not found. + * @throws java.sql.SQLException passed through. */ - public Iterator findByItem(Context context, Item item) throws SQLException; + public Iterator findByItem(Session session, Item item) throws SQLException; /** * Save updates to the record. Only accept_request, and decision_date are set-able. diff --git a/dspace-api/src/main/java/org/dspace/app/util/WebAppServiceImpl.java b/dspace-api/src/main/java/org/dspace/app/util/WebAppServiceImpl.java index 3a553c534e8e..47f18a76ae15 100644 --- a/dspace-api/src/main/java/org/dspace/app/util/WebAppServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/app/util/WebAppServiceImpl.java @@ -22,6 +22,7 @@ import org.dspace.app.util.dao.WebAppDAO; import org.dspace.app.util.service.WebAppService; import org.dspace.core.Context; +import org.hibernate.Session; import org.springframework.beans.factory.annotation.Autowired; /** @@ -60,8 +61,8 @@ public void delete(Context context, WebApp webApp) throws SQLException { } @Override - public List findAll(Context context) throws SQLException { - return webAppDAO.findAll(context.getSession(), WebApp.class); + public List findAll(Session session) throws SQLException { + return webAppDAO.findAll(session, WebApp.class); } @Override @@ -72,7 +73,7 @@ public List getApps() { HttpHead method = null; try { context = new Context(); - List webApps = findAll(context); + List webApps = findAll(context.getSession()); for (WebApp app : webApps) { method = new HttpHead(app.getUrl()); diff --git a/dspace-api/src/main/java/org/dspace/app/util/service/WebAppService.java b/dspace-api/src/main/java/org/dspace/app/util/service/WebAppService.java index 15802461e4f3..2002c6395dde 100644 --- a/dspace-api/src/main/java/org/dspace/app/util/service/WebAppService.java +++ b/dspace-api/src/main/java/org/dspace/app/util/service/WebAppService.java @@ -13,6 +13,7 @@ import org.dspace.app.util.WebApp; import org.dspace.core.Context; +import org.hibernate.Session; /** * Service interface class for the WebApp object. @@ -25,7 +26,7 @@ public interface WebAppService { public WebApp create(Context context, String appName, String url, Date started, int isUI) throws SQLException; - public List findAll(Context context) throws SQLException; + public List findAll(Session session) throws SQLException; public void delete(Context context, WebApp webApp) throws SQLException; diff --git a/dspace-api/src/main/java/org/dspace/authenticate/OrcidAuthenticationBean.java b/dspace-api/src/main/java/org/dspace/authenticate/OrcidAuthenticationBean.java index a11bbfc867b4..133dac51e401 100644 --- a/dspace-api/src/main/java/org/dspace/authenticate/OrcidAuthenticationBean.java +++ b/dspace-api/src/main/java/org/dspace/authenticate/OrcidAuthenticationBean.java @@ -269,7 +269,7 @@ private void setOrcidMetadataOnEPerson(Context context, EPerson person, OrcidTok ePersonService.addMetadata(context, person, "eperson", "orcid", "scope", null, scope); } - OrcidToken orcidToken = orcidTokenService.findByEPerson(context, person); + OrcidToken orcidToken = orcidTokenService.findByEPerson(context.getSession(), person); if (orcidToken == null) { orcidTokenService.create(context, person, accessToken); } else { diff --git a/dspace-api/src/main/java/org/dspace/content/InstallItemServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/InstallItemServiceImpl.java index 32c5b92c605b..347b01bd85f4 100644 --- a/dspace-api/src/main/java/org/dspace/content/InstallItemServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/InstallItemServiceImpl.java @@ -245,7 +245,7 @@ protected Item finishItem(Context c, Item item, InProgressSubmission is) } private void deleteSupervisionOrders(Context c, Item item) throws SQLException, AuthorizeException { - List supervisionOrders = supervisionOrderService.findByItem(c, item); + List supervisionOrders = supervisionOrderService.findByItem(c.getSession(), item); for (SupervisionOrder supervisionOrder : supervisionOrders) { supervisionOrderService.delete(c, supervisionOrder); } diff --git a/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java index c166710fb66a..1bb29d436b4e 100644 --- a/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java @@ -815,7 +815,7 @@ protected void rawDelete(Context context, Item item) throws AuthorizeException, harvestedItemService.delete(context, hi); } - OrcidToken orcidToken = orcidTokenService.findByProfileItem(context, item); + OrcidToken orcidToken = orcidTokenService.findByProfileItem(context.getSession(), item); if (orcidToken != null) { orcidToken.setProfileItem(null); } @@ -829,7 +829,7 @@ protected void rawDelete(Context context, Item item) throws AuthorizeException, } protected void removeRequest(Context context, Item item) throws SQLException { - Iterator requestItems = requestItemService.findByItem(context, item); + Iterator requestItems = requestItemService.findByItem(context.getSession(), item); while (requestItems.hasNext()) { RequestItem requestItem = requestItems.next(); requestItemService.delete(context, requestItem); @@ -1756,7 +1756,7 @@ private void createOrcidQueueRecordsToDeleteOnOrcid(Context context, Item entity return; } - Map profileAndPutCodeMap = orcidHistoryService.findLastPutCodes(context, entity); + Map profileAndPutCodeMap = orcidHistoryService.findLastPutCodes(context.getSession(), entity); for (Item profile : profileAndPutCodeMap.keySet()) { if (orcidSynchronizationService.isSynchronizationAllowed(profile, entity)) { String putCode = profileAndPutCodeMap.get(profile); @@ -1768,7 +1768,7 @@ private void createOrcidQueueRecordsToDeleteOnOrcid(Context context, Item entity } private void deleteOrcidHistoryRecords(Context context, Item item) throws SQLException { - List historyRecords = orcidHistoryService.findByProfileItemOrEntity(context, item); + List historyRecords = orcidHistoryService.findByProfileItemOrEntity(context.getSession(), item); for (OrcidHistory historyRecord : historyRecords) { if (historyRecord.getProfileItem().equals(item)) { orcidHistoryService.delete(context, historyRecord); @@ -1780,7 +1780,7 @@ private void deleteOrcidHistoryRecords(Context context, Item item) throws SQLExc } private void deleteOrcidQueueRecords(Context context, Item item) throws SQLException { - List orcidQueueRecords = orcidQueueService.findByProfileItemOrEntity(context, item); + List orcidQueueRecords = orcidQueueService.findByProfileItemOrEntity(context.getSession(), item); for (OrcidQueue orcidQueueRecord : orcidQueueRecords) { orcidQueueService.delete(context, orcidQueueRecord); } diff --git a/dspace-api/src/main/java/org/dspace/discovery/SolrServiceSupervisionOrderIndexingPlugin.java b/dspace-api/src/main/java/org/dspace/discovery/SolrServiceSupervisionOrderIndexingPlugin.java index 116b5ec88d1b..31fd0138f9b4 100644 --- a/dspace-api/src/main/java/org/dspace/discovery/SolrServiceSupervisionOrderIndexingPlugin.java +++ b/dspace-api/src/main/java/org/dspace/discovery/SolrServiceSupervisionOrderIndexingPlugin.java @@ -58,7 +58,7 @@ public void additionalIndex(Context context, IndexableObject indexableObject, So } private void addSupervisedField(Context context, Item item, SolrInputDocument document) throws SQLException { - List supervisionOrders = supervisionOrderService.findByItem(context, item); + List supervisionOrders = supervisionOrderService.findByItem(context.getSession(), item); if (CollectionUtils.isNotEmpty(supervisionOrders)) { document.addField("supervised", true); } else { diff --git a/dspace-api/src/main/java/org/dspace/discovery/indexobject/InprogressSubmissionIndexFactoryImpl.java b/dspace-api/src/main/java/org/dspace/discovery/indexobject/InprogressSubmissionIndexFactoryImpl.java index f24e9875f006..5753d7875f61 100644 --- a/dspace-api/src/main/java/org/dspace/discovery/indexobject/InprogressSubmissionIndexFactoryImpl.java +++ b/dspace-api/src/main/java/org/dspace/discovery/indexobject/InprogressSubmissionIndexFactoryImpl.java @@ -93,7 +93,7 @@ public void storeInprogressItemFields(Context context, SolrInputDocument doc, } private void addSupervisedByFacetIndex(Context context, Item item, SolrInputDocument doc) throws SQLException { - List supervisionOrders = supervisionOrderService.findByItem(context, item); + List supervisionOrders = supervisionOrderService.findByItem(context.getSession(), item); for (SupervisionOrder supervisionOrder : supervisionOrders) { addFacetIndex(doc, "supervisedBy", supervisionOrder.getGroup().getID().toString(), supervisionOrder.getGroup().getName()); diff --git a/dspace-api/src/main/java/org/dspace/discovery/indexobject/ItemIndexFactoryImpl.java b/dspace-api/src/main/java/org/dspace/discovery/indexobject/ItemIndexFactoryImpl.java index 61990f59badb..39805191430d 100644 --- a/dspace-api/src/main/java/org/dspace/discovery/indexobject/ItemIndexFactoryImpl.java +++ b/dspace-api/src/main/java/org/dspace/discovery/indexobject/ItemIndexFactoryImpl.java @@ -184,7 +184,7 @@ public SolrInputDocument buildDocument(Context context, IndexableItem indexableI * @return true if the item is the latest version, false otherwise. */ protected boolean isLatestVersion(Context context, Item item) throws SQLException { - VersionHistory history = versionHistoryService.findByItem(context, item); + VersionHistory history = versionHistoryService.findByItem(context.getSession(), item); if (history == null) { // not all items have a version history // if an item does not have a version history, it is by definition the latest version diff --git a/dspace-api/src/main/java/org/dspace/eperson/EPersonServiceImpl.java b/dspace-api/src/main/java/org/dspace/eperson/EPersonServiceImpl.java index 3aa1f962845e..af2e4f7da159 100644 --- a/dspace-api/src/main/java/org/dspace/eperson/EPersonServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/eperson/EPersonServiceImpl.java @@ -312,7 +312,8 @@ public void delete(Context context, EPerson ePerson, boolean cascade) while (itemIterator.hasNext()) { Item item = itemIterator.next(); - VersionHistory versionHistory = versionHistoryService.findByItem(context, item); + VersionHistory versionHistory + = versionHistoryService.findByItem(context.getSession(), item); if (null != versionHistory) { for (Version version : versioningService.getVersionsByHistory(context, versionHistory)) { diff --git a/dspace-api/src/main/java/org/dspace/external/provider/impl/OrcidPublicationDataProvider.java b/dspace-api/src/main/java/org/dspace/external/provider/impl/OrcidPublicationDataProvider.java index 53d84dd4be9b..f147e0734bf0 100644 --- a/dspace-api/src/main/java/org/dspace/external/provider/impl/OrcidPublicationDataProvider.java +++ b/dspace-api/src/main/java/org/dspace/external/provider/impl/OrcidPublicationDataProvider.java @@ -270,7 +270,7 @@ private String getAccessToken(String orcid) { private Optional getAccessToken(Item item) { try { - return ofNullable(orcidTokenService.findByProfileItem(getContext(), item)) + return ofNullable(orcidTokenService.findByProfileItem(getContext().getSession(), item)) .map(OrcidToken::getAccessToken); } catch (SQLException ex) { LOGGER.error("Could not fetch access token for Item {}", item::getID, () -> ex); diff --git a/dspace-api/src/main/java/org/dspace/identifier/VersionedDOIIdentifierProvider.java b/dspace-api/src/main/java/org/dspace/identifier/VersionedDOIIdentifierProvider.java index e5a90907c7b6..a71ffab679b1 100644 --- a/dspace-api/src/main/java/org/dspace/identifier/VersionedDOIIdentifierProvider.java +++ b/dspace-api/src/main/java/org/dspace/identifier/VersionedDOIIdentifierProvider.java @@ -78,7 +78,7 @@ public String mint(Context context, DSpaceObject dso, Filter filter) VersionHistory history = null; try { - history = versionHistoryService.findByItem(context, item); + history = versionHistoryService.findByItem(context.getSession(), item); } catch (SQLException ex) { throw new RuntimeException("A problem occurred while accessing the database.", ex); } diff --git a/dspace-api/src/main/java/org/dspace/identifier/VersionedHandleIdentifierProvider.java b/dspace-api/src/main/java/org/dspace/identifier/VersionedHandleIdentifierProvider.java index 597204019637..458a1684e598 100644 --- a/dspace-api/src/main/java/org/dspace/identifier/VersionedHandleIdentifierProvider.java +++ b/dspace-api/src/main/java/org/dspace/identifier/VersionedHandleIdentifierProvider.java @@ -135,7 +135,7 @@ public void register(Context context, DSpaceObject dso, String identifier) // get history VersionHistory history = null; try { - history = versionHistoryService.findByItem(context, item); + history = versionHistoryService.findByItem(context.getSession(), item); } catch (SQLException ex) { throw new RuntimeException("Unable to create handle '" + identifier + "' for " @@ -226,7 +226,7 @@ public void register(Context context, DSpaceObject dso, String identifier) protected VersionHistory getHistory(Context context, String identifier) throws SQLException { DSpaceObject item = this.resolve(context, identifier); if (item != null) { - VersionHistory history = versionHistoryService.findByItem(context, (Item) item); + VersionHistory history = versionHistoryService.findByItem(context.getSession(), (Item) item); return history; } return null; @@ -237,7 +237,7 @@ protected void restoreItAsVersion(Context context, Item item, String identifier, createNewIdentifier(context, item, identifier); populateHandleMetadata(context, item, identifier); - VersionHistory vh = versionHistoryService.findByItem(context, item); + VersionHistory vh = versionHistoryService.findByItem(context.getSession(), item); if (vh == null) { vh = versionHistoryService.create(context); } @@ -279,7 +279,7 @@ public String mint(Context context, DSpaceObject dso) { String handleId = null; VersionHistory history = null; if (dso instanceof Item) { - history = versionHistoryService.findByItem(context, (Item) dso); + history = versionHistoryService.findByItem(context.getSession(), (Item) dso); } if (history != null) { diff --git a/dspace-api/src/main/java/org/dspace/identifier/VersionedHandleIdentifierProviderWithCanonicalHandles.java b/dspace-api/src/main/java/org/dspace/identifier/VersionedHandleIdentifierProviderWithCanonicalHandles.java index 66c4f6e04235..8567c206fa93 100644 --- a/dspace-api/src/main/java/org/dspace/identifier/VersionedHandleIdentifierProviderWithCanonicalHandles.java +++ b/dspace-api/src/main/java/org/dspace/identifier/VersionedHandleIdentifierProviderWithCanonicalHandles.java @@ -99,7 +99,7 @@ public String register(Context context, DSpaceObject dso) { Item item = (Item) dso; VersionHistory history = null; try { - history = versionHistoryService.findByItem(context, (Item) dso); + history = versionHistoryService.findByItem(context.getSession(), (Item) dso); } catch (SQLException ex) { throw new RuntimeException("A problem with the database connection occured.", ex); } @@ -204,7 +204,8 @@ public void register(Context context, DSpaceObject dso, String identifier) { if (canonicalItem == null) { restoreItAsCanonical(context, dso, identifier, item, canonical); } else { - VersionHistory history = versionHistoryService.findByItem(context, (Item) canonicalItem); + VersionHistory history = versionHistoryService.findByItem(context.getSession(), + (Item) canonicalItem); if (history == null) { restoreItAsCanonical(context, dso, identifier, item, canonical); } else { @@ -232,7 +233,7 @@ public void register(Context context, DSpaceObject dso, String identifier) { protected VersionHistory getHistory(Context context, String identifier) throws SQLException { DSpaceObject item = this.resolve(context, identifier); if (item != null) { - VersionHistory history = versionHistoryService.findByItem(context, (Item) item); + VersionHistory history = versionHistoryService.findByItem(context.getSession(), (Item) item); return history; } return null; @@ -301,7 +302,7 @@ public String mint(Context context, DSpaceObject dso) { String handleId = null; VersionHistory history = null; if (dso instanceof Item) { - history = versionHistoryService.findByItem(context, (Item) dso); + history = versionHistoryService.findByItem(context.getSession(), (Item) dso); } if (history != null) { @@ -355,7 +356,7 @@ public void delete(Context context, DSpaceObject dso) throws IdentifierException Item item = (Item) dso; // If it is the most current version occurs to move the canonical to the previous version - VersionHistory history = versionHistoryService.findByItem(context, item); + VersionHistory history = versionHistoryService.findByItem(context.getSession(), item); if (history != null && versionHistoryService.getLatestVersion(context, history).getItem().equals(item) && versionService.getVersionsByHistory(context, history).size() > 1) { Item previous; diff --git a/dspace-api/src/main/java/org/dspace/orcid/consumer/OrcidQueueConsumer.java b/dspace-api/src/main/java/org/dspace/orcid/consumer/OrcidQueueConsumer.java index 5931dbfb0cde..572af3fa394d 100644 --- a/dspace-api/src/main/java/org/dspace/orcid/consumer/OrcidQueueConsumer.java +++ b/dspace-api/src/main/java/org/dspace/orcid/consumer/OrcidQueueConsumer.java @@ -309,7 +309,7 @@ private Optional getLastOperation(List records, St } private boolean isAlreadyQueued(Context context, Item profileItem, Item entity) throws SQLException { - return isNotEmpty(orcidQueueService.findByProfileItemAndEntity(context, profileItem, entity)); + return isNotEmpty(orcidQueueService.findByProfileItemAndEntity(context.getSession(), profileItem, entity)); } private boolean isNotLinkedToOrcid(Context context, Item profileItemItem) { @@ -319,7 +319,7 @@ private boolean isNotLinkedToOrcid(Context context, Item profileItemItem) { private boolean hasNotOrcidAccessToken(Context context, Item profileItemItem) { try { - return orcidTokenService.findByProfileItem(context, profileItemItem) == null; + return orcidTokenService.findByProfileItem(context.getSession(), profileItemItem) == null; } catch (SQLException ex) { LOGGER.error("Could not check ORCiD access token of Item {}", profileItemItem::getID, () -> ex); return true; diff --git a/dspace-api/src/main/java/org/dspace/orcid/script/OrcidBulkPush.java b/dspace-api/src/main/java/org/dspace/orcid/script/OrcidBulkPush.java index be309873d12b..8cffb1204d34 100644 --- a/dspace-api/src/main/java/org/dspace/orcid/script/OrcidBulkPush.java +++ b/dspace-api/src/main/java/org/dspace/orcid/script/OrcidBulkPush.java @@ -130,17 +130,17 @@ private List findQueueRecordsToSynchronize() throws SQLException { } /** - * If the current script execution is configued to ignore the max attemps, + * If the current script execution is configured to ignore the max attempts, * returns all the ORCID Queue records, otherwise returns the ORCID Queue * records that has an attempts value less than the configured max attempts * value. */ private List findQueueRecords() throws SQLException { if (ignoreMaxAttempts) { - return orcidQueueService.findAll(context); + return orcidQueueService.findAll(context.getSession()); } else { int attempts = configurationService.getIntProperty("orcid.bulk-synchronization.max-attempts"); - return orcidQueueService.findByAttemptsLessThan(context, attempts); + return orcidQueueService.findByAttemptsLessThan(context.getSession(), attempts); } } diff --git a/dspace-api/src/main/java/org/dspace/orcid/service/OrcidHistoryService.java b/dspace-api/src/main/java/org/dspace/orcid/service/OrcidHistoryService.java index 13e1a52b6f13..d08485a64ccf 100644 --- a/dspace-api/src/main/java/org/dspace/orcid/service/OrcidHistoryService.java +++ b/dspace-api/src/main/java/org/dspace/orcid/service/OrcidHistoryService.java @@ -17,6 +17,7 @@ import org.dspace.orcid.OrcidHistory; import org.dspace.orcid.OrcidQueue; import org.dspace.orcid.exception.OrcidValidationException; +import org.hibernate.Session; /** * Interface of service to manage OrcidHistory. @@ -29,42 +30,42 @@ public interface OrcidHistoryService { /** * Get an OrcidHistory from the database. * - * @param context DSpace context object + * @param session current request's database context. * @param id ID of the OrcidHistory * @return the OrcidHistory format, or null if the ID is invalid. * @throws SQLException if database error */ - public OrcidHistory find(Context context, int id) throws SQLException; + public OrcidHistory find(Session session, int id) throws SQLException; /** * Find all the ORCID history records. * - * @param context DSpace context object + * @param session current request's database context. * @return the ORCID history records * @throws SQLException if an SQL error occurs */ - public List findAll(Context context) throws SQLException; + public List findAll(Session session) throws SQLException; /** * Get the OrcidHistory records where the given item is the profile item OR the * entity * - * @param context DSpace context object + * @param session current request's database context. * @param item the item to search for * @return the found OrcidHistory entities * @throws SQLException if database error */ - public List findByProfileItemOrEntity(Context context, Item item) throws SQLException; + public List findByProfileItemOrEntity(Session session, Item item) throws SQLException; /** * Find the OrcidHistory records related to the given entity item. * - * @param context DSpace context object + * @param session current request's database context. * @param entity the entity item * @return the found put codes * @throws SQLException if database error */ - public List findByEntity(Context context, Item entity) throws SQLException; + public List findByEntity(Session session, Item entity) throws SQLException; /** * Create a new OrcidHistory records related to the given profileItem and entity @@ -99,25 +100,25 @@ public interface OrcidHistoryService { /** * Find the last put code related to the given profileItem and entity item. * - * @param context DSpace context object + * @param session current request's database context. * @param profileItem the profileItem item * @param entity the entity item * @return the found put code, if any * @throws SQLException if database error */ - public Optional findLastPutCode(Context context, Item profileItem, Item entity) throws SQLException; + public Optional findLastPutCode(Session session, Item profileItem, Item entity) throws SQLException; /** * Find all the last put code related to the entity item each associated with * the profileItem to which it refers. * - * @param context DSpace context object + * @param session current request's database context. * @param entity the entity item * @return a map that relates the profileItems with the identified * putCode * @throws SQLException if database error */ - public Map findLastPutCodes(Context context, Item entity) throws SQLException; + public Map findLastPutCodes(Session session, Item entity) throws SQLException; /** * Find all the successfully Orcid history records with the given record type diff --git a/dspace-api/src/main/java/org/dspace/orcid/service/OrcidQueueService.java b/dspace-api/src/main/java/org/dspace/orcid/service/OrcidQueueService.java index 8de25e9caf1e..45066e5d2874 100644 --- a/dspace-api/src/main/java/org/dspace/orcid/service/OrcidQueueService.java +++ b/dspace-api/src/main/java/org/dspace/orcid/service/OrcidQueueService.java @@ -17,6 +17,7 @@ import org.dspace.orcid.OrcidQueue; import org.dspace.orcid.model.OrcidEntityType; import org.dspace.profile.OrcidEntitySyncPreference; +import org.hibernate.Session; /** * Service that handles ORCID queue records. @@ -112,21 +113,21 @@ OrcidQueue createProfileDeletionRecord(Context context, Item profile, String des /** * Find all the ORCID queue records. * - * @param context DSpace context object + * @param session current request's database context. * @return the ORCID queue records * @throws SQLException if an SQL error occurs */ - public List findAll(Context context) throws SQLException; + public List findAll(Session session) throws SQLException; /** * Get the orcid queue records by the profileItem id. * - * @param context DSpace context object + * @param session current request's database context. * @param profileItemId the profileItem item id * @return the orcid queue records * @throws SQLException if an SQL error occurs */ - public List findByProfileItemId(Context context, UUID profileItemId) throws SQLException; + public List findByProfileItemId(Session session, UUID profileItemId) throws SQLException; /** * Get the orcid queue records by the profileItem id. @@ -144,35 +145,35 @@ public List findByProfileItemId(Context context, UUID profileItemId, /** * Get the orcid queue records by the profileItem and entity. * - * @param context DSpace context object + * @param session current request's database context. * @param profileItem the profileItem item * @param entity the entity item * @return the found OrcidQueue records * @throws SQLException if an SQL error occurs */ - public List findByProfileItemAndEntity(Context context, Item profileItem, Item entity) + public List findByProfileItemAndEntity(Session session, Item profileItem, Item entity) throws SQLException; /** * Get the OrcidQueue records where the given item is the profileItem OR the * entity * - * @param context DSpace context object + * @param session current request's database context. * @param item the item to search for * @return the found OrcidQueue records * @throws SQLException if database error */ - public List findByProfileItemOrEntity(Context context, Item item) throws SQLException; + public List findByProfileItemOrEntity(Session session, Item item) throws SQLException; /** * Get all the OrcidQueue records with attempts less than the given attempts. * - * @param context DSpace context object + * @param session current request's database context. * @param attempts the maximum value of attempts * @return the found OrcidQueue records * @throws SQLException if database error */ - public List findByAttemptsLessThan(Context context, int attempts) throws SQLException; + public List findByAttemptsLessThan(Session session, int attempts) throws SQLException; /** * Returns the number of records on the OrcidQueue associated with the given @@ -228,12 +229,12 @@ public void deleteByProfileItemAndRecordType(Context context, Item profileItem, /** * Get an OrcidQueue from the database. * - * @param context DSpace context object + * @param session current request's database context. * @param id ID of the OrcidQueue * @return the OrcidQueue format, or null if the ID is invalid. * @throws SQLException if database error */ - public OrcidQueue find(Context context, int id) throws SQLException; + public OrcidQueue find(Session session, int id) throws SQLException; /** * Update the OrcidQueue diff --git a/dspace-api/src/main/java/org/dspace/orcid/service/OrcidTokenService.java b/dspace-api/src/main/java/org/dspace/orcid/service/OrcidTokenService.java index f4bea4b0a4fc..9c649e06107f 100644 --- a/dspace-api/src/main/java/org/dspace/orcid/service/OrcidTokenService.java +++ b/dspace-api/src/main/java/org/dspace/orcid/service/OrcidTokenService.java @@ -13,6 +13,7 @@ import org.dspace.core.Context; import org.dspace.eperson.EPerson; import org.dspace.orcid.OrcidToken; +import org.hibernate.Session; /** * Service that handle {@link OrcidToken} entities. @@ -46,23 +47,23 @@ public interface OrcidTokenService { /** * Find an OrcidToken by ePerson. * - * @param context the DSpace context + * @param session the current request's database context. * @param ePerson the ePerson to search for * @return the Orcid token, if any * @throws SQLException passed through. */ - public OrcidToken findByEPerson(Context context, EPerson ePerson) + public OrcidToken findByEPerson(Session session, EPerson ePerson) throws SQLException; /** * Find an OrcidToken by profileItem. * - * @param context the DSpace context + * @param session the current request's database context. * @param profileItem the profile item to search for * @return the Orcid token, if any * @throws SQLException passed through. */ - public OrcidToken findByProfileItem(Context context, Item profileItem) + public OrcidToken findByProfileItem(Session session, Item profileItem) throws SQLException; /** diff --git a/dspace-api/src/main/java/org/dspace/orcid/service/impl/OrcidHistoryServiceImpl.java b/dspace-api/src/main/java/org/dspace/orcid/service/impl/OrcidHistoryServiceImpl.java index a599c1b3bd38..314c4cbea1c4 100644 --- a/dspace-api/src/main/java/org/dspace/orcid/service/impl/OrcidHistoryServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/orcid/service/impl/OrcidHistoryServiceImpl.java @@ -49,6 +49,7 @@ import org.dspace.orcid.service.OrcidHistoryService; import org.dspace.orcid.service.OrcidProfileSectionFactoryService; import org.dspace.orcid.service.OrcidTokenService; +import org.hibernate.Session; import org.orcid.jaxb.model.v3.release.record.Activity; import org.springframework.beans.factory.annotation.Autowired; @@ -91,18 +92,18 @@ public class OrcidHistoryServiceImpl implements OrcidHistoryService { private OrcidTokenService orcidTokenService; @Override - public OrcidHistory find(Context context, int id) throws SQLException { - return orcidHistoryDAO.findByID(context.getSession(), OrcidHistory.class, id); + public OrcidHistory find(Session session, int id) throws SQLException { + return orcidHistoryDAO.findByID(session, OrcidHistory.class, id); } @Override - public List findAll(Context context) throws SQLException { - return orcidHistoryDAO.findAll(context.getSession(), OrcidHistory.class); + public List findAll(Session session) throws SQLException { + return orcidHistoryDAO.findAll(session, OrcidHistory.class); } @Override - public List findByProfileItemOrEntity(Context context, Item profileItem) throws SQLException { - return orcidHistoryDAO.findByProfileItemOrEntity(context.getSession(), profileItem); + public List findByProfileItemOrEntity(Session session, Item profileItem) throws SQLException { + return orcidHistoryDAO.findByProfileItemOrEntity(session, profileItem); } @Override @@ -126,19 +127,19 @@ public void update(Context context, OrcidHistory orcidHistory) throws SQLExcepti } @Override - public Optional findLastPutCode(Context context, Item profileItem, Item entity) throws SQLException { + public Optional findLastPutCode(Session session, Item profileItem, Item entity) throws SQLException { List records - = orcidHistoryDAO.findByProfileItemAndEntity(context.getSession(), + = orcidHistoryDAO.findByProfileItemAndEntity(session, profileItem.getID(), entity.getID()); return findLastPutCode(records, profileItem); } @Override - public Map findLastPutCodes(Context context, Item entity) throws SQLException { + public Map findLastPutCodes(Session session, Item entity) throws SQLException { Map profileItemAndPutCodeMap = new HashMap<>(); - List orcidHistoryRecords = findByEntity(context, entity); + List orcidHistoryRecords = findByEntity(session, entity); for (OrcidHistory orcidHistoryRecord : orcidHistoryRecords) { Item profileItem = orcidHistoryRecord.getProfileItem(); if (profileItemAndPutCodeMap.containsKey(profileItem)) { @@ -153,8 +154,8 @@ public Map findLastPutCodes(Context context, Item entity) throws S } @Override - public List findByEntity(Context context, Item entity) throws SQLException { - return orcidHistoryDAO.findByEntity(context.getSession(), entity); + public List findByEntity(Session session, Item entity) throws SQLException { + return orcidHistoryDAO.findByEntity(session, entity); } @Override @@ -327,7 +328,7 @@ private Optional getMetadataValue(Item item, String metadataField) { private Optional getAccessToken(Context context, Item item) { try { - return ofNullable(orcidTokenService.findByProfileItem(context, item)) + return ofNullable(orcidTokenService.findByProfileItem(context.getSession(), item)) .map(orcidToken -> orcidToken.getAccessToken()); } catch (SQLException ex) { LOGGER.error("Unable to get ORCiD access token for Item {}", item::getID, () -> ex); diff --git a/dspace-api/src/main/java/org/dspace/orcid/service/impl/OrcidQueueServiceImpl.java b/dspace-api/src/main/java/org/dspace/orcid/service/impl/OrcidQueueServiceImpl.java index ddf867bb953e..03141aa4a917 100644 --- a/dspace-api/src/main/java/org/dspace/orcid/service/impl/OrcidQueueServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/orcid/service/impl/OrcidQueueServiceImpl.java @@ -26,6 +26,7 @@ import org.dspace.orcid.service.OrcidHistoryService; import org.dspace.orcid.service.OrcidQueueService; import org.dspace.profile.OrcidEntitySyncPreference; +import org.hibernate.Session; import org.springframework.beans.factory.annotation.Autowired; /** @@ -49,8 +50,8 @@ public class OrcidQueueServiceImpl implements OrcidQueueService { private RelationshipService relationshipService; @Override - public List findByProfileItemId(Context context, UUID profileItemId) throws SQLException { - return orcidQueueDAO.findByProfileItemId(context.getSession(), profileItemId, -1, 0); + public List findByProfileItemId(Session session, UUID profileItemId) throws SQLException { + return orcidQueueDAO.findByProfileItemId(session, profileItemId, -1, 0); } @Override @@ -60,14 +61,14 @@ public List findByProfileItemId(Context context, UUID profileItemId, } @Override - public List findByProfileItemAndEntity(Context context, Item profileItem, Item entity) + public List findByProfileItemAndEntity(Session session, Item profileItem, Item entity) throws SQLException { - return orcidQueueDAO.findByProfileItemAndEntity(context.getSession(), profileItem, entity); + return orcidQueueDAO.findByProfileItemAndEntity(session, profileItem, entity); } @Override - public List findByProfileItemOrEntity(Context context, Item item) throws SQLException { - return orcidQueueDAO.findByProfileItemOrEntity(context.getSession(), item); + public List findByProfileItemOrEntity(Session session, Item item) throws SQLException { + return orcidQueueDAO.findByProfileItemOrEntity(session, item); } @Override @@ -76,13 +77,13 @@ public long countByProfileItemId(Context context, UUID profileItemId) throws SQL } @Override - public List findAll(Context context) throws SQLException { - return orcidQueueDAO.findAll(context.getSession(), OrcidQueue.class); + public List findAll(Session session) throws SQLException { + return orcidQueueDAO.findAll(session, OrcidQueue.class); } @Override public OrcidQueue create(Context context, Item profileItem, Item entity) throws SQLException { - Optional putCode = orcidHistoryService.findLastPutCode(context, profileItem, entity); + Optional putCode = orcidHistoryService.findLastPutCode(context.getSession(), profileItem, entity); if (putCode.isPresent()) { return createEntityUpdateRecord(context, profileItem, entity, putCode.get()); } else { @@ -163,8 +164,8 @@ public void deleteById(Context context, Integer id) throws SQLException { } @Override - public List findByAttemptsLessThan(Context context, int attempts) throws SQLException { - return orcidQueueDAO.findByAttemptsLessThan(context.getSession(), attempts); + public List findByAttemptsLessThan(Session session, int attempts) throws SQLException { + return orcidQueueDAO.findByAttemptsLessThan(session, attempts); } @Override @@ -192,8 +193,8 @@ public void deleteByProfileItemAndRecordType(Context context, Item profileItem, } @Override - public OrcidQueue find(Context context, int id) throws SQLException { - return orcidQueueDAO.findByID(context.getSession(), OrcidQueue.class, id); + public OrcidQueue find(Session session, int id) throws SQLException { + return orcidQueueDAO.findByID(session, OrcidQueue.class, id); } @Override diff --git a/dspace-api/src/main/java/org/dspace/orcid/service/impl/OrcidSynchronizationServiceImpl.java b/dspace-api/src/main/java/org/dspace/orcid/service/impl/OrcidSynchronizationServiceImpl.java index eead62af778b..9d022de863a4 100644 --- a/dspace-api/src/main/java/org/dspace/orcid/service/impl/OrcidSynchronizationServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/orcid/service/impl/OrcidSynchronizationServiceImpl.java @@ -236,7 +236,7 @@ public OrcidProfileDisconnectionMode getDisconnectionMode() { private void setAccessToken(Context context, Item profile, EPerson ePerson, String accessToken) { OrcidToken orcidToken; try { - orcidToken = orcidTokenService.findByEPerson(context, ePerson); + orcidToken = orcidTokenService.findByEPerson(context.getSession(), ePerson); } catch (SQLException ex) { LOGGER.error("Failed looking up ORCiD access token for EPerson {}", ePerson::getID, () -> ex); @@ -283,7 +283,7 @@ private boolean containsSameValues(List firstList, List secondLi private Optional getOrcidAccessToken(Context context, Item item) { try { - return ofNullable(orcidTokenService.findByProfileItem(context, item)) + return ofNullable(orcidTokenService.findByProfileItem(context.getSession(), item)) .map(orcidToken -> orcidToken.getAccessToken()); } catch (SQLException ex) { LOGGER.error("Could not get ORCiD access token for Item {}", diff --git a/dspace-api/src/main/java/org/dspace/orcid/service/impl/OrcidTokenServiceImpl.java b/dspace-api/src/main/java/org/dspace/orcid/service/impl/OrcidTokenServiceImpl.java index afe1b7bcc9cd..75fdd39235ad 100644 --- a/dspace-api/src/main/java/org/dspace/orcid/service/impl/OrcidTokenServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/orcid/service/impl/OrcidTokenServiceImpl.java @@ -16,6 +16,7 @@ import org.dspace.orcid.OrcidToken; import org.dspace.orcid.dao.OrcidTokenDAO; import org.dspace.orcid.service.OrcidTokenService; +import org.hibernate.Session; import org.springframework.beans.factory.annotation.Autowired; /** @@ -48,15 +49,15 @@ public OrcidToken create(Context context, EPerson ePerson, Item profileItem, Str } @Override - public OrcidToken findByEPerson(Context context, EPerson ePerson) + public OrcidToken findByEPerson(Session session, EPerson ePerson) throws SQLException { - return orcidTokenDAO.findByEPerson(context.getSession(), ePerson); + return orcidTokenDAO.findByEPerson(session, ePerson); } @Override - public OrcidToken findByProfileItem(Context context, Item profileItem) + public OrcidToken findByProfileItem(Session session, Item profileItem) throws SQLException { - return orcidTokenDAO.findByProfileItem(context.getSession(), profileItem); + return orcidTokenDAO.findByProfileItem(session, profileItem); } @Override @@ -85,7 +86,7 @@ public void deleteAll(Context context) { @Override public void deleteByEPerson(Context context, EPerson ePerson) throws SQLException { - OrcidToken orcidToken = findByEPerson(context, ePerson); + OrcidToken orcidToken = findByEPerson(context.getSession(), ePerson); if (orcidToken != null) { delete(context, orcidToken); } @@ -94,7 +95,7 @@ public void deleteByEPerson(Context context, EPerson ePerson) @Override public void deleteByProfileItem(Context context, Item profileItem) throws SQLException { - OrcidToken orcidToken = findByProfileItem(context, profileItem); + OrcidToken orcidToken = findByProfileItem(context.getSession(), profileItem); if (orcidToken != null) { delete(context, orcidToken); } diff --git a/dspace-api/src/main/java/org/dspace/profile/OrcidMetadataCopyingAction.java b/dspace-api/src/main/java/org/dspace/profile/OrcidMetadataCopyingAction.java index 36abea9ddb63..a15946462463 100644 --- a/dspace-api/src/main/java/org/dspace/profile/OrcidMetadataCopyingAction.java +++ b/dspace-api/src/main/java/org/dspace/profile/OrcidMetadataCopyingAction.java @@ -58,7 +58,7 @@ public void perform(Context context, ResearcherProfile researcherProfile, EPerso copyMetadataValues(context, owner, "eperson.orcid", item, "person.identifier.orcid"); copyMetadataValues(context, owner, "eperson.orcid.scope", item, "dspace.orcid.scope"); - OrcidToken orcidToken = orcidTokenService.findByEPerson(context, owner); + OrcidToken orcidToken = orcidTokenService.findByEPerson(context.getSession(), owner); if (orcidToken != null) { orcidToken.setProfileItem(item); } diff --git a/dspace-api/src/main/java/org/dspace/scripts/ProcessServiceImpl.java b/dspace-api/src/main/java/org/dspace/scripts/ProcessServiceImpl.java index 8891d87b2a32..1760046145e1 100644 --- a/dspace-api/src/main/java/org/dspace/scripts/ProcessServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/scripts/ProcessServiceImpl.java @@ -47,6 +47,7 @@ import org.dspace.eperson.Group; import org.dspace.eperson.service.EPersonService; import org.dspace.scripts.service.ProcessService; +import org.hibernate.Session; import org.springframework.beans.factory.annotation.Autowired; /** @@ -100,28 +101,28 @@ public Process create(Context context, EPerson ePerson, String scriptName, } @Override - public Process find(Context context, int processId) throws SQLException { - return processDAO.findByID(context.getSession(), Process.class, processId); + public Process find(Session session, int processId) throws SQLException { + return processDAO.findByID(session, Process.class, processId); } @Override - public List findAll(Context context) throws SQLException { - return processDAO.findAll(context.getSession(), Process.class); + public List findAll(Session session) throws SQLException { + return processDAO.findAll(session, Process.class); } @Override - public List findAll(Context context, int limit, int offset) throws SQLException { - return processDAO.findAll(context.getSession(), limit, offset); + public List findAll(Session session, int limit, int offset) throws SQLException { + return processDAO.findAll(session.getSession(), limit, offset); } @Override - public List findAllSortByScript(Context context) throws SQLException { - return processDAO.findAllSortByScript(context.getSession()); + public List findAllSortByScript(Session session) throws SQLException { + return processDAO.findAllSortByScript(session); } @Override - public List findAllSortByStartTime(Context context) throws SQLException { - List processes = findAll(context); + public List findAllSortByStartTime(Session session) throws SQLException { + List processes = findAll(session); Comparator comparing = Comparator .comparing(Process::getStartTime, Comparator.nullsLast(Comparator.naturalOrder())); comparing = comparing.thenComparing(Process::getID); @@ -130,8 +131,8 @@ public List findAllSortByStartTime(Context context) throws SQLException } @Override - public List findByUser(Context context, EPerson eperson, int limit, int offset) throws SQLException { - return processDAO.findByUser(context.getSession(), eperson, limit, offset); + public List findByUser(Session session, EPerson eperson, int limit, int offset) throws SQLException { + return processDAO.findByUser(session, eperson, limit, offset); } @Override @@ -312,9 +313,9 @@ public void createLogBitstream(Context context, Process process) } @Override - public List findByStatusAndCreationTimeOlderThan(Context context, List statuses, + public List findByStatusAndCreationTimeOlderThan(Session session, List statuses, Date date) throws SQLException { - return this.processDAO.findByStatusAndCreationTimeOlderThan(context.getSession(), statuses, date); + return this.processDAO.findByStatusAndCreationTimeOlderThan(session, statuses, date); } @Override diff --git a/dspace-api/src/main/java/org/dspace/scripts/service/ProcessService.java b/dspace-api/src/main/java/org/dspace/scripts/service/ProcessService.java index c6fc24888155..3a3cc6b222bc 100644 --- a/dspace-api/src/main/java/org/dspace/scripts/service/ProcessService.java +++ b/dspace-api/src/main/java/org/dspace/scripts/service/ProcessService.java @@ -24,6 +24,7 @@ import org.dspace.scripts.Process; import org.dspace.scripts.ProcessLogLevel; import org.dspace.scripts.ProcessQueryParameterContainer; +import org.hibernate.Session; /** * An interface for the ProcessService with methods regarding the Process workload @@ -47,48 +48,48 @@ public Process create(Context context, EPerson ePerson, String scriptName, /** * This method will retrieve a Process object from the Database with the given ID - * @param context The relevant DSpace context + * @param session current request's database context. * @param processId The process id on which we'll search for in the database * @return The process that holds the given process id * @throws SQLException If something goes wrong */ - public Process find(Context context, int processId) throws SQLException; + public Process find(Session session, int processId) throws SQLException; /** * Returns a list of all Process objects in the database - * @param context The relevant DSpace context + * @param session current request's database context. * @return The list of all Process objects in the Database * @throws SQLException If something goes wrong */ - public List findAll(Context context) throws SQLException; + public List findAll(Session session) throws SQLException; /** * Returns a list of all Process objects in the database - * @param context The relevant DSpace context + * @param session current request's database context. * @param limit The limit for the amount of Processes returned * @param offset The offset for the Processes to be returned * @return The list of all Process objects in the Database * @throws SQLException If something goes wrong */ - public List findAll(Context context, int limit, int offset) throws SQLException; + public List findAll(Session session, int limit, int offset) throws SQLException; /** * Returns a list of all Process objects in the database sorted by script name - * @param context The relevant DSpace context + * @param session current request's database context. * @return The list of all Process objects in the database sorted by script name * @throws SQLException If something goes wrong */ - public List findAllSortByScript(Context context) throws SQLException; + public List findAllSortByScript(Session session) throws SQLException; /** - * Returns a list of all Process objects in the database sorted by start time - * The most recent one will be shown first - * @param context The relevant DSpace context + * Returns a list of all Process objects in the database sorted by start time. + * The most recent one will be shown first. + * @param session current request's database context. * @return The list of all Process objects sorted by start time * @throws SQLException If something goes wrong */ - public List findAllSortByStartTime(Context context) throws SQLException; + public List findAllSortByStartTime(Session session) throws SQLException; /** * This method will perform the logic needed to update the Process object in the database to represent a @@ -247,26 +248,26 @@ void createLogBitstream(Context context, Process process) * Find all the processes with one of the given status and with a creation time * older than the specified date. * - * @param context The relevant DSpace context + * @param session current request's database context. * @param statuses the statuses of the processes to search for * @param date the creation date to search for * @return The list of all Processes which match requirements - * @throws AuthorizeException If something goes wrong + * @throws SQLException If something goes wrong */ - List findByStatusAndCreationTimeOlderThan(Context context, List statuses, Date date) + List findByStatusAndCreationTimeOlderThan(Session session, List statuses, Date date) throws SQLException; /** * Returns a list of all Process objects in the database by the given user. * - * @param context The relevant DSpace context + * @param session current request's database context. * @param user The user to search for * @param limit The limit for the amount of Processes returned * @param offset The offset for the Processes to be returned * @return The list of all Process objects in the Database * @throws SQLException If something goes wrong */ - List findByUser(Context context, EPerson user, int limit, int offset) throws SQLException; + List findByUser(Session session, EPerson user, int limit, int offset) throws SQLException; /** * Count all the processes which is related to the given user. diff --git a/dspace-api/src/main/java/org/dspace/supervision/SupervisionOrderServiceImpl.java b/dspace-api/src/main/java/org/dspace/supervision/SupervisionOrderServiceImpl.java index 2aeeaf2ffe66..0aacb0708882 100644 --- a/dspace-api/src/main/java/org/dspace/supervision/SupervisionOrderServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/supervision/SupervisionOrderServiceImpl.java @@ -88,23 +88,23 @@ public SupervisionOrder create(Context context, Item item, Group group) throws S } @Override - public List findAll(Context context) throws SQLException { - return supervisionDao.findAll(context.getSession(), SupervisionOrder.class); + public List findAll(Session session) throws SQLException { + return supervisionDao.findAll(session, SupervisionOrder.class); } @Override - public List findByItem(Context context, Item item) throws SQLException { - return supervisionDao.findByItem(context.getSession(), item); + public List findByItem(Session session, Item item) throws SQLException { + return supervisionDao.findByItem(session, item); } @Override - public SupervisionOrder findByItemAndGroup(Context context, Item item, Group group) throws SQLException { - return supervisionDao.findByItemAndGroup(context.getSession(), item, group); + public SupervisionOrder findByItemAndGroup(Session session, Item item, Group group) throws SQLException { + return supervisionDao.findByItemAndGroup(session, item, group); } @Override public boolean isSupervisor(Context context, EPerson ePerson, Item item) throws SQLException { - List supervisionOrders = findByItem(context, item); + List supervisionOrders = findByItem(context.getSession(), item); if (CollectionUtils.isEmpty(supervisionOrders)) { return false; diff --git a/dspace-api/src/main/java/org/dspace/supervision/service/SupervisionOrderService.java b/dspace-api/src/main/java/org/dspace/supervision/service/SupervisionOrderService.java index 0a3b6dae4b9c..b5351f5760af 100644 --- a/dspace-api/src/main/java/org/dspace/supervision/service/SupervisionOrderService.java +++ b/dspace-api/src/main/java/org/dspace/supervision/service/SupervisionOrderService.java @@ -16,6 +16,7 @@ import org.dspace.eperson.Group; import org.dspace.service.DSpaceCRUDService; import org.dspace.supervision.SupervisionOrder; +import org.hibernate.Session; /** * Service interface class for the SupervisionOrder object. @@ -38,33 +39,33 @@ public interface SupervisionOrderService extends DSpaceCRUDService findAll(Context context) throws SQLException; + List findAll(Session session) throws SQLException; /** * Find all supervision orders for a given Item * - * @param context The DSpace context + * @param session current request's database context. * @param item the item * @return all Supervision Orders related to the item * @throws SQLException If something goes wrong in the database */ - List findByItem(Context context, Item item) throws SQLException; + List findByItem(Session session, Item item) throws SQLException; /** * * Find a supervision order depending on given Item and Group * - * @param context The DSpace context + * @param session The DSpace context * @param item the item * @param group the group * @return the Supervision Order of the item and group * @throws SQLException If something goes wrong in the database */ - SupervisionOrder findByItemAndGroup(Context context, Item item, Group group) throws SQLException; + SupervisionOrder findByItemAndGroup(Session session, Item item, Group group) throws SQLException; /** * diff --git a/dspace-api/src/main/java/org/dspace/versioning/VersionHistoryServiceImpl.java b/dspace-api/src/main/java/org/dspace/versioning/VersionHistoryServiceImpl.java index ea0cfa92ea59..41c4662e9e57 100644 --- a/dspace-api/src/main/java/org/dspace/versioning/VersionHistoryServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/versioning/VersionHistoryServiceImpl.java @@ -139,7 +139,7 @@ public boolean hasNext(Context context, VersionHistory versionHistory, Version v @Override public boolean hasVersionHistory(Context context, Item item) throws SQLException { - return findByItem(context, item) != null; + return findByItem(context.getSession(), item) != null; } @Override @@ -180,7 +180,7 @@ public Version getFirstVersion(Context context, VersionHistory versionHistory) @Override public boolean isFirstVersion(Context context, Item item) throws SQLException { - VersionHistory vh = findByItem(context, item); + VersionHistory vh = findByItem(context.getSession(), item); if (vh == null) { return true; } @@ -196,7 +196,7 @@ public boolean isFirstVersion(Context context, VersionHistory versionHistory, Ve @Override public boolean isLastVersion(Context context, Item item) throws SQLException { - VersionHistory vh = findByItem(context, item); + VersionHistory vh = findByItem(context.getSession(), item); if (vh == null) { return true; } @@ -217,8 +217,8 @@ public void remove(VersionHistory versionHistory, Version version) { } @Override - public VersionHistory findByItem(Context context, Item item) throws SQLException { - return versionHistoryDAO.findByItem(context.getSession(), item); + public VersionHistory findByItem(Session session, Item item) throws SQLException { + return versionHistoryDAO.findByItem(session, item); } @Override diff --git a/dspace-api/src/main/java/org/dspace/versioning/VersioningConsumer.java b/dspace-api/src/main/java/org/dspace/versioning/VersioningConsumer.java index 94eb965c7068..b4bba0824d6f 100644 --- a/dspace-api/src/main/java/org/dspace/versioning/VersioningConsumer.java +++ b/dspace-api/src/main/java/org/dspace/versioning/VersioningConsumer.java @@ -96,7 +96,7 @@ public void consume(Context ctx, Event event) throws Exception { } // get version history - VersionHistory history = versionHistoryService.findByItem(ctx, item); + VersionHistory history = versionHistoryService.findByItem(ctx.getSession(), item); if (history == null) { return; } diff --git a/dspace-api/src/main/java/org/dspace/versioning/VersioningServiceImpl.java b/dspace-api/src/main/java/org/dspace/versioning/VersioningServiceImpl.java index 08796a7dc91d..dae57d0e3017 100644 --- a/dspace-api/src/main/java/org/dspace/versioning/VersioningServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/versioning/VersioningServiceImpl.java @@ -67,7 +67,7 @@ public Version createNewVersion(Context c, Item item) { @Override public Version createNewVersion(Context c, Item item, String summary) { try { - VersionHistory vh = versionHistoryService.findByItem(c, item); + VersionHistory vh = versionHistoryService.findByItem(c.getSession(), item); if (vh == null) { // first time: create 2 versions: old and new one vh = versionHistoryService.create(c); @@ -216,7 +216,7 @@ public Version createNewVersion(Context context, VersionHistory history, Item it } private boolean isVersionExist(Context context, Item item, int versionNumber) throws SQLException { - VersionHistory history = versionHistoryService.findByItem(context, item); + VersionHistory history = versionHistoryService.findByItem(context.getSession(), item); if (Objects.isNull(history)) { return false; } diff --git a/dspace-api/src/main/java/org/dspace/versioning/service/VersionHistoryService.java b/dspace-api/src/main/java/org/dspace/versioning/service/VersionHistoryService.java index e4f4aa2e33dd..c79b238263a2 100644 --- a/dspace-api/src/main/java/org/dspace/versioning/service/VersionHistoryService.java +++ b/dspace-api/src/main/java/org/dspace/versioning/service/VersionHistoryService.java @@ -14,6 +14,7 @@ import org.dspace.service.DSpaceCRUDService; import org.dspace.versioning.Version; import org.dspace.versioning.VersionHistory; +import org.hibernate.Session; /** * @author Fabio Bolognesi (fabio at atmire dot com) @@ -26,7 +27,7 @@ public interface VersionHistoryService extends DSpaceCRUDService public void add(Context context, VersionHistory versionHistory, Version version) throws SQLException; - public VersionHistory findByItem(Context context, Item item) + public VersionHistory findByItem(Session session, Item item) throws SQLException; public Version getFirstVersion(Context context, VersionHistory versionHistory) @@ -70,7 +71,7 @@ public boolean isLastVersion(Context context, VersionHistory versionHistory, Ver /** * This method has a scope to verify if the logged user has permission * to see the attribute 'draftVersion' of the latest version. - * + * * @param context DSpace context object * @param versionHistory Version history object * @return return true if the logged user has permission to see diff --git a/dspace-api/src/test/java/org/dspace/administer/ProcessCleanerIT.java b/dspace-api/src/test/java/org/dspace/administer/ProcessCleanerIT.java index 4676236cfee4..1ddab86a243a 100644 --- a/dspace-api/src/test/java/org/dspace/administer/ProcessCleanerIT.java +++ b/dspace-api/src/test/java/org/dspace/administer/ProcessCleanerIT.java @@ -69,10 +69,9 @@ public void testWithoutProcessToDelete() throws Exception { assertThat(messages, hasItem("Found 0 processes to be deleted")); assertThat(messages, hasItem("Process cleanup completed")); - assertThat(processService.find(context, process_1.getID()), notNullValue()); - assertThat(processService.find(context, process_2.getID()), notNullValue()); - assertThat(processService.find(context, process_3.getID()), notNullValue()); - + assertThat(processService.find(context.getSession(), process_1.getID()), notNullValue()); + assertThat(processService.find(context.getSession(), process_2.getID()), notNullValue()); + assertThat(processService.find(context.getSession(), process_3.getID()), notNullValue()); } @Test @@ -102,14 +101,13 @@ public void testWithoutSpecifiedStatus() throws Exception { assertThat(messages, hasItem("Found 2 processes to be deleted")); assertThat(messages, hasItem("Process cleanup completed")); - assertThat(processService.find(context, process_1.getID()), notNullValue()); - assertThat(processService.find(context, process_2.getID()), notNullValue()); - assertThat(processService.find(context, process_3.getID()), notNullValue()); - assertThat(processService.find(context, process_4.getID()), nullValue()); - assertThat(processService.find(context, process_5.getID()), nullValue()); - assertThat(processService.find(context, process_6.getID()), notNullValue()); - assertThat(processService.find(context, process_7.getID()), notNullValue()); - + assertThat(processService.find(context.getSession(), process_1.getID()), notNullValue()); + assertThat(processService.find(context.getSession(), process_2.getID()), notNullValue()); + assertThat(processService.find(context.getSession(), process_3.getID()), notNullValue()); + assertThat(processService.find(context.getSession(), process_4.getID()), nullValue()); + assertThat(processService.find(context.getSession(), process_5.getID()), nullValue()); + assertThat(processService.find(context.getSession(), process_6.getID()), notNullValue()); + assertThat(processService.find(context.getSession(), process_7.getID()), notNullValue()); } @Test @@ -139,14 +137,13 @@ public void testWithCompletedStatus() throws Exception { assertThat(messages, hasItem("Found 2 processes to be deleted")); assertThat(messages, hasItem("Process cleanup completed")); - assertThat(processService.find(context, process_1.getID()), notNullValue()); - assertThat(processService.find(context, process_2.getID()), notNullValue()); - assertThat(processService.find(context, process_3.getID()), notNullValue()); - assertThat(processService.find(context, process_4.getID()), nullValue()); - assertThat(processService.find(context, process_5.getID()), nullValue()); - assertThat(processService.find(context, process_6.getID()), notNullValue()); - assertThat(processService.find(context, process_7.getID()), notNullValue()); - + assertThat(processService.find(context.getSession(), process_1.getID()), notNullValue()); + assertThat(processService.find(context.getSession(), process_2.getID()), notNullValue()); + assertThat(processService.find(context.getSession(), process_3.getID()), notNullValue()); + assertThat(processService.find(context.getSession(), process_4.getID()), nullValue()); + assertThat(processService.find(context.getSession(), process_5.getID()), nullValue()); + assertThat(processService.find(context.getSession(), process_6.getID()), notNullValue()); + assertThat(processService.find(context.getSession(), process_7.getID()), notNullValue()); } @Test @@ -177,15 +174,14 @@ public void testWithRunningStatus() throws Exception { assertThat(messages, hasItem("Found 2 processes to be deleted")); assertThat(messages, hasItem("Process cleanup completed")); - assertThat(processService.find(context, process_1.getID()), notNullValue()); - assertThat(processService.find(context, process_2.getID()), notNullValue()); - assertThat(processService.find(context, process_3.getID()), notNullValue()); - assertThat(processService.find(context, process_4.getID()), notNullValue()); - assertThat(processService.find(context, process_5.getID()), notNullValue()); - assertThat(processService.find(context, process_6.getID()), nullValue()); - assertThat(processService.find(context, process_7.getID()), notNullValue()); - assertThat(processService.find(context, process_8.getID()), nullValue()); - + assertThat(processService.find(context.getSession(), process_1.getID()), notNullValue()); + assertThat(processService.find(context.getSession(), process_2.getID()), notNullValue()); + assertThat(processService.find(context.getSession(), process_3.getID()), notNullValue()); + assertThat(processService.find(context.getSession(), process_4.getID()), notNullValue()); + assertThat(processService.find(context.getSession(), process_5.getID()), notNullValue()); + assertThat(processService.find(context.getSession(), process_6.getID()), nullValue()); + assertThat(processService.find(context.getSession(), process_7.getID()), notNullValue()); + assertThat(processService.find(context.getSession(), process_8.getID()), nullValue()); } @Test @@ -216,15 +212,14 @@ public void testWithFailedStatus() throws Exception { assertThat(messages, hasItem("Found 2 processes to be deleted")); assertThat(messages, hasItem("Process cleanup completed")); - assertThat(processService.find(context, process_1.getID()), notNullValue()); - assertThat(processService.find(context, process_2.getID()), notNullValue()); - assertThat(processService.find(context, process_3.getID()), notNullValue()); - assertThat(processService.find(context, process_4.getID()), notNullValue()); - assertThat(processService.find(context, process_5.getID()), notNullValue()); - assertThat(processService.find(context, process_6.getID()), notNullValue()); - assertThat(processService.find(context, process_7.getID()), nullValue()); - assertThat(processService.find(context, process_8.getID()), nullValue()); - + assertThat(processService.find(context.getSession(), process_1.getID()), notNullValue()); + assertThat(processService.find(context.getSession(), process_2.getID()), notNullValue()); + assertThat(processService.find(context.getSession(), process_3.getID()), notNullValue()); + assertThat(processService.find(context.getSession(), process_4.getID()), notNullValue()); + assertThat(processService.find(context.getSession(), process_5.getID()), notNullValue()); + assertThat(processService.find(context.getSession(), process_6.getID()), notNullValue()); + assertThat(processService.find(context.getSession(), process_7.getID()), nullValue()); + assertThat(processService.find(context.getSession(), process_8.getID()), nullValue()); } @Test @@ -252,15 +247,14 @@ public void testWithCompletedAndFailedStatus() throws Exception { assertThat(messages, hasItem("Found 4 processes to be deleted")); assertThat(messages, hasItem("Process cleanup completed")); - assertThat(processService.find(context, process_1.getID()), notNullValue()); - assertThat(processService.find(context, process_2.getID()), notNullValue()); - assertThat(processService.find(context, process_3.getID()), notNullValue()); - assertThat(processService.find(context, process_4.getID()), nullValue()); - assertThat(processService.find(context, process_5.getID()), nullValue()); - assertThat(processService.find(context, process_6.getID()), notNullValue()); - assertThat(processService.find(context, process_7.getID()), nullValue()); - assertThat(processService.find(context, process_8.getID()), nullValue()); - + assertThat(processService.find(context.getSession(), process_1.getID()), notNullValue()); + assertThat(processService.find(context.getSession(), process_2.getID()), notNullValue()); + assertThat(processService.find(context.getSession(), process_3.getID()), notNullValue()); + assertThat(processService.find(context.getSession(), process_4.getID()), nullValue()); + assertThat(processService.find(context.getSession(), process_5.getID()), nullValue()); + assertThat(processService.find(context.getSession(), process_6.getID()), notNullValue()); + assertThat(processService.find(context.getSession(), process_7.getID()), nullValue()); + assertThat(processService.find(context.getSession(), process_8.getID()), nullValue()); } @Test @@ -288,15 +282,14 @@ public void testWithCompletedAndRunningStatus() throws Exception { assertThat(messages, hasItem("Found 4 processes to be deleted")); assertThat(messages, hasItem("Process cleanup completed")); - assertThat(processService.find(context, process_1.getID()), notNullValue()); - assertThat(processService.find(context, process_2.getID()), notNullValue()); - assertThat(processService.find(context, process_3.getID()), notNullValue()); - assertThat(processService.find(context, process_4.getID()), nullValue()); - assertThat(processService.find(context, process_5.getID()), nullValue()); - assertThat(processService.find(context, process_6.getID()), nullValue()); - assertThat(processService.find(context, process_7.getID()), notNullValue()); - assertThat(processService.find(context, process_8.getID()), nullValue()); - + assertThat(processService.find(context.getSession(), process_1.getID()), notNullValue()); + assertThat(processService.find(context.getSession(), process_2.getID()), notNullValue()); + assertThat(processService.find(context.getSession(), process_3.getID()), notNullValue()); + assertThat(processService.find(context.getSession(), process_4.getID()), nullValue()); + assertThat(processService.find(context.getSession(), process_5.getID()), nullValue()); + assertThat(processService.find(context.getSession(), process_6.getID()), nullValue()); + assertThat(processService.find(context.getSession(), process_7.getID()), notNullValue()); + assertThat(processService.find(context.getSession(), process_8.getID()), nullValue()); } @Test @@ -324,15 +317,14 @@ public void testWithFailedAndRunningStatus() throws Exception { assertThat(messages, hasItem("Found 3 processes to be deleted")); assertThat(messages, hasItem("Process cleanup completed")); - assertThat(processService.find(context, process_1.getID()), notNullValue()); - assertThat(processService.find(context, process_2.getID()), notNullValue()); - assertThat(processService.find(context, process_3.getID()), notNullValue()); - assertThat(processService.find(context, process_4.getID()), notNullValue()); - assertThat(processService.find(context, process_5.getID()), notNullValue()); - assertThat(processService.find(context, process_6.getID()), nullValue()); - assertThat(processService.find(context, process_7.getID()), nullValue()); - assertThat(processService.find(context, process_8.getID()), nullValue()); - + assertThat(processService.find(context.getSession(), process_1.getID()), notNullValue()); + assertThat(processService.find(context.getSession(), process_2.getID()), notNullValue()); + assertThat(processService.find(context.getSession(), process_3.getID()), notNullValue()); + assertThat(processService.find(context.getSession(), process_4.getID()), notNullValue()); + assertThat(processService.find(context.getSession(), process_5.getID()), notNullValue()); + assertThat(processService.find(context.getSession(), process_6.getID()), nullValue()); + assertThat(processService.find(context.getSession(), process_7.getID()), nullValue()); + assertThat(processService.find(context.getSession(), process_8.getID()), nullValue()); } @Test @@ -360,15 +352,14 @@ public void testWithCompletedFailedAndRunningStatus() throws Exception { assertThat(messages, hasItem("Found 5 processes to be deleted")); assertThat(messages, hasItem("Process cleanup completed")); - assertThat(processService.find(context, process_1.getID()), notNullValue()); - assertThat(processService.find(context, process_2.getID()), notNullValue()); - assertThat(processService.find(context, process_3.getID()), notNullValue()); - assertThat(processService.find(context, process_4.getID()), nullValue()); - assertThat(processService.find(context, process_5.getID()), nullValue()); - assertThat(processService.find(context, process_6.getID()), nullValue()); - assertThat(processService.find(context, process_7.getID()), nullValue()); - assertThat(processService.find(context, process_8.getID()), nullValue()); - + assertThat(processService.find(context.getSession(), process_1.getID()), notNullValue()); + assertThat(processService.find(context.getSession(), process_2.getID()), notNullValue()); + assertThat(processService.find(context.getSession(), process_3.getID()), notNullValue()); + assertThat(processService.find(context.getSession(), process_4.getID()), nullValue()); + assertThat(processService.find(context.getSession(), process_5.getID()), nullValue()); + assertThat(processService.find(context.getSession(), process_6.getID()), nullValue()); + assertThat(processService.find(context.getSession(), process_7.getID()), nullValue()); + assertThat(processService.find(context.getSession(), process_8.getID()), nullValue()); } private Process buildProcess(ProcessStatus processStatus, Date creationTime) throws SQLException { diff --git a/dspace-api/src/test/java/org/dspace/builder/OrcidHistoryBuilder.java b/dspace-api/src/test/java/org/dspace/builder/OrcidHistoryBuilder.java index 199f412f8506..36a4932a37b2 100644 --- a/dspace-api/src/test/java/org/dspace/builder/OrcidHistoryBuilder.java +++ b/dspace-api/src/test/java/org/dspace/builder/OrcidHistoryBuilder.java @@ -90,7 +90,7 @@ public static void deleteOrcidHistory(Integer id) throws SQLException, IOExcepti } try (Context c = new Context()) { - OrcidHistory orcidHistory = orcidHistoryService.find(c, id); + OrcidHistory orcidHistory = orcidHistoryService.find(c.getSession(), id); if (orcidHistory != null) { orcidHistoryService.delete(c, orcidHistory); } diff --git a/dspace-api/src/test/java/org/dspace/builder/ProcessBuilder.java b/dspace-api/src/test/java/org/dspace/builder/ProcessBuilder.java index 0631e1b55a37..fe1b02192bb6 100644 --- a/dspace-api/src/test/java/org/dspace/builder/ProcessBuilder.java +++ b/dspace-api/src/test/java/org/dspace/builder/ProcessBuilder.java @@ -118,7 +118,7 @@ public static void deleteProcess(Integer integer) throws SQLException, IOExcepti } try (Context c = new Context()) { c.turnOffAuthorisationSystem(); - Process process = processService.find(c, integer); + Process process = processService.find(c.getSession(), integer); if (process != null) { try { processService.delete(c, process); diff --git a/dspace-api/src/test/java/org/dspace/builder/RequestItemBuilder.java b/dspace-api/src/test/java/org/dspace/builder/RequestItemBuilder.java index 66e6245ff625..ad51f40383c0 100644 --- a/dspace-api/src/test/java/org/dspace/builder/RequestItemBuilder.java +++ b/dspace-api/src/test/java/org/dspace/builder/RequestItemBuilder.java @@ -100,10 +100,10 @@ public RequestItem build() { token = requestItemService.createRequest(context, bitstream, item, (null == bitstream), REQ_EMAIL, REQ_NAME, REQ_MESSAGE); + requestItem = requestItemService.findByToken(context.getSession(), token); } catch (SQLException ex) { return handleException(ex); } - requestItem = requestItemService.findByToken(context, token); requestItem.setAccept_request(accepted); requestItem.setDecision_date(decisionDate); @@ -149,7 +149,7 @@ static public void deleteRequestItem(String token) .withLocation() .log("Delete RequestItem with token {}", token); try (Context context = new Context()) { - RequestItem request = requestItemService.findByToken(context, token); + RequestItem request = requestItemService.findByToken(context.getSession(), token); if (null == request) { return; } diff --git a/dspace-api/src/test/java/org/dspace/content/VersioningTest.java b/dspace-api/src/test/java/org/dspace/content/VersioningTest.java index ceb27f8da9b3..e06f20c4368d 100644 --- a/dspace-api/src/test/java/org/dspace/content/VersioningTest.java +++ b/dspace-api/src/test/java/org/dspace/content/VersioningTest.java @@ -117,7 +117,7 @@ public void destroy() { @Test public void testVersionFind() throws SQLException { - VersionHistory versionHistory = versionHistoryService.findByItem(context, originalItem); + VersionHistory versionHistory = versionHistoryService.findByItem(context.getSession(), originalItem); assertThat("testFindVersionHistory", versionHistory, notNullValue()); Version version = versionHistoryService.getVersion(context, versionHistory, versionedItem); assertThat("testFindVersion", version, notNullValue()); @@ -129,7 +129,7 @@ public void testVersionFind() throws SQLException { @Test public void testVersionSummary() throws Exception { //Start by creating a new item ! - VersionHistory versionHistory = versionHistoryService.findByItem(context, originalItem); + VersionHistory versionHistory = versionHistoryService.findByItem(context.getSession(), originalItem); Version version = versionHistoryService.getVersion(context, versionHistory, versionedItem); assertThat("Test_version_summary", summary, equalTo(version.getSummary())); } diff --git a/dspace-api/src/test/java/org/dspace/orcid/OrcidQueueConsumerIT.java b/dspace-api/src/test/java/org/dspace/orcid/OrcidQueueConsumerIT.java index f2e528d78cd6..b4037abc7799 100644 --- a/dspace-api/src/test/java/org/dspace/orcid/OrcidQueueConsumerIT.java +++ b/dspace-api/src/test/java/org/dspace/orcid/OrcidQueueConsumerIT.java @@ -87,7 +87,7 @@ public void setUp() throws Exception { @After @Override public void destroy() throws Exception { - List records = orcidQueueService.findAll(context); + List records = orcidQueueService.findAll(context.getSession()); for (OrcidQueue record : records) { orcidQueueService.delete(context, record); } @@ -114,7 +114,7 @@ public void testWithNotOrcidSynchronizationEntity() throws Exception { context.restoreAuthSystemState(); context.commit(); - List queueRecords = orcidQueueService.findAll(context); + List queueRecords = orcidQueueService.findAll(context.getSession()); assertThat(queueRecords, empty()); } @@ -137,7 +137,7 @@ public void testWithOrcidSynchronizationDisabled() throws Exception { context.restoreAuthSystemState(); context.commit(); - List queueRecords = orcidQueueService.findAll(context); + List queueRecords = orcidQueueService.findAll(context.getSession()); assertThat(queueRecords, empty()); } @@ -160,7 +160,7 @@ public void testOrcidQueueRecordCreationForProfile() throws Exception { context.restoreAuthSystemState(); context.commit(); - List queueRecords = orcidQueueService.findAll(context); + List queueRecords = orcidQueueService.findAll(context.getSession()); assertThat(queueRecords, hasSize(2)); assertThat(queueRecords, hasItem(matches(profile, profile, "KEYWORDS", null, "dc.subject::test", "test", INSERT))); @@ -171,7 +171,7 @@ public void testOrcidQueueRecordCreationForProfile() throws Exception { addMetadata(profile, "person", "name", "variant", "User Test", null); context.commit(); - queueRecords = orcidQueueService.findAll(context); + queueRecords = orcidQueueService.findAll(context.getSession()); assertThat(queueRecords, hasSize(3)); assertThat(queueRecords, hasItem( matches(profile, profile, "KEYWORDS", null, "dc.subject::test", "test", INSERT))); @@ -214,12 +214,12 @@ public void testOrcidQueueRecordCreationForProfileWithSameMetadataPreviouslyDele context.restoreAuthSystemState(); context.commit(); - assertThat(orcidQueueService.findAll(context), empty()); + assertThat(orcidQueueService.findAll(context.getSession()), empty()); addMetadata(profile, "person", "country", null, "IT", null); context.commit(); - List queueRecords = orcidQueueService.findAll(context); + List queueRecords = orcidQueueService.findAll(context.getSession()); assertThat(queueRecords, hasSize(1)); assertThat(queueRecords.get(0), matches(profile, "COUNTRY", null, "person.country::IT", "IT", INSERT)); } @@ -267,12 +267,12 @@ public void testOrcidQueueRecordCreationForProfileWithMetadataPreviouslyDeletedA context.restoreAuthSystemState(); context.commit(); - assertThat(orcidQueueService.findAll(context), empty()); + assertThat(orcidQueueService.findAll(context.getSession()), empty()); addMetadata(profile, "person", "country", null, "IT", null); context.commit(); - assertThat(orcidQueueService.findAll(context), empty()); + assertThat(orcidQueueService.findAll(context.getSession()), empty()); } @@ -310,12 +310,12 @@ public void testOrcidQueueRecordCreationForProfileWithNotSuccessfullyMetadataDel context.restoreAuthSystemState(); context.commit(); - assertThat(orcidQueueService.findAll(context), empty()); + assertThat(orcidQueueService.findAll(context.getSession()), empty()); addMetadata(profile, "person", "country", null, "IT", null); context.commit(); - assertThat(orcidQueueService.findAll(context), empty()); + assertThat(orcidQueueService.findAll(context.getSession()), empty()); } @@ -335,14 +335,14 @@ public void testOrcidQueueRecordCreationAndDeletion() throws Exception { context.restoreAuthSystemState(); context.commit(); - List records = orcidQueueService.findAll(context); + List records = orcidQueueService.findAll(context.getSession()); assertThat(records, hasSize(1)); assertThat(records, hasItem(matches(item, KEYWORDS.name(), null, "dc.subject::Science", "Science", INSERT))); removeMetadata(item, "dc", "subject", null); context.commit(); - assertThat(orcidQueueService.findAll(context), empty()); + assertThat(orcidQueueService.findAll(context.getSession()), empty()); } @@ -362,7 +362,7 @@ public void testOrcidQueueRecordCreationAndDeletionWithOrcidHistoryInsertionInTh context.restoreAuthSystemState(); context.commit(); - List records = orcidQueueService.findAll(context); + List records = orcidQueueService.findAll(context.getSession()); assertThat(records, hasSize(1)); assertThat(records, hasItem(matches(item, KEYWORDS.name(), null, "dc.subject::Science", "Science", INSERT))); @@ -378,7 +378,7 @@ public void testOrcidQueueRecordCreationAndDeletionWithOrcidHistoryInsertionInTh removeMetadata(item, "dc", "subject", null); context.commit(); - records = orcidQueueService.findAll(context); + records = orcidQueueService.findAll(context.getSession()); assertThat(records, hasSize(1)); assertThat(records, hasItem(matches(item, KEYWORDS.name(), "12345", "dc.subject::Science", "Science", DELETE))); @@ -400,7 +400,7 @@ public void testOrcidQueueRecordCreationAndDeletionWithFailedOrcidHistoryInserti context.restoreAuthSystemState(); context.commit(); - List records = orcidQueueService.findAll(context); + List records = orcidQueueService.findAll(context.getSession()); assertThat(records, hasSize(1)); assertThat(records, hasItem(matches(item, KEYWORDS.name(), null, "dc.subject::Science", "Science", INSERT))); @@ -416,7 +416,7 @@ public void testOrcidQueueRecordCreationAndDeletionWithFailedOrcidHistoryInserti removeMetadata(item, "dc", "subject", null); context.commit(); - assertThat(orcidQueueService.findAll(context), empty()); + assertThat(orcidQueueService.findAll(context.getSession()), empty()); } @@ -433,7 +433,7 @@ public void testNoOrcidQueueRecordCreationOccursIfProfileSynchronizationIsDisabl context.restoreAuthSystemState(); context.commit(); - assertThat(orcidQueueService.findAll(context), empty()); + assertThat(orcidQueueService.findAll(context.getSession()), empty()); } @Test @@ -450,7 +450,7 @@ public void testNoOrcidQueueRecordCreationOccursIfNoComplianceMetadataArePresent context.restoreAuthSystemState(); context.commit(); - assertThat(orcidQueueService.findAll(context), empty()); + assertThat(orcidQueueService.findAll(context.getSession()), empty()); } @Test @@ -483,14 +483,14 @@ public void testOrcidQueueRecordCreationForPublication() throws Exception { context.restoreAuthSystemState(); context.commit(); - List orcidQueueRecords = orcidQueueService.findAll(context); + List orcidQueueRecords = orcidQueueService.findAll(context.getSession()); assertThat(orcidQueueRecords, hasSize(1)); assertThat(orcidQueueRecords.get(0), matches(profile, publication, "Publication", INSERT)); addMetadata(publication, "dc", "contributor", "editor", "Editor", null); context.commit(); - List newOrcidQueueRecords = orcidQueueService.findAll(context); + List newOrcidQueueRecords = orcidQueueService.findAll(context.getSession()); assertThat(newOrcidQueueRecords, hasSize(1)); assertThat(orcidQueueRecords.get(0), equalTo(newOrcidQueueRecords.get(0))); @@ -531,7 +531,7 @@ public void testOrcidQueueRecordCreationToUpdatePublication() throws Exception { context.restoreAuthSystemState(); context.commit(); - List orcidQueueRecords = orcidQueueService.findAll(context); + List orcidQueueRecords = orcidQueueService.findAll(context.getSession()); assertThat(orcidQueueRecords, hasSize(1)); assertThat(orcidQueueRecords.get(0), matches(profile, publication, "Publication", "123456", UPDATE)); } @@ -565,13 +565,13 @@ public void testNoOrcidQueueRecordCreationOccursIfPublicationSynchronizationIsDi context.restoreAuthSystemState(); context.commit(); - assertThat(orcidQueueService.findAll(context), empty()); + assertThat(orcidQueueService.findAll(context.getSession()), empty()); addMetadata(profile, "dspace", "orcid", "sync-publications", DISABLED.name(), null); addMetadata(publication, "dc", "date", "issued", "2021-01-01", null); context.commit(); - assertThat(orcidQueueService.findAll(context), empty()); + assertThat(orcidQueueService.findAll(context.getSession()), empty()); } @Test @@ -607,7 +607,7 @@ public void testOrcidQueueRecordCreationToUpdateProject() throws Exception { context.restoreAuthSystemState(); context.commit(); - List orcidQueueRecords = orcidQueueService.findAll(context); + List orcidQueueRecords = orcidQueueService.findAll(context.getSession()); assertThat(orcidQueueRecords, hasSize(1)); assertThat(orcidQueueRecords.get(0), matches(profile, project, "Project", "123456", UPDATE)); } @@ -641,7 +641,7 @@ public void testNoOrcidQueueRecordCreationOccursForNotConfiguredEntities() throw context.restoreAuthSystemState(); context.commit(); - assertThat(orcidQueueService.findAll(context), empty()); + assertThat(orcidQueueService.findAll(context.getSession()), empty()); } @Test @@ -662,7 +662,7 @@ public void testOrcidQueueRecalculationOnProfilePreferenceUpdate() throws Except context.restoreAuthSystemState(); context.commit(); - List records = orcidQueueService.findAll(context); + List records = orcidQueueService.findAll(context.getSession()); assertThat(records, hasSize(1)); assertThat(records, hasItem(matches(profile, "KEYWORDS", null, "dc.subject::Math", "Math", INSERT))); @@ -671,7 +671,7 @@ public void testOrcidQueueRecalculationOnProfilePreferenceUpdate() throws Except context.commit(); - records = orcidQueueService.findAll(context); + records = orcidQueueService.findAll(context.getSession()); assertThat(records, hasSize(3)); assertThat(records, hasItem(matches(profile, "KEYWORDS", null, "dc.subject::Math", "Math", INSERT))); assertThat(records, hasItem(matches(profile, "EXTERNAL_IDS", null, "person.identifier.rid::ID", "ID", INSERT))); @@ -683,7 +683,7 @@ public void testOrcidQueueRecalculationOnProfilePreferenceUpdate() throws Except context.commit(); - assertThat(orcidQueueService.findAll(context), empty()); + assertThat(orcidQueueService.findAll(context.getSession()), empty()); } @@ -703,7 +703,7 @@ public void testWithManyInsertionAndDeletionOfSameMetadataValue() throws Excepti context.restoreAuthSystemState(); context.commit(); - List queueRecords = orcidQueueService.findAll(context); + List queueRecords = orcidQueueService.findAll(context.getSession()); assertThat(queueRecords, hasSize(1)); assertThat(queueRecords.get(0), matches(profile, "KEYWORDS", null, "dc.subject::Science", "Science", INSERT)); @@ -721,7 +721,7 @@ public void testWithManyInsertionAndDeletionOfSameMetadataValue() throws Excepti context.commit(); - queueRecords = orcidQueueService.findAll(context); + queueRecords = orcidQueueService.findAll(context.getSession()); assertThat(queueRecords, hasSize(1)); assertThat(queueRecords.get(0), matches(profile, "KEYWORDS", "12345", "dc.subject::Science", "Science", DELETE)); @@ -738,7 +738,7 @@ public void testWithManyInsertionAndDeletionOfSameMetadataValue() throws Excepti context.commit(); - queueRecords = orcidQueueService.findAll(context); + queueRecords = orcidQueueService.findAll(context.getSession()); assertThat(queueRecords, hasSize(1)); assertThat(queueRecords.get(0), matches(profile, "KEYWORDS", null, "dc.subject::Science", "Science", INSERT)); @@ -756,7 +756,7 @@ public void testWithManyInsertionAndDeletionOfSameMetadataValue() throws Excepti context.commit(); - queueRecords = orcidQueueService.findAll(context); + queueRecords = orcidQueueService.findAll(context.getSession()); assertThat(queueRecords, hasSize(1)); assertThat(queueRecords.get(0), matches(profile, "KEYWORDS", "12346", "dc.subject::Science", "Science", DELETE)); diff --git a/dspace-api/src/test/java/org/dspace/orcid/script/OrcidBulkPushIT.java b/dspace-api/src/test/java/org/dspace/orcid/script/OrcidBulkPushIT.java index e6ca2a3d9e7e..bb1d395170bc 100644 --- a/dspace-api/src/test/java/org/dspace/orcid/script/OrcidBulkPushIT.java +++ b/dspace-api/src/test/java/org/dspace/orcid/script/OrcidBulkPushIT.java @@ -117,7 +117,7 @@ public void setup() { @After public void after() throws SQLException { - List records = orcidHistoryService.findAll(context); + List records = orcidHistoryService.findAll(context.getSession()); for (OrcidHistory record : records) { orcidHistoryService.delete(context, record); } @@ -201,12 +201,12 @@ public void testWithManyOrcidQueueRecords() throws Exception { verifyNoMoreInteractions(orcidClientMock); - List queueRecords = orcidQueueService.findAll(context); + List queueRecords = orcidQueueService.findAll(context.getSession()); assertThat(queueRecords, hasSize(2)); assertThat(queueRecords, hasItem(matches(secondProfileItem, thirdEntity, "Publication", INSERT, 0))); assertThat(queueRecords, hasItem(matches(secondProfileItem, fourthEntity, "Publication", INSERT, 0))); - List historyRecords = orcidHistoryService.findAll(context); + List historyRecords = orcidHistoryService.findAll(context.getSession()); assertThat(historyRecords, hasSize(4)); assertThat(historyRecords, hasItem(matches(history(firstProfileItem, firstEntity, 201, INSERT)))); assertThat(historyRecords, hasItem(matches(history(firstProfileItem, secondEntity, 200, UPDATE)))); @@ -265,7 +265,7 @@ public void testWithVeryLongTitleQueueRecords() throws Exception { verifyNoMoreInteractions(orcidClientMock); - List historyRecords = orcidHistoryService.findAll(context); + List historyRecords = orcidHistoryService.findAll(context.getSession()); assertThat(historyRecords, hasSize(2)); assertThat(historyRecords, hasItem(matches(history(firstProfileItem, firstEntity, 201, INSERT)))); assertThat(historyRecords, hasItem(matches(history(firstProfileItem, 204, DELETE)))); @@ -314,11 +314,11 @@ public void testWithOneValidationError() throws Exception { verify(orcidClientMock).push(any(), eq("1111-2222-3333-4444"), any()); verifyNoMoreInteractions(orcidClientMock); - List queueRecords = orcidQueueService.findAll(context); + List queueRecords = orcidQueueService.findAll(context.getSession()); assertThat(queueRecords, hasSize(1)); assertThat(queueRecords, hasItem(matches(firstProfileItem, secondEntity, "Publication", UPDATE, 1))); - List historyRecords = orcidHistoryService.findAll(context); + List historyRecords = orcidHistoryService.findAll(context.getSession()); assertThat(historyRecords, hasSize(2)); assertThat(historyRecords, hasItem(matches(history(firstProfileItem, firstEntity, 201, INSERT)))); assertThat(historyRecords, hasItem(matches(history(secondProfileItem, thirdEntity, 201, INSERT)))); @@ -360,11 +360,11 @@ public void testWithUnexpectedErrorForMissingOrcid() throws Exception { verify(orcidClientMock).push(any(), eq("0000-1111-2222-3333"), any()); verifyNoMoreInteractions(orcidClientMock); - List queueRecords = orcidQueueService.findAll(context); + List queueRecords = orcidQueueService.findAll(context.getSession()); assertThat(queueRecords, hasSize(1)); assertThat(queueRecords, hasItem(matches(secondProfileItem, secondEntity, "Publication", INSERT, 1))); - List historyRecords = orcidHistoryService.findAll(context); + List historyRecords = orcidHistoryService.findAll(context.getSession()); assertThat(historyRecords, hasSize(1)); assertThat(historyRecords, hasItem(matches(history(firstProfileItem, firstEntity, 201, INSERT)))); @@ -407,11 +407,11 @@ public void testWithOrcidClientException() throws Exception { verify(orcidClientMock).push(any(), eq("1111-2222-3333-4444"), any()); verifyNoMoreInteractions(orcidClientMock); - List queueRecords = orcidQueueService.findAll(context); + List queueRecords = orcidQueueService.findAll(context.getSession()); assertThat(queueRecords, hasSize(1)); assertThat(queueRecords, hasItem(matches(firstProfileItem, firstEntity, "Publication", INSERT, 1))); - List historyRecords = orcidHistoryService.findAll(context); + List historyRecords = orcidHistoryService.findAll(context.getSession()); assertThat(historyRecords, hasSize(2)); assertThat(historyRecords, hasItem(matches(history(firstProfileItem, firstEntity, 400, INSERT)))); assertThat(historyRecords, hasItem(matches(history(secondProfileItem, secondEntity, 201, INSERT)))); @@ -439,11 +439,11 @@ public void testWithTooManyAttempts() throws Exception { assertThat(handler.getErrorMessages(), empty()); assertThat(handler.getWarningMessages(), empty()); - List queueRecords = orcidQueueService.findAll(context); + List queueRecords = orcidQueueService.findAll(context.getSession()); assertThat(queueRecords, hasSize(1)); assertThat(queueRecords, hasItem(matches(profileItem, entity, "Publication", INSERT, 1))); - List historyRecords = orcidHistoryService.findAll(context); + List historyRecords = orcidHistoryService.findAll(context.getSession()); assertThat(historyRecords, hasSize(1)); assertThat(historyRecords, hasItem(matches(history(profileItem, entity, 400, INSERT)))); @@ -454,11 +454,11 @@ public void testWithTooManyAttempts() throws Exception { assertThat(handler.getErrorMessages(), empty()); assertThat(handler.getWarningMessages(), empty()); - queueRecords = orcidQueueService.findAll(context); + queueRecords = orcidQueueService.findAll(context.getSession()); assertThat(queueRecords, hasSize(1)); assertThat(queueRecords, hasItem(matches(profileItem, entity, "Publication", INSERT, 2))); - historyRecords = orcidHistoryService.findAll(context); + historyRecords = orcidHistoryService.findAll(context.getSession()); assertThat(historyRecords, hasSize(2)); assertThat(historyRecords, contains(matches(history(profileItem, entity, 400, INSERT)), matches(history(profileItem, entity, 400, INSERT)))); @@ -470,11 +470,11 @@ public void testWithTooManyAttempts() throws Exception { assertThat(handler.getErrorMessages(), empty()); assertThat(handler.getWarningMessages(), empty()); - queueRecords = orcidQueueService.findAll(context); + queueRecords = orcidQueueService.findAll(context.getSession()); assertThat(queueRecords, hasSize(1)); assertThat(queueRecords, hasItem(matches(profileItem, entity, "Publication", INSERT, 2))); - historyRecords = orcidHistoryService.findAll(context); + historyRecords = orcidHistoryService.findAll(context.getSession()); assertThat(historyRecords, hasSize(2)); assertThat(historyRecords, contains(matches(history(profileItem, entity, 400, INSERT)), matches(history(profileItem, entity, 400, INSERT)))); @@ -486,11 +486,11 @@ public void testWithTooManyAttempts() throws Exception { assertThat(handler.getErrorMessages(), empty()); assertThat(handler.getWarningMessages(), empty()); - queueRecords = orcidQueueService.findAll(context); + queueRecords = orcidQueueService.findAll(context.getSession()); assertThat(queueRecords, hasSize(1)); assertThat(queueRecords, hasItem(matches(profileItem, entity, "Publication", INSERT, 3))); - historyRecords = orcidHistoryService.findAll(context); + historyRecords = orcidHistoryService.findAll(context.getSession()); assertThat(historyRecords, hasSize(3)); assertThat(historyRecords, contains(matches(history(profileItem, entity, 400, INSERT)), matches(history(profileItem, entity, 400, INSERT)), diff --git a/dspace-api/src/test/java/org/dspace/process/ProcessIT.java b/dspace-api/src/test/java/org/dspace/process/ProcessIT.java index d6640652121c..c4dabe30206e 100644 --- a/dspace-api/src/test/java/org/dspace/process/ProcessIT.java +++ b/dspace-api/src/test/java/org/dspace/process/ProcessIT.java @@ -53,7 +53,7 @@ public void checkProcessGroupsTest() throws Exception { groupSet).build(); context.restoreAuthSystemState(); - Process process = processService.find(context, processA.getID()); + Process process = processService.find(context.getSession(), processA.getID()); List groups = process.getGroups(); boolean isPresent = groups.stream().anyMatch(g -> g.getID().equals(groupA.getID())); assertTrue(isPresent); @@ -81,7 +81,7 @@ public void removeOneGroupTest() throws Exception { context.reloadEntity(groupA); processA = context.reloadEntity(processA); - Process process = processService.find(context, processA.getID()); + Process process = processService.find(context.getSession(), processA.getID()); List groups = process.getGroups(); boolean isPresent = groups.stream().anyMatch(g -> g.getID().equals(groupUuid)); assertFalse(isPresent); diff --git a/dspace-api/src/test/java/org/dspace/supervision/SupervisionOrderServiceIT.java b/dspace-api/src/test/java/org/dspace/supervision/SupervisionOrderServiceIT.java index 6d26790b2b8a..47c9dc3c6767 100644 --- a/dspace-api/src/test/java/org/dspace/supervision/SupervisionOrderServiceIT.java +++ b/dspace-api/src/test/java/org/dspace/supervision/SupervisionOrderServiceIT.java @@ -211,7 +211,7 @@ public void findAllSupervisionOrdersTest() throws Exception { context.restoreAuthSystemState(); - assertThat(supervisionOrderService.findAll(context), hasSize(3)); + assertThat(supervisionOrderService.findAll(context.getSession()), hasSize(3)); } @Test @@ -265,8 +265,8 @@ public void findSupervisionOrderByItemTest() throws Exception { context.restoreAuthSystemState(); - assertThat(supervisionOrderService.findByItem(context, workspaceItem.getItem()), hasSize(2)); - assertThat(supervisionOrderService.findByItem(context, workspaceItemTwo.getItem()), hasSize(1)); + assertThat(supervisionOrderService.findByItem(context.getSession(), workspaceItem.getItem()), hasSize(2)); + assertThat(supervisionOrderService.findByItem(context.getSession(), workspaceItemTwo.getItem()), hasSize(1)); } @@ -315,14 +315,14 @@ public void findSupervisionOrderByItemAndGroupTest() throws Exception { context.restoreAuthSystemState(); SupervisionOrder supervisionOrderA = - supervisionOrderService.findByItemAndGroup(context, item, groupA); + supervisionOrderService.findByItemAndGroup(context.getSession(), item, groupA); assertThat(supervisionOrderA, notNullValue()); assertThat(supervisionOrderA.getItem().getID(), is(item.getID())); assertThat(supervisionOrderA.getGroup().getID(), is(groupA.getID())); // no supervision order on item and groupB - assertThat(supervisionOrderService.findByItemAndGroup(context, item, groupB), nullValue()); + assertThat(supervisionOrderService.findByItemAndGroup(context.getSession(), item, groupB), nullValue()); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/OrcidHistoryRestRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/OrcidHistoryRestRepository.java index 0c44baaf0dbd..06aa9c599971 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/OrcidHistoryRestRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/OrcidHistoryRestRepository.java @@ -52,7 +52,7 @@ public Page findAll(Context context, Pageable pageable) { public OrcidHistoryRest findOne(Context context, Integer id) { OrcidHistory orcidHistory = null; try { - orcidHistory = orcidHistoryService.find(context, id); + orcidHistory = orcidHistoryService.find(context.getSession(), id); } catch (SQLException e) { throw new RuntimeException(e.getMessage(), e); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/OrcidQueueRestRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/OrcidQueueRestRepository.java index 0a1614cded94..60755aa86deb 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/OrcidQueueRestRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/OrcidQueueRestRepository.java @@ -47,7 +47,7 @@ public class OrcidQueueRestRepository extends DSpaceRestRepository findAll(Context context, Pageable pageable) { protected void delete(Context context, Integer id) throws AuthorizeException { OrcidQueue orcidQueue = null; try { - orcidQueue = orcidQueueService.find(context, id); + orcidQueue = orcidQueueService.find(context.getSession(), id); if (orcidQueue == null) { throw new ResourceNotFoundException( OrcidQueueRest.CATEGORY + "." + OrcidQueueRest.NAME + " with id: " + id + " not found"); diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ProcessFileTypesLinkRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ProcessFileTypesLinkRepository.java index 16c8115b29f8..3a1a259ecc8e 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ProcessFileTypesLinkRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ProcessFileTypesLinkRepository.java @@ -54,7 +54,7 @@ public ProcessFileTypesRest getFileTypesFromProcess(@Nullable HttpServletRequest Projection projection) throws SQLException, AuthorizeException { Context context = obtainContext(); - Process process = processService.find(context, processId); + Process process = processService.find(context.getSession(), processId); if (process == null) { throw new ResourceNotFoundException("Process with id " + processId + " was not found"); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ProcessOutputLinkRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ProcessOutputLinkRepository.java index f5b3edced2db..74e5336ed755 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ProcessOutputLinkRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ProcessOutputLinkRepository.java @@ -57,7 +57,7 @@ public BitstreamRest getOutputFromProcess(@Nullable HttpServletRequest request, Projection projection) throws SQLException, AuthorizeException { Context context = obtainContext(); - Process process = processService.find(context, processId); + Process process = processService.find(context.getSession(), processId); if ((context.getCurrentUser() == null) || (!context.getCurrentUser().equals(process.getEPerson()) && !authorizeService.isAdmin(context))) { throw new AuthorizeException("The current user is not eligible to view the process with id: " + processId); diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ProcessRestRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ProcessRestRepository.java index 1358816b818d..ff7f660d00f9 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ProcessRestRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/ProcessRestRepository.java @@ -70,7 +70,7 @@ public class ProcessRestRepository extends DSpaceRestRepository findAll(Context context, Pageable pageable) { try { int total = processService.countTotal(context); - List processes = processService.findAll(context, pageable.getPageSize(), + List processes = processService.findAll(context.getSession(), pageable.getPageSize(), Math.toIntExact(pageable.getOffset())); return converter.toRestPage(processes, pageable, total, utils.obtainProjection()); } catch (SQLException e) { @@ -101,7 +101,7 @@ public Page findByCurrentUser(Pageable pageable) { try { Context context = obtainContext(); long total = processService.countByUser(context, context.getCurrentUser()); - List processes = processService.findByUser(context, context.getCurrentUser(), + List processes = processService.findByUser(context.getSession(), context.getCurrentUser(), pageable.getPageSize(), Math.toIntExact(pageable.getOffset())); return converter.toRestPage(processes, pageable, total, utils.obtainProjection()); @@ -127,7 +127,7 @@ public List getProcessBitstreams(Integer processId) throws SQLExc } private Process getProcess(Integer processId, Context context) throws SQLException, AuthorizeException { - Process process = processService.find(context, processId); + Process process = processService.find(context.getSession(), processId); if (process == null) { throw new ResourceNotFoundException("Process with id " + processId + " was not found"); } @@ -160,7 +160,7 @@ public BitstreamRest getProcessBitstreamByType(Integer processId, String type) protected void delete(Context context, Integer integer) throws AuthorizeException, RepositoryMethodNotImplementedException { try { - processService.delete(context, processService.find(context, integer)); + processService.delete(context, processService.find(context.getSession(), integer)); } catch (SQLException | IOException e) { log.error("Something went wrong trying to find Process with id: " + integer, e); throw new RuntimeException(e.getMessage(), e); diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/RequestItemRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/RequestItemRepository.java index eae070a10378..c06b53f52a81 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/RequestItemRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/RequestItemRepository.java @@ -84,7 +84,12 @@ public class RequestItemRepository @PreAuthorize("permitAll()") @Override public RequestItemRest findOne(Context context, String token) { - RequestItem requestItem = requestItemService.findByToken(context, token); + RequestItem requestItem = null; + try { + requestItem = requestItemService.findByToken(context.getSession(), token); + } catch (SQLException e) { + LOG.debug("Item request token {} not found: {}", token, e.getMessage()); + } if (null == requestItem) { return null; } else { @@ -185,7 +190,7 @@ public RequestItemRest createAndReturn(Context ctx) allFiles, email, username, message); // Some fields are given values during creation, so return created request. - RequestItem ri = requestItemService.findByToken(ctx, token); + RequestItem ri = requestItemService.findByToken(ctx.getSession(), token); ri.setAccept_request(false); // Not accepted yet. Must set: DS-4032 requestItemService.update(ctx, ri); @@ -221,7 +226,12 @@ public void delete(Context context, String token) public RequestItemRest put(Context context, HttpServletRequest request, String apiCategory, String model, String token, JsonNode requestBody) throws AuthorizeException { - RequestItem ri = requestItemService.findByToken(context, token); + RequestItem ri = null; + try { + ri = requestItemService.findByToken(context.getSession(), token); + } catch (SQLException e) { + LOG.debug("Item request {} not found: {}", token, e.getMessage()); + } if (null == ri) { throw new UnprocessableEntityException("Item request not found"); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/SupervisionOrderRestRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/SupervisionOrderRestRepository.java index 5a5e375cb3a4..3018f036a128 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/SupervisionOrderRestRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/SupervisionOrderRestRepository.java @@ -92,7 +92,7 @@ public SupervisionOrderRest findOne(Context context, Integer id) { @Override public Page findAll(Context context, Pageable pageable) { try { - List supervisionOrders = supervisionOrderService.findAll(context); + List supervisionOrders = supervisionOrderService.findAll(context.getSession()); return converterService.toRestPage(supervisionOrders, pageable, utils.obtainProjection()); } catch (SQLException e) { log.error("Something went wrong with getting supervision orders", e); @@ -125,7 +125,7 @@ public SupervisionOrderRest createAndReturn(Context context) throws AuthorizeExc throw new UnprocessableEntityException("Group with uuid: " + groupId + " not found"); } - supervisionOrder = supervisionOrderService.findByItemAndGroup(context, item, group); + supervisionOrder = supervisionOrderService.findByItemAndGroup(context.getSession(), item, group); if (Objects.nonNull(supervisionOrder)) { throw new ResourceAlreadyExistsException( "A supervision order already exists with itemId <" + itemId + "> and groupId <" + groupId + ">"); @@ -166,7 +166,7 @@ public Page findByItem(@Parameter(value = "uuid", required if (Objects.isNull(item)) { throw new ResourceNotFoundException("no item is found for the uuid < " + itemId + " >"); } - return converterService.toRestPage(supervisionOrderService.findByItem(context, item), + return converterService.toRestPage(supervisionOrderService.findByItem(context.getSession(), item), pageable, utils.obtainProjection()); } catch (SQLException e) { throw new RuntimeException(e.getMessage(), e); diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/VersionRestRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/VersionRestRepository.java index 9beef5db2617..4ca43c6e8647 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/VersionRestRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/VersionRestRepository.java @@ -45,7 +45,7 @@ /** * This is the Repository that takes care of the operations on the {@link VersionRest} objects - * + * * @author Mykhaylo Boychuk (mykhaylo.boychuk at 4science.it) */ @Component(VersionRest.CATEGORY + "." + VersionRest.NAME) @@ -120,7 +120,7 @@ protected VersionRest createAndReturn(Context context, List stringList) WorkflowItem workflowItem = null; WorkspaceItem workspaceItem = null; - VersionHistory versionHistory = versionHistoryService.findByItem(context, item); + VersionHistory versionHistory = versionHistoryService.findByItem(context.getSession(), item); if (Objects.nonNull(versionHistory)) { Version lastVersion = versionHistoryService.getLatestVersion(context, versionHistory); if (Objects.nonNull(lastVersion)) { diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/WorkspaceItemSupervisionOrdersLinkRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/WorkspaceItemSupervisionOrdersLinkRepository.java index a29924588037..9850e39affef 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/WorkspaceItemSupervisionOrdersLinkRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/WorkspaceItemSupervisionOrdersLinkRepository.java @@ -52,7 +52,7 @@ public Page getSupervisionOrders(@Nullable HttpServletRequ throw new ResourceNotFoundException("No such workspace item: " + id); } return converter.toRestPage( - supervisionOrderService.findByItem(context, workspaceItem.getItem()), + supervisionOrderService.findByItem(context.getSession(), workspaceItem.getItem()), optionalPageable, projection); } catch (SQLException e) { throw new RuntimeException(e); diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/handler/ExternalSourceEntryOrcidQueueUriListHandler.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/handler/ExternalSourceEntryOrcidQueueUriListHandler.java index 0965058449be..508a16659cc7 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/handler/ExternalSourceEntryOrcidQueueUriListHandler.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/handler/ExternalSourceEntryOrcidQueueUriListHandler.java @@ -22,8 +22,8 @@ /** * This class extends the {@link ExternalSourceEntryItemUriListHandler} abstract class and implements it specifically - * for the List objects. - * + * for the {@code List} objects. + * * @author mykhaylo boychuk (mykhaylo.boychuk at 4science.it) */ @Component @@ -66,7 +66,7 @@ private OrcidQueue getObjectFromUriList(Context context, List uriList) { String id = matcher.group(1); int queueId = Integer.parseInt(id); try { - orcidQueue = orcidQueueService.find(context, queueId); + orcidQueue = orcidQueueService.find(context.getSession(), queueId); } catch (SQLException e) { throw new RuntimeException(e.getMessage(), e); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/scripts/handler/impl/RestDSpaceRunnableHandler.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/scripts/handler/impl/RestDSpaceRunnableHandler.java index d9b36d3d0fd1..c553b7fd517c 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/scripts/handler/impl/RestDSpaceRunnableHandler.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/scripts/handler/impl/RestDSpaceRunnableHandler.java @@ -90,7 +90,7 @@ public RestDSpaceRunnableHandler(EPerson ePerson, String scriptName, List getFileStream(Context context, String fileName) throws IOException, AuthorizeException { try { - Process process = processService.find(context, processId); + Process process = processService.find(context.getSession(), processId); Bitstream bitstream = processService.getBitstreamByName(context, process, fileName); InputStream inputStream = bitstreamService.retrieve(context, bitstream); if (inputStream == null) { @@ -249,7 +249,7 @@ public Optional getFileStream(Context context, String fileName) thr @Override public void writeFilestream(Context context, String fileName, InputStream inputStream, String type) throws IOException, SQLException, AuthorizeException { - Process process = processService.find(context, processId); + Process process = processService.find(context.getSession(), processId); processService.appendFile(context, process, inputStream, type, fileName); } @@ -260,7 +260,7 @@ public void writeFilestream(Context context, String fileName, InputStream inputS */ public Process getProcess(Context context) { try { - return processService.find(context, processId); + return processService.find(context.getSession(), processId); } catch (SQLException e) { log.error("RestDSpaceRunnableHandler with process: " + processId + " could not be found", e); } @@ -277,7 +277,7 @@ public void schedule(DSpaceRunnable script) { .getServiceByName("dspaceRunnableThreadExecutor", TaskExecutor.class); Context context = new Context(); try { - Process process = processService.find(context, processId); + Process process = processService.find(context.getSession(), processId); process.setProcessStatus(ProcessStatus.SCHEDULED); processService.update(context, process); context.complete(); @@ -302,7 +302,7 @@ private void appendLogToProcess(String message, ProcessLogLevel error) { private void addLogBitstreamToProcess(Context context) throws SQLException, IOException, AuthorizeException { try { EPerson ePerson = ePersonService.find(context.getSession(), ePersonId); - Process process = processService.find(context, processId); + Process process = processService.find(context.getSession(), processId); context.setCurrentUser(ePerson); processService.createLogBitstream(context, process); @@ -316,7 +316,7 @@ public List getSpecialGroups() { Context context = new Context(); List specialGroups = new ArrayList<>(); try { - Process process = processService.find(context, processId); + Process process = processService.find(context.getSession(), processId); for (Group group : process.getGroups()) { specialGroups.add(group.getID()); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/OrcidHistorySendToOrcidRestPermissionEvaluatorPlugin.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/OrcidHistorySendToOrcidRestPermissionEvaluatorPlugin.java index 9f6d83695295..62e01997236b 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/OrcidHistorySendToOrcidRestPermissionEvaluatorPlugin.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/OrcidHistorySendToOrcidRestPermissionEvaluatorPlugin.java @@ -30,7 +30,7 @@ /** * Permission evaluator plugin that check if the current user can perform an * ORCID synchronization. - * + * * @author Mykhaylo Boychuk (mykhaylo.boychuk at 4science.it) */ @Component @@ -71,7 +71,7 @@ public boolean hasDSpacePermission(Authentication authentication, Serializable t int queueId = Integer.parseInt(id); OrcidQueue orcidQueue = null; try { - orcidQueue = orcidQueueService.find(context, queueId); + orcidQueue = orcidQueueService.find(context.getSession(), queueId); // anonymous user if (currentUser == null) { return false; diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/OrcidQueueAndHistoryRestPermissionEvaluatorPlugin.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/OrcidQueueAndHistoryRestPermissionEvaluatorPlugin.java index 0139f3b3362a..89c015a426c5 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/OrcidQueueAndHistoryRestPermissionEvaluatorPlugin.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/OrcidQueueAndHistoryRestPermissionEvaluatorPlugin.java @@ -30,7 +30,7 @@ /** * Class that evaluate DELETE and READ permissions - * + * * @author Mykhaylo Boychuk (mykhaylo.boychuk at 4science.it) */ @Component @@ -106,10 +106,10 @@ private boolean hasAccess(Context context, EPerson currentUser, Integer orcidObj private Item findProfileItem(Context context, Integer orcidObjectId, boolean isOrcidQueueRecord) throws SQLException { if (isOrcidQueueRecord) { - OrcidQueue orcidQueue = orcidQueueService.find(context, orcidObjectId); + OrcidQueue orcidQueue = orcidQueueService.find(context.getSession(), orcidObjectId); return orcidQueue != null ? orcidQueue.getProfileItem() : null; } else { - OrcidHistory orcidHistory = orcidHistoryService.find(context, orcidObjectId); + OrcidHistory orcidHistory = orcidHistoryService.find(context.getSession(), orcidObjectId); return orcidHistory != null ? orcidHistory.getProfileItem() : null; } } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/ProcessRestPermissionEvaluatorPlugin.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/ProcessRestPermissionEvaluatorPlugin.java index 94d9694ec422..3ecfab72a5c9 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/ProcessRestPermissionEvaluatorPlugin.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/ProcessRestPermissionEvaluatorPlugin.java @@ -57,7 +57,7 @@ public boolean hasDSpacePermission(Authentication authentication, Serializable t try { int processId = Integer.parseInt(targetId.toString()); - Process process = processService.find(context, processId); + Process process = processService.find(context.getSession(), processId); if (process == null) { return true; } diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/bulkaccesscontrol/BulkAccessControlScriptIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/bulkaccesscontrol/BulkAccessControlScriptIT.java index 28dfe08777c9..23e48aff8f9e 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/bulkaccesscontrol/BulkAccessControlScriptIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/bulkaccesscontrol/BulkAccessControlScriptIT.java @@ -74,7 +74,7 @@ public class BulkAccessControlScriptIT extends AbstractEntityIntegrationTest { @After @Override public void destroy() throws Exception { - List processes = processService.findAll(context); + List processes = processService.findAll(context.getSession()); for (Process process : processes) { ProcessBuilder.deleteProcess(process.getID()); } diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/itemexport/ItemExportIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/itemexport/ItemExportIT.java index a7b4057de43b..2426b18a17db 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/itemexport/ItemExportIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/itemexport/ItemExportIT.java @@ -336,7 +336,7 @@ private void perfomExportScript(LinkedList parameter .andDo(result -> idRef .set(read(result.getResponse().getContentAsString(), "$.processId"))); - process = processService.find(context, idRef.get()); + process = processService.find(context.getSession(), idRef.get()); checkProcess(process); } finally { ProcessBuilder.deleteProcess(process.getID()); diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/itemimport/ItemImportIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/itemimport/ItemImportIT.java index 70afcc344706..bfd66123458a 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/itemimport/ItemImportIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/itemimport/ItemImportIT.java @@ -246,7 +246,7 @@ private void perfomImportScript(LinkedList parameter .andDo(result -> idRef .set(read(result.getResponse().getContentAsString(), "$.processId"))); - process = processService.find(context, idRef.get()); + process = processService.find(context.getSession(), idRef.get()); checkProcess(process); } finally { ProcessBuilder.deleteProcess(process.getID()); diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/ItemRestRepositoryIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/ItemRestRepositoryIT.java index 08463fb22280..9fc7b8f7c0ed 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/ItemRestRepositoryIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/ItemRestRepositoryIT.java @@ -3829,8 +3829,8 @@ public void testDeletionOfOrcidOwner() throws Exception { getClient(token).perform(delete("/api/core/items/" + profile.getID())) .andExpect(status().is(204)); - assertThat(orcidQueueService.findAll(context), empty()); - assertThat(orcidHistoryService.findAll(context), empty()); + assertThat(orcidQueueService.findAll(context.getSession()), empty()); + assertThat(orcidHistoryService.findAll(context.getSession()), empty()); } @@ -3909,7 +3909,7 @@ public void testDeletionOfPublicationToBeSynchronizedWithOrcid() throws Exceptio getClient(token).perform(delete("/api/core/items/" + publication.getID())) .andExpect(status().is(204)); - List orcidQueueRecords = orcidQueueService.findAll(context); + List orcidQueueRecords = orcidQueueService.findAll(context.getSession()); assertThat(orcidQueueRecords, hasSize(2)); assertThat(orcidQueueRecords, hasItem(matches(firstProfile, null, "Publication", "12345", DELETE))); assertThat(orcidQueueRecords, hasItem(matches(thirdProfile, null, "Publication", "98765", DELETE))); @@ -3996,7 +3996,7 @@ public void testDeletionOfFundingToBeSynchronizedWithOrcid() throws Exception { getClient(token).perform(delete("/api/core/items/" + funding.getID())) .andExpect(status().is(204)); - List orcidQueueRecords = orcidQueueService.findAll(context); + List orcidQueueRecords = orcidQueueService.findAll(context.getSession()); assertThat(orcidQueueRecords, hasSize(1)); assertThat(orcidQueueRecords, hasItem(matches(firstProfile, null, "Project", "12345", DELETE))); diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/OrcidLoginFilterIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/OrcidLoginFilterIT.java index fe28bb9aad35..9d4e8b300c2a 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/OrcidLoginFilterIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/OrcidLoginFilterIT.java @@ -559,13 +559,13 @@ private String getItemIdByProfileId(String token, String id) throws SQLException private String getOrcidAccessToken(EPerson ePerson) throws SQLException { - OrcidToken orcidToken = orcidTokenService.findByEPerson(context, ePerson); + OrcidToken orcidToken = orcidTokenService.findByEPerson(context.getSession(), ePerson); return orcidToken != null ? orcidToken.getAccessToken() : null; } private String getOrcidAccessToken(Item item) throws SQLException { - OrcidToken orcidToken = orcidTokenService.findByProfileItem(context, item); + OrcidToken orcidToken = orcidTokenService.findByProfileItem(context.getSession(), item); return orcidToken != null ? orcidToken.getAccessToken() : null; } } diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/ProcessRestRepositoryIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/ProcessRestRepositoryIT.java index 670d8e2f35b0..126916575cf3 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/ProcessRestRepositoryIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/ProcessRestRepositoryIT.java @@ -54,7 +54,7 @@ public class ProcessRestRepositoryIT extends AbstractControllerIntegrationTest { @Before public void setup() throws SQLException { - CollectionUtils.emptyIfNull(processService.findAll(context)).stream().forEach(process -> { + CollectionUtils.emptyIfNull(processService.findAll(context.getSession())).stream().forEach(process -> { try { processService.delete(context, process); } catch (Exception e) { diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/RequestItemRepositoryIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/RequestItemRepositoryIT.java index 2fb7dbbc969d..5402bdef1315 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/RequestItemRepositoryIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/RequestItemRepositoryIT.java @@ -229,7 +229,7 @@ public void testCreateAndReturnAuthenticated() // verify the body is empty .andExpect(jsonPath("$").doesNotExist()); } finally { - Iterator itemRequests = requestItemService.findByItem(context, item); + Iterator itemRequests = requestItemService.findByItem(context.getSession(), item); String token = null; for (Iterator it = itemRequests; it.hasNext();) { RequestItem requestItem = it.next(); @@ -281,7 +281,7 @@ public void testCreateAndReturnNotAuthenticated() // verify the body is empty .andExpect(jsonPath("$").doesNotExist()); } finally { - Iterator itemRequests = requestItemService.findByItem(context, item); + Iterator itemRequests = requestItemService.findByItem(context.getSession(), item); String token = null; for (Iterator it = itemRequests; it.hasNext();) { RequestItem requestItem = it.next(); @@ -512,7 +512,7 @@ public void testPut() .andDo((var result) -> requestTokenRef.set( read(result.getResponse().getContentAsString(), "token"))); RequestItem foundRequest - = requestItemService.findByToken(context, requestTokenRef.get()); + = requestItemService.findByToken(context.getSession(), requestTokenRef.get()); assertTrue("acceptRequest should be true", foundRequest.isAccept_request()); assertThat("decision_date must be within a minute of now", foundRequest.getDecision_date(), diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/ResearcherProfileRestRepositoryIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/ResearcherProfileRestRepositoryIT.java index e23cb6b9d9c9..874285d1cc84 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/ResearcherProfileRestRepositoryIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/ResearcherProfileRestRepositoryIT.java @@ -2300,7 +2300,7 @@ public void testOrcidSynchronizationPreferenceUpdateForceOrcidQueueRecalculation context.restoreAuthSystemState(); // no preferences configured, so no orcid queue records created - assertThat(orcidQueueService.findByProfileItemId(context, profileItemId), empty()); + assertThat(orcidQueueService.findByProfileItemId(context.getSession(), profileItemId), empty()); String authToken = getAuthToken(ePerson.getEmail(), password); @@ -2309,7 +2309,7 @@ public void testOrcidSynchronizationPreferenceUpdateForceOrcidQueueRecalculation .contentType(MediaType.APPLICATION_JSON_VALUE)) .andExpect(status().isOk()); - List queueRecords = orcidQueueService.findByProfileItemId(context, profileItemId); + List queueRecords = orcidQueueService.findByProfileItemId(context.getSession(), profileItemId); assertThat(queueRecords, hasSize(1)); assertThat(queueRecords, has(orcidQueueRecordWithEntity(publication))); @@ -2318,7 +2318,7 @@ public void testOrcidSynchronizationPreferenceUpdateForceOrcidQueueRecalculation .contentType(MediaType.APPLICATION_JSON_VALUE)) .andExpect(status().isOk()); - queueRecords = orcidQueueService.findByProfileItemId(context, profileItemId); + queueRecords = orcidQueueService.findByProfileItemId(context.getSession(), profileItemId); assertThat(queueRecords, hasSize(3)); assertThat(queueRecords, has(orcidQueueRecordWithEntity(publication))); assertThat(queueRecords, has(orcidQueueRecordWithEntity(firstProject))); @@ -2329,7 +2329,7 @@ public void testOrcidSynchronizationPreferenceUpdateForceOrcidQueueRecalculation .contentType(MediaType.APPLICATION_JSON_VALUE)) .andExpect(status().isOk()); - queueRecords = orcidQueueService.findByProfileItemId(context, profileItemId); + queueRecords = orcidQueueService.findByProfileItemId(context.getSession(), profileItemId); assertThat(queueRecords, hasSize(2)); assertThat(queueRecords, has(orcidQueueRecordWithEntity(firstProject))); assertThat(queueRecords, has(orcidQueueRecordWithEntity(secondProject))); @@ -2339,7 +2339,7 @@ public void testOrcidSynchronizationPreferenceUpdateForceOrcidQueueRecalculation .contentType(MediaType.APPLICATION_JSON_VALUE)) .andExpect(status().isOk()); - assertThat(orcidQueueService.findByProfileItemId(context, profileItemId), empty()); + assertThat(orcidQueueService.findByProfileItemId(context.getSession(), profileItemId), empty()); } @@ -2555,7 +2555,7 @@ private String getItemIdByProfileId(String token, String id) throws SQLException private String getOrcidAccessToken(Item item) throws SQLException { - OrcidToken orcidToken = orcidTokenService.findByProfileItem(context, item); + OrcidToken orcidToken = orcidTokenService.findByProfileItem(context.getSession(), item); return orcidToken != null ? orcidToken.getAccessToken() : null; } diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/ScriptRestRepositoryIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/ScriptRestRepositoryIT.java index 42c9f2c9f7b4..03fdf91aac00 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/ScriptRestRepositoryIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/ScriptRestRepositoryIT.java @@ -542,7 +542,7 @@ public void postProcessAndVerifyOutput() throws Exception { .set(read(result.getResponse().getContentAsString(), "$.processId"))); - Process process = processService.find(context, idRef.get()); + Process process = processService.find(context.getSession(), idRef.get()); Bitstream bitstream = processService.getBitstream(context, process, Process.OUTPUT_TYPE); @@ -744,7 +744,7 @@ public void TrackSpecialGroupduringprocessSchedulingTest() throws Exception { parameters, acceptableProcessStatuses)))) .andDo(result -> idRef.set(read(result.getResponse().getContentAsString(), "$.processId"))); - Process process = processService.find(context, idRef.get()); + Process process = processService.find(context.getSession(), idRef.get()); List groups = process.getGroups(); boolean isPresent = groups.stream().anyMatch(g -> g.getID().equals(specialGroup.getID())); assertTrue(isPresent); @@ -754,10 +754,11 @@ public void TrackSpecialGroupduringprocessSchedulingTest() throws Exception { } } + @Override @After public void destroy() throws Exception { context.turnOffAuthorisationSystem(); - CollectionUtils.emptyIfNull(processService.findAll(context)).stream().forEach(process -> { + CollectionUtils.emptyIfNull(processService.findAll(context.getSession())).stream().forEach(process -> { try { processService.delete(context, process); } catch (SQLException | AuthorizeException | IOException e) { diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/VersionHistoryRestRepositoryIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/VersionHistoryRestRepositoryIT.java index 859c349decf2..113f4d657a2a 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/VersionHistoryRestRepositoryIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/VersionHistoryRestRepositoryIT.java @@ -153,7 +153,7 @@ public void findOnePrivateVersionHistoryByAdminTest() throws Exception { .build(); VersionBuilder.createVersion(context, item, "test").build(); - VersionHistory versionHistory = versionHistoryService.findByItem(context, item); + VersionHistory versionHistory = versionHistoryService.findByItem(context.getSession(), item); context.turnOffAuthorisationSystem(); String adminToken = getAuthToken(admin.getEmail(), password); @@ -206,7 +206,7 @@ public void findVersionsOfVersionHistoryAdminTest() throws Exception { .build(); Version version2 = VersionBuilder.createVersion(context, item, "test").build(); - VersionHistory versionHistory = versionHistoryService.findByItem(context, item); + VersionHistory versionHistory = versionHistoryService.findByItem(context.getSession(), item); Version version = versioningService.getVersion(context, item); context.turnOffAuthorisationSystem(); @@ -251,7 +251,7 @@ public void findVersionsOfVersionHistoryUnauthorizedTest() throws Exception { .build(); VersionBuilder.createVersion(context, item, "test").build(); - VersionHistory versionHistory = versionHistoryService.findByItem(context, item); + VersionHistory versionHistory = versionHistoryService.findByItem(context.getSession(), item); context.turnOffAuthorisationSystem(); getClient().perform(get("/api/versioning/versionhistories/" + versionHistory.getID() + "/versions")) @@ -277,7 +277,7 @@ public void findVersionsOfVersionHistoryLoggedUserTest() throws Exception { .build(); Version version = VersionBuilder.createVersion(context, item, "test").build(); - VersionHistory versionHistory = versionHistoryService.findByItem(context, item); + VersionHistory versionHistory = versionHistoryService.findByItem(context.getSession(), item); Version version2 = versioningService.getVersion(context, item); context.turnOffAuthorisationSystem(); @@ -309,7 +309,7 @@ public void findVersionsOfVersionHistoryPaginationTest() throws Exception { .build(); Version v2 = VersionBuilder.createVersion(context, item, "test").build(); - VersionHistory versionHistory = versionHistoryService.findByItem(context, item); + VersionHistory versionHistory = versionHistoryService.findByItem(context.getSession(), item); Version v1 = versioningService.getVersion(context, item); Version v3 = VersionBuilder.createVersion(context, item, "test3").build(); context.turnOffAuthorisationSystem(); @@ -381,7 +381,7 @@ public void findWorkspaceItemOfDraftVersionAdminTest() throws Exception { .build(); Version v2 = VersionBuilder.createVersion(context, item, "test").build(); - VersionHistory vh = versionHistoryService.findByItem(context, item); + VersionHistory vh = versionHistoryService.findByItem(context.getSession(), item); WorkspaceItem witem = workspaceItemService.findByItem(context.getSession(), v2.getItem()); context.turnOffAuthorisationSystem(); @@ -412,7 +412,7 @@ public void findWorkspaceItemOfDraftVersionUnauthorizedTest() throws Exception { .build(); VersionBuilder.createVersion(context, item, "test").build(); - VersionHistory vh = versionHistoryService.findByItem(context, item); + VersionHistory vh = versionHistoryService.findByItem(context.getSession(), item); context.turnOffAuthorisationSystem(); getClient().perform(get("/api/versioning/versionhistories/" + vh.getID() + "/draftVersion")) @@ -471,10 +471,10 @@ public void findDraftOfVersionNoContentTest() throws Exception { .build(); Version version = VersionBuilder.createVersion(context, item, "test").build(); - VersionHistory vh = versionHistoryService.findByItem(context, version.getItem()); + VersionHistory vh = versionHistoryService.findByItem(context.getSession(), version.getItem()); context.turnOffAuthorisationSystem(); - AtomicReference idRef = new AtomicReference(); + AtomicReference idRef = new AtomicReference<>(); String tokenAdmin = getAuthToken(admin.getEmail(), password); // retrieve the workspace item @@ -522,7 +522,7 @@ public void findWorkflowItemOfDraftVersionAdminTest() throws Exception { Version version = VersionBuilder.createVersion(context, item, "test").build(); version.setItem(witem.getItem()); - VersionHistory vh = versionHistoryService.findByItem(context, version.getItem()); + VersionHistory vh = versionHistoryService.findByItem(context.getSession(), version.getItem()); context.turnOffAuthorisationSystem(); String tokenAdmin = getAuthToken(admin.getEmail(), password); @@ -552,7 +552,7 @@ public void findWorkspaceItemOfDraftVersionLoggedUserTest() throws Exception { .build(); Version v2 = VersionBuilder.createVersion(context, item, "test").build(); - VersionHistory vh = versionHistoryService.findByItem(context, item); + VersionHistory vh = versionHistoryService.findByItem(context.getSession(), item); WorkspaceItem witem = workspaceItemService.findByItem(context.getSession(), v2.getItem()); context.turnOffAuthorisationSystem(); @@ -605,12 +605,12 @@ public void findVersionsOfVersionHistoryCheckPaginationAfterDeletingOfVersionTes .build(); Version v2 = VersionBuilder.createVersion(context, item, "test").build(); - VersionHistory versionHistory = versionHistoryService.findByItem(context, item); + VersionHistory versionHistory = versionHistoryService.findByItem(context.getSession(), item); Item lastVersionItem = v2.getItem(); Version v1 = versioningService.getVersion(context, item); context.restoreAuthSystemState(); - AtomicReference idRef = new AtomicReference(); + AtomicReference idRef = new AtomicReference<>(); String adminToken = getAuthToken(admin.getEmail(), password); Integer versionID = v2.getID(); Item versionItem = v2.getItem(); From 8a1fa670d2beb8fec23a1cac98a4dce27bf8f58f Mon Sep 17 00:00:00 2001 From: "Mark H. Wood" Date: Tue, 19 Sep 2023 08:34:36 -0400 Subject: [PATCH 10/14] Fix several missed 'session.getSession()' -> 'session' --- .../java/org/dspace/alerts/SystemWideAlertServiceImpl.java | 4 ++-- .../org/dspace/authorize/ResourcePolicyServiceImpl.java | 2 +- .../main/java/org/dspace/content/BitstreamServiceImpl.java | 6 +++--- .../main/java/org/dspace/content/CollectionServiceImpl.java | 6 +++--- .../main/java/org/dspace/content/CommunityServiceImpl.java | 2 +- .../src/main/java/org/dspace/content/ItemServiceImpl.java | 6 +++--- .../java/org/dspace/content/MetadataSchemaServiceImpl.java | 4 ++-- .../src/main/java/org/dspace/eperson/GroupServiceImpl.java | 6 +++--- .../org/dspace/eperson/RegistrationDataServiceImpl.java | 2 +- .../main/java/org/dspace/scripts/ProcessServiceImpl.java | 2 +- .../storedcomponents/InProgressUserServiceImpl.java | 2 +- .../storedcomponents/XmlWorkflowItemServiceImpl.java | 2 +- 12 files changed, 22 insertions(+), 22 deletions(-) diff --git a/dspace-api/src/main/java/org/dspace/alerts/SystemWideAlertServiceImpl.java b/dspace-api/src/main/java/org/dspace/alerts/SystemWideAlertServiceImpl.java index a49fa4ff8a2a..352da63efe59 100644 --- a/dspace-api/src/main/java/org/dspace/alerts/SystemWideAlertServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/alerts/SystemWideAlertServiceImpl.java @@ -74,13 +74,13 @@ public List findAll(final Session session) throws SQLException @Override public List findAll(final Session session, final int limit, final int offset) throws SQLException { - return systemWideAlertDAO.findAll(session.getSession(), limit, offset); + return systemWideAlertDAO.findAll(session, limit, offset); } @Override public List findAllActive(final Session session, final int limit, final int offset) throws SQLException { - return systemWideAlertDAO.findAllActive(session.getSession(), limit, offset); + return systemWideAlertDAO.findAllActive(session, limit, offset); } @Override diff --git a/dspace-api/src/main/java/org/dspace/authorize/ResourcePolicyServiceImpl.java b/dspace-api/src/main/java/org/dspace/authorize/ResourcePolicyServiceImpl.java index 4b6fc735cafd..e7d3bb59b778 100644 --- a/dspace-api/src/main/java/org/dspace/authorize/ResourcePolicyServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/authorize/ResourcePolicyServiceImpl.java @@ -59,7 +59,7 @@ protected ResourcePolicyServiceImpl() { */ @Override public ResourcePolicy find(Session session, int id) throws SQLException { - return resourcePolicyDAO.findByID(session.getSession(), ResourcePolicy.class, id); + return resourcePolicyDAO.findByID(session, ResourcePolicy.class, id); } /** diff --git a/dspace-api/src/main/java/org/dspace/content/BitstreamServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/BitstreamServiceImpl.java index 0e56acb7989e..92c462316e02 100644 --- a/dspace-api/src/main/java/org/dspace/content/BitstreamServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/BitstreamServiceImpl.java @@ -71,7 +71,7 @@ protected BitstreamServiceImpl() { @Override public Bitstream find(Session session, UUID id) throws SQLException { - Bitstream bitstream = bitstreamDAO.findByID(session.getSession(), Bitstream.class, id); + Bitstream bitstream = bitstreamDAO.findByID(session, Bitstream.class, id); if (bitstream == null) { if (log.isDebugEnabled()) { @@ -112,7 +112,7 @@ public Bitstream clone(Context context, Bitstream bitstream) @Override public Iterator findAll(Session session, int limit, int offset) throws SQLException { - return bitstreamDAO.findAll(session.getSession(), limit, offset); + return bitstreamDAO.findAll(session, limit, offset); } @Override @@ -455,7 +455,7 @@ public Bitstream findByIdOrLegacyId(Session session, String id) throws SQLExcept @Override public Bitstream findByLegacyId(Session session, int id) throws SQLException { - return bitstreamDAO.findByLegacyId(session.getSession(), id, Bitstream.class); + return bitstreamDAO.findByLegacyId(session, id, Bitstream.class); } diff --git a/dspace-api/src/main/java/org/dspace/content/CollectionServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/CollectionServiceImpl.java index 2bc18a684374..9377381716a5 100644 --- a/dspace-api/src/main/java/org/dspace/content/CollectionServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/CollectionServiceImpl.java @@ -201,7 +201,7 @@ public List findAll(Session session) throws SQLException { "Required metadata field '" + MetadataSchemaEnum.DC.getName() + ".title' doesn't exist!"); } - return collectionDAO.findAll(session.getSession(), nameField); + return collectionDAO.findAll(session, nameField); } @Override @@ -213,7 +213,7 @@ public List findAll(Session session, Integer limit, Integer offset) "Required metadata field '" + MetadataSchemaEnum.DC.getName() + ".title' doesn't exist!"); } - return collectionDAO.findAll(session.getSession(), nameField, limit, offset); + return collectionDAO.findAll(session, nameField, limit, offset); } @Override @@ -908,7 +908,7 @@ public Collection findByIdOrLegacyId(Session session, String id) throws SQLExcep @Override public Collection findByLegacyId(Session session, int id) throws SQLException { - return collectionDAO.findByLegacyId(session.getSession(), id, Collection.class); + return collectionDAO.findByLegacyId(session, id, Collection.class); } @Override diff --git a/dspace-api/src/main/java/org/dspace/content/CommunityServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/CommunityServiceImpl.java index cb168eff0d89..71eade6b2a91 100644 --- a/dspace-api/src/main/java/org/dspace/content/CommunityServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/CommunityServiceImpl.java @@ -706,7 +706,7 @@ public Community findByIdOrLegacyId(Session session, String id) throws SQLExcept @Override public Community findByLegacyId(Session session, int id) throws SQLException { - return communityDAO.findByLegacyId(session.getSession(), id, Community.class); + return communityDAO.findByLegacyId(session, id, Community.class); } @Override diff --git a/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java index 1bb29d436b4e..e3e8fc8103b9 100644 --- a/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java @@ -208,7 +208,7 @@ public Thumbnail getThumbnail(Context context, Item item, boolean requireOrigina @Override public Item find(Session session, UUID id) throws SQLException { - Item item = itemDAO.findByID(session.getSession(), Item.class, id); + Item item = itemDAO.findByID(session, Item.class, id); if (item == null) { if (log.isDebugEnabled()) { log.debug("find_item not_found, item_id={}", id); @@ -1311,9 +1311,9 @@ public Iterator findArchivedByMetadataField(Session session, } if (Item.ANY.equals(value)) { - return itemDAO.findByMetadataField(session.getSession(), mdf, null, true); + return itemDAO.findByMetadataField(session, mdf, null, true); } else { - return itemDAO.findByMetadataField(session.getSession(), mdf, value, true); + return itemDAO.findByMetadataField(session, mdf, value, true); } } diff --git a/dspace-api/src/main/java/org/dspace/content/MetadataSchemaServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/MetadataSchemaServiceImpl.java index f8509b98ac3e..c55d1e156771 100644 --- a/dspace-api/src/main/java/org/dspace/content/MetadataSchemaServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/MetadataSchemaServiceImpl.java @@ -137,7 +137,7 @@ public List findAll(Session session) throws SQLException { @Override public MetadataSchema find(Session session, int id) throws SQLException { - return metadataSchemaDAO.findByID(session.getSession(), MetadataSchema.class, id); + return metadataSchemaDAO.findByID(session, MetadataSchema.class, id); } @Override @@ -146,7 +146,7 @@ public MetadataSchema find(Session session, String shortName) throws SQLExceptio if (shortName == null) { return null; } - return metadataSchemaDAO.find(session.getSession(), shortName); + return metadataSchemaDAO.find(session, shortName); } diff --git a/dspace-api/src/main/java/org/dspace/eperson/GroupServiceImpl.java b/dspace-api/src/main/java/org/dspace/eperson/GroupServiceImpl.java index d3c545cdd948..5ce1b72ec47a 100644 --- a/dspace-api/src/main/java/org/dspace/eperson/GroupServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/eperson/GroupServiceImpl.java @@ -387,7 +387,7 @@ public Group find(Session session, UUID id) throws SQLException { if (id == null) { return null; } else { - return groupDAO.findByID(session.getSession(), Group.class, id); + return groupDAO.findByID(session, Group.class, id); } } @@ -814,7 +814,7 @@ public Group findByIdOrLegacyId(Session session, String id) throws SQLException @Override public Group findByLegacyId(Session session, int id) throws SQLException { - return groupDAO.findByLegacyId(session.getSession(), id, Group.class); + return groupDAO.findByLegacyId(session, id, Group.class); } @Override @@ -825,7 +825,7 @@ public int countTotal(Context context) throws SQLException { @Override public List findByMetadataField(final Session session, final String searchValue, final MetadataField metadataField) throws SQLException { - return groupDAO.findByMetadataField(session.getSession(), searchValue, metadataField); + return groupDAO.findByMetadataField(session, searchValue, metadataField); } @Override diff --git a/dspace-api/src/main/java/org/dspace/eperson/RegistrationDataServiceImpl.java b/dspace-api/src/main/java/org/dspace/eperson/RegistrationDataServiceImpl.java index ba332e5a13a9..cd6fa20072ea 100644 --- a/dspace-api/src/main/java/org/dspace/eperson/RegistrationDataServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/eperson/RegistrationDataServiceImpl.java @@ -58,7 +58,7 @@ public void deleteByToken(Context context, String token) throws SQLException { @Override public RegistrationData find(Session session, int id) throws SQLException { - return registrationDataDAO.findByID(session.getSession(), RegistrationData.class, id); + return registrationDataDAO.findByID(session, RegistrationData.class, id); } @Override diff --git a/dspace-api/src/main/java/org/dspace/scripts/ProcessServiceImpl.java b/dspace-api/src/main/java/org/dspace/scripts/ProcessServiceImpl.java index 1760046145e1..66e4f50ae4c1 100644 --- a/dspace-api/src/main/java/org/dspace/scripts/ProcessServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/scripts/ProcessServiceImpl.java @@ -112,7 +112,7 @@ public List findAll(Session session) throws SQLException { @Override public List findAll(Session session, int limit, int offset) throws SQLException { - return processDAO.findAll(session.getSession(), limit, offset); + return processDAO.findAll(session, limit, offset); } @Override diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/InProgressUserServiceImpl.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/InProgressUserServiceImpl.java index 487c91c926d3..978612bcdf29 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/InProgressUserServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/InProgressUserServiceImpl.java @@ -69,7 +69,7 @@ public InProgressUser create(Context context) throws SQLException, AuthorizeExce @Override public InProgressUser find(Session session, int id) throws SQLException { - return inProgressUserDAO.findByID(session.getSession(), InProgressUser.class, id); + return inProgressUserDAO.findByID(session, InProgressUser.class, id); } @Override diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/XmlWorkflowItemServiceImpl.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/XmlWorkflowItemServiceImpl.java index ccd1190212eb..6cfcb594f7dd 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/XmlWorkflowItemServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/XmlWorkflowItemServiceImpl.java @@ -165,7 +165,7 @@ public List findByCollection(Session session, Collection collec @Override public XmlWorkflowItem findByItem(Session session, Item item) throws SQLException { - return xmlWorkflowItemDAO.findByItem(session.getSession(), item); + return xmlWorkflowItemDAO.findByItem(session, item); } @Override From e276b4c0acd8cf1261a02c4845affbaff04ccadd Mon Sep 17 00:00:00 2001 From: "Mark H. Wood" Date: Tue, 19 Sep 2023 08:55:18 -0400 Subject: [PATCH 11/14] Placate Checkstyle again --- .../src/main/java/org/dspace/rest/BitstreamResource.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dspace-rest/src/main/java/org/dspace/rest/BitstreamResource.java b/dspace-rest/src/main/java/org/dspace/rest/BitstreamResource.java index 0d125703ab76..86a61c290e57 100644 --- a/dspace-rest/src/main/java/org/dspace/rest/BitstreamResource.java +++ b/dspace-rest/src/main/java/org/dspace/rest/BitstreamResource.java @@ -676,7 +676,8 @@ public javax.ws.rs.core.Response deleteBitstreamPolicy(@PathParam("bitstream_id" writeStats(dspaceBitstream, UsageEvent.Action.UPDATE, user_ip, user_agent, xforwardedfor, headers, request, context); - org.dspace.authorize.ResourcePolicy resourcePolicy = resourcePolicyService.find(context.getSession(), policyId); + org.dspace.authorize.ResourcePolicy resourcePolicy + = resourcePolicyService.find(context.getSession(), policyId); if (resourcePolicy.getdSpaceObject().getID().equals(dspaceBitstream.getID()) && authorizeService .authorizeActionBoolean(context, dspaceBitstream, org.dspace.core.Constants.REMOVE)) { From b5acab4dadcbe23c7ee2167eedd27e0a18084261 Mon Sep 17 00:00:00 2001 From: "Mark H. Wood" Date: Tue, 19 Sep 2023 10:41:58 -0400 Subject: [PATCH 12/14] EPerson, Group find* methods. --- .../administer/CreateAdministrator.java | 2 +- .../org/dspace/administer/StructBuilder.java | 2 +- .../BulkAccessControlCli.java | 2 +- .../app/bulkedit/MetadataImportCLI.java | 4 +- .../org/dspace/app/harvest/HarvestCli.java | 2 +- .../dspace/app/itemimport/ItemImportCLI.java | 2 +- .../org/dspace/app/itemupdate/ItemUpdate.java | 2 +- .../org/dspace/app/packager/Packager.java | 6 +-- .../RequestItemHelpdeskStrategy.java | 2 +- .../org/dspace/app/util/AuthorizeUtil.java | 10 +++-- .../app/util/OptimizeSelectCollection.java | 4 +- .../authenticate/LDAPAuthentication.java | 4 +- .../authenticate/OidcAuthenticationBean.java | 2 +- .../authenticate/OrcidAuthenticationBean.java | 4 +- .../authenticate/PasswordAuthentication.java | 2 +- .../authenticate/ShibAuthentication.java | 8 ++-- .../authenticate/X509Authentication.java | 2 +- .../content/crosswalk/AIPTechMDCrosswalk.java | 2 +- .../crosswalk/METSRightsCrosswalk.java | 4 +- .../content/packager/RoleDisseminator.java | 2 +- .../dspace/content/packager/RoleIngester.java | 6 +-- .../java/org/dspace/curate/CurationCli.java | 2 +- .../curate/XmlWorkflowCuratorServiceImpl.java | 4 +- .../dspace/eperson/AccountServiceImpl.java | 2 +- .../org/dspace/eperson/EPersonCLITool.java | 10 ++--- .../dspace/eperson/EPersonServiceImpl.java | 42 +++++++++---------- .../main/java/org/dspace/eperson/Groomer.java | 4 +- .../org/dspace/eperson/GroupServiceImpl.java | 2 +- .../org/dspace/eperson/LoadLastLogin.java | 4 +- .../dspace/eperson/SubscribeServiceImpl.java | 24 ++++++----- .../eperson/service/EPersonService.java | 39 ++++++++--------- .../eperson/service/SubscribeService.java | 23 +++++----- .../org/dspace/harvest/HarvestScheduler.java | 2 +- .../java/org/dspace/health/UserCheck.java | 4 +- .../canvasdimension/CanvasDimensionCLI.java | 2 +- .../impl/OrcidSynchronizationServiceImpl.java | 4 +- .../statistics/util/StatisticsImporter.java | 4 +- ...scriptionEmailNotificationServiceImpl.java | 17 ++++---- .../migration/RestartWorkflow.java | 4 +- .../AbstractIntegrationTestWithDatabase.java | 4 +- .../java/org/dspace/AbstractUnitTest.java | 2 +- .../dspace/app/bulkedit/MetadataImportIT.java | 6 +-- .../org/dspace/builder/SubscribeBuilder.java | 2 +- .../dspace/content/packager/ITDSpaceAIP.java | 12 +++--- .../java/org/dspace/core/ContextTest.java | 4 +- .../java/org/dspace/eperson/EPersonTest.java | 16 +++---- .../dspace/eperson/SubscribeServiceIT.java | 34 ++++++++------- .../main/java/org/dspace/rest/Resource.java | 4 +- .../main/java/org/dspace/rest/RestIndex.java | 4 +- .../impl/LoginOnBehalfOfFeature.java | 21 ++++++---- .../repository/EPersonRestRepository.java | 6 +-- .../RegistrationRestRepository.java | 4 +- ...ubscriptionDSpaceObjectLinkRepository.java | 2 +- .../SubscriptionEPersonLinkRepository.java | 2 +- .../SubscriptionRestRepository.java | 17 ++++---- ...imedTaskRestPermissionEvaluatorPlugin.java | 4 +- ...PoolTaskRestPermissionEvaluatorPlugin.java | 2 +- ...cePolicyRestPermissionEvaluatorPlugin.java | 4 +- ...criptionRestPermissionEvaluatorPlugin.java | 5 ++- ...WorkflowRestPermissionEvaluatorPlugin.java | 4 +- ...JWTTokenRestAuthenticationServiceImpl.java | 2 +- .../app/rest/EPersonRestRepositoryIT.java | 24 +++++------ .../RelationshipDeleteRestRepositoryIT.java | 4 +- .../org/dspace/sword/SWORDAuthenticator.java | 4 +- .../org/dspace/sword2/SwordAuthenticator.java | 4 +- 65 files changed, 242 insertions(+), 222 deletions(-) diff --git a/dspace-api/src/main/java/org/dspace/administer/CreateAdministrator.java b/dspace-api/src/main/java/org/dspace/administer/CreateAdministrator.java index a80f1f6f35d5..f049a6fe6849 100644 --- a/dspace-api/src/main/java/org/dspace/administer/CreateAdministrator.java +++ b/dspace-api/src/main/java/org/dspace/administer/CreateAdministrator.java @@ -261,7 +261,7 @@ protected void createAdministrator(String email, String first, String last, } // Create the administrator e-person - EPerson eperson = ePersonService.findByEmail(context, email); + EPerson eperson = ePersonService.findByEmail(context.getSession(), email); // check if the email belongs to a registered user, // if not create a new user with this email diff --git a/dspace-api/src/main/java/org/dspace/administer/StructBuilder.java b/dspace-api/src/main/java/org/dspace/administer/StructBuilder.java index 993ca3d35120..d91a7f727a6c 100644 --- a/dspace-api/src/main/java/org/dspace/administer/StructBuilder.java +++ b/dspace-api/src/main/java/org/dspace/administer/StructBuilder.java @@ -208,7 +208,7 @@ public static void main(String[] argv) // set the context. String eperson = line.getOptionValue('e'); try { - context.setCurrentUser(ePersonService.findByEmail(context, eperson)); + context.setCurrentUser(ePersonService.findByEmail(context.getSession(), eperson)); } catch (SQLException ex) { System.err.format("That user could not be found: %s%n", ex.getMessage()); System.exit(1); diff --git a/dspace-api/src/main/java/org/dspace/app/bulkaccesscontrol/BulkAccessControlCli.java b/dspace-api/src/main/java/org/dspace/app/bulkaccesscontrol/BulkAccessControlCli.java index d6fc3a3f2937..be9729350a7d 100644 --- a/dspace-api/src/main/java/org/dspace/app/bulkaccesscontrol/BulkAccessControlCli.java +++ b/dspace-api/src/main/java/org/dspace/app/bulkaccesscontrol/BulkAccessControlCli.java @@ -37,7 +37,7 @@ protected void setEPerson(Context context) throws SQLException { } if (StringUtils.contains(eperson, '@')) { - myEPerson = epersonService.findByEmail(context, eperson); + myEPerson = epersonService.findByEmail(context.getSession(), eperson); } else { myEPerson = epersonService.find(context.getSession(), UUID.fromString(eperson)); } diff --git a/dspace-api/src/main/java/org/dspace/app/bulkedit/MetadataImportCLI.java b/dspace-api/src/main/java/org/dspace/app/bulkedit/MetadataImportCLI.java index f6f7f7bb2c37..21a2727e00f5 100644 --- a/dspace-api/src/main/java/org/dspace/app/bulkedit/MetadataImportCLI.java +++ b/dspace-api/src/main/java/org/dspace/app/bulkedit/MetadataImportCLI.java @@ -44,7 +44,9 @@ protected void assignCurrentUserInContext(Context context) throws ParseException EPerson eperson; String e = commandLine.getOptionValue('e'); if (e.indexOf('@') != -1) { - eperson = EPersonServiceFactory.getInstance().getEPersonService().findByEmail(context, e); + eperson = EPersonServiceFactory.getInstance() + .getEPersonService() + .findByEmail(context.getSession(), e); } else { eperson = EPersonServiceFactory.getInstance() .getEPersonService() diff --git a/dspace-api/src/main/java/org/dspace/app/harvest/HarvestCli.java b/dspace-api/src/main/java/org/dspace/app/harvest/HarvestCli.java index 8c9766e93421..a63abbd3e766 100644 --- a/dspace-api/src/main/java/org/dspace/app/harvest/HarvestCli.java +++ b/dspace-api/src/main/java/org/dspace/app/harvest/HarvestCli.java @@ -29,7 +29,7 @@ protected void assignCurrentUserInContext() throws ParseException { String ePersonEmail = this.commandLine.getOptionValue('e'); this.context = new Context(Context.Mode.BATCH_EDIT); try { - EPerson ePerson = ePersonService.findByEmail(this.context, ePersonEmail); + EPerson ePerson = ePersonService.findByEmail(this.context.getSession(), ePersonEmail); if (ePerson == null) { super.handler.logError("EPerson not found: " + ePersonEmail); throw new IllegalArgumentException("Unable to find a user with email: " + ePersonEmail); diff --git a/dspace-api/src/main/java/org/dspace/app/itemimport/ItemImportCLI.java b/dspace-api/src/main/java/org/dspace/app/itemimport/ItemImportCLI.java index 44ace3e99e01..75aae6c6529a 100644 --- a/dspace-api/src/main/java/org/dspace/app/itemimport/ItemImportCLI.java +++ b/dspace-api/src/main/java/org/dspace/app/itemimport/ItemImportCLI.java @@ -171,7 +171,7 @@ protected void setEPerson(Context context) throws SQLException { EPerson myEPerson = null; if (StringUtils.contains(eperson, '@')) { // @ sign, must be an email - myEPerson = epersonService.findByEmail(context, eperson); + myEPerson = epersonService.findByEmail(context.getSession(), eperson); } else { myEPerson = epersonService.find(context.getSession(), UUID.fromString(eperson)); } diff --git a/dspace-api/src/main/java/org/dspace/app/itemupdate/ItemUpdate.java b/dspace-api/src/main/java/org/dspace/app/itemupdate/ItemUpdate.java index 54334abecd1c..5bb3872ae017 100644 --- a/dspace-api/src/main/java/org/dspace/app/itemupdate/ItemUpdate.java +++ b/dspace-api/src/main/java/org/dspace/app/itemupdate/ItemUpdate.java @@ -532,7 +532,7 @@ protected void setEPerson(Context context, String eperson) if (eperson.indexOf('@') != -1) { // @ sign, must be an email - myEPerson = epersonService.findByEmail(context, eperson); + myEPerson = epersonService.findByEmail(context.getSession(), eperson); } else { myEPerson = epersonService.find(context.getSession(), UUID.fromString(eperson)); } diff --git a/dspace-api/src/main/java/org/dspace/app/packager/Packager.java b/dspace-api/src/main/java/org/dspace/app/packager/Packager.java index 21d156268609..2e28a99b727b 100644 --- a/dspace-api/src/main/java/org/dspace/app/packager/Packager.java +++ b/dspace-api/src/main/java/org/dspace/app/packager/Packager.java @@ -39,10 +39,6 @@ /** * Command-line interface to the Packager plugin. *

    - * This class ONLY exists to provide a CLI for the packager plugins. It does not - * "manage" the plugins and it is not called from within DSpace, but the name - * follows a DSpace convention. - *

    * It can invoke one of the Submission (SIP) packagers to create a new DSpace * Item out of a package, or a Dissemination (DIP) packager to write an Item out * as a package. @@ -309,7 +305,7 @@ public static void main(String[] argv) throws Exception { // find the EPerson, assign to context Context context = new Context(); EPerson myEPerson = null; - myEPerson = EPersonServiceFactory.getInstance().getEPersonService().findByEmail(context, eperson); + myEPerson = EPersonServiceFactory.getInstance().getEPersonService().findByEmail(context.getSession(), eperson); if (myEPerson == null) { usageError("Error, eperson cannot be found: " + eperson); } diff --git a/dspace-api/src/main/java/org/dspace/app/requestitem/RequestItemHelpdeskStrategy.java b/dspace-api/src/main/java/org/dspace/app/requestitem/RequestItemHelpdeskStrategy.java index dee0ed7a2351..0d913304174e 100644 --- a/dspace-api/src/main/java/org/dspace/app/requestitem/RequestItemHelpdeskStrategy.java +++ b/dspace-api/src/main/java/org/dspace/app/requestitem/RequestItemHelpdeskStrategy.java @@ -79,7 +79,7 @@ public List getRequestItemAuthor(Context context, Item item) public RequestItemAuthor getHelpDeskPerson(Context context, String helpDeskEmail) throws SQLException { context.turnOffAuthorisationSystem(); - EPerson helpdeskEPerson = ePersonService.findByEmail(context, helpDeskEmail); + EPerson helpdeskEPerson = ePersonService.findByEmail(context.getSession(), helpDeskEmail); context.restoreAuthSystemState(); if (helpdeskEPerson != null) { diff --git a/dspace-api/src/main/java/org/dspace/app/util/AuthorizeUtil.java b/dspace-api/src/main/java/org/dspace/app/util/AuthorizeUtil.java index efd813d29b47..d7aca88f1f54 100644 --- a/dspace-api/src/main/java/org/dspace/app/util/AuthorizeUtil.java +++ b/dspace-api/src/main/java/org/dspace/app/util/AuthorizeUtil.java @@ -254,7 +254,7 @@ public static void authorizeManageTemplateItem(Context context, && AuthorizeConfiguration .canCommunityAdminManageCollectionTemplateItem()) { List communities = collection.getCommunities(); - Community parent = communities != null && communities.size() > 0 ? communities.get(0) + Community parent = communities != null && !communities.isEmpty() ? communities.get(0) : null; authorizeService.authorizeAction(context, parent, Constants.ADMIN); } else if (!isAuthorized && !authorizeService.isAdmin(context)) { @@ -367,7 +367,7 @@ public static void authorizeRemoveAdminGroup(Context context, List parentCommunities = collection.getCommunities(); if (AuthorizeConfiguration .canCommunityAdminManageCollectionAdminGroup() - && parentCommunities != null && parentCommunities.size() > 0) { + && parentCommunities != null && !parentCommunities.isEmpty()) { authorizeService.authorizeAction(context, collection .getCommunities().get(0), Constants.ADMIN); } else if (!authorizeService.isAdmin(context)) { @@ -419,7 +419,7 @@ public static void authorizeRemoveAdminGroup(Context context, AuthorizeService authorizeService = AuthorizeServiceFactory.getInstance().getAuthorizeService(); List parentCommunities = community.getParentCommunities(); Community parentCommunity = null; - if (0 < parentCommunities.size()) { + if (!parentCommunities.isEmpty()) { parentCommunity = parentCommunities.get(0); } if (AuthorizeConfiguration.canCommunityAdminManageAdminGroup() @@ -643,7 +643,9 @@ public static boolean authorizeNewAccountRegistration(Context context, HttpServl */ public static boolean authorizeUpdatePassword(Context context, String email) { try { - EPerson eperson = EPersonServiceFactory.getInstance().getEPersonService().findByEmail(context, email); + EPerson eperson = EPersonServiceFactory.getInstance() + .getEPersonService() + .findByEmail(context.getSession(), email); if (eperson != null && eperson.canLogIn()) { HttpServletRequest request = new DSpace().getRequestService().getCurrentRequest() .getHttpServletRequest(); diff --git a/dspace-api/src/main/java/org/dspace/app/util/OptimizeSelectCollection.java b/dspace-api/src/main/java/org/dspace/app/util/OptimizeSelectCollection.java index 5dd286726d49..f5a1753b1b69 100644 --- a/dspace-api/src/main/java/org/dspace/app/util/OptimizeSelectCollection.java +++ b/dspace-api/src/main/java/org/dspace/app/util/OptimizeSelectCollection.java @@ -54,13 +54,13 @@ public static void main(String[] argv) throws Exception { if (argv != null && argv.length > 0) { for (String email : argv) { - EPerson person = ePersonService.findByEmail(context, email); + EPerson person = ePersonService.findByEmail(context.getSession(), email); checkSelectCollectionForUser(person); peopleChecked++; } } else { //default case, run as specific user, or run all... - List people = ePersonService.findAll(context, EPerson.EMAIL); + List people = ePersonService.findAll(context.getSession(), EPerson.EMAIL); for (EPerson person : people) { checkSelectCollectionForUser(person); peopleChecked++; diff --git a/dspace-api/src/main/java/org/dspace/authenticate/LDAPAuthentication.java b/dspace-api/src/main/java/org/dspace/authenticate/LDAPAuthentication.java index 059f427ce599..5171ad313f13 100644 --- a/dspace-api/src/main/java/org/dspace/authenticate/LDAPAuthentication.java +++ b/dspace-api/src/main/java/org/dspace/authenticate/LDAPAuthentication.java @@ -227,7 +227,7 @@ public int authenticate(Context context, // Locate the eperson EPerson eperson = null; try { - eperson = ePersonService.findByNetid(context, netid.toLowerCase()); + eperson = ePersonService.findByNetid(context.getSession(), netid.toLowerCase()); } catch (SQLException e) { // ignore } @@ -308,7 +308,7 @@ public int authenticate(Context context, if (StringUtils.isNotEmpty(email)) { try { - eperson = ePersonService.findByEmail(context, email); + eperson = ePersonService.findByEmail(context.getSession(), email); if (eperson != null) { log.info(LogHelper.getHeader(context, "type=ldap-login", "type=ldap_but_already_email")); diff --git a/dspace-api/src/main/java/org/dspace/authenticate/OidcAuthenticationBean.java b/dspace-api/src/main/java/org/dspace/authenticate/OidcAuthenticationBean.java index 8a4ac190c816..01986aced4c9 100644 --- a/dspace-api/src/main/java/org/dspace/authenticate/OidcAuthenticationBean.java +++ b/dspace-api/src/main/java/org/dspace/authenticate/OidcAuthenticationBean.java @@ -131,7 +131,7 @@ private int authenticateWithOidc(Context context, String code, HttpServletReques return NO_SUCH_USER; } - EPerson ePerson = ePersonService.findByEmail(context, email); + EPerson ePerson = ePersonService.findByEmail(context.getSession(), email); if (ePerson != null) { request.setAttribute(OIDC_AUTHENTICATED, true); return ePerson.canLogIn() ? logInEPerson(context, ePerson) : BAD_ARGS; diff --git a/dspace-api/src/main/java/org/dspace/authenticate/OrcidAuthenticationBean.java b/dspace-api/src/main/java/org/dspace/authenticate/OrcidAuthenticationBean.java index 133dac51e401..0094a0a8be65 100644 --- a/dspace-api/src/main/java/org/dspace/authenticate/OrcidAuthenticationBean.java +++ b/dspace-api/src/main/java/org/dspace/authenticate/OrcidAuthenticationBean.java @@ -166,7 +166,7 @@ private int authenticateWithOrcid(Context context, String code, HttpServletReque String orcid = token.getOrcid(); - EPerson ePerson = ePersonService.findByNetid(context, orcid); + EPerson ePerson = ePersonService.findByNetid(context.getSession(), orcid); if (ePerson != null) { return ePerson.canLogIn() ? logInEPerson(context, token, ePerson) : BAD_ARGS; } @@ -178,7 +178,7 @@ private int authenticateWithOrcid(Context context, String code, HttpServletReque String email = getEmail(person).orElse(null); - ePerson = ePersonService.findByEmail(context, email); + ePerson = ePersonService.findByEmail(context.getSession(), email); if (ePerson != null) { return ePerson.canLogIn() ? logInEPerson(context, token, ePerson) : BAD_ARGS; } diff --git a/dspace-api/src/main/java/org/dspace/authenticate/PasswordAuthentication.java b/dspace-api/src/main/java/org/dspace/authenticate/PasswordAuthentication.java index ce9cd893ea9d..633544340b6d 100644 --- a/dspace-api/src/main/java/org/dspace/authenticate/PasswordAuthentication.java +++ b/dspace-api/src/main/java/org/dspace/authenticate/PasswordAuthentication.java @@ -204,7 +204,7 @@ public int authenticate(Context context, EPerson eperson = null; log.info(LogHelper.getHeader(context, "authenticate", "attempting password auth of user=" + username)); eperson = EPersonServiceFactory.getInstance().getEPersonService() - .findByEmail(context, username.toLowerCase()); + .findByEmail(context.getSession(), username.toLowerCase()); if (eperson == null) { // lookup failed. diff --git a/dspace-api/src/main/java/org/dspace/authenticate/ShibAuthentication.java b/dspace-api/src/main/java/org/dspace/authenticate/ShibAuthentication.java index cdaaca237edb..a9a747b88356 100644 --- a/dspace-api/src/main/java/org/dspace/authenticate/ShibAuthentication.java +++ b/dspace-api/src/main/java/org/dspace/authenticate/ShibAuthentication.java @@ -592,7 +592,7 @@ protected EPerson findEPerson(Context context, HttpServletRequest request) throw if (netid != null) { foundNetID = true; - eperson = ePersonService.findByNetid(context, netid); + eperson = ePersonService.findByNetid(context.getSession(), netid); if (eperson == null) { log.info( @@ -613,7 +613,7 @@ protected EPerson findEPerson(Context context, HttpServletRequest request) throw if (email != null) { foundEmail = true; email = email.toLowerCase(); - eperson = ePersonService.findByEmail(context, email); + eperson = ePersonService.findByEmail(context.getSession(), email); if (eperson == null) { log.info( @@ -646,7 +646,7 @@ protected EPerson findEPerson(Context context, HttpServletRequest request) throw if (email != null) { foundRemoteUser = true; email = email.toLowerCase(); - eperson = ePersonService.findByEmail(context, email); + eperson = ePersonService.findByEmail(context.getSession(), email); if (eperson == null) { log.info("Unable to identify EPerson based upon Tomcat's remote user: '" + email + "'."); @@ -902,7 +902,7 @@ protected int swordCompatibility(Context context, String username, String passwo throws SQLException { log.debug("Shibboleth Sword compatibility activated."); - EPerson eperson = ePersonService.findByEmail(context, username.toLowerCase()); + EPerson eperson = ePersonService.findByEmail(context.getSession(), username.toLowerCase()); if (eperson == null) { // lookup failed. diff --git a/dspace-api/src/main/java/org/dspace/authenticate/X509Authentication.java b/dspace-api/src/main/java/org/dspace/authenticate/X509Authentication.java index 77c210240413..93feb1ce4f4b 100644 --- a/dspace-api/src/main/java/org/dspace/authenticate/X509Authentication.java +++ b/dspace-api/src/main/java/org/dspace/authenticate/X509Authentication.java @@ -525,7 +525,7 @@ public int authenticate(Context context, String username, String password, String email = getEmail(certs[0]); EPerson eperson = null; if (email != null) { - eperson = ePersonService.findByEmail(context, email); + eperson = ePersonService.findByEmail(context.getSession(), email); } if (eperson == null) { // Cert is valid, but no record. diff --git a/dspace-api/src/main/java/org/dspace/content/crosswalk/AIPTechMDCrosswalk.java b/dspace-api/src/main/java/org/dspace/content/crosswalk/AIPTechMDCrosswalk.java index 0350f8f3bbb4..9cb8563656b9 100644 --- a/dspace-api/src/main/java/org/dspace/content/crosswalk/AIPTechMDCrosswalk.java +++ b/dspace-api/src/main/java/org/dspace/content/crosswalk/AIPTechMDCrosswalk.java @@ -390,7 +390,7 @@ public void ingest(Context context, DSpaceObject dso, List dimList, boo // item submitter if (dcField.equals("creator")) { - EPerson sub = ePersonService.findByEmail(context, value); + EPerson sub = ePersonService.findByEmail(context.getSession(), value); // if eperson doesn't exist yet, optionally create it: if (sub == null) { diff --git a/dspace-api/src/main/java/org/dspace/content/crosswalk/METSRightsCrosswalk.java b/dspace-api/src/main/java/org/dspace/content/crosswalk/METSRightsCrosswalk.java index a71324778521..28dd75a8e69f 100644 --- a/dspace-api/src/main/java/org/dspace/content/crosswalk/METSRightsCrosswalk.java +++ b/dspace-api/src/main/java/org/dspace/content/crosswalk/METSRightsCrosswalk.java @@ -524,12 +524,12 @@ public void ingest(Context context, DSpaceObject dso, List ml, boolean String personEmail = element.getChildTextTrim("UserName", METSRights_NS); //Check if this person exists in DSpace already - EPerson person = ePersonService.findByEmail(context, personEmail); + EPerson person = ePersonService.findByEmail(context.getSession(), personEmail); //If cannot find by email, try by netID //(though METSRights should contain email if it was exported by DSpace) if (person == null) { - person = ePersonService.findByNetid(context, personEmail); + person = ePersonService.findByNetid(context.getSession(), personEmail); } //if not found, throw an error -- user should restore person from the SITE AIP diff --git a/dspace-api/src/main/java/org/dspace/content/packager/RoleDisseminator.java b/dspace-api/src/main/java/org/dspace/content/packager/RoleDisseminator.java index 8684333d7ad9..f6954c0152a2 100644 --- a/dspace-api/src/main/java/org/dspace/content/packager/RoleDisseminator.java +++ b/dspace-api/src/main/java/org/dspace/content/packager/RoleDisseminator.java @@ -567,7 +567,7 @@ protected List findAssociatedGroups(Context context, DSpaceObject object) protected List findAssociatedPeople(Context context, DSpaceObject object) throws SQLException { if (object.getType() == Constants.SITE) { - return ePersonService.findAll(context, EPerson.EMAIL); + return ePersonService.findAll(context.getSession(), EPerson.EMAIL); } //by default, return nothing diff --git a/dspace-api/src/main/java/org/dspace/content/packager/RoleIngester.java b/dspace-api/src/main/java/org/dspace/content/packager/RoleIngester.java index cea91b6a43aa..7930c5226617 100644 --- a/dspace-api/src/main/java/org/dspace/content/packager/RoleIngester.java +++ b/dspace-api/src/main/java/org/dspace/content/packager/RoleIngester.java @@ -96,7 +96,7 @@ void ingestDocument(Context context, DSpaceObject parent, continue; // Cannot operate on my own EPerson! } identity = email; - collider = ePersonService.findByEmail(context, identity); + collider = ePersonService.findByEmail(context.getSession(), identity); // collider = EPerson.find(context, userID); } else if (netids.getLength() > 0) { netid = netids.item(0).getTextContent(); @@ -104,7 +104,7 @@ void ingestDocument(Context context, DSpaceObject parent, continue; // Cannot operate on my own EPerson! } identity = netid; - collider = ePersonService.findByNetid(context, identity); + collider = ePersonService.findByNetid(context.getSession(), identity); } else { throw new PackageException("EPerson has neither email nor netid."); } @@ -315,7 +315,7 @@ void ingestDocument(Context context, DSpaceObject parent, for (int memberx = 0; memberx < members.getLength(); memberx++) { Element member = (Element) members.item(memberx); String memberName = member.getAttribute(RoleDisseminator.NAME); - EPerson memberEPerson = ePersonService.findByEmail(context, memberName); + EPerson memberEPerson = ePersonService.findByEmail(context.getSession(), memberName); if (null != memberEPerson) { groupService.addMember(context, groupObj, memberEPerson); } else { diff --git a/dspace-api/src/main/java/org/dspace/curate/CurationCli.java b/dspace-api/src/main/java/org/dspace/curate/CurationCli.java index f70aea5b1d09..a09f1c9e1b84 100644 --- a/dspace-api/src/main/java/org/dspace/curate/CurationCli.java +++ b/dspace-api/src/main/java/org/dspace/curate/CurationCli.java @@ -32,7 +32,7 @@ protected void assignCurrentUserInContext() throws ParseException { String ePersonEmail = this.commandLine.getOptionValue('e'); this.context = new Context(Context.Mode.BATCH_EDIT); try { - EPerson ePerson = ePersonService.findByEmail(this.context, ePersonEmail); + EPerson ePerson = ePersonService.findByEmail(this.context.getSession(), ePersonEmail); if (ePerson == null) { super.handler.logError("EPerson not found: " + ePersonEmail); throw new IllegalArgumentException("Unable to find a user with email: " + ePersonEmail); diff --git a/dspace-api/src/main/java/org/dspace/curate/XmlWorkflowCuratorServiceImpl.java b/dspace-api/src/main/java/org/dspace/curate/XmlWorkflowCuratorServiceImpl.java index 94b5c039c38f..8df6e6eac55e 100644 --- a/dspace-api/src/main/java/org/dspace/curate/XmlWorkflowCuratorServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/curate/XmlWorkflowCuratorServiceImpl.java @@ -272,14 +272,14 @@ protected List resolveContacts(Context c, List contacts, epList.addAll(groupService.allMembers(c, adGroup)); } } else if ("$siteadmin".equals(contact)) { - EPerson siteEp = ePersonService.findByEmail(c, + EPerson siteEp = ePersonService.findByEmail(c.getSession(), configurationService.getProperty("mail.admin")); if (siteEp != null) { epList.add(siteEp); } } else if (contact.indexOf("@") > 0) { // little shaky heuristic here - assume an eperson email name - EPerson ep = ePersonService.findByEmail(c, contact); + EPerson ep = ePersonService.findByEmail(c.getSession(), contact); if (ep != null) { epList.add(ep); } diff --git a/dspace-api/src/main/java/org/dspace/eperson/AccountServiceImpl.java b/dspace-api/src/main/java/org/dspace/eperson/AccountServiceImpl.java index 12242615a444..fb6c660e11b8 100644 --- a/dspace-api/src/main/java/org/dspace/eperson/AccountServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/eperson/AccountServiceImpl.java @@ -142,7 +142,7 @@ public EPerson getEPerson(Context context, String token) return null; } - return ePersonService.findByEmail(context, email); + return ePersonService.findByEmail(context.getSession(), email); } /** diff --git a/dspace-api/src/main/java/org/dspace/eperson/EPersonCLITool.java b/dspace-api/src/main/java/org/dspace/eperson/EPersonCLITool.java index 343ddcccfa39..0654fe4e4c48 100644 --- a/dspace-api/src/main/java/org/dspace/eperson/EPersonCLITool.java +++ b/dspace-api/src/main/java/org/dspace/eperson/EPersonCLITool.java @@ -260,9 +260,9 @@ private static int cmdDelete(Context context, String[] argv) { EPerson eperson = null; try { if (command.hasOption(OPT_NETID.getOpt())) { - eperson = ePersonService.findByNetid(context, command.getOptionValue(OPT_NETID.getOpt())); + eperson = ePersonService.findByNetid(context.getSession(), command.getOptionValue(OPT_NETID.getOpt())); } else if (command.hasOption(OPT_EMAIL.getOpt())) { - eperson = ePersonService.findByEmail(context, command.getOptionValue(OPT_EMAIL.getOpt())); + eperson = ePersonService.findByEmail(context.getSession(), command.getOptionValue(OPT_EMAIL.getOpt())); } else { System.err.println("You must specify the user's email address or netid."); return 1; @@ -352,10 +352,10 @@ private static int cmdModify(Context context, String[] argv) throws AuthorizeExc try { if (command.hasOption(OPT_NETID.getOpt())) { userName = command.getOptionValue(OPT_NETID.getOpt()); - eperson = ePersonService.findByNetid(context, userName); + eperson = ePersonService.findByNetid(context.getSession(), userName); } else if (command.hasOption(OPT_EMAIL.getOpt())) { userName = command.getOptionValue(OPT_EMAIL.getOpt()); - eperson = ePersonService.findByEmail(context, userName); + eperson = ePersonService.findByEmail(context.getSession(), userName); } else { System.err.println("No EPerson selected"); return 1; @@ -451,7 +451,7 @@ private static int cmdList(Context context, String[] argv) { // wild or regex match user/netid // select details (pseudo-format string) try { - for (EPerson person : ePersonService.findAll(context, EPerson.EMAIL)) { + for (EPerson person : ePersonService.findAll(context.getSession(), EPerson.EMAIL)) { System.out.printf("%s\t%s/%s\t%s, %s\n", person.getID().toString(), person.getEmail(), diff --git a/dspace-api/src/main/java/org/dspace/eperson/EPersonServiceImpl.java b/dspace-api/src/main/java/org/dspace/eperson/EPersonServiceImpl.java index af2e4f7da159..37096e06fa74 100644 --- a/dspace-api/src/main/java/org/dspace/eperson/EPersonServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/eperson/EPersonServiceImpl.java @@ -129,29 +129,29 @@ public EPerson findByLegacyId(Session session, int legacyId) throws SQLException } @Override - public EPerson findByEmail(Context context, String email) throws SQLException { + public EPerson findByEmail(Session session, String email) throws SQLException { if (email == null) { return null; } // All email addresses are stored as lowercase, so ensure that the email address is lowercased for the lookup - return ePersonDAO.findByEmail(context.getSession(), email); + return ePersonDAO.findByEmail(session, email); } @Override - public EPerson findByNetid(Context context, String netId) throws SQLException { + public EPerson findByNetid(Session session, String netId) throws SQLException { if (netId == null) { return null; } - return ePersonDAO.findByNetid(context.getSession(), netId); + return ePersonDAO.findByNetid(session, netId); } @Override public List search(Context context, String query) throws SQLException { if (StringUtils.isBlank(query)) { //If we don't have a query, just return everything. - return findAll(context, EPerson.EMAIL); + return findAll(context.getSession(), EPerson.EMAIL); } return search(context, query, -1, -1); } @@ -191,12 +191,12 @@ public int searchResultCount(Context context, String query) throws SQLException } @Override - public List findAll(Context context, int sortField) throws SQLException { - return findAll(context, sortField, -1, -1); + public List findAll(Session session, int sortField) throws SQLException { + return findAll(session, sortField, -1, -1); } @Override - public List findAll(Context context, int sortField, int pageSize, int offset) throws SQLException { + public List findAll(Session session, int sortField, int pageSize, int offset) throws SQLException { String sortColumn = null; MetadataField metadataFieldSort = null; switch (sortField) { @@ -209,7 +209,7 @@ public List findAll(Context context, int sortField, int pageSize, int o break; case EPerson.LANGUAGE: - metadataFieldSort = metadataFieldService.findByElement(context.getSession(), + metadataFieldSort = metadataFieldService.findByElement(session, "eperson", "language", null); break; case EPerson.NETID: @@ -217,10 +217,10 @@ public List findAll(Context context, int sortField, int pageSize, int o break; default: - metadataFieldSort = metadataFieldService.findByElement(context.getSession(), + metadataFieldSort = metadataFieldService.findByElement(session, "eperson", "lastname", null); } - return ePersonDAO.findAll(context.getSession(), metadataFieldSort, sortColumn, pageSize, offset); + return ePersonDAO.findAll(session, metadataFieldSort, sortColumn, pageSize, offset); } @Override @@ -548,18 +548,18 @@ public List getDeleteConstraints(Context context, EPerson ePerson) throw } @Override - public List findByGroups(Context c, Set groups) throws SQLException { + public List findByGroups(Session session, Set groups) throws SQLException { //Make sure we at least have one group, if not don't even bother searching. if (CollectionUtils.isNotEmpty(groups)) { - return ePersonDAO.findByGroups(c.getSession(), groups); + return ePersonDAO.findByGroups(session, groups); } else { return new ArrayList<>(); } } @Override - public List findEPeopleWithSubscription(Context context) throws SQLException { - return ePersonDAO.findAllSubscribers(context.getSession()); + public List findEPeopleWithSubscription(Session session) throws SQLException { + return ePersonDAO.findAllSubscribers(session); } @Override @@ -574,13 +574,13 @@ public String getMetadata(EPerson dso, String field) { } @Override - public List findUnsalted(Context context) throws SQLException { - return ePersonDAO.findWithPasswordWithoutDigestAlgorithm(context.getSession()); + public List findUnsalted(Session session) throws SQLException { + return ePersonDAO.findWithPasswordWithoutDigestAlgorithm(session); } @Override - public List findNotActiveSince(Context context, Date date) throws SQLException { - return ePersonDAO.findNotActiveSince(context.getSession(), date); + public List findNotActiveSince(Session session, Date date) throws SQLException { + return ePersonDAO.findNotActiveSince(session, date); } @Override @@ -589,12 +589,12 @@ public int countTotal(Context context) throws SQLException { } @Override - public EPerson findByProfileItem(Context context, Item profile) throws SQLException { + public EPerson findByProfileItem(Session session, Item profile) throws SQLException { List owners = itemService.getMetadata(profile, "dspace", "object", "owner", ANY); if (CollectionUtils.isEmpty(owners)) { return null; } - return find(context.getSession(), UUIDUtils.fromString(owners.get(0).getAuthority())); + return find(session, UUIDUtils.fromString(owners.get(0).getAuthority())); } @Override diff --git a/dspace-api/src/main/java/org/dspace/eperson/Groomer.java b/dspace-api/src/main/java/org/dspace/eperson/Groomer.java index 5485bb1d0ca9..a351824993c3 100644 --- a/dspace-api/src/main/java/org/dspace/eperson/Groomer.java +++ b/dspace-api/src/main/java/org/dspace/eperson/Groomer.java @@ -125,7 +125,7 @@ private static void aging(CommandLine command) throws SQLException { boolean delete = command.hasOption('d'); Context myContext = new Context(); - List epeople = ePersonService.findNotActiveSince(myContext, before); + List epeople = ePersonService.findNotActiveSince(myContext.getSession(), before); myContext.turnOffAuthorisationSystem(); for (EPerson account : epeople) { @@ -161,7 +161,7 @@ private static void aging(CommandLine command) throws SQLException { private static void findUnsalted() throws SQLException { Context myContext = new Context(); - List ePersons = ePersonService.findUnsalted(myContext); + List ePersons = ePersonService.findUnsalted(myContext.getSession()); for (EPerson ePerson : ePersons) { System.out.println(ePerson.getEmail()); } diff --git a/dspace-api/src/main/java/org/dspace/eperson/GroupServiceImpl.java b/dspace-api/src/main/java/org/dspace/eperson/GroupServiceImpl.java index 5ce1b72ec47a..23ab3e432a32 100644 --- a/dspace-api/src/main/java/org/dspace/eperson/GroupServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/eperson/GroupServiceImpl.java @@ -375,7 +375,7 @@ public List allMembers(Context c, Group g) throws SQLException { } - Set childGroupChildren = new HashSet<>(ePersonService.findByGroups(c, groups)); + Set childGroupChildren = new HashSet<>(ePersonService.findByGroups(c.getSession(), groups)); //Don't forget to add our direct children childGroupChildren.addAll(g.getMembers()); diff --git a/dspace-api/src/main/java/org/dspace/eperson/LoadLastLogin.java b/dspace-api/src/main/java/org/dspace/eperson/LoadLastLogin.java index 390340affdc9..f24f7e4b09d5 100644 --- a/dspace-api/src/main/java/org/dspace/eperson/LoadLastLogin.java +++ b/dspace-api/src/main/java/org/dspace/eperson/LoadLastLogin.java @@ -161,9 +161,9 @@ public static void main(String[] argv) String name = (String) stamp.getKey(); Date date = (Date) stamp.getValue(); EPerson ePerson; - ePerson = ePersonService.findByEmail(ctx, name); + ePerson = ePersonService.findByEmail(ctx.getSession(), name); if (null == ePerson) { - ePerson = ePersonService.findByNetid(ctx, name); + ePerson = ePersonService.findByNetid(ctx.getSession(), name); } if (null == ePerson) { System.err.println("Skipping unknown user: " + name); diff --git a/dspace-api/src/main/java/org/dspace/eperson/SubscribeServiceImpl.java b/dspace-api/src/main/java/org/dspace/eperson/SubscribeServiceImpl.java index 5beb622eb452..d14828c52a19 100644 --- a/dspace-api/src/main/java/org/dspace/eperson/SubscribeServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/eperson/SubscribeServiceImpl.java @@ -25,6 +25,7 @@ import org.dspace.core.LogHelper; import org.dspace.eperson.dao.SubscriptionDAO; import org.dspace.eperson.service.SubscribeService; +import org.hibernate.Session; import org.springframework.beans.factory.annotation.Autowired; /** @@ -44,14 +45,14 @@ public class SubscribeServiceImpl implements SubscribeService { private CollectionService collectionService; @Override - public List findAll(Context context, String resourceType, Integer limit, Integer offset) + public List findAll(Session session, String resourceType, Integer limit, Integer offset) throws Exception { if (StringUtils.isBlank(resourceType)) { - return subscriptionDAO.findAllOrderedByDSO(context.getSession(), limit, offset); + return subscriptionDAO.findAllOrderedByDSO(session, limit, offset); } else { if (resourceType.equals(Collection.class.getSimpleName()) || resourceType.equals(Community.class.getSimpleName())) { - return subscriptionDAO.findAllOrderedByIDAndResourceType(context.getSession(), + return subscriptionDAO.findAllOrderedByIDAndResourceType(session, resourceType, limit, offset); } else { log.error("Resource type must be Collection or Community"); @@ -104,16 +105,17 @@ public void unsubscribe(Context context, EPerson eperson, DSpaceObject dSpaceObj } @Override - public List findSubscriptionsByEPerson(Context context, EPerson eperson, Integer limit,Integer offset) + public List findSubscriptionsByEPerson(Session session, + EPerson eperson, Integer limit,Integer offset) throws SQLException { - return subscriptionDAO.findByEPerson(context.getSession(), eperson, limit, offset); + return subscriptionDAO.findByEPerson(session, eperson, limit, offset); } @Override - public List findSubscriptionsByEPersonAndDso(Context context, EPerson eperson, + public List findSubscriptionsByEPersonAndDso(Session session, EPerson eperson, DSpaceObject dSpaceObject, Integer limit, Integer offset) throws SQLException { - return subscriptionDAO.findByEPersonAndDso(context.getSession(), eperson, dSpaceObject, limit, offset); + return subscriptionDAO.findByEPersonAndDso(session, eperson, dSpaceObject, limit, offset); } @Override @@ -145,8 +147,8 @@ public void deleteByEPerson(Context context, EPerson ePerson) throws SQLExceptio } @Override - public Subscription findById(Context context, int id) throws SQLException { - return subscriptionDAO.findByID(context.getSession(), Subscription.class, id); + public Subscription findById(Session session, int id) throws SQLException { + return subscriptionDAO.findByID(session, Subscription.class, id); } @Override @@ -185,9 +187,9 @@ public void deleteSubscription(Context context, Subscription subscription) throw } @Override - public List findAllSubscriptionsBySubscriptionTypeAndFrequency(Context context, + public List findAllSubscriptionsBySubscriptionTypeAndFrequency(Session session, String subscriptionType, String frequencyValue) throws SQLException { - return subscriptionDAO.findAllSubscriptionsBySubscriptionTypeAndFrequency(context.getSession(), + return subscriptionDAO.findAllSubscriptionsBySubscriptionTypeAndFrequency(session, subscriptionType, frequencyValue); } diff --git a/dspace-api/src/main/java/org/dspace/eperson/service/EPersonService.java b/dspace-api/src/main/java/org/dspace/eperson/service/EPersonService.java index c5c9801c16dd..580f3eda55db 100644 --- a/dspace-api/src/main/java/org/dspace/eperson/service/EPersonService.java +++ b/dspace-api/src/main/java/org/dspace/eperson/service/EPersonService.java @@ -23,6 +23,7 @@ import org.dspace.eperson.EPerson; import org.dspace.eperson.Group; import org.dspace.eperson.PasswordHash; +import org.hibernate.Session; /** * Service interface class for the EPerson object. @@ -60,23 +61,23 @@ public interface EPersonService extends DSpaceObjectService, DSpaceObje /** * Find the eperson by their email address. * - * @param context The relevant DSpace Context. + * @param session current request's database context. * @param email EPerson's email to search by * @return EPerson, or {@code null} if none such exists. * @throws SQLException An exception that provides information on a database access error or other errors. */ - public EPerson findByEmail(Context context, String email) + public EPerson findByEmail(Session session, String email) throws SQLException; /** * Find the eperson by their netid. * - * @param context The relevant DSpace Context. + * @param session current request's database context. * @param netId Network ID * @return corresponding EPerson, or null * @throws SQLException An exception that provides information on a database access error or other errors. */ - public EPerson findByNetid(Context context, String netId) + public EPerson findByNetid(Session session, String netId) throws SQLException; /** @@ -127,14 +128,14 @@ public int searchResultCount(Context context, String query) *

  • NETID
  • * * - * @param context The relevant DSpace Context. + * @param session current request's database context. * @param sortField which field to sort EPersons by * @return list of EPerson objects * @throws SQLException An exception that provides information on a database access error or other errors. * @deprecated use the paginated method {@link findAll(Context, int)}. */ @Deprecated - public List findAll(Context context, int sortField) + public List findAll(Session session, int sortField) throws SQLException; /** @@ -147,14 +148,14 @@ public List findAll(Context context, int sortField) *
  • NETID
  • * * - * @param context The relevant DSpace Context. + * @param session current request's database context. * @param sortField which field to sort EPersons by * @param pageSize how many results return * @param offset the position of the first result to return * @return list of EPerson objects * @throws SQLException An exception that provides information on a database access error or other errors. */ - public List findAll(Context context, int sortField, int pageSize, int offset) + public List findAll(Session session, int sortField, int pageSize, int offset) throws SQLException; /** @@ -207,21 +208,21 @@ public EPerson create(Context context) throws SQLException, /** * Retrieve all accounts which have a password but do not have a digest algorithm * - * @param context The relevant DSpace Context. + * @param session current request's database context. * @return a list of epeople * @throws SQLException An exception that provides information on a database access error or other errors. */ - public List findUnsalted(Context context) throws SQLException; + public List findUnsalted(Session session) throws SQLException; /** * Retrieve all accounts which have not logged in since the specified date * - * @param context The relevant DSpace Context. + * @param session current request's database context. * @param date from which date * @return a list of epeople * @throws SQLException An exception that provides information on a database access error or other errors. */ - public List findNotActiveSince(Context context, Date date) throws SQLException; + public List findNotActiveSince(Session session, Date date) throws SQLException; /** * Check for presence of EPerson in tables that have constraints on @@ -240,21 +241,21 @@ public EPerson create(Context context) throws SQLException, /** * Retrieve all accounts which belong to at least one of the specified groups. * - * @param c The relevant DSpace Context. + * @param session current request's database context. * @param groups set of eperson groups - * @return a list of epeople + * @return the groups' membership * @throws SQLException An exception that provides information on a database access error or other errors. */ - public List findByGroups(Context c, Set groups) throws SQLException; + public List findByGroups(Session session, Set groups) throws SQLException; /** * Retrieve all accounts which are subscribed to receive information about new items. * - * @param context The relevant DSpace Context. + * @param session current request's database context. * @return a list of epeople * @throws SQLException An exception that provides information on a database access error or other errors. */ - List findEPeopleWithSubscription(Context context) throws SQLException; + List findEPeopleWithSubscription(Session session) throws SQLException; /** * Count all accounts. @@ -269,11 +270,11 @@ public EPerson create(Context context) throws SQLException, * Find the EPerson related to the given profile item. If the given item is not * a profile item, null is returned. * - * @param context The relevant DSpace Context. + * @param session current request's database context. * @param profile the profile item to search for * @return the EPerson, if any * @throws SQLException An exception that provides information on a database * access error or other errors. */ - EPerson findByProfileItem(Context context, Item profile) throws SQLException; + EPerson findByProfileItem(Session session, Item profile) throws SQLException; } diff --git a/dspace-api/src/main/java/org/dspace/eperson/service/SubscribeService.java b/dspace-api/src/main/java/org/dspace/eperson/service/SubscribeService.java index e70f40e0edf0..5b9dbadfe8e3 100644 --- a/dspace-api/src/main/java/org/dspace/eperson/service/SubscribeService.java +++ b/dspace-api/src/main/java/org/dspace/eperson/service/SubscribeService.java @@ -17,6 +17,7 @@ import org.dspace.eperson.EPerson; import org.dspace.eperson.Subscription; import org.dspace.eperson.SubscriptionParameter; +import org.hibernate.Session; /** * Service interface class for the Subscription object. @@ -32,19 +33,19 @@ public interface SubscribeService { * Subscribe an e-person to a collection. An e-mail will be sent every day a * new item appears in the collection. * - * @param context DSpace context + * @param session current request's database context. * @param limit Number of subscriptions to return * @param offset Offset number * @return list of Subscription objects * @throws SQLException An exception that provides information on a database access error or other errors. */ - public List findAll(Context context, String resourceType, Integer limit, Integer offset) + public List findAll(Session session, String resourceType, Integer limit, Integer offset) throws Exception; /** * Subscribe an EPerson to a dSpaceObject (Collection or Community). An e-mail will be sent every day a * new item appears in the Collection or Community. - * + * * @param context DSpace context object * @param eperson EPerson to subscribe * @param dSpaceObject DSpaceObject to subscribe @@ -77,20 +78,20 @@ public void unsubscribe(Context context, EPerson eperson, DSpaceObject dSpaceObj /** * Find out which collections an e-person is subscribed to * - * @param context DSpace context + * @param session current request's database context. * @param eperson EPerson * @param limit Number of subscriptions to return * @param offset Offset number * @return array of collections e-person is subscribed to * @throws SQLException An exception that provides information on a database access error or other errors. */ - public List findSubscriptionsByEPerson(Context context, EPerson eperson, Integer limit,Integer offset) + public List findSubscriptionsByEPerson(Session session, EPerson eperson, Integer limit,Integer offset) throws SQLException; /** * Find out which collections an e-person is subscribed to and related with dso * - * @param context DSpace context + * @param session current request's database context. * @param eperson EPerson * @param dSpaceObject DSpaceObject * @param limit Number of subscriptions to return @@ -98,7 +99,7 @@ public List findSubscriptionsByEPerson(Context context, EPerson ep * @return array of collections e-person is subscribed to and related with dso * @throws SQLException An exception that provides information on a database access error or other errors. */ - public List findSubscriptionsByEPersonAndDso(Context context, EPerson eperson, + public List findSubscriptionsByEPersonAndDso(Session session, EPerson eperson, DSpaceObject dSpaceObject, Integer limit, Integer offset) throws SQLException; @@ -153,11 +154,11 @@ public List findSubscriptionsByEPersonAndDso(Context context, EPer /** * Finds a subscription by id * - * @param context DSpace context + * @param session current request's database context. * @param id the id of subscription to be searched * @throws SQLException An exception that provides information on a database access error or other errors. */ - public Subscription findById(Context context, int id) throws SQLException; + public Subscription findById(Session session, int id) throws SQLException; /** * Updates a subscription by id @@ -205,12 +206,12 @@ public Subscription removeSubscriptionParameter(Context context, Integer id, /** * Finds all subscriptions by subscriptionType and frequency * - * @param context DSpace context + * @param session current request's database context. * @param subscriptionType Could be "content" or "statistics". NOTE: in DSpace we have only "content" * @param frequencyValue Could be "D" stand for Day, "W" stand for Week, and "M" stand for Month * @throws SQLException An exception that provides information on a database access error or other errors. */ - public List findAllSubscriptionsBySubscriptionTypeAndFrequency(Context context, + public List findAllSubscriptionsBySubscriptionTypeAndFrequency(Session session, String subscriptionType, String frequencyValue) throws SQLException; /** diff --git a/dspace-api/src/main/java/org/dspace/harvest/HarvestScheduler.java b/dspace-api/src/main/java/org/dspace/harvest/HarvestScheduler.java index b726a3a56ae1..5d568bc473b0 100644 --- a/dspace-api/src/main/java/org/dspace/harvest/HarvestScheduler.java +++ b/dspace-api/src/main/java/org/dspace/harvest/HarvestScheduler.java @@ -129,7 +129,7 @@ public HarvestScheduler() throws SQLException, AuthorizeException { harvestAdmin = null; if (harvestAdminParam != null && harvestAdminParam.length() > 0) { harvestAdmin = EPersonServiceFactory.getInstance().getEPersonService() - .findByEmail(mainContext, harvestAdminParam); + .findByEmail(mainContext.getSession(), harvestAdminParam); } harvestThreads = new Stack<>(); diff --git a/dspace-api/src/main/java/org/dspace/health/UserCheck.java b/dspace-api/src/main/java/org/dspace/health/UserCheck.java index fd1bbab82d6f..5ddef65908f6 100644 --- a/dspace-api/src/main/java/org/dspace/health/UserCheck.java +++ b/dspace-api/src/main/java/org/dspace/health/UserCheck.java @@ -39,7 +39,7 @@ public String run(ReportInfo ri) { String ret = ""; Map info = new HashMap<>(); try { - List epersons = ePersonService.findAll(context, EPerson.LASTNAME); + List epersons = ePersonService.findAll(context.getSession(), EPerson.LASTNAME); info.put("Count", epersons.size()); info.put("Can log in (password)", 0); info.put("Have email", 0); @@ -100,7 +100,7 @@ public String run(ReportInfo ri) { } //subscribers - List subscribers = ePersonService.findEPeopleWithSubscription(context); + List subscribers = ePersonService.findEPeopleWithSubscription(context.getSession()); ret += String.format( "Subscribers: #%d [%s]\n", subscribers.size(), formatIds(subscribers)); diff --git a/dspace-api/src/main/java/org/dspace/iiif/canvasdimension/CanvasDimensionCLI.java b/dspace-api/src/main/java/org/dspace/iiif/canvasdimension/CanvasDimensionCLI.java index 5252ff44a927..1227ad746daf 100644 --- a/dspace-api/src/main/java/org/dspace/iiif/canvasdimension/CanvasDimensionCLI.java +++ b/dspace-api/src/main/java/org/dspace/iiif/canvasdimension/CanvasDimensionCLI.java @@ -186,7 +186,7 @@ public static void main(String[] argv) throws Exception { if (eperson.indexOf('@') != -1) { // @ sign, must be an email - user = epersonService.findByEmail(context, eperson); + user = epersonService.findByEmail(context.getSession(), eperson); } else { user = epersonService.find(context.getSession(), UUID.fromString(eperson)); } diff --git a/dspace-api/src/main/java/org/dspace/orcid/service/impl/OrcidSynchronizationServiceImpl.java b/dspace-api/src/main/java/org/dspace/orcid/service/impl/OrcidSynchronizationServiceImpl.java index 9d022de863a4..a53e47d8b39c 100644 --- a/dspace-api/src/main/java/org/dspace/orcid/service/impl/OrcidSynchronizationServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/orcid/service/impl/OrcidSynchronizationServiceImpl.java @@ -81,7 +81,7 @@ public class OrcidSynchronizationServiceImpl implements OrcidSynchronizationServ @Override public void linkProfile(Context context, Item profile, OrcidTokenResponseDTO token) throws SQLException { - EPerson ePerson = ePersonService.findByProfileItem(context, profile); + EPerson ePerson = ePersonService.findByProfileItem(context.getSession(), profile); if (ePerson == null) { throw new IllegalArgumentException( "The given profile item is not related to any eperson. Item id: " + profile.getID()); @@ -104,7 +104,7 @@ public void linkProfile(Context context, Item profile, OrcidTokenResponseDTO tok setAccessToken(context, profile, ePerson, accessToken); - EPerson ePersonByOrcid = ePersonService.findByNetid(context, orcid); + EPerson ePersonByOrcid = ePersonService.findByNetid(context.getSession(), orcid); if (ePersonByOrcid == null && isBlank(ePerson.getNetid())) { ePerson.setNetid(orcid); updateEPerson(context, ePerson); diff --git a/dspace-api/src/main/java/org/dspace/statistics/util/StatisticsImporter.java b/dspace-api/src/main/java/org/dspace/statistics/util/StatisticsImporter.java index f443bec25da0..dc0c68a3b4fa 100644 --- a/dspace-api/src/main/java/org/dspace/statistics/util/StatisticsImporter.java +++ b/dspace-api/src/main/java/org/dspace/statistics/util/StatisticsImporter.java @@ -347,7 +347,9 @@ protected void load(String filename, Context context, boolean verbose) { } // Get the eperson details - EPerson eperson = EPersonServiceFactory.getInstance().getEPersonService().findByEmail(context, user); + EPerson eperson = EPersonServiceFactory.getInstance() + .getEPersonService() + .findByEmail(context.getSession(), user); UUID epersonId = null; if (eperson != null) { epersonId = eperson.getID(); diff --git a/dspace-api/src/main/java/org/dspace/subscriptions/SubscriptionEmailNotificationServiceImpl.java b/dspace-api/src/main/java/org/dspace/subscriptions/SubscriptionEmailNotificationServiceImpl.java index 8fb01cd36e92..0e1376c7c838 100644 --- a/dspace-api/src/main/java/org/dspace/subscriptions/SubscriptionEmailNotificationServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/subscriptions/SubscriptionEmailNotificationServiceImpl.java @@ -63,6 +63,7 @@ public SubscriptionEmailNotificationServiceImpl(Map this.subscriptionType2generators = subscriptionType2generators; } + @Override @SuppressWarnings({ "rawtypes", "unchecked" }) public void perform(Context context, DSpaceRunnableHandler handler, String subscriptionType, String frequency) { List communityItems = new ArrayList<>(); @@ -131,7 +132,7 @@ public void perform(Context context, DSpaceRunnableHandler handler, String subsc @SuppressWarnings("rawtypes") private List getItems(Context context, EPerson ePerson, List indexableItems) throws SQLException { - List items = new ArrayList(); + List items = new ArrayList<>(); for (IndexableObject indexableitem : indexableItems) { Item item = (Item) indexableitem.getIndexedObject(); if (authorizeService.authorizeActionBoolean(context, ePerson, item, READ, true)) { @@ -144,7 +145,7 @@ private List getItems(Context context, EPerson ePerson, List getItems(Context context, EPerson ePerson, List findAllSubscriptionsBySubscriptionTypeAndFrequency(Context context, String subscriptionType, String frequency) { try { - return subscribeService.findAllSubscriptionsBySubscriptionTypeAndFrequency(context, subscriptionType, - frequency) - .stream() - .sorted(Comparator.comparing(s -> s.getEPerson().getID())) - .collect(Collectors.toList()); + return subscribeService.findAllSubscriptionsBySubscriptionTypeAndFrequency(context.getSession(), + subscriptionType, frequency) + .stream() + .sorted(Comparator.comparing(s -> s.getEPerson().getID())) + .collect(Collectors.toList()); } catch (SQLException e) { log.error(e.getMessage(), e); } - return new ArrayList(); + return new ArrayList<>(); } @Override diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/migration/RestartWorkflow.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/migration/RestartWorkflow.java index e081949b7be0..f55f01f181d4 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/migration/RestartWorkflow.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/migration/RestartWorkflow.java @@ -28,7 +28,7 @@ import org.dspace.workflow.factory.WorkflowServiceFactory; /** - * A utility class that will send all the worklfow items + * A utility class that will send all the workflow items * back to their submitters. * * @author Bram De Schouwer (bram.deschouwer at dot com) @@ -94,7 +94,7 @@ public static void main(String[] args) { if (eperson.indexOf('@') != -1) { // @ sign, must be an email - myEPerson = ePersonService.findByEmail(context, eperson); + myEPerson = ePersonService.findByEmail(context.getSession(), eperson); } else { myEPerson = ePersonService.find(context.getSession(), UUID.fromString(eperson)); } diff --git a/dspace-api/src/test/java/org/dspace/AbstractIntegrationTestWithDatabase.java b/dspace-api/src/test/java/org/dspace/AbstractIntegrationTestWithDatabase.java index 5afeae47970b..88ba6a763c88 100644 --- a/dspace-api/src/test/java/org/dspace/AbstractIntegrationTestWithDatabase.java +++ b/dspace-api/src/test/java/org/dspace/AbstractIntegrationTestWithDatabase.java @@ -112,7 +112,7 @@ public void setUp() throws Exception { //Find our global test EPerson account. If it doesn't exist, create it. EPersonService ePersonService = EPersonServiceFactory.getInstance().getEPersonService(); - eperson = ePersonService.findByEmail(context, "test@email.com"); + eperson = ePersonService.findByEmail(context.getSession(), "test@email.com"); if (eperson == null) { // This EPerson creation should only happen once (i.e. for first test run) log.info("Creating initial EPerson (email=test@email.com) for Unit Tests"); @@ -133,7 +133,7 @@ public void setUp() throws Exception { // If our Anonymous/Administrator groups aren't initialized, initialize them as well EPersonServiceFactory.getInstance().getGroupService().initDefaultGroupNames(context); - admin = ePersonService.findByEmail(context, "admin@email.com"); + admin = ePersonService.findByEmail(context.getSession(), "admin@email.com"); if (admin == null) { // This EPerson creation should only happen once (i.e. for first test run) log.info("Creating initial EPerson (email=admin@email.com) for Unit Tests"); diff --git a/dspace-api/src/test/java/org/dspace/AbstractUnitTest.java b/dspace-api/src/test/java/org/dspace/AbstractUnitTest.java index d58fbd3745d6..87e13fcb6efa 100644 --- a/dspace-api/src/test/java/org/dspace/AbstractUnitTest.java +++ b/dspace-api/src/test/java/org/dspace/AbstractUnitTest.java @@ -98,7 +98,7 @@ public void init() { //Find our global test EPerson account. If it doesn't exist, create it. EPersonService ePersonService = EPersonServiceFactory.getInstance().getEPersonService(); - eperson = ePersonService.findByEmail(context, "test@email.com"); + eperson = ePersonService.findByEmail(context.getSession(), "test@email.com"); if (eperson == null) { // This EPerson creation should only happen once (i.e. for first test run) log.info("Creating initial EPerson (email=test@email.com) for Unit Tests"); diff --git a/dspace-api/src/test/java/org/dspace/app/bulkedit/MetadataImportIT.java b/dspace-api/src/test/java/org/dspace/app/bulkedit/MetadataImportIT.java index 4fe4258413f3..acd8080b4d69 100644 --- a/dspace-api/src/test/java/org/dspace/app/bulkedit/MetadataImportIT.java +++ b/dspace-api/src/test/java/org/dspace/app/bulkedit/MetadataImportIT.java @@ -85,7 +85,7 @@ public void metadataImportTest() throws Exception { StringUtils.equals( itemService.getMetadata(importedItem, "dc", "contributor", "author", Item.ANY).get(0).getValue(), "Donald, SmithImported")); - eperson = ePersonService.findByEmail(context, eperson.getEmail()); + eperson = ePersonService.findByEmail(context.getSession(), eperson.getEmail()); assertEquals(importedItem.getSubmitter(), eperson); context.turnOffAuthorisationSystem(); @@ -103,7 +103,7 @@ public void metadataImportIntoCollectionWithEntityTypeWithTemplateEnabledTest() .get(0).getValue(), "Donald, SmithImported")); assertTrue(StringUtils.equals(itemService.getMetadata(importedItem, "dspace", "entity", "type", Item.ANY) .get(0).getValue(), "Publication")); - eperson = ePersonService.findByEmail(context, eperson.getEmail()); + eperson = ePersonService.findByEmail(context.getSession(), eperson.getEmail()); assertEquals(importedItem.getSubmitter(), eperson); context.turnOffAuthorisationSystem(); @@ -121,7 +121,7 @@ public void metadataImportIntoCollectionWithEntityTypeWithTemplateDisabledTest() .get(0).getValue(), "Donald, SmithImported")); assertEquals(0, itemService.getMetadata(importedItem, "dspace", "entity", "type", Item.ANY) .size()); - eperson = ePersonService.findByEmail(context, eperson.getEmail()); + eperson = ePersonService.findByEmail(context.getSession(), eperson.getEmail()); assertEquals(importedItem.getSubmitter(), eperson); context.turnOffAuthorisationSystem(); diff --git a/dspace-api/src/test/java/org/dspace/builder/SubscribeBuilder.java b/dspace-api/src/test/java/org/dspace/builder/SubscribeBuilder.java index 40e890a8c962..df69e4e60e10 100644 --- a/dspace-api/src/test/java/org/dspace/builder/SubscribeBuilder.java +++ b/dspace-api/src/test/java/org/dspace/builder/SubscribeBuilder.java @@ -55,7 +55,7 @@ public void cleanup() throws Exception { public static void deleteSubscription(int id) throws Exception { try (Context c = new Context()) { c.turnOffAuthorisationSystem(); - Subscription subscription = subscribeService.findById(c, id); + Subscription subscription = subscribeService.findById(c.getSession(), id); if (Objects.nonNull(subscription)) { try { subscribeService.deleteSubscription(c, subscription); diff --git a/dspace-api/src/test/java/org/dspace/content/packager/ITDSpaceAIP.java b/dspace-api/src/test/java/org/dspace/content/packager/ITDSpaceAIP.java index 918b970b8369..c1c6b63ec8b5 100644 --- a/dspace-api/src/test/java/org/dspace/content/packager/ITDSpaceAIP.java +++ b/dspace-api/src/test/java/org/dspace/content/packager/ITDSpaceAIP.java @@ -266,7 +266,7 @@ public static void tearDownClass() { // Delete the Eperson created to submit test items EPersonService ePersonService = EPersonServiceFactory.getInstance().getEPersonService(); - EPerson eperson = ePersonService.findByEmail(context, submitterEmail); + EPerson eperson = ePersonService.findByEmail(context.getSession(), submitterEmail); if (eperson != null) { log.info("tearDownClass() - DESTROY TEST EPERSON"); context.turnOffAuthorisationSystem(); @@ -300,7 +300,9 @@ public void init() { try { context = new Context(); context.setCurrentUser( - EPersonServiceFactory.getInstance().getEPersonService().findByEmail(context, submitterEmail)); + EPersonServiceFactory.getInstance() + .getEPersonService() + .findByEmail(context.getSession(), submitterEmail)); } catch (SQLException ex) { log.error("SQL Error in init()", ex); fail("SQL Error in init(): " + ex.getMessage()); @@ -328,7 +330,7 @@ public void testRestoreCommunityHierarchy() throws Exception { DSpaceObject parent = communityService.getParentObject(context, topCommunity); // Save basic info about top community (and children) to an infoMap - HashMap infoMap = new HashMap(); + HashMap infoMap = new HashMap<>(); saveObjectInfo(topCommunity, infoMap); // Export community & child AIPs @@ -553,7 +555,7 @@ public void testRestoreCollectionHierarchy() throws Exception { Community parent = (Community) collectionService.getParentObject(context, testCollection); // Save basic info about collection (and children) to an infoMap - HashMap infoMap = new HashMap(); + HashMap infoMap = new HashMap<>(); saveObjectInfo(testCollection, infoMap); // Export collection & child AIPs @@ -753,7 +755,7 @@ public void testRestoreItem() throws Exception { String bitstreamName = null; String bitstreamCheckSum = null; List bundles = itemService.getBundles(testItem, Constants.CONTENT_BUNDLE_NAME); - if (bundles.size() > 0) { + if (!bundles.isEmpty()) { List bitstreams = bundles.get(0).getBitstreams(); bitstreamCount = bitstreams.size(); if (bitstreamCount > 0) { diff --git a/dspace-api/src/test/java/org/dspace/core/ContextTest.java b/dspace-api/src/test/java/org/dspace/core/ContextTest.java index 3ac62cb500bb..c9d4feb406a5 100644 --- a/dspace-api/src/test/java/org/dspace/core/ContextTest.java +++ b/dspace-api/src/test/java/org/dspace/core/ContextTest.java @@ -343,7 +343,7 @@ public void testAbort() throws SQLException, AuthorizeException { // Open a new context, let's make sure that EPerson isn't there Context newInstance = new Context(); - EPerson found = ePersonService.findByEmail(newInstance, createdEmail); + EPerson found = ePersonService.findByEmail(newInstance.getSession(), createdEmail); assertThat("testAbort 1", found, nullValue()); // Cleanup our contexts @@ -374,7 +374,7 @@ public void testClose() throws SQLException, AuthorizeException { // Open a new context, let's make sure that EPerson isn't there Context newInstance = new Context(); - EPerson found = ePersonService.findByEmail(newInstance, createdEmail); + EPerson found = ePersonService.findByEmail(newInstance.getSession(), createdEmail); assertThat("testClose 0", found, nullValue()); // Cleanup our contexts diff --git a/dspace-api/src/test/java/org/dspace/eperson/EPersonTest.java b/dspace-api/src/test/java/org/dspace/eperson/EPersonTest.java index 33217bff3c28..f562b0892965 100644 --- a/dspace-api/src/test/java/org/dspace/eperson/EPersonTest.java +++ b/dspace-api/src/test/java/org/dspace/eperson/EPersonTest.java @@ -111,7 +111,7 @@ public void init() { public void destroy() { context.turnOffAuthorisationSystem(); try { - EPerson testPerson = ePersonService.findByEmail(context, EMAIL); + EPerson testPerson = ePersonService.findByEmail(context.getSession(), EMAIL); if (testPerson != null) { ePersonService.delete(context, testPerson); } @@ -793,7 +793,7 @@ public void testGetPasswordHash() @Test public void testCheckPassword() throws SQLException, DecoderException { - EPerson eperson = ePersonService.findByEmail(context, EMAIL); + EPerson eperson = ePersonService.findByEmail(context.getSession(), EMAIL); ePersonService.checkPassword(context, eperson, PASSWORD); } @@ -819,7 +819,7 @@ public void testGetType() */ @Test public void testDeleteEPerson() throws SQLException, AuthorizeException { - EPerson deleteEperson = ePersonService.findByEmail(context, EMAIL); + EPerson deleteEperson = ePersonService.findByEmail(context.getSession(), EMAIL); context.turnOffAuthorisationSystem(); try { @@ -831,7 +831,7 @@ public void testDeleteEPerson() throws SQLException, AuthorizeException { } context.restoreAuthSystemState(); context.commit(); - EPerson findDeletedEperson = ePersonService.findByEmail(context, EMAIL); + EPerson findDeletedEperson = ePersonService.findByEmail(context.getSession(), EMAIL); assertNull("EPerson has not been deleted correctly!", findDeletedEperson); } @@ -843,7 +843,7 @@ public void testDeleteEPerson() throws SQLException, AuthorizeException { @Test public void testDeletionConstraintOfSubmitter() throws SQLException { - EPerson ep = ePersonService.findByEmail(context, EMAIL); + EPerson ep = ePersonService.findByEmail(context.getSession(), EMAIL); try { item = prepareItem(ep); } catch (SQLException | AuthorizeException | IOException ex) { @@ -877,7 +877,7 @@ public void testDeletionConstraintOfSubmitter() @Test public void testDeletionOfSubmitterWithAnItem() throws SQLException, AuthorizeException { - EPerson ep = ePersonService.findByEmail(context, EMAIL); + EPerson ep = ePersonService.findByEmail(context.getSession(), EMAIL); try { item = prepareItem(ep); } catch (SQLException | AuthorizeException | IOException ex) { @@ -916,7 +916,7 @@ public void testDeletionOfSubmitterWithAnItem() @Test public void testCascadingDeletionOfUnsubmittedWorkspaceItem() throws SQLException, AuthorizeException, IOException { - EPerson ep = ePersonService.findByEmail(context, EMAIL); + EPerson ep = ePersonService.findByEmail(context.getSession(), EMAIL); context.turnOffAuthorisationSystem(); WorkspaceItem wsi = prepareWorkspaceItem(ep); @@ -968,7 +968,7 @@ public void testCascadingDeletionOfUnsubmittedWorkspaceItem() @Test public void testCascadingDeleteSubmitterPreservesWorkflowItems() throws SQLException, AuthorizeException, IOException, MessagingException, WorkflowException { - EPerson ep = ePersonService.findByEmail(context, EMAIL); + EPerson ep = ePersonService.findByEmail(context.getSession(), EMAIL); WorkspaceItem wsi = null; try { diff --git a/dspace-api/src/test/java/org/dspace/eperson/SubscribeServiceIT.java b/dspace-api/src/test/java/org/dspace/eperson/SubscribeServiceIT.java index 945dd481d00a..6c93d9310756 100644 --- a/dspace-api/src/test/java/org/dspace/eperson/SubscribeServiceIT.java +++ b/dspace-api/src/test/java/org/dspace/eperson/SubscribeServiceIT.java @@ -69,7 +69,7 @@ public void findAllWithoutAndWithLimit() throws Exception { // unlimited search returns all subscriptions - List subscriptions = subscribeService.findAll(context, resourceType, 10, 0); + List subscriptions = subscribeService.findAll(context.getSession(), resourceType, 10, 0); assertThat(subscriptions, containsInAnyOrder( asList(matches(firstCollection, subscribingUser, "content", singletonList(weekly())), @@ -78,7 +78,7 @@ public void findAllWithoutAndWithLimit() throws Exception { // limited search returns first - subscriptions = subscribeService.findAll(context, resourceType, 1, 0); + subscriptions = subscribeService.findAll(context.getSession(), resourceType, 1, 0); assertThat(subscriptions, containsInAnyOrder( singletonList(matches(firstCollection, subscribingUser, "content", @@ -86,14 +86,14 @@ public void findAllWithoutAndWithLimit() throws Exception { // search with offset returns second - subscriptions = subscribeService.findAll(context, resourceType, 100, 1); + subscriptions = subscribeService.findAll(context.getSession(), resourceType, 100, 1); assertThat(subscriptions, containsInAnyOrder( singletonList(matches(secondCollection, subscribingUser, "content", asList(daily(), annual()))))); // lookup without resource type - subscriptions = subscribeService.findAll(context, StringUtils.EMPTY, 100, 0); + subscriptions = subscribeService.findAll(context.getSession(), StringUtils.EMPTY, 100, 0); assertThat(subscriptions, containsInAnyOrder( asList(matches(firstCollection, subscribingUser, "content", @@ -121,7 +121,7 @@ public void findAllWithInvalidResource() throws Exception { createSubscription("content", firstCollection, context.getCurrentUser(), weekly()); - subscribeService.findAll(context, resourceType, limit, offset); + subscribeService.findAll(context.getSession(), resourceType, limit, offset); } @@ -185,7 +185,7 @@ public void unsubscribeByAdmin() throws Exception { weekly()); List subscriptions = - subscribeService.findSubscriptionsByEPersonAndDso(context, subscribingUser, + subscribeService.findSubscriptionsByEPersonAndDso(context.getSession(), subscribingUser, secondCollection, 100, 0); assertEquals(subscriptions.size(), 1); @@ -195,7 +195,7 @@ public void unsubscribeByAdmin() throws Exception { context.setCurrentUser(subscribingUser); subscriptions = - subscribeService.findSubscriptionsByEPersonAndDso(context, subscribingUser, + subscribeService.findSubscriptionsByEPersonAndDso(context.getSession(), subscribingUser, secondCollection, 100, 0); assertEquals(subscriptions.size(), 0); @@ -209,7 +209,7 @@ public void subscribingUserUnsubscribesTheirSubscription() throws Exception { weekly()); List subscriptions = - subscribeService.findSubscriptionsByEPersonAndDso(context, subscribingUser, + subscribeService.findSubscriptionsByEPersonAndDso(context.getSession(), subscribingUser, secondCollection, 100, 0); assertEquals(subscriptions.size(), 1); @@ -218,7 +218,7 @@ public void subscribingUserUnsubscribesTheirSubscription() throws Exception { subscribeService.unsubscribe(context, subscribingUser, secondCollection); subscriptions = - subscribeService.findSubscriptionsByEPersonAndDso(context, subscribingUser, + subscribeService.findSubscriptionsByEPersonAndDso(context.getSession(), subscribingUser, secondCollection, 100, 0); assertEquals(subscriptions.size(), 0); @@ -265,7 +265,8 @@ public void updateSubscription() throws Exception { assertThat(updated, is(matches(firstCollection, currentUser, updatedType, updatedParameters))); List subscriptions = - subscribeService.findSubscriptionsByEPersonAndDso(context, currentUser, firstCollection, 10, 0); + subscribeService.findSubscriptionsByEPersonAndDso(context.getSession(), + currentUser, firstCollection, 10, 0); assertThat(subscriptions, contains( matches(firstCollection, currentUser, updatedType, updatedParameters))); @@ -342,7 +343,7 @@ public void findersAndDeletionsTest() throws SQLException { } List firstUserSubscriptions = - subscribeService.findSubscriptionsByEPerson(context, firstSubscriber, 100, 0); + subscribeService.findSubscriptionsByEPerson(context.getSession(), firstSubscriber, 100, 0); assertThat(firstUserSubscriptions, containsInAnyOrder( matches(firstCollection, firstSubscriber, "type1", asList(daily(), @@ -354,28 +355,29 @@ public void findersAndDeletionsTest() throws SQLException { )); List firstUserSubscriptionsLimited = - subscribeService.findSubscriptionsByEPerson(context, firstSubscriber, 1, 0); + subscribeService.findSubscriptionsByEPerson(context.getSession(), firstSubscriber, 1, 0); assertThat(firstUserSubscriptionsLimited.size(), is(1)); List firstUserSubscriptionsWithOffset = - subscribeService.findSubscriptionsByEPerson(context, firstSubscriber, 100, 1); + subscribeService.findSubscriptionsByEPerson(context.getSession(), firstSubscriber, 100, 1); assertThat(firstUserSubscriptionsWithOffset.size(), is(2)); subscribeService.deleteByEPerson(context, firstSubscriber); - assertThat(subscribeService.findSubscriptionsByEPerson(context, firstSubscriber, 100, 0), + assertThat(subscribeService.findSubscriptionsByEPerson(context.getSession(), firstSubscriber, 100, 0), is(List.of())); List secondSubscriberSecondCollectionSubscriptions = - subscribeService.findSubscriptionsByEPersonAndDso(context, secondSubscriber, firstCollection, 10, 0); + subscribeService.findSubscriptionsByEPersonAndDso(context.getSession(), + secondSubscriber, firstCollection, 10, 0); assertThat(secondSubscriberSecondCollectionSubscriptions, contains( matches(firstCollection, secondSubscriber, "type1", singletonList(daily())) )); List byTypeAndFrequency = - subscribeService.findAllSubscriptionsBySubscriptionTypeAndFrequency(context, "type1", + subscribeService.findAllSubscriptionsBySubscriptionTypeAndFrequency(context.getSession(), "type1", "D"); assertThat(byTypeAndFrequency, containsInAnyOrder( matches(firstCollection, secondSubscriber, "type1", singletonList( diff --git a/dspace-rest/src/main/java/org/dspace/rest/Resource.java b/dspace-rest/src/main/java/org/dspace/rest/Resource.java index 6edcb82c2d1f..0c361401a25a 100644 --- a/dspace-rest/src/main/java/org/dspace/rest/Resource.java +++ b/dspace-rest/src/main/java/org/dspace/rest/Resource.java @@ -80,7 +80,9 @@ protected static org.dspace.core.Context createContext() throws ContextException .getID()); } context.setCurrentUser( - EPersonServiceFactory.getInstance().getEPersonService().findByEmail(context, authentication.getName())); + EPersonServiceFactory.getInstance() + .getEPersonService(). + findByEmail(context.getSession(), authentication.getName())); } return context; diff --git a/dspace-rest/src/main/java/org/dspace/rest/RestIndex.java b/dspace-rest/src/main/java/org/dspace/rest/RestIndex.java index 26b1150229e8..c7f0989e4907 100644 --- a/dspace-rest/src/main/java/org/dspace/rest/RestIndex.java +++ b/dspace-rest/src/main/java/org/dspace/rest/RestIndex.java @@ -44,7 +44,7 @@ @Path("/") public class RestIndex { protected EPersonService epersonService = EPersonServiceFactory.getInstance().getEPersonService(); - private static Logger log = org.apache.logging.log4j.LogManager.getLogger(RestIndex.class); + private static final Logger log = org.apache.logging.log4j.LogManager.getLogger(); /** * Return html page with information about REST api. It contains methods all @@ -282,7 +282,7 @@ public Status status(@Context HttpHeaders headers) if (ePerson != null) { //DB EPerson needed since token won't have full info, need context - EPerson dbEPerson = epersonService.findByEmail(context, ePerson.getEmail()); + EPerson dbEPerson = epersonService.findByEmail(context.getSession(), ePerson.getEmail()); Status status = new Status(dbEPerson.getEmail(), dbEPerson.getFullName()); return status; diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/authorization/impl/LoginOnBehalfOfFeature.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/authorization/impl/LoginOnBehalfOfFeature.java index f5578f19c683..712f156b1d6e 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/authorization/impl/LoginOnBehalfOfFeature.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/authorization/impl/LoginOnBehalfOfFeature.java @@ -24,14 +24,19 @@ import org.springframework.stereotype.Component; /** - * The LoginOnBehalfOf feature. It can be used by Administrators when the webui.user.assumelogin property is set to true + * The LoginOnBehalfOf feature. It can be used by Administrators when the + * {@code webui.user.assumelogin} property is set to true * to allow the admin to login as another user. - * Calling this with the Site URI will check if the current logged in user can use this feature - * without specifying a specific eperson. This will be the case if the logged in user is an Admin - * and if the webui.user.assumelogin is set to true - * Calling this with the EPerson URI will check if the current logged in user can perform the loginOnBehalfOf - * as the given user. This will then additionally check that the eperson given isn't the same as the logged in - * user and it'll also check that the eperson given isn't an admin + *

    + * Calling this with the Site URI will check if the current logged in user can + * use this feature without specifying a specific {@code EPerson}. This will be + * the case if the logged in user is an administrator and if the + * {@code webui.user.assumelogin is} property set to true. + *

    + * Calling this with the EPerson URI will check if the current logged in user + * can perform the loginOnBehalfOf as the given user. This will then + * additionally check that the {@code EPerson} given isn't the same as the + * logged in user and isn't an administrator. */ @Component @AuthorizationFeatureDocumentation(name = LoginOnBehalfOfFeature.NAME, @@ -68,7 +73,7 @@ public boolean isAuthorized(Context context, BaseObjectRest object) throws SQLEx return false; } - EPerson ePerson = ePersonService.findByEmail(context, ePersonRest.getEmail()); + EPerson ePerson = ePersonService.findByEmail(context.getSession(), ePersonRest.getEmail()); if (authorizeService.isAdmin(context, ePerson)) { return false; } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/EPersonRestRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/EPersonRestRepository.java index b14a7d46af25..b7af67dd5631 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/EPersonRestRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/EPersonRestRepository.java @@ -166,7 +166,7 @@ private EPersonRest createAndReturn(Context context, EPersonRest epersonRest, St throw new DSpaceBadRequestException("The token given as parameter: " + token + " does not exist" + " in the database"); } - if (es.findByEmail(context, registrationData.getEmail()) != null) { + if (es.findByEmail(context.getSession(), registrationData.getEmail()) != null) { throw new DSpaceBadRequestException("The token given already contains an email address that resolves" + " to an eperson"); } @@ -232,7 +232,7 @@ public EPersonRest findOne(Context context, UUID id) { public Page findAll(Context context, Pageable pageable) { try { long total = es.countTotal(context); - List epersons = es.findAll(context, EPerson.EMAIL, pageable.getPageSize(), + List epersons = es.findAll(context.getSession(), EPerson.EMAIL, pageable.getPageSize(), Math.toIntExact(pageable.getOffset())); return converter.toRestPage(epersons, pageable, total, utils.obtainProjection()); } catch (SQLException e) { @@ -253,7 +253,7 @@ public EPersonRest findByEmail(@Parameter(value = "email", required = true) Stri EPerson eperson = null; try { Context context = obtainContext(); - eperson = es.findByEmail(context, email); + eperson = es.findByEmail(context.getSession(), email); } catch (SQLException e) { throw new RuntimeException(e.getMessage(), e); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/RegistrationRestRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/RegistrationRestRepository.java index c46ee1470791..322d6754e40e 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/RegistrationRestRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/RegistrationRestRepository.java @@ -51,7 +51,7 @@ @Component(RegistrationRest.CATEGORY + "." + RegistrationRest.NAME) public class RegistrationRestRepository extends DSpaceRestRepository { - private static Logger log = LogManager.getLogger(RegistrationRestRepository.class); + private static final Logger log = LogManager.getLogger(RegistrationRestRepository.class); public static final String TYPE_QUERY_PARAM = "accountRequestType"; public static final String TYPE_REGISTER = "register"; @@ -121,7 +121,7 @@ public RegistrationRest createAndReturn(Context context) { } EPerson eperson = null; try { - eperson = ePersonService.findByEmail(context, registrationRest.getEmail()); + eperson = ePersonService.findByEmail(context.getSession(), registrationRest.getEmail()); } catch (SQLException e) { log.error("Something went wrong retrieving EPerson for email: " + registrationRest.getEmail(), e); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/SubscriptionDSpaceObjectLinkRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/SubscriptionDSpaceObjectLinkRepository.java index 95c4714e9cae..219db1139f94 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/SubscriptionDSpaceObjectLinkRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/SubscriptionDSpaceObjectLinkRepository.java @@ -36,7 +36,7 @@ public class SubscriptionDSpaceObjectLinkRepository extends AbstractDSpaceRestRe public DSpaceObjectRest getDSpaceObject(@Nullable HttpServletRequest request, Integer subscriptionId, @Nullable Pageable optionalPageable, Projection projection) { try { - Subscription subscription = subscribeService.findById(obtainContext(), subscriptionId); + Subscription subscription = subscribeService.findById(obtainContext().getSession(), subscriptionId); if (Objects.isNull(subscription)) { throw new ResourceNotFoundException("No such subscription: " + subscriptionId); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/SubscriptionEPersonLinkRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/SubscriptionEPersonLinkRepository.java index dcf612e52daa..b0b8a2c9792b 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/SubscriptionEPersonLinkRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/SubscriptionEPersonLinkRepository.java @@ -36,7 +36,7 @@ public class SubscriptionEPersonLinkRepository extends AbstractDSpaceRestReposit public EPersonRest getEPerson(@Nullable HttpServletRequest request, Integer subscriptionId, @Nullable Pageable optionalPageable, Projection projection) { try { - Subscription subscription = subscribeService.findById(obtainContext(), subscriptionId); + Subscription subscription = subscribeService.findById(obtainContext().getSession(), subscriptionId); if (Objects.isNull(subscription)) { throw new ResourceNotFoundException("No such subscription: " + subscriptionId); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/SubscriptionRestRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/SubscriptionRestRepository.java index 0832cd72d1c7..4dfe7dc45483 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/SubscriptionRestRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/SubscriptionRestRepository.java @@ -85,7 +85,7 @@ public class SubscriptionRestRepository extends DSpaceRestRepository findAll(Context context, Pageable pageable) { try { - List subscriptionList = subscribeService.findAll(context, null, + List subscriptionList = subscribeService.findAll(context.getSession(), null, Math.toIntExact(pageable.getPageSize()), Math.toIntExact(pageable.getOffset())); Long total = subscribeService.countAll(context); @@ -115,7 +115,7 @@ public Page findSubscriptionsByEPerson(@Parameter(value = "uui try { Context context = obtainContext(); EPerson ePerson = ePersonService.find(context.getSession(), epersonId); - subscriptions = subscribeService.findSubscriptionsByEPerson(context, ePerson, + subscriptions = subscribeService.findSubscriptionsByEPerson(context.getSession(), ePerson, Math.toIntExact(pageable.getPageSize()), Math.toIntExact(pageable.getOffset())); total = subscribeService.countSubscriptionsByEPerson(context, ePerson); @@ -136,9 +136,10 @@ public Page findByEPersonAndDso(@Parameter(value = "eperson_id Context context = obtainContext(); DSpaceObject dSpaceObject = dspaceObjectUtil.findDSpaceObject(context, dsoId); EPerson ePerson = ePersonService.find(context.getSession(), epersonId); - subscriptions = subscribeService.findSubscriptionsByEPersonAndDso(context, ePerson, dSpaceObject, - Math.toIntExact(pageable.getPageSize()), - Math.toIntExact(pageable.getOffset())); + subscriptions = subscribeService.findSubscriptionsByEPersonAndDso(context.getSession(), + ePerson, dSpaceObject, + Math.toIntExact(pageable.getPageSize()), + Math.toIntExact(pageable.getOffset())); total = subscribeService.countByEPersonAndDSO(context, ePerson, dSpaceObject); } catch (SQLException e) { throw new SQLException(e.getMessage(), e); @@ -237,7 +238,7 @@ protected SubscriptionRest put(Context context, HttpServletRequest request, Stri throw new UnprocessableEntityException("Error parsing subscription json: " + e.getMessage(), e); } - Subscription subscription = subscribeService.findById(context, id); + Subscription subscription = subscribeService.findById(context.getSession(), id); if (Objects.isNull(subscription)) { throw new ResourceNotFoundException(apiCategory + "." + model + " with id: " + id + " not found"); } @@ -260,7 +261,7 @@ protected SubscriptionRest put(Context context, HttpServletRequest request, Stri @PreAuthorize("hasPermission(#id, 'subscription', 'DELETE')") protected void delete(Context context, Integer id) { try { - Subscription subscription = subscribeService.findById(context, id); + Subscription subscription = subscribeService.findById(context.getSession(), id); if (Objects.isNull(subscription)) { throw new ResourceNotFoundException(CATEGORY + "." + NAME + " with id: " + id + " not found"); } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/ClaimedTaskRestPermissionEvaluatorPlugin.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/ClaimedTaskRestPermissionEvaluatorPlugin.java index 7daa409cf1e8..b25faa85370f 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/ClaimedTaskRestPermissionEvaluatorPlugin.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/ClaimedTaskRestPermissionEvaluatorPlugin.java @@ -29,7 +29,7 @@ /** * An authenticated user is allowed to interact with a claimed task only if they own it * claim. - * + * * @author Andrea Bollini (andrea.bollini at 4science.it) */ @Component @@ -58,7 +58,7 @@ public boolean hasDSpacePermission(Authentication authentication, Serializable t Context context = ContextUtil.obtainContext(request.getHttpServletRequest()); EPerson ePerson = null; try { - ePerson = ePersonService.findByEmail(context, (String) authentication.getPrincipal()); + ePerson = ePersonService.findByEmail(context.getSession(), (String) authentication.getPrincipal()); if (ePerson == null) { return false; } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/PoolTaskRestPermissionEvaluatorPlugin.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/PoolTaskRestPermissionEvaluatorPlugin.java index 793caf3cf650..9633d5bd8d67 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/PoolTaskRestPermissionEvaluatorPlugin.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/PoolTaskRestPermissionEvaluatorPlugin.java @@ -60,7 +60,7 @@ public boolean hasDSpacePermission(Authentication authentication, Serializable t Context context = ContextUtil.obtainContext(request.getHttpServletRequest()); EPerson ePerson = null; try { - ePerson = ePersonService.findByEmail(context, (String) authentication.getPrincipal()); + ePerson = ePersonService.findByEmail(context.getSession(), (String) authentication.getPrincipal()); if (ePerson == null) { return false; } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/ResourcePolicyRestPermissionEvaluatorPlugin.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/ResourcePolicyRestPermissionEvaluatorPlugin.java index bf7ce3b53f1a..fbb7160e0fd8 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/ResourcePolicyRestPermissionEvaluatorPlugin.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/ResourcePolicyRestPermissionEvaluatorPlugin.java @@ -28,7 +28,7 @@ /** * {@link RestPermissionEvaluatorPlugin} class that evaluate READ, WRITE and DELETE permissions over a ResourcePolicy - * + * * @author Mykhaylo Boychuk (4science.it) */ @Component @@ -66,7 +66,7 @@ public boolean hasDSpacePermission(Authentication authentication, Serializable t EPerson ePerson = null; try { - ePerson = ePersonService.findByEmail(context, (String) authentication.getPrincipal()); + ePerson = ePersonService.findByEmail(context.getSession(), (String) authentication.getPrincipal()); Integer dsoId = Integer.parseInt(targetId.toString()); // anonymous user diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/SubscriptionRestPermissionEvaluatorPlugin.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/SubscriptionRestPermissionEvaluatorPlugin.java index c93d966e73cb..aba999a829f2 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/SubscriptionRestPermissionEvaluatorPlugin.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/SubscriptionRestPermissionEvaluatorPlugin.java @@ -33,7 +33,7 @@ /** * {@link RestPermissionEvaluatorPlugin} class that evaluate READ, WRITE and DELETE permissions over a Subscription - * + * * @author Mykhaylo Boychuk (mykhaylo.boychuk at 4science.com) */ @Component @@ -73,7 +73,8 @@ public boolean hasDSpacePermission(Authentication authentication, Serializable t return true; } - Subscription subscription = subscribeService.findById(context, Integer.parseInt(targetId.toString())); + Subscription subscription = subscribeService.findById(context.getSession(), + Integer.parseInt(targetId.toString())); return Objects.nonNull(subscription) ? currentUser.equals(subscription.getEPerson()) : false; } catch (SQLException e) { log.error(e.getMessage(), e); diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/WorkflowRestPermissionEvaluatorPlugin.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/WorkflowRestPermissionEvaluatorPlugin.java index fd89a82851c8..a0a734e48e83 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/WorkflowRestPermissionEvaluatorPlugin.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/WorkflowRestPermissionEvaluatorPlugin.java @@ -34,7 +34,7 @@ /** * An authenticated user is allowed to interact with workflow item only if they belong to a task that they own or could * claim. - * + * * @author Andrea Bollini (andrea.bollini at 4science.it) */ @Component @@ -75,7 +75,7 @@ public boolean hasDSpacePermission(Authentication authentication, Serializable t Context context = ContextUtil.obtainContext(request.getHttpServletRequest()); EPerson ePerson = null; try { - ePerson = ePersonService.findByEmail(context, (String) authentication.getPrincipal()); + ePerson = ePersonService.findByEmail(context.getSession(), (String) authentication.getPrincipal()); if (ePerson == null) { return false; } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/jwt/JWTTokenRestAuthenticationServiceImpl.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/jwt/JWTTokenRestAuthenticationServiceImpl.java index c28729ff83a8..bafadd8eefec 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/jwt/JWTTokenRestAuthenticationServiceImpl.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/security/jwt/JWTTokenRestAuthenticationServiceImpl.java @@ -79,7 +79,7 @@ public void addAuthenticationDataForUser(HttpServletRequest request, HttpServlet DSpaceAuthentication authentication, boolean addCookie) throws IOException { try { Context context = ContextUtil.obtainContext(request); - context.setCurrentUser(ePersonService.findByEmail(context, authentication.getName())); + context.setCurrentUser(ePersonService.findByEmail(context.getSession(), authentication.getName())); String token = loginJWTTokenHandler.createTokenForEPerson(context, request, authentication.getPreviousLoginDate()); diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/EPersonRestRepositoryIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/EPersonRestRepositoryIT.java index 603300c5c754..588b280fe81b 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/EPersonRestRepositoryIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/EPersonRestRepositoryIT.java @@ -1008,7 +1008,7 @@ public void patchNetId() throws Exception { context.restoreAuthSystemState(); - List ops = new ArrayList(); + List ops = new ArrayList<>(); ReplaceOperation replaceOperation = new ReplaceOperation("/netid", "newNetId"); ops.add(replaceOperation); String patchBody = getPatchContent(ops); @@ -1041,7 +1041,7 @@ public void patchUsingStringForBoolean() throws Exception { String token = getAuthToken(admin.getEmail(), password); - List ops = new ArrayList(); + List ops = new ArrayList<>(); // String should be converted to boolean. ReplaceOperation replaceOperation = new ReplaceOperation("/canLogin", "true"); @@ -1085,7 +1085,7 @@ public void replaceOnNonExistentValue() throws Exception { context.restoreAuthSystemState(); - List ops = new ArrayList(); + List ops = new ArrayList<>(); ReplaceOperation replaceOperation = new ReplaceOperation("/netid", "newNetId"); ops.add(replaceOperation); String patchBody = getPatchContent(ops); @@ -1122,7 +1122,7 @@ public void patchNetIdMissingValue() throws Exception { String token = getAuthToken(admin.getEmail(), password); - List ops = new ArrayList(); + List ops = new ArrayList<>(); ReplaceOperation replaceOperation = new ReplaceOperation("/netid", newId); ops.add(replaceOperation); String patchBody = getPatchContent(ops); @@ -1135,7 +1135,7 @@ public void patchNetIdMissingValue() throws Exception { .andExpect(jsonPath("$.netid", Matchers.is(newId))); - List ops2 = new ArrayList(); + List ops2 = new ArrayList<>(); ReplaceOperation replaceOperation2 = new ReplaceOperation("/netid", null); ops2.add(replaceOperation2); patchBody = getPatchContent(ops2); @@ -2550,7 +2550,7 @@ public void postEPersonWithTokenWithTwoTokensDifferentEmailProperty() throws Exc .contentType(MediaType.APPLICATION_JSON)) .andExpect(status().isBadRequest()); - EPerson createdEPerson = ePersonService.findByEmail(context, newRegisterEmailTwo); + EPerson createdEPerson = ePersonService.findByEmail(context.getSession(), newRegisterEmailTwo); assertNull(createdEPerson); assertNotNull(registrationDataService.findByToken(context.getSession(), newRegisterToken)); assertNotNull(registrationDataService.findByToken(context.getSession(), newRegisterTokenTwo)); @@ -2601,7 +2601,7 @@ public void postEPersonWithRandomTokenWithEmailProperty() throws Exception { .contentType(MediaType.APPLICATION_JSON)) .andExpect(status().isBadRequest()); - EPerson createdEPerson = ePersonService.findByEmail(context, newRegisterEmail); + EPerson createdEPerson = ePersonService.findByEmail(context.getSession(), newRegisterEmail); assertNull(createdEPerson); assertNotNull(registrationDataService.findByToken(context.getSession(), newRegisterToken)); } finally { @@ -2651,7 +2651,7 @@ public void postEPersonWithTokenWithEmailAndSelfRegisteredFalseProperty() throws .contentType(MediaType.APPLICATION_JSON)) .andExpect(status().isBadRequest()); - EPerson createdEPerson = ePersonService.findByEmail(context, newRegisterEmail); + EPerson createdEPerson = ePersonService.findByEmail(context.getSession(), newRegisterEmail); assertNull(createdEPerson); assertNotNull(registrationDataService.findByToken(context.getSession(), newRegisterToken)); } finally { @@ -2719,7 +2719,7 @@ public void postEPersonWithTokenWithoutLastNameProperty() throws Exception { ))) .andExpect(status().reason(not(startsWith("[PL]")))); - EPerson createdEPerson = ePersonService.findByEmail(context, newRegisterEmail); + EPerson createdEPerson = ePersonService.findByEmail(context.getSession(), newRegisterEmail); assertNull(createdEPerson); assertNotNull(registrationDataService.findByToken(context.getSession(), newRegisterToken)); } finally { @@ -2788,7 +2788,7 @@ public void postEPersonWithTokenWithoutFirstNameProperty() throws Exception { ))) .andExpect(status().reason(not(startsWith("[PL]")))); - EPerson createdEPerson = ePersonService.findByEmail(context, newRegisterEmail); + EPerson createdEPerson = ePersonService.findByEmail(context.getSession(), newRegisterEmail); assertNull(createdEPerson); assertNotNull(registrationDataService.findByToken(context.getSession(), newRegisterToken)); } finally { @@ -2836,7 +2836,7 @@ public void postEPersonWithTokenWithoutPasswordProperty() throws Exception { .contentType(MediaType.APPLICATION_JSON)) .andExpect(status().isBadRequest()); - EPerson createdEPerson = ePersonService.findByEmail(context, newRegisterEmail); + EPerson createdEPerson = ePersonService.findByEmail(context.getSession(), newRegisterEmail); assertNull(createdEPerson); assertNotNull(registrationDataService.findByToken(context.getSession(), newRegisterToken)); } finally { @@ -2885,7 +2885,7 @@ public void postEPersonWithWrongToken() throws Exception { .contentType(MediaType.APPLICATION_JSON)) .andExpect(status().isBadRequest()); - EPerson createdEPerson = ePersonService.findByEmail(context, newEmail); + EPerson createdEPerson = ePersonService.findByEmail(context.getSession(), newEmail); assertNull(createdEPerson); assertNotNull(registrationDataService.findByToken(context.getSession(), forgotPasswordToken)); } finally { diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/RelationshipDeleteRestRepositoryIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/RelationshipDeleteRestRepositoryIT.java index a6a445352d6a..69b533dce49c 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/RelationshipDeleteRestRepositoryIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/RelationshipDeleteRestRepositoryIT.java @@ -82,7 +82,7 @@ public void setUp() throws Exception { context.turnOffAuthorisationSystem(); - collectionAdmin = ePersonService.findByEmail(context, "collectionAdminTest@email.com"); + collectionAdmin = ePersonService.findByEmail(context.getSession(), "collectionAdminTest@email.com"); if (collectionAdmin == null) { // This EPerson creation should only happen once (i.e. for first test run) collectionAdmin = ePersonService.create(context); @@ -137,7 +137,7 @@ public void setUp() throws Exception { public void destroy() throws Exception { try { context.turnOffAuthorisationSystem(); - collectionAdmin = ePersonService.findByEmail(context, "collectionAdminTest@email.com"); + collectionAdmin = ePersonService.findByEmail(context.getSession(), "collectionAdminTest@email.com"); if (collectionAdmin != null) { ePersonService.delete(context, collectionAdmin); } diff --git a/dspace-sword/src/main/java/org/dspace/sword/SWORDAuthenticator.java b/dspace-sword/src/main/java/org/dspace/sword/SWORDAuthenticator.java index 901bf08c9dfd..4871f3e90b3c 100644 --- a/dspace-sword/src/main/java/org/dspace/sword/SWORDAuthenticator.java +++ b/dspace-sword/src/main/java/org/dspace/sword/SWORDAuthenticator.java @@ -310,9 +310,9 @@ private SWORDContext authenticate(Context context, String un, String pw, // authentication process fails EPerson epObo = null; if (obo != null) { - epObo = ePersonService.findByEmail(context, obo); + epObo = ePersonService.findByEmail(context.getSession(), obo); if (epObo == null) { - epObo = ePersonService.findByNetid(context, obo); + epObo = ePersonService.findByNetid(context.getSession(), obo); } if (epObo != null) { diff --git a/dspace-swordv2/src/main/java/org/dspace/sword2/SwordAuthenticator.java b/dspace-swordv2/src/main/java/org/dspace/sword2/SwordAuthenticator.java index a4c964757694..f988c3d16508 100644 --- a/dspace-swordv2/src/main/java/org/dspace/sword2/SwordAuthenticator.java +++ b/dspace-swordv2/src/main/java/org/dspace/sword2/SwordAuthenticator.java @@ -202,9 +202,9 @@ private SwordContext authenticate(Context context, AuthCredentials auth) // authentication process fails EPerson epObo = null; if (obo != null) { - epObo = ePersonService.findByEmail(context, obo); + epObo = ePersonService.findByEmail(context.getSession(), obo); if (epObo == null) { - epObo = ePersonService.findByNetid(context, obo); + epObo = ePersonService.findByNetid(context.getSession(), obo); } if (epObo != null) { From b62f34dbf7f6d5130c4ae826c103e6f942dff5c9 Mon Sep 17 00:00:00 2001 From: "Mark H. Wood" Date: Thu, 21 Sep 2023 09:25:02 -0400 Subject: [PATCH 13/14] Workflow find* methods. --- .../org/dspace/app/util/AuthorizeUtil.java | 3 +- .../dspace/content/CollectionServiceImpl.java | 4 +-- .../indexobject/PoolTaskIndexFactoryImpl.java | 2 +- .../WorkflowItemIndexFactoryImpl.java | 2 +- .../dspace/eperson/EPersonServiceImpl.java | 2 +- .../org/dspace/eperson/GroupServiceImpl.java | 11 +++---- .../java/org/dspace/xmlworkflow/Role.java | 2 +- .../WorkflowRequirementsServiceImpl.java | 13 ++++---- .../org/dspace/xmlworkflow/WorkflowUtils.java | 4 +-- .../xmlworkflow/XmlWorkflowServiceImpl.java | 6 ++-- .../CollectionRoleServiceImpl.java | 17 ++++++----- .../InProgressUserServiceImpl.java | 12 ++++---- .../storedcomponents/PoolTaskServiceImpl.java | 30 ++++++++++--------- .../service/CollectionRoleService.java | 15 +++++----- .../service/InProgressUserService.java | 7 +++-- .../service/PoolTaskService.java | 17 ++++++----- .../dspace/eperson/EPersonInWorkflowIT.java | 5 ++-- .../repository/CollectionRestRepository.java | 4 +-- .../repository/PoolTaskRestRepository.java | 2 +- .../WorkflowItemStepLinkRepository.java | 2 +- 20 files changed, 85 insertions(+), 75 deletions(-) diff --git a/dspace-api/src/main/java/org/dspace/app/util/AuthorizeUtil.java b/dspace-api/src/main/java/org/dspace/app/util/AuthorizeUtil.java index d7aca88f1f54..0143cd8eb11a 100644 --- a/dspace-api/src/main/java/org/dspace/app/util/AuthorizeUtil.java +++ b/dspace-api/src/main/java/org/dspace/app/util/AuthorizeUtil.java @@ -585,7 +585,8 @@ public static void authorizeManageGroup(Context context, Group group) throws SQL } - List collectionRoles = collectionRoleService.findByCollection(context, collection); + List collectionRoles + = collectionRoleService.findByCollection(context.getSession(), collection); for (CollectionRole role : collectionRoles) { if (group.equals(role.getGroup())) { authorizeManageWorkflowsGroup(context, collection); diff --git a/dspace-api/src/main/java/org/dspace/content/CollectionServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/CollectionServiceImpl.java index 9377381716a5..6c99fb3755de 100644 --- a/dspace-api/src/main/java/org/dspace/content/CollectionServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/CollectionServiceImpl.java @@ -437,7 +437,7 @@ public void setWorkflowGroup(Context context, Collection collection, int step, G throw new IllegalArgumentException("Illegal step count: " + step); } - CollectionRole colRole = collectionRoleService.find(context, collection, roleId); + CollectionRole colRole = collectionRoleService.find(context.getSession(), collection, roleId); if (colRole == null) { if (group != null) { colRole = collectionRoleService.create(context, collection, roleId, group); @@ -473,7 +473,7 @@ public Group getWorkflowGroup(Context context, Collection collection, int step) CollectionRole colRole; try { - colRole = collectionRoleService.find(context, collection, roleId); + colRole = collectionRoleService.find(context.getSession(), collection, roleId); if (colRole != null) { return colRole.getGroup(); } diff --git a/dspace-api/src/main/java/org/dspace/discovery/indexobject/PoolTaskIndexFactoryImpl.java b/dspace-api/src/main/java/org/dspace/discovery/indexobject/PoolTaskIndexFactoryImpl.java index 8e6b2c48c970..31a0eab55f57 100644 --- a/dspace-api/src/main/java/org/dspace/discovery/indexobject/PoolTaskIndexFactoryImpl.java +++ b/dspace-api/src/main/java/org/dspace/discovery/indexobject/PoolTaskIndexFactoryImpl.java @@ -39,7 +39,7 @@ public class PoolTaskIndexFactoryImpl extends IndexFactoryImpl findAll(Context context) throws SQLException { - final Iterator pooledTasks = poolTaskService.findAll(context).iterator(); + final Iterator pooledTasks = poolTaskService.findAll(context.getSession()).iterator(); return new Iterator() { @Override public boolean hasNext() { diff --git a/dspace-api/src/main/java/org/dspace/discovery/indexobject/WorkflowItemIndexFactoryImpl.java b/dspace-api/src/main/java/org/dspace/discovery/indexobject/WorkflowItemIndexFactoryImpl.java index 0ea907b16575..3f65853ae86e 100644 --- a/dspace-api/src/main/java/org/dspace/discovery/indexobject/WorkflowItemIndexFactoryImpl.java +++ b/dspace-api/src/main/java/org/dspace/discovery/indexobject/WorkflowItemIndexFactoryImpl.java @@ -94,7 +94,7 @@ public List getIndexableObjects(Context context, XmlWorkflowItem object) throws List results = new ArrayList<>(); results.add(new IndexableWorkflowItem(object)); - List pools = poolTaskService.find(context, object); + List pools = poolTaskService.find(context.getSession(), object); for (PoolTask poolTask : pools) { results.add(new IndexablePoolTask(poolTask)); } diff --git a/dspace-api/src/main/java/org/dspace/eperson/EPersonServiceImpl.java b/dspace-api/src/main/java/org/dspace/eperson/EPersonServiceImpl.java index 37096e06fa74..e63ac9a87e9a 100644 --- a/dspace-api/src/main/java/org/dspace/eperson/EPersonServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/eperson/EPersonServiceImpl.java @@ -412,7 +412,7 @@ private Set getAllWorkFlowGroups(Context context, EPerson ePerson) throws Set groups = groupService.allMemberGroupsSet(context, ePerson); for (Group group: groups) { - List collectionRoles = collectionRoleService.findByGroup(context, group); + List collectionRoles = collectionRoleService.findByGroup(context.getSession(), group); if (!collectionRoles.isEmpty()) { workFlowGroups.add(group); } diff --git a/dspace-api/src/main/java/org/dspace/eperson/GroupServiceImpl.java b/dspace-api/src/main/java/org/dspace/eperson/GroupServiceImpl.java index 23ab3e432a32..70a8a7895dbd 100644 --- a/dspace-api/src/main/java/org/dspace/eperson/GroupServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/eperson/GroupServiceImpl.java @@ -170,9 +170,9 @@ public void addMember(Context context, Group groupParent, Group groupChild) thro */ @Override public void removeMember(Context context, Group group, EPerson ePerson) throws SQLException { - List collectionRoles = collectionRoleService.findByGroup(context, group); + List collectionRoles = collectionRoleService.findByGroup(context.getSession(), group); if (!collectionRoles.isEmpty()) { - List poolTasks = poolTaskService.findByGroup(context, group); + List poolTasks = poolTaskService.findByGroup(context.getSession(), group); List claimedTasks = claimedTaskService.findByEperson(context.getSession(), ePerson); for (ClaimedTask claimedTask : claimedTasks) { Step stepByName = workflowFactory.getStepByName(claimedTask.getStepID()); @@ -209,9 +209,9 @@ public void removeMember(Context context, Group group, EPerson ePerson) throws S @Override public void removeMember(Context context, Group groupParent, Group childGroup) throws SQLException { - List collectionRoles = collectionRoleService.findByGroup(context, groupParent); + List collectionRoles = collectionRoleService.findByGroup(context.getSession(), groupParent); if (!collectionRoles.isEmpty()) { - List poolTasks = poolTaskService.findByGroup(context, groupParent); + List poolTasks = poolTaskService.findByGroup(context.getSession(), groupParent); if (!poolTasks.isEmpty()) { List parentPeople = allMembers(context, groupParent); List childPeople = allMembers(context, childGroup); @@ -711,7 +711,8 @@ public DSpaceObject getParentObject(Context context, Group group) throws SQLExce || AuthorizeConfiguration.canCommunityAdminManageCollectionWorkflows()) { // if the group is used for one or more roles on a single collection, // admins can eventually manage it - List collectionRoles = collectionRoleService.findByGroup(context, group); + List collectionRoles + = collectionRoleService.findByGroup(context.getSession(), group); if (collectionRoles != null && !collectionRoles.isEmpty()) { Set colls = new HashSet<>(); for (CollectionRole cr : collectionRoles) { diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/Role.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/Role.java index d98eb9001185..e80941157110 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/Role.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/Role.java @@ -93,7 +93,7 @@ public RoleMembers getMembers(Context context, XmlWorkflowItem wfi) throws SQLEx return assignees; } } else if (scope == Scope.COLLECTION) { - CollectionRole collectionRole = collectionRoleService.find(context, wfi.getCollection(), id); + CollectionRole collectionRole = collectionRoleService.find(context.getSession(), wfi.getCollection(), id); if (collectionRole != null) { RoleMembers assignees = new RoleMembers(); assignees.addGroup(collectionRole.getGroup()); diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/WorkflowRequirementsServiceImpl.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/WorkflowRequirementsServiceImpl.java index aecdccd55af3..847769eff235 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/WorkflowRequirementsServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/WorkflowRequirementsServiceImpl.java @@ -31,10 +31,10 @@ import org.springframework.beans.factory.annotation.Autowired; /** - * A class that contains utililty methods related to the workflow + * A class that contains utility methods related to the workflow. * The adding/removing from claimed users and ensuring that * if multiple users have to perform these steps that a count is kept - * so that no more then the allowed user count are allowed to perform their actions + * so that no more then the allowed user count are allowed to perform their actions. * * @author Bram De Schouwer (bram.deschouwer at dot com) * @author Kevin Van de Velde (kevin at atmire dot com) @@ -98,7 +98,8 @@ public void removeClaimedUser(Context context, XmlWorkflowItem wfi, EPerson user .getNumberOfFinishedUsers(context, wfi); //Then remove the current user from the inProgressUsers - inProgressUserService.delete(context, inProgressUserService.findByWorkflowItemAndEPerson(context, wfi, user)); + inProgressUserService.delete(context, inProgressUserService.findByWorkflowItemAndEPerson(context.getSession(), + wfi, user)); //Make sure the removed user has their custom rights removed xmlWorkflowService.removeUserItemPolicies(context, wfi.getItem(), user); @@ -111,7 +112,7 @@ public void removeClaimedUser(Context context, XmlWorkflowItem wfi, EPerson user if (totalUsers == step.getRequiredUsers()) { //Create a list of the users we are to ignore - List toIgnore = inProgressUserService.findByWorkflowItem(context, wfi); + List toIgnore = inProgressUserService.findByWorkflowItem(context.getSession(), wfi); //Remove the users to ignore RoleMembers roleMembers = step.getRole().getMembers(context, wfi); @@ -143,7 +144,7 @@ public void removeClaimedUser(Context context, XmlWorkflowItem wfi, EPerson user @Override public void addFinishedUser(Context c, XmlWorkflowItem wfi, EPerson user) throws AuthorizeException, SQLException { - InProgressUser ipu = inProgressUserService.findByWorkflowItemAndEPerson(c, wfi, user); + InProgressUser ipu = inProgressUserService.findByWorkflowItemAndEPerson(c.getSession(), wfi, user); ipu.setFinished(true); inProgressUserService.update(c, ipu); } @@ -151,7 +152,7 @@ public void addFinishedUser(Context c, XmlWorkflowItem wfi, EPerson user) throws @Override public void clearInProgressUsers(Context c, XmlWorkflowItem wfi) throws AuthorizeException, SQLException { - Iterator ipus = inProgressUserService.findByWorkflowItem(c, wfi).iterator(); + Iterator ipus = inProgressUserService.findByWorkflowItem(c.getSession(), wfi).iterator(); while (ipus.hasNext()) { InProgressUser ipu = ipus.next(); ipus.remove(); diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/WorkflowUtils.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/WorkflowUtils.java index 27b3103609cd..9e4310b0b096 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/WorkflowUtils.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/WorkflowUtils.java @@ -233,7 +233,7 @@ public static void deleteRoleGroup(Context context, Collection collection, Strin Workflow workflow = xmlWorkflowFactory.getWorkflow(collection); Role role = workflow.getRoles().get(roleID); if (role.getScope() == Role.Scope.COLLECTION) { - CollectionRole ass = collectionRoleService.find(context, collection, roleID); + CollectionRole ass = collectionRoleService.find(context.getSession(), collection, roleID); collectionRoleService.delete(context, ass); } } @@ -306,7 +306,7 @@ public static Group getRoleGroup(Context context, Collection collection, Role ro if (role.getScope() == Role.Scope.REPOSITORY) { return groupService.findByName(context.getSession(), role.getName()); } else if (role.getScope() == Role.Scope.COLLECTION) { - CollectionRole collectionRole = collectionRoleService.find(context, collection, role.getId()); + CollectionRole collectionRole = collectionRoleService.find(context.getSession(), collection, role.getId()); if (collectionRole == null) { return null; } diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/XmlWorkflowServiceImpl.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/XmlWorkflowServiceImpl.java index 0a4b0f928010..2449176016d9 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/XmlWorkflowServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/XmlWorkflowServiceImpl.java @@ -147,7 +147,7 @@ public List getEPersonDeleteConstraints(Context context, EPerson ePerson if (CollectionUtils.isNotEmpty(claimedTaskService.findByEperson(context.getSession(), ePerson))) { constraints.add("cwf_claimtask"); } - if (CollectionUtils.isNotEmpty(poolTaskService.findByEPerson(context, ePerson))) { + if (CollectionUtils.isNotEmpty(poolTaskService.findByEPerson(context.getSession(), ePerson))) { constraints.add("cwf_pooltask"); } if (CollectionUtils.isNotEmpty(workflowItemRoleService.findByEPerson(context, ePerson))) { @@ -530,7 +530,7 @@ protected void logWorkflowEvent(Context c, String workflowId, String previousSte //Retrieve the current owners of the task List claimedTasks = claimedTaskService.find(c.getSession(), wfi, newStep.getId()); - List pooledTasks = poolTaskService.find(c, wfi); + List pooledTasks = poolTaskService.find(c.getSession(), wfi); for (PoolTask poolTask : pooledTasks) { if (poolTask.getEperson() != null) { currentEpersonOwners.add(poolTask.getEperson()); @@ -756,7 +756,7 @@ public void deleteAllTasks(Context context, XmlWorkflowItem wi) throws SQLExcept @Override public void deleteAllPooledTasks(Context context, XmlWorkflowItem wi) throws SQLException, AuthorizeException { - Iterator allPooledTasks = poolTaskService.find(context, wi).iterator(); + Iterator allPooledTasks = poolTaskService.find(context.getSession(), wi).iterator(); while (allPooledTasks.hasNext()) { PoolTask poolTask = allPooledTasks.next(); allPooledTasks.remove(); diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/CollectionRoleServiceImpl.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/CollectionRoleServiceImpl.java index 912e58158962..3c33fb2ea946 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/CollectionRoleServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/CollectionRoleServiceImpl.java @@ -15,6 +15,7 @@ import org.dspace.eperson.Group; import org.dspace.xmlworkflow.storedcomponents.dao.CollectionRoleDAO; import org.dspace.xmlworkflow.storedcomponents.service.CollectionRoleService; +import org.hibernate.Session; import org.springframework.beans.factory.annotation.Autowired; /** @@ -35,23 +36,23 @@ protected CollectionRoleServiceImpl() { @Override - public CollectionRole find(Context context, int id) throws SQLException { - return collectionRoleDAO.findByID(context.getSession(), CollectionRole.class, id); + public CollectionRole find(Session session, int id) throws SQLException { + return collectionRoleDAO.findByID(session, CollectionRole.class, id); } @Override - public CollectionRole find(Context context, Collection collection, String role) throws SQLException { - return collectionRoleDAO.findByCollectionAndRole(context.getSession(), collection, role); + public CollectionRole find(Session session, Collection collection, String role) throws SQLException { + return collectionRoleDAO.findByCollectionAndRole(session, collection, role); } @Override - public List findByCollection(Context context, Collection collection) throws SQLException { - return collectionRoleDAO.findByCollection(context.getSession(), collection); + public List findByCollection(Session session, Collection collection) throws SQLException { + return collectionRoleDAO.findByCollection(session, collection); } @Override - public List findByGroup(Context context, Group group) throws SQLException { - return collectionRoleDAO.findByGroup(context.getSession(), group); + public List findByGroup(Session session, Group group) throws SQLException { + return collectionRoleDAO.findByGroup(session, group); } @Override diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/InProgressUserServiceImpl.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/InProgressUserServiceImpl.java index 978612bcdf29..267e21efd775 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/InProgressUserServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/InProgressUserServiceImpl.java @@ -37,19 +37,19 @@ protected InProgressUserServiceImpl() { } @Override - public InProgressUser findByWorkflowItemAndEPerson(Context context, XmlWorkflowItem workflowItem, EPerson ePerson) + public InProgressUser findByWorkflowItemAndEPerson(Session session, XmlWorkflowItem workflowItem, EPerson ePerson) throws SQLException { - return inProgressUserDAO.findByWorkflowItemAndEPerson(context.getSession(), workflowItem, ePerson); + return inProgressUserDAO.findByWorkflowItemAndEPerson(session, workflowItem, ePerson); } @Override - public List findByEperson(Context context, EPerson ePerson) throws SQLException { - return inProgressUserDAO.findByEperson(context.getSession(), ePerson); + public List findByEperson(Session session, EPerson ePerson) throws SQLException { + return inProgressUserDAO.findByEperson(session, ePerson); } @Override - public List findByWorkflowItem(Context context, XmlWorkflowItem workflowItem) throws SQLException { - return inProgressUserDAO.findByWorkflowItem(context.getSession(), workflowItem); + public List findByWorkflowItem(Session session, XmlWorkflowItem workflowItem) throws SQLException { + return inProgressUserDAO.findByWorkflowItem(session, workflowItem); } @Override diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/PoolTaskServiceImpl.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/PoolTaskServiceImpl.java index 8b291242aa9b..197f49d20746 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/PoolTaskServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/PoolTaskServiceImpl.java @@ -49,8 +49,8 @@ protected PoolTaskServiceImpl() { } @Override - public List findAll(Context context) throws SQLException { - return poolTaskDAO.findAll(context.getSession(), PoolTask.class); + public List findAll(Session session) throws SQLException { + return poolTaskDAO.findAll(session, PoolTask.class); } @Override @@ -59,17 +59,18 @@ public List findByEperson(Context context, EPerson ePerson) List result = poolTaskDAO.findByEPerson(context.getSession(), ePerson); //Get all PoolTasks for groups of which this eperson is a member List groups = groupService.allMemberGroups(context, ePerson); - result.addAll(findByGroups(context, ePerson, groups)); + result.addAll(findByGroups(context.getSession(), ePerson, groups)); return result; } - protected List findByGroups(Context context, EPerson ePerson, List groups) throws SQLException { + protected List findByGroups(Session session, EPerson ePerson, List groups) throws SQLException { List result = new ArrayList<>(); for (Group group : groups) { - List groupTasks = poolTaskDAO.findByGroup(context.getSession(), group); + List groupTasks = poolTaskDAO.findByGroup(session, group); for (PoolTask poolTask : groupTasks) { XmlWorkflowItem workflowItem = poolTask.getWorkflowItem(); - if (inProgressUserService.findByWorkflowItemAndEPerson(context, workflowItem, ePerson) == null) { + if (inProgressUserService.findByWorkflowItemAndEPerson(session, + workflowItem, ePerson) == null) { result.add(poolTask); } } @@ -79,8 +80,8 @@ protected List findByGroups(Context context, EPerson ePerson, List find(Context context, XmlWorkflowItem workflowItem) throws SQLException { - return poolTaskDAO.findByWorkflowItem(context.getSession(), workflowItem); + public List find(Session session, XmlWorkflowItem workflowItem) throws SQLException { + return poolTaskDAO.findByWorkflowItem(session, workflowItem); } @Override @@ -95,7 +96,8 @@ public PoolTask findByWorkflowIdAndEPerson(Context context, XmlWorkflowItem work //If the user has a is processing or has finished the step for a workflowitem, there is no need to look // for pooltasks for one of their //groups because the user already has the task claimed - if (inProgressUserService.findByWorkflowItemAndEPerson(context, workflowItem, ePerson) != null) { + if (inProgressUserService.findByWorkflowItemAndEPerson(context.getSession(), + workflowItem, ePerson) != null) { return null; } else { //If the user does not have a claimedtask yet, see whether one of the groups of the user has pooltasks @@ -116,7 +118,7 @@ public PoolTask findByWorkflowIdAndEPerson(Context context, XmlWorkflowItem work @Override public void deleteByWorkflowItem(Context context, XmlWorkflowItem xmlWorkflowItem) throws SQLException, AuthorizeException { - List tasks = find(context, xmlWorkflowItem); + List tasks = find(context.getSession(), xmlWorkflowItem); //Use an iterator to remove the tasks ! Iterator iterator = tasks.iterator(); while (iterator.hasNext()) { @@ -140,13 +142,13 @@ public void deleteByEperson(Context context, EPerson ePerson) } @Override - public List findByEPerson(Context context, EPerson ePerson) throws SQLException { - return poolTaskDAO.findByEPerson(context.getSession(), ePerson); + public List findByEPerson(Session session, EPerson ePerson) throws SQLException { + return poolTaskDAO.findByEPerson(session, ePerson); } @Override - public List findByGroup(Context context, Group group) throws SQLException { - return poolTaskDAO.findByGroup(context.getSession(), group); + public List findByGroup(Session session, Group group) throws SQLException { + return poolTaskDAO.findByGroup(session, group); } @Override diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/service/CollectionRoleService.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/service/CollectionRoleService.java index cf0b68c6824a..1736261267cc 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/service/CollectionRoleService.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/service/CollectionRoleService.java @@ -14,6 +14,7 @@ import org.dspace.core.Context; import org.dspace.eperson.Group; import org.dspace.xmlworkflow.storedcomponents.CollectionRole; +import org.hibernate.Session; /** * Service interface class for the CollectionRole object. @@ -42,22 +43,22 @@ public interface CollectionRoleService { */ public final String LEGACY_WORKFLOW_STEP3_NAME = "finaleditor"; - public CollectionRole find(Context context, int id) throws SQLException; + public CollectionRole find(Session session, int id) throws SQLException; - public CollectionRole find(Context context, Collection collection, String role) throws SQLException; + public CollectionRole find(Session session, Collection collection, String role) throws SQLException; /** - * - * @param context - * DSpace context + * + * @param session + * current request's database context. * @param group * EPerson Group * @return the list of CollectionRole assigned to the specified group * @throws SQLException */ - public List findByGroup(Context context, Group group) throws SQLException; + public List findByGroup(Session session, Group group) throws SQLException; - public List findByCollection(Context context, Collection collection) throws SQLException; + public List findByCollection(Session session, Collection collection) throws SQLException; public CollectionRole create(Context context, Collection collection, String roleId, Group group) throws SQLException; diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/service/InProgressUserService.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/service/InProgressUserService.java index d90d73e7c95a..6016ec3c652f 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/service/InProgressUserService.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/service/InProgressUserService.java @@ -15,6 +15,7 @@ import org.dspace.service.DSpaceCRUDService; import org.dspace.xmlworkflow.storedcomponents.InProgressUser; import org.dspace.xmlworkflow.storedcomponents.XmlWorkflowItem; +import org.hibernate.Session; /** * Service interface class for the InProgressUser object. @@ -24,12 +25,12 @@ * @author kevinvandevelde at atmire.com */ public interface InProgressUserService extends DSpaceCRUDService { - public InProgressUser findByWorkflowItemAndEPerson(Context context, XmlWorkflowItem workflowItem, EPerson ePerson) + public InProgressUser findByWorkflowItemAndEPerson(Session session, XmlWorkflowItem workflowItem, EPerson ePerson) throws SQLException; - public List findByEperson(Context context, EPerson ePerson) throws SQLException; + public List findByEperson(Session session, EPerson ePerson) throws SQLException; - public List findByWorkflowItem(Context context, XmlWorkflowItem workflowItem) throws SQLException; + public List findByWorkflowItem(Session session, XmlWorkflowItem workflowItem) throws SQLException; public int getNumberOfInProgressUsers(Context context, XmlWorkflowItem workflowItem) throws SQLException; diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/service/PoolTaskService.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/service/PoolTaskService.java index 7f5ed5e6a068..8ee366db90e3 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/service/PoolTaskService.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/service/PoolTaskService.java @@ -18,6 +18,7 @@ import org.dspace.service.DSpaceCRUDService; import org.dspace.xmlworkflow.storedcomponents.PoolTask; import org.dspace.xmlworkflow.storedcomponents.XmlWorkflowItem; +import org.hibernate.Session; /** * Service interface class for the PoolTask object. @@ -28,13 +29,15 @@ */ public interface PoolTaskService extends DSpaceCRUDService { - public List findAll(Context context) throws SQLException; + public List find(Session session, XmlWorkflowItem workflowItem) throws SQLException; + + public List findAll(Session session) throws SQLException; + + public List findByEPerson(Session session, EPerson ePerson) throws SQLException; public List findByEperson(Context context, EPerson ePerson) throws SQLException, AuthorizeException, IOException; - public List find(Context context, XmlWorkflowItem workflowItem) throws SQLException; - public PoolTask findByWorkflowIdAndEPerson(Context context, XmlWorkflowItem workflowItem, EPerson ePerson) throws SQLException, AuthorizeException, IOException; @@ -43,14 +46,12 @@ public void deleteByWorkflowItem(Context context, XmlWorkflowItem xmlWorkflowIte public void deleteByEperson(Context context, EPerson ePerson) throws SQLException, AuthorizeException, IOException; - public List findByEPerson(Context context, EPerson ePerson) throws SQLException; - /** - * This method will return a list of PoolTask for the given group - * @param context The relevant DSpace context + * This method will return a list of PoolTask for the given group. + * @param session current request's database context. * @param group The Group to be searched on * @return The list of PoolTask objects * @throws SQLException If something goes wrong */ - public List findByGroup(Context context, Group group) throws SQLException; + public List findByGroup(Session session, Group group) throws SQLException; } diff --git a/dspace-api/src/test/java/org/dspace/eperson/EPersonInWorkflowIT.java b/dspace-api/src/test/java/org/dspace/eperson/EPersonInWorkflowIT.java index de4f579da9aa..da2f38274d81 100644 --- a/dspace-api/src/test/java/org/dspace/eperson/EPersonInWorkflowIT.java +++ b/dspace-api/src/test/java/org/dspace/eperson/EPersonInWorkflowIT.java @@ -87,6 +87,7 @@ public class EPersonInWorkflowIT extends AbstractIntegrationTestWithDatabase { * * Other methods can be annotated with @Before here or in subclasses but no * execution order is guaranteed + * @throws java.lang.Exception passed through from superclass. */ @Before @Override @@ -1470,7 +1471,7 @@ public void testDeleteUserWhenMultipleUser6() throws Exception { private void addUserToWorkflowGroup(EPerson ePerson, Collection collection, String roleName) throws SQLException { - List roles = collectionRoleService.findByCollection(context, collection); + List roles = collectionRoleService.findByCollection(context.getSession(), collection); for (CollectionRole role : roles) { if (StringUtils.equals(role.getRoleId(), roleName)) { Group group = role.getGroup(); @@ -1495,7 +1496,7 @@ private void assertRemovalOfEpersonFromWorkflowGroup(EPerson ePerson, Collection boolean deleteError = false; try { - List roles = collectionRoleService.findByCollection(context, collection); + List roles = collectionRoleService.findByCollection(context.getSession(), collection); for (CollectionRole role : roles) { if (StringUtils.equals(role.getRoleId(), roleName)) { Group group = role.getGroup(); diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CollectionRestRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CollectionRestRepository.java index b2fa3bd96ed0..b6c15d6b497e 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CollectionRestRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/CollectionRestRepository.java @@ -695,14 +695,14 @@ public void deleteWorkflowGroupForRole(Context context, HttpServletRequest reque String workflowRole) throws SQLException, WorkflowConfigurationException, AuthorizeException, WorkflowException, IOException { Group group = workflowService.getWorkflowRoleGroup(context, collection, workflowRole, null); - if (!poolTaskService.findByGroup(context, group).isEmpty()) { + if (!poolTaskService.findByGroup(context.getSession(), group).isEmpty()) { // todo: also handle claimed tasks that would become associated with this group once returned to the pool throw new GroupHasPendingWorkflowTasksException(); } if (group == null) { throw new ResourceNotFoundException("The requested Group was not found"); } - List collectionRoles = collectionRoleService.findByGroup(context, group); + List collectionRoles = collectionRoleService.findByGroup(context.getSession(), group); if (!collectionRoles.isEmpty()) { collectionRoles.stream().forEach(collectionRole -> { try { diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/PoolTaskRestRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/PoolTaskRestRepository.java index a901da80d268..c3ea15e30eae 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/PoolTaskRestRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/PoolTaskRestRepository.java @@ -150,7 +150,7 @@ public Page findAllByItem(@Parameter(value = "uuid", required = tr if (xmlWorkflowItem == null) { return null; } else { - poolTasks = poolTaskService.find(context, xmlWorkflowItem); + poolTasks = poolTaskService.find(context.getSession(), xmlWorkflowItem); } return converter.toRestPage(poolTasks, pageable, utils.obtainProjection()); } catch (SQLException e) { diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/WorkflowItemStepLinkRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/WorkflowItemStepLinkRepository.java index 6993a0acd0cf..4e96336b2996 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/WorkflowItemStepLinkRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/WorkflowItemStepLinkRepository.java @@ -67,7 +67,7 @@ public WorkflowStepRest getStep(@Nullable HttpServletRequest request, if (xmlWorkflowItem == null) { throw new ResourceNotFoundException("XmlWorkflowItem with id: " + workflowItemId + " wasn't found"); } - List poolTasks = poolTaskService.find(context, xmlWorkflowItem); + List poolTasks = poolTaskService.find(context.getSession(), xmlWorkflowItem); List claimedTasks = claimedTaskService.find(context.getSession(), xmlWorkflowItem); for (PoolTask poolTask : poolTasks) { return converter.toRest(xmlWorkflowFactory.getStepByName(poolTask.getStepID()), projection); From 88d3324dac5f1a5f0b0ac7be661cbb694b5b6e4e Mon Sep 17 00:00:00 2001 From: "Mark H. Wood" Date: Thu, 21 Sep 2023 10:03:43 -0400 Subject: [PATCH 14/14] Harvesting find* methods. (And missed workflow.) --- .../java/org/dspace/app/harvest/Harvest.java | 10 +++---- .../dspace/content/CollectionServiceImpl.java | 2 +- .../org/dspace/content/ItemServiceImpl.java | 2 +- .../org/dspace/harvest/HarvestScheduler.java | 8 +++-- .../harvest/HarvestSchedulingServiceImpl.java | 2 +- .../org/dspace/harvest/HarvestThread.java | 2 +- .../HarvestedCollectionServiceImpl.java | 29 ++++++++++--------- .../harvest/HarvestedItemServiceImpl.java | 5 ++-- .../java/org/dspace/harvest/OAIHarvester.java | 2 +- .../service/HarvestedCollectionService.java | 25 ++++++++-------- .../harvest/service/HarvestedItemService.java | 5 ++-- .../java/org/dspace/xmlworkflow/Role.java | 2 +- .../xmlworkflow/XmlWorkflowServiceImpl.java | 2 +- .../userassignment/AutoAssignAction.java | 6 ++-- .../WorkflowItemRoleServiceImpl.java | 17 ++++++----- .../XmlWorkflowItemServiceImpl.java | 2 +- .../service/WorkflowItemRoleService.java | 7 +++-- .../HarvestedCollectionRestRepository.java | 8 ++--- ...CollectionHarvestSettingsControllerIT.java | 4 +-- 19 files changed, 75 insertions(+), 65 deletions(-) diff --git a/dspace-api/src/main/java/org/dspace/app/harvest/Harvest.java b/dspace-api/src/main/java/org/dspace/app/harvest/Harvest.java index 5e3edff8a08e..ea5cf60b7b5d 100644 --- a/dspace-api/src/main/java/org/dspace/app/harvest/Harvest.java +++ b/dspace-api/src/main/java/org/dspace/app/harvest/Harvest.java @@ -182,7 +182,7 @@ public void internalRun() throws Exception { throw new UnsupportedOperationException("An eperson must be provided"); } - List harvestedCollections = harvestedCollectionService.findAll(context); + List harvestedCollections = harvestedCollectionService.findAll(context.getSession()); for (HarvestedCollection harvestedCollection : harvestedCollections) { handler.logInfo( "Purging the following collections (deleting items and resetting harvest status): " + @@ -297,7 +297,7 @@ private void configureCollection(Context context, String collectionID, int type, handler.logInfo(String.valueOf(collection.getID())); try { - HarvestedCollection hc = harvestedCollectionService.find(context, collection); + HarvestedCollection hc = harvestedCollectionService.find(context.getSession(), collection); if (hc == null) { hc = harvestedCollectionService.create(context, collection); } @@ -347,7 +347,7 @@ private void purgeCollection(Context context, String collectionID) { } } - HarvestedCollection hc = harvestedCollectionService.find(context, collection); + HarvestedCollection hc = harvestedCollectionService.find(context.getSession(), collection); if (hc != null) { hc.setLastHarvested(null); hc.setHarvestMessage(""); @@ -376,7 +376,7 @@ private void runHarvest(Context context, String collectionID) { OAIHarvester harvester = null; try { Collection collection = resolveCollection(context, collectionID); - HarvestedCollection hc = harvestedCollectionService.find(context, collection); + HarvestedCollection hc = harvestedCollectionService.find(context.getSession(), collection); harvester = new OAIHarvester(context, collection, hc); handler.logInfo("Initialized the harvester successfully"); } catch (HarvestingException hex) { @@ -407,7 +407,7 @@ private void resetHarvesting(Context context) { handler.logInfo("Resetting harvest status flag on all collections... "); try { - List harvestedCollections = harvestedCollectionService.findAll(context); + List harvestedCollections = harvestedCollectionService.findAll(context.getSession()); for (HarvestedCollection harvestedCollection : harvestedCollections) { //hc.setHarvestResult(null,""); harvestedCollection.setHarvestStartTime(null); diff --git a/dspace-api/src/main/java/org/dspace/content/CollectionServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/CollectionServiceImpl.java index 6c99fb3755de..886ecd241a94 100644 --- a/dspace-api/src/main/java/org/dspace/content/CollectionServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/CollectionServiceImpl.java @@ -732,7 +732,7 @@ public void delete(Context context, Collection collection) throws SQLException, "collection_id=" + collection.getID())); // remove harvested collections. - HarvestedCollection hc = harvestedCollectionService.find(context, collection); + HarvestedCollection hc = harvestedCollectionService.find(context.getSession(), collection); if (hc != null) { harvestedCollectionService.delete(context, hc); } diff --git a/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java b/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java index e3e8fc8103b9..4b4349bb0974 100644 --- a/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/content/ItemServiceImpl.java @@ -809,7 +809,7 @@ protected void rawDelete(Context context, Item item) throws AuthorizeException, removeOrcidSynchronizationStuff(context, item); // Also delete the item if it appears in a harvested collection. - HarvestedItem hi = harvestedItemService.find(context, item); + HarvestedItem hi = harvestedItemService.find(context.getSession(), item); if (hi != null) { harvestedItemService.delete(context, hi); diff --git a/dspace-api/src/main/java/org/dspace/harvest/HarvestScheduler.java b/dspace-api/src/main/java/org/dspace/harvest/HarvestScheduler.java index 5d568bc473b0..8312bc49a376 100644 --- a/dspace-api/src/main/java/org/dspace/harvest/HarvestScheduler.java +++ b/dspace-api/src/main/java/org/dspace/harvest/HarvestScheduler.java @@ -168,7 +168,9 @@ protected void scheduleLoop() { case HARVESTER_INTERRUPT_INSERT_THREAD: interrupt = HARVESTER_INTERRUPT_NONE; addThread(mainContext, harvestedCollectionService - .find(mainContext, collectionService.find(mainContext.getSession(), interruptValue))); + .find(mainContext.getSession(), + collectionService.find(mainContext.getSession(), + interruptValue))); interruptValue = null; break; case HARVESTER_INTERRUPT_PAUSE: @@ -197,7 +199,7 @@ protected void scheduleLoop() { status = HARVESTER_STATUS_RUNNING; // Stage #1: if something is ready for harvest, push it onto the ready stack, mark it as "queued" - List cids = harvestedCollectionService.findReady(mainContext); + List cids = harvestedCollectionService.findReady(mainContext.getSession()); log.info("Collections ready for immediate harvest: " + cids.toString()); for (HarvestedCollection harvestedCollection : cids) { @@ -247,7 +249,7 @@ protected void scheduleLoop() { // Stage #3: figure out how long until the next iteration and wait try { Context tempContext = new Context(); - HarvestedCollection hc = harvestedCollectionService.findOldestHarvest(tempContext); + HarvestedCollection hc = harvestedCollectionService.findOldestHarvest(tempContext.getSession()); int harvestInterval = configurationService.getIntProperty("oai.harvester.harvestFrequency"); if (harvestInterval == 0) { diff --git a/dspace-api/src/main/java/org/dspace/harvest/HarvestSchedulingServiceImpl.java b/dspace-api/src/main/java/org/dspace/harvest/HarvestSchedulingServiceImpl.java index 543ef4273de2..498fda9f9281 100644 --- a/dspace-api/src/main/java/org/dspace/harvest/HarvestSchedulingServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/harvest/HarvestSchedulingServiceImpl.java @@ -79,7 +79,7 @@ public void resumeScheduler() throws SQLException, AuthorizeException { @Override public void resetScheduler() throws SQLException, AuthorizeException, IOException { Context context = new Context(); - List harvestedCollections = harvestedCollectionService.findAll(context); + List harvestedCollections = harvestedCollectionService.findAll(context.getSession()); for (HarvestedCollection hc : harvestedCollections) { hc.setHarvestStartTime(null); hc.setHarvestStatus(HarvestedCollection.STATUS_READY); diff --git a/dspace-api/src/main/java/org/dspace/harvest/HarvestThread.java b/dspace-api/src/main/java/org/dspace/harvest/HarvestThread.java index b4c841d6c70d..b7af73ba7adf 100644 --- a/dspace-api/src/main/java/org/dspace/harvest/HarvestThread.java +++ b/dspace-api/src/main/java/org/dspace/harvest/HarvestThread.java @@ -49,7 +49,7 @@ private void runHarvest() { try { context = new Context(); dso = collectionService.find(context.getSession(), collectionId); - hc = harvestedCollectionService.find(context, dso); + hc = harvestedCollectionService.find(context.getSession(), dso); try { dso = hc.getCollection(); diff --git a/dspace-api/src/main/java/org/dspace/harvest/HarvestedCollectionServiceImpl.java b/dspace-api/src/main/java/org/dspace/harvest/HarvestedCollectionServiceImpl.java index 87efbfb3fc5b..8bb4c1902133 100644 --- a/dspace-api/src/main/java/org/dspace/harvest/HarvestedCollectionServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/harvest/HarvestedCollectionServiceImpl.java @@ -27,6 +27,7 @@ import org.dspace.harvest.service.HarvestedCollectionService; import org.dspace.services.ConfigurationService; import org.dspace.services.factory.DSpaceServicesFactory; +import org.hibernate.Session; import org.jdom2.Document; import org.jdom2.Element; import org.jdom2.Namespace; @@ -56,8 +57,8 @@ protected HarvestedCollectionServiceImpl() { } @Override - public HarvestedCollection find(Context context, Collection collection) throws SQLException { - return harvestedCollectionDAO.findByCollection(context.getSession(), collection); + public HarvestedCollection find(Session session, Collection collection) throws SQLException { + return harvestedCollectionDAO.findByCollection(session, collection); } @Override @@ -72,7 +73,7 @@ public HarvestedCollection create(Context context, Collection collection) throws @Override public boolean isHarvestable(Context context, Collection collection) throws SQLException { - HarvestedCollection hc = find(context, collection); + HarvestedCollection hc = find(context.getSession(), collection); if (hc != null && hc.getHarvestType() > 0 && hc.getOaiSource() != null && hc.getOaiSetId() != null && hc.getHarvestStatus() != HarvestedCollection.STATUS_UNKNOWN_ERROR) { return true; @@ -93,7 +94,7 @@ public boolean isHarvestable(HarvestedCollection harvestedCollection) throws SQL @Override public boolean isReady(Context context, Collection collection) throws SQLException { - HarvestedCollection hc = find(context, collection); + HarvestedCollection hc = find(context.getSession(), collection); return isReady(hc); } @@ -109,12 +110,12 @@ public boolean isReady(HarvestedCollection harvestedCollection) throws SQLExcept } @Override - public List findAll(Context context) throws SQLException { - return harvestedCollectionDAO.findAll(context.getSession(), HarvestedCollection.class); + public List findAll(Session session) throws SQLException { + return harvestedCollectionDAO.findAll(session, HarvestedCollection.class); } @Override - public List findReady(Context context) throws SQLException { + public List findReady(Session session) throws SQLException { ConfigurationService configurationService = DSpaceServicesFactory.getInstance().getConfigurationService(); int harvestInterval = configurationService.getIntProperty("oai.harvester.harvestFrequency"); @@ -141,28 +142,28 @@ public List findReady(Context context) throws SQLException int[] statuses = new int[] {HarvestedCollection.STATUS_READY, HarvestedCollection.STATUS_OAI_ERROR}; return harvestedCollectionDAO - .findByLastHarvestedAndHarvestTypeAndHarvestStatusesAndHarvestTime(context.getSession(), startTime, + .findByLastHarvestedAndHarvestTypeAndHarvestStatusesAndHarvestTime(session, startTime, HarvestedCollection.TYPE_NONE, statuses, HarvestedCollection.STATUS_BUSY, expirationTime); } @Override - public List findByStatus(Context context, int status) throws SQLException { - return harvestedCollectionDAO.findByStatus(context.getSession(), status); + public List findByStatus(Session session, int status) throws SQLException { + return harvestedCollectionDAO.findByStatus(session, status); } @Override - public HarvestedCollection findOldestHarvest(Context context) throws SQLException { + public HarvestedCollection findOldestHarvest(Session session) throws SQLException { return harvestedCollectionDAO - .findByStatusAndMinimalTypeOrderByLastHarvestedAsc(context.getSession(), HarvestedCollection.STATUS_READY, + .findByStatusAndMinimalTypeOrderByLastHarvestedAsc(session, HarvestedCollection.STATUS_READY, HarvestedCollection.TYPE_NONE, 1); } @Override - public HarvestedCollection findNewestHarvest(Context context) throws SQLException { + public HarvestedCollection findNewestHarvest(Session session) throws SQLException { return harvestedCollectionDAO - .findByStatusAndMinimalTypeOrderByLastHarvestedDesc(context.getSession(), HarvestedCollection.STATUS_READY, + .findByStatusAndMinimalTypeOrderByLastHarvestedDesc(session, HarvestedCollection.STATUS_READY, HarvestedCollection.TYPE_NONE, 1); } diff --git a/dspace-api/src/main/java/org/dspace/harvest/HarvestedItemServiceImpl.java b/dspace-api/src/main/java/org/dspace/harvest/HarvestedItemServiceImpl.java index a7d0fd2aec97..05e501585a11 100644 --- a/dspace-api/src/main/java/org/dspace/harvest/HarvestedItemServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/harvest/HarvestedItemServiceImpl.java @@ -14,6 +14,7 @@ import org.dspace.core.Context; import org.dspace.harvest.dao.HarvestedItemDAO; import org.dspace.harvest.service.HarvestedItemService; +import org.hibernate.Session; import org.springframework.beans.factory.annotation.Autowired; /** @@ -33,8 +34,8 @@ protected HarvestedItemServiceImpl() { } @Override - public HarvestedItem find(Context context, Item item) throws SQLException { - return harvestedItemDAO.findByItem(context.getSession(), item); + public HarvestedItem find(Session session, Item item) throws SQLException { + return harvestedItemDAO.findByItem(session, item); } @Override diff --git a/dspace-api/src/main/java/org/dspace/harvest/OAIHarvester.java b/dspace-api/src/main/java/org/dspace/harvest/OAIHarvester.java index 5aeb40bdd912..0a0690df0180 100644 --- a/dspace-api/src/main/java/org/dspace/harvest/OAIHarvester.java +++ b/dspace-api/src/main/java/org/dspace/harvest/OAIHarvester.java @@ -543,7 +543,7 @@ protected void processRecord(Element record, String OREPrefix, final long curren log.debug("Item " + item.getHandle() + " was found locally. Using it to harvest " + itemOaiID + "."); // FIXME: check for null pointer if for some odd reason we don't have a matching hi - hi = harvestedItemService.find(ourContext, item); + hi = harvestedItemService.find(ourContext.getSession(), item); // Compare last-harvest on the item versus the last time the item was updated on the OAI provider side // If ours is more recent, forgo this item, since it's probably a left-over from a previous harvesting diff --git a/dspace-api/src/main/java/org/dspace/harvest/service/HarvestedCollectionService.java b/dspace-api/src/main/java/org/dspace/harvest/service/HarvestedCollectionService.java index 7df961a9c2ae..0f41cc13d849 100644 --- a/dspace-api/src/main/java/org/dspace/harvest/service/HarvestedCollectionService.java +++ b/dspace-api/src/main/java/org/dspace/harvest/service/HarvestedCollectionService.java @@ -13,6 +13,7 @@ import org.dspace.content.Collection; import org.dspace.core.Context; import org.dspace.harvest.HarvestedCollection; +import org.hibernate.Session; /** * Service interface class for the HarvestedCollection object. @@ -26,12 +27,12 @@ public interface HarvestedCollectionService { /** * Find the harvest settings corresponding to this collection * - * @param context The relevant DSpace Context. + * @param session current request's database context. * @param collection target collection * @return a HarvestInstance object corresponding to this collection's settings, null if not found. * @throws SQLException if database error */ - public HarvestedCollection find(Context context, Collection collection) throws SQLException; + public HarvestedCollection find(Session session, Collection collection) throws SQLException; /** * Create a new harvest instance row for a specified collection. @@ -88,49 +89,49 @@ public interface HarvestedCollectionService { /** * Find all collections that are set up for harvesting * - * @param context The relevant DSpace Context. + * @param session current request's database context. * @return list of collection id's * @throws SQLException if database error */ - public List findAll(Context context) throws SQLException; + public List findAll(Session session) throws SQLException; /** * Find all collections that are ready for harvesting * - * @param context The relevant DSpace Context. + * @param session The relevant DSpace Context. * @return list of collection id's * @throws SQLException if database error */ - public List findReady(Context context) throws SQLException; + public List findReady(Session session) throws SQLException; /** * Find all collections with the specified status flag. * - * @param context The relevant DSpace Context. + * @param session current request's database context. * @param status see HarvestInstance.STATUS_... * @return all collections with the specified status flag * @throws SQLException if database error */ - public List findByStatus(Context context, int status) throws SQLException; + public List findByStatus(Session session, int status) throws SQLException; /** * Find the collection that was harvested the longest time ago. * - * @param context The relevant DSpace Context. + * @param session current request's database context. * @return collection that was harvested the longest time ago * @throws SQLException if database error */ - public HarvestedCollection findOldestHarvest(Context context) throws SQLException; + public HarvestedCollection findOldestHarvest(Session session) throws SQLException; /** * Find the collection that was harvested most recently. * - * @param context The relevant DSpace Context. + * @param session current request's database context. * @return collection that was harvested most recently * @throws SQLException if database error */ - public HarvestedCollection findNewestHarvest(Context context) throws SQLException; + public HarvestedCollection findNewestHarvest(Session session) throws SQLException; public void delete(Context context, HarvestedCollection harvestedCollection) throws SQLException; diff --git a/dspace-api/src/main/java/org/dspace/harvest/service/HarvestedItemService.java b/dspace-api/src/main/java/org/dspace/harvest/service/HarvestedItemService.java index 4b7b106f424c..fd4e3eb809ea 100644 --- a/dspace-api/src/main/java/org/dspace/harvest/service/HarvestedItemService.java +++ b/dspace-api/src/main/java/org/dspace/harvest/service/HarvestedItemService.java @@ -13,6 +13,7 @@ import org.dspace.content.Item; import org.dspace.core.Context; import org.dspace.harvest.HarvestedItem; +import org.hibernate.Session; /** * Service interface class for the HarvestedItem object. @@ -26,12 +27,12 @@ public interface HarvestedItemService { /** * Find the harvest parameters corresponding to the specified DSpace item * - * @param context The relevant DSpace Context. + * @param session current request's database context. * @param item target item * @return a HarvestedItem object corresponding to this item, null if not found. * @throws SQLException An exception that provides information on a database access error or other errors. */ - public HarvestedItem find(Context context, Item item) throws SQLException; + public HarvestedItem find(Session session, Item item) throws SQLException; /** * Retrieve a DSpace Item that corresponds to this particular combination of owning collection and OAI ID. diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/Role.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/Role.java index e80941157110..d0dc4753f993 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/Role.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/Role.java @@ -101,7 +101,7 @@ public RoleMembers getMembers(Context context, XmlWorkflowItem wfi) throws SQLEx } return new RoleMembers(); } else { - List roles = workflowItemRoleService.find(context, wfi, id); + List roles = workflowItemRoleService.find(context.getSession(), wfi, id); RoleMembers assignees = new RoleMembers(); for (WorkflowItemRole itemRole : roles) { EPerson user = itemRole.getEPerson(); diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/XmlWorkflowServiceImpl.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/XmlWorkflowServiceImpl.java index 2449176016d9..ee9ca7117fdc 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/XmlWorkflowServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/XmlWorkflowServiceImpl.java @@ -150,7 +150,7 @@ public List getEPersonDeleteConstraints(Context context, EPerson ePerson if (CollectionUtils.isNotEmpty(poolTaskService.findByEPerson(context.getSession(), ePerson))) { constraints.add("cwf_pooltask"); } - if (CollectionUtils.isNotEmpty(workflowItemRoleService.findByEPerson(context, ePerson))) { + if (CollectionUtils.isNotEmpty(workflowItemRoleService.findByEPerson(context.getSession(), ePerson))) { constraints.add("cwf_workflowitemrole"); } return constraints; diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/state/actions/userassignment/AutoAssignAction.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/state/actions/userassignment/AutoAssignAction.java index e216b528f5bd..f47a84b473e8 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/state/actions/userassignment/AutoAssignAction.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/state/actions/userassignment/AutoAssignAction.java @@ -68,7 +68,8 @@ public ActionResult execute(Context c, XmlWorkflowItem wfi, Step step, HttpServl } if (nextAction != null) { - List workflowItemRoles = workflowItemRoleService.find(c, wfi, role.getId()); + List workflowItemRoles + = workflowItemRoleService.find(c.getSession(), wfi, role.getId()); for (WorkflowItemRole workflowItemRole : workflowItemRoles) { if (workflowItemRole.getEPerson() != null) { createTaskForEPerson(c, wfi, step, nextAction, workflowItemRole.getEPerson()); @@ -153,7 +154,8 @@ public boolean isValidUserSelection(Context context, XmlWorkflowItem wfi, boolea //This is an automatic assign action, it can never have a user interface Role role = getParent().getStep().getRole(); if (role != null) { - List workflowItemRoles = workflowItemRoleService.find(context, wfi, role.getId()); + List workflowItemRoles + = workflowItemRoleService.find(context.getSession(), wfi, role.getId()); if (workflowItemRoles.isEmpty()) { throw new WorkflowConfigurationException( "The next step is invalid, since it doesn't have any individual item roles"); diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/WorkflowItemRoleServiceImpl.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/WorkflowItemRoleServiceImpl.java index 544dcd75b96d..bf01455affc5 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/WorkflowItemRoleServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/WorkflowItemRoleServiceImpl.java @@ -38,20 +38,21 @@ protected WorkflowItemRoleServiceImpl() { } @Override - public List find(Context context, XmlWorkflowItem workflowItem, String role) throws SQLException { - return workflowItemRoleDAO.findByWorkflowItemAndRole(context.getSession(), workflowItem, role); + public List find(Session session, XmlWorkflowItem workflowItem, String role) throws SQLException { + return workflowItemRoleDAO.findByWorkflowItemAndRole(session, workflowItem, role); } @Override - public List findByWorkflowItem(Context context, XmlWorkflowItem xmlWorkflowItem) + public List findByWorkflowItem(Session session, XmlWorkflowItem xmlWorkflowItem) throws SQLException { - return workflowItemRoleDAO.findByWorkflowItem(context.getSession(), xmlWorkflowItem); + return workflowItemRoleDAO.findByWorkflowItem(session, xmlWorkflowItem); } @Override public void deleteForWorkflowItem(Context context, XmlWorkflowItem xmlWorkflowItem) throws SQLException, AuthorizeException { - Iterator workflowItemRoles = findByWorkflowItem(context, xmlWorkflowItem).iterator(); + Iterator workflowItemRoles + = findByWorkflowItem(context.getSession(), xmlWorkflowItem).iterator(); while (workflowItemRoles.hasNext()) { WorkflowItemRole workflowItemRole = workflowItemRoles.next(); workflowItemRoles.remove(); @@ -61,7 +62,7 @@ public void deleteForWorkflowItem(Context context, XmlWorkflowItem xmlWorkflowIt @Override public void deleteByEPerson(Context context, EPerson ePerson) throws SQLException, AuthorizeException { - Iterator workflowItemRoles = findByEPerson(context, ePerson).iterator(); + Iterator workflowItemRoles = findByEPerson(context.getSession(), ePerson).iterator(); while (workflowItemRoles.hasNext()) { WorkflowItemRole workflowItemRole = workflowItemRoles.next(); workflowItemRoles.remove(); @@ -70,8 +71,8 @@ public void deleteByEPerson(Context context, EPerson ePerson) throws SQLExceptio } @Override - public List findByEPerson(Context context, EPerson ePerson) throws SQLException { - return workflowItemRoleDAO.findByEPerson(context.getSession(), ePerson); + public List findByEPerson(Session session, EPerson ePerson) throws SQLException { + return workflowItemRoleDAO.findByEPerson(session, ePerson); } @Override diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/XmlWorkflowItemServiceImpl.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/XmlWorkflowItemServiceImpl.java index 6cfcb594f7dd..a53174d90663 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/XmlWorkflowItemServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/XmlWorkflowItemServiceImpl.java @@ -182,7 +182,7 @@ public void update(Context context, XmlWorkflowItem workflowItem) throws SQLExce @Override public void deleteWrapper(Context context, XmlWorkflowItem workflowItem) throws SQLException, AuthorizeException { - List roles = workflowItemRoleService.findByWorkflowItem(context, workflowItem); + List roles = workflowItemRoleService.findByWorkflowItem(context.getSession(), workflowItem); Iterator workflowItemRoleIterator = roles.iterator(); while (workflowItemRoleIterator.hasNext()) { WorkflowItemRole workflowItemRole = workflowItemRoleIterator.next(); diff --git a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/service/WorkflowItemRoleService.java b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/service/WorkflowItemRoleService.java index 9f909231f176..f4c0b39a10d8 100644 --- a/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/service/WorkflowItemRoleService.java +++ b/dspace-api/src/main/java/org/dspace/xmlworkflow/storedcomponents/service/WorkflowItemRoleService.java @@ -16,6 +16,7 @@ import org.dspace.service.DSpaceCRUDService; import org.dspace.xmlworkflow.storedcomponents.WorkflowItemRole; import org.dspace.xmlworkflow.storedcomponents.XmlWorkflowItem; +import org.hibernate.Session; /** * Service interface class for the WorkflowItemRole object. @@ -26,14 +27,14 @@ */ public interface WorkflowItemRoleService extends DSpaceCRUDService { - public List find(Context context, XmlWorkflowItem workflowItem, String role) throws SQLException; + public List find(Session session, XmlWorkflowItem workflowItem, String role) throws SQLException; - public List findByWorkflowItem(Context context, XmlWorkflowItem xmlWorkflowItem) + public List findByWorkflowItem(Session session, XmlWorkflowItem xmlWorkflowItem) throws SQLException; public void deleteForWorkflowItem(Context context, XmlWorkflowItem wfi) throws SQLException, AuthorizeException; public void deleteByEPerson(Context context, EPerson ePerson) throws SQLException, AuthorizeException; - public List findByEPerson(Context context, EPerson ePerson) throws SQLException; + public List findByEPerson(Session session, EPerson ePerson) throws SQLException; } diff --git a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/HarvestedCollectionRestRepository.java b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/HarvestedCollectionRestRepository.java index ccacc24418fd..9014d636fe42 100644 --- a/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/HarvestedCollectionRestRepository.java +++ b/dspace-server-webapp/src/main/java/org/dspace/app/rest/repository/HarvestedCollectionRestRepository.java @@ -51,7 +51,7 @@ public HarvestedCollectionRest findOne(Collection collection) throws SQLExceptio return null; } - HarvestedCollection harvestedCollection = harvestedCollectionService.find(context, collection); + HarvestedCollection harvestedCollection = harvestedCollectionService.find(context.getSession(), collection); List> configs = OAIHarvester.getAvailableMetadataFormats(); return harvestedCollectionConverter.fromModel(harvestedCollection, collection, configs, utils.obtainProjection()); @@ -69,7 +69,7 @@ public HarvestedCollectionRest update(Context context, HttpServletRequest request, Collection collection) throws SQLException { HarvestedCollectionRest harvestedCollectionRest = parseHarvestedCollectionRest(context, request, collection); - HarvestedCollection harvestedCollection = harvestedCollectionService.find(context, collection); + HarvestedCollection harvestedCollection = harvestedCollectionService.find(context.getSession(), collection); // Delete harvestedCollectionService object if harvest type is not set if (harvestedCollectionRest.getHarvestType() == HarvestTypeEnum.NONE.getValue() @@ -80,13 +80,13 @@ public HarvestedCollectionRest update(Context context, } else if (harvestedCollectionRest.getHarvestType() != HarvestTypeEnum.NONE.getValue()) { List errors = testHarvestSettings(harvestedCollectionRest); - if (errors.size() == 0) { + if (errors.isEmpty()) { if (harvestedCollection == null) { harvestedCollection = harvestedCollectionService.create(context, collection); } updateCollectionHarvestSettings(context, harvestedCollection, harvestedCollectionRest); - harvestedCollection = harvestedCollectionService.find(context, collection); + harvestedCollection = harvestedCollectionService.find(context.getSession(), collection); List> configs = OAIHarvester.getAvailableMetadataFormats(); return harvestedCollectionConverter.fromModel(harvestedCollection, collection, configs, diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/CollectionHarvestSettingsControllerIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/CollectionHarvestSettingsControllerIT.java index e7479786e7b1..dbcb5edbcc4a 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/CollectionHarvestSettingsControllerIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/CollectionHarvestSettingsControllerIT.java @@ -241,7 +241,7 @@ public void PutWorksWithStandardSettings() throws Exception { .content(json.toString())) .andExpect(status().isOk()); - HarvestedCollection harvestedCollection = harvestedCollectionService.find(context, collection); + HarvestedCollection harvestedCollection = harvestedCollectionService.find(context.getSession(), collection); assertTrue(harvestedCollection.getHarvestType() == HarvestTypeEnum.valueOf(json.getString("harvest_type")).getValue()); @@ -276,7 +276,7 @@ public void PutHarvestSettingsDeletedIfHarvestTypeIsNone() throws Exception { .content(json.toString())) .andExpect(status().isOk()); - HarvestedCollection harvestedCollection = harvestedCollectionService.find(context, collection); + HarvestedCollection harvestedCollection = harvestedCollectionService.find(context.getSession(), collection); assertNull(harvestedCollection); }