Repository: jena
Updated Branches:
  refs/heads/master cd62e6d29 -> 23d1bde29


http://git-wip-us.apache.org/repos/asf/jena/blob/23d1bde2/jena-security/src/test/java/org/apache/jena/security/ModelBasedSecurityEvaluator.java
----------------------------------------------------------------------
diff --git 
a/jena-security/src/test/java/org/apache/jena/security/ModelBasedSecurityEvaluator.java
 
b/jena-security/src/test/java/org/apache/jena/security/ModelBasedSecurityEvaluator.java
index 7f17aa1..3ed71f1 100644
--- 
a/jena-security/src/test/java/org/apache/jena/security/ModelBasedSecurityEvaluator.java
+++ 
b/jena-security/src/test/java/org/apache/jena/security/ModelBasedSecurityEvaluator.java
@@ -1,3 +1,20 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package org.apache.jena.security;
 
 import java.util.Set;
@@ -6,48 +23,48 @@ import com.hp.hpl.jena.rdf.model.Model;
 
 public class ModelBasedSecurityEvaluator implements SecurityEvaluator {
 
-       private Model model;
+       //private Model model;
        
        public ModelBasedSecurityEvaluator( Model model) {
-               this.model = model;
+               //this.model = model;
        }
        
        
 
        @Override
-       public boolean evaluate(Action action, SecNode graphIRI) {
+       public boolean evaluate(final Object principal, Action action, SecNode 
graphIRI) {
                return true;
        }
 
        @Override
-       public boolean evaluate(Action action, SecNode graphIRI, SecTriple 
triple) {
+       public boolean evaluate(final Object principal, Action action, SecNode 
graphIRI, SecTriple triple) {
                return true;
        }
 
        @Override
-       public boolean evaluate(Set<Action> actions, SecNode graphIRI) {
+       public boolean evaluate(final Object principal, Set<Action> actions, 
SecNode graphIRI) {
                return true;
        }
 
        @Override
-       public boolean evaluate(Set<Action> actions, SecNode graphIRI,
+       public boolean evaluate(final Object principal, Set<Action> actions, 
SecNode graphIRI,
                        SecTriple triple) {
                return true;
        }
 
        @Override
-       public boolean evaluateAny(Set<Action> actions, SecNode graphIRI) {
+       public boolean evaluateAny(final Object principal, Set<Action> actions, 
SecNode graphIRI) {
                return true;
        }
 
        @Override
-       public boolean evaluateAny(Set<Action> actions, SecNode graphIRI,
+       public boolean evaluateAny(final Object principal, Set<Action> actions, 
SecNode graphIRI,
                        SecTriple triple) {
                return true;
        }
 
        @Override
-       public boolean evaluateUpdate(SecNode graphIRI, SecTriple from, 
SecTriple to) {
+       public boolean evaluateUpdate(final Object principal, SecNode graphIRI, 
SecTriple from, SecTriple to) {
                return true;
        }
 

http://git-wip-us.apache.org/repos/asf/jena/blob/23d1bde2/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
index a8164d8..d59b89c 100644
--- 
a/jena-security/src/test/java/org/apache/jena/security/StaticSecurityEvaluator.java
+++ 
b/jena-security/src/test/java/org/apache/jena/security/StaticSecurityEvaluator.java
@@ -1,3 +1,20 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package org.apache.jena.security;
 
 import java.util.Set;
@@ -16,41 +33,41 @@ public class StaticSecurityEvaluator implements 
SecurityEvaluator {
        }
 
        @Override
-       public boolean evaluate(Action action, SecNode graphIRI) {
+       public boolean evaluate(final Object principal, Action action, SecNode 
graphIRI) {
                return true;
        }
 
        @Override
-       public boolean evaluate(Action action, SecNode graphIRI, SecTriple 
triple) {
-               return triple.getSubject().getValue().equals( 
"urn:"+getPrincipal() );
+       public boolean evaluate(final Object principal, Action action, SecNode 
graphIRI, SecTriple triple) {
+               return triple.getSubject().getValue().equals( "urn:"+principal 
);
        }
 
        @Override
-       public boolean evaluate(Set<Action> actions, SecNode graphIRI) {
+       public boolean evaluate(final Object principal, Set<Action> actions, 
SecNode graphIRI) {
                return true;
        }
 
        @Override
-       public boolean evaluate(Set<Action> actions, SecNode graphIRI,
+       public boolean evaluate(final Object principal, Set<Action> actions, 
SecNode graphIRI,
                        SecTriple triple) {
-               return triple.getSubject().getValue().equals( 
"urn:"+getPrincipal() );
+               return triple.getSubject().getValue().equals( "urn:"+principal 
);
        }
 
        @Override
-       public boolean evaluateAny(Set<Action> actions, SecNode graphIRI) {
+       public boolean evaluateAny(final Object principal, Set<Action> actions, 
SecNode graphIRI) {
                return true;
        }
 
        @Override
-       public boolean evaluateAny(Set<Action> actions, SecNode graphIRI,
+       public boolean evaluateAny(final Object principal, Set<Action> actions, 
SecNode graphIRI,
                        SecTriple triple) {
-               return triple.getSubject().getValue().equals( 
"urn:"+getPrincipal() );
+               return triple.getSubject().getValue().equals( "urn:"+principal 
);
        }
 
        @Override
-       public boolean evaluateUpdate(SecNode graphIRI, SecTriple from, 
SecTriple to) {
-               return from.getSubject().getValue().equals( 
"urn:"+getPrincipal() ) && 
-                               to.getSubject().getValue().equals( 
"urn:"+getPrincipal() );
+       public boolean evaluateUpdate(final Object principal, SecNode graphIRI, 
SecTriple from, SecTriple to) {
+               return from.getSubject().getValue().equals( "urn:"+principal ) 
&& 
+                               to.getSubject().getValue().equals( 
"urn:"+principal );
        }
 
        @Override

http://git-wip-us.apache.org/repos/asf/jena/blob/23d1bde2/jena-security/src/test/java/org/apache/jena/security/contract/graph/CachedSecurityEvaluatorTest.java
----------------------------------------------------------------------
diff --git 
a/jena-security/src/test/java/org/apache/jena/security/contract/graph/CachedSecurityEvaluatorTest.java
 
b/jena-security/src/test/java/org/apache/jena/security/contract/graph/CachedSecurityEvaluatorTest.java
new file mode 100644
index 0000000..b145d89
--- /dev/null
+++ 
b/jena-security/src/test/java/org/apache/jena/security/contract/graph/CachedSecurityEvaluatorTest.java
@@ -0,0 +1,27 @@
+package org.apache.jena.security.contract.graph;
+
+import org.apache.jena.security.SecurityEvaluator;
+import org.apache.jena.security.StaticSecurityEvaluator;
+import org.apache.jena.security.impl.CachedSecurityEvaluator;
+import org.junit.Test;
+import static org.junit.Assert.*;
+
+public class CachedSecurityEvaluatorTest {
+
+       private StaticSecurityEvaluator securityEvaluator;
+       private SecurityEvaluator cachedEvaluator;
+       
+       public CachedSecurityEvaluatorTest() {
+               securityEvaluator = new StaticSecurityEvaluator( "bob" );
+               cachedEvaluator = new CachedSecurityEvaluator( 
securityEvaluator, "ted" );
+               
+       }
+       
+       @Test
+       public void testGetPrincipal()
+       {
+               assertEquals( "bob", securityEvaluator.getPrincipal());
+               assertEquals( "ted", cachedEvaluator.getPrincipal());
+       }
+
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/23d1bde2/jena-security/src/test/java/org/apache/jena/security/graph/BulkUpdateHandlerTest.java
----------------------------------------------------------------------
diff --git 
a/jena-security/src/test/java/org/apache/jena/security/graph/BulkUpdateHandlerTest.java
 
b/jena-security/src/test/java/org/apache/jena/security/graph/BulkUpdateHandlerTest.java
index eafb8e2..53a2b10 100644
--- 
a/jena-security/src/test/java/org/apache/jena/security/graph/BulkUpdateHandlerTest.java
+++ 
b/jena-security/src/test/java/org/apache/jena/security/graph/BulkUpdateHandlerTest.java
@@ -81,10 +81,11 @@ public class BulkUpdateHandlerTest
        @Test
        public void testAdd()
        {
+               Object principal = securityEvaluator.getPrincipal();
                try
                {
                        handler.add(tripleArray);
-                       if (!securityEvaluator.evaluate(createAndUpdate,
+                       if (!securityEvaluator.evaluate(principal, 
createAndUpdate,
                                        handler.getModelNode()))
                        {
 
@@ -93,7 +94,7 @@ public class BulkUpdateHandlerTest
                }
                catch (final AccessDeniedException e)
                {
-                       if (securityEvaluator.evaluate(createAndUpdate,
+                       if (securityEvaluator.evaluate(principal, 
createAndUpdate,
                                        handler.getModelNode()))
                        {
                                Assert.fail(String
@@ -105,7 +106,7 @@ public class BulkUpdateHandlerTest
                try
                {
                        handler.add(Arrays.asList(tripleArray));
-                       if (!securityEvaluator.evaluate(createAndUpdate,
+                       if (!securityEvaluator.evaluate(principal, 
createAndUpdate,
                                        handler.getModelNode()))
                        {
 
@@ -114,7 +115,7 @@ public class BulkUpdateHandlerTest
                }
                catch (final AccessDeniedException e)
                {
-                       if (securityEvaluator.evaluate(createAndUpdate,
+                       if (securityEvaluator.evaluate(principal, 
createAndUpdate,
                                        handler.getModelNode()))
                        {
                                Assert.fail(String
@@ -126,7 +127,7 @@ public class BulkUpdateHandlerTest
                try
                {
                        handler.add(Arrays.asList(tripleArray).iterator());
-                       if (!securityEvaluator.evaluate(createAndUpdate,
+                       if (!securityEvaluator.evaluate(principal, 
createAndUpdate,
                                        handler.getModelNode()))
                        {
 
@@ -135,7 +136,7 @@ public class BulkUpdateHandlerTest
                }
                catch (final AccessDeniedException e)
                {
-                       if (securityEvaluator.evaluate(createAndUpdate,
+                       if (securityEvaluator.evaluate(principal, 
createAndUpdate,
                                        handler.getModelNode()))
                        {
                                Assert.fail(String
@@ -147,7 +148,7 @@ public class BulkUpdateHandlerTest
                try
                {
                        handler.add(new 
CollectionGraph(Arrays.asList(tripleArray)));
-                       if (!securityEvaluator.evaluate(createAndUpdate,
+                       if (!securityEvaluator.evaluate(principal, 
createAndUpdate,
                                        handler.getModelNode()))
                        {
 
@@ -156,7 +157,7 @@ public class BulkUpdateHandlerTest
                }
                catch (final AccessDeniedException e)
                {
-                       if (securityEvaluator.evaluate(createAndUpdate,
+                       if (securityEvaluator.evaluate(principal, 
createAndUpdate,
                                        handler.getModelNode()))
                        {
                                Assert.fail(String
@@ -168,7 +169,7 @@ public class BulkUpdateHandlerTest
                try
                {
                        handler.add(new 
CollectionGraph(Arrays.asList(tripleArray)));
-                       if (!securityEvaluator.evaluate(createAndUpdate,
+                       if (!securityEvaluator.evaluate(principal, 
createAndUpdate,
                                        handler.getModelNode()))
                        {
 
@@ -177,7 +178,7 @@ public class BulkUpdateHandlerTest
                }
                catch (final AccessDeniedException e)
                {
-                       if (securityEvaluator.evaluate(createAndUpdate,
+                       if (securityEvaluator.evaluate(principal, 
createAndUpdate,
                                        handler.getModelNode()))
                        {
                                Assert.fail(String
@@ -189,7 +190,7 @@ public class BulkUpdateHandlerTest
                try
                {
                        handler.add(new 
CollectionGraph(Arrays.asList(tripleArray)), true);
-                       if (!securityEvaluator.evaluate(createAndUpdate,
+                       if (!securityEvaluator.evaluate(principal, 
createAndUpdate,
                                        handler.getModelNode()))
                        {
 
@@ -198,7 +199,7 @@ public class BulkUpdateHandlerTest
                }
                catch (final AccessDeniedException e)
                {
-                       if (securityEvaluator.evaluate(createAndUpdate,
+                       if (securityEvaluator.evaluate(principal, 
createAndUpdate,
                                        handler.getModelNode()))
                        {
                                Assert.fail(String
@@ -211,11 +212,11 @@ public class BulkUpdateHandlerTest
        @Test
        public void testDelete()
        {
-
+               Object principal = securityEvaluator.getPrincipal();
                try
                {
                        handler.delete(tripleArray);
-                       if (!securityEvaluator.evaluate(deleteAndUpdate,
+                       if (!securityEvaluator.evaluate(principal, 
deleteAndUpdate,
                                        handler.getModelNode()))
                        {
 
@@ -224,7 +225,7 @@ public class BulkUpdateHandlerTest
                }
                catch (final AccessDeniedException e)
                {
-                       if (securityEvaluator.evaluate(deleteAndUpdate,
+                       if (securityEvaluator.evaluate(principal, 
deleteAndUpdate,
                                        handler.getModelNode()))
                        {
                                Assert.fail(String
@@ -236,7 +237,7 @@ public class BulkUpdateHandlerTest
                try
                {
                        handler.delete(Arrays.asList(tripleArray));
-                       if (!securityEvaluator.evaluate(deleteAndUpdate,
+                       if (!securityEvaluator.evaluate(principal, 
deleteAndUpdate,
                                        handler.getModelNode()))
                        {
 
@@ -245,7 +246,7 @@ public class BulkUpdateHandlerTest
                }
                catch (final AccessDeniedException e)
                {
-                       if (securityEvaluator.evaluate(deleteAndUpdate,
+                       if (securityEvaluator.evaluate(principal, 
deleteAndUpdate,
                                        handler.getModelNode()))
                        {
                                Assert.fail(String
@@ -257,7 +258,7 @@ public class BulkUpdateHandlerTest
                try
                {
                        handler.delete(Arrays.asList(tripleArray).iterator());
-                       if (!securityEvaluator.evaluate(deleteAndUpdate,
+                       if (!securityEvaluator.evaluate(principal, 
deleteAndUpdate,
                                        handler.getModelNode()))
                        {
 
@@ -266,7 +267,7 @@ public class BulkUpdateHandlerTest
                }
                catch (final AccessDeniedException e)
                {
-                       if (securityEvaluator.evaluate(deleteAndUpdate,
+                       if (securityEvaluator.evaluate(principal, 
deleteAndUpdate,
                                        handler.getModelNode()))
                        {
                                Assert.fail(String
@@ -278,7 +279,7 @@ public class BulkUpdateHandlerTest
                try
                {
                        handler.delete(new 
CollectionGraph(Arrays.asList(tripleArray)));
-                       if (!securityEvaluator.evaluate(deleteAndUpdate,
+                       if (!securityEvaluator.evaluate(principal, 
deleteAndUpdate,
                                        handler.getModelNode()))
                        {
 
@@ -287,7 +288,7 @@ public class BulkUpdateHandlerTest
                }
                catch (final AccessDeniedException e)
                {
-                       if (securityEvaluator.evaluate(deleteAndUpdate,
+                       if (securityEvaluator.evaluate(principal, 
deleteAndUpdate,
                                        handler.getModelNode()))
                        {
                                Assert.fail(String
@@ -300,7 +301,7 @@ public class BulkUpdateHandlerTest
                {
                        handler.delete(new 
CollectionGraph(Arrays.asList(tripleArray)),
                                        true);
-                       if (!securityEvaluator.evaluate(deleteAndUpdate,
+                       if (!securityEvaluator.evaluate(principal, 
deleteAndUpdate,
                                        handler.getModelNode()))
                        {
                                Assert.fail("Should have thrown AccessDenied 
Exception");
@@ -308,7 +309,7 @@ public class BulkUpdateHandlerTest
                }
                catch (final AccessDeniedException e)
                {
-                       if (securityEvaluator.evaluate(deleteAndUpdate,
+                       if (securityEvaluator.evaluate(principal, 
deleteAndUpdate,
                                        handler.getModelNode()))
                        {
                                Assert.fail(String
@@ -321,11 +322,12 @@ public class BulkUpdateHandlerTest
 
        public void testRemove()
        {
+               Object principal = securityEvaluator.getPrincipal();
                try
                {
                        
handler.remove(NodeFactory.createURI("http://example.com/1";),
                                        
NodeFactory.createURI("http://example.com/v";), NodeFactory.createAnon());
-                       if (!securityEvaluator.evaluate(deleteAndUpdate,
+                       if (!securityEvaluator.evaluate(principal, 
deleteAndUpdate,
                                        handler.getModelNode()))
                        {
 
@@ -334,7 +336,7 @@ public class BulkUpdateHandlerTest
                }
                catch (final AccessDeniedException e)
                {
-                       if (securityEvaluator.evaluate(deleteAndUpdate,
+                       if (securityEvaluator.evaluate(principal, 
deleteAndUpdate,
                                        handler.getModelNode()))
                        {
                                Assert.fail(String
@@ -346,10 +348,11 @@ public class BulkUpdateHandlerTest
 
        public void testRemoveAll()
        {
+               Object principal = securityEvaluator.getPrincipal();
                try
                {
                        handler.removeAll();
-                       if (!securityEvaluator.evaluate(deleteAndUpdate,
+                       if (!securityEvaluator.evaluate(principal, 
deleteAndUpdate,
                                        handler.getModelNode()))
                        {
 
@@ -358,7 +361,7 @@ public class BulkUpdateHandlerTest
                }
                catch (final AccessDeniedException e)
                {
-                       if (securityEvaluator.evaluate(deleteAndUpdate,
+                       if (securityEvaluator.evaluate(principal, 
deleteAndUpdate,
                                        handler.getModelNode()))
                        {
                                Assert.fail(String

http://git-wip-us.apache.org/repos/asf/jena/blob/23d1bde2/jena-security/src/test/java/org/apache/jena/security/graph/CrossIDGraphEventManagerTest.java
----------------------------------------------------------------------
diff --git 
a/jena-security/src/test/java/org/apache/jena/security/graph/CrossIDGraphEventManagerTest.java
 
b/jena-security/src/test/java/org/apache/jena/security/graph/CrossIDGraphEventManagerTest.java
new file mode 100644
index 0000000..caea972
--- /dev/null
+++ 
b/jena-security/src/test/java/org/apache/jena/security/graph/CrossIDGraphEventManagerTest.java
@@ -0,0 +1,78 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.jena.security.graph;
+
+import org.apache.jena.security.Factory;
+import org.apache.jena.security.StaticSecurityEvaluator;
+import org.junit.Assert;
+import org.junit.Test;
+
+import com.hp.hpl.jena.graph.Graph;
+import com.hp.hpl.jena.graph.GraphEventManager;
+import com.hp.hpl.jena.graph.NodeFactory;
+import com.hp.hpl.jena.graph.Triple;
+import com.hp.hpl.jena.sparql.graph.GraphFactory;
+
+public class CrossIDGraphEventManagerTest {
+
+       private final GraphEventManager manager;
+       private final Graph g;
+       private final SecuredGraph sg;
+       private final StaticSecurityEvaluator securityEvaluator;
+
+       private final RecordingGraphListener annListener;
+       private final RecordingGraphListener bobListener;
+
+       public CrossIDGraphEventManagerTest() {
+               this.securityEvaluator = new StaticSecurityEvaluator("ann");
+
+               g = GraphFactory.createDefaultGraph();
+               g.add(new Triple(NodeFactory.createURI("urn:ann"), NodeFactory
+                               .createURI("http://example.com/v";), 
NodeFactory.createAnon()));
+               g.add(new Triple(NodeFactory.createURI("urn:bob"), NodeFactory
+                               .createURI("http://example.com/v";), 
NodeFactory.createAnon()));
+               g.add(new Triple(NodeFactory.createURI("urn:ann"), NodeFactory
+                               .createURI("http://example.com/v2";), 
NodeFactory.createAnon()));
+
+               sg = Factory.getInstance(securityEvaluator,
+                               "http://example.com/testGraph";, g);
+               manager = sg.getEventManager();
+               annListener = new RecordingGraphListener();
+               manager.register(annListener);
+               this.securityEvaluator.setUser("bob");
+               bobListener = new RecordingGraphListener();
+               manager.register(bobListener);
+       }
+
+       @Test
+       public void notificationsTest() {
+               sg.add(new Triple(NodeFactory.createURI("urn:bob"), NodeFactory
+                               .createURI("http://example.com/v2";), 
NodeFactory.createAnon()));
+
+               Assert.assertTrue("Should recorded add", bobListener.isAdd());
+               Assert.assertFalse("Should not have recorded add", 
annListener.isAdd());
+
+               sg.delete(new Triple(NodeFactory.createURI("urn:bob"), 
NodeFactory
+                               .createURI("http://example.com/v2";), 
NodeFactory.createAnon()));
+
+               Assert.assertTrue("Should recorded delete", 
bobListener.isDelete());
+               Assert.assertFalse("Should not have recorded delete",
+                               annListener.isDelete());
+       }
+
+}

http://git-wip-us.apache.org/repos/asf/jena/blob/23d1bde2/jena-security/src/test/java/org/apache/jena/security/graph/GraphEventManagerTest.java
----------------------------------------------------------------------
diff --git 
a/jena-security/src/test/java/org/apache/jena/security/graph/GraphEventManagerTest.java
 
b/jena-security/src/test/java/org/apache/jena/security/graph/GraphEventManagerTest.java
index d45db9e..e7a8f34 100644
--- 
a/jena-security/src/test/java/org/apache/jena/security/graph/GraphEventManagerTest.java
+++ 
b/jena-security/src/test/java/org/apache/jena/security/graph/GraphEventManagerTest.java
@@ -19,15 +19,12 @@ package org.apache.jena.security.graph;
 
 import com.hp.hpl.jena.graph.Graph;
 import com.hp.hpl.jena.graph.GraphEventManager;
-import com.hp.hpl.jena.graph.GraphListener;
 import com.hp.hpl.jena.graph.NodeFactory;
 import com.hp.hpl.jena.graph.Triple;
 import com.hp.hpl.jena.graph.impl.CollectionGraph;
 import com.hp.hpl.jena.sparql.graph.GraphFactory;
 
 import java.util.Arrays;
-import java.util.Iterator;
-import java.util.List;
 import java.util.Set;
 
 import org.apache.jena.security.Factory;
@@ -41,107 +38,13 @@ import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
+/**
+ * Verifies that messages are properly filtered when sent to listeners.
+ *
+ */
 @RunWith( value = SecurityEvaluatorParameters.class )
 public class GraphEventManagerTest
 {
-       private class RecordingGraphListener implements GraphListener
-       {
-
-               private boolean add;
-               private boolean delete;
-               private boolean event;
-
-               public boolean isAdd()
-               {
-                       return add;
-               }
-
-               public boolean isDelete()
-               {
-                       return delete;
-               }
-
-               public boolean isEvent()
-               {
-                       return event;
-               }
-
-               @Override
-               public void notifyAddArray( final Graph g, final Triple[] 
triples )
-               {
-                       add = true;
-               }
-
-               @Override
-               public void notifyAddGraph( final Graph g, final Graph added )
-               {
-                       add = true;
-               }
-
-               @Override
-               public void notifyAddIterator( final Graph g, final 
Iterator<Triple> it )
-               {
-                       add = true;
-               }
-
-               @Override
-               public void notifyAddList( final Graph g, final List<Triple> 
triples )
-               {
-                       add = true;
-               }
-
-               @Override
-               public void notifyAddTriple( final Graph g, final Triple t )
-               {
-                       add = true;
-               }
-
-               @Override
-               public void notifyDeleteArray( final Graph g, final Triple[] 
triples )
-               {
-                       delete = true;
-               }
-
-               @Override
-               public void notifyDeleteGraph( final Graph g, final Graph 
removed )
-               {
-                       delete = true;
-               }
-
-               @Override
-               public void notifyDeleteIterator( final Graph g,
-                               final Iterator<Triple> it )
-               {
-                       delete = true;
-               }
-
-               @Override
-               public void notifyDeleteList( final Graph g, final List<Triple> 
L )
-               {
-                       delete = true;
-               }
-
-               @Override
-               public void notifyDeleteTriple( final Graph g, final Triple t )
-               {
-                       delete = true;
-               }
-
-               @Override
-               public void notifyEvent( final Graph source, final Object value 
)
-               {
-                       event = true;
-               }
-
-               public void reset()
-               {
-                       add = false;
-                       delete = false;
-                       event = false;
-               }
-
-       }
-
        private final GraphEventManager manager;
        private final Graph g;
        private final SecuredGraph sg;
@@ -167,10 +70,11 @@ public class GraphEventManagerTest
        @SuppressWarnings("deprecation")
        public void notifyAddTest()
        {
+               Object principal = securityEvaluator.getPrincipal();
                final Set<Action> ADD = SecurityEvaluator.Util.asSet(new 
Action[] {
                                Action.Create, Action.Read });
                g.add(tripleArray[0]);
-               if (securityEvaluator.evaluateAny(ADD, sg.getModelNode()))
+               if (securityEvaluator.evaluateAny(principal, ADD, 
sg.getModelNode()))
                {
                        Assert.assertTrue("Should recorded add", 
listener.isAdd());
                }
@@ -182,7 +86,7 @@ public class GraphEventManagerTest
                listener.reset();
 
                g.getBulkUpdateHandler().add(tripleArray);
-               if (securityEvaluator.evaluateAny(ADD, sg.getModelNode()))
+               if (securityEvaluator.evaluateAny(principal, ADD, 
sg.getModelNode()))
                {
                        Assert.assertTrue("Should recorded add", 
listener.isAdd());
                }
@@ -194,7 +98,7 @@ public class GraphEventManagerTest
                listener.reset();
 
                g.getBulkUpdateHandler().add(Arrays.asList(tripleArray));
-               if (securityEvaluator.evaluateAny(ADD, sg.getModelNode()))
+               if (securityEvaluator.evaluateAny(principal, ADD, 
sg.getModelNode()))
                {
                        Assert.assertTrue("Should recorded add", 
listener.isAdd());
                }
@@ -206,7 +110,7 @@ public class GraphEventManagerTest
                listener.reset();
 
                
g.getBulkUpdateHandler().add(Arrays.asList(tripleArray).iterator());
-               if (securityEvaluator.evaluateAny(ADD, sg.getModelNode()))
+               if (securityEvaluator.evaluateAny(principal, ADD, 
sg.getModelNode()))
                {
                        Assert.assertTrue("Should recorded add", 
listener.isAdd());
                }
@@ -219,7 +123,7 @@ public class GraphEventManagerTest
 
                g.getBulkUpdateHandler().add(
                                new 
CollectionGraph(Arrays.asList(tripleArray)));
-               if (securityEvaluator.evaluateAny(ADD, sg.getModelNode()))
+               if (securityEvaluator.evaluateAny(principal, ADD, 
sg.getModelNode()))
                {
                        Assert.assertTrue("Should recorded add", 
listener.isAdd());
                }
@@ -235,10 +139,11 @@ public class GraphEventManagerTest
     @Test
        public void notifyDeleteTest()
        {
+               Object principal = securityEvaluator.getPrincipal();
                final Set<Action> DELETE = SecurityEvaluator.Util.asSet(new 
Action[] {
                                Action.Delete, Action.Read });
                g.delete(tripleArray[0]);
-               if (securityEvaluator.evaluateAny(DELETE, sg.getModelNode()))
+               if (securityEvaluator.evaluateAny(principal, DELETE, 
sg.getModelNode()))
                {
                        Assert.assertTrue("Should have recorded delete",
                                        listener.isDelete());
@@ -252,7 +157,7 @@ public class GraphEventManagerTest
                listener.reset();
 
                g.getBulkUpdateHandler().delete(tripleArray);
-               if (securityEvaluator.evaluateAny(DELETE, sg.getModelNode()))
+               if (securityEvaluator.evaluateAny(principal, DELETE, 
sg.getModelNode()))
                {
                        Assert.assertTrue("Should recorded delete", 
listener.isDelete());
                }
@@ -264,7 +169,7 @@ public class GraphEventManagerTest
                listener.reset();
 
                g.getBulkUpdateHandler().delete(Arrays.asList(tripleArray));
-               if (securityEvaluator.evaluateAny(DELETE, sg.getModelNode()))
+               if (securityEvaluator.evaluateAny(principal, DELETE, 
sg.getModelNode()))
                {
                        Assert.assertTrue("Should recorded delete", 
listener.isDelete());
                }
@@ -276,7 +181,7 @@ public class GraphEventManagerTest
                listener.reset();
 
                
g.getBulkUpdateHandler().delete(Arrays.asList(tripleArray).iterator());
-               if (securityEvaluator.evaluateAny(DELETE, sg.getModelNode()))
+               if (securityEvaluator.evaluateAny(principal, DELETE, 
sg.getModelNode()))
                {
                        Assert.assertTrue("Should recorded delete", 
listener.isDelete());
                }
@@ -289,7 +194,7 @@ public class GraphEventManagerTest
 
                g.getBulkUpdateHandler().delete(
                                new 
CollectionGraph(Arrays.asList(tripleArray)));
-               if (securityEvaluator.evaluateAny(DELETE, sg.getModelNode()))
+               if (securityEvaluator.evaluateAny(principal, DELETE, 
sg.getModelNode()))
                {
                        Assert.assertTrue("Should recorded delete", 
listener.isDelete());
                }

http://git-wip-us.apache.org/repos/asf/jena/blob/23d1bde2/jena-security/src/test/java/org/apache/jena/security/graph/RecordingGraphListener.java
----------------------------------------------------------------------
diff --git 
a/jena-security/src/test/java/org/apache/jena/security/graph/RecordingGraphListener.java
 
b/jena-security/src/test/java/org/apache/jena/security/graph/RecordingGraphListener.java
new file mode 100644
index 0000000..1e06e01
--- /dev/null
+++ 
b/jena-security/src/test/java/org/apache/jena/security/graph/RecordingGraphListener.java
@@ -0,0 +1,106 @@
+package org.apache.jena.security.graph;
+
+import java.util.Iterator;
+import java.util.List;
+
+import com.hp.hpl.jena.graph.Graph;
+import com.hp.hpl.jena.graph.GraphListener;
+import com.hp.hpl.jena.graph.Triple;
+
+public class RecordingGraphListener implements GraphListener
+{
+
+       private boolean add;
+       private boolean delete;
+       private boolean event;
+
+       public boolean isAdd()
+       {
+               return add;
+       }
+
+       public boolean isDelete()
+       {
+               return delete;
+       }
+
+       public boolean isEvent()
+       {
+               return event;
+       }
+
+       @Override
+       public void notifyAddArray( final Graph g, final Triple[] triples )
+       {
+               add = true;
+       }
+
+       @Override
+       public void notifyAddGraph( final Graph g, final Graph added )
+       {
+               add = true;
+       }
+
+       @Override
+       public void notifyAddIterator( final Graph g, final Iterator<Triple> it 
)
+       {
+               add = true;
+       }
+
+       @Override
+       public void notifyAddList( final Graph g, final List<Triple> triples )
+       {
+               add = true;
+       }
+
+       @Override
+       public void notifyAddTriple( final Graph g, final Triple t )
+       {
+               add = true;
+       }
+
+       @Override
+       public void notifyDeleteArray( final Graph g, final Triple[] triples )
+       {
+               delete = true;
+       }
+
+       @Override
+       public void notifyDeleteGraph( final Graph g, final Graph removed )
+       {
+               delete = true;
+       }
+
+       @Override
+       public void notifyDeleteIterator( final Graph g,
+                       final Iterator<Triple> it )
+       {
+               delete = true;
+       }
+
+       @Override
+       public void notifyDeleteList( final Graph g, final List<Triple> L )
+       {
+               delete = true;
+       }
+
+       @Override
+       public void notifyDeleteTriple( final Graph g, final Triple t )
+       {
+               delete = true;
+       }
+
+       @Override
+       public void notifyEvent( final Graph source, final Object value )
+       {
+               event = true;
+       }
+
+       public void reset()
+       {
+               add = false;
+               delete = false;
+               event = false;
+       }
+
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/jena/blob/23d1bde2/jena-security/src/test/java/org/apache/jena/security/graph/SecuredPrefixMappingTest.java
----------------------------------------------------------------------
diff --git 
a/jena-security/src/test/java/org/apache/jena/security/graph/SecuredPrefixMappingTest.java
 
b/jena-security/src/test/java/org/apache/jena/security/graph/SecuredPrefixMappingTest.java
index 1bed4d7..c1d78a3 100644
--- 
a/jena-security/src/test/java/org/apache/jena/security/graph/SecuredPrefixMappingTest.java
+++ 
b/jena-security/src/test/java/org/apache/jena/security/graph/SecuredPrefixMappingTest.java
@@ -81,12 +81,14 @@ public class SecuredPrefixMappingTest
        }
 
        private final SecurityEvaluator securityEvaluator;
+       private final Object principal;
 
        protected SecuredPrefixMapping securedMapping;
 
        public SecuredPrefixMappingTest( final SecurityEvaluator 
securityEvaluator )
        {
                this.securityEvaluator = securityEvaluator;
+               this.principal = securityEvaluator.getPrincipal();
        }
 
        @Before
@@ -102,10 +104,10 @@ public class SecuredPrefixMappingTest
        @Test
        public void testExpandPrefix()
        {
-               try
+                               try
                {
                        securedMapping.expandPrefix("foo");
-                       if (!securityEvaluator.evaluate(Action.Read,
+                       if (!securityEvaluator.evaluate(principal, Action.Read,
                                        securedMapping.getModelNode()))
                        {
                                Assert.fail("Should have thrown AccessDenied 
Exception");
@@ -113,7 +115,7 @@ public class SecuredPrefixMappingTest
                }
                catch (final AccessDeniedException e)
                {
-                       if (securityEvaluator.evaluate(Action.Read,
+                       if (securityEvaluator.evaluate(principal, Action.Read,
                                        securedMapping.getModelNode()))
                        {
                                Assert.fail(String
@@ -126,10 +128,10 @@ public class SecuredPrefixMappingTest
        @Test
        public void testGetNsPrefixMap()
        {
-               try
+                               try
                {
                        securedMapping.getNsPrefixMap();
-                       if (!securityEvaluator.evaluate(Action.Read,
+                       if (!securityEvaluator.evaluate(principal, Action.Read,
                                        securedMapping.getModelNode()))
                        {
                                Assert.fail("Should have thrown AccessDenied 
Exception");
@@ -137,7 +139,7 @@ public class SecuredPrefixMappingTest
                }
                catch (final AccessDeniedException e)
                {
-                       if (securityEvaluator.evaluate(Action.Read,
+                       if (securityEvaluator.evaluate(principal, Action.Read,
                                        securedMapping.getModelNode()))
                        {
                                Assert.fail(String
@@ -150,11 +152,10 @@ public class SecuredPrefixMappingTest
        @Test
        public void testGetNsPrefixURI()
        {
-
-               try
+                               try
                {
                        securedMapping.getNsPrefixURI("foo");
-                       if (!securityEvaluator.evaluate(Action.Read,
+                       if (!securityEvaluator.evaluate(principal, Action.Read,
                                        securedMapping.getModelNode()))
                        {
                                Assert.fail("Should have thrown AccessDenied 
Exception");
@@ -162,7 +163,7 @@ public class SecuredPrefixMappingTest
                }
                catch (final AccessDeniedException e)
                {
-                       if (securityEvaluator.evaluate(Action.Read,
+                       if (securityEvaluator.evaluate(principal, Action.Read,
                                        securedMapping.getModelNode()))
                        {
                                Assert.fail(String
@@ -176,11 +177,10 @@ public class SecuredPrefixMappingTest
        @Test
        public void testGetNsURIPrefix()
        {
-
-               try
+                               try
                {
                        securedMapping.getNsURIPrefix("http://example.com/foo";);
-                       if (!securityEvaluator.evaluate(Action.Read,
+                       if (!securityEvaluator.evaluate(principal, Action.Read,
                                        securedMapping.getModelNode()))
                        {
                                Assert.fail("Should have thrown AccessDenied 
Exception");
@@ -188,7 +188,7 @@ public class SecuredPrefixMappingTest
                }
                catch (final AccessDeniedException e)
                {
-                       if (securityEvaluator.evaluate(Action.Read,
+                       if (securityEvaluator.evaluate(principal, Action.Read,
                                        securedMapping.getModelNode()))
                        {
                                Assert.fail(String
@@ -201,10 +201,10 @@ public class SecuredPrefixMappingTest
        @Test
        public void testLock()
        {
-               try
+                               try
                {
                        securedMapping.lock();
-                       if (!securityEvaluator.evaluate(Action.Update,
+                       if (!securityEvaluator.evaluate(principal, 
Action.Update,
                                        securedMapping.getModelNode()))
                        {
                                Assert.fail("Should have thrown AccessDenied 
Exception");
@@ -212,7 +212,7 @@ public class SecuredPrefixMappingTest
                }
                catch (final AccessDeniedException e)
                {
-                       if (securityEvaluator.evaluate(Action.Update,
+                       if (securityEvaluator.evaluate(principal, Action.Update,
                                        securedMapping.getModelNode()))
                        {
                                Assert.fail(String
@@ -229,7 +229,7 @@ public class SecuredPrefixMappingTest
                try
                {
                        securedMapping.qnameFor("http://example.com/foo/bar";);
-                       if (!securityEvaluator.evaluate(Action.Read,
+                       if (!securityEvaluator.evaluate(principal, Action.Read,
                                        securedMapping.getModelNode()))
                        {
                                Assert.fail("Should have thrown AccessDenied 
Exception");
@@ -237,7 +237,7 @@ public class SecuredPrefixMappingTest
                }
                catch (final AccessDeniedException e)
                {
-                       if (securityEvaluator.evaluate(Action.Read,
+                       if (securityEvaluator.evaluate(principal, Action.Read,
                                        securedMapping.getModelNode()))
                        {
                                Assert.fail(String
@@ -253,7 +253,7 @@ public class SecuredPrefixMappingTest
                try
                {
                        securedMapping.removeNsPrefix("foo");
-                       if (!securityEvaluator.evaluate(Action.Update,
+                       if (!securityEvaluator.evaluate(principal, 
Action.Update,
                                        securedMapping.getModelNode()))
                        {
                                Assert.fail("Should have thrown AccessDenied 
Exception");
@@ -261,7 +261,7 @@ public class SecuredPrefixMappingTest
                }
                catch (final AccessDeniedException e)
                {
-                       if (securityEvaluator.evaluate(Action.Update,
+                       if (securityEvaluator.evaluate(principal, Action.Update,
                                        securedMapping.getModelNode()))
                        {
                                Assert.fail(String
@@ -279,7 +279,7 @@ public class SecuredPrefixMappingTest
                {
                        securedMapping.samePrefixMappingAs(GraphFactory
                                        
.createDefaultGraph().getPrefixMapping());
-                       if (!securityEvaluator.evaluate(Action.Read,
+                       if (!securityEvaluator.evaluate(principal, Action.Read,
                                        securedMapping.getModelNode()))
                        {
                                Assert.fail("Should have thrown AccessDenied 
Exception");
@@ -287,7 +287,7 @@ public class SecuredPrefixMappingTest
                }
                catch (final AccessDeniedException e)
                {
-                       if (securityEvaluator.evaluate(Action.Read,
+                       if (securityEvaluator.evaluate(principal, Action.Read,
                                        securedMapping.getModelNode()))
                        {
                                Assert.fail(String
@@ -303,7 +303,7 @@ public class SecuredPrefixMappingTest
                try
                {
                        securedMapping.setNsPrefix("foo", 
"http://example.com/foo";);
-                       if (!securityEvaluator.evaluate(Action.Update,
+                       if (!securityEvaluator.evaluate(principal, 
Action.Update,
                                        securedMapping.getModelNode()))
                        {
 
@@ -312,7 +312,7 @@ public class SecuredPrefixMappingTest
                }
                catch (final AccessDeniedException e)
                {
-                       if (securityEvaluator.evaluate(Action.Update,
+                       if (securityEvaluator.evaluate(principal, Action.Update,
                                        securedMapping.getModelNode()))
                        {
                                Assert.fail(String
@@ -325,7 +325,7 @@ public class SecuredPrefixMappingTest
                {
                        
securedMapping.setNsPrefixes(GraphFactory.createDefaultGraph()
                                        .getPrefixMapping());
-                       if (!securityEvaluator.evaluate(Action.Update,
+                       if (!securityEvaluator.evaluate(principal, 
Action.Update,
                                        securedMapping.getModelNode()))
                        {
                                Assert.fail("Should have thrown AccessDenied 
Exception");
@@ -333,7 +333,7 @@ public class SecuredPrefixMappingTest
                }
                catch (final AccessDeniedException e)
                {
-                       if (securityEvaluator.evaluate(Action.Update,
+                       if (securityEvaluator.evaluate(principal, Action.Update,
                                        securedMapping.getModelNode()))
                        {
                                Assert.fail(String
@@ -345,7 +345,7 @@ public class SecuredPrefixMappingTest
                try
                {
                        securedMapping.setNsPrefixes(new HashMap<String, 
String>());
-                       if (!securityEvaluator.evaluate(Action.Update,
+                       if (!securityEvaluator.evaluate(principal, 
Action.Update,
                                        securedMapping.getModelNode()))
                        {
                                Assert.fail("Should have thrown AccessDenied 
Exception");
@@ -353,7 +353,7 @@ public class SecuredPrefixMappingTest
                }
                catch (final AccessDeniedException e)
                {
-                       if (securityEvaluator.evaluate(Action.Update,
+                       if (securityEvaluator.evaluate(principal, Action.Update,
                                        securedMapping.getModelNode()))
                        {
                                Assert.fail(String
@@ -369,7 +369,7 @@ public class SecuredPrefixMappingTest
                try
                {
                        securedMapping.shortForm("http://example.com/foo/bar";);
-                       if (!securityEvaluator.evaluate(Action.Read,
+                       if (!securityEvaluator.evaluate(principal, Action.Read,
                                        securedMapping.getModelNode()))
                        {
                                Assert.fail("Should have thrown AccessDenied 
Exception");
@@ -377,7 +377,7 @@ public class SecuredPrefixMappingTest
                }
                catch (final AccessDeniedException e)
                {
-                       if (securityEvaluator.evaluate(Action.Read,
+                       if (securityEvaluator.evaluate(principal, Action.Read,
                                        securedMapping.getModelNode()))
                        {
                                Assert.fail(String
@@ -396,7 +396,7 @@ public class SecuredPrefixMappingTest
                {
                        // make sure that it must update
                        securedMapping.withDefaultMappings(pm);
-                       if (!securityEvaluator.evaluate(Action.Update,
+                       if (!securityEvaluator.evaluate(principal, 
Action.Update,
                                        securedMapping.getModelNode()))
                        {
                                Assert.fail("Should have thrown AccessDenied 
Exception");
@@ -404,7 +404,7 @@ public class SecuredPrefixMappingTest
                }
                catch (final AccessDeniedException e)
                {
-                       if (securityEvaluator.evaluate(Action.Update,
+                       if (securityEvaluator.evaluate(principal, Action.Update,
                                        securedMapping.getModelNode()))
                        {
                                Assert.fail(String
@@ -430,7 +430,7 @@ public class SecuredPrefixMappingTest
                }
                catch (final AccessDeniedException e)
                {
-                       if (securityEvaluator.evaluate(Action.Update,
+                       if (securityEvaluator.evaluate(principal, Action.Update,
                                        securedMapping.getModelNode()))
                        {
                                Assert.fail(String

http://git-wip-us.apache.org/repos/asf/jena/blob/23d1bde2/jena-security/src/test/java/org/apache/jena/security/model/SecuredModelDetailTest.java
----------------------------------------------------------------------
diff --git 
a/jena-security/src/test/java/org/apache/jena/security/model/SecuredModelDetailTest.java
 
b/jena-security/src/test/java/org/apache/jena/security/model/SecuredModelDetailTest.java
index 5e051c2..6f7a4d8 100644
--- 
a/jena-security/src/test/java/org/apache/jena/security/model/SecuredModelDetailTest.java
+++ 
b/jena-security/src/test/java/org/apache/jena/security/model/SecuredModelDetailTest.java
@@ -53,8 +53,6 @@ public class SecuredModelDetailTest {
        private Property pTo = 
ResourceFactory.createProperty("http://example.com/to";);
        private Property pFrom = ResourceFactory
                        .createProperty( "http://example.com/from";);
-       private Property pSubj = ResourceFactory
-                       .createProperty("http://example.com/subj";);
        
        @Before
        public void setup()
@@ -251,7 +249,7 @@ public class SecuredModelDetailTest {
                }
                
                @Override
-               public boolean evaluate(Action action, SecNode graphIRI) {
+               public boolean evaluate(Object principal, Action action, 
SecNode graphIRI) {
                        // we allow any action on a graph.
                        return true;
                }
@@ -261,8 +259,8 @@ public class SecuredModelDetailTest {
                        // a message is only available to sender or recipient
                        if (r.hasProperty( RDF.type, msgType ))
                        {
-                               return r.hasProperty( pTo, principal.getName() 
) ||
-                                               r.hasProperty( pFrom, 
principal.getName());
+                               return r.hasProperty( pTo, 
((Principal)principal).getName() ) ||
+                                               r.hasProperty( pFrom, 
((Principal)principal).getName());
                        }
                        return true;    
                }
@@ -295,34 +293,34 @@ public class SecuredModelDetailTest {
                }
                
                @Override
-               public boolean evaluate(Action action, SecNode graphIRI, 
SecTriple triple) {
+               public boolean evaluate(Object principal, Action action, 
SecNode graphIRI, SecTriple triple) {
                        return evaluate( triple );
                }
 
                @Override
-               public boolean evaluate(Set<Action> actions, SecNode graphIRI) {
+               public boolean evaluate(Object principal, Set<Action> actions, 
SecNode graphIRI) {
                        return true;
                }
 
                @Override
-               public boolean evaluate(Set<Action> actions, SecNode graphIRI,
+               public boolean evaluate(Object principal, Set<Action> actions, 
SecNode graphIRI,
                                SecTriple triple) {
                        return evaluate( triple );
                }
 
                @Override
-               public boolean evaluateAny(Set<Action> actions, SecNode 
graphIRI) {
+               public boolean evaluateAny(Object principal, Set<Action> 
actions, SecNode graphIRI) {
                        return true;
                }
 
                @Override
-               public boolean evaluateAny(Set<Action> actions, SecNode 
graphIRI,
+               public boolean evaluateAny(Object principal, Set<Action> 
actions, SecNode graphIRI,
                                SecTriple triple) {
                        return evaluate( triple );
                }
 
                @Override
-               public boolean evaluateUpdate(SecNode graphIRI, SecTriple from, 
SecTriple to) {
+               public boolean evaluateUpdate(Object principal, SecNode 
graphIRI, SecTriple from, SecTriple to) {
                        return evaluate( from ) && evaluate( to );
                }
 

http://git-wip-us.apache.org/repos/asf/jena/blob/23d1bde2/jena-security/src/test/java/org/apache/jena/security/query/QueryEngineTest.java
----------------------------------------------------------------------
diff --git 
a/jena-security/src/test/java/org/apache/jena/security/query/QueryEngineTest.java
 
b/jena-security/src/test/java/org/apache/jena/security/query/QueryEngineTest.java
index 0b783c7..3b078ac 100644
--- 
a/jena-security/src/test/java/org/apache/jena/security/query/QueryEngineTest.java
+++ 
b/jena-security/src/test/java/org/apache/jena/security/query/QueryEngineTest.java
@@ -6,9 +6,9 @@
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
  * with the License. You may obtain a copy of the License at
- * 
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -17,55 +17,48 @@
  */
 package org.apache.jena.security.query;
 
-import com.hp.hpl.jena.query.QueryExecution;
-import com.hp.hpl.jena.query.QueryExecutionFactory;
-import com.hp.hpl.jena.query.QuerySolution;
-import com.hp.hpl.jena.query.ResultSet;
-import com.hp.hpl.jena.rdf.model.Model;
-import com.hp.hpl.jena.rdf.model.ModelFactory;
-import com.hp.hpl.jena.rdf.model.Resource;
-import com.hp.hpl.jena.rdf.model.ResourceFactory;
-import com.hp.hpl.jena.vocabulary.RDF;
-
-import org.junit.Assert;
-
 import org.apache.jena.security.Factory;
 import org.apache.jena.security.MockSecurityEvaluator;
 import org.apache.jena.security.SecurityEvaluator;
 import org.apache.jena.security.SecurityEvaluator.SecNode.Type;
 import org.apache.jena.security.model.SecuredModel;
-import org.apache.jena.security.query.SecuredQueryEngineFactory;
 import org.junit.After;
 import org.junit.AfterClass;
+import org.junit.Assert;
 import org.junit.Before;
 import org.junit.BeforeClass;
 import org.junit.Test;
 
-public class QueryEngineTest
-{
+import com.hp.hpl.jena.query.QueryExecution;
+import com.hp.hpl.jena.query.QueryExecutionFactory;
+import com.hp.hpl.jena.query.QuerySolution;
+import com.hp.hpl.jena.query.ResultSet;
+import com.hp.hpl.jena.rdf.model.Model;
+import com.hp.hpl.jena.rdf.model.ModelFactory;
+import com.hp.hpl.jena.rdf.model.Resource;
+import com.hp.hpl.jena.rdf.model.ResourceFactory;
+import com.hp.hpl.jena.vocabulary.RDF;
+
+public class QueryEngineTest {
 
        @BeforeClass
-       public static void setupFactory()
-       {
+       public static void setupFactory() {
                SecuredQueryEngineFactory.register();
        }
 
        @AfterClass
-       public static void teardownFactory()
-       {
+       public static void teardownFactory() {
                SecuredQueryEngineFactory.unregister();
        }
 
        Model baseModel;
 
-       public QueryEngineTest()
-       {
+       public QueryEngineTest() {
 
        }
 
        @Before
-       public void setUp()
-       {
+       public void setUp() {
                baseModel = ModelFactory.createDefaultModel();
                Resource r = ResourceFactory
                                
.createResource("http://example.com/resource/1";);
@@ -108,20 +101,17 @@ public class QueryEngineTest
        }
 
        @After
-       public void tearDown()
-       {
+       public void tearDown() {
                baseModel.close();
        }
 
        @Test
-       public void testOpenQueryType()
-       {
+       public void testOpenQueryType() {
                final SecurityEvaluator eval = new MockSecurityEvaluator(true, 
true,
                                true, true, true, true);
                final SecuredModel model = Factory.getInstance(eval,
                                "http://example.com/securedModel";, baseModel);
-               try
-               {
+               try {
                        final String query = "prefix fn: 
<http://www.w3.org/2005/xpath-functions#>  "
                                        + " SELECT ?foo ?bar WHERE "
                                        + " { ?foo a <http://example.com/class> 
; "
@@ -129,50 +119,41 @@ public class QueryEngineTest
                                        + "  } ";
                        final QueryExecution qexec = 
QueryExecutionFactory.create(query,
                                        model);
-                       try
-                       {
+                       try {
                                final ResultSet results = qexec.execSelect();
                                int count = 0;
-                               for (; results.hasNext();)
-                               {
+                               for (; results.hasNext();) {
                                        count++;
                                        final QuerySolution soln = 
results.nextSolution();
                                }
                                Assert.assertEquals(8, count);
-                       }
-                       finally
-                       {
+                       } finally {
                                qexec.close();
                        }
-               }
-               finally
-               {
+               } finally {
                        model.close();
                }
        }
 
        @Test
-       public void testRestrictedQueryType()
-       {
+       public void testRestrictedQueryType() {
                final SecurityEvaluator eval = new MockSecurityEvaluator(true, 
true,
                                true, true, true, true) {
 
                        @Override
-                       public boolean evaluate( final Action action,
-                                       final SecNode graphIRI, final SecTriple 
triple )
-                       {
+                       public boolean evaluate(final Object principal,
+                                       final Action action, final SecNode 
graphIRI,
+                                       final SecTriple triple) {
                                if (triple.getSubject().equals(
-                                               new SecNode(Type.URI, 
"http://example.com/resource/1";)))
-                               {
+                                               new SecNode(Type.URI, 
"http://example.com/resource/1";))) {
                                        return false;
                                }
-                               return super.evaluate(action, graphIRI, triple);
+                               return super.evaluate(principal, action, 
graphIRI, triple);
                        }
                };
                final SecuredModel model = Factory.getInstance(eval,
                                "http://example.com/securedModel";, baseModel);
-               try
-               {
+               try {
                        final String query = "prefix fn: 
<http://www.w3.org/2005/xpath-functions#>  "
                                        + " SELECT ?foo ?bar WHERE "
                                        + " { ?foo a <http://example.com/class> 
; "
@@ -180,24 +161,18 @@ public class QueryEngineTest
                                        + "  } ";
                        final QueryExecution qexec = 
QueryExecutionFactory.create(query,
                                        model);
-                       try
-                       {
+                       try {
                                final ResultSet results = qexec.execSelect();
                                int count = 0;
-                               for (; results.hasNext();)
-                               {
+                               for (; results.hasNext();) {
                                        count++;
                                        results.nextSolution();
                                }
                                Assert.assertEquals(4, count);
-                       }
-                       finally
-                       {
+                       } finally {
                                qexec.close();
                        }
-               }
-               finally
-               {
+               } finally {
                        model.close();
                }
        }

Reply via email to