summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--orkbasej/java/net/sf/oreka/srvc/UserService.java2
-rw-r--r--orkbasej/java/net/sf/oreka/srvc/UserServiceHbn.java30
2 files changed, 32 insertions, 0 deletions
diff --git a/orkbasej/java/net/sf/oreka/srvc/UserService.java b/orkbasej/java/net/sf/oreka/srvc/UserService.java
index 93de0ef..fd2485f 100644
--- a/orkbasej/java/net/sf/oreka/srvc/UserService.java
+++ b/orkbasej/java/net/sf/oreka/srvc/UserService.java
@@ -18,5 +18,7 @@ public interface UserService {
public String getUserLoginStrings(int userId);
public void setUserLoginStrings(int userId, String loginStringsCsv);
+ public User getUserByLoginString(String loginString);
+
public int getNumNonDisabledUsers();
}
diff --git a/orkbasej/java/net/sf/oreka/srvc/UserServiceHbn.java b/orkbasej/java/net/sf/oreka/srvc/UserServiceHbn.java
index 4e28cc7..8ee6e00 100644
--- a/orkbasej/java/net/sf/oreka/srvc/UserServiceHbn.java
+++ b/orkbasej/java/net/sf/oreka/srvc/UserServiceHbn.java
@@ -424,4 +424,34 @@ public class UserServiceHbn implements UserService {
return numUsers;
}
+
+ public User getUserByLoginString(String loginString) {
+ Session hbnSession = null;
+ User user = null;
+
+ try
+ {
+ hbnSession = HibernateManager.instance().getSession();
+ String queryString = new String("from LoginString as ls where ls.loginstring=:ls");
+ Query query = hbnSession.createQuery(queryString);
+ query.setString("ls", loginString);
+ List list = query.list();
+ Iterator it = list.iterator();
+ if (it.hasNext()) {
+ LoginString ls = (LoginString)it.next();
+ user = ls.getUser();
+ }
+ }
+ catch ( HibernateException he ) {
+ logger.error("getUserByLoginString: exception:" + he.getClass().getName());
+ }
+ catch (Exception e) {
+ logger.error("getUserByLoginString: exception:", e);
+ }
+ finally {
+ if(hbnSession != null) {hbnSession.close();}
+ }
+ return user;
+ }
+
}