summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHenri Herscher <henri@oreka.org>2006-01-03 22:48:24 +0000
committerHenri Herscher <henri@oreka.org>2006-01-03 22:48:24 +0000
commit902379bda204e429f9cb8955c4c6055f353dedf5 (patch)
tree615a558bb3b50e03a46ec4f44dde05ab1c4e1beb
parent9b4ccfe30e4c6bfa07e86baccd4a3435b2e36997 (diff)
Added service methods to determine the number of objects
git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@117 09dcff7a-b715-0410-9601-b79a96267cd0
-rw-r--r--orkbasej/java/net/sf/oreka/srvc/ObjectService.java1
-rw-r--r--orkbasej/java/net/sf/oreka/srvc/ObjectServiceHbn.java33
-rw-r--r--orkbasej/java/net/sf/oreka/srvc/UserService.java2
-rw-r--r--orkbasej/java/net/sf/oreka/srvc/UserServiceHbn.java39
4 files changed, 73 insertions, 2 deletions
diff --git a/orkbasej/java/net/sf/oreka/srvc/ObjectService.java b/orkbasej/java/net/sf/oreka/srvc/ObjectService.java
index a15f323..b404ca2 100644
--- a/orkbasej/java/net/sf/oreka/srvc/ObjectService.java
+++ b/orkbasej/java/net/sf/oreka/srvc/ObjectService.java
@@ -4,4 +4,5 @@ public interface ObjectService {
public void saveObject(Object obj);
public Object getObjectById(java.lang.Class cl, int id);
+ public int getNumObjects(java.lang.Class cl);
}
diff --git a/orkbasej/java/net/sf/oreka/srvc/ObjectServiceHbn.java b/orkbasej/java/net/sf/oreka/srvc/ObjectServiceHbn.java
index d23bc30..06a6274 100644
--- a/orkbasej/java/net/sf/oreka/srvc/ObjectServiceHbn.java
+++ b/orkbasej/java/net/sf/oreka/srvc/ObjectServiceHbn.java
@@ -4,7 +4,9 @@ import net.sf.oreka.HibernateManager;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
+import org.hibernate.Criteria;
import org.hibernate.HibernateException;
+import org.hibernate.ScrollableResults;
import org.hibernate.Session;
import org.hibernate.Transaction;
@@ -64,4 +66,35 @@ public class ObjectServiceHbn implements ObjectService {
if(hbnSession != null) {hbnSession.close();}
}
}
+
+ public int getNumObjects(java.lang.Class cl) {
+
+ Session hbnSession = null;
+ int numObjets = 0;
+
+ try
+ {
+ hbnSession = HibernateManager.instance().getSession();
+
+ Criteria crit = hbnSession.createCriteria(cl);
+
+ // figure out total number of objects returned
+ ScrollableResults scrollRes = crit.scroll();
+ if ( scrollRes.last() ) {
+ numObjets = scrollRes.getRowNumber();
+ }
+ }
+ catch ( HibernateException he ) {
+ logger.error("getNumObjects: exception:" + he.getClass().getName());
+ }
+ catch (Exception e)
+ {
+ logger.error("getNumObjects: exception:", e);
+ }
+ finally {
+ if(hbnSession != null) {hbnSession.close();}
+ }
+
+ return numObjets;
+ }
}
diff --git a/orkbasej/java/net/sf/oreka/srvc/UserService.java b/orkbasej/java/net/sf/oreka/srvc/UserService.java
index 39e71c7..93de0ef 100644
--- a/orkbasej/java/net/sf/oreka/srvc/UserService.java
+++ b/orkbasej/java/net/sf/oreka/srvc/UserService.java
@@ -17,4 +17,6 @@ public interface UserService {
public String getUserLoginStrings(int userId);
public void setUserLoginStrings(int userId, String loginStringsCsv);
+
+ public int getNumNonDisabledUsers();
}
diff --git a/orkbasej/java/net/sf/oreka/srvc/UserServiceHbn.java b/orkbasej/java/net/sf/oreka/srvc/UserServiceHbn.java
index 069f1d3..4e28cc7 100644
--- a/orkbasej/java/net/sf/oreka/srvc/UserServiceHbn.java
+++ b/orkbasej/java/net/sf/oreka/srvc/UserServiceHbn.java
@@ -15,11 +15,13 @@ import net.sf.oreka.persistent.User;
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
+import org.hibernate.Criteria;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.ScrollableResults;
import org.hibernate.Session;
import org.hibernate.Transaction;
+import org.hibernate.criterion.Expression;
public class UserServiceHbn implements UserService {
@@ -127,7 +129,7 @@ public class UserServiceHbn implements UserService {
// figure out total number of users returned
ScrollableResults scrollRes = crit.scroll();
if ( scrollRes.last() ) {
- numResults = scrollRes.getRowNumber()+1;
+ numResults = scrollRes.getRowNumber();
}
// get only one page worth of users
@@ -148,7 +150,7 @@ public class UserServiceHbn implements UserService {
ScrollableResults scrollRes = query.scroll();
if ( scrollRes.last() ) {
- numResults = scrollRes.getRowNumber()+1;
+ numResults = scrollRes.getRowNumber();
}
// get only one page worth of users
@@ -389,4 +391,37 @@ public class UserServiceHbn implements UserService {
}
return loginStringsCsv;
}
+
+ public int getNumNonDisabledUsers() {
+
+ Session hbnSession = null;
+ int numUsers = 0;
+
+ try
+ {
+ hbnSession = HibernateManager.instance().getSession();
+
+ Criteria crit = hbnSession.createCriteria(User.class);
+ crit.add( Expression.eq( "disabled", false ) );
+ crit.add( Expression.eq( "deleted", false ) );
+
+ // figure out total number of objects returned
+ ScrollableResults scrollRes = crit.scroll();
+ if ( scrollRes.last() ) {
+ numUsers = scrollRes.getRowNumber();
+ }
+ }
+ catch ( HibernateException he ) {
+ logger.error("getNumNonDisabledUsers: exception:" + he.getClass().getName());
+ }
+ catch (Exception e)
+ {
+ logger.error("getNumNonDisabledUsers: exception:", e);
+ }
+ finally {
+ if(hbnSession != null) {hbnSession.close();}
+ }
+
+ return numUsers;
+ }
}