Author: adrianc
Date: Fri Jan 15 07:34:15 2010
New Revision: 899550
URL: http://svn.apache.org/viewvc?rev=899550&view=rev
Log:
Some more code cleanups.
Modified:
ofbiz/branches/executioncontext20091231/framework/api/src/org/ofbiz/api/authorization/AdminPermission.java
ofbiz/branches/executioncontext20091231/framework/api/src/org/ofbiz/api/authorization/BasicPermission.java
ofbiz/branches/executioncontext20091231/framework/api/src/org/ofbiz/api/authorization/OfbizSecurityTransform.java
ofbiz/branches/executioncontext20091231/framework/api/src/org/ofbiz/api/authorization/PermissionsSet.java
ofbiz/branches/executioncontext20091231/framework/api/src/org/ofbiz/api/authorization/PermissionsUnion.java
ofbiz/branches/executioncontext20091231/framework/api/src/org/ofbiz/api/context/ArtifactPath.java
ofbiz/branches/executioncontext20091231/framework/context/src/org/ofbiz/context/AuthorizationManagerImpl.java
Modified:
ofbiz/branches/executioncontext20091231/framework/api/src/org/ofbiz/api/authorization/AdminPermission.java
URL:
http://svn.apache.org/viewvc/ofbiz/branches/executioncontext20091231/framework/api/src/org/ofbiz/api/authorization/AdminPermission.java?rev=899550&r1=899549&r2=899550&view=diff
==============================================================================
---
ofbiz/branches/executioncontext20091231/framework/api/src/org/ofbiz/api/authorization/AdminPermission.java
(original)
+++
ofbiz/branches/executioncontext20091231/framework/api/src/org/ofbiz/api/authorization/AdminPermission.java
Fri Jan 15 07:34:15 2010
@@ -38,7 +38,7 @@
try {
AdminPermission that = (AdminPermission) obj;
return this.permissionString.equals(that.permissionString);
- } catch (Exception e) {}
+ } catch (ClassCastException e) {}
return false;
}
Modified:
ofbiz/branches/executioncontext20091231/framework/api/src/org/ofbiz/api/authorization/BasicPermission.java
URL:
http://svn.apache.org/viewvc/ofbiz/branches/executioncontext20091231/framework/api/src/org/ofbiz/api/authorization/BasicPermission.java?rev=899550&r1=899549&r2=899550&view=diff
==============================================================================
---
ofbiz/branches/executioncontext20091231/framework/api/src/org/ofbiz/api/authorization/BasicPermission.java
(original)
+++
ofbiz/branches/executioncontext20091231/framework/api/src/org/ofbiz/api/authorization/BasicPermission.java
Fri Jan 15 07:34:15 2010
@@ -41,7 +41,7 @@
try {
BasicPermission that = (BasicPermission) obj;
return this.permissionString.equals(that.permissionString);
- } catch (Exception e) {}
+ } catch (ClassCastException e) {}
return false;
}
Modified:
ofbiz/branches/executioncontext20091231/framework/api/src/org/ofbiz/api/authorization/OfbizSecurityTransform.java
URL:
http://svn.apache.org/viewvc/ofbiz/branches/executioncontext20091231/framework/api/src/org/ofbiz/api/authorization/OfbizSecurityTransform.java?rev=899550&r1=899549&r2=899550&view=diff
==============================================================================
---
ofbiz/branches/executioncontext20091231/framework/api/src/org/ofbiz/api/authorization/OfbizSecurityTransform.java
(original)
+++
ofbiz/branches/executioncontext20091231/framework/api/src/org/ofbiz/api/authorization/OfbizSecurityTransform.java
Fri Jan 15 07:34:15 2010
@@ -77,7 +77,7 @@
try {
StringModel modelObj = (StringModel) freeMarkerObject;
result = modelObj.getAsString();
- } catch (Exception e) {
+ } catch (ClassCastException e) {
try {
SimpleScalar scalarObj = (SimpleScalar) freeMarkerObject;
result = scalarObj.getAsString();
Modified:
ofbiz/branches/executioncontext20091231/framework/api/src/org/ofbiz/api/authorization/PermissionsSet.java
URL:
http://svn.apache.org/viewvc/ofbiz/branches/executioncontext20091231/framework/api/src/org/ofbiz/api/authorization/PermissionsSet.java?rev=899550&r1=899549&r2=899550&view=diff
==============================================================================
---
ofbiz/branches/executioncontext20091231/framework/api/src/org/ofbiz/api/authorization/PermissionsSet.java
(original)
+++
ofbiz/branches/executioncontext20091231/framework/api/src/org/ofbiz/api/authorization/PermissionsSet.java
Fri Jan 15 07:34:15 2010
@@ -49,7 +49,7 @@
try {
PermissionsSet that = (PermissionsSet) obj;
return this.permissionsSet.equals(that.permissionsSet);
- } catch (Exception e) {}
+ } catch (ClassCastException e) {}
return false;
}
Modified:
ofbiz/branches/executioncontext20091231/framework/api/src/org/ofbiz/api/authorization/PermissionsUnion.java
URL:
http://svn.apache.org/viewvc/ofbiz/branches/executioncontext20091231/framework/api/src/org/ofbiz/api/authorization/PermissionsUnion.java?rev=899550&r1=899549&r2=899550&view=diff
==============================================================================
---
ofbiz/branches/executioncontext20091231/framework/api/src/org/ofbiz/api/authorization/PermissionsUnion.java
(original)
+++
ofbiz/branches/executioncontext20091231/framework/api/src/org/ofbiz/api/authorization/PermissionsUnion.java
Fri Jan 15 07:34:15 2010
@@ -53,7 +53,7 @@
}
}
return false;
- } catch (Exception e) {}
+ } catch (ClassCastException e) {}
try {
PermissionsIntersection permissionsIntersection =
(PermissionsIntersection) permission;
for (Permission perm :
permissionsIntersection.getPermissionsSet()) {
@@ -62,7 +62,7 @@
}
}
return true;
- } catch (Exception e) {}
+ } catch (ClassCastException e) {}
for (Permission perm : this.permissionsSet) {
if (perm.implies(permission)) {
return true;
Modified:
ofbiz/branches/executioncontext20091231/framework/api/src/org/ofbiz/api/context/ArtifactPath.java
URL:
http://svn.apache.org/viewvc/ofbiz/branches/executioncontext20091231/framework/api/src/org/ofbiz/api/context/ArtifactPath.java?rev=899550&r1=899549&r2=899550&view=diff
==============================================================================
---
ofbiz/branches/executioncontext20091231/framework/api/src/org/ofbiz/api/context/ArtifactPath.java
(original)
+++
ofbiz/branches/executioncontext20091231/framework/api/src/org/ofbiz/api/context/ArtifactPath.java
Fri Jan 15 07:34:15 2010
@@ -33,7 +33,7 @@
protected int currentIndex = 0;
protected final String[] pathElementArray;
- protected FastList<Integer> stack = null;
+ protected FastList<Integer> stack = FastList.newInstance();
public ArtifactPath(String artifactPath) {
this.pathElementArray = artifactPath.split(PATH_ELEMENT_SEPARATOR);
@@ -84,15 +84,12 @@
}
public void restoreState() {
- if (this.stack != null && !this.stack.isEmpty()) {
+ if (!this.stack.isEmpty()) {
this.currentIndex = this.stack.removeLast();
}
}
public void saveState() {
- if (this.stack == null) {
- this.stack = FastList.newInstance();
- }
this.stack.addLast(this.currentIndex);
}
Modified:
ofbiz/branches/executioncontext20091231/framework/context/src/org/ofbiz/context/AuthorizationManagerImpl.java
URL:
http://svn.apache.org/viewvc/ofbiz/branches/executioncontext20091231/framework/context/src/org/ofbiz/context/AuthorizationManagerImpl.java?rev=899550&r1=899549&r2=899550&view=diff
==============================================================================
---
ofbiz/branches/executioncontext20091231/framework/context/src/org/ofbiz/context/AuthorizationManagerImpl.java
(original)
+++
ofbiz/branches/executioncontext20091231/framework/context/src/org/ofbiz/context/AuthorizationManagerImpl.java
Fri Jan 15 07:34:15 2010
@@ -22,6 +22,9 @@
import java.security.Permission;
import java.sql.Timestamp;
import java.util.List;
+import java.util.Map;
+
+import javolution.util.FastMap;
import org.ofbiz.api.authorization.AccessController;
import org.ofbiz.api.authorization.AuthorizationManager;
@@ -48,17 +51,24 @@
// Right now this class implements permission checking only.
public static final String module =
AuthorizationManagerImpl.class.getName();
- protected static final UtilCache<String, AccessController> userPermCache =
UtilCache.createUtilCache("authorization.UserPermissions");
+ protected static final UtilCache<String, Map<String, AccessController>>
userPermCache = UtilCache.createUtilCache("authorization.UserPermissions");
protected static AccessController getAccessController(String userLoginId)
throws AuthorizationManagerException {
- AccessController accessController = userPermCache.get(userLoginId);
+ Delegator delegator = ThreadContext.getDelegator();
+ Map<String, AccessController> controllerMap =
userPermCache.get(delegator.getDelegatorName());
+ if (controllerMap == null) {
+ synchronized (userPermCache) {
+ controllerMap = FastMap.newInstance();
+ userPermCache.put(delegator.getDelegatorName(), controllerMap);
+ }
+ }
+ AccessController accessController = controllerMap.get(userLoginId);
if (accessController != null) {
return accessController;
}
- synchronized (userPermCache) {
+ synchronized (controllerMap) {
+ ThreadContext.runUnprotected();
try {
- ThreadContext.runUnprotected();
- Delegator delegator = ThreadContext.getDelegator();
PathNode node = PathNode.getInstance(ArtifactPath.PATH_ROOT);
// Process group membership permissions first
List<GenericValue> groupMemberships =
delegator.findList("UserToUserGroupRel",
EntityCondition.makeCondition(UtilMisc.toMap("userLoginId", userLoginId)),
null, null, null, false);
@@ -69,7 +79,7 @@
List<GenericValue> permissionValues =
delegator.findList("UserToArtifactPermRel",
EntityCondition.makeCondition(UtilMisc.toMap("userLoginId", userLoginId)),
null, null, null, false);
setPermissions(userLoginId, node, permissionValues);
accessController = new AccessControllerImpl(node);
- userPermCache.put(userLoginId, accessController);
+ controllerMap.put(userLoginId, accessController);
} catch (GenericEntityException e) {
throw new AuthorizationManagerException(e);
} finally {
@@ -80,8 +90,8 @@
}
public static void logIncident(Permission permission) throws
AccessControlException {
+ ThreadContext.runUnprotected();
try {
- ThreadContext.runUnprotected();
PathNode node = PathNode.getInstance(ArtifactPath.PATH_ROOT);
TreeBuilder builder = new TreeBuilder(node);
Delegator delegator = ThreadContext.getDelegator();