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