Scarab commit: svn commit: r10157 - branches/release/b21/src/java/org/tigris/scarab: actions om tools util/word

[email protected]
Newsgroups gmane.comp.java.scarab.cvs
Message-ID <[email protected]>
Author: dabbous
Date: 2006-06-09 09:08:22-0700
New Revision: 10157

Modified:
   branches/release/b21/src/java/org/tigris/scarab/actions/Search.java
   branches/release/b21/src/java/org/tigris/scarab/om/Issue.java
   branches/release/b21/src/java/org/tigris/scarab/tools/ScarabRequestTool.java
   branches/release/b21/src/java/org/tigris/scarab/util/word/IssueSearch.java

Log:
query-matrix shows illegal counters for attributes which
are NOT commonly available in all issueTypes of the 
current module. The list of available attribute options
was then wrongly calculated to 0.

Modified: branches/release/b21/src/java/org/tigris/scarab/actions/Search.java
Url: http://scarab.tigris.org/source/browse/scarab/branches/release/b21/src/java/org/tigris/scarab/actions/Search.java?view=diff&rev=10157&p1=branches/release/b21/src/java/org/tigris/scarab/actions/Search.java&p2=branches/release/b21/src/java/org/tigris/scarab/actions/Search.java&r1=10156&r2=10157
==============================================================================
--- branches/release/b21/src/java/org/tigris/scarab/actions/Search.java	(original)
+++ branches/release/b21/src/java/org/tigris/scarab/actions/Search.java	2006-06-09 09:08:22-0700
@@ -744,7 +744,8 @@
                          + "&intake-grp=attv"
                          + "&intake-grp=search"
                          + "&searchsp=asc"
-                         + "&searchtype=advanced";
+                         + "&searchtype=advanced"
+                         + "&searchallattributes=true";
 
         final String queryEnd = "&searchsctoi=0"
                               +  "&resultsperpage=25"

Modified: branches/release/b21/src/java/org/tigris/scarab/om/Issue.java
Url: http://scarab.tigris.org/source/browse/scarab/branches/release/b21/src/java/org/tigris/scarab/om/Issue.java?view=diff&rev=10157&p1=branches/release/b21/src/java/org/tigris/scarab/om/Issue.java&p2=branches/release/b21/src/java/org/tigris/scarab/om/Issue.java&r1=10156&r2=10157
==============================================================================
--- branches/release/b21/src/java/org/tigris/scarab/om/Issue.java	(original)
+++ branches/release/b21/src/java/org/tigris/scarab/om/Issue.java	2006-06-09 09:08:22-0700
@@ -833,13 +833,15 @@
         if (obj == null) 
         {        
             List attributes = null;
+            Module module = getModule();
+            IssueType issueType = getIssueType();
             if (isActive)
             {
-                attributes = getIssueType().getActiveAttributes(getModule());
+                attributes = issueType.getActiveAttributes(module);
             }
             else
             {
-                attributes = getModule().getAttributes(getIssueType());
+                attributes = module.getAttributes(issueType);
             }
             Map siaValuesMap = getAttributeValuesMap();
             result = new LinkedMap((int)(1.25*attributes.size() + 1));

Modified: branches/release/b21/src/java/org/tigris/scarab/tools/ScarabRequestTool.java
Url: http://scarab.tigris.org/source/browse/scarab/branches/release/b21/src/java/org/tigris/scarab/tools/ScarabRequestTool.java?view=diff&rev=10157&p1=branches/release/b21/src/java/org/tigris/scarab/tools/ScarabRequestTool.java&p2=branches/release/b21/src/java/org/tigris/scarab/tools/ScarabRequestTool.java&r1=10156&r2=10157
==============================================================================
--- branches/release/b21/src/java/org/tigris/scarab/tools/ScarabRequestTool.java	(original)
+++ branches/release/b21/src/java/org/tigris/scarab/tools/ScarabRequestTool.java	2006-06-09 09:08:22-0700
@@ -1709,6 +1709,7 @@
         StringValueParser parser = new StringValueParser();
         parser.parse(query, '&', '=', true);
         String[] userList = parser.getStrings("user_list");
+        boolean searchInAllAttributes = parser.getBoolean("searchallattributes",false);
         if (userList != null && userList.length > 0)
         {
             for (int i = 0; i < userList.length; i++)
@@ -1782,7 +1783,16 @@
         }
         
         // Set attribute values to search on
-        LinkedMap avMap = search.getCommonAttributeValuesMap();
+        LinkedMap avMap;
+        if(searchInAllAttributes)
+        {
+            avMap = search.getAllAvailableAttributeValuesMap();           
+        }
+        else
+        {
+            avMap = search.getCommonAttributeValuesMap();           
+        }
+
         Iterator i = avMap.mapIterator();
         while (i.hasNext()) 
         {

Modified: branches/release/b21/src/java/org/tigris/scarab/util/word/IssueSearch.java
Url: http://scarab.tigris.org/source/browse/scarab/branches/release/b21/src/java/org/tigris/scarab/util/word/IssueSearch.java?view=diff&rev=10157&p1=branches/release/b21/src/java/org/tigris/scarab/util/word/IssueSearch.java&p2=branches/release/b21/src/java/org/tigris/scarab/util/word/IssueSearch.java&r1=10156&r2=10157
==============================================================================
--- branches/release/b21/src/java/org/tigris/scarab/util/word/IssueSearch.java	(original)
+++ branches/release/b21/src/java/org/tigris/scarab/util/word/IssueSearch.java	2006-06-09 09:08:22-0700
@@ -420,20 +420,54 @@
         return userIdList;
     }
 
+    /**
+     * returns the list of attribute values
+     * for all attributes in the current module
+     * and defined for all currently searched issueTypes.
+     * @return
+     * @throws Exception
+     */
     public LinkedMap getCommonAttributeValuesMap()
-        throws Exception
+    throws Exception
     {
-    	LinkedMap result = null;
+        return internalGetAttributeValuesMap(true);
+    }
+    
+    /**
+     * returns the list of attribute values
+     * for all attributes in the current module.
+     * @return
+     * @throws Exception
+     */
+    public LinkedMap getAllAvailableAttributeValuesMap()
+    throws Exception
+    {
+        return internalGetAttributeValuesMap(false);
+    }
+        
+    /**
+     * returns the list of attribute values
+     * for all attributes in the current module.
+     * 
+     * if(commonOnly==true) 
+     * return only attribute values which are
+     * commonly defined for all searched issueTypes.
+     * @return
+     * @throws Exception
+     */
+    private LinkedMap internalGetAttributeValuesMap(boolean commonOnly) throws Exception
+    {
+        LinkedMap result = null;
         if (isXMITSearch()) 
         {
-            result = getMITAttributeValuesMap();
+            result = getMITAttributeValuesMap(commonOnly);
         }
         else 
         {
             result = super.getModuleAttributeValuesMap(false);
         }
         return result;
-    }
+    }   
 
     /**
      * AttributeValues that are relevant to the issue's current module.
@@ -441,13 +475,21 @@
      * not been set for the issue are included.  The values are ordered
      * according to the module's preference
      */
-    private LinkedMap getMITAttributeValuesMap() 
+    private LinkedMap getMITAttributeValuesMap(boolean commonOnly) 
         throws Exception
     {
     	LinkedMap result = null;
 
-        List attributes = mitList.getCommonAttributes(false);
-        //List attributes = mitList.getAttributes(false,false);
+        List attributes;
+        if(commonOnly)
+        {
+            attributes = mitList.getCommonAttributes(false);
+        }
+        else
+        {
+            attributes = mitList.getAttributes(false,false);
+        }
+
         Map siaValuesMap = getAttributeValuesMap();
         if (attributes != null) 
         {
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.