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