Repository: jena Updated Branches: refs/heads/master 8b4624a09 -> cd62e6d29
Added the StaticSecurityEvaluator (for real this time) Project: http://git-wip-us.apache.org/repos/asf/jena/repo Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/cd62e6d2 Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/cd62e6d2 Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/cd62e6d2 Branch: refs/heads/master Commit: cd62e6d29276685b7df7220e69647c6b48bf0830 Parents: 8b4624a Author: Claude Warren <[email protected]> Authored: Tue Jan 20 19:56:37 2015 +0000 Committer: Claude Warren <[email protected]> Committed: Tue Jan 20 19:56:37 2015 +0000 ---------------------------------------------------------------------- .../jena/security/SecuredAssemblerTest.java | 104 +++++++++---------- .../jena/security/StaticSecurityEvaluator.java | 61 +++++++++++ 2 files changed, 112 insertions(+), 53 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/jena/blob/cd62e6d2/jena-security/src/test/java/org/apache/jena/security/SecuredAssemblerTest.java ---------------------------------------------------------------------- diff --git a/jena-security/src/test/java/org/apache/jena/security/SecuredAssemblerTest.java b/jena-security/src/test/java/org/apache/jena/security/SecuredAssemblerTest.java index cf7ddfa..cbc737a 100644 --- a/jena-security/src/test/java/org/apache/jena/security/SecuredAssemblerTest.java +++ b/jena-security/src/test/java/org/apache/jena/security/SecuredAssemblerTest.java @@ -32,57 +32,55 @@ import org.junit.Test; public class SecuredAssemblerTest { - // 2015-01-20 : Does not compile (missing StaticSecurityEvaluator) - -// private Assembler assembler; -// private Model model; -// -// public SecuredAssemblerTest() -// { -// assembler = Assembler.general; -// } -// -// @Before -// public void setUp() throws Exception { -// model = ModelFactory.createDefaultModel(); -// URL url = SecuredAssemblerTest.class.getClassLoader().getResource( SecuredAssemblerTest.class.getName().replace(".", "/")+".ttl"); -// model.read( url.toURI().toString(), "TURTLE" ); -// //model.write( System.out, "TURTLE" ); -// } -// -// @Test -// public void testCreation() throws Exception { -// -// Resource r = model.createResource( "http://apache.org/jena/security/test#secModel"); -// Object o = assembler.open( r ); -// Assert.assertTrue( o instanceof Model); -// Assert.assertTrue( o instanceof SecuredModel ); -// } -// -// @Test -// public void testCreationWithArgs() throws Exception { -// -// Resource r = model.createResource( "http://apache.org/jena/security/test#secModel2"); -// Object o = assembler.open( r ); -// Assert.assertTrue( o instanceof Model); -// Assert.assertTrue( o instanceof SecuredModel ); -// } -// -// @Test -// public void testSecurityEvaluatorWithStringArgs() throws Exception { -// -// Resource r = model.createResource( "http://apache.org/jena/security/test#secEvaluator"); -// Object o = assembler.open( r ); -// Assert.assertTrue( o instanceof SecurityEvaluator ); -// Assert.assertTrue( o instanceof StaticSecurityEvaluator ); -// } -// -// @Test -// public void testSecurityEvaluatorWithModelArgs() throws Exception { -// -// Resource r = model.createResource( "http://apache.org/jena/security/test#secEvaluator2"); -// Object o = assembler.open( r ); -// Assert.assertTrue( o instanceof SecurityEvaluator ); -// Assert.assertTrue( o instanceof ModelBasedSecurityEvaluator ); -// } + private Assembler assembler; + private Model model; + + public SecuredAssemblerTest() + { + assembler = Assembler.general; + } + + @Before + public void setUp() throws Exception { + model = ModelFactory.createDefaultModel(); + URL url = SecuredAssemblerTest.class.getClassLoader().getResource( SecuredAssemblerTest.class.getName().replace(".", "/")+".ttl"); + model.read( url.toURI().toString(), "TURTLE" ); + //model.write( System.out, "TURTLE" ); + } + + @Test + public void testCreation() throws Exception { + + Resource r = model.createResource( "http://apache.org/jena/security/test#secModel"); + Object o = assembler.open( r ); + Assert.assertTrue( o instanceof Model); + Assert.assertTrue( o instanceof SecuredModel ); + } + + @Test + public void testCreationWithArgs() throws Exception { + + Resource r = model.createResource( "http://apache.org/jena/security/test#secModel2"); + Object o = assembler.open( r ); + Assert.assertTrue( o instanceof Model); + Assert.assertTrue( o instanceof SecuredModel ); + } + + @Test + public void testSecurityEvaluatorWithStringArgs() throws Exception { + + Resource r = model.createResource( "http://apache.org/jena/security/test#secEvaluator"); + Object o = assembler.open( r ); + Assert.assertTrue( o instanceof SecurityEvaluator ); + Assert.assertTrue( o instanceof StaticSecurityEvaluator ); + } + + @Test + public void testSecurityEvaluatorWithModelArgs() throws Exception { + + Resource r = model.createResource( "http://apache.org/jena/security/test#secEvaluator2"); + Object o = assembler.open( r ); + Assert.assertTrue( o instanceof SecurityEvaluator ); + Assert.assertTrue( o instanceof ModelBasedSecurityEvaluator ); + } } http://git-wip-us.apache.org/repos/asf/jena/blob/cd62e6d2/jena-security/src/test/java/org/apache/jena/security/StaticSecurityEvaluator.java ---------------------------------------------------------------------- diff --git a/jena-security/src/test/java/org/apache/jena/security/StaticSecurityEvaluator.java b/jena-security/src/test/java/org/apache/jena/security/StaticSecurityEvaluator.java new file mode 100644 index 0000000..a8164d8 --- /dev/null +++ b/jena-security/src/test/java/org/apache/jena/security/StaticSecurityEvaluator.java @@ -0,0 +1,61 @@ +package org.apache.jena.security; + +import java.util.Set; + +public class StaticSecurityEvaluator implements SecurityEvaluator { + + private String user; + + public StaticSecurityEvaluator( String user) { + this.user = user; + } + + public void setUser( String user ) + { + this.user = user; + } + + @Override + public boolean evaluate(Action action, SecNode graphIRI) { + return true; + } + + @Override + public boolean evaluate(Action action, SecNode graphIRI, SecTriple triple) { + return triple.getSubject().getValue().equals( "urn:"+getPrincipal() ); + } + + @Override + public boolean evaluate(Set<Action> actions, SecNode graphIRI) { + return true; + } + + @Override + public boolean evaluate(Set<Action> actions, SecNode graphIRI, + SecTriple triple) { + return triple.getSubject().getValue().equals( "urn:"+getPrincipal() ); + } + + @Override + public boolean evaluateAny(Set<Action> actions, SecNode graphIRI) { + return true; + } + + @Override + public boolean evaluateAny(Set<Action> actions, SecNode graphIRI, + SecTriple triple) { + return triple.getSubject().getValue().equals( "urn:"+getPrincipal() ); + } + + @Override + public boolean evaluateUpdate(SecNode graphIRI, SecTriple from, SecTriple to) { + return from.getSubject().getValue().equals( "urn:"+getPrincipal() ) && + to.getSubject().getValue().equals( "urn:"+getPrincipal() ); + } + + @Override + public Object getPrincipal() { + return user; + } + +}
