diff src/main/java/org/mpi/openmind/repository/services/AbstractPersistenceService.java @ 75:e0be7c0030f5

cleanup and better comments.
author casties
date Thu, 23 Feb 2017 19:05:47 +0100
parents 7acd7564e394
children 4c9ceb28cfd0
line wrap: on
line diff
--- a/src/main/java/org/mpi/openmind/repository/services/AbstractPersistenceService.java	Fri Feb 03 12:56:28 2017 +0100
+++ b/src/main/java/org/mpi/openmind/repository/services/AbstractPersistenceService.java	Thu Feb 23 19:05:47 2017 +0100
@@ -1721,11 +1721,18 @@
 	// #################################################################
 	// #################################################################
 
+	/**
+	 * Returns the number of Entities of the given objectClass in the database.
+	 * 
+	 * Returns the number of all Entities if objectClass==null.
+	 * 
+	 * @param objectClass
+	 * @return
+	 */
 	public Long getEntityCount(String objectClass) {
 		Long count = null;
 		try {
-			Session session = HibernateUtil.getSessionFactory()
-					.getCurrentSession();
+			Session session = HibernateUtil.getSessionFactory().getCurrentSession();
 			session.getTransaction().begin();
 
 			String hql = "select count(*) from Entity where ";
@@ -1748,55 +1755,61 @@
 
 			session.getTransaction().commit();
 		} catch (Exception e) {
-			logger.error(e.getMessage(), e);
+			logger.error(e);
 		}
 		return count;
 	}
 
 	/**
+	 * Returns all Entities of the given objectClass in the database 
+	 * between startRecord and endRecord.
 	 * 
 	 * @param objectClass
-	 *            if it is null, it will be returned all entities (no
-	 *            definition). To get the definitions objectClass should be:
+	 *            if it is null, all entities are returned (except
+	 *            definitions). To get the definitions objectClass should be:
 	 *            Node.TYPE_TBOX
 	 * @param startRecord
 	 * @param endRecord
 	 * @return
 	 */
-	public List<Entity> getEntityPage(String objectClass,
-			final int startRecord, final int endRecord) {
+	public List<Entity> getEntityPage(String objectClass, final int startRecord, final int endRecord) {
 
 		List<Entity> entities = new ArrayList<Entity>();
 		try {
-			Session session = HibernateUtil.getSessionFactory()
-					.getCurrentSession();
+			Session session = HibernateUtil.getSessionFactory().getCurrentSession();
 			session.getTransaction().begin();
 
 			String hql = "from Entity where ";
 
 			if (StringUtils.isNotEmpty(objectClass)) {
+				// real objectClass
 				hql += "objectClass = :objectClass AND ";
 			} else {
+				// objectClass == null -- match object_class != 'TBox'
 				hql += "objectClass != :objectClass AND ";
 			}
 
 			hql += "systemStatus = :systemStatus order by ownValue";
 
 			Query query = session.createQuery(hql);
+			// use Hibernate's result paging
 			query.setFirstResult(startRecord);
 			query.setMaxResults(endRecord);
+			// add query params
 			query.setString("systemStatus", Node.SYS_STATUS_CURRENT_VERSION);
 			if (StringUtils.isNotEmpty(objectClass)) {
+				// real objectClass
 				query.setString("objectClass", objectClass);
 			} else {
+				// objectClass == null -- match object_class != 'TBox'
 				query.setString("objectClass", Node.TYPE_TBOX);
 			}
+			// fetch Entities
 			entities = query.list();
 
 			session.getTransaction().commit();
 		} catch (Exception e) {
-			logger.error(e.getMessage(), e);
-			// e.printStackTrace();
+			logger.error(e);
 		}
 		return entities;
 	}