MyCrmJDBCUserFactory.java

00001 
00025 package org.openmobileis.examples.mycrm.data.jdbc;
00026 
00027 import java.sql.ResultSet;
00028 
00029 import org.openmobileis.common.user.User;
00030 import org.openmobileis.common.user.UserAlreadyExistException;
00031 import org.openmobileis.common.user.UserManagerFactory;
00032 import org.openmobileis.common.user.UserNotFoundException;
00033 import org.openmobileis.common.util.exception.ServiceException;
00034 import org.openmobileis.common.util.log.LogManager;
00035 
00036 /*
00037  * Title:        OpenMobileIS project source <BR>
00038  * Description:
00039  * @author      Philippe Delrieu
00040  * @since       JDK 1.1
00041  * @version 1.0.
00042  */
00043 
00044 public final class MyCrmJDBCUserFactory implements UserManagerFactory {
00045   private MyCrmUserManagerDBQuery userquery;
00049   public MyCrmJDBCUserFactory() {
00050     super();
00051     userquery = new MyCrmUserManagerDBQuery();
00052   }
00053 
00054   /* (non-Javadoc)
00055    * @see org.openmobileis.entity.user.EntityUserFactory#createUser(java.lang.String, java.lang.String, java.lang.String)
00056    */
00057   public void deleteUser(String userID) throws ServiceException, UserNotFoundException  {
00058     throw new ServiceException("not implemented");
00059   }
00060 
00061   /* (non-Javadoc)
00062    * @see org.openmobileis.entity.user.EntityUserFactory#createUser(java.lang.String, java.lang.String, java.lang.String)
00063    */
00064   public void storeUser(User user) throws ServiceException, UserAlreadyExistException   {
00065     throw new UserAlreadyExistException("not implemented");
00066   }
00067 
00068   /* (non-Javadoc)
00069    * @see org.openmobileis.entity.user.EntityUserFactory#getUser(java.lang.String)
00070    */
00071   public User getUser(String userID) throws ServiceException, UserNotFoundException     {
00072                 User user= null;
00073     try {
00074                         String[] param = new String[]{userID};
00075                         ResultSet result = userquery.getUser(param);
00076                         if (result.next()) {
00077                           user = new User(result.getString(1), result.getString(2), result.getString(3));
00078               user.setProfil("default");
00079               user.setGroup("default");
00080                         } else  {
00081                           throw new UserNotFoundException();
00082                         }
00083                         result.close();
00084                 } catch (Exception ex)  {
00085                         throw new ServiceException(ex);
00086                 } finally {
00087           userquery.getDbManager().garbageOpenedConnection();
00088                 }
00089                 return user;
00090   }
00091 
00092   /* (non-Javadoc)
00093    * @see org.openmobileis.entity.user.EntityUserFactory#authenticateUser(java.lang.String, java.lang.String)
00094    */
00095   public String authenticateUser(String login, String pass) throws ServiceException, UserNotFoundException      {
00096                 try {
00097                         String[] params = {login, pass};
00098                         ResultSet result = userquery.getUserIDWithloginPass(params);
00099                         if (result.next()) {
00100                                 String id =  result.getString(1);
00101                                 result.close();
00102                                 return id;
00103                         }
00104                 }  catch (Throwable ex) {
00105                         LogManager.traceError(0, ex);
00106                         throw new ServiceException(ex);
00107                 } finally {
00108                   userquery.getDbManager().garbageOpenedConnection();
00109                 }
00110         throw new UserNotFoundException("User not founr for login :"+login);
00111   }
00112 }

Generated on Mon Dec 4 11:03:28 2006 for OpenMobileIS by  doxygen 1.5.1-p1