now using the simplified user management interface.
[utils] / security / impl / src / main / java / org / wamblee / security / authorization / UrlAuthorizationRule.java
index 17bdc348ae8263b97c7ca000d6da2b0414ebe476..3ed810df9a0a10699acc182f862d7c361c8508e1 100644 (file)
@@ -26,10 +26,12 @@ import javax.persistence.DiscriminatorValue;
 import javax.persistence.Entity;
 import javax.persistence.JoinColumn;
 import javax.persistence.ManyToOne;
+import javax.persistence.OneToOne;
 import javax.persistence.Transient;
 
 import org.apache.log4j.Logger;
-import org.wamblee.usermgt.User;
+import org.wamblee.security.authentication.User;
+import org.wamblee.security.authentication.UserAdministration;
 
 /**
  * Utility base class for implementation of authentication rules based on the
@@ -155,14 +157,14 @@ public abstract class UrlAuthorizationRule extends AbstractAuthorizationRule {
      * .Object, org.wamblee.security.authorization.Operation)
      */
     public AuthorizationResult isAllowed(Object aResource,
-        Operation aOperation, User aUser) {
+        Operation aOperation, String aUser) {
         if (!resourceClass.isInstance(aResource)) {
             return UNSUPPORTED_RESOURCE;
         }
 
         String path = getResourcePath(aResource);
 
-        return isAllowed(path, aOperation, aUser);
+        return isAllowedWithPath(path, aOperation, aUser);
     }
 
     /**
@@ -177,8 +179,8 @@ public abstract class UrlAuthorizationRule extends AbstractAuthorizationRule {
      * 
      * @return Authorization result,
      */
-    protected AuthorizationResult isAllowed(String aPath, Operation aOperation,
-        User aUser) {
+    protected AuthorizationResult isAllowedWithPath(String aPath, Operation aOperation,
+        String aUser) {
         if (!pathCondition.matches(aPath)) {
             return UNDECIDED;
         }
@@ -264,7 +266,7 @@ public abstract class UrlAuthorizationRule extends AbstractAuthorizationRule {
      * 
      * @return Returns the operationCondition.
      */
-    @ManyToOne(cascade = CascadeType.ALL, targetEntity = AbstractOperationCondition.class)
+    @OneToOne(cascade = CascadeType.ALL, targetEntity = AbstractOperationCondition.class, orphanRemoval = true)
     @JoinColumn(name = "OPER_COND_PK")
     public OperationCondition getOperationCondition() {
         return operationCondition;
@@ -283,7 +285,7 @@ public abstract class UrlAuthorizationRule extends AbstractAuthorizationRule {
      * 
      * @return Returns the pathCondition.
      */
-    @ManyToOne(cascade = CascadeType.ALL, targetEntity = AbstractPathCondition.class)
+    @OneToOne(cascade = CascadeType.ALL, targetEntity = AbstractPathCondition.class, orphanRemoval = true)
     @JoinColumn(name = "PATH_COND_PK")
     public PathCondition getPathCondition() {
         return pathCondition;
@@ -302,7 +304,7 @@ public abstract class UrlAuthorizationRule extends AbstractAuthorizationRule {
      * 
      * @return Returns the userCondition.
      */
-    @ManyToOne(cascade = CascadeType.ALL, targetEntity = AbstractUserCondition.class)
+    @OneToOne(cascade = CascadeType.ALL, targetEntity = AbstractUserCondition.class, orphanRemoval = true)
     @JoinColumn(name = "USER_COND_PK")
     public UserCondition getUserCondition() {
         return userCondition;
@@ -316,4 +318,10 @@ public abstract class UrlAuthorizationRule extends AbstractAuthorizationRule {
     protected void setUserCondition(UserCondition aUserCondition) {
         userCondition = aUserCondition;
     }
+    
+    @Override
+    public void setUserAdministration(UserAdministration aAdmin) {
+        userCondition.setUserAdmin(aAdmin);   
+    }
+
 }