(no commit message)
[utils] / security / impl / src / main / java / org / wamblee / security / authorization / UrlAuthorizationRule.java
index c2834935a473d3967228cad0379e02fc582468b1..17bdc348ae8263b97c7ca000d6da2b0414ebe476 100644 (file)
@@ -17,10 +17,12 @@ package org.wamblee.security.authorization;
 
 import static org.wamblee.security.authorization.AuthorizationResult.*;
 
+import javax.enterprise.inject.Typed;
 import javax.persistence.Access;
 import javax.persistence.AccessType;
 import javax.persistence.CascadeType;
 import javax.persistence.Column;
+import javax.persistence.DiscriminatorValue;
 import javax.persistence.Entity;
 import javax.persistence.JoinColumn;
 import javax.persistence.ManyToOne;
@@ -35,12 +37,12 @@ import org.wamblee.usermgt.User;
  * <li>The path of the resource. To obtain the path of a resource, subclasses
  * must implement {@link #getResourcePath(Object)}. Whether a path is
  * appropriate is determined by a
- * {@link org.wamblee.security.authorization.PathCondition}.</li>
+ * {@link org.wamblee.security.authorization.AbstractPathCondition}.</li>
  * <li>The user identity with which the resource is accessed. Whether a user is
  * appropriate is determined by a
- * {@link org.wamblee.security.authorization.UserCondition}.</li>
+ * {@link org.wamblee.security.authorization.AbstractUserCondition}.</li>
  * <li>The operation that is requested. Whether the operation is appropriate is
- * determined by a {@link org.wamblee.security.authorization.OperationCondition}
+ * determined by a {@link org.wamblee.security.authorization.AbstractOperationCondition}
  * .</li>
  * </ul>
  * In case all three conditions match, the condition returns the configured
@@ -50,7 +52,7 @@ import org.wamblee.usermgt.User;
  */
 @Entity
 @Access(AccessType.PROPERTY)
-public abstract class UrlAuthorizationRule extends AuthorizationRule {
+public abstract class UrlAuthorizationRule extends AbstractAuthorizationRule {
     private static final Logger LOGGER = Logger
         .getLogger(UrlAuthorizationRule.class);
 
@@ -77,6 +79,7 @@ public abstract class UrlAuthorizationRule extends AuthorizationRule {
     /**
      * Operation that this rule is for.
      */
+    
     private OperationCondition operationCondition;
 
     /**
@@ -261,7 +264,7 @@ public abstract class UrlAuthorizationRule extends AuthorizationRule {
      * 
      * @return Returns the operationCondition.
      */
-    @ManyToOne(cascade = CascadeType.ALL)
+    @ManyToOne(cascade = CascadeType.ALL, targetEntity = AbstractOperationCondition.class)
     @JoinColumn(name = "OPER_COND_PK")
     public OperationCondition getOperationCondition() {
         return operationCondition;
@@ -280,7 +283,7 @@ public abstract class UrlAuthorizationRule extends AuthorizationRule {
      * 
      * @return Returns the pathCondition.
      */
-    @ManyToOne(cascade = CascadeType.ALL)
+    @ManyToOne(cascade = CascadeType.ALL, targetEntity = AbstractPathCondition.class)
     @JoinColumn(name = "PATH_COND_PK")
     public PathCondition getPathCondition() {
         return pathCondition;
@@ -299,7 +302,7 @@ public abstract class UrlAuthorizationRule extends AuthorizationRule {
      * 
      * @return Returns the userCondition.
      */
-    @ManyToOne(cascade = CascadeType.ALL)
+    @ManyToOne(cascade = CascadeType.ALL, targetEntity = AbstractUserCondition.class)
     @JoinColumn(name = "USER_COND_PK")
     public UserCondition getUserCondition() {
         return userCondition;