import java.util.ArrayList;
import java.util.List;
+import javax.persistence.CascadeType;
import javax.persistence.DiscriminatorValue;
import javax.persistence.Entity;
+import javax.persistence.ManyToMany;
+import javax.persistence.OneToMany;
+import javax.persistence.OrderColumn;
+import javax.persistence.Transient;
import org.wamblee.usermgt.User;
import org.wamblee.usermgt.UserAccessor;
*/
@Entity
@DiscriminatorValue("DEFAULT")
-public class DefaultAuthorizationService extends AuthorizationService {
+public class DefaultAuthorizationService extends AbstractAuthorizationService {
/**
* List of ordered authorization rules.
*/
+ @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true, targetEntity = AbstractAuthorizationRule.class)
+ @OrderColumn(name = "RULE_INDEX")
private List<AuthorizationRule> rules;
/**
* User accessor used to obtain the current user.
*/
+ @Transient
private UserAccessor userAccessor;
- /**
- * Name for this instance of the authorization service.
- */
- private String name;
-
/**
* Constructs the service.
*
* Name of this instance of the service.
*/
public DefaultAuthorizationService(UserAccessor aAccessor, String aName) {
+ super(aName);
rules = new ArrayList<AuthorizationRule>();
userAccessor = aAccessor;
- name = aName;
}
/**
public DefaultAuthorizationService() {
rules = new ArrayList<AuthorizationRule>();
userAccessor = null;
- name = null;
}
/**
return aResource;
}
- protected String getName() {
- return name;
- }
-
- public void setName(String aName) {
- name = aName;
- }
-
/*
* (non-Javadoc)
*
* @see org.wamblee.security.authorization.AuthorizationService#getRules()
*/
public AuthorizationRule[] getRules() {
- return rules.toArray(new AuthorizationRule[0]);
+ return rules.toArray(new AbstractAuthorizationRule[0]);
}
/*