DS-3004: Refactored GroupService so that it doesn't use dc.title anymore to search for a group by name

This commit is contained in:
Tom Desair
2016-02-26 14:52:56 +01:00
parent 5798f58410
commit 382d9421b7
13 changed files with 205 additions and 102 deletions

View File

@@ -7,22 +7,7 @@
*/ */
package org.dspace.content.packager; package org.dspace.content.packager;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PipedInputStream;
import java.io.PipedOutputStream;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import javax.xml.stream.XMLOutputFactory;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamWriter;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
import org.dspace.authorize.AuthorizeException; import org.dspace.authorize.AuthorizeException;
import org.dspace.content.Collection; import org.dspace.content.Collection;
import org.dspace.content.Community; import org.dspace.content.Community;
@@ -33,12 +18,19 @@ import org.dspace.core.Context;
import org.dspace.eperson.EPerson; import org.dspace.eperson.EPerson;
import org.dspace.eperson.Group; import org.dspace.eperson.Group;
import org.dspace.eperson.PasswordHash; import org.dspace.eperson.PasswordHash;
import org.dspace.eperson.factory.EPersonServiceFactory; import org.dspace.eperson.factory.EPersonServiceFactory;
import org.dspace.eperson.service.EPersonService; import org.dspace.eperson.service.EPersonService;
import org.dspace.eperson.service.GroupService; import org.dspace.eperson.service.GroupService;
import org.jdom.Namespace; import org.jdom.Namespace;
import javax.xml.stream.XMLOutputFactory;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamWriter;
import java.io.*;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
/** /**
* Plugin to export all Group and EPerson objects in XML, perhaps for reloading. * Plugin to export all Group and EPerson objects in XML, perhaps for reloading.
* *
@@ -549,7 +541,7 @@ public class RoleDisseminator implements PackageDisseminator
{ {
// @TODO FIXME -- if there was a way to ONLY export Groups which are NOT // @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! // associated with a Community or Collection, we should be doing that instead!
return groupService.findAll(context, GroupService.NAME); return groupService.findAll(context, null);
} }
else if(object.getType()==Constants.COMMUNITY) else if(object.getType()==Constants.COMMUNITY)
{ {

View File

@@ -16,7 +16,6 @@ import org.dspace.authorize.service.AuthorizeService;
import org.dspace.content.DSpaceObject; import org.dspace.content.DSpaceObject;
import org.dspace.content.DSpaceObjectServiceImpl; import org.dspace.content.DSpaceObjectServiceImpl;
import org.dspace.content.MetadataField; import org.dspace.content.MetadataField;
import org.dspace.content.MetadataSchema;
import org.dspace.content.service.CollectionService; import org.dspace.content.service.CollectionService;
import org.dspace.content.service.CommunityService; import org.dspace.content.service.CommunityService;
import org.dspace.core.Constants; import org.dspace.core.Constants;
@@ -50,9 +49,6 @@ public class GroupServiceImpl extends DSpaceObjectServiceImpl<Group> implements
@Autowired(required = true) @Autowired(required = true)
protected GroupDAO groupDAO; protected GroupDAO groupDAO;
// @Autowired(required = true)
// protected Group2GroupDAO group2GroupDAO;
@Autowired(required = true) @Autowired(required = true)
protected Group2GroupCacheDAO group2GroupCacheDAO; protected Group2GroupCacheDAO group2GroupCacheDAO;
@@ -275,22 +271,25 @@ public class GroupServiceImpl extends DSpaceObjectServiceImpl<Group> implements
return groupDAO.findByName(context, name); return groupDAO.findByName(context, name);
} }
/** DEPRECATED: Please use findAll(Context context, List<MetadataField> metadataSortFields) instead */
@Override @Override
public List<Group> findAll(Context context, int sortField) throws SQLException @Deprecated
{ public List<Group> findAll(Context context, int sortField) throws SQLException {
List<MetadataField> metadataFieldsSort = new ArrayList<>(); if(sortField == GroupService.NAME) {
switch (sortField) return findAll(context, null);
{ } else {
case NAME: throw new UnsupportedOperationException("You can only find all groups sorted by name with this method");
metadataFieldsSort.add(metadataFieldService.findByElement(context, MetadataSchema.DC_SCHEMA, "title", null)); }
break;
default:
metadataFieldsSort.add(metadataFieldService.findByElement(context, MetadataSchema.DC_SCHEMA, "title", null));
} }
return groupDAO.findAll(context, metadataFieldsSort, null); @Override
public List<Group> findAll(Context context, List<MetadataField> metadataSortFields) throws SQLException
{
if(CollectionUtils.isEmpty(metadataSortFields)) {
return groupDAO.findAll(context);
} else {
return groupDAO.findAll(context, metadataSortFields);
}
} }
@Override @Override
@@ -672,4 +671,9 @@ public class GroupServiceImpl extends DSpaceObjectServiceImpl<Group> implements
public int countTotal(Context context) throws SQLException { public int countTotal(Context context) throws SQLException {
return groupDAO.countRows(context); return groupDAO.countRows(context);
} }
@Override
public List<Group> findByMetadataField(final Context context, final String searchValue, final MetadataField metadataField) throws SQLException {
return groupDAO.findByMetadataField(context, searchValue, metadataField);
}
} }

View File

@@ -28,23 +28,104 @@ import java.util.UUID;
*/ */
public interface GroupDAO extends DSpaceObjectDAO<Group>, DSpaceObjectLegacySupportDAO<Group> { public interface GroupDAO extends DSpaceObjectDAO<Group>, DSpaceObjectLegacySupportDAO<Group> {
Group findByMetadataField(Context context, String searchValue, MetadataField metadataField) throws SQLException; /**
* 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 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
*/
List<Group> findByMetadataField(Context context, String searchValue, MetadataField metadataField) throws SQLException;
List<Group> findAll(Context context, List<MetadataField> metadataFields, String sortColumn) throws SQLException; /**
* Find all groups ordered by the specified metadata fields ascending
* @param context The DSpace context
* @param sortMetadataFields The metadata fields to sort on
* @return A list of all groups, ordered by metadata fields
* @throws SQLException
*/
List<Group> findAll(Context context, List<MetadataField> sortMetadataFields) throws SQLException;
/**
* Find all groups ordered by name ascending
* @param context The DSpace context
* @return A list of all groups, ordered by name
* @throws SQLException
*/
List<Group> findAll(Context context) throws SQLException;
/**
* Find all groups that the given ePerson belongs to
* @param context The DSpace context
* @param ePerson The EPerson to match
* @return A list of all groups to which the given EPerson belongs
* @throws SQLException
*/
List<Group> findByEPerson(Context context, EPerson ePerson) throws SQLException; List<Group> findByEPerson(Context context, EPerson ePerson) throws SQLException;
/**
* Get a list of all direct parent - child group relations in the database
* @param context The DSpace context
* @param flushQueries Flush all pending queries
* @return A list of pairs indicating parent - child
* @throws SQLException
*/
List<Pair<UUID, UUID>> getGroup2GroupResults(Context context, boolean flushQueries) throws SQLException; List<Pair<UUID, UUID>> getGroup2GroupResults(Context context, boolean flushQueries) throws SQLException;
/**
* Return all empty groups
* @param context The DSpace context
* @return All empty groups
* @throws SQLException
*/
List<Group> getEmptyGroups(Context context) throws SQLException; List<Group> getEmptyGroups(Context context) throws SQLException;
/**
* Count the number of groups in DSpace
* @param context The DSpace context
* @return The number of groups
* @throws SQLException
*/
int countRows(Context context) throws SQLException; int countRows(Context context) throws SQLException;
/**
* Find a group by its name (exact match)
* @param context The DSpace context
* @param name The name of the group to look for
* @return The group with the specified name
* @throws SQLException
*/
Group findByName(Context context, String name) throws SQLException; Group findByName(Context context, String name) throws SQLException;
/**
* Find a group by its name (fuzzy match)
* @param context The DSpace 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
*/
List<Group> findByNameLike(Context context, 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 groupName Part of the group's name to search for
* @return The number of matching groups
* @throws SQLException
*/
int countByNameLike(Context context, String groupName) throws SQLException;
/**
* Find a group by its name and the membership of the given EPerson
* @param context The DSpace context
* @param groupName The name 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
*/
Group findByNameAndEPerson(Context context, String groupName, EPerson ePerson) throws SQLException; Group findByNameAndEPerson(Context context, String groupName, EPerson ePerson) throws SQLException;
List<Group> findByNameLike(Context context, String groupIdentifier, int offset, int limit) throws SQLException;
int countByNameLike(Context context, String groupIdentifier) throws SQLException;
} }

View File

@@ -38,6 +38,8 @@ public class Group2GroupCacheDAOImpl extends AbstractHibernateDAO<Group2GroupCac
public List<Group2GroupCache> findByParent(Context context, Group group) throws SQLException { public List<Group2GroupCache> findByParent(Context context, Group group) throws SQLException {
Criteria criteria = createCriteria(context, Group2GroupCache.class); Criteria criteria = createCriteria(context, Group2GroupCache.class);
criteria.add(Restrictions.eq("parent", group)); criteria.add(Restrictions.eq("parent", group));
criteria.setCacheable(true);
return list(criteria); return list(criteria);
} }
@@ -52,6 +54,8 @@ public class Group2GroupCacheDAOImpl extends AbstractHibernateDAO<Group2GroupCac
} }
criteria.add(orDisjunction); criteria.add(orDisjunction);
criteria.setCacheable(true);
return list(criteria); return list(criteria);
} }
@@ -60,6 +64,7 @@ public class Group2GroupCacheDAOImpl extends AbstractHibernateDAO<Group2GroupCac
Criteria criteria = createCriteria(context, Group2GroupCache.class); Criteria criteria = createCriteria(context, Group2GroupCache.class);
criteria.add(Restrictions.eq("parent", parent)); criteria.add(Restrictions.eq("parent", parent));
criteria.add(Restrictions.eq("child", child)); criteria.add(Restrictions.eq("child", child));
criteria.setCacheable(true);
return uniqueResult(criteria); return uniqueResult(criteria);
} }

View File

@@ -37,7 +37,7 @@ public class GroupDAOImpl extends AbstractHibernateDSODAO<Group> implements Grou
} }
@Override @Override
public Group findByMetadataField(Context context, String searchValue, MetadataField metadataField) throws SQLException public List<Group> findByMetadataField(Context context, String searchValue, MetadataField metadataField) throws SQLException
{ {
StringBuilder queryBuilder = new StringBuilder(); StringBuilder queryBuilder = new StringBuilder();
String groupTableName = "g"; String groupTableName = "g";
@@ -50,26 +50,35 @@ public class GroupDAOImpl extends AbstractHibernateDSODAO<Group> implements Grou
query.setParameter(metadataField.toString(), metadataField.getFieldID()); query.setParameter(metadataField.toString(), metadataField.getFieldID());
query.setParameter("queryParam", searchValue); query.setParameter("queryParam", searchValue);
return uniqueResult(query); return list(query);
} }
@Override @Override
public List<Group> findAll(Context context, List<MetadataField> sortFields, String sortColumn) throws SQLException public List<Group> findAll(Context context, List<MetadataField> sortMetadataFields) throws SQLException
{ {
StringBuilder queryBuilder = new StringBuilder(); StringBuilder queryBuilder = new StringBuilder();
String groupTableName = "g"; String groupTableName = "g";
queryBuilder.append("SELECT ").append(groupTableName).append(" FROM Group as ").append(groupTableName); queryBuilder.append("SELECT ").append(groupTableName).append(" FROM Group as ").append(groupTableName);
addMetadataLeftJoin(queryBuilder, groupTableName, sortFields); addMetadataLeftJoin(queryBuilder, groupTableName, sortMetadataFields);
addMetadataSortQuery(queryBuilder, sortFields, Collections.singletonList(sortColumn)); addMetadataSortQuery(queryBuilder, sortMetadataFields, null);
Query query = createQuery(context, queryBuilder.toString()); Query query = createQuery(context, queryBuilder.toString());
for (MetadataField sortField : sortFields) { for (MetadataField sortField : sortMetadataFields) {
query.setParameter(sortField.toString(), sortField.getFieldID()); query.setParameter(sortField.toString(), sortField.getFieldID());
} }
return list(query); return list(query);
} }
@Override
public List<Group> findAll(Context context) throws SQLException {
Query query = createQuery(context,
"SELECT g FROM Group g ORDER BY g.name ASC");
query.setCacheable(true);
return list(query);
}
@Override @Override
public List<Group> findByEPerson(Context context, EPerson ePerson) throws SQLException { public List<Group> findByEPerson(Context context, EPerson ePerson) throws SQLException {
Query query = createQuery(context, "from Group where (from EPerson e where e.id = :eperson_id) in elements(epeople)"); Query query = createQuery(context, "from Group where (from EPerson e where e.id = :eperson_id) in elements(epeople)");

View File

@@ -11,6 +11,7 @@ import java.sql.SQLException;
import java.util.List; import java.util.List;
import org.dspace.authorize.AuthorizeException; import org.dspace.authorize.AuthorizeException;
import org.dspace.content.MetadataField;
import org.dspace.content.service.DSpaceObjectLegacySupportService; import org.dspace.content.service.DSpaceObjectLegacySupportService;
import org.dspace.content.service.DSpaceObjectService; import org.dspace.content.service.DSpaceObjectService;
import org.dspace.core.Context; import org.dspace.core.Context;
@@ -155,13 +156,16 @@ public interface GroupService extends DSpaceObjectService<Group>, DSpaceObjectLe
* *
* @param context * @param context
* DSpace context * DSpace context
* @param sortField * @param metadataSortFields
* field to sort by -- Group.ID or Group.NAME * metadata fields to sort by, leave empty to sort by Name
* *
* @return array of all groups in the site * @return array of all groups in the site
*/ */
public List<Group> findAll(Context context, int sortField) throws SQLException; public List<Group> findAll(Context context, List<MetadataField> metadataSortFields) throws SQLException;
/** DEPRECATED: Please use findAll(Context context, List<MetadataField> metadataFieldsSort) instead */
@Deprecated
public List<Group> findAll(Context context, int sortField) throws SQLException;
/** /**
* Find the groups that match the search query across eperson_group_id or name * Find the groups that match the search query across eperson_group_id or name
@@ -219,7 +223,29 @@ public interface GroupService extends DSpaceObjectService<Group>, DSpaceObjectLe
*/ */
public void initDefaultGroupNames(Context context) throws SQLException, AuthorizeException; public void initDefaultGroupNames(Context context) throws SQLException, AuthorizeException;
/**
* Find all empty groups in DSpace
* @param context The DSpace context
* @return All empty groups
* @throws SQLException
*/
List<Group> getEmptyGroups(Context context) throws SQLException; List<Group> getEmptyGroups(Context context) throws SQLException;
/**
* Count the total number of groups in DSpace
* @param context The DSpace context
* @return The total number of groups
* @throws SQLException
*/
int countTotal(Context context) throws SQLException; int countTotal(Context context) throws SQLException;
/**
* 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 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
*/
List<Group> findByMetadataField(Context context, String searchValue, MetadataField metadataField) throws SQLException;
} }

View File

@@ -157,7 +157,7 @@ public class GroupTest extends AbstractUnitTest {
@Test @Test
public void findAll() throws SQLException { public void findAll() throws SQLException {
List<Group> groups = groupService.findAll(context, GroupService.NAME); List<Group> groups = groupService.findAll(context, null);
assertThat("findAll 1", groups, notNullValue()); assertThat("findAll 1", groups, notNullValue());
System.out.println("TEST GROUP OUTPUT " + groups); System.out.println("TEST GROUP OUTPUT " + groups);
assertTrue("findAll 2", 0 < groups.size()); assertTrue("findAll 2", 0 < groups.size());
@@ -184,7 +184,7 @@ public class GroupTest extends AbstractUnitTest {
@Test @Test
public void findAllNameSort() throws SQLException { public void findAllNameSort() throws SQLException {
// Retrieve groups sorted by name // Retrieve groups sorted by name
List<Group> groups = groupService.findAll(context, GroupService.NAME); List<Group> groups = groupService.findAll(context, null);
assertThat("findAllNameSort 1", groups, notNullValue()); assertThat("findAllNameSort 1", groups, notNullValue());

View File

@@ -394,7 +394,7 @@ public class AccessSettingTag extends TagSupport
} }
if (groups == null || groups.size() == 0){ if (groups == null || groups.size() == 0){
groups = groupService.findAll(context, GroupService.NAME); groups = groupService.findAll(context, null);
} }
return groups; return groups;

View File

@@ -7,18 +7,6 @@
*/ */
package org.dspace.app.webui.servlet.admin; package org.dspace.app.webui.servlet.admin;
import java.io.IOException;
import java.sql.SQLException;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang.time.DateUtils; import org.apache.commons.lang.time.DateUtils;
import org.dspace.app.util.AuthorizeUtil; import org.dspace.app.util.AuthorizeUtil;
import org.dspace.app.webui.servlet.DSpaceServlet; import org.dspace.app.webui.servlet.DSpaceServlet;
@@ -29,18 +17,10 @@ import org.dspace.authorize.PolicySet;
import org.dspace.authorize.ResourcePolicy; import org.dspace.authorize.ResourcePolicy;
import org.dspace.authorize.factory.AuthorizeServiceFactory; import org.dspace.authorize.factory.AuthorizeServiceFactory;
import org.dspace.authorize.service.ResourcePolicyService; import org.dspace.authorize.service.ResourcePolicyService;
import org.dspace.content.Bitstream; import org.dspace.content.*;
import org.dspace.content.Bundle;
import org.dspace.content.Collection; import org.dspace.content.Collection;
import org.dspace.content.Community;
import org.dspace.content.DSpaceObject;
import org.dspace.content.Item;
import org.dspace.content.factory.ContentServiceFactory; import org.dspace.content.factory.ContentServiceFactory;
import org.dspace.content.service.BitstreamService; import org.dspace.content.service.*;
import org.dspace.content.service.BundleService;
import org.dspace.content.service.CollectionService;
import org.dspace.content.service.CommunityService;
import org.dspace.content.service.ItemService;
import org.dspace.core.Constants; import org.dspace.core.Constants;
import org.dspace.core.Context; import org.dspace.core.Context;
import org.dspace.eperson.EPerson; import org.dspace.eperson.EPerson;
@@ -51,6 +31,13 @@ import org.dspace.eperson.service.GroupService;
import org.dspace.handle.factory.HandleServiceFactory; import org.dspace.handle.factory.HandleServiceFactory;
import org.dspace.handle.service.HandleService; import org.dspace.handle.service.HandleService;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.sql.SQLException;
import java.util.*;
/** /**
* Servlet for editing permissions * Servlet for editing permissions
* *
@@ -123,7 +110,7 @@ public class AuthorizeAdminServlet extends DSpaceServlet
{ {
// select a collections to work on // select a collections to work on
List<Collection> collections = collectionService.findAll(c); List<Collection> collections = collectionService.findAll(c);
List<Group> groups = groupService.findAll(c, GroupService.NAME); List<Group> groups = groupService.findAll(c, null);
request.setAttribute("collections", collections); request.setAttribute("collections", collections);
request.setAttribute("groups", groups); request.setAttribute("groups", groups);
@@ -188,7 +175,7 @@ public class AuthorizeAdminServlet extends DSpaceServlet
ResourcePolicy policy = authorizeService.createResourcePolicy(c, item, ResourcePolicy policy = authorizeService.createResourcePolicy(c, item,
groupService.findByName(c, Group.ANONYMOUS), null, -1, null); groupService.findByName(c, Group.ANONYMOUS), null, -1, null);
List<Group> groups = groupService.findAll(c, GroupService.NAME); List<Group> groups = groupService.findAll(c, null);
List<EPerson> epeople = personService.findAll(c, EPerson.EMAIL); List<EPerson> epeople = personService.findAll(c, EPerson.EMAIL);
// return to item permission page // return to item permission page
@@ -215,7 +202,7 @@ public class AuthorizeAdminServlet extends DSpaceServlet
policy = resourcePolicyService.find(c, policyId); policy = resourcePolicyService.find(c, policyId);
List<Group> groups = groupService.findAll(c, GroupService.NAME); List<Group> groups = groupService.findAll(c, null);
List<EPerson> epeople = personService.findAll(c, EPerson.EMAIL); List<EPerson> epeople = personService.findAll(c, EPerson.EMAIL);
// return to collection permission page // return to collection permission page
@@ -240,7 +227,7 @@ public class AuthorizeAdminServlet extends DSpaceServlet
ResourcePolicy policy = authorizeService.createResourcePolicy(c, bundle, ResourcePolicy policy = authorizeService.createResourcePolicy(c, bundle,
groupService.findByName(c, Group.ANONYMOUS), null, -1, null); groupService.findByName(c, Group.ANONYMOUS), null, -1, null);
List<Group> groups = groupService.findAll(c, GroupService.NAME); List<Group> groups = groupService.findAll(c, null);
List<EPerson> epeople = personService.findAll(c, EPerson.EMAIL); List<EPerson> epeople = personService.findAll(c, EPerson.EMAIL);
// return to item permission page // return to item permission page
@@ -268,7 +255,7 @@ public class AuthorizeAdminServlet extends DSpaceServlet
ResourcePolicy policy = authorizeService.createResourcePolicy(c, bitstream, ResourcePolicy policy = authorizeService.createResourcePolicy(c, bitstream,
groupService.findByName(c, Group.ANONYMOUS), null, -1, null); groupService.findByName(c, Group.ANONYMOUS), null, -1, null);
List<Group> groups = groupService.findAll(c, GroupService.NAME); List<Group> groups = groupService.findAll(c, null);
List<EPerson> epeople = personService.findAll(c, EPerson.EMAIL); List<EPerson> epeople = personService.findAll(c, EPerson.EMAIL);
// return to item permission page // return to item permission page
@@ -317,7 +304,7 @@ public class AuthorizeAdminServlet extends DSpaceServlet
groupService.findByName(c, Group.ANONYMOUS), null, -1, null); groupService.findByName(c, Group.ANONYMOUS), null, -1, null);
List<Group> groups = groupService.findAll(c, GroupService.NAME); List<Group> groups = groupService.findAll(c, null);
List<EPerson> epeople = personService.findAll(c, EPerson.EMAIL); List<EPerson> epeople = personService.findAll(c, EPerson.EMAIL);
// return to collection permission page // return to collection permission page
@@ -410,7 +397,7 @@ public class AuthorizeAdminServlet extends DSpaceServlet
policy = resourcePolicyService.find(c, policyId); policy = resourcePolicyService.find(c, policyId);
} }
List<Group> groups = groupService.findAll(c, GroupService.NAME); List<Group> groups = groupService.findAll(c, null);
List<EPerson> epeople = personService.findAll(c, EPerson.EMAIL); List<EPerson> epeople = personService.findAll(c, EPerson.EMAIL);
// return to collection permission page // return to collection permission page
@@ -447,7 +434,7 @@ public class AuthorizeAdminServlet extends DSpaceServlet
policy = resourcePolicyService.find(c, policyId); policy = resourcePolicyService.find(c, policyId);
} }
List<Group> groups = groupService.findAll(c, GroupService.NAME); List<Group> groups = groupService.findAll(c, null);
List<EPerson> epeople = personService.findAll(c, EPerson.EMAIL); List<EPerson> epeople = personService.findAll(c, EPerson.EMAIL);
// return to collection permission page // return to collection permission page
@@ -473,7 +460,7 @@ public class AuthorizeAdminServlet extends DSpaceServlet
groupService.findByName(c, Group.ANONYMOUS), null, -1, null); groupService.findByName(c, Group.ANONYMOUS), null, -1, null);
List<Group> groups = groupService.findAll(c, GroupService.NAME); List<Group> groups = groupService.findAll(c, null);
List<EPerson> epeople = personService.findAll(c, EPerson.EMAIL); List<EPerson> epeople = personService.findAll(c, EPerson.EMAIL);
// return to collection permission page // return to collection permission page
@@ -500,7 +487,7 @@ public class AuthorizeAdminServlet extends DSpaceServlet
groupService.findByName(c, Group.ANONYMOUS), null, -1, null); groupService.findByName(c, Group.ANONYMOUS), null, -1, null);
List<Group> groups = groupService.findAll(c, GroupService.NAME); List<Group> groups = groupService.findAll(c, null);
List<EPerson> epeople = personService.findAll(c, EPerson.EMAIL); List<EPerson> epeople = personService.findAll(c, EPerson.EMAIL);
// return to collection permission page // return to collection permission page

View File

@@ -7,17 +7,6 @@
*/ */
package org.dspace.app.webui.servlet.admin; package org.dspace.app.webui.servlet.admin;
import java.io.IOException;
import java.sql.SQLException;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.UUID;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.dspace.app.webui.servlet.DSpaceServlet; import org.dspace.app.webui.servlet.DSpaceServlet;
import org.dspace.app.webui.util.JSPManager; import org.dspace.app.webui.util.JSPManager;
import org.dspace.app.webui.util.UIUtil; import org.dspace.app.webui.util.UIUtil;
@@ -30,6 +19,16 @@ import org.dspace.eperson.factory.EPersonServiceFactory;
import org.dspace.eperson.service.EPersonService; import org.dspace.eperson.service.EPersonService;
import org.dspace.eperson.service.GroupService; import org.dspace.eperson.service.GroupService;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.sql.SQLException;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.UUID;
/** /**
* Servlet for editing groups * Servlet for editing groups
* *
@@ -279,7 +278,7 @@ public class GroupEditServlet extends DSpaceServlet
HttpServletResponse response) throws ServletException, IOException, HttpServletResponse response) throws ServletException, IOException,
SQLException, AuthorizeException SQLException, AuthorizeException
{ {
List<Group> groups = groupService.findAll(c, GroupService.NAME); List<Group> groups = groupService.findAll(c, null);
// if( groups == null ) { System.out.println("groups are null"); } // if( groups == null ) { System.out.println("groups are null"); }
// else System.out.println("# of groups: " + groups.length); // else System.out.println("# of groups: " + groups.length);

View File

@@ -7,10 +7,6 @@
*/ */
package org.dspace.app.xmlui.aspect.administrative.authorization; package org.dspace.app.xmlui.aspect.administrative.authorization;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Collections;
import org.apache.cocoon.environment.ObjectModelHelper; import org.apache.cocoon.environment.ObjectModelHelper;
import org.apache.cocoon.environment.Request; import org.apache.cocoon.environment.Request;
import org.dspace.app.xmlui.cocoon.AbstractDSpaceTransformer; import org.dspace.app.xmlui.cocoon.AbstractDSpaceTransformer;
@@ -25,6 +21,10 @@ import org.dspace.eperson.Group;
import org.dspace.eperson.factory.EPersonServiceFactory; import org.dspace.eperson.factory.EPersonServiceFactory;
import org.dspace.eperson.service.GroupService; import org.dspace.eperson.service.GroupService;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Collections;
/** /**
* @author Alexey Maslov * @author Alexey Maslov
*/ */
@@ -145,7 +145,7 @@ public class AdvacedAuthorizationsForm extends AbstractDSpaceTransformer
if (errors.contains("groupIDs")){ if (errors.contains("groupIDs")){
groupSelect.addError(T_error_groupIds); groupSelect.addError(T_error_groupIds);
} }
for (Group group : groupService.findAll(context, GroupService.NAME)) for (Group group : groupService.findAll(context, null))
{ {
if(wasElementSelected(group.getID().toString(), groupIDs)){ if(wasElementSelected(group.getID().toString(), groupIDs)){
groupSelect.addOption(true, group.getID().toString(), group.getName()); groupSelect.addOption(true, group.getID().toString(), group.getName());

View File

@@ -268,7 +268,7 @@ public class EditPolicyForm extends AbstractDSpaceTransformer
// currently set group // currently set group
actionsList.addLabel(T_policy_currentGroup); actionsList.addLabel(T_policy_currentGroup);
Select groupSelect = actionsList.addItem().addSelect("group_id"); Select groupSelect = actionsList.addItem().addSelect("group_id");
for (Group group : groupService.findAll(context, GroupService.NAME)) for (Group group : groupService.findAll(context, null))
{ {
if (group == currentGroup) if (group == currentGroup)
{ {

View File

@@ -129,7 +129,7 @@ public class AccessStepUtil extends AbstractDSpaceTransformer {
loadedGroups= uiGroup.getMemberGroups(); loadedGroups= uiGroup.getMemberGroups();
} }
if(loadedGroups==null || loadedGroups.size() ==0){ if(loadedGroups==null || loadedGroups.size() ==0){
loadedGroups = groupService.findAll(context, GroupService.NAME); loadedGroups = groupService.findAll(context, null);
} }
// if no group selected for default set anonymous // if no group selected for default set anonymous