[jboss-svn-commits] JBL Code SVN: r21251 - labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Jul 28 05:09:02 EDT 2008


Author: jervisliu
Date: 2008-07-28 05:09:02 -0400 (Mon, 28 Jul 2008)
New Revision: 21251

Modified:
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/ServiceImplementation.java
Log:
Fix for https://jira.jboss.org/jira/browse/JBRULES-1695. 

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/ServiceImplementation.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/ServiceImplementation.java	2008-07-28 09:08:34 UTC (rev 21250)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/ServiceImplementation.java	2008-07-28 09:09:02 UTC (rev 21251)
@@ -524,28 +524,35 @@
 	 * and this role has permission to access the package which the asset belongs to.
 	 */
 	public String checkinVersion(RuleAsset asset) throws SerializableException {
-
 		if (Contexts.isSessionContextActive()) {
 			Identity.instance().checkPermission(
 					new PackageNameType(asset.metaData.packageName),
 					RoleTypes.PACKAGE_READONLY);
 			
-			boolean passed = false;
-			RuntimeException exception = null;
-			for(String cat : asset.metaData.categories) {
-				try {
-					Identity.instance().checkPermission(
-							new CategoryPathType(cat),
-							RoleTypes.ANALYST);
-					passed = true;
-				} catch (RuntimeException e) {
-					exception = e;					
+			if(asset.metaData.categories.length == 0) {
+				Identity.instance().checkPermission(
+						new CategoryPathType(null),
+						RoleTypes.ANALYST);
+			} else {
+				boolean passed = false;
+				RuntimeException exception = null;
+
+				for (String cat : asset.metaData.categories) {
+					try {
+						Identity.instance().checkPermission(
+								new CategoryPathType(cat), RoleTypes.ANALYST);
+						passed = true;
+					} catch (RuntimeException e) {
+						exception = e;
+					}
 				}
+				if (!passed) {
+					throw exception;
+				}
 			}
-			if(!passed) {
-				throw exception;
-			}
 		}
+		
+		
 
 		log.info("USER:" + repository.getSession().getUserID()
 				+ " CHECKING IN asset: [" + asset.metaData.name + "] UUID: ["




More information about the jboss-svn-commits mailing list