diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/DatabaseInstanceDAO.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/DatabaseInstanceDAO.java index 41ea1f3cc76c337263b3cbb82896e6bb45dfb960..0c0299632ec70a93cabd1d8e4cc0be04cce4601f 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/DatabaseInstanceDAO.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/DatabaseInstanceDAO.java @@ -41,6 +41,8 @@ final class DatabaseInstanceDAO extends AbstractDAO implements IDatabaseInstance private final static Class<DatabaseInstancePE> ENTITY_CLASS = DatabaseInstancePE.class; + private static final String TABLE_NAME = ENTITY_CLASS.getSimpleName(); + /** * This logger does not output any SQL statement. If you want to do so, you had better set an * appropriate debugging level for class {@link JdbcAccessor}. @@ -81,8 +83,8 @@ final class DatabaseInstanceDAO extends AbstractDAO implements IDatabaseInstance final String columnName = isUUID ? "uuid" : "code"; final List<DatabaseInstancePE> databaseInstances = cast(getHibernateTemplate().find( - String.format("from %s d where d." + columnName + " = ? ", ENTITY_CLASS - .getSimpleName()), toArray(code))); + String.format("from %s d where d." + columnName + " = ? ", TABLE_NAME), + toArray(code))); return databaseInstances; } @@ -94,9 +96,8 @@ final class DatabaseInstanceDAO extends AbstractDAO implements IDatabaseInstance { final List<DatabaseInstancePE> list = cast(getHibernateTemplate().find( - String.format("from %s d where d.originalSource = ?", ENTITY_CLASS - .getSimpleName()), new Object[] - { true })); + String.format("from %s d where d.originalSource = ?", TABLE_NAME), + toArray(true))); return getEntity(list); } @@ -157,8 +158,11 @@ final class DatabaseInstanceDAO extends AbstractDAO implements IDatabaseInstance public final void createDatabaseInstance(final DatabaseInstancePE databaseInstance) throws DataAccessException { - databaseInstance.setCode(CodeConverter.tryToDatabase(databaseInstance.getCode())); + assert databaseInstance != null : "Unspecified database instance"; databaseInstance.setUuid(UuidUtil.generateUUID()); + validatePE(databaseInstance); + + databaseInstance.setCode(CodeConverter.tryToDatabase(databaseInstance.getCode())); final HibernateTemplate template = getHibernateTemplate(); template.save(databaseInstance); template.flush(); diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/PersonDAO.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/PersonDAO.java index 9b8fa6373984ac4e00835f7b2051d963bd029dec..905166154bf3e42f5c9571a2b4686b24c87f5773 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/PersonDAO.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/PersonDAO.java @@ -102,6 +102,7 @@ public final class PersonDAO extends AbstractDAO implements IPersonDAO public final PersonPE tryFindPersonByUserId(final String userId) throws DataAccessException { assert userId != null : "Unspecified user id"; + final List<PersonPE> persons = cast(getHibernateTemplate().find( String.format("from %s p where p.userId = ? " diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/PropertyTypeDAO.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/PropertyTypeDAO.java index 66ee5bcdcfb5e6a740512a05b6b7cff9d182149b..48b6da4c16d2553cb860df293fc0a5755400373a 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/PropertyTypeDAO.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/PropertyTypeDAO.java @@ -58,6 +58,7 @@ final class PropertyTypeDAO extends AbstractDAO implements IPropertyTypeDAO throws DataAccessException { assert code != null : "Unspecified property type code"; + final List<PropertyTypePE> list = cast(getHibernateTemplate().find( String.format("select pt from %s pt where pt.simpleCode = ? " diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/RoleAssignmentDAO.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/RoleAssignmentDAO.java index c07333e19e3f17004b4b4b56896af45c21ab735e..2c963ae132bf50664dda2d6d75061c62cf7cfaa9 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/RoleAssignmentDAO.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/RoleAssignmentDAO.java @@ -20,7 +20,6 @@ import java.util.List; import org.apache.log4j.Logger; import org.hibernate.SessionFactory; -import org.hibernate.criterion.Criterion; import org.hibernate.criterion.DetachedCriteria; import org.hibernate.criterion.Restrictions; import org.springframework.jdbc.support.JdbcAccessor; @@ -72,9 +71,10 @@ public final class RoleAssignmentDAO extends AbstractDAO implements IRoleAssignm public final List<RoleAssignmentPE> listRoleAssignmentsByPerson(final PersonPE person) { - final Criterion granteeEq = Restrictions.eq("personInternal", person); + assert person != null : "Unspecified person."; + final DetachedCriteria criteria = DetachedCriteria.forClass(ENTITY_CLASS); - criteria.add(granteeEq); + criteria.add(Restrictions.eq("personInternal", person)); final List<RoleAssignmentPE> list = cast(getHibernateTemplate().findByCriteria(criteria)); if (operationLog.isDebugEnabled()) { @@ -100,6 +100,8 @@ public final class RoleAssignmentDAO extends AbstractDAO implements IRoleAssignm public final void deleteRoleAssignment(final RoleAssignmentPE roleAssignment) { + assert roleAssignment != null : "Role assignment unspecified"; + roleAssignment.getPerson().getRoleAssignments().remove(roleAssignment); getHibernateTemplate().delete(roleAssignment); if (operationLog.isInfoEnabled()) @@ -132,13 +134,14 @@ public final class RoleAssignmentDAO extends AbstractDAO implements IRoleAssignm public final RoleAssignmentPE tryFindInstanceRoleAssignment(final RoleCode role, final String person) { - List<RoleAssignmentPE> roles; - roles = + assert role != null : "Unspecified role."; + assert person != null : "Unspecified person."; + + final List<RoleAssignmentPE> roles = cast(getHibernateTemplate().find( String.format("from %s r where r.personInternal.userId = ? " + "and r.role = ? and r.databaseInstance = ?", ENTITY_CLASS - .getSimpleName()), new Object[] - { person, role, getDatabaseInstance() })); + .getSimpleName()), toArray(person, role, getDatabaseInstance()))); final RoleAssignmentPE roleAssignment = tryFindEntity(roles, "role_assignments", role, person); if (operationLog.isInfoEnabled()) diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/SampleDAO.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/SampleDAO.java index 714afef402ba5259503cc580a895d0ef8cf25f56..69d8b102580e4fb614210cd44d6c2fdc16187777 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/SampleDAO.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/SampleDAO.java @@ -108,15 +108,16 @@ public class SampleDAO extends AbstractDAO implements ISampleDAO public final List<SamplePE> listSamplesByTypeAndGroup(final SampleTypePE sampleType, final GroupPE group) throws DataAccessException { + assert sampleType != null : "Unspecified sample type."; + assert group != null : "Unspecified group."; + final Criteria criteria = createListSampleForTypeCriteria(sampleType); criteria.add(Restrictions.eq("group", group)); - final List<SamplePE> list = cast(criteria.list()); - if (operationLog.isDebugEnabled()) { operationLog.debug(String.format( - "%d samples have been found for sample type %s and group %s.", list.size(), + "%d samples have been found for sample type '%s' and group '%s'.", list.size(), sampleType, group)); } return list; @@ -125,16 +126,17 @@ public class SampleDAO extends AbstractDAO implements ISampleDAO public final List<SamplePE> listSamplesByTypeAndDatabaseInstance(final SampleTypePE sampleType, final DatabaseInstancePE databaseInstance) { + assert sampleType != null : "Unspecified sample type."; + assert databaseInstance != null : "Unspecified database instance."; + final Criteria criteria = createListSampleForTypeCriteria(sampleType); criteria.add(Restrictions.eq("databaseInstance", databaseInstance)); - final List<SamplePE> list = cast(criteria.list()); - if (operationLog.isDebugEnabled()) { operationLog.debug(String.format( - "%d samples have been found for sample type %s and database instance %s.", list - .size(), sampleType, databaseInstance)); + "%d samples have been found for sample type '%s' and database instance '%s'.", + list.size(), sampleType, databaseInstance)); } return list; } @@ -179,6 +181,8 @@ public class SampleDAO extends AbstractDAO implements ISampleDAO public final List<SamplePE> listSamplesByGeneratedFrom(final SamplePE sample) { + assert sample != null : "Unspecified sample."; + final HibernateTemplate hibernateTemplate = getHibernateTemplate(); final String hql = String.format("from %s s where s.generatedFrom = ?", TABLE_NAME); final List<SamplePE> list = cast(hibernateTemplate.find(hql, toArray(sample)));