Scarab commit: svn commit: r11127 - trunk: . src/conf/conf src/java/org/tigris/scarab/tools/install/web src/java/org/tigris/scarab/util/word src/webapp www

[email protected] Fri, 13 Apr 2012 06:19:29 -0700 (PDT)
Newsgroups gmane.comp.java.scarab.cvs
Message-ID <[email protected]>
Author: mcoss
Date: 2012-04-13 06:19:29-0700
New Revision: 11127

Modified:
   trunk/   (props changed)
   trunk/project.properties
   trunk/properties.xsl   (props changed)
   trunk/scarab_properties.xml
   trunk/src/conf/conf/build.xml
   trunk/src/java/org/tigris/scarab/tools/install/web/package.html   (props changed)
   trunk/src/java/org/tigris/scarab/util/word/IssueSearch.java
   trunk/src/webapp/index.html   (props changed)
   trunk/www/index.html   (props changed)
   trunk/www/project_footer.html   (props changed)
   trunk/www/project_header.html   (props changed)
   trunk/www/project_nav.html   (props changed)
   trunk/www/project_tools.html   (props changed)
   trunk/www/users.html   (props changed)

Log:
MRG - Merged revision from b22-release branch starting from last revision of merge: 11016-11070

Modified: trunk/project.properties
Url: http://scarab.tigris.org/source/browse/scarab/trunk/project.properties?view=diff&pathrev=11127&r1=11126&r2=11127
==============================================================================
--- trunk/project.properties	(original)
+++ trunk/project.properties	2012-04-13 06:19:29-0700
@@ -2347,7 +2347,7 @@
 # 
 
 maven.multiproject.type=war
-maven.repo.remote=file:www/repository,http://www.ibiblio.org/maven/,http://mirrors.ibiblio.org/pub/mirrors/maven/,http://guest:[email protected]/svn/scarab/trunk/www/repository/,http://maven-plugins.sourceforge.net/maven, http://www.apache.org/dist/java-repository/
+maven.repo.remote=file:www/repository,http://www.ibiblio.org/maven/,http://repo2.maven.org/maven/,http://mirrors.ibiblio.org/pub/mirrors/maven,http://guest:[email protected]/svn/scarab/trunk/www/repository/,http://maven-plugins.sourceforge.net/maven,http://www.apache.org/dist/java-repository/
 maven.docbook.src=www/book
 maven.sdocbook.src.dir=www/book
 maven.sdocbook.files=**/scarab-*.xml

Modified: trunk/scarab_properties.xml
Url: http://scarab.tigris.org/source/browse/scarab/trunk/scarab_properties.xml?view=diff&pathrev=11127&r1=11126&r2=11127
==============================================================================
--- trunk/scarab_properties.xml	(original)
+++ trunk/scarab_properties.xml	2012-04-13 06:19:29-0700
@@ -2871,7 +2871,7 @@
       </property>
       <property>
         <name>maven.repo.remote</name>
-        <default>file:www/repository,http://www.ibiblio.org/maven/,http://mirrors.ibiblio.org/pub/mirrors/maven/,http://guest:[email protected]/svn/scarab/trunk/www/repository/,http://maven-plugins.sourceforge.net/maven, http://www.apache.org/dist/java-repository/</default>
+        <default>file:www/repository,http://www.ibiblio.org/maven/,http://repo2.maven.org/maven/,http://mirrors.ibiblio.org/pub/mirrors/maven,http://guest:[email protected]/svn/scarab/trunk/www/repository/,http://maven-plugins.sourceforge.net/maven,http://www.apache.org/dist/java-repository/</default>
         <type>Build</type>
          <customization modification="optional">advanced</customization>
         <file/>

Modified: trunk/src/conf/conf/build.xml
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/conf/conf/build.xml?view=diff&pathrev=11127&r1=11126&r2=11127
==============================================================================
--- trunk/src/conf/conf/build.xml	(original)
+++ trunk/src/conf/conf/build.xml	2012-04-13 06:19:29-0700
@@ -210,6 +210,8 @@
             <transaction src="${sql.current.upgrade.dir}/upgrade-0.22-fill_activity_type.sql"/>
             <transaction src="${sql.current.upgrade.dir}/upgrade-0.22-attributegroup-viewrole.sql"/>
             <transaction src="${sql.current.upgrade.dir}/upgrade-0.22-add-scarab-issues-email-references.sql"/>
+			<transaction src="${sql.current.upgrade.dir}/upgrade-0.22-add-new-permissions.sql"/>
+			<transaction src="${sql.current.upgrade.dir}/upgrade-0.22-global-booleans-to-long-form.sql"/>
         </sql>
     </target>
 

Modified: trunk/src/java/org/tigris/scarab/util/word/IssueSearch.java
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/java/org/tigris/scarab/util/word/IssueSearch.java?view=diff&pathrev=11127&r1=11126&r2=11127
==============================================================================
--- trunk/src/java/org/tigris/scarab/util/word/IssueSearch.java	(original)
+++ trunk/src/java/org/tigris/scarab/util/word/IssueSearch.java	2012-04-13 06:19:29-0700
@@ -746,6 +746,36 @@
         
         attributeIds.add(attributeId);
     }
+    
+    /**
+     * Returns reversed list of search users.
+     * Old order = user: attr1, attr2, attr3, ...
+     * New order = attr: user1, user2, user3, ... 
+     * @return
+     */
+    private Map getSearchUserAttributes(){
+    	 
+    	Map searchUserAttributes = new HashMap();
+    	for (Iterator i=searchUsers.entrySet().iterator(); i.hasNext();) 
+         {    
+    		
+             Map.Entry entry = (Map.Entry)i.next();
+             String userId = (String)entry.getKey();
+             Set attrIds = (Set)entry.getValue();
+             
+             for ( Iterator i2 = attrIds.iterator(); i2.hasNext();)
+             {  
+            	 String strAttributeId = (String)i2.next();
+            	 Set users = (Set)searchUserAttributes.get(strAttributeId);
+            	 if(users == null){
+            		 users = new HashSet();
+            	 }
+            	 users.add(userId);
+            	 searchUserAttributes.put(strAttributeId, users);
+             }
+         }
+    	return searchUserAttributes;
+    }
 
     public Integer getALL_TEXT()
     {
@@ -1436,7 +1466,6 @@
     {        
         List anyUsers = new ArrayList();
         List creatorUsers = new ArrayList();
-        Map attrUsers = new HashMap();
 
         for (Iterator i = searchUsers.entrySet().iterator(); i.hasNext();)
         {                
@@ -1463,19 +1492,13 @@
     	        }
     	        else 
     	        {
-    	            List userIds = (List)attrUsers.get(attrId);
-    	            if (userIds == null) 
-    	            {
-    	                userIds = new ArrayList();
-    	                attrUsers.put(attrId, userIds);
-    	            }
-    	            userIds.add(userId);
+    	           //Normal user attributes will be added as attributes in 'addAttributeOptionCriteria'.
     	        }
 
             }
         }
 
-        if (anyUsers.size()>0 || attrUsers.size()>0 || creatorUsers.size()>0)
+        if (anyUsers.size()>0 || creatorUsers.size()>0)
         {
             crit.addAlias("USER_TABLE", ActivityPeer.TABLE_NAME);
             crit.addJoin( 
@@ -1489,36 +1512,7 @@
         {
             crit.addIn(useAlias("USER_TABLE",ActivityPeer.NEW_USER_ID), anyUsers);
         }                                     
-        if (attrUsers.size()>0) 
-        {
-            for (Iterator i = attrUsers.entrySet().iterator(); i.hasNext();)
-            {                
-                Map.Entry entry = (Map.Entry)i.next();
-                String attrId = (String)entry.getKey();
-                List userIds = (List)entry.getValue();
-                
-                Criteria.Criterion userIds4attrId = crit.getNewCriterion(
-                    useAlias("USER_TABLE",ActivityPeer.NEW_USER_ID),
-                    userIds,
-                    Criteria.IN
-                );
-                userIds4attrId.and(crit.getNewCriterion(
-                    useAlias("USER_TABLE",ActivityPeer.ATTRIBUTE_ID),
-                    attrId,
-                    Criteria.EQUAL
-                ));
-                
-                Criteria.Criterion c = crit.getCriterion(useAlias("USER_TABLE",ActivityPeer.NEW_USER_ID));
-                if(c!=null)
-                {
-                	c.or(userIds4attrId);
-                }
-                else
-                {
-                	crit.add(userIds4attrId);
-                }
-            }
-        }
+        
         if (anyUsers.size()>0 || creatorUsers.size()>0)
         {
             List anyAndCreators = new ArrayList();
@@ -1596,6 +1590,7 @@
     {
         List setAttValues = getSetAttributeValues();
 
+		//get attributes avlues as flat list
         Map attrMap = new HashMap((int)(setAttValues.size()*1.25));
         for (int j=0; j<setAttValues.size(); j++) 
         {
@@ -1628,6 +1623,7 @@
             }
         }
 
+		//add misc attribute values for search
         for (Iterator i=attrMap.entrySet().iterator(); i.hasNext();) 
         {
             Map.Entry options4Attribute = (Map.Entry)i.next();
@@ -1645,6 +1641,42 @@
                 crit.or(useAlias(alias, AttributeValuePeer.OPTION_ID), (Object) null, Criteria.ISNULL);
             }
         }
+
+        Map searchUserAttributes = getSearchUserAttributes();
+        
+		//add values for user attributes
+        for (Iterator i=searchUserAttributes.entrySet().iterator(); i.hasNext();) 
+        {
+        	
+            Map.Entry entry = (Map.Entry)i.next();
+            String strAttributeId = (String)entry.getKey();
+            Set userIds = (Set)entry.getValue();
+            List searchUsersList = new ArrayList();
+        	
+            if(!ANY_KEY.equals(strAttributeId)
+        			&& !CREATED_BY_KEY.equals(strAttributeId)){
+        		int attributeId = Integer.parseInt(strAttributeId);
+            	//add search values for user attributes
+            	String alias = "av" + attributeId;            
+                crit.addAlias(alias, AttributeValuePeer.TABLE_NAME);
+                joinAttributeValue(crit, alias, attributeId, Criteria.LEFT_JOIN);
+                
+                for ( Iterator i2 = userIds.iterator(); i2.hasNext();)
+                {          	           	
+                	String strUserId = (String)i2.next();
+                	if(SEARCHING_USER_KEY.equalsIgnoreCase(strUserId)) 
+        	        {
+                		//Special user criteria. These are handled by method 'addUserCriteria'.
+        	        }
+        	        else{
+    	                searchUsersList.add(strUserId);
+        	        }
+                }
+                crit.andIn(useAlias(alias, AttributeValuePeer.USER_ID), searchUsersList );
+        	}                      
+            
+        }
+
     }
 
     private void joinAttributeValue(Criteria crit, String alias, Integer attributeId, SqlEnum operator)

------------------------------------------------------
http://scarab.tigris.org/ds/viewMessage.do?dsForumId=3577&dsMessageId=2948041