http://git-wip-us.apache.org/repos/asf/jena/blob/2c0454c6/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredSeqImpl.java ---------------------------------------------------------------------- diff --git a/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredSeqImpl.java b/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredSeqImpl.java index d2515b8..a184302 100644 --- a/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredSeqImpl.java +++ b/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredSeqImpl.java @@ -19,13 +19,18 @@ package org.apache.jena.permissions.model.impl; import java.util.function.Predicate; -import org.apache.jena.graph.Triple ; +import org.apache.jena.graph.Triple; import org.apache.jena.permissions.impl.ItemHolder; import org.apache.jena.permissions.impl.SecuredItemInvoker; import org.apache.jena.permissions.model.*; -import org.apache.jena.rdf.model.* ; -import org.apache.jena.util.iterator.ExtendedIterator ; -import org.apache.jena.vocabulary.RDF ; +import org.apache.jena.rdf.model.*; +import org.apache.jena.shared.AddDeniedException; +import org.apache.jena.shared.AuthenticationRequiredException; +import org.apache.jena.shared.DeleteDeniedException; +import org.apache.jena.shared.ReadDeniedException; +import org.apache.jena.shared.UpdateDeniedException; +import org.apache.jena.util.iterator.ExtendedIterator; +import org.apache.jena.vocabulary.RDF; /** * Implementation of SecuredSeq to be used by a SecuredItemInvoker proxy. @@ -34,20 +39,16 @@ import org.apache.jena.vocabulary.RDF ; * http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#Containers * */ -public class SecuredSeqImpl extends SecuredContainerImpl implements SecuredSeq -{ - private class RDFNodeFilter implements Predicate<Statement> - { +public class SecuredSeqImpl extends SecuredContainerImpl implements SecuredSeq { + private class RDFNodeFilter implements Predicate<Statement> { private final RDFNode n; - public RDFNodeFilter( final RDFNode n ) - { + public RDFNodeFilter(final RDFNode n) { this.n = n; } @Override - public boolean test( final Statement o ) - { + public boolean test(final Statement o) { return (o.getPredicate().getOrdinal() != 0) && n.equals(o.getObject()); } @@ -63,16 +64,13 @@ public class SecuredSeqImpl extends SecuredContainerImpl implements SecuredSeq * The Seq to secure. * @return the SecuredSeq */ - public static SecuredSeq getInstance( final SecuredModel securedModel, - final Seq seq ) - { - if (securedModel == null) - { + public static SecuredSeq getInstance(final SecuredModel securedModel, + final Seq seq) { + if (securedModel == null) { throw new IllegalArgumentException( "Secured securedModel may not be null"); } - if (seq == null) - { + if (seq == null) { throw new IllegalArgumentException("Seq may not be null"); } final ItemHolder<Seq, SecuredSeq> holder = new ItemHolder<Seq, SecuredSeq>( @@ -80,10 +78,8 @@ public class SecuredSeqImpl extends SecuredContainerImpl implements SecuredSeq final SecuredSeqImpl checker = new SecuredSeqImpl(securedModel, holder); // if we are going to create a duplicate proxy, just return this // one. - if (seq instanceof SecuredSeq) - { - if (checker.isEquivalent((SecuredSeq) seq)) - { + if (seq instanceof SecuredSeq) { + if (checker.isEquivalent((SecuredSeq) seq)) { return (SecuredSeq) seq; } } @@ -102,52 +98,58 @@ public class SecuredSeqImpl extends SecuredContainerImpl implements SecuredSeq * @param holder * The item holder that will contain this SecuredSeq. */ - protected SecuredSeqImpl( final SecuredModel securedModel, - final ItemHolder<? extends Seq, ? extends SecuredSeq> holder ) - { + protected SecuredSeqImpl(final SecuredModel securedModel, + final ItemHolder<? extends Seq, ? extends SecuredSeq> holder) { super(securedModel, holder); this.holder = holder; } @Override - public SecuredSeq add( final int index, final boolean o ) - { - return add( index, asObject( o )); + public SecuredSeq add(final int index, final boolean o) + throws UpdateDeniedException, AddDeniedException, + AuthenticationRequiredException { + return add(index, asObject(o)); } @Override - public SecuredSeq add( final int index, final char o ) - { - return add( index, asObject( o )); + public SecuredSeq add(final int index, final char o) + throws UpdateDeniedException, AddDeniedException, + AuthenticationRequiredException { + return add(index, asObject(o)); } @Override - public SecuredSeq add( final int index, final double o ) - { - return add( index, asObject( o )); + public SecuredSeq add(final int index, final double o) + throws UpdateDeniedException, AddDeniedException, + AuthenticationRequiredException { + return add(index, asObject(o)); } @Override - public SecuredSeq add( final int index, final float o ) - { - return add( index, asObject( o )); + public SecuredSeq add(final int index, final float o) + throws UpdateDeniedException, AddDeniedException, + AuthenticationRequiredException { + return add(index, asObject(o)); } @Override - public SecuredSeq add( final int index, final long o ) - { - return add( index, asObject( o )); + public SecuredSeq add(final int index, final long o) + throws UpdateDeniedException, AddDeniedException, + AuthenticationRequiredException { + return add(index, asObject(o)); } @Override - public SecuredSeq add( final int index, final Object o ) - { - return add( index, asObject( o )); + public SecuredSeq add(final int index, final Object o) + throws UpdateDeniedException, AddDeniedException, + AuthenticationRequiredException { + return add(index, asObject(o)); } @Override - public SecuredSeq add( final int index, final RDFNode o ) - { + public SecuredSeq add(final int index, final RDFNode o) + throws UpdateDeniedException, AddDeniedException, + AuthenticationRequiredException { checkUpdate(); final Literal l = holder.getBaseItem().getModel().createTypedLiteral(o); checkCreate(index, l); @@ -156,47 +158,41 @@ public class SecuredSeqImpl extends SecuredContainerImpl implements SecuredSeq } @Override - public SecuredSeq add( final int index, final String o ) - { - return add( index, o, "" ); + public SecuredSeq add(final int index, final String o) + throws UpdateDeniedException, AddDeniedException, + AuthenticationRequiredException { + return add(index, o, ""); } @Override - public SecuredSeq add( final int index, final String o, final String l ) - { - return add( index, holder.getBaseItem().getModel().createLiteral(o, l)); + public SecuredSeq add(final int index, final String o, final String l) + throws UpdateDeniedException, AddDeniedException, + AuthenticationRequiredException { + return add(index, holder.getBaseItem().getModel().createLiteral(o, l)); } - private void checkCreate( final int index, final Literal l ) - { + private void checkCreate(final int index, final Literal l) { checkCreate(new Triple(holder.getBaseItem().asNode(), RDF.li(index) .asNode(), l.asNode())); } - private Statement containerIndexOf( final RDFNode n ) - { + private Statement containerIndexOf(final RDFNode n) { final ExtendedIterator<Statement> iter = listProperties().filterKeep( new RDFNodeFilter(n)); - try - { - if (iter.hasNext()) - { + try { + if (iter.hasNext()) { return iter.next(); - } - else - { + } else { return null; } - } - finally - { + } finally { iter.close(); } } @Override - public SecuredAlt getAlt( final int index ) - { + public SecuredAlt getAlt(final int index) throws ReadDeniedException, + AuthenticationRequiredException { checkRead(); final Alt a = holder.getBaseItem().getAlt(index); checkRead(new Triple(holder.getBaseItem().asNode(), RDF.li(index) @@ -205,8 +201,8 @@ public class SecuredSeqImpl extends SecuredContainerImpl implements SecuredSeq } @Override - public SecuredBag getBag( final int index ) - { + public SecuredBag getBag(final int index) throws ReadDeniedException, + AuthenticationRequiredException { checkRead(); final Bag b = holder.getBaseItem().getBag(index); checkRead(new Triple(holder.getBaseItem().asNode(), RDF.li(index) @@ -215,8 +211,8 @@ public class SecuredSeqImpl extends SecuredContainerImpl implements SecuredSeq } @Override - public boolean getBoolean( final int index ) - { + public boolean getBoolean(final int index) throws ReadDeniedException, + AuthenticationRequiredException { checkRead(); final boolean retval = holder.getBaseItem().getBoolean(index); checkRead(new Triple(holder.getBaseItem().asNode(), RDF.li(index) @@ -225,8 +221,8 @@ public class SecuredSeqImpl extends SecuredContainerImpl implements SecuredSeq } @Override - public byte getByte( final int index ) - { + public byte getByte(final int index) throws ReadDeniedException, + AuthenticationRequiredException { checkRead(); final byte retval = holder.getBaseItem().getByte(index); checkRead(new Triple(holder.getBaseItem().asNode(), RDF.li(index) @@ -235,8 +231,8 @@ public class SecuredSeqImpl extends SecuredContainerImpl implements SecuredSeq } @Override - public char getChar( final int index ) - { + public char getChar(final int index) throws ReadDeniedException, + AuthenticationRequiredException { checkRead(); final char retval = holder.getBaseItem().getChar(index); checkRead(new Triple(holder.getBaseItem().asNode(), RDF.li(index) @@ -246,8 +242,8 @@ public class SecuredSeqImpl extends SecuredContainerImpl implements SecuredSeq } @Override - public double getDouble( final int index ) - { + public double getDouble(final int index) throws ReadDeniedException, + AuthenticationRequiredException { checkRead(); final double retval = holder.getBaseItem().getDouble(index); checkRead(new Triple(holder.getBaseItem().asNode(), RDF.li(index) @@ -256,8 +252,8 @@ public class SecuredSeqImpl extends SecuredContainerImpl implements SecuredSeq } @Override - public float getFloat( final int index ) - { + public float getFloat(final int index) throws ReadDeniedException, + AuthenticationRequiredException { checkRead(); final float retval = holder.getBaseItem().getFloat(index); checkRead(new Triple(holder.getBaseItem().asNode(), RDF.li(index) @@ -266,8 +262,8 @@ public class SecuredSeqImpl extends SecuredContainerImpl implements SecuredSeq } @Override - public int getInt( final int index ) - { + public int getInt(final int index) throws ReadDeniedException, + AuthenticationRequiredException { checkRead(); final int retval = holder.getBaseItem().getInt(index); checkRead(new Triple(holder.getBaseItem().asNode(), RDF.li(index) @@ -276,8 +272,8 @@ public class SecuredSeqImpl extends SecuredContainerImpl implements SecuredSeq } @Override - public String getLanguage( final int index ) - { + public String getLanguage(final int index) throws ReadDeniedException, + AuthenticationRequiredException { checkRead(); final Literal literal = holder.getBaseItem().getLiteral(index); checkRead(new Triple(holder.getBaseItem().asNode(), RDF.li(index) @@ -286,8 +282,8 @@ public class SecuredSeqImpl extends SecuredContainerImpl implements SecuredSeq } @Override - public SecuredLiteral getLiteral( final int index ) - { + public SecuredLiteral getLiteral(final int index) + throws ReadDeniedException, AuthenticationRequiredException { checkRead(); final Literal literal = holder.getBaseItem().getLiteral(index); checkRead(new Triple(holder.getBaseItem().asNode(), RDF.li(index) @@ -296,8 +292,8 @@ public class SecuredSeqImpl extends SecuredContainerImpl implements SecuredSeq } @Override - public long getLong( final int index ) - { + public long getLong(final int index) throws ReadDeniedException, + AuthenticationRequiredException { checkRead(); final long retval = holder.getBaseItem().getLong(index); checkRead(new Triple(holder.getBaseItem().asNode(), RDF.li(index) @@ -306,8 +302,8 @@ public class SecuredSeqImpl extends SecuredContainerImpl implements SecuredSeq } @Override - public SecuredRDFNode getObject( final int index ) - { + public SecuredRDFNode getObject(final int index) + throws ReadDeniedException, AuthenticationRequiredException { checkRead(); final RDFNode retval = holder.getBaseItem().getObject(index); checkRead(new Triple(holder.getBaseItem().asNode(), RDF.li(index) @@ -316,8 +312,8 @@ public class SecuredSeqImpl extends SecuredContainerImpl implements SecuredSeq } @Override - public SecuredResource getResource( final int index ) - { + public SecuredResource getResource(final int index) + throws ReadDeniedException, AuthenticationRequiredException { checkRead(); final Resource retval = holder.getBaseItem().getResource(index); checkRead(new Triple(holder.getBaseItem().asNode(), RDF.li(index) @@ -327,8 +323,8 @@ public class SecuredSeqImpl extends SecuredContainerImpl implements SecuredSeq @Override @Deprecated - public SecuredResource getResource( final int index, final ResourceF f ) - { + public SecuredResource getResource(final int index, final ResourceF f) + throws ReadDeniedException, AuthenticationRequiredException { checkRead(); final Resource retval = holder.getBaseItem().getResource(index, f); checkRead(new Triple(holder.getBaseItem().asNode(), RDF.li(index) @@ -337,8 +333,8 @@ public class SecuredSeqImpl extends SecuredContainerImpl implements SecuredSeq } @Override - public SecuredSeq getSeq( final int index ) - { + public SecuredSeq getSeq(final int index) throws ReadDeniedException, + AuthenticationRequiredException { checkRead(); final Seq retval = holder.getBaseItem().getSeq(index); checkRead(new Triple(holder.getBaseItem().asNode(), RDF.li(index) @@ -347,8 +343,8 @@ public class SecuredSeqImpl extends SecuredContainerImpl implements SecuredSeq } @Override - public short getShort( final int index ) - { + public short getShort(final int index) throws ReadDeniedException, + AuthenticationRequiredException { checkRead(); final short retval = holder.getBaseItem().getShort(index); checkRead(new Triple(holder.getBaseItem().asNode(), RDF.li(index) @@ -357,8 +353,8 @@ public class SecuredSeqImpl extends SecuredContainerImpl implements SecuredSeq } @Override - public String getString( final int index ) - { + public String getString(final int index) throws ReadDeniedException, + AuthenticationRequiredException { checkRead(); final String retval = holder.getBaseItem().getString(index); checkRead(new Triple(holder.getBaseItem().asNode(), RDF.li(index) @@ -367,48 +363,47 @@ public class SecuredSeqImpl extends SecuredContainerImpl implements SecuredSeq } @Override - public int indexOf( final boolean o ) - { - return indexOf( asObject( o )); + public int indexOf(final boolean o) throws ReadDeniedException, + AuthenticationRequiredException { + return indexOf(asObject(o)); } @Override - public int indexOf( final char o ) - { - return indexOf( asObject( o )); + public int indexOf(final char o) throws ReadDeniedException, + AuthenticationRequiredException { + return indexOf(asObject(o)); } @Override - public int indexOf( final double o ) - { - return indexOf( asObject( o )); + public int indexOf(final double o) throws ReadDeniedException, + AuthenticationRequiredException { + return indexOf(asObject(o)); } @Override - public int indexOf( final float o ) - { - return indexOf( asObject( o )); + public int indexOf(final float o) throws ReadDeniedException, + AuthenticationRequiredException { + return indexOf(asObject(o)); } @Override - public int indexOf( final long o ) - { - return indexOf( asObject( o )); + public int indexOf(final long o) throws ReadDeniedException, + AuthenticationRequiredException { + return indexOf(asObject(o)); } @Override - public int indexOf( final Object o ) - { - return indexOf( asObject( o )); + public int indexOf(final Object o) throws ReadDeniedException, + AuthenticationRequiredException { + return indexOf(asObject(o)); } @Override - public int indexOf( final RDFNode o ) - { + public int indexOf(final RDFNode o) throws ReadDeniedException, + AuthenticationRequiredException { checkRead(); final Statement stmt = containerIndexOf(o); - if (stmt == null) - { + if (stmt == null) { return 0; } checkRead(stmt); @@ -416,24 +411,23 @@ public class SecuredSeqImpl extends SecuredContainerImpl implements SecuredSeq } @Override - public int indexOf( final String o ) - { - return indexOf( asLiteral( o, "" )); + public int indexOf(final String o) throws ReadDeniedException, + AuthenticationRequiredException { + return indexOf(asLiteral(o, "")); } @Override - public int indexOf( final String o, final String l ) - { - return indexOf( asLiteral( o, l)); + public int indexOf(final String o, final String l) + throws ReadDeniedException, AuthenticationRequiredException { + return indexOf(asLiteral(o, l)); } @Override - public SecuredSeq remove( final int index ) - { + public SecuredSeq remove(final int index) throws UpdateDeniedException, + DeleteDeniedException, AuthenticationRequiredException { checkUpdate(); final RDFNode rdfNode = holder.getBaseItem().getObject(index); - if (rdfNode != null) - { + if (rdfNode != null) { checkDelete(new Triple(holder.getBaseItem().asNode(), RDF.li(index) .asNode(), rdfNode.asNode())); holder.getBaseItem().remove(index); @@ -442,56 +436,60 @@ public class SecuredSeqImpl extends SecuredContainerImpl implements SecuredSeq } @Override - public SecuredSeq set( final int index, final boolean o ) - { - return set( index, asObject( o )); + public SecuredSeq set(final int index, final boolean o) + throws UpdateDeniedException, AddDeniedException, + AuthenticationRequiredException { + return set(index, asObject(o)); } @Override - public SecuredSeq set( final int index, final char o ) - { - return set( index, asObject( o )); + public SecuredSeq set(final int index, final char o) + throws UpdateDeniedException, AddDeniedException, + AuthenticationRequiredException { + return set(index, asObject(o)); } @Override - public SecuredSeq set( final int index, final double o ) - { - return set( index, asObject( o )); + public SecuredSeq set(final int index, final double o) + throws UpdateDeniedException, AddDeniedException, + AuthenticationRequiredException { + return set(index, asObject(o)); } @Override - public SecuredSeq set( final int index, final float o ) - { - return set( index, asObject( o )); + public SecuredSeq set(final int index, final float o) + throws UpdateDeniedException, AddDeniedException, + AuthenticationRequiredException { + return set(index, asObject(o)); } @Override - public SecuredSeq set( final int index, final long o ) - { - return set( index, asObject( o )); + public SecuredSeq set(final int index, final long o) + throws UpdateDeniedException, AddDeniedException, + AuthenticationRequiredException { + return set(index, asObject(o)); } @Override - public SecuredSeq set( final int index, final Object o ) - { - return set( index, asObject( o )); + public SecuredSeq set(final int index, final Object o) + throws UpdateDeniedException, AddDeniedException, + AuthenticationRequiredException { + return set(index, asObject(o)); } @Override - public SecuredSeq set( final int index, final RDFNode o ) - { + public SecuredSeq set(final int index, final RDFNode o) + throws UpdateDeniedException, AddDeniedException, + AuthenticationRequiredException { checkUpdate(); final Triple t2 = new Triple(holder.getBaseItem().asNode(), RDF.li( index).asNode(), o.asNode()); final RDFNode rdfNode = holder.getBaseItem().getObject(index); - if (rdfNode != null) - { + if (rdfNode != null) { final Triple t1 = new Triple(holder.getBaseItem().asNode(), RDF.li( index).asNode(), rdfNode.asNode()); checkUpdate(t1, t2); - } - else - { + } else { checkCreate(t2); } holder.getBaseItem().set(index, o); @@ -499,14 +497,16 @@ public class SecuredSeqImpl extends SecuredContainerImpl implements SecuredSeq } @Override - public SecuredSeq set( final int index, final String o ) - { - return set( index, asLiteral( o, "" )); + public SecuredSeq set(final int index, final String o) + throws UpdateDeniedException, AddDeniedException, + AuthenticationRequiredException { + return set(index, asLiteral(o, "")); } @Override - public SecuredSeq set( final int index, final String o, final String l ) - { - return set( index, asLiteral(o, l)); + public SecuredSeq set(final int index, final String o, final String l) + throws UpdateDeniedException, AddDeniedException, + AuthenticationRequiredException { + return set(index, asLiteral(o, l)); } }
http://git-wip-us.apache.org/repos/asf/jena/blob/2c0454c6/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredStatementImpl.java ---------------------------------------------------------------------- diff --git a/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredStatementImpl.java b/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredStatementImpl.java index 99c7ed6..f3efedd 100644 --- a/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredStatementImpl.java +++ b/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredStatementImpl.java @@ -17,21 +17,25 @@ */ package org.apache.jena.permissions.model.impl; -import org.apache.jena.graph.NodeFactory ; -import org.apache.jena.graph.Triple ; +import org.apache.jena.graph.NodeFactory; +import org.apache.jena.graph.Triple; import org.apache.jena.permissions.impl.ItemHolder; import org.apache.jena.permissions.impl.SecuredItemImpl; import org.apache.jena.permissions.impl.SecuredItemInvoker; import org.apache.jena.permissions.model.*; -import org.apache.jena.rdf.model.* ; -import org.apache.jena.shared.PropertyNotFoundException ; +import org.apache.jena.rdf.model.*; +import org.apache.jena.shared.AddDeniedException; +import org.apache.jena.shared.AuthenticationRequiredException; +import org.apache.jena.shared.DeleteDeniedException; +import org.apache.jena.shared.PropertyNotFoundException; +import org.apache.jena.shared.ReadDeniedException; +import org.apache.jena.shared.UpdateDeniedException; /** * Implementation of SecuredStatement to be used by a SecuredItemInvoker proxy. */ public class SecuredStatementImpl extends SecuredItemImpl implements - SecuredStatement -{ + SecuredStatement { /** * get a SecuredStatement * @@ -41,16 +45,13 @@ public class SecuredStatementImpl extends SecuredItemImpl implements * The statement to secure. * @return the SecuredStatement */ - public static SecuredStatement getInstance( - final SecuredModel securedModel, final Statement stmt ) - { - if (securedModel == null) - { + public static SecuredStatement getInstance(final SecuredModel securedModel, + final Statement stmt) { + if (securedModel == null) { throw new IllegalArgumentException( "Secured securedModel may not be null"); } - if (stmt == null) - { + if (stmt == null) { throw new IllegalArgumentException("Statement may not be null"); } @@ -61,10 +62,8 @@ public class SecuredStatementImpl extends SecuredItemImpl implements securedModel, holder); // if we are going to create a duplicate proxy, just return this // one. - if (stmt instanceof SecuredStatement) - { - if (checker.isEquivalent((SecuredStatement) stmt)) - { + if (stmt instanceof SecuredStatement) { + if (checker.isEquivalent((SecuredStatement) stmt)) { return (SecuredStatement) stmt; } } @@ -87,17 +86,16 @@ public class SecuredStatementImpl extends SecuredItemImpl implements * @param holder * The item holder that will contain this SecuredStatement. */ - private SecuredStatementImpl( final SecuredModel securedModel, - final ItemHolder<Statement, SecuredStatement> holder ) - { + private SecuredStatementImpl(final SecuredModel securedModel, + final ItemHolder<Statement, SecuredStatement> holder) { super(securedModel, holder); this.holder = holder; this.securedModel = securedModel; } @Override - public Triple asTriple() - { + public Triple asTriple() throws ReadDeniedException, + AuthenticationRequiredException { checkRead(); final Triple retval = holder.getBaseItem().asTriple(); checkRead(retval); @@ -105,26 +103,23 @@ public class SecuredStatementImpl extends SecuredItemImpl implements } @Override - public boolean canCreate() - { + public boolean canCreate() throws AuthenticationRequiredException { return super.canCreate() ? canCreate(holder.getBaseItem()) : false; } @Override - public boolean canDelete() - { + public boolean canDelete() throws AuthenticationRequiredException { return super.canDelete() ? canDelete(holder.getBaseItem()) : false; } @Override - public boolean canRead() - { + public boolean canRead() throws AuthenticationRequiredException { return super.canRead() ? canRead(holder.getBaseItem()) : false; } @Override - public SecuredStatement changeLiteralObject( final boolean o ) - { + public SecuredStatement changeLiteralObject(final boolean o) + throws UpdateDeniedException, AuthenticationRequiredException { checkUpdate(); final Triple base = holder.getBaseItem().asTriple(); final Triple newBase = getNewTriple(base, o); @@ -134,8 +129,8 @@ public class SecuredStatementImpl extends SecuredItemImpl implements } @Override - public SecuredStatement changeLiteralObject( final char o ) - { + public SecuredStatement changeLiteralObject(final char o) + throws UpdateDeniedException, AuthenticationRequiredException { checkUpdate(); final Triple base = holder.getBaseItem().asTriple(); final Triple newBase = getNewTriple(base, o); @@ -145,8 +140,8 @@ public class SecuredStatementImpl extends SecuredItemImpl implements } @Override - public SecuredStatement changeLiteralObject( final double o ) - { + public SecuredStatement changeLiteralObject(final double o) + throws UpdateDeniedException, AuthenticationRequiredException { checkUpdate(); final Triple base = holder.getBaseItem().asTriple(); final Triple newBase = getNewTriple(base, o); @@ -156,8 +151,8 @@ public class SecuredStatementImpl extends SecuredItemImpl implements } @Override - public SecuredStatement changeLiteralObject( final float o ) - { + public SecuredStatement changeLiteralObject(final float o) + throws UpdateDeniedException, AuthenticationRequiredException { checkUpdate(); final Triple base = holder.getBaseItem().asTriple(); final Triple newBase = getNewTriple(base, o); @@ -167,8 +162,8 @@ public class SecuredStatementImpl extends SecuredItemImpl implements } @Override - public SecuredStatement changeLiteralObject( final int o ) - { + public SecuredStatement changeLiteralObject(final int o) + throws UpdateDeniedException, AuthenticationRequiredException { checkUpdate(); final Triple base = holder.getBaseItem().asTriple(); final Triple newBase = getNewTriple(base, o); @@ -178,8 +173,8 @@ public class SecuredStatementImpl extends SecuredItemImpl implements } @Override - public SecuredStatement changeLiteralObject( final long o ) - { + public SecuredStatement changeLiteralObject(final long o) + throws UpdateDeniedException, AuthenticationRequiredException { checkUpdate(); final Triple base = holder.getBaseItem().asTriple(); final Triple newBase = getNewTriple(base, o); @@ -189,8 +184,8 @@ public class SecuredStatementImpl extends SecuredItemImpl implements } @Override - public SecuredStatement changeObject( final RDFNode o ) - { + public SecuredStatement changeObject(final RDFNode o) + throws UpdateDeniedException, AuthenticationRequiredException { checkUpdate(); final Triple base = holder.getBaseItem().asTriple(); final Triple newBase = new Triple(base.getSubject(), @@ -201,8 +196,8 @@ public class SecuredStatementImpl extends SecuredItemImpl implements } @Override - public SecuredStatement changeObject( final String o ) - { + public SecuredStatement changeObject(final String o) + throws UpdateDeniedException, AuthenticationRequiredException { checkUpdate(); final Triple base = holder.getBaseItem().asTriple(); final Triple newBase = getNewTriple(base, o); @@ -212,21 +207,22 @@ public class SecuredStatementImpl extends SecuredItemImpl implements } @Override - public SecuredStatement changeObject( final String o, - final boolean wellFormed ) - { + public SecuredStatement changeObject(final String o, + final boolean wellFormed) throws UpdateDeniedException, + AuthenticationRequiredException { checkUpdate(); final Triple base = holder.getBaseItem().asTriple(); final Triple newBase = new Triple(base.getSubject(), - base.getPredicate(), NodeFactory.createLiteral(o, "", wellFormed)); + base.getPredicate(), NodeFactory.createLiteral(o, "", + wellFormed)); checkUpdate(base, newBase); return SecuredStatementImpl.getInstance(getModel(), holder .getBaseItem().changeObject(o)); } @Override - public SecuredStatement changeObject( final String o, final String l ) - { + public SecuredStatement changeObject(final String o, final String l) + throws UpdateDeniedException, AuthenticationRequiredException { checkUpdate(); final Triple base = holder.getBaseItem().asTriple(); final Triple newBase = new Triple(base.getSubject(), @@ -237,13 +233,14 @@ public class SecuredStatementImpl extends SecuredItemImpl implements } @Override - public SecuredStatement changeObject( final String o, final String l, - final boolean wellFormed ) - { + public SecuredStatement changeObject(final String o, final String l, + final boolean wellFormed) throws UpdateDeniedException, + AuthenticationRequiredException { checkUpdate(); final Triple base = holder.getBaseItem().asTriple(); final Triple newBase = new Triple(base.getSubject(), - base.getPredicate(), NodeFactory.createLiteral(o, l, wellFormed)); + base.getPredicate(), + NodeFactory.createLiteral(o, l, wellFormed)); checkUpdate(base, newBase); return SecuredStatementImpl.getInstance(getModel(), holder .getBaseItem().changeObject(o, l, wellFormed)); @@ -251,7 +248,8 @@ public class SecuredStatementImpl extends SecuredItemImpl implements @Override public SecuredReifiedStatement createReifiedStatement() - { + throws UpdateDeniedException, AddDeniedException, + AuthenticationRequiredException { checkUpdate(); checkCreateReified(null, holder.getBaseItem()); return SecuredReifiedStatementImpl.getInstance(getModel(), holder @@ -259,8 +257,9 @@ public class SecuredStatementImpl extends SecuredItemImpl implements } @Override - public SecuredReifiedStatement createReifiedStatement( final String uri ) - { + public SecuredReifiedStatement createReifiedStatement(final String uri) + throws UpdateDeniedException, AddDeniedException, + AuthenticationRequiredException { checkUpdate(); checkCreateReified(uri, holder.getBaseItem()); return SecuredReifiedStatementImpl.getInstance(getModel(), holder @@ -268,38 +267,36 @@ public class SecuredStatementImpl extends SecuredItemImpl implements } @Override - public SecuredAlt getAlt() - { + public SecuredAlt getAlt() { return SecuredAltImpl.getInstance(getModel(), holder.getBaseItem() .getAlt()); } @Override - public SecuredBag getBag() - { + public SecuredBag getBag() { return SecuredBagImpl.getInstance(getModel(), holder.getBaseItem() .getBag()); } @Override - public boolean getBoolean() - { + public boolean getBoolean() throws ReadDeniedException, + AuthenticationRequiredException { checkRead(); checkRead(holder.getBaseItem().asTriple()); return holder.getBaseItem().getBoolean(); } @Override - public byte getByte() - { + public byte getByte() throws ReadDeniedException, + AuthenticationRequiredException { checkRead(); checkRead(holder.getBaseItem().asTriple()); return holder.getBaseItem().getByte(); } @Override - public char getChar() - { + public char getChar() throws ReadDeniedException, + AuthenticationRequiredException { checkRead(); checkRead(holder.getBaseItem().asTriple()); return holder.getBaseItem().getChar(); @@ -307,67 +304,64 @@ public class SecuredStatementImpl extends SecuredItemImpl implements } @Override - public double getDouble() - { + public double getDouble() throws ReadDeniedException, + AuthenticationRequiredException { checkRead(); checkRead(holder.getBaseItem().asTriple()); return holder.getBaseItem().getDouble(); } @Override - public float getFloat() - { + public float getFloat() throws ReadDeniedException, + AuthenticationRequiredException { checkRead(); checkRead(holder.getBaseItem().asTriple()); return holder.getBaseItem().getFloat(); } @Override - public int getInt() - { + public int getInt() throws ReadDeniedException, + AuthenticationRequiredException { checkRead(); checkRead(holder.getBaseItem().asTriple()); return holder.getBaseItem().getInt(); } @Override - public String getLanguage() - { + public String getLanguage() throws ReadDeniedException, + AuthenticationRequiredException { checkRead(); checkRead(holder.getBaseItem().asTriple()); return holder.getBaseItem().getLiteral().getLanguage(); } @Override - public SecuredLiteral getLiteral() - { + public SecuredLiteral getLiteral() { return SecuredLiteralImpl.getInstance(getModel(), holder.getBaseItem() .getLiteral()); } @Override - public long getLong() - { + public long getLong() throws ReadDeniedException, + AuthenticationRequiredException { checkRead(); checkRead(holder.getBaseItem().asTriple()); return holder.getBaseItem().getLong(); } @Override - public SecuredModel getModel() - { + public SecuredModel getModel() { return securedModel; } - private Triple getNewTriple( final Triple t, final Object o ) - { - return new Triple(t.getSubject(), t.getPredicate(), - NodeFactory.createLiteral(String.valueOf(o), "", false)); + private Triple getNewTriple(final Triple t, final Object o) { + return new Triple(t.getSubject(), t.getPredicate(), + NodeFactory.createLiteral(String.valueOf(o), "", false)); } @Override - public SecuredRDFNode getObject() - { + public SecuredRDFNode getObject() throws ReadDeniedException, + AuthenticationRequiredException { checkRead(); checkRead(holder.getBaseItem().asTriple()); final RDFNode rdfNode = holder.getBaseItem().getObject(); @@ -376,15 +370,14 @@ public class SecuredStatementImpl extends SecuredItemImpl implements } @Override - public SecuredProperty getPredicate() - { + public SecuredProperty getPredicate() { return SecuredPropertyImpl.getInstance(getModel(), holder.getBaseItem() .getPredicate()); } @Override - public SecuredStatement getProperty( final Property p ) - { + public SecuredStatement getProperty(final Property p) + throws AuthenticationRequiredException { final StmtIterator s = holder .getBaseItem() .getModel() @@ -392,120 +385,102 @@ public class SecuredStatementImpl extends SecuredItemImpl implements p, (RDFNode) null); final SecuredStatementIterator iter = new SecuredStatementIterator( getModel(), s); - try - { - if (iter.hasNext()) - { + try { + if (iter.hasNext()) { return SecuredStatementImpl .getInstance(getModel(), iter.next()); - } - else - { + } else { throw new PropertyNotFoundException(p); } - } - finally - { + } finally { iter.close(); } } @Override - public SecuredResource getResource() - { + public SecuredResource getResource() { return SecuredResourceImpl.getInstance(getModel(), holder.getBaseItem() .getResource()); } @Override @Deprecated - public SecuredResource getResource( final ResourceF f ) - { + public SecuredResource getResource(final ResourceF f) { return SecuredResourceImpl.getInstance(getModel(), holder.getBaseItem() .getResource(f)); } @Override - public SecuredSeq getSeq() - { + public SecuredSeq getSeq() { return SecuredSeqImpl.getInstance(getModel(), holder.getBaseItem() .getSeq()); } @Override - public short getShort() - { + public short getShort() throws ReadDeniedException, + AuthenticationRequiredException { checkRead(); checkRead(holder.getBaseItem().asTriple()); return holder.getBaseItem().getShort(); } @Override - public SecuredStatement getStatementProperty( final Property p ) - { + public SecuredStatement getStatementProperty(final Property p) { final RSIterator rsIter = holder.getBaseItem().listReifiedStatements(); - try - { - while (rsIter.hasNext()) - { + try { + while (rsIter.hasNext()) { final ReifiedStatement s = rsIter.next(); - if (s.hasProperty(p)) - { + if (s.hasProperty(p)) { return SecuredStatementImpl.getInstance(getModel(), s.getProperty(p)); } } throw new PropertyNotFoundException(p); - } - finally - { + } finally { rsIter.close(); } } @Override - public String toString() - { - if (canRead() && canRead(holder.getBaseItem().asTriple())) - { + public String toString() throws ReadDeniedException, + AuthenticationRequiredException { + if (canRead() && canRead(holder.getBaseItem().asTriple())) { return holder.getBaseItem().toString(); - } - else - { + } else { return super.toString(); } } - + @Override - public String getString() - { return getLiteral().getLexicalForm(); } + public String getString() { + return getLiteral().getLexicalForm(); + } @Override - public SecuredResource getSubject() - { + public SecuredResource getSubject() { return SecuredResourceImpl.getInstance(getModel(), holder.getBaseItem() .getSubject()); } @Override - public boolean hasWellFormedXML() - { + public boolean hasWellFormedXML() throws ReadDeniedException, + AuthenticationRequiredException { checkRead(); checkRead(holder.getBaseItem().asTriple()); return holder.getBaseItem().getLiteral().isWellFormedXML(); } @Override - public boolean isReified() - { + public boolean isReified() throws ReadDeniedException, + AuthenticationRequiredException { checkRead(); checkRead(holder.getBaseItem().asTriple()); return holder.getBaseItem().isReified(); } @Override - public RSIterator listReifiedStatements() - { + public RSIterator listReifiedStatements() throws ReadDeniedException, + AuthenticationRequiredException { checkRead(); checkRead(holder.getBaseItem().asTriple()); return new SecuredRSIterator(getModel(), holder.getBaseItem() @@ -513,8 +488,8 @@ public class SecuredStatementImpl extends SecuredItemImpl implements } @Override - public SecuredStatement remove() - { + public SecuredStatement remove() throws UpdateDeniedException, + DeleteDeniedException, AuthenticationRequiredException { checkUpdate(); checkDelete(holder.getBaseItem()); holder.getBaseItem().remove(); @@ -522,32 +497,25 @@ public class SecuredStatementImpl extends SecuredItemImpl implements } @Override - public void removeReification() - { + public void removeReification() throws UpdateDeniedException, + DeleteDeniedException, AuthenticationRequiredException { checkUpdate(); - if (!canDelete(Triple.ANY)) - { + if (!canDelete(Triple.ANY)) { StmtIterator iter = null; final RSIterator rsIter = holder.getBaseItem() .listReifiedStatements(); - try - { - while (rsIter.hasNext()) - { + try { + while (rsIter.hasNext()) { final ReifiedStatement stmt = rsIter.next(); iter = stmt.listProperties(); - while (iter.hasNext()) - { + while (iter.hasNext()) { final Statement s = iter.next(); checkDelete(s); } } - } - finally - { + } finally { rsIter.close(); - if (iter != null) - { + if (iter != null) { iter.close(); } } http://git-wip-us.apache.org/repos/asf/jena/blob/2c0454c6/jena-permissions/src/main/java/org/apache/jena/permissions/query/SecuredQueryEngine.java ---------------------------------------------------------------------- diff --git a/jena-permissions/src/main/java/org/apache/jena/permissions/query/SecuredQueryEngine.java b/jena-permissions/src/main/java/org/apache/jena/permissions/query/SecuredQueryEngine.java index d4ed844..147f170 100644 --- a/jena-permissions/src/main/java/org/apache/jena/permissions/query/SecuredQueryEngine.java +++ b/jena-permissions/src/main/java/org/apache/jena/permissions/query/SecuredQueryEngine.java @@ -20,130 +20,109 @@ package org.apache.jena.permissions.query; import java.security.Principal; import java.util.Set; -import org.apache.jena.graph.Graph ; +import org.apache.jena.graph.Graph; import org.apache.jena.graph.Node; import org.apache.jena.graph.Triple; import org.apache.jena.graph.NodeFactory; import org.apache.jena.permissions.SecurityEvaluator; import org.apache.jena.permissions.query.rewriter.OpRewriter; -import org.apache.jena.query.Query ; +import org.apache.jena.query.Query; import org.apache.jena.permissions.graph.SecuredGraph; -import org.apache.jena.sparql.algebra.Op ; -import org.apache.jena.sparql.core.DatasetGraph ; -import org.apache.jena.sparql.engine.binding.Binding ; -import org.apache.jena.sparql.engine.main.QueryEngineMain ; -import org.apache.jena.sparql.util.Context ; +import org.apache.jena.sparql.algebra.Op; +import org.apache.jena.sparql.core.DatasetGraph; +import org.apache.jena.sparql.engine.binding.Binding; +import org.apache.jena.sparql.engine.main.QueryEngineMain; +import org.apache.jena.sparql.util.Context; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class SecuredQueryEngine extends QueryEngineMain -{ +public class SecuredQueryEngine extends QueryEngineMain { private static Logger LOG = LoggerFactory .getLogger(SecuredQueryEngine.class); private SecurityEvaluator securityEvaluator; private Node graphIRI; - /* - * public SecuredQueryEngine( Op op, DatasetGraph dataset, Binding input, - * Context context ) - * { - * super(op, dataset, input, context); - * setGraphIRI( dataset ); - * } - */ - public SecuredQueryEngine( final Query query, final DatasetGraph dataset, - final Binding input, final Context context ) - { + public SecuredQueryEngine(final Query query, final DatasetGraph dataset, + final Binding input, final Context context) { super(query, dataset, input, context); setGraphIRI(dataset); } - public SecurityEvaluator getSecurityEvaluator() - { + public SecurityEvaluator getSecurityEvaluator() { return securityEvaluator; } @Override - protected Op modifyOp( final Op op ) - { + protected Op modifyOp(final Op op) { final OpRewriter rewriter = new OpRewriter(securityEvaluator, graphIRI); - SecuredQueryEngine.LOG.debug("Before: {}", op); + LOG.debug("Before: {}", op); op.visit(rewriter); Op result = rewriter.getResult(); result = result == null ? op : result; - SecuredQueryEngine.LOG.debug("After: {}", result); + LOG.debug("After: {}", result); result = super.modifyOp(result); - SecuredQueryEngine.LOG.debug("After Optimize: {}", result); + LOG.debug("After Optimize: {}", result); return result; } - private void setGraphIRI( final DatasetGraph dataset ) - { + private void setGraphIRI(final DatasetGraph dataset) { final Graph g = dataset.getDefaultGraph(); - if (g instanceof SecuredGraph) - { + if (g instanceof SecuredGraph) { final SecuredGraph sg = (SecuredGraph) g; graphIRI = sg.getModelNode(); this.securityEvaluator = sg.getSecurityEvaluator(); - } - else - { - graphIRI = NodeFactory.createURI( "urn:x-arq:DefaultGraph"); + } else { + graphIRI = NodeFactory.createURI("urn:x-arq:DefaultGraph"); this.securityEvaluator = new SecurityEvaluator() { @Override - public boolean evaluate( final Object principal, final Action action, - final Node graphIRI ) - { + public boolean evaluate(final Object principal, + final Action action, final Node graphIRI) { return true; } @Override - public boolean evaluate( final Object principal, final Action action, - final Node graphIRI, final Triple triple ) - { + public boolean evaluate(final Object principal, + final Action action, final Node graphIRI, + final Triple triple) { return true; } @Override - public boolean evaluate( final Object principal, final Set<Action> action, - final Node graphIRI ) - { + public boolean evaluate(final Object principal, + final Set<Action> action, final Node graphIRI) { return true; } @Override - public boolean evaluate( final Object principal, final Set<Action> action, - final Node graphIRI, final Triple triple ) - { + public boolean evaluate(final Object principal, + final Set<Action> action, final Node graphIRI, + final Triple triple) { return true; } @Override - public boolean evaluateAny( final Object principal, final Set<Action> action, - final Node graphIRI ) - { + public boolean evaluateAny(final Object principal, + final Set<Action> action, final Node graphIRI) { return true; } @Override - public boolean evaluateAny( final Object principal, final Set<Action> action, - final Node graphIRI, final Triple triple ) - { + public boolean evaluateAny(final Object principal, + final Set<Action> action, final Node graphIRI, + final Triple triple) { return true; } @Override - public boolean evaluateUpdate( final Object principal, final Node graphIRI, - final Triple from, final Triple to ) - { + public boolean evaluateUpdate(final Object principal, + final Node graphIRI, final Triple from, final Triple to) { return true; } @Override - public Principal getPrincipal() - { + public Principal getPrincipal() { return null; } http://git-wip-us.apache.org/repos/asf/jena/blob/2c0454c6/jena-permissions/src/main/java/org/apache/jena/permissions/query/rewriter/OpRewriter.java ---------------------------------------------------------------------- diff --git a/jena-permissions/src/main/java/org/apache/jena/permissions/query/rewriter/OpRewriter.java b/jena-permissions/src/main/java/org/apache/jena/permissions/query/rewriter/OpRewriter.java index d47a246..cdd40ed 100644 --- a/jena-permissions/src/main/java/org/apache/jena/permissions/query/rewriter/OpRewriter.java +++ b/jena-permissions/src/main/java/org/apache/jena/permissions/query/rewriter/OpRewriter.java @@ -20,17 +20,18 @@ package org.apache.jena.permissions.query.rewriter; import java.util.ArrayList; import java.util.List; -import org.apache.jena.graph.Node ; +import org.apache.jena.graph.Node; import org.apache.jena.graph.NodeFactory; -import org.apache.jena.graph.Triple ; +import org.apache.jena.graph.Triple; import org.apache.jena.permissions.SecuredItem; import org.apache.jena.permissions.SecurityEvaluator; import org.apache.jena.permissions.SecurityEvaluator.Action; +import org.apache.jena.shared.AuthenticationRequiredException; import org.apache.jena.shared.ReadDeniedException; -import org.apache.jena.sparql.algebra.Op ; -import org.apache.jena.sparql.algebra.OpVisitor ; -import org.apache.jena.sparql.algebra.op.* ; -import org.apache.jena.sparql.core.BasicPattern ; +import org.apache.jena.sparql.algebra.Op; +import org.apache.jena.sparql.algebra.OpVisitor; +import org.apache.jena.sparql.algebra.op.*; +import org.apache.jena.sparql.core.BasicPattern; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -41,8 +42,7 @@ import org.slf4j.LoggerFactory; * This implementation inserts security evaluator checks where necessary. * </p> */ -public class OpRewriter implements OpVisitor -{ +public class OpRewriter implements OpVisitor { private static Logger LOG = LoggerFactory.getLogger(OpRewriter.class); private OpSequence result; private final Node graphIRI; @@ -53,12 +53,14 @@ public class OpRewriter implements OpVisitor /** * Constructor - * @param securityEvaluator The security evaluator to use - * @param graphIRI The IRI for the default graph. + * + * @param securityEvaluator + * The security evaluator to use + * @param graphIRI + * The IRI for the default graph. */ - public OpRewriter( final SecurityEvaluator securityEvaluator, - final Node graphIRI ) - { + public OpRewriter(final SecurityEvaluator securityEvaluator, + final Node graphIRI) { this.securityEvaluator = securityEvaluator; this.graphIRI = graphIRI; this.silentFail = false; @@ -67,40 +69,41 @@ public class OpRewriter implements OpVisitor /** * Constructor - * @param securityEvaluator The security evaluator to use - * @param graphIRI The IRI for the default graph. + * + * @param securityEvaluator + * The security evaluator to use + * @param graphIRI + * The IRI for the default graph. */ - public OpRewriter( final SecurityEvaluator securityEvaluator, - final String graphIRI ) - { - this(securityEvaluator, NodeFactory.createURI( graphIRI)); + public OpRewriter(final SecurityEvaluator securityEvaluator, + final String graphIRI) { + this(securityEvaluator, NodeFactory.createURI(graphIRI)); } /** * Add the operation to the result. - * @param op the operation to add. + * + * @param op + * the operation to add. */ - private void addOp( final Op op ) - { + private void addOp(final Op op) { result.add(op); } /** * Get the result of the rewrite. + * * @return the resulting operator */ - public Op getResult() - { - if (result.size() == 0) - { + public Op getResult() { + if (result.size() == 0) { return OpNull.create(); } - if (result.size() == 1) - { + if (result.size() == 1) { return result.get(0); } return result; - + } /** @@ -108,14 +111,14 @@ public class OpRewriter implements OpVisitor * * Registers n as a variable if it is one. * - * @param n the node to check - * @param variables the list of variable nodes + * @param n + * the node to check + * @param variables + * the list of variable nodes * @Return n for chaining. */ - private Node registerVariables( final Node n, final List<Node> variables ) - { - if (n.isVariable() && !variables.contains(n)) - { + private Node registerVariables(final Node n, final List<Node> variables) { + if (n.isVariable() && !variables.contains(n)) { variables.add(n); } return n; @@ -123,23 +126,24 @@ public class OpRewriter implements OpVisitor /** * Reset the rewriter to the initial state. + * * @return this rewriter for chaining. */ - public OpRewriter reset() - { + public OpRewriter reset() { result = OpSequence.create(); return this; } /** * Register all the variables in the triple. - * @param t the triple to register. - * @param variables The list of variables. + * + * @param t + * the triple to register. + * @param variables + * The list of variables. * @return t for chaining */ - private Triple registerBGPTriple( final Triple t, - final List<Node> variables ) - { + private Triple registerBGPTriple(final Triple t, final List<Node> variables) { registerVariables(t.getSubject(), variables); registerVariables(t.getPredicate(), variables); registerVariables(t.getObject(), variables); @@ -152,23 +156,21 @@ public class OpRewriter implements OpVisitor * @param op1 * @return the rewritten op. */ - private Op rewriteOp1( final Op1 op1 ) - { + private Op rewriteOp1(final Op1 op1) { final OpRewriter rewriter = new OpRewriter(securityEvaluator, graphIRI); op1.getSubOp().visit(rewriter); return rewriter.getResult(); } /** - * rewrites the left and right parts of the op2 the left part is - * returned the right part is placed in the rewriter + * rewrites the left and right parts of the op2 the left part is returned + * the right part is placed in the rewriter * * @param op2 * @param rewriter * @return the rewritten op. */ - private Op rewriteOp2( final Op2 op2, final OpRewriter rewriter ) - { + private Op rewriteOp2(final Op2 op2, final OpRewriter rewriter) { op2.getLeft().visit(rewriter.reset()); final Op left = rewriter.getResult(); op2.getRight().visit(rewriter.reset()); @@ -182,11 +184,9 @@ public class OpRewriter implements OpVisitor * @param dest * @return the rewritten op. */ - private OpN rewriteOpN( final OpN source, final OpN dest ) - { + private OpN rewriteOpN(final OpN source, final OpN dest) { final OpRewriter rewriter = new OpRewriter(securityEvaluator, graphIRI); - for (final Op o : source.getElements()) - { + for (final Op o : source.getElements()) { o.visit(rewriter.reset()); dest.add(rewriter.getResult()); } @@ -197,50 +197,48 @@ public class OpRewriter implements OpVisitor * rewrites the subop of assign. */ @Override - public void visit( final OpAssign opAssign ) - { - if (LOG.isDebugEnabled()) { LOG.debug( "Starting visiting OpAssign"); } + public void visit(final OpAssign opAssign) { + if (LOG.isDebugEnabled()) { + LOG.debug("Starting visiting OpAssign"); + } addOp(OpAssign.assign(rewriteOp1(opAssign), opAssign.getVarExprList())); } @Override - public void visit( final OpBGP opBGP ) - { - if (LOG.isDebugEnabled()) { LOG.debug( "Starting visiting OpBGP"); } + public void visit(final OpBGP opBGP) throws ReadDeniedException, + AuthenticationRequiredException { + if (LOG.isDebugEnabled()) { + LOG.debug("Starting visiting OpBGP"); + } Object principal = securityEvaluator.getPrincipal(); - if (!securityEvaluator.evaluate(principal, Action.Read, graphIRI)) - { - if (silentFail) - { + if (!securityEvaluator.evaluate(principal, Action.Read, graphIRI)) { + if (silentFail) { return; - } - else - { - throw new ReadDeniedException(SecuredItem.Util.modelPermissionMsg(graphIRI)); + } else { + throw new ReadDeniedException( + SecuredItem.Util.modelPermissionMsg(graphIRI)); } } // if the user can read any triple just add the opBGP - if (securityEvaluator.evaluate(principal, Action.Read, graphIRI, Triple.ANY)) - { + if (securityEvaluator.evaluate(principal, Action.Read, graphIRI, + Triple.ANY)) { addOp(opBGP); - } - else - { + } else { // add security filtering to the resulting triples final List<Triple> newBGP = new ArrayList<Triple>(); final List<Node> variables = new ArrayList<Node>(); // register all variables - for (final Triple t : opBGP.getPattern().getList()) - { + for (final Triple t : opBGP.getPattern().getList()) { newBGP.add(registerBGPTriple(t, variables)); } // create the security function. final SecuredFunction secFunc = new SecuredFunction(graphIRI, securityEvaluator, variables, newBGP); // create the filter - Op filter = OpFilter.filter(secFunc, new OpBGP(BasicPattern.wrap(newBGP))); - // add the filter + Op filter = OpFilter.filter(secFunc, + new OpBGP(BasicPattern.wrap(newBGP))); + // add the filter addOp(filter); } } @@ -249,9 +247,10 @@ public class OpRewriter implements OpVisitor * Rewrite left and right */ @Override - public void visit( final OpConditional opCondition ) - { - if (LOG.isDebugEnabled()) { LOG.debug( "Starting visiting OpConditional"); } + public void visit(final OpConditional opCondition) { + if (LOG.isDebugEnabled()) { + LOG.debug("Starting visiting OpConditional"); + } final OpRewriter rewriter = new OpRewriter(securityEvaluator, graphIRI); addOp(new OpConditional(rewriteOp2(opCondition, rewriter), rewriter.getResult())); @@ -261,9 +260,10 @@ public class OpRewriter implements OpVisitor * returns the dsNames */ @Override - public void visit( final OpDatasetNames dsNames ) - { - if (LOG.isDebugEnabled()) { LOG.debug( "Starting visiting OpDatasetName"); } + public void visit(final OpDatasetNames dsNames) { + if (LOG.isDebugEnabled()) { + LOG.debug("Starting visiting OpDatasetName"); + } addOp(dsNames); } @@ -271,9 +271,10 @@ public class OpRewriter implements OpVisitor * Rewrite left and right */ @Override - public void visit( final OpDiff opDiff ) - { - if (LOG.isDebugEnabled()) { LOG.debug( "Starting visiting OpDiff"); } + public void visit(final OpDiff opDiff) { + if (LOG.isDebugEnabled()) { + LOG.debug("Starting visiting OpDiff"); + } final OpRewriter rewriter = new OpRewriter(securityEvaluator, graphIRI); addOp(OpDiff.create(rewriteOp2(opDiff, rewriter), rewriter.getResult())); } @@ -282,9 +283,10 @@ public class OpRewriter implements OpVisitor * Rewrite sequence elements */ @Override - public void visit( final OpDisjunction opDisjunction ) - { - if (LOG.isDebugEnabled()) { LOG.debug( "Starting visiting OpDisjunction"); } + public void visit(final OpDisjunction opDisjunction) { + if (LOG.isDebugEnabled()) { + LOG.debug("Starting visiting OpDisjunction"); + } addOp(rewriteOpN(opDisjunction, OpDisjunction.create())); } @@ -292,9 +294,10 @@ public class OpRewriter implements OpVisitor * rewrites the subop of distinct */ @Override - public void visit( final OpDistinct opDistinct ) - { - if (LOG.isDebugEnabled()) { LOG.debug( "Starting visiting OpDistinct"); } + public void visit(final OpDistinct opDistinct) { + if (LOG.isDebugEnabled()) { + LOG.debug("Starting visiting OpDistinct"); + } addOp(new OpDistinct(rewriteOp1(opDistinct))); } @@ -302,9 +305,10 @@ public class OpRewriter implements OpVisitor * Returns the Ext */ @Override - public void visit( final OpExt opExt ) - { - if (LOG.isDebugEnabled()) { LOG.debug( "Starting visiting OpExt"); } + public void visit(final OpExt opExt) { + if (LOG.isDebugEnabled()) { + LOG.debug("Starting visiting OpExt"); + } addOp(opExt); } @@ -312,9 +316,10 @@ public class OpRewriter implements OpVisitor * rewrites the subop of extend. */ @Override - public void visit( final OpExtend opExtend ) - { - if (LOG.isDebugEnabled()) { LOG.debug( "Starting visiting OpExtend"); } + public void visit(final OpExtend opExtend) { + if (LOG.isDebugEnabled()) { + LOG.debug("Starting visiting OpExtend"); + } addOp(OpExtend.extend(rewriteOp1(opExtend), opExtend.getVarExprList())); } @@ -322,9 +327,10 @@ public class OpRewriter implements OpVisitor * rewrites the subop of filter. */ @Override - public void visit( final OpFilter opFilter ) - { - if (LOG.isDebugEnabled()) { LOG.debug( "Starting visiting OpFilter"); } + public void visit(final OpFilter opFilter) { + if (LOG.isDebugEnabled()) { + LOG.debug("Starting visiting OpFilter"); + } addOp(OpFilter.filter(opFilter.getExprs(), rewriteOp1(opFilter))); } @@ -332,10 +338,12 @@ public class OpRewriter implements OpVisitor * rewrites the subop of graph. */ @Override - public void visit( final OpGraph opGraph ) - { - if (LOG.isDebugEnabled()) { LOG.debug( "Starting visiting OpGraph"); } - final OpRewriter rewriter = new OpRewriter(securityEvaluator, opGraph.getNode()); + public void visit(final OpGraph opGraph) { + if (LOG.isDebugEnabled()) { + LOG.debug("Starting visiting OpGraph"); + } + final OpRewriter rewriter = new OpRewriter(securityEvaluator, + opGraph.getNode()); opGraph.getSubOp().visit(rewriter); addOp(new OpGraph(opGraph.getNode(), rewriter.getResult())); } @@ -344,9 +352,10 @@ public class OpRewriter implements OpVisitor * rewrites the subop of group. */ @Override - public void visit( final OpGroup opGroup ) - { - if (LOG.isDebugEnabled()) { LOG.debug( "Starting visiting OpGroup"); } + public void visit(final OpGroup opGroup) { + if (LOG.isDebugEnabled()) { + LOG.debug("Starting visiting OpGroup"); + } addOp(new OpGroup(rewriteOp1(opGroup), opGroup.getGroupVars(), opGroup.getAggregators())); } @@ -355,9 +364,10 @@ public class OpRewriter implements OpVisitor * Parses the joins and recursively calls the left and right parts */ @Override - public void visit( final OpJoin opJoin ) - { - if (LOG.isDebugEnabled()) { LOG.debug( "Starting visiting OpJoin"); } + public void visit(final OpJoin opJoin) { + if (LOG.isDebugEnabled()) { + LOG.debug("Starting visiting OpJoin"); + } final OpRewriter rewriter = new OpRewriter(securityEvaluator, graphIRI); addOp(OpJoin.create(rewriteOp2(opJoin, rewriter), rewriter.getResult())); } @@ -366,9 +376,10 @@ public class OpRewriter implements OpVisitor * returns the label */ @Override - public void visit( final OpLabel opLabel ) - { - if (LOG.isDebugEnabled()) { LOG.debug( "Starting visiting OpLabel"); } + public void visit(final OpLabel opLabel) { + if (LOG.isDebugEnabled()) { + LOG.debug("Starting visiting OpLabel"); + } addOp(opLabel); } @@ -376,9 +387,10 @@ public class OpRewriter implements OpVisitor * Parses the joins and recursively calls the left and right parts */ @Override - public void visit( final OpLeftJoin opLeftJoin ) - { - if (LOG.isDebugEnabled()) { LOG.debug( "Starting visiting OpLeftJoin"); } + public void visit(final OpLeftJoin opLeftJoin) { + if (LOG.isDebugEnabled()) { + LOG.debug("Starting visiting OpLeftJoin"); + } final OpRewriter rewriter = new OpRewriter(securityEvaluator, graphIRI); addOp(OpLeftJoin.create(rewriteOp2(opLeftJoin, rewriter), rewriter.getResult(), opLeftJoin.getExprs())); @@ -388,9 +400,10 @@ public class OpRewriter implements OpVisitor * rewrites the subop of list. */ @Override - public void visit( final OpList opList ) - { - if (LOG.isDebugEnabled()) { LOG.debug( "Starting visiting OpList"); } + public void visit(final OpList opList) { + if (LOG.isDebugEnabled()) { + LOG.debug("Starting visiting OpList"); + } addOp(new OpList(rewriteOp1(opList))); } @@ -398,9 +411,10 @@ public class OpRewriter implements OpVisitor * Rewrite left and right */ @Override - public void visit( final OpMinus opMinus ) - { - if (LOG.isDebugEnabled()) { LOG.debug( "Starting visiting OpMinus"); } + public void visit(final OpMinus opMinus) { + if (LOG.isDebugEnabled()) { + LOG.debug("Starting visiting OpMinus"); + } final OpRewriter rewriter = new OpRewriter(securityEvaluator, graphIRI); addOp(OpMinus.create(rewriteOp2(opMinus, rewriter), rewriter.getResult())); @@ -410,9 +424,10 @@ public class OpRewriter implements OpVisitor * returns the null */ @Override - public void visit( final OpNull opNull ) - { - if (LOG.isDebugEnabled()) { LOG.debug( "Starting visiting OpNull"); } + public void visit(final OpNull opNull) { + if (LOG.isDebugEnabled()) { + LOG.debug("Starting visiting OpNull"); + } addOp(opNull); } @@ -420,9 +435,10 @@ public class OpRewriter implements OpVisitor * rewrites the subop of order. */ @Override - public void visit( final OpOrder opOrder ) - { - if (LOG.isDebugEnabled()) { LOG.debug( "Starting visiting OpOrder"); } + public void visit(final OpOrder opOrder) { + if (LOG.isDebugEnabled()) { + LOG.debug("Starting visiting OpOrder"); + } addOp(new OpOrder(rewriteOp1(opOrder), opOrder.getConditions())); } @@ -430,9 +446,10 @@ public class OpRewriter implements OpVisitor * Returns the path */ @Override - public void visit( final OpPath opPath ) - { - if (LOG.isDebugEnabled()) { LOG.debug( "Starting visiting OpPath"); } + public void visit(final OpPath opPath) { + if (LOG.isDebugEnabled()) { + LOG.debug("Starting visiting OpPath"); + } addOp(opPath); } @@ -440,16 +457,14 @@ public class OpRewriter implements OpVisitor * rewrites the subop of proc. */ @Override - public void visit( final OpProcedure opProc ) - { - if (LOG.isDebugEnabled()) { LOG.debug( "Starting visiting OpProc"); } - if (opProc.getProcId() != null) - { + public void visit(final OpProcedure opProc) { + if (LOG.isDebugEnabled()) { + LOG.debug("Starting visiting OpProc"); + } + if (opProc.getProcId() != null) { addOp(new OpProcedure(opProc.getProcId(), opProc.getArgs(), rewriteOp1(opProc))); - } - else - { + } else { addOp(new OpProcedure(opProc.getURI(), opProc.getArgs(), rewriteOp1(opProc))); } @@ -459,9 +474,10 @@ public class OpRewriter implements OpVisitor * rewrites the subop of project. */ @Override - public void visit( final OpProject opProject ) - { - if (LOG.isDebugEnabled()) { LOG.debug( "Starting visiting OpProject"); } + public void visit(final OpProject opProject) { + if (LOG.isDebugEnabled()) { + LOG.debug("Starting visiting OpProject"); + } addOp(new OpProject(rewriteOp1(opProject), opProject.getVars())); } @@ -469,9 +485,10 @@ public class OpRewriter implements OpVisitor * rewrites the subop of propFunc. */ @Override - public void visit( final OpPropFunc opPropFunc ) - { - if (LOG.isDebugEnabled()) { LOG.debug( "Starting visiting OpPropFunc"); } + public void visit(final OpPropFunc opPropFunc) { + if (LOG.isDebugEnabled()) { + LOG.debug("Starting visiting OpPropFunc"); + } addOp(new OpPropFunc(opPropFunc.getProperty(), opPropFunc.getSubjectArgs(), opPropFunc.getObjectArgs(), rewriteOp1(opPropFunc))); @@ -481,9 +498,10 @@ public class OpRewriter implements OpVisitor * Returns the quad */ @Override - public void visit( final OpQuad opQuad ) - { - if (LOG.isDebugEnabled()) { LOG.debug( "Starting visiting OpQuad"); } + public void visit(final OpQuad opQuad) { + if (LOG.isDebugEnabled()) { + LOG.debug("Starting visiting OpQuad"); + } addOp(opQuad); } @@ -491,9 +509,10 @@ public class OpRewriter implements OpVisitor * Returns the quadpattern */ @Override - public void visit( final OpQuadPattern quadPattern ) - { - if (LOG.isDebugEnabled()) { LOG.debug( "Starting visiting OpQuadPattern"); } + public void visit(final OpQuadPattern quadPattern) { + if (LOG.isDebugEnabled()) { + LOG.debug("Starting visiting OpQuadPattern"); + } addOp(quadPattern); } @@ -501,9 +520,10 @@ public class OpRewriter implements OpVisitor * rewrites the subop of reduced. */ @Override - public void visit( final OpReduced opReduced ) - { - if (LOG.isDebugEnabled()) { LOG.debug( "Starting visiting OpReduced"); } + public void visit(final OpReduced opReduced) { + if (LOG.isDebugEnabled()) { + LOG.debug("Starting visiting OpReduced"); + } addOp(OpReduced.create(rewriteOp1(opReduced))); } @@ -511,9 +531,10 @@ public class OpRewriter implements OpVisitor * Rewrite sequence elements */ @Override - public void visit( final OpSequence opSequence ) - { - if (LOG.isDebugEnabled()) { LOG.debug( "Starting visiting OpSequence"); } + public void visit(final OpSequence opSequence) { + if (LOG.isDebugEnabled()) { + LOG.debug("Starting visiting OpSequence"); + } addOp(rewriteOpN(opSequence, OpSequence.create())); } @@ -521,9 +542,10 @@ public class OpRewriter implements OpVisitor * returns the service */ @Override - public void visit( final OpService opService ) - { - if (LOG.isDebugEnabled()) { LOG.debug( "Starting visiting opService"); } + public void visit(final OpService opService) { + if (LOG.isDebugEnabled()) { + LOG.debug("Starting visiting opService"); + } addOp(opService); } @@ -533,9 +555,10 @@ public class OpRewriter implements OpVisitor * This also handles the limit case */ @Override - public void visit( final OpSlice opSlice ) - { - if (LOG.isDebugEnabled()) { LOG.debug( "Starting visiting OpSlice"); } + public void visit(final OpSlice opSlice) { + if (LOG.isDebugEnabled()) { + LOG.debug("Starting visiting OpSlice"); + } addOp(opSlice); } @@ -543,9 +566,10 @@ public class OpRewriter implements OpVisitor * returns the table */ @Override - public void visit( final OpTable opTable ) - { - if (LOG.isDebugEnabled()) { LOG.debug( "Starting visiting OpTable"); } + public void visit(final OpTable opTable) { + if (LOG.isDebugEnabled()) { + LOG.debug("Starting visiting OpTable"); + } addOp(opTable); } @@ -553,9 +577,10 @@ public class OpRewriter implements OpVisitor * rewrites the subop of top. */ @Override - public void visit( final OpTopN opTop ) - { - if (LOG.isDebugEnabled()) { LOG.debug( "Starting visiting OpTop"); } + public void visit(final OpTopN opTop) { + if (LOG.isDebugEnabled()) { + LOG.debug("Starting visiting OpTop"); + } addOp(new OpTopN(rewriteOp1(opTop), opTop.getLimit(), opTop.getConditions())); } @@ -564,9 +589,10 @@ public class OpRewriter implements OpVisitor * Converts to BGP */ @Override - public void visit( final OpTriple opTriple ) - { - if (LOG.isDebugEnabled()) { LOG.debug( "Starting visiting OpTriple"); } + public void visit(final OpTriple opTriple) { + if (LOG.isDebugEnabled()) { + LOG.debug("Starting visiting OpTriple"); + } visit(opTriple.asBGP()); } @@ -574,9 +600,10 @@ public class OpRewriter implements OpVisitor * Rewrite left and right */ @Override - public void visit( final OpUnion opUnion ) - { - if (LOG.isDebugEnabled()) { LOG.debug( "Starting visiting OpUnion"); } + public void visit(final OpUnion opUnion) { + if (LOG.isDebugEnabled()) { + LOG.debug("Starting visiting OpUnion"); + } final OpRewriter rewriter = new OpRewriter(securityEvaluator, graphIRI); addOp(OpUnion.create(rewriteOp2(opUnion, rewriter), rewriter.getResult())); @@ -584,7 +611,9 @@ public class OpRewriter implements OpVisitor @Override public void visit(OpQuadBlock quadBlock) { - if (LOG.isDebugEnabled()) { LOG.debug( "Starting visiting OpQuadBlock"); } + if (LOG.isDebugEnabled()) { + LOG.debug("Starting visiting OpQuadBlock"); + } addOp(quadBlock); } } http://git-wip-us.apache.org/repos/asf/jena/blob/2c0454c6/jena-permissions/src/main/java/org/apache/jena/permissions/query/rewriter/SecuredFunction.java ---------------------------------------------------------------------- diff --git a/jena-permissions/src/main/java/org/apache/jena/permissions/query/rewriter/SecuredFunction.java b/jena-permissions/src/main/java/org/apache/jena/permissions/query/rewriter/SecuredFunction.java index fa2819f..79ac8c4 100644 --- a/jena-permissions/src/main/java/org/apache/jena/permissions/query/rewriter/SecuredFunction.java +++ b/jena-permissions/src/main/java/org/apache/jena/permissions/query/rewriter/SecuredFunction.java @@ -17,119 +17,101 @@ */ package org.apache.jena.permissions.query.rewriter; -import java.util.List ; - -import org.apache.jena.graph.Node ; -import org.apache.jena.graph.Triple ; -import org.apache.jena.permissions.SecurityEvaluator ; -import org.apache.jena.permissions.SecurityEvaluator.Action ; -import org.apache.jena.sparql.core.Var ; -import org.apache.jena.sparql.engine.binding.Binding ; -import org.apache.jena.sparql.expr.* ; -import org.apache.jena.sparql.function.FunctionEnv ; -import org.apache.jena.sparql.graph.NodeTransform ; - -public class SecuredFunction extends ExprFunctionN -{ +import java.util.List; + +import org.apache.jena.graph.Node; +import org.apache.jena.graph.Triple; +import org.apache.jena.permissions.SecurityEvaluator; +import org.apache.jena.permissions.SecurityEvaluator.Action; +import org.apache.jena.shared.AuthenticationRequiredException; +import org.apache.jena.sparql.core.Var; +import org.apache.jena.sparql.engine.binding.Binding; +import org.apache.jena.sparql.expr.*; +import org.apache.jena.sparql.function.FunctionEnv; +import org.apache.jena.sparql.graph.NodeTransform; + +public class SecuredFunction extends ExprFunctionN { private final SecurityEvaluator securityEvaluator; private final List<Node> variables; private final List<Triple> bgp; private final Node graphIRI; - - private static ExprList createArgs( List<Node> variables ) - { + + private static ExprList createArgs(List<Node> variables) { ExprList retval = new ExprList(); - for (Node n : variables ) - { - retval.add( new ExprVar( n )); + for (Node n : variables) { + retval.add(new ExprVar(n)); } return retval; } - public SecuredFunction( final Node graphIRI, + public SecuredFunction(final Node graphIRI, final SecurityEvaluator securityEvaluator, - final List<Node> variables, final List<Triple> bgp ) - { - super(String.format("<java:%s>", SecuredFunction.class.getName() ), createArgs( variables)); - //, - // new ElementTriplesBlock( BasicPattern.wrap(bgp) ), - // new OpBGP( BasicPattern.wrap(bgp) ) - // ); + final List<Node> variables, final List<Triple> bgp) { + super(String.format("<java:%s>", SecuredFunction.class.getName()), + createArgs(variables)); this.securityEvaluator = securityEvaluator; this.variables = variables; this.bgp = bgp; this.graphIRI = graphIRI; } - - private boolean checkAccess( Binding values ) - { + + private boolean checkAccess(Binding values) + throws AuthenticationRequiredException { Object principal = securityEvaluator.getPrincipal(); - for (final Triple t : bgp) - { + for (final Triple t : bgp) { final Triple secT = resolveTriple(t, values); - if (!securityEvaluator.evaluate(principal, Action.Read, graphIRI, secT)) - { + if (!securityEvaluator.evaluate(principal, Action.Read, graphIRI, + secT)) { return false; } } return true; } - private Triple resolveTriple( final Triple t, final Binding values ) - { + private Triple resolveTriple(final Triple t, final Binding values) { int idx = variables.indexOf(t.getSubject()); - final Node s = idx ==-1 ? t.getSubject() - : values.get(Var.alloc( variables.get(idx))); + final Node s = idx == -1 ? t.getSubject() : values.get(Var + .alloc(variables.get(idx))); idx = variables.indexOf(t.getPredicate()); - final Node p = idx == -1 ? t - .getPredicate() - : values.get(Var.alloc( variables.get(idx))); + final Node p = idx == -1 ? t.getPredicate() : values.get(Var + .alloc(variables.get(idx))); idx = variables.indexOf(t.getObject()); - final Node o = idx == -1 ? t.getObject() - : values.get(Var.alloc( variables.get(idx))); + final Node o = idx == -1 ? t.getObject() : values.get(Var + .alloc(variables.get(idx))); return new Triple(s, p, o); } - @Override - public Expr copySubstitute( Binding binding ) - { + public Expr copySubstitute(Binding binding) { return this; } @Override - public Expr applyNodeTransform( NodeTransform transform ) - { + public Expr applyNodeTransform(NodeTransform transform) { return this; } @Override - public void visit( ExprVisitor visitor ) - { - visitor.visit( this ); + public void visit(ExprVisitor visitor) { + visitor.visit(this); } @Override - public NodeValue eval( List<NodeValue> args ) - { + public NodeValue eval(List<NodeValue> args) { // TODO Auto-generated method stub return null; } @Override - public Expr copy( ExprList newArgs ) - { + public Expr copy(ExprList newArgs) { return this; } @Override - protected NodeValue evalSpecial( Binding binding, FunctionEnv env ) - { - return NodeValue.booleanReturn( checkAccess( binding )); + protected NodeValue evalSpecial(Binding binding, FunctionEnv env) { + return NodeValue.booleanReturn(checkAccess(binding)); } - - } http://git-wip-us.apache.org/repos/asf/jena/blob/2c0454c6/jena-permissions/src/main/java/org/apache/jena/permissions/utils/PermStatementFilter.java ---------------------------------------------------------------------- diff --git a/jena-permissions/src/main/java/org/apache/jena/permissions/utils/PermStatementFilter.java b/jena-permissions/src/main/java/org/apache/jena/permissions/utils/PermStatementFilter.java index b304fc7..aed4269 100644 --- a/jena-permissions/src/main/java/org/apache/jena/permissions/utils/PermStatementFilter.java +++ b/jena-permissions/src/main/java/org/apache/jena/permissions/utils/PermStatementFilter.java @@ -25,15 +25,14 @@ import org.apache.jena.graph.Node; import org.apache.jena.permissions.SecuredItem; import org.apache.jena.permissions.SecurityEvaluator; import org.apache.jena.permissions.SecurityEvaluator.Action; -import org.apache.jena.rdf.model.Statement ; +import org.apache.jena.rdf.model.Statement; +import org.apache.jena.shared.AuthenticationRequiredException; /** - * A filter for to filter ExtendedIterators on Statements. - * This filter removes any triple that the user can not perform all - * the actions on. + * A filter for to filter ExtendedIterators on Statements. This filter removes + * any triple that the user can not perform all the actions on. */ -public class PermStatementFilter implements Predicate<Statement> -{ +public class PermStatementFilter implements Predicate<Statement> { private final SecurityEvaluator evaluator; private final Node modelNode; private final Set<Action> actions; @@ -48,9 +47,8 @@ public class PermStatementFilter implements Predicate<Statement> * @param securedItem * The secured item that secures this iterator. */ - public PermStatementFilter( final Action action, - final SecuredItem securedItem ) - { + public PermStatementFilter(final Action action, + final SecuredItem securedItem) { this.modelNode = securedItem.getModelNode(); this.actions = SecurityEvaluator.Util.asSet(new Action[] { action }); this.evaluator = securedItem.getSecurityEvaluator(); @@ -68,9 +66,8 @@ public class PermStatementFilter implements Predicate<Statement> * @param evaluator * The security evaluator to evaluate the security queries. */ - public PermStatementFilter( final Action action, - final SecuredItem securedItem, final SecurityEvaluator evaluator ) - { + public PermStatementFilter(final Action action, + final SecuredItem securedItem, final SecurityEvaluator evaluator) { this.modelNode = securedItem.getModelNode(); this.actions = SecurityEvaluator.Util.asSet(new Action[] { action }); this.evaluator = evaluator; @@ -86,9 +83,8 @@ public class PermStatementFilter implements Predicate<Statement> * @param securedItem * The secured item that secures this iterator. */ - public PermStatementFilter( final Action[] actions, - final SecuredItem securedItem ) - { + public PermStatementFilter(final Action[] actions, + final SecuredItem securedItem) { this.modelNode = securedItem.getModelNode(); this.actions = SecurityEvaluator.Util.asSet(actions); this.evaluator = securedItem.getSecurityEvaluator(); @@ -106,9 +102,8 @@ public class PermStatementFilter implements Predicate<Statement> * @param evaluator * The security evaluator to evaluate the security queries. */ - public PermStatementFilter( final Action[] actions, - final SecuredItem securedItem, final SecurityEvaluator evaluator ) - { + public PermStatementFilter(final Action[] actions, + final SecuredItem securedItem, final SecurityEvaluator evaluator) { this.modelNode = securedItem.getModelNode(); this.actions = SecurityEvaluator.Util.asSet(actions); this.evaluator = evaluator; @@ -124,9 +119,8 @@ public class PermStatementFilter implements Predicate<Statement> * @param securedItem * The secured item that secures this iterator. */ - public PermStatementFilter( final Collection<Action> actions, - final SecuredItem securedItem ) - { + public PermStatementFilter(final Collection<Action> actions, + final SecuredItem securedItem) { this.modelNode = securedItem.getModelNode(); this.actions = SecurityEvaluator.Util.asSet(actions); this.evaluator = securedItem.getSecurityEvaluator(); @@ -144,9 +138,8 @@ public class PermStatementFilter implements Predicate<Statement> * @param evaluator * The security evaluator to evaluate the security queries. */ - public PermStatementFilter( final Collection<Action> actions, - final SecuredItem securedItem, final SecurityEvaluator evaluator ) - { + public PermStatementFilter(final Collection<Action> actions, + final SecuredItem securedItem, final SecurityEvaluator evaluator) { this.modelNode = securedItem.getModelNode(); this.actions = SecurityEvaluator.Util.asSet(actions); this.evaluator = evaluator; @@ -154,9 +147,10 @@ public class PermStatementFilter implements Predicate<Statement> } @Override - public boolean test( final Statement s ) - { - return evaluator.evaluateAny(principal, actions, modelNode, s.asTriple()); + public boolean test(final Statement s) + throws AuthenticationRequiredException { + return evaluator.evaluateAny(principal, actions, modelNode, + s.asTriple()); } } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/jena/blob/2c0454c6/jena-permissions/src/main/java/org/apache/jena/permissions/utils/PermTripleFilter.java ---------------------------------------------------------------------- diff --git a/jena-permissions/src/main/java/org/apache/jena/permissions/utils/PermTripleFilter.java b/jena-permissions/src/main/java/org/apache/jena/permissions/utils/PermTripleFilter.java index 48d7d0e..bc0d2ad 100644 --- a/jena-permissions/src/main/java/org/apache/jena/permissions/utils/PermTripleFilter.java +++ b/jena-permissions/src/main/java/org/apache/jena/permissions/utils/PermTripleFilter.java @@ -22,18 +22,17 @@ import java.util.Set; import java.util.function.Predicate; import org.apache.jena.graph.Node; -import org.apache.jena.graph.Triple ; +import org.apache.jena.graph.Triple; import org.apache.jena.permissions.SecuredItem; import org.apache.jena.permissions.SecurityEvaluator; import org.apache.jena.permissions.SecurityEvaluator.Action; +import org.apache.jena.shared.AuthenticationRequiredException; /** - * A filter for to filter ExtendedIterators on Triples. - * This filter removes any triple that the user can not perform all - * the actions on. + * A filter for to filter ExtendedIterators on Triples. This filter removes any + * triple that the user can not perform all the actions on. */ -public class PermTripleFilter implements Predicate<Triple> -{ +public class PermTripleFilter implements Predicate<Triple> { private final SecurityEvaluator evaluator; private final Node modelNode; private final Set<Action> actions; @@ -48,8 +47,7 @@ public class PermTripleFilter implements Predicate<Triple> * @param securedItem * The secured item that secures this iterator. */ - public PermTripleFilter( final Action action, final SecuredItem securedItem ) - { + public PermTripleFilter(final Action action, final SecuredItem securedItem) { this.modelNode = securedItem.getModelNode(); this.actions = SecurityEvaluator.Util.asSet(new Action[] { action }); this.evaluator = securedItem.getSecurityEvaluator(); @@ -67,9 +65,8 @@ public class PermTripleFilter implements Predicate<Triple> * @param evaluator * The security evaluator to evaluate the security queries. */ - public PermTripleFilter( final Action action, - final SecuredItem securedItem, final SecurityEvaluator evaluator ) - { + public PermTripleFilter(final Action action, final SecuredItem securedItem, + final SecurityEvaluator evaluator) { this.modelNode = securedItem.getModelNode(); this.actions = SecurityEvaluator.Util.asSet(new Action[] { action }); this.evaluator = evaluator; @@ -85,9 +82,8 @@ public class PermTripleFilter implements Predicate<Triple> * @param securedItem * The secured item that secures this iterator. */ - public PermTripleFilter( final Action[] actions, - final SecuredItem securedItem ) - { + public PermTripleFilter(final Action[] actions, + final SecuredItem securedItem) { this.modelNode = securedItem.getModelNode(); this.actions = SecurityEvaluator.Util.asSet(actions); this.evaluator = securedItem.getSecurityEvaluator(); @@ -105,9 +101,8 @@ public class PermTripleFilter implements Predicate<Triple> * @param evaluator * The security evaluator to evaluate the security queries. */ - public PermTripleFilter( final Action[] actions, - final SecuredItem securedItem, final SecurityEvaluator evaluator ) - { + public PermTripleFilter(final Action[] actions, + final SecuredItem securedItem, final SecurityEvaluator evaluator) { this.modelNode = securedItem.getModelNode(); this.actions = SecurityEvaluator.Util.asSet(actions); this.evaluator = evaluator; @@ -123,9 +118,8 @@ public class PermTripleFilter implements Predicate<Triple> * @param securedItem * The secured item that secures this iterator. */ - public PermTripleFilter( final Collection<Action> actions, - final SecuredItem securedItem ) - { + public PermTripleFilter(final Collection<Action> actions, + final SecuredItem securedItem) { this.modelNode = securedItem.getModelNode(); this.actions = SecurityEvaluator.Util.asSet(actions); this.evaluator = securedItem.getSecurityEvaluator(); @@ -143,9 +137,8 @@ public class PermTripleFilter implements Predicate<Triple> * @param evaluator * The security evaluator to evaluate the security queries. */ - public PermTripleFilter( final Collection<Action> actions, - final SecuredItem securedItem, final SecurityEvaluator evaluator ) - { + public PermTripleFilter(final Collection<Action> actions, + final SecuredItem securedItem, final SecurityEvaluator evaluator) { this.modelNode = securedItem.getModelNode(); this.actions = SecurityEvaluator.Util.asSet(actions); this.evaluator = evaluator; @@ -153,9 +146,9 @@ public class PermTripleFilter implements Predicate<Triple> } @Override - public boolean test( final Triple triple ) - { - return evaluator.evaluateAny(principal, actions, modelNode,triple); + public boolean test(final Triple triple) + throws AuthenticationRequiredException { + return evaluator.evaluateAny(principal, actions, modelNode, triple); } } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/jena/blob/2c0454c6/jena-permissions/src/main/java/org/apache/jena/permissions/utils/RDFListSecFilter.java ---------------------------------------------------------------------- diff --git a/jena-permissions/src/main/java/org/apache/jena/permissions/utils/RDFListSecFilter.java b/jena-permissions/src/main/java/org/apache/jena/permissions/utils/RDFListSecFilter.java index b66a48c..01888ea 100644 --- a/jena-permissions/src/main/java/org/apache/jena/permissions/utils/RDFListSecFilter.java +++ b/jena-permissions/src/main/java/org/apache/jena/permissions/utils/RDFListSecFilter.java @@ -23,34 +23,31 @@ import java.util.function.Predicate; import org.apache.jena.permissions.SecuredItem; import org.apache.jena.permissions.SecurityEvaluator; import org.apache.jena.permissions.SecurityEvaluator.Action; -import org.apache.jena.rdf.model.RDFList ; -import org.apache.jena.rdf.model.Statement ; -import org.apache.jena.vocabulary.RDF ; +import org.apache.jena.rdf.model.RDFList; +import org.apache.jena.rdf.model.Statement; +import org.apache.jena.shared.AuthenticationRequiredException; +import org.apache.jena.vocabulary.RDF; -public class RDFListSecFilter<T extends RDFList> implements Predicate<T> -{ +public class RDFListSecFilter<T extends RDFList> implements Predicate<T> { private final SecuredItem securedItem; private final Set<Action> perms; private final Object principal; - public RDFListSecFilter( final SecuredItem securedItem, final Action perm ) - { + public RDFListSecFilter(final SecuredItem securedItem, final Action perm) { this(securedItem, SecurityEvaluator.Util.asSet(new Action[] { perm })); } - public RDFListSecFilter( final SecuredItem securedItem, - final Set<Action> perms ) - { + public RDFListSecFilter(final SecuredItem securedItem, + final Set<Action> perms) { this.securedItem = securedItem; this.perms = perms; this.principal = securedItem.getSecurityEvaluator().getPrincipal(); } @Override - public boolean test( final RDFList o ) - { + public boolean test(final RDFList o) throws AuthenticationRequiredException { final Statement s = o.getRequiredProperty(RDF.first); return securedItem.getSecurityEvaluator().evaluate(principal, perms, - securedItem.getModelNode(), s.asTriple()); + securedItem.getModelNode(), s.asTriple()); } }
