You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by vt...@apache.org on 2004/09/28 05:31:54 UTC
svn commit: rev 47379 - in incubator/directory/janus/trunk/sandbox/src: java/org/apache/janus/authorization java/org/apache/janus/authorization/effect test/org/apache/janus/authorization
Author: vtence
Date: Mon Sep 27 20:31:53 2004
New Revision: 47379
Removed:
incubator/directory/janus/trunk/sandbox/src/java/org/apache/janus/authorization/BasicRule.java
incubator/directory/janus/trunk/sandbox/src/test/org/apache/janus/authorization/DefaultPolicyTest.java
Modified:
incubator/directory/janus/trunk/sandbox/src/java/org/apache/janus/authorization/Effect.java
incubator/directory/janus/trunk/sandbox/src/java/org/apache/janus/authorization/Policy.java
incubator/directory/janus/trunk/sandbox/src/java/org/apache/janus/authorization/effect/DenyEffect.java
incubator/directory/janus/trunk/sandbox/src/java/org/apache/janus/authorization/effect/DenyOverridesEffect.java
incubator/directory/janus/trunk/sandbox/src/java/org/apache/janus/authorization/effect/FirstApplicableEffect.java
incubator/directory/janus/trunk/sandbox/src/java/org/apache/janus/authorization/effect/GrantEffect.java
incubator/directory/janus/trunk/sandbox/src/java/org/apache/janus/authorization/effect/IndeterminateEffect.java
incubator/directory/janus/trunk/sandbox/src/java/org/apache/janus/authorization/effect/LastApplicableEffect.java
incubator/directory/janus/trunk/sandbox/src/java/org/apache/janus/authorization/effect/NotApplicableEffect.java
incubator/directory/janus/trunk/sandbox/src/java/org/apache/janus/authorization/effect/PermitOverridesEffect.java
incubator/directory/janus/trunk/sandbox/src/test/org/apache/janus/authorization/DefaultRuleTest.java
Log:
Refactored rule system
Modified: incubator/directory/janus/trunk/sandbox/src/java/org/apache/janus/authorization/Effect.java
==============================================================================
--- incubator/directory/janus/trunk/sandbox/src/java/org/apache/janus/authorization/Effect.java (original)
+++ incubator/directory/janus/trunk/sandbox/src/java/org/apache/janus/authorization/Effect.java Mon Sep 27 20:31:53 2004
@@ -21,7 +21,9 @@
*/
public interface Effect
{
- Effect combineWith( Effect effect );
+ Effect and( Effect effect );
+
+ Effect applyTo( Effect effect );
Effect permit();
@@ -29,5 +31,5 @@
Effect indeterminate();
- boolean resolve( EffectResolver effectResolver );
+ boolean resolve( EffectResolver resolver );
}
Modified: incubator/directory/janus/trunk/sandbox/src/java/org/apache/janus/authorization/Policy.java
==============================================================================
--- incubator/directory/janus/trunk/sandbox/src/java/org/apache/janus/authorization/Policy.java (original)
+++ incubator/directory/janus/trunk/sandbox/src/java/org/apache/janus/authorization/Policy.java Mon Sep 27 20:31:53 2004
@@ -42,15 +42,15 @@
public Effect evaluate( Subject s, Permission p )
{
- Effect effect = m_effect;
+ Effect netEffect = m_effect;
for ( Iterator it = m_rules.iterator(); it.hasNext(); )
{
Rule rule = ( Rule ) it.next();
Effect e = rule.evaluate( s, p );
- effect = e.combineWith( effect );
+ netEffect = netEffect.and( e );
}
- return effect;
+ return netEffect;
}
}
Modified: incubator/directory/janus/trunk/sandbox/src/java/org/apache/janus/authorization/effect/DenyEffect.java
==============================================================================
--- incubator/directory/janus/trunk/sandbox/src/java/org/apache/janus/authorization/effect/DenyEffect.java (original)
+++ incubator/directory/janus/trunk/sandbox/src/java/org/apache/janus/authorization/effect/DenyEffect.java Mon Sep 27 20:31:53 2004
@@ -24,7 +24,12 @@
*/
public final class DenyEffect implements Effect
{
- public Effect combineWith( Effect effect )
+ public Effect and( Effect effect )
+ {
+ return this;
+ }
+
+ public Effect applyTo( Effect effect )
{
return effect.deny();
}
@@ -44,7 +49,7 @@
return this;
}
- public boolean resolve( EffectResolver effectResolver )
+ public boolean resolve( EffectResolver resolver )
{
return false;
}
Modified: incubator/directory/janus/trunk/sandbox/src/java/org/apache/janus/authorization/effect/DenyOverridesEffect.java
==============================================================================
--- incubator/directory/janus/trunk/sandbox/src/java/org/apache/janus/authorization/effect/DenyOverridesEffect.java (original)
+++ incubator/directory/janus/trunk/sandbox/src/java/org/apache/janus/authorization/effect/DenyOverridesEffect.java Mon Sep 27 20:31:53 2004
@@ -36,9 +36,14 @@
m_effect = effect;
}
- public Effect combineWith( Effect effect )
+ public Effect applyTo( Effect effect )
{
- return m_effect.combineWith( effect );
+ return effect.and( m_effect );
+ }
+
+ public Effect and( Effect effect )
+ {
+ return effect.applyTo( this );
}
public Effect permit()
@@ -56,8 +61,8 @@
return new DenyOverridesEffect( new IndeterminateEffect() );
}
- public boolean resolve( EffectResolver effectResolver )
+ public boolean resolve( EffectResolver resolver )
{
- return m_effect.resolve( effectResolver );
+ return m_effect.resolve( resolver );
}
}
Modified: incubator/directory/janus/trunk/sandbox/src/java/org/apache/janus/authorization/effect/FirstApplicableEffect.java
==============================================================================
--- incubator/directory/janus/trunk/sandbox/src/java/org/apache/janus/authorization/effect/FirstApplicableEffect.java (original)
+++ incubator/directory/janus/trunk/sandbox/src/java/org/apache/janus/authorization/effect/FirstApplicableEffect.java Mon Sep 27 20:31:53 2004
@@ -36,9 +36,14 @@
m_effect = effect;
}
- public Effect combineWith( Effect effect )
+ public Effect applyTo( Effect effect )
{
- return m_effect.combineWith( effect );
+ return effect.and( m_effect );
+ }
+
+ public Effect and( Effect effect )
+ {
+ return effect.applyTo( this );
}
public Effect permit()
@@ -56,8 +61,8 @@
return new IndeterminateEffect();
}
- public boolean resolve( EffectResolver effectResolver )
+ public boolean resolve( EffectResolver resolver )
{
- return m_effect.resolve( effectResolver );
+ return m_effect.resolve( resolver );
}
}
Modified: incubator/directory/janus/trunk/sandbox/src/java/org/apache/janus/authorization/effect/GrantEffect.java
==============================================================================
--- incubator/directory/janus/trunk/sandbox/src/java/org/apache/janus/authorization/effect/GrantEffect.java (original)
+++ incubator/directory/janus/trunk/sandbox/src/java/org/apache/janus/authorization/effect/GrantEffect.java Mon Sep 27 20:31:53 2004
@@ -24,7 +24,12 @@
*/
public final class GrantEffect implements Effect
{
- public Effect combineWith( Effect effect )
+ public Effect and( Effect effect )
+ {
+ return this;
+ }
+
+ public Effect applyTo( Effect effect )
{
return effect.permit();
}
@@ -44,7 +49,7 @@
return this;
}
- public boolean resolve( EffectResolver effectResolver )
+ public boolean resolve( EffectResolver resolver )
{
return true;
}
Modified: incubator/directory/janus/trunk/sandbox/src/java/org/apache/janus/authorization/effect/IndeterminateEffect.java
==============================================================================
--- incubator/directory/janus/trunk/sandbox/src/java/org/apache/janus/authorization/effect/IndeterminateEffect.java (original)
+++ incubator/directory/janus/trunk/sandbox/src/java/org/apache/janus/authorization/effect/IndeterminateEffect.java Mon Sep 27 20:31:53 2004
@@ -24,7 +24,12 @@
*/
public final class IndeterminateEffect implements Effect
{
- public Effect combineWith( Effect effect )
+ public Effect and( Effect effect )
+ {
+ return this;
+ }
+
+ public Effect applyTo( Effect effect )
{
return effect.indeterminate();
}
@@ -44,8 +49,8 @@
return this;
}
- public boolean resolve( EffectResolver effectResolver )
+ public boolean resolve( EffectResolver resolver )
{
- return effectResolver.indeterminate();
+ return resolver.indeterminate();
}
}
Modified: incubator/directory/janus/trunk/sandbox/src/java/org/apache/janus/authorization/effect/LastApplicableEffect.java
==============================================================================
--- incubator/directory/janus/trunk/sandbox/src/java/org/apache/janus/authorization/effect/LastApplicableEffect.java (original)
+++ incubator/directory/janus/trunk/sandbox/src/java/org/apache/janus/authorization/effect/LastApplicableEffect.java Mon Sep 27 20:31:53 2004
@@ -36,9 +36,14 @@
m_effect = effect;
}
- public Effect combineWith( Effect effect )
+ public Effect applyTo( Effect effect )
{
- return m_effect.combineWith( effect );
+ return effect.and( m_effect );
+ }
+
+ public Effect and( Effect effect )
+ {
+ return effect.applyTo( this );
}
public Effect permit()
@@ -56,8 +61,8 @@
return new LastApplicableEffect( new IndeterminateEffect() );
}
- public boolean resolve( EffectResolver effectResolver )
+ public boolean resolve( EffectResolver resolver )
{
- return m_effect.resolve( effectResolver );
+ return m_effect.resolve( resolver );
}
}
Modified: incubator/directory/janus/trunk/sandbox/src/java/org/apache/janus/authorization/effect/NotApplicableEffect.java
==============================================================================
--- incubator/directory/janus/trunk/sandbox/src/java/org/apache/janus/authorization/effect/NotApplicableEffect.java (original)
+++ incubator/directory/janus/trunk/sandbox/src/java/org/apache/janus/authorization/effect/NotApplicableEffect.java Mon Sep 27 20:31:53 2004
@@ -24,7 +24,12 @@
*/
public final class NotApplicableEffect implements Effect
{
- public Effect combineWith( Effect effect )
+ public Effect and( Effect effect )
+ {
+ return this;
+ }
+
+ public Effect applyTo( Effect effect )
{
return effect;
}
@@ -44,8 +49,8 @@
return this;
}
- public boolean resolve( EffectResolver effectResolver )
+ public boolean resolve( EffectResolver resolver )
{
- return effectResolver.notApplicable();
+ return resolver.notApplicable();
}
}
Modified: incubator/directory/janus/trunk/sandbox/src/java/org/apache/janus/authorization/effect/PermitOverridesEffect.java
==============================================================================
--- incubator/directory/janus/trunk/sandbox/src/java/org/apache/janus/authorization/effect/PermitOverridesEffect.java (original)
+++ incubator/directory/janus/trunk/sandbox/src/java/org/apache/janus/authorization/effect/PermitOverridesEffect.java Mon Sep 27 20:31:53 2004
@@ -36,9 +36,14 @@
m_effect = effect;
}
- public Effect combineWith( Effect effect )
+ public Effect applyTo( Effect effect )
{
- return m_effect.combineWith( effect );
+ return effect.and( m_effect );
+ }
+
+ public Effect and( Effect effect )
+ {
+ return effect.applyTo( this );
}
public Effect permit()
@@ -56,8 +61,8 @@
return new PermitOverridesEffect( new IndeterminateEffect() );
}
- public boolean resolve( EffectResolver effectResolver )
+ public boolean resolve( EffectResolver resolver )
{
- return m_effect.resolve( effectResolver );
+ return m_effect.resolve( resolver );
}
}
Modified: incubator/directory/janus/trunk/sandbox/src/test/org/apache/janus/authorization/DefaultRuleTest.java
==============================================================================
--- incubator/directory/janus/trunk/sandbox/src/test/org/apache/janus/authorization/DefaultRuleTest.java (original)
+++ incubator/directory/janus/trunk/sandbox/src/test/org/apache/janus/authorization/DefaultRuleTest.java Mon Sep 27 20:31:53 2004
@@ -59,7 +59,7 @@
assertTrue( m_rule.evaluate( john() ) instanceof GrantEffect );
}
- public void testIsNotApplicableIsSubjectConditionNotVerified()
+ public void testIsNotApplicableIfSubjectConditionIsNotVerified()
{
m_rule = new DefaultRule( new GrantEffect() );
m_rule.setSubjectCondition( new FalsePredicate() );