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

Modified Files:
        PersonHibernateService.java PersonService.java 
Log Message:
CMSC-956 make all subscriber show correct data


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


Index: PersonHibernateService.java
===================================================================
RCS file: 
/var/cvs/contributions/CMSContainer_Modules/community/src/java/com/finalist/cmsc/services/community/person/PersonHibernateService.java,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -b -r1.19 -r1.20
--- PersonHibernateService.java 4 Aug 2008 08:32:05 -0000       1.19
+++ PersonHibernateService.java 5 Aug 2008 05:50:16 -0000       1.20
@@ -9,32 +9,26 @@
  */
 package com.finalist.cmsc.services.community.person;
 
-import com.finalist.cmsc.paging.PagingStatusHolder;
-import com.finalist.cmsc.paging.PagingUtils;
-import com.finalist.cmsc.services.HibernateService;
-import com.finalist.cmsc.services.community.domain.PersonExportImportVO;
-import com.finalist.cmsc.services.community.preferences.Preference;
-import com.finalist.cmsc.services.community.preferences.PreferenceService;
-import com.finalist.cmsc.services.community.security.Authentication;
-import com.finalist.cmsc.services.community.security.AuthenticationService;
-import com.finalist.cmsc.services.community.security.Authority;
+import java.util.*;
 
 import org.apache.commons.lang.StringUtils;
 import org.hibernate.Criteria;
 import org.hibernate.Query;
 import org.hibernate.criterion.Example;
 import org.hibernate.criterion.MatchMode;
-import org.hibernate.criterion.Property;
 import org.hibernate.criterion.Restrictions;
 import org.springframework.beans.factory.annotation.Required;
 import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
+import com.finalist.cmsc.paging.PagingStatusHolder;
+import com.finalist.cmsc.paging.PagingUtils;
+import com.finalist.cmsc.services.HibernateService;
+import com.finalist.cmsc.services.community.domain.PersonExportImportVO;
+import com.finalist.cmsc.services.community.preferences.Preference;
+import com.finalist.cmsc.services.community.preferences.PreferenceService;
+import com.finalist.cmsc.services.community.security.Authentication;
+import com.finalist.cmsc.services.community.security.AuthenticationService;
 
 /**
  * @author Remco Bos
@@ -106,7 +100,7 @@
       if (authenticationId == null) {
          throw new IllegalArgumentException("authenticationId is not filled 
in. ");
       }
-      //Create a new person and store it 
+               // Create a new person and store it
       Person person = new Person();
       person.setFirstName(firstName);
       person.setInfix(infix);
@@ -356,8 +350,36 @@
          condition = String.format(query, conditions.get(name));
       }
 
-      return " "+condition;
+               return " " + condition;
 
    }
 
+       @Transactional
+       public List<Person> getPersonsByAuthenticationIds(Set<Integer> 
authenticationIds, String name, String email) {
+               List<Person> persons = null;
+               if (authenticationIds.size() > 0) {
+                       StringBuffer stb = new StringBuffer("select distinct 
person from Person person");
+                       stb.append(" where person.authenticationId in (");
+                       for (int authId : authenticationIds) {
+                               stb.append(authId + ",");
+                       }
+                       stb.delete(stb.length() - 1, stb.length());
+                       stb.append(")");
+                       if (StringUtils.isNotBlank(email)) {
+                               stb.append(" and person.email like '%" + email 
+ "%'");
+                       }
+                       if (StringUtils.isNotBlank(name)) {
+                               String[] names = name.split(" ");
+                               if (names.length >= 2) {
+                                       stb.append(" and (person.firstName like 
'%" + names[0] + "%' or person.firstName like '%" + name + "%')"
+                                                       + " and 
(person.lastName like '%" + names[1] + "%' or person.lastName like '%" + name + 
"%')");
+                               } else if (names.length == 1) {
+                                       stb.append(" and (person.firstName like 
'%" + names[0] + "%')");
+                               }
+                       }
+                       Query q = getSession().createQuery(stb.toString());
+                       persons = q.list();
+               }
+               return persons;
+       }
 }


Index: PersonService.java
===================================================================
RCS file: 
/var/cvs/contributions/CMSContainer_Modules/community/src/java/com/finalist/cmsc/services/community/person/PersonService.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -b -r1.12 -r1.13
--- PersonService.java  31 Jul 2008 02:29:28 -0000      1.12
+++ PersonService.java  5 Aug 2008 05:50:16 -0000       1.13
@@ -11,6 +11,7 @@
 
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 
 
 import com.finalist.cmsc.paging.PagingStatusHolder;
@@ -80,4 +81,6 @@
    public List<Person> getAssociatedPersons(Map conditions);
 
    public int getAssociatedPersonsNum(Map<String,String> map);
+   
+   public List<Person> getPersonsByAuthenticationIds(Set<Integer> 
authenticationIds, String name, String email);
 }
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to