diff --git a/server-application-server/source/java/ch/systemsx/cisd/openbis/generic/server/AfsRegistrator.java b/server-application-server/source/java/ch/systemsx/cisd/openbis/generic/server/AfsRegistrator.java index b0d3ff806f478ff26aeb72da3f31d638c3846e44..5652112e62f95e360d08efe4e46f07c07042009b 100644 --- a/server-application-server/source/java/ch/systemsx/cisd/openbis/generic/server/AfsRegistrator.java +++ b/server-application-server/source/java/ch/systemsx/cisd/openbis/generic/server/AfsRegistrator.java @@ -14,6 +14,7 @@ import ch.systemsx.cisd.common.logging.LogCategory; import ch.systemsx.cisd.common.logging.LogFactory; import ch.systemsx.cisd.openbis.generic.server.dataaccess.IDAOFactory; import ch.systemsx.cisd.openbis.generic.server.dataaccess.IDataStoreDAO; +import ch.systemsx.cisd.openbis.generic.server.dataaccess.db.DataStoreDAO; import ch.systemsx.cisd.openbis.generic.shared.dto.DataStorePE; @Component @@ -22,8 +23,6 @@ public class AfsRegistrator implements IAfsRegistrator, ApplicationListener<Appl private final Logger operationLog = LogFactory.getLogger(LogCategory.OPERATION, AfsRegistrator.class); - private static final String AFS_DATA_STORE_CODE = "AFS"; - @Autowired private IDAOFactory daoFactory; @@ -59,7 +58,7 @@ public class AfsRegistrator implements IAfsRegistrator, ApplicationListener<Appl IDataStoreDAO dataStoreDAO = daoFactory.getDataStoreDAO(); - DataStorePE existingDataStore = dataStoreDAO.tryToFindDataStoreByCode(AFS_DATA_STORE_CODE); + DataStorePE existingDataStore = dataStoreDAO.tryToFindDataStoreByCode(DataStoreDAO.AFS_DATA_STORE_CODE); if (existingDataStore != null) { @@ -68,7 +67,7 @@ public class AfsRegistrator implements IAfsRegistrator, ApplicationListener<Appl } DataStorePE dataStore = new DataStorePE(); - dataStore.setCode(AFS_DATA_STORE_CODE); + dataStore.setCode(DataStoreDAO.AFS_DATA_STORE_CODE); dataStore.setDownloadUrl(""); dataStore.setRemoteUrl(""); dataStore.setDatabaseInstanceUUID(""); diff --git a/server-application-server/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/DataStoreDAO.java b/server-application-server/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/DataStoreDAO.java index be8e80be68007c1fd7187d73cc69703953aca806..9cd4aba69809a60e0eeda274dd021e254f6140dd 100644 --- a/server-application-server/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/DataStoreDAO.java +++ b/server-application-server/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/DataStoreDAO.java @@ -36,11 +36,13 @@ import ch.systemsx.cisd.openbis.generic.shared.dto.DataStorePE; /** * Hibernate-based implementation of {@link IDataStoreDAO}. - * + * * @author Franz-Josef Elmer */ public class DataStoreDAO extends AbstractDAO implements IDataStoreDAO { + public static final String AFS_DATA_STORE_CODE = "AFS"; + private final static Class<DataStorePE> ENTITY_CLASS = DataStorePE.class; private static final Logger operationLog = @@ -73,37 +75,39 @@ public class DataStoreDAO extends AbstractDAO implements IDataStoreDAO assert dataStoreCode != null : "Unspecified data store code."; return getHibernateTemplate().executeWithNativeSession(new HibernateCallback<DataStorePE>() + { + @Override + public DataStorePE doInHibernate(Session session) throws HibernateException { - @Override - public DataStorePE doInHibernate(Session session) throws HibernateException - { - final Criteria criteria = session.createCriteria(DataStorePE.class); - criteria.add(Restrictions.eq("code", CodeConverter.tryToDatabase(dataStoreCode))); - return (DataStorePE) criteria.uniqueResult(); - } - }); + final Criteria criteria = session.createCriteria(DataStorePE.class); + criteria.add(Restrictions.eq("code", CodeConverter.tryToDatabase(dataStoreCode))); + return (DataStorePE) criteria.uniqueResult(); + } + }); } @Override public List<DataStorePE> listDataStores() { return getHibernateTemplate().executeWithNativeSession(new HibernateCallback<List<DataStorePE>>() + { + + @Override + public List<DataStorePE> doInHibernate(Session session) throws HibernateException { + final Criteria criteria = session.createCriteria(ENTITY_CLASS); + criteria.add(Restrictions.ne("code", AFS_DATA_STORE_CODE)); + criteria.setFetchMode("servicesInternal", FetchMode.JOIN); + criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); + final List<DataStorePE> list = cast(criteria.list()); - @Override - public List<DataStorePE> doInHibernate(Session session) throws HibernateException + if (operationLog.isDebugEnabled()) { - final Criteria criteria = session.createCriteria(ENTITY_CLASS); - criteria.setFetchMode("servicesInternal", FetchMode.JOIN); - criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); - final List<DataStorePE> list = cast(criteria.list()); - if (operationLog.isDebugEnabled()) - { - operationLog.debug(String.format("%d data stores have been found.", list.size())); - } - return list; + operationLog.debug(String.format("%d data stores have been found.", list.size())); } - }); + return list; + } + }); } }