svn commit: r893591 - in /ofbiz/branches/executioncontext20090812: ./ framework/api/src/org/ofbiz/api/authorization/ framework/api/src/org/ofbiz/api/context/ framework/context/src/org/ofbiz/context/ framework/entity/src/org/ofbiz/entity/ framework/enti...

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

svn commit: r893591 - in /ofbiz/branches/executioncontext20090812: ./ framework/api/src/org/ofbiz/api/authorization/ framework/api/src/org/ofbiz/api/context/ framework/context/src/org/ofbiz/context/ framework/entity/src/org/ofbiz/entity/ framework/enti...

adrianc
Author: adrianc
Date: Wed Dec 23 18:27:42 2009
New Revision: 893591

URL: http://svn.apache.org/viewvc?rev=893591&view=rev
Log:
Cleaned up the generics in the AccessController interfaces/classes.

Modified:
    ofbiz/branches/executioncontext20090812/BranchReadMe.txt
    ofbiz/branches/executioncontext20090812/framework/api/src/org/ofbiz/api/authorization/AccessController.java
    ofbiz/branches/executioncontext20090812/framework/api/src/org/ofbiz/api/authorization/OfbizSecurityTransform.java
    ofbiz/branches/executioncontext20090812/framework/api/src/org/ofbiz/api/context/ExecutionContext.java
    ofbiz/branches/executioncontext20090812/framework/context/src/org/ofbiz/context/AccessControllerImpl.java
    ofbiz/branches/executioncontext20090812/framework/context/src/org/ofbiz/context/AuthorizationManagerImpl.java
    ofbiz/branches/executioncontext20090812/framework/context/src/org/ofbiz/context/ExecutionContextImpl.java
    ofbiz/branches/executioncontext20090812/framework/context/src/org/ofbiz/context/NullAccessController.java
    ofbiz/branches/executioncontext20090812/framework/entity/src/org/ofbiz/entity/AccessController.java
    ofbiz/branches/executioncontext20090812/framework/entity/src/org/ofbiz/entity/DelegatorImpl.java
    ofbiz/branches/executioncontext20090812/framework/entity/src/org/ofbiz/entity/ExecutionContext.java
    ofbiz/branches/executioncontext20090812/framework/entityext/src/org/ofbiz/entityext/data/EntityDataLoadContainer.java

Modified: ofbiz/branches/executioncontext20090812/BranchReadMe.txt
URL: http://svn.apache.org/viewvc/ofbiz/branches/executioncontext20090812/BranchReadMe.txt?rev=893591&r1=893590&r2=893591&view=diff
==============================================================================
--- ofbiz/branches/executioncontext20090812/BranchReadMe.txt (original)
+++ ofbiz/branches/executioncontext20090812/BranchReadMe.txt Wed Dec 23 18:27:42 2009
@@ -73,9 +73,9 @@
 2009-08-28: Permissions checking has been implemented. The code has
 a few bugs, and there are places where the ExecutionContext isn't being
 passed along, so OFBiz won't run with the AuthorizationManager enabled.
-Consequently, the AuthorizationManager is disabled by default. It still
-"pretends" to check permissions, but it always grants access. You can
-enable it with a property in api.properties.
+Consequently, the AuthorizationManager is disabled by default. When it
+is disabled, it still "pretends" to check permissions, but it always
+grants access. You can enable it with a property in api.properties.
 
 When a user first logs in, all of their permissions are gathered from the
 security entities and are used to assemble a tree-like Java structure.
@@ -84,3 +84,10 @@
 the tree, accumulating permissions along the way. This is how permission
 inheritance is achieved. The permission object is then queried if the user
 has the requested permission and the result is returned to the artifact.
+
+---------------------------------------------------------------------
+
+2009-12-23: This branch will not be synchronized with the trunk from now on.
+I tried to do a merge from the trunk and there were too many conflicts to
+resolve. When the time comes to implement the security-aware artifacts in
+the trunk, the handful of affected classes can be ported over manually.

Modified: ofbiz/branches/executioncontext20090812/framework/api/src/org/ofbiz/api/authorization/AccessController.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/executioncontext20090812/framework/api/src/org/ofbiz/api/authorization/AccessController.java?rev=893591&r1=893590&r2=893591&view=diff
==============================================================================
--- ofbiz/branches/executioncontext20090812/framework/api/src/org/ofbiz/api/authorization/AccessController.java (original)
+++ ofbiz/branches/executioncontext20090812/framework/api/src/org/ofbiz/api/authorization/AccessController.java Wed Dec 23 18:27:42 2009
@@ -27,7 +27,7 @@
  * separate the permissions-checking logic from the artifacts
  * that use it.
  */
-public interface AccessController<E>  {
+public interface AccessController  {
 
  /** Returns silently if the user has been granted <code>permission</code>
  * access for the current artifact, throws <code>AccessControlException</code>
@@ -51,7 +51,7 @@
      * were specified for the current artifact, or the original
      * <code>List</code> otherwise
      */
-    public List<E> applyFilters(List<E> list);
+    public <E> List<E> applyFilters(List<E> list);
 
     /** Applies permission filters to a <code>ListIterator</code>. The
      * returned <code>ListIterator</code> is security-aware, so methods
@@ -63,6 +63,6 @@
      * were specified for the current artifact, or the original
      * <code>ListIterator</code> otherwise
      */
- public ListIterator<E> applyFilters(ListIterator<E> list);
+ public <E> ListIterator<E> applyFilters(ListIterator<E> list);
 
 }

Modified: ofbiz/branches/executioncontext20090812/framework/api/src/org/ofbiz/api/authorization/OfbizSecurityTransform.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/executioncontext20090812/framework/api/src/org/ofbiz/api/authorization/OfbizSecurityTransform.java?rev=893591&r1=893590&r2=893591&view=diff
==============================================================================
--- ofbiz/branches/executioncontext20090812/framework/api/src/org/ofbiz/api/authorization/OfbizSecurityTransform.java (original)
+++ ofbiz/branches/executioncontext20090812/framework/api/src/org/ofbiz/api/authorization/OfbizSecurityTransform.java Wed Dec 23 18:27:42 2009
@@ -74,7 +74,7 @@
         String location = template.getName();
         ExecutionContext executionContext = (ExecutionContext) contextBean.getWrappedObject();
         executionContext.pushExecutionArtifact(new GenericExecutionArtifact(location, artifactId));
-        AccessController<?> accessController = executionContext.getAccessController();
+        AccessController accessController = executionContext.getAccessController();
         try {
             accessController.checkPermission(permission);
             body.render(env.getOut());

Modified: ofbiz/branches/executioncontext20090812/framework/api/src/org/ofbiz/api/context/ExecutionContext.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/executioncontext20090812/framework/api/src/org/ofbiz/api/context/ExecutionContext.java?rev=893591&r1=893590&r2=893591&view=diff
==============================================================================
--- ofbiz/branches/executioncontext20090812/framework/api/src/org/ofbiz/api/context/ExecutionContext.java (original)
+++ ofbiz/branches/executioncontext20090812/framework/api/src/org/ofbiz/api/context/ExecutionContext.java Wed Dec 23 18:27:42 2009
@@ -48,7 +48,7 @@
      *
      * @return An <code>AccessController</code> instance
      */
-    public AccessController<?> getAccessController();
+    public AccessController getAccessController();
 
     /** Returns the currency unit of measure.
      *
@@ -57,7 +57,7 @@
     public String getCurrencyUom();
 
     /** Returns the current execution path. Artifacts in the path are separated
-     * with a slash.
+     * with a forward slash.
      *
      * @return The current execution path
      */

Modified: ofbiz/branches/executioncontext20090812/framework/context/src/org/ofbiz/context/AccessControllerImpl.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/executioncontext20090812/framework/context/src/org/ofbiz/context/AccessControllerImpl.java?rev=893591&r1=893590&r2=893591&view=diff
==============================================================================
--- ofbiz/branches/executioncontext20090812/framework/context/src/org/ofbiz/context/AccessControllerImpl.java (original)
+++ ofbiz/branches/executioncontext20090812/framework/context/src/org/ofbiz/context/AccessControllerImpl.java Wed Dec 23 18:27:42 2009
@@ -36,7 +36,7 @@
 import org.ofbiz.service.ModelService;
 
 /** An implementation of the <code>AccessController</code> interface. */
-public class AccessControllerImpl<E> implements AccessController<E> {
+public class AccessControllerImpl implements AccessController {
 
     public static final String module = AccessControllerImpl.class.getName();
 
@@ -75,14 +75,14 @@
                 "@" + this.executionContext.getExecutionPath() + "[" + permission + "]");
     }
 
-    public List<E> applyFilters(List<E> list) {
+    public <E> List<E> applyFilters(List<E> list) {
         if (this.permission.getFilterNames().size() > 0) {
             return new SecurityAwareList<E>(list, this.permission.getFilterNames(), this.executionContext);
         }
         return list;
     }
 
-    public ListIterator<E> applyFilters(ListIterator<E> listIterator) {
+    public <E> ListIterator<E> applyFilters(ListIterator<E> listIterator) {
         if (this.permission.getFilterNames().size() > 0) {
             return new SecurityAwareListIterator<E>(listIterator, this.permission.getFilterNames(), this.executionContext);
         }

Modified: ofbiz/branches/executioncontext20090812/framework/context/src/org/ofbiz/context/AuthorizationManagerImpl.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/executioncontext20090812/framework/context/src/org/ofbiz/context/AuthorizationManagerImpl.java?rev=893591&r1=893590&r2=893591&view=diff
==============================================================================
--- ofbiz/branches/executioncontext20090812/framework/context/src/org/ofbiz/context/AuthorizationManagerImpl.java (original)
+++ ofbiz/branches/executioncontext20090812/framework/context/src/org/ofbiz/context/AuthorizationManagerImpl.java Wed Dec 23 18:27:42 2009
@@ -39,13 +39,13 @@
  * An implementation of the AuthorizationManager interface that uses the OFBiz database
  * for authorization data storage.
  */
-public class AuthorizationManagerImpl<E> extends OFBizSecurity implements AuthorizationManager {
+public class AuthorizationManagerImpl extends OFBizSecurity implements AuthorizationManager {
 
     // Right now this class implements permission checking only.
 
     public static final String module = AuthorizationManagerImpl.class.getName();
     protected static final UtilCache<String, PathNode> userPermCache = new UtilCache<String, PathNode>("authorization.UserPermissions");
-    public static final AccessController<?> nullAccessController = new NullAccessController();
+    public static final AccessController nullAccessController = new NullAccessController();
     protected static boolean underConstruction = false;
 
     public AuthorizationManagerImpl() {
@@ -127,8 +127,7 @@
         userPermCache.remove(userLogin.getString("userLogin"));
     }
 
- @SuppressWarnings("unchecked")
-    public AccessController<?> getAccessController(org.ofbiz.api.context.ExecutionContext executionContext) throws AccessControlException {
+    public AccessController getAccessController(org.ofbiz.api.context.ExecutionContext executionContext) throws AccessControlException {
         String userLoginId = ((ExecutionContext) executionContext).getUserLogin().getString("userLoginId");
         PathNode node = userPermCache.get(userLoginId);
         if (node == null) {

Modified: ofbiz/branches/executioncontext20090812/framework/context/src/org/ofbiz/context/ExecutionContextImpl.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/executioncontext20090812/framework/context/src/org/ofbiz/context/ExecutionContextImpl.java?rev=893591&r1=893590&r2=893591&view=diff
==============================================================================
--- ofbiz/branches/executioncontext20090812/framework/context/src/org/ofbiz/context/ExecutionContextImpl.java (original)
+++ ofbiz/branches/executioncontext20090812/framework/context/src/org/ofbiz/context/ExecutionContextImpl.java Wed Dec 23 18:27:42 2009
@@ -117,7 +117,7 @@
  }
  }
 
- public AccessController<?> getAccessController() {
-        return (AccessController<?>) this.getSecurity().getAccessController(this);
+ public AccessController getAccessController() {
+        return (AccessController) this.getSecurity().getAccessController(this);
  }
 }

Modified: ofbiz/branches/executioncontext20090812/framework/context/src/org/ofbiz/context/NullAccessController.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/executioncontext20090812/framework/context/src/org/ofbiz/context/NullAccessController.java?rev=893591&r1=893590&r2=893591&view=diff
==============================================================================
--- ofbiz/branches/executioncontext20090812/framework/context/src/org/ofbiz/context/NullAccessController.java (original)
+++ ofbiz/branches/executioncontext20090812/framework/context/src/org/ofbiz/context/NullAccessController.java Wed Dec 23 18:27:42 2009
@@ -29,17 +29,17 @@
 /** An implementation of the <code>AccessController</code> interface
  * that allows unrestricted access.
  */
-public class NullAccessController<E> implements AccessController<E> {
+public class NullAccessController implements AccessController {
 
     public EntityListIterator applyFilters(EntityListIterator listIterator) {
         return listIterator;
     }
 
-    public List<E> applyFilters(List<E> list) {
+    public <E> List<E> applyFilters(List<E> list) {
         return list;
     }
 
-    public ListIterator<E> applyFilters(ListIterator<E> list) {
+    public <E> ListIterator<E> applyFilters(ListIterator<E> list) {
         return list;
     }
 

Modified: ofbiz/branches/executioncontext20090812/framework/entity/src/org/ofbiz/entity/AccessController.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/executioncontext20090812/framework/entity/src/org/ofbiz/entity/AccessController.java?rev=893591&r1=893590&r2=893591&view=diff
==============================================================================
--- ofbiz/branches/executioncontext20090812/framework/entity/src/org/ofbiz/entity/AccessController.java (original)
+++ ofbiz/branches/executioncontext20090812/framework/entity/src/org/ofbiz/entity/AccessController.java Wed Dec 23 18:27:42 2009
@@ -26,7 +26,7 @@
  * the <code>applyFilters</code> method can be overridden to handle
  * <code>EntityListIterator</code>.
  */
-public interface AccessController<E> extends org.ofbiz.api.authorization.AccessController<E> {
+public interface AccessController extends org.ofbiz.api.authorization.AccessController {
 
     /** Applies permission filters to an <code>EntityListIterator</code>. The
      * returned <code>EntityListIterator</code> is security-aware, so methods

Modified: ofbiz/branches/executioncontext20090812/framework/entity/src/org/ofbiz/entity/DelegatorImpl.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/executioncontext20090812/framework/entity/src/org/ofbiz/entity/DelegatorImpl.java?rev=893591&r1=893590&r2=893591&view=diff
==============================================================================
--- ofbiz/branches/executioncontext20090812/framework/entity/src/org/ofbiz/entity/DelegatorImpl.java (original)
+++ ofbiz/branches/executioncontext20090812/framework/entity/src/org/ofbiz/entity/DelegatorImpl.java Wed Dec 23 18:27:42 2009
@@ -368,7 +368,7 @@
 
     public GenericValue create(GenericValue value, boolean doCacheClear) throws GenericEntityException {
      this.executionContext.pushExecutionArtifact(value);
-     AccessController<?> accessController = this.executionContext.getAccessController();
+     AccessController accessController = this.executionContext.getAccessController();
         boolean beganTransaction = false;
         try {
          accessController.checkPermission(Create);
@@ -522,7 +522,7 @@
 
     public GenericValue createOrStore(GenericValue value, boolean doCacheClear) throws GenericEntityException {
      this.executionContext.pushExecutionArtifact(value);
-     AccessController<?> accessController = this.executionContext.getAccessController();
+     AccessController accessController = this.executionContext.getAccessController();
         boolean beganTransaction = false;
         try {
             GenericValue checkValue = this.findOne(value.getEntityName(), value.getPrimaryKey(), false);
@@ -780,7 +780,7 @@
 
         ecaRunner.evalRules(EntityEcaHandler.EV_RETURN, EntityEcaHandler.OP_FIND, dummyValue, false);
         this.executionContext.pushExecutionArtifact(modelEntity);
-        AccessController<?> accessController = this.executionContext.getAccessController();
+        AccessController accessController = this.executionContext.getAccessController();
         eli = accessController.applyFilters(eli);
         this.executionContext.popExecutionArtifact();
         return eli;
@@ -835,7 +835,7 @@
             }
 
             this.decryptFields(results);
-            AccessController<GenericValue> accessController = (AccessController<GenericValue>) this.executionContext.getAccessController();
+            AccessController accessController = this.executionContext.getAccessController();
             results = accessController.applyFilters(results);
             return results;
         } catch (GenericEntityException e) {
@@ -904,7 +904,7 @@
             }
 
             this.decryptFields(results);
-            AccessController<GenericValue> accessController = (AccessController<GenericValue>) this.executionContext.getAccessController();
+            AccessController accessController = this.executionContext.getAccessController();
             results = accessController.applyFilters(results);
             return results;
         } catch (GenericEntityException e) {
@@ -992,7 +992,7 @@
             EntityListIterator eli = this.find(entityName, whereEntityCondition, havingEntityCondition, UtilMisc.toSet(fieldsToSelect), orderBy, findOptions);
             eli.setDelegator(this);
             this.executionContext.pushExecutionArtifact(new GenericExecutionArtifact("GenericDelegator.findByCondition", entityName));
-            AccessController<GenericValue> accessController = (AccessController<GenericValue>) this.executionContext.getAccessController();
+            AccessController accessController = this.executionContext.getAccessController();
             eli = accessController.applyFilters(eli);
             this.executionContext.popExecutionArtifact();
             List<GenericValue> list = eli.getCompleteList();
@@ -1241,7 +1241,7 @@
             List<GenericValue> cacheList = this.delegatorData.cache.get(entityName, entityCondition, orderBy);
             if (cacheList != null) {
                 this.executionContext.pushExecutionArtifact(new GenericExecutionArtifact("GenericDelegator.findList", entityName));
-                AccessController<GenericValue> accessController = (AccessController<GenericValue>) this.executionContext.getAccessController();
+                AccessController accessController = this.executionContext.getAccessController();
                 cacheList = accessController.applyFilters(cacheList);
                 this.executionContext.popExecutionArtifact();
                 return cacheList;
@@ -1264,7 +1264,7 @@
                 this.delegatorData.cache.put(entityName, entityCondition, orderBy, list);
             }
             this.executionContext.pushExecutionArtifact(new GenericExecutionArtifact("GenericDelegator.findList", entityName));
-            AccessController<GenericValue> accessController = (AccessController<GenericValue>) this.executionContext.getAccessController();
+            AccessController accessController = this.executionContext.getAccessController();
             list = accessController.applyFilters(list);
             this.executionContext.popExecutionArtifact();
             return list;
@@ -1313,7 +1313,7 @@
         eli.setDelegator(this);
         // TODO: add decrypt fields
         this.executionContext.pushExecutionArtifact(new GenericExecutionArtifact("GenericDelegator.findListIteratorByCondition", modelViewEntity.getEntityName()));
-        AccessController<GenericValue> accessController = (AccessController<GenericValue>) this.executionContext.getAccessController();
+        AccessController accessController = this.executionContext.getAccessController();
         eli = accessController.applyFilters(eli);
         this.executionContext.popExecutionArtifact();
         return eli;
@@ -2183,7 +2183,7 @@
 
     public int removeByCondition(String entityName, EntityCondition condition, boolean doCacheClear) throws GenericEntityException {
      this.executionContext.pushExecutionArtifact(new GenericExecutionArtifact("GenericDelegator.removeByCondition", entityName));
-     AccessController<?> accessController = this.executionContext.getAccessController();
+     AccessController accessController = this.executionContext.getAccessController();
         boolean beganTransaction = false;
         try {
          accessController.checkPermission(Delete);
@@ -2238,7 +2238,7 @@
 
     public int removeByPrimaryKey(GenericPK primaryKey, boolean doCacheClear) throws GenericEntityException {
      this.executionContext.pushExecutionArtifact(primaryKey);
-     AccessController<?> accessController = this.executionContext.getAccessController();
+     AccessController accessController = this.executionContext.getAccessController();
         boolean beganTransaction = false;
         try {
          accessController.checkPermission(Delete);
@@ -2325,7 +2325,7 @@
 
     public int removeValue(GenericValue value, boolean doCacheClear) throws GenericEntityException {
      this.executionContext.pushExecutionArtifact(value);
-     AccessController<?> accessController = this.executionContext.getAccessController();
+     AccessController accessController = this.executionContext.getAccessController();
         // NOTE: this does not call the GenericDelegator.removeByPrimaryKey
         // method because it has more information to pass to the ECA rule hander
         boolean beganTransaction = false;
@@ -2553,7 +2553,7 @@
 
     public int store(GenericValue value, boolean doCacheClear) throws GenericEntityException {
      this.executionContext.pushExecutionArtifact(value);
-     AccessController<?> accessController = this.executionContext.getAccessController();
+     AccessController accessController = this.executionContext.getAccessController();
         boolean beganTransaction = false;
         try {
          accessController.checkPermission(Update);
@@ -2717,7 +2717,7 @@
 
     public int storeByCondition(String entityName, Map<String, ? extends Object> fieldsToSet, EntityCondition condition, boolean doCacheClear) throws GenericEntityException {
      this.executionContext.pushExecutionArtifact(new GenericExecutionArtifact("GenericDelegator.storeByCondition", entityName));
-     AccessController<?> accessController = this.executionContext.getAccessController();
+     AccessController accessController = this.executionContext.getAccessController();
         boolean beganTransaction = false;
         try {
          accessController.checkPermission(Update);

Modified: ofbiz/branches/executioncontext20090812/framework/entity/src/org/ofbiz/entity/ExecutionContext.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/executioncontext20090812/framework/entity/src/org/ofbiz/entity/ExecutionContext.java?rev=893591&r1=893590&r2=893591&view=diff
==============================================================================
--- ofbiz/branches/executioncontext20090812/framework/entity/src/org/ofbiz/entity/ExecutionContext.java (original)
+++ ofbiz/branches/executioncontext20090812/framework/entity/src/org/ofbiz/entity/ExecutionContext.java Wed Dec 23 18:27:42 2009
@@ -24,7 +24,7 @@
  */
 public interface ExecutionContext extends org.ofbiz.api.context.ExecutionContext {
 
-    public AccessController<?> getAccessController();
+    public AccessController getAccessController();
 
  /** Returns the current <code>GenericDelegator</code> instance.
  *
@@ -38,9 +38,9 @@
  */
  public GenericValue getUserLogin();
 
- /** Sets the current <code>GenericDelegator</code> instance.
+ /** Sets the current <code>Delegator</code> instance.
  *
- * @param delegator The new <code>GenericDelegator</code> instance
+ * @param delegator The new <code>Delegator</code> instance
  */
  public void setDelegator(GenericDelegator delegator);
 

Modified: ofbiz/branches/executioncontext20090812/framework/entityext/src/org/ofbiz/entityext/data/EntityDataLoadContainer.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/executioncontext20090812/framework/entityext/src/org/ofbiz/entityext/data/EntityDataLoadContainer.java?rev=893591&r1=893590&r2=893591&view=diff
==============================================================================
--- ofbiz/branches/executioncontext20090812/framework/entityext/src/org/ofbiz/entityext/data/EntityDataLoadContainer.java (original)
+++ ofbiz/branches/executioncontext20090812/framework/entityext/src/org/ofbiz/entityext/data/EntityDataLoadContainer.java Wed Dec 23 18:27:42 2009
@@ -477,7 +477,7 @@
     // TODO: Find an implementation-agnostic way to do this
     protected static class LoaderExecutionContext extends ExecutionContextImpl {
         @Override
-        public AccessController<?> getAccessController() {
+        public AccessController getAccessController() {
             return AuthorizationManagerImpl.nullAccessController;
         }
     }