Update of 
/var/cvs/contributions/CMSContainer_Modules/community/src/java/com/finalist/cmsc/services/community
In directory 
james.mmbase.org:/tmp/cvs-serv15966/community/src/java/com/finalist/cmsc/services/community

Modified Files:
        CommunityServiceMysqlImpl.java HibernateCommunityService.java 
        NewsletterCommunicationServiceMysqlImpl.java 
        HibernateLoginModule.java 
Removed Files:
        HibernateNewsPrefService.java HibernateService.java 
        HibernateGroupUserRoleService.java HibernateUserService.java 
Log Message:
CMSC-211 Added generic Hibernate function for extra modules


See also: 
http://cvs.mmbase.org/viewcvs/contributions/CMSContainer_Modules/community/src/java/com/finalist/cmsc/services/community
See also: http://www.mmbase.org/jira/browse/CMSC-211


Index: CommunityServiceMysqlImpl.java
===================================================================
RCS file: 
/var/cvs/contributions/CMSContainer_Modules/community/src/java/com/finalist/cmsc/services/community/CommunityServiceMysqlImpl.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -b -r1.11 -r1.12
--- CommunityServiceMysqlImpl.java      19 Dec 2007 13:08:18 -0000      1.11
+++ CommunityServiceMysqlImpl.java      16 Jan 2008 12:16:10 -0000      1.12
@@ -8,8 +8,11 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.support.ClassPathXmlApplicationContext;
 
 import javax.portlet.PortletSession;
+import com.finalist.cmsc.services.community.HibernateCommunityService;
 
 public class CommunityServiceMysqlImpl extends CommunityService {
 
@@ -17,7 +20,10 @@
 
    private PortletSession session;
    
-   // @Override
+   ApplicationContext aC;
+   
+   HibernateCommunityService hibservice;
+   
    public boolean loginUser(ActionRequest request, ActionResponse response, 
String userText, String passText) {
       
       boolean loginSuccesfull;
@@ -37,6 +43,7 @@
          
          PortletSession session = request.getPortletSession();
          Iterator it = lc.getSubject().getPrincipals().iterator();
+         session.setAttribute("LoginContext", lc);
          String tempPrin = it.next().toString();
          String values[] = tempPrin.split(",");
          for(int i = 0; i < values.length; i++){
@@ -59,7 +66,7 @@
          }
          session.setAttribute("logout", "false", 
PortletSession.APPLICATION_SCOPE);
          
-         //lc.logout();
+         lc.logout();
          loginSuccesfull = true;
       }
       catch (Exception e) {
@@ -71,13 +78,15 @@
    }
 
 
-   public boolean logoutUser(/** HttpServletRequest HttpRequest, * */
-   ActionRequest request, ActionResponse response) {
+   public boolean logoutUser(ActionRequest request, ActionResponse response) {
       boolean logoutSuccesfull;
 
       PortletSession session = request.getPortletSession();
 
+      LoginContext lc = (LoginContext)session.getAttribute("LoginContext");
+      
       try {
+         lc.logout();
          session.removeAttribute("userName", PortletSession.APPLICATION_SCOPE);
          session.removeAttribute("firstName", 
PortletSession.APPLICATION_SCOPE);
          session.removeAttribute("lastName", PortletSession.APPLICATION_SCOPE);
@@ -94,4 +103,22 @@
       }
       return logoutSuccesfull;
    }
+   
+   public Map<String, Map<String,List<String>>> getPreferences(String module, 
String userId, String key, String value){
+      aC = new ClassPathXmlApplicationContext("applicationContext.xml");
+      hibservice = (HibernateCommunityService)aC.getBean("serviceCommunity");
+      return hibservice.getPreferences(module, userId, key, value);
+   }
+   
+   public void createPreference(String module, String userId, String key, 
List<String> values){
+      aC = new ClassPathXmlApplicationContext("applicationContext.xml");
+      hibservice = (HibernateCommunityService)aC.getBean("serviceCommunity");
+      hibservice.createPreference(module, userId, key, values);
+   }
+   
+   public void removePreferences(String module, String userId, String key){
+      aC = new ClassPathXmlApplicationContext("applicationContext.xml");
+      hibservice = (HibernateCommunityService)aC.getBean("serviceCommunity");
+      hibservice.removePreferences(module, userId, key);
+   }
 }


Index: HibernateCommunityService.java
===================================================================
RCS file: 
/var/cvs/contributions/CMSContainer_Modules/community/src/java/com/finalist/cmsc/services/community/HibernateCommunityService.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- HibernateCommunityService.java      19 Dec 2007 13:16:29 -0000      1.1
+++ HibernateCommunityService.java      16 Jan 2008 12:16:10 -0000      1.2
@@ -2,36 +2,108 @@
 
 import org.springframework.transaction.annotation.Transactional;
 import java.util.*;
+
 import com.finalist.cmsc.services.community.dao.UserDAO;
+import com.finalist.cmsc.services.community.dao.ModulePrefDAO;
+import com.finalist.cmsc.services.community.dao.GroupDAO;
+import com.finalist.cmsc.services.community.dao.GroupUserRoleDAO;
+import com.finalist.cmsc.services.community.dao.RoleDAO;
+import com.finalist.cmsc.services.community.data.GroupUserRole;
+import com.finalist.cmsc.services.community.data.Group;
+import com.finalist.cmsc.services.community.data.ModulePref;
 import com.finalist.cmsc.services.community.data.User;
+import com.finalist.cmsc.services.community.data.Role;
 
 @Transactional
 public class HibernateCommunityService {
 
    private UserDAO userDAO = null;
    
+   private ModulePrefDAO modulePrefDAO = null;
+   
+   private GroupDAO groupDAO = null;
+   
+   private GroupUserRoleDAO groupUserRoleDAO = null;
+   
+   private RoleDAO roleDAO = null;
+   
    @Transactional(readOnly = false)
    public void setUserDAO(UserDAO userDAO) {
       this.userDAO = userDAO;
    }
    
    @Transactional(readOnly = false)
-   public User getUser(String userId) {
-      /*
-       * Example of method use User user = new User(); try { user = getUser(new
-       * Long(1)); } catch (Exception e) { // TODO Auto-generated //catch block
-       * e.printStackTrace(); }
-       */
-      //List users = null;
+   public void setModulePrefDAO(ModulePrefDAO modulePrefDAO) {
+      this.modulePrefDAO = modulePrefDAO;
+   }
       
-      //users = (List)userDAO.getUser(userId);
+   @Transactional(readOnly = false)
+   public void setGroupDAO(GroupDAO groupDAO) {
+      this.groupDAO = groupDAO;
+   }
       
-      //User user = (User)users.get(0);
+   @Transactional(readOnly = false)
+   public void setGroupUserRoleDAO(GroupUserRoleDAO groupUserRoleDAO) {
+      this.groupUserRoleDAO = groupUserRoleDAO;
+   }
       
-      //String test = user.getUserId();
+   @Transactional(readOnly = false)
+   public void setRoleDAO(RoleDAO roleDAO) {
+      this.roleDAO = roleDAO;
+   }
       
-      //System.out.println("DIT IS EEN TEST WERKT HIBERNATE? ZOJA: " + test);
+   public Map<String, Map<String,List<String>>> getPreferences(String module, 
String userId, String key, String value){
+      if (module == "Newsletter"){
+         Map<String, Map<String,List<String>>> resultList = 
modulePrefDAO.getPreferences(module, userId, key, value);
+         return resultList;
+      }
+      return (null);
+   }
       
-      return userDAO.getUser(userId);
+   public List<String> getObject(String module, Map<String, String> 
preferences){
+      if (module == "Newsletter"){
+         List<String> resultList = modulePrefDAO.getObject(preferences);
+         return resultList;
+      }
+      if (module == "User"){
+         List<String> resultList = userDAO.getObject(preferences);
+         return resultList;
+      }
+      if (module == "Group"){
+         List<String> resultList = groupDAO.getObject(preferences);
+         return resultList;
+      }
+      if (module == "Role"){
+         List<String> resultList = roleDAO.getObject(preferences);
+         return resultList;
+      }
+      if (module == "UserGroups"){
+         List<String> resultList = groupUserRoleDAO.getObject(preferences);
+         return resultList;
+      }
+      return (null);
+   }
+   
+   public void createPreference(String module, String userId, String key, 
List<String> values){
+      try{
+         ListIterator it = values.listIterator();
+         while (it.hasNext()){
+            ModulePref modulePref = new ModulePref();
+            modulePref.setModuleValue(it.next().toString());
+            modulePref.setModuleKey(key); 
+            modulePref.setUserId(userId);
+            modulePref.setModule(module);
+            modulePrefDAO.insertByObject(modulePref);
+         }
+      }
+      catch(Exception e){
+         System.out.println("Can't create the preferences: " + e);
+      }
+   }
+   
+   public void removePreferences(String module, String userId, String key){
+      if (module == "Newsletter"){
+         modulePrefDAO.deleteByCriteria(module, userId, key);
+      }
    }
 }


Index: NewsletterCommunicationServiceMysqlImpl.java
===================================================================
RCS file: 
/var/cvs/contributions/CMSContainer_Modules/community/src/java/com/finalist/cmsc/services/community/NewsletterCommunicationServiceMysqlImpl.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- NewsletterCommunicationServiceMysqlImpl.java        17 Dec 2007 10:20:52 
-0000      1.5
+++ NewsletterCommunicationServiceMysqlImpl.java        16 Jan 2008 12:16:10 
-0000      1.6
@@ -8,10 +8,6 @@
 import javax.portlet.PortletSession;
 
 import org.springframework.context.ApplicationContext;
-import org.springframework.context.support.ClassPathXmlApplicationContext;
-
-import com.finalist.cmsc.services.community.data.NewsPref;
-import com.finalist.cmsc.services.community.HibernateNewsPrefService;
 
 public class NewsletterCommunicationServiceMysqlImpl extends 
NewsletterCommunicationService {
 
@@ -22,198 +18,63 @@
    private ApplicationContext aC;
 
    public List<String> getAllNewsPrefs(){
-      aC = new ClassPathXmlApplicationContext("applicationContext.xml");
-      HibernateNewsPrefService hibservice = 
(HibernateNewsPrefService)aC.getBean("serviceNewsLetter");
-      List<String> newsPrefs = hibservice.getAllNewsPrefs();
-      if (newsPrefs != null && newsPrefs.size() > 0){
-         return newsPrefs;
-      }
       return (null);
    }
    
    public List<String> getUsersWithPreferences(String key, String value){
-
-      aC = new ClassPathXmlApplicationContext("applicationContext.xml");
-      
-      HibernateNewsPrefService hibservice = 
(HibernateNewsPrefService)aC.getBean("serviceNewsLetter");;
-
-      List<String> resultList = hibservice.getUsersWithPreferences(key, value);
-      if (resultList != null && resultList.size() > 0){
-         return resultList;
-      }
       return (null);
    }
    
    public List<String> getUsersWithPreference(String key) {
-      
-      aC = new ClassPathXmlApplicationContext("applicationContext.xml");
-      
-      HibernateNewsPrefService hibservice = 
(HibernateNewsPrefService)aC.getBean("serviceNewsLetter");;
-      
-      List<String> resultList = hibservice.getUsersWithPreference(key);
-      if (resultList != null && resultList.size() > 0){
-         return resultList;
-      }
       return (null);
    }
    
    public String getUserPreference(String userName, String key) {
-      
-      aC = new ClassPathXmlApplicationContext("applicationContext.xml");
-      
-      HibernateNewsPrefService hibservice = 
(HibernateNewsPrefService)aC.getBean("serviceNewsLetter");;
-      
-      String preference = hibservice.getUserPreference(userName, key);
-      if (preference != null){
-         return preference;
-      }
       return (null);
    }
    
    public List<String> getUserPreferences(String userName, String key) {
-      
-      aC = new ClassPathXmlApplicationContext("applicationContext.xml");
-      
-      HibernateNewsPrefService hibservice = 
(HibernateNewsPrefService)aC.getBean("serviceNewsLetter");;
-      
-      List<String> preferenceList = hibservice.getUserPreferences(userName, 
key);
-      if (preferenceList != null && preferenceList.size() > 0){
-         return preferenceList;
-      }
       return (null);
    }
    
    public boolean setUserPreference(String userName, String key, String value){
-      
-      aC = new ClassPathXmlApplicationContext("applicationContext.xml");
-      boolean succes;
-      HibernateNewsPrefService hibservice = 
(HibernateNewsPrefService)aC.getBean("serviceNewsLetter");
-      try{
-         NewsPref newsPref = hibservice.createUserPreference(userName, key, 
value);
-         if(newsPref != null){
-            succes = true;
-         }
-         else{
-            succes = false;
-         }
-      }
-      catch (Exception e){
-         succes = false;
-      }
-      
-      return succes;
+      return (false);
    }
    
    public boolean setUserPreferenceValues(String userName, Map<String, String> 
preferences) {
-      
-      aC = new ClassPathXmlApplicationContext("applicationContext.xml");
-      boolean succes;
-      NewsPref newsPref = new NewsPref();
-      HibernateNewsPrefService hibservice = 
(HibernateNewsPrefService)aC.getBean("serviceNewsLetter");
-      try{
-         
-         Iterator keys = preferences.keySet().iterator();
-         Iterator values = preferences.values().iterator();
-         
-         while(keys.hasNext() && values.hasNext()){
-            newsPref = hibservice.createUserPreference(userName, 
keys.next().toString(), values.next().toString());
-         }
-         if (newsPref != null){
-            succes = true;
-         }
-         else{
-            succes = false;
-         }
-      }
-      catch (Exception e){
-         succes = false;
-      }
-      return succes;
+      return (false);
    }
    
    public boolean removeUserPreference(String userName, String key){
-      aC = new ClassPathXmlApplicationContext("applicationContext.xml");
-      boolean succes;
-      HibernateNewsPrefService hibservice = 
(HibernateNewsPrefService)aC.getBean("serviceNewsLetter");
-      succes = hibservice.removeUserPreference(userName, key);
-      return succes;
+      return (false);
    }
    
    public void removeUserPreference(String userName, String key, String value){
-      aC = new ClassPathXmlApplicationContext("applicationContext.xml");
-      HibernateNewsPrefService hibservice = 
(HibernateNewsPrefService)aC.getBean("serviceNewsLetter");
-      hibservice.removeUserPreference(userName, key, value);
+      
    }
    
    public void removeNewsPrefByUser(String userName){
-      aC = new ClassPathXmlApplicationContext("applicationContext.xml");
-      HibernateNewsPrefService hibservice = 
(HibernateNewsPrefService)aC.getBean("serviceNewsLetter");
-      hibservice.removeNewsPrefByUser(userName);
+      
    }
    
    public int countK(String key, String value) {
-      aC = new ClassPathXmlApplicationContext("applicationContext.xml");
-      HibernateNewsPrefService hibservice = 
(HibernateNewsPrefService)aC.getBean("serviceNewsLetter");
-      List result = hibservice.countK(key, value);
-      Iterator countL = result.iterator();
-      String countS = "0";
-      while(countL.hasNext()){
-         countS = countL.next().toString();
-      }
-      int count = Integer.parseInt(countS);
-      return count;
+      return (0);
    }
 
    public int count(String userName, String key) {
-      aC = new ClassPathXmlApplicationContext("applicationContext.xml");
-      HibernateNewsPrefService hibservice = 
(HibernateNewsPrefService)aC.getBean("serviceNewsLetter");
-      List result = hibservice.count(userName, key);
-      Iterator countL = result.iterator();
-      String countS = "0";
-      while(countL.hasNext()){
-         countS = countL.next().toString();
-      }
-      int count = Integer.parseInt(countS);
-      return count;
+      return (0);
    }
 
    public int count(String userName, String key, String value) {
-      aC = new ClassPathXmlApplicationContext("applicationContext.xml");
-      HibernateNewsPrefService hibservice = 
(HibernateNewsPrefService)aC.getBean("serviceNewsLetter");
-      List result = hibservice.count(userName, key, value);
-      Iterator countL = result.iterator();
-      String countS = "0";
-      while(countL.hasNext()){
-         countS = countL.next().toString();
-      }
-      int count = Integer.parseInt(countS);
-      return count;
+      return (0);
    }
    
    public int countByKey(String key) {
-      aC = new ClassPathXmlApplicationContext("applicationContext.xml");
-      HibernateNewsPrefService hibservice = 
(HibernateNewsPrefService)aC.getBean("serviceNewsLetter");
-      List result = hibservice.countByKey(key);
-      Iterator countL = result.iterator();
-      String countS = "0";
-      while(countL.hasNext()){
-         countS = countL.next().toString();
-      }
-      int count = Integer.parseInt(countS);
-      return count;
+      return (0);
    }
    
    public boolean hasPermission(String userName, String permission){
-      
-      boolean permissionB;
-      
-      if(userName == "jaspers" || userName == "admin"){
-         permissionB = true;
-      }
-      else{
-         permissionB = false;
-      }
-      return permissionB;
+      return (false);
    }
    
 }


Index: HibernateLoginModule.java
===================================================================
RCS file: 
/var/cvs/contributions/CMSContainer_Modules/community/src/java/com/finalist/cmsc/services/community/HibernateLoginModule.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- HibernateLoginModule.java   21 Dec 2007 09:00:53 -0000      1.5
+++ HibernateLoginModule.java   16 Jan 2008 12:16:10 -0000      1.6
@@ -11,6 +11,7 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.hibernate.criterion.Restrictions;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.support.ClassPathXmlApplicationContext;
 
@@ -323,23 +324,23 @@
       if (callbackHandler instanceof PassiveCallbackHandler)
          ((PassiveCallbackHandler) callbackHandler).clearPassword();
 
-      // remove the principals the login module added
-      //Iterator it = 
subject.getPrincipals(HibernatePrincipal.class).iterator();
-      //while (it.hasNext()) {
-      //   HibernatePrincipal p = (HibernatePrincipal) it.next();
-      //   if (debug)
-      //      System.out.println("\t\t[HibernateLoginModule] removing 
principal " + p.toString());
-      //   subject.getPrincipals().remove(p);
-      //}
+      //remove the principals the login module added
+      Iterator it = subject.getPrincipals(HibernatePrincipal.class).iterator();
+      while (it.hasNext()) {
+         HibernatePrincipal p = (HibernatePrincipal) it.next();
+         if (debug)
+            System.out.println("\t\t[HibernateLoginModule] removing principal 
" + p.toString());
+         subject.getPrincipals().remove(p);
+      }
 
       //remove the credentials the login module added
-      //it = 
subject.getPublicCredentials(HibernateCredential.class).iterator();
-      //while (it.hasNext()) {
-      //   HibernateCredential c = (HibernateCredential) it.next();
-      //   if (debug)
-      //      System.out.println("\t\t[HibernateLoginModule] removing 
credential " + c.toString());
-      //   subject.getPrincipals().remove(c);
-      //}
+      it = subject.getPublicCredentials(HibernateCredential.class).iterator();
+      while (it.hasNext()) {
+         HibernateCredential c = (HibernateCredential) it.next();
+         if (debug)
+            System.out.println("\t\t[HibernateLoginModule] removing credential 
" + c.toString());
+         subject.getPrincipals().remove(c);
+      }
 
       return (true);
    }
@@ -358,15 +359,6 @@
     * @exception Exception
     *               if the validation fails.
     */
-   public String name;
-   public void setName(String name){
-      this.name = name;
-   }
-   
-   public String getName(){
-      return name;
-   }
-   
    private boolean HibernateValidate(String user, String pass) throws 
Exception {
 
       HibernatePrincipal p = null;
@@ -381,29 +373,24 @@
       
       HibernateCommunityService hibservice = 
(HibernateCommunityService)aC.getBean("serviceCommunity");
       
-      HibernateGroupUserRoleService hibserviceGUR = 
(HibernateGroupUserRoleService)aC.getBean("serviceGroupUserRole");
-      
       System.out.println("LoginModule Ingevoerde user: " + user);
       
-      User users = hibservice.getUser(user);
+      Map<String, String> preferences = new HashMap<String, String>();
+      preferences.put("userId", user);
       
-      /*Object clas = null;
+      List<String> userObjectList = hibservice.getObject("User", preferences);
+      if(userObjectList != null && userObjectList.size() > 0){
+         ListIterator userObjectIt = userObjectList.listIterator();
+         while(userObjectIt.hasNext()){
+            User users = (User)userObjectIt.next();
       
-      Class clss = getClass();
-      this.setName("mennowm");
-      Object obj  = this.getName();
-      clas = hibservice.getByParam("User", "userId", obj);
-      User testUser = (User)clas;
-      System.out.println("TestUsercompatability: " + testUser.getName() + " " 
+ testUser.getLastname());
-      clas = hibservice.getByParam("GroupUserRole", "userId", obj);
-      GroupUserRole groups = (GroupUserRole)clas;
-      System.out.println("TestGroupUserRolecompatability: " + 
groups.getUserId() + " " + groups.getGroupId() + " " + groups.getRoleId());
-          */
       dbUsername = users.getUserId();
       dbPassword = users.getPassword();
       dbFname = users.getName();
       dbLname = users.getLastname();
       dbEmailAdress = users.getEmailadress();
+         }
+      }
       
       if (dbPassword == null)
          throw new LoginException("User " + user + " not found");
@@ -420,7 +407,7 @@
          c.setProperty("Username", dbUsername);
          c.setProperty("Password", dbPassword);
          this.tempCredentials.add(c);
-         List groupUserRoleList = hibserviceGUR.getGroupUserRoleList(user);
+         List groupUserRoleList = hibservice.getObject("UserGroups", 
preferences);
          System.out.println("groupUserRoleList: " + groupUserRoleList);
          String groupRole = null;
          if(groupUserRoleList != null && groupUserRoleList.size() > 0){








_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to