jena-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From cla...@apache.org
Subject [05/13] jena git commit: Added throw exception documentation
Date Fri, 07 Aug 2015 18:56:16 GMT
http://git-wip-us.apache.org/repos/asf/jena/blob/2c0454c6/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredRDFListImpl.java
----------------------------------------------------------------------
diff --git a/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredRDFListImpl.java b/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredRDFListImpl.java
index 36c524f..3ad07ef 100644
--- a/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredRDFListImpl.java
+++ b/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredRDFListImpl.java
@@ -24,8 +24,8 @@ import java.util.List;
 import java.util.Set;
 import java.util.function.Function;
 
-import org.apache.jena.graph.Node ;
-import org.apache.jena.graph.Triple ;
+import org.apache.jena.graph.Node;
+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;
@@ -36,143 +36,54 @@ import org.apache.jena.permissions.model.SecuredRDFList;
 import org.apache.jena.permissions.model.SecuredRDFNode;
 import org.apache.jena.permissions.utils.RDFListIterator;
 import org.apache.jena.permissions.utils.RDFListSecFilter;
-import org.apache.jena.rdf.model.* ;
+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.util.iterator.ExtendedIterator ;
-import org.apache.jena.util.iterator.WrappedIterator ;
-import org.apache.jena.vocabulary.RDF ;
+import org.apache.jena.shared.ReadDeniedException;
+import org.apache.jena.shared.UpdateDeniedException;
+import org.apache.jena.util.iterator.ExtendedIterator;
+import org.apache.jena.util.iterator.WrappedIterator;
+import org.apache.jena.vocabulary.RDF;
 
 public class SecuredRDFListImpl extends SecuredResourceImpl implements
-		SecuredRDFList
-{
+		SecuredRDFList {
 	// called plain node but still returns a secured node
-	private class PlainNodeMap implements Function<RDFList, RDFNode>
-	{
+	private class PlainNodeMap implements Function<RDFList, RDFNode> {
 
 		@Override
-		public RDFNode apply( final RDFList o )
-		{
+		public RDFNode apply(final RDFList o) {
 			return SecuredRDFNodeImpl.getInstance(getModel(), o
 					.getRequiredProperty(listFirst()).getObject());
 		}
 
 	}
 
-	private class SecuredListMap implements Function<RDFList, SecuredRDFList>
-	{
+	private class SecuredListMap implements Function<RDFList, SecuredRDFList> {
 
 		@Override
-		public SecuredRDFList apply( final RDFList o )
-		{
+		public SecuredRDFList apply(final RDFList o) {
 			return SecuredRDFListImpl.getInstance(getModel(), o);
 		}
 
 	}
 
-	private class SecuredNodeMap implements Function<RDFList, SecuredRDFNode>
-	{
+	private class SecuredNodeMap implements Function<RDFList, SecuredRDFNode> {
 
 		private Property p;
-		public SecuredNodeMap(Property p)
-		{
-			this.p=p;
+
+		public SecuredNodeMap(Property p) {
+			this.p = p;
 		}
-		
+
 		@Override
-		public SecuredRDFNode apply( final RDFList o )
-		{
+		public SecuredRDFNode apply(final RDFList o) {
 			return SecuredRDFNodeImpl.getInstance(getModel(), o
 					.getRequiredProperty(p).getObject());
 		}
 
 	}
 
-	/*
-	 * private class SecuredRDFListIterator implements Iterator<SecuredRDFList>
-	 * {
-	 * private SecuredRDFList current;
-	 * private Boolean found;
-	 * private final Set<Action> restrictions;
-	 * 
-	 * private SecuredRDFListIterator( final Action restriction )
-	 * {
-	 * this(SecurityEvaluator.Util.asSet(new Action[] { restriction }));
-	 * }
-	 * 
-	 * private SecuredRDFListIterator( final Set<Action> restrictions )
-	 * {
-	 * this.current = SecuredRDFListImpl.this.holder.getSecuredItem();
-	 * this.restrictions = restrictions;
-	 * }
-	 * 
-	 * private boolean checkCandidate()
-	 * {
-	 * if (!endOfList())
-	 * {
-	 * final SecNode candidate = current.getRequiredProperty(listFirst())
-	 * .getObject().asNode();
-	 * return getSecurityEvaluator().evaluate(
-	 * restrictions,
-	 * getModelNode(),
-	 * new SecurityEvaluator.SecTriple(SecuredItemImpl
-	 * .convert(current.asNode()), SecuredItemImpl
-	 * .convert(RDF.first.asNode()), SecuredItemImpl
-	 * .convert(candidate)));
-	 * }
-	 * return false;
-	 * }
-	 * 
-	 * private boolean endOfList()
-	 * {
-	 * return current.equals(listNil());
-	 * }
-	 * 
-	 * @Override
-	 * public boolean hasNext()
-	 * {
-	 * if ((found == null) && !endOfList())
-	 * {
-	 * found = checkCandidate();
-	 * while (!found && !endOfList())
-	 * {
-	 * incrementCurrent();
-	 * found = checkCandidate();
-	 * }
-	 * }
-	 * return found == null ? false : found;
-	 * }
-	 * 
-	 * private void incrementCurrent()
-	 * {
-	 * if (!endOfList())
-	 * {
-	 * current = (SecuredRDFList) current
-	 * .getRequiredProperty(listRest()).getResource()
-	 * .as(RDFList.class);
-	 * }
-	 * }
-	 * 
-	 * @Override
-	 * public SecuredRDFList next()
-	 * {
-	 * if (hasNext())
-	 * {
-	 * found = null;
-	 * final SecuredRDFList retval = current;
-	 * incrementCurrent();
-	 * return retval;
-	 * }
-	 * throw new NoSuchElementException();
-	 * }
-	 * 
-	 * @Override
-	 * public void remove()
-	 * {
-	 * throw new UnsupportedOperationException();
-	 * }
-	 * 
-	 * }
-	 */
 	/**
 	 * Get an instance of SecuredProperty
 	 * 
@@ -182,23 +93,19 @@ public class SecuredRDFListImpl extends SecuredResourceImpl implements
 	 *            The rdfList to secure
 	 * @return The SecuredProperty
 	 */
-	public static <T extends RDFList> SecuredRDFList getInstance( final SecuredModel securedModel,
-			final T rdfList )
-	{
-		if (securedModel == null)
-		{
+	public static <T extends RDFList> SecuredRDFList getInstance(
+			final SecuredModel securedModel, final T rdfList) {
+		if (securedModel == null) {
 			throw new IllegalArgumentException(
 					"Secured securedModel may not be null");
 		}
-		if (rdfList == null)
-		{
+		if (rdfList == null) {
 			throw new IllegalArgumentException("RDFList may not be null");
 		}
 
 		// check that property has a securedModel.
 		RDFList goodList = rdfList;
-		if (goodList.getModel() == null)
-		{
+		if (goodList.getModel() == null) {
 			goodList = securedModel.createList(rdfList.asJavaList().iterator());
 		}
 
@@ -208,10 +115,8 @@ public class SecuredRDFListImpl extends SecuredResourceImpl implements
 				holder);
 		// if we are going to create a duplicate proxy, just return this
 		// one.
-		if (goodList instanceof SecuredRDFList)
-		{
-			if (checker.isEquivalent((SecuredRDFList) goodList))
-			{
+		if (goodList instanceof SecuredRDFList) {
+			if (checker.isEquivalent((SecuredRDFList) goodList)) {
 				return (SecuredRDFList) goodList;
 			}
 		}
@@ -239,34 +144,28 @@ public class SecuredRDFListImpl extends SecuredResourceImpl implements
 
 	private final ItemHolder<RDFList, SecuredRDFList> holder;
 
-	protected SecuredRDFListImpl( final SecuredModel securedModel,
-			final ItemHolder<RDFList, SecuredRDFList> holder )
-	{
+	protected SecuredRDFListImpl(final SecuredModel securedModel,
+			final ItemHolder<RDFList, SecuredRDFList> holder) {
 		super(securedModel, holder);
 		this.holder = holder;
 	}
 
 	@Override
-	public void add( final RDFNode value )
-	{
+	public void add(final RDFNode value) throws UpdateDeniedException,
+			AddDeniedException, AuthenticationRequiredException {
 		checkUpdate();
 		checkCreateNewList(value, listNil());
 		holder.getBaseItem().add(value);
 	}
 
 	@Override
-	public SecuredRDFList append( final Iterator<? extends RDFNode> nodes )
-	{
+	public SecuredRDFList append(final Iterator<? extends RDFNode> nodes)
+			throws ReadDeniedException, AuthenticationRequiredException {
 		SecuredRDFList copy = copy();
-		if (nodes.hasNext())
-		{
-			if (((RDFList)copy.getBaseItem()).size()>0)
-//			if (copy.size() > 0)
-			{
+		if (nodes.hasNext()) {
+			if (((RDFList) copy.getBaseItem()).size() > 0) {
 				copy.concatenate(copy.getModel().createList(nodes));
-			}
-			else
-			{
+			} else {
 				copy = copy.getModel().createList(nodes);
 			}
 		}
@@ -274,18 +173,14 @@ public class SecuredRDFListImpl extends SecuredResourceImpl implements
 	}
 
 	@Override
-	public RDFList append( final RDFList list )
-	{
-		if (holder.getBaseItem().isEmpty())
-		{
+	public RDFList append(final RDFList list) throws ReadDeniedException,
+			AuthenticationRequiredException {
+		if (holder.getBaseItem().isEmpty()) {
 			return list.size() == 0 ? ModelFactory.createDefaultModel()
 					.createList() : list.copy();
-		}
-		else
-		{
+		} else {
 			final RDFList copy = copy();
-			if (list.size() > 0)
-			{
+			if (list.size() > 0) {
 				copy.concatenate(list.copy());
 			}
 			return copy;
@@ -293,44 +188,36 @@ public class SecuredRDFListImpl extends SecuredResourceImpl implements
 	}
 
 	@Override
-	public void apply( final ApplyFn fn )
-	{
+	public void apply(final ApplyFn fn) throws ReadDeniedException,
+			AuthenticationRequiredException {
 		// iterator() checks Read
 		final ExtendedIterator<RDFNode> i = iterator();
-		try
-		{
-			while (i.hasNext())
-			{
+		try {
+			while (i.hasNext()) {
 				fn.apply(i.next());
 			}
-		}
-		finally
-		{
+		} finally {
 			i.close();
 		}
 	}
 
 	@Override
-	public void apply( final Set<Action> perms, final ApplyFn fn )
-	{
+	public void apply(final Set<Action> perms, final ApplyFn fn)
+			throws ReadDeniedException, AuthenticationRequiredException {
 		// iterator() checks Read
 		final ExtendedIterator<RDFNode> i = iterator(perms);
-		try
-		{
-			while (i.hasNext())
-			{
+		try {
+			while (i.hasNext()) {
 				fn.apply(i.next());
 			}
-		}
-		finally
-		{
+		} finally {
 			i.close();
 		}
 	}
 
 	@Override
-	public List<RDFNode> asJavaList()
-	{
+	public List<RDFNode> asJavaList() throws ReadDeniedException,
+			AuthenticationRequiredException {
 		// iterator() checks Read
 		return iterator().toList();
 	}
@@ -341,21 +228,17 @@ public class SecuredRDFListImpl extends SecuredResourceImpl implements
 	 * @param val
 	 * @return the modified RDFList.
 	 */
-	private RDFList baseRemove( final RDFList val )
-	{
+	private RDFList baseRemove(final RDFList val) {
 
 		RDFList prev = null;
 		RDFList cell = holder.getBaseItem();
 		final boolean searching = true;
 
-		while (searching && !cell.isEmpty())
-		{
-			if (cell.equals(val))
-			{
+		while (searching && !cell.isEmpty()) {
+			if (cell.equals(val)) {
 				// found the value to be removed
 				final RDFList tail = cell.getTail();
-				if (prev != null)
-				{
+				if (prev != null) {
 					prev.setTail(tail);
 				}
 
@@ -363,9 +246,7 @@ public class SecuredRDFListImpl extends SecuredResourceImpl implements
 
 				// return this unless we have removed the head element
 				return (prev == null) ? tail : this;
-			}
-			else
-			{
+			} else {
 				// not found yet
 				prev = cell;
 				cell = cell.getTail();
@@ -376,107 +257,79 @@ public class SecuredRDFListImpl extends SecuredResourceImpl implements
 		return this;
 	}
 
-	private void checkCreateNewList( final RDFNode value, final Resource tail )
-	{
-		checkCreate(new Triple(
-				SecurityEvaluator.FUTURE,
-				listFirst().asNode(),
+	private void checkCreateNewList(final RDFNode value, final Resource tail)
+			throws AddDeniedException, AuthenticationRequiredException {
+		checkCreate(new Triple(SecurityEvaluator.FUTURE, listFirst().asNode(),
 				value.asNode()));
-		checkCreate(new Triple(
-				SecurityEvaluator.FUTURE,
-				listRest().asNode(),
+		checkCreate(new Triple(SecurityEvaluator.FUTURE, listRest().asNode(),
 				tail.asNode()));
 	}
 
-	private Set<Statement> collectStatements( final Set<Action> actions )
-	{
+	private Set<Statement> collectStatements(final Set<Action> actions) {
 		final Set<Statement> stmts = new HashSet<Statement>();
 		final ExtendedIterator<RDFList> iter = WrappedIterator.create(
 				new RDFListIterator(holder.getBaseItem())).filterKeep(
 				new RDFListSecFilter<RDFList>(this, actions));
-		try
-		{
-			while (iter.hasNext())
-			{
+		try {
+			while (iter.hasNext()) {
 				stmts.addAll(iter.next().listProperties().toSet());
 			}
 			return stmts;
-		}
-		finally
-		{
+		} finally {
 			iter.close();
 		}
 	}
 
 	@Override
-	public void concatenate( final Iterator<? extends RDFNode> nodes )
-	{
+	public void concatenate(final Iterator<? extends RDFNode> nodes)
+			throws UpdateDeniedException, AddDeniedException,
+			AuthenticationRequiredException {
 		checkUpdate();
-		if (holder.getBaseItem().isEmpty())
-		{
+		if (holder.getBaseItem().isEmpty()) {
 			// concatenating list onto the empty list is an error
 			throw new EmptyListUpdateException(
 					"Tried to concatenate onto the empty list");
-		}
-		else
-		{
-			
-			Triple t = new Triple(
-					SecurityEvaluator.FUTURE,
-					listFirst().asNode(), Node.ANY);
-			if (!canCreate(t))
-			{
+		} else {
+
+			Triple t = new Triple(SecurityEvaluator.FUTURE, listFirst()
+					.asNode(), Node.ANY);
+			if (!canCreate(t)) {
 				final List<RDFNode> list = new ArrayList<RDFNode>();
-				while (nodes.hasNext())
-				{
+				while (nodes.hasNext()) {
 					final RDFNode n = nodes.next();
-					t = new Triple(
-							SecurityEvaluator.FUTURE,
-							listFirst().asNode(), n.asNode());
+					t = new Triple(SecurityEvaluator.FUTURE, listFirst()
+							.asNode(), n.asNode());
 					checkCreate(t);
 					list.add(n);
 				}
 				holder.getBaseItem().concatenate(list.iterator());
 
-			}
-			else
-			{
+			} else {
 				holder.getBaseItem().concatenate(nodes);
 			}
 		}
 	}
 
 	@Override
-	public void concatenate( final RDFList list )
-	{
+	public void concatenate(final RDFList list) throws UpdateDeniedException,
+			AddDeniedException, AuthenticationRequiredException {
 		checkUpdate();
-		if (holder.getBaseItem().isEmpty())
-		{
+		if (holder.getBaseItem().isEmpty()) {
 			// concatenating list onto the empty list is an error
 			throw new EmptyListUpdateException(
 					"Tried to concatenate onto the empty list");
-		}
-		else
-		{
-			Triple t = new Triple(
-					SecurityEvaluator.FUTURE,
-					listFirst().asNode(), Node.ANY);
-			if (!canCreate(t))
-			{
+		} else {
+			Triple t = new Triple(SecurityEvaluator.FUTURE, listFirst()
+					.asNode(), Node.ANY);
+			if (!canCreate(t)) {
 				final ExtendedIterator<RDFNode> iter = list.iterator();
-				try
-				{
-					while (iter.hasNext())
-					{
-						t = new Triple(
-								SecurityEvaluator.FUTURE,
-								listFirst().asNode(), 
-										iter.next().asNode());
+				try {
+					while (iter.hasNext()) {
+						t = new Triple(SecurityEvaluator.FUTURE, listFirst()
+								.asNode(), iter.next().asNode());
 						checkCreate(t);
 					}
-				}
-				finally
-				{
+				} finally {
 					iter.close();
 				}
 			}
@@ -485,8 +338,9 @@ public class SecuredRDFListImpl extends SecuredResourceImpl implements
 	}
 
 	@Override
-	public SecuredRDFList cons( final RDFNode value )
-	{
+	public SecuredRDFList cons(final RDFNode value)
+			throws UpdateDeniedException, AddDeniedException,
+			AuthenticationRequiredException {
 		checkUpdate();
 		checkCreateNewList(value, holder.getBaseItem());
 		return SecuredRDFListImpl.getInstance(getModel(), holder.getBaseItem()
@@ -494,214 +348,177 @@ public class SecuredRDFListImpl extends SecuredResourceImpl implements
 	}
 
 	@Override
-	public boolean contains( final RDFNode value )
-	{
+	public boolean contains(final RDFNode value) throws ReadDeniedException,
+			AuthenticationRequiredException {
 		// iterator() checks Read
 		final ExtendedIterator<RDFNode> iter = iterator();
-		try
-		{
-			while (iter.hasNext())
-			{
-				if (value.equals(iter.next()))
-				{
+		try {
+			while (iter.hasNext()) {
+				if (value.equals(iter.next())) {
 					return true;
 				}
 			}
 			return false;
-		}
-		finally
-		{
+		} finally {
 			iter.close();
 		}
 	}
 
 	@Override
-	public SecuredRDFList copy()
-	{
+	public SecuredRDFList copy() throws ReadDeniedException,
+			AuthenticationRequiredException {
 		SecuredRDFList retval = null;
-		if (canRead())
-		{
-			final ExtendedIterator<RDFNode> iter = getSecuredRDFListIterator(Action.Read)
-					.mapWith( list -> list.getRequiredProperty(listFirst()).getObject());
-			if (iter.hasNext())
-			{
+		if (canRead()) {
+			final ExtendedIterator<RDFNode> iter = getSecuredRDFListIterator(
+					Action.Read).mapWith(
+					list -> list.getRequiredProperty(listFirst()).getObject());
+			if (iter.hasNext()) {
 				retval = getModel().createList(iter);
-			}
-			else
-			{
+			} else {
 				retval = getModel().createList();
 			}
-		}
-		else
-		{
+		} else {
 			retval = getModel().createList();
 		}
 		return retval;
 	}
 
 	@Override
-	public SecuredRDFNode get( final int i )
-	{
+	public SecuredRDFNode get(final int i) throws ReadDeniedException,
+			AuthenticationRequiredException {
 		checkRead();
 		final ExtendedIterator<SecuredRDFNode> iter = getSecuredRDFListIterator(
 				Action.Read).mapWith(new SecuredNodeMap(listFirst()));
 		int idx = 0;
-		try
-		{
-			while (iter.hasNext())
-			{
-				if (i == idx)
-				{
+		try {
+			while (iter.hasNext()) {
+				if (i == idx) {
 					return iter.next();
-				}
-				else
-				{
+				} else {
 					idx++;
 					iter.next();
 				}
 
 			}
 			throw new ListIndexException();
-		}
-		finally
-		{
+		} finally {
 			iter.close();
 		}
 	}
 
 	@Override
-	public SecuredRDFNode getHead()
-	{
+	public SecuredRDFNode getHead() throws ReadDeniedException,
+			AuthenticationRequiredException {
 		checkRead();
-		Statement s = holder.getBaseItem().getRequiredProperty( listFirst() );
-		checkRead( s );
+		Statement s = holder.getBaseItem().getRequiredProperty(listFirst());
+		checkRead(s);
 		return SecuredRDFNodeImpl.getInstance(getModel(), s.getObject());
 	}
 
 	private ExtendedIterator<RDFList> getSecuredRDFListIterator(
-			final Action perm )
-	{
+			final Action perm) {
 		return WrappedIterator
 				.create(new RDFListIterator(holder.getBaseItem())).filterKeep(
 						new RDFListSecFilter<RDFList>(this, perm));
 	}
 
 	private ExtendedIterator<RDFList> getSecuredRDFListIterator(
-			final Set<Action> perm )
-	{
+			final Set<Action> perm) {
 		return WrappedIterator
 				.create(new RDFListIterator(holder.getBaseItem())).filterKeep(
 						new RDFListSecFilter<RDFList>(this, perm));
 	}
 
 	@Override
-	public boolean getStrict()
-	{
+	public boolean getStrict() {
 		return holder.getBaseItem().getStrict();
 	}
 
 	@Override
-	public SecuredRDFList getTail()
-	{
+	public SecuredRDFList getTail() throws ReadDeniedException,
+			AuthenticationRequiredException {
 		checkRead();
-		Statement s = holder.getBaseItem().getRequiredProperty( listRest() );
-		checkRead( s );
-		return SecuredRDFListImpl.getInstance(getModel(), s.getObject().as(RDFList.class));
+		Statement s = holder.getBaseItem().getRequiredProperty(listRest());
+		checkRead(s);
+		return SecuredRDFListImpl.getInstance(getModel(),
+				s.getObject().as(RDFList.class));
 	}
 
 	@Override
-	public String getValidityErrorMessage()
-	{
+	public String getValidityErrorMessage() throws ReadDeniedException,
+			AuthenticationRequiredException {
 		checkRead();
 		return holder.getBaseItem().getValidityErrorMessage();
 	}
 
 	@Override
-	public int indexOf( final RDFNode value )
-	{
+	public int indexOf(final RDFNode value) throws ReadDeniedException,
+			AuthenticationRequiredException {
 		checkRead();
 		final ExtendedIterator<SecuredRDFNode> iter = getSecuredRDFListIterator(
 				Action.Read).mapWith(new SecuredNodeMap(listFirst()));
-		try
-		{
+		try {
 			int retval = 0;
-			while (iter.hasNext())
-			{
-				if (value.equals(iter.next()))
-				{
+			while (iter.hasNext()) {
+				if (value.equals(iter.next())) {
 					return retval;
-				}
-				else
-				{
+				} else {
 					retval++;
 				}
 			}
 			return -1;
-		}
-		finally
-		{
+		} finally {
 			iter.close();
 		}
 	}
 
 	@Override
-	public int indexOf( final RDFNode value, final int start )
-	{
+	public int indexOf(final RDFNode value, final int start)
+			throws ReadDeniedException, AuthenticationRequiredException {
 		checkRead();
 		final ExtendedIterator<SecuredRDFNode> iter = getSecuredRDFListIterator(
 				Action.Read).mapWith(new SecuredNodeMap(listFirst()));
-		try
-		{
+		try {
 			int retval = 0;
-			while (iter.hasNext() && (retval < start))
-			{
+			while (iter.hasNext() && (retval < start)) {
 				iter.next();
 				retval++;
 			}
-			while (iter.hasNext())
-			{
-				if (value.equals(iter.next()))
-				{
+			while (iter.hasNext()) {
+				if (value.equals(iter.next())) {
 					return retval;
-				}
-				else
-				{
+				} else {
 					retval++;
 				}
 			}
 			return -1;
-		}
-		finally
-		{
+		} finally {
 			iter.close();
 		}
 	}
 
 	@Override
-	public boolean isEmpty()
-	{
+	public boolean isEmpty() throws ReadDeniedException,
+			AuthenticationRequiredException {
 		checkRead();
 		final ExtendedIterator<RDFNode> iter = iterator();
-		try
-		{
+		try {
 			return !iter.hasNext();
-		}
-		finally
-		{
+		} finally {
 			iter.close();
 		}
 	}
 
 	@Override
-	public boolean isValid()
-	{
+	public boolean isValid() throws ReadDeniedException,
+			AuthenticationRequiredException {
 		checkRead();
 		return holder.getBaseItem().isValid();
 	}
 
 	@Override
-	public ExtendedIterator<RDFNode> iterator()
-	{
+	public ExtendedIterator<RDFNode> iterator() throws ReadDeniedException,
+			AuthenticationRequiredException {
 		checkRead();
 		return getSecuredRDFListIterator(Action.Read).mapWith(
 				new PlainNodeMap());
@@ -709,8 +526,8 @@ public class SecuredRDFListImpl extends SecuredResourceImpl implements
 	}
 
 	@Override
-	public ExtendedIterator<RDFNode> iterator( final Set<Action> constraints )
-	{
+	public ExtendedIterator<RDFNode> iterator(final Set<Action> constraints)
+			throws ReadDeniedException, AuthenticationRequiredException {
 		checkRead();
 		final Set<Action> req = new HashSet<Action>(constraints);
 		req.add(Action.Read);
@@ -718,44 +535,38 @@ public class SecuredRDFListImpl extends SecuredResourceImpl implements
 
 	}
 
-	public Class<? extends RDFList> listAbstractionClass()
-	{
+	public Class<? extends RDFList> listAbstractionClass() {
 		return RDFList.class;
 	}
 
-	public Property listFirst()
-	{
+	public Property listFirst() {
 		return m_listFirst;
 	}
 
-	public Resource listNil()
-	{
+	public Resource listNil() {
 		return m_listNil;
 	}
 
-	public Property listRest()
-	{
+	public Property listRest() {
 		return m_listRest;
 	}
 
-	public Resource listType()
-	{
+	public Resource listType() {
 		return m_listType;
 	}
 
 	@Override
-	public <T> ExtendedIterator<T> mapWith( final Function<RDFNode, T> fn )
-	{
+	public <T> ExtendedIterator<T> mapWith(final Function<RDFNode, T> fn)
+			throws ReadDeniedException, AuthenticationRequiredException {
 		return iterator().mapWith(fn);
 	}
 
 	@Override
-	public Object reduce( final ReduceFn fn, final Object initial )
-	{
+	public Object reduce(final ReduceFn fn, final Object initial)
+			throws ReadDeniedException, AuthenticationRequiredException {
 		Object acc = initial;
 
-		for (final Iterator<RDFNode> i = iterator(); i.hasNext();)
-		{
+		for (final Iterator<RDFNode> i = iterator(); i.hasNext();) {
 			acc = fn.reduce(i.next(), acc);
 		}
 
@@ -763,15 +574,14 @@ public class SecuredRDFListImpl extends SecuredResourceImpl implements
 	}
 
 	@Override
-	public Object reduce( final Set<Action> requiredActions, final ReduceFn fn,
-			final Object initial ) throws 
-			EmptyListException, ListIndexException, InvalidListException
-	{
+	public Object reduce(final Set<Action> requiredActions, final ReduceFn fn,
+			final Object initial) throws EmptyListException,
+			ListIndexException, InvalidListException, ReadDeniedException,
+			AuthenticationRequiredException {
 		Object acc = initial;
 		final Set<Action> perms = new HashSet<Action>(requiredActions);
 		perms.add(Action.Read);
-		for (final Iterator<RDFNode> i = iterator(perms); i.hasNext();)
-		{
+		for (final Iterator<RDFNode> i = iterator(perms); i.hasNext();) {
 			acc = fn.reduce(i.next(), acc);
 		}
 
@@ -779,48 +589,38 @@ public class SecuredRDFListImpl extends SecuredResourceImpl implements
 	}
 
 	@Override
-	public RDFList remove( final RDFNode val )
-	{
+	public RDFList remove(final RDFNode val) throws UpdateDeniedException,
+			DeleteDeniedException, AuthenticationRequiredException {
 		checkUpdate();
 		RDFList cell = null;
 		boolean denied = false;
 
-		if (!canDelete(new Triple(Node.ANY, listFirst().asNode(), val.asNode())))
-		{
+		if (!canDelete(new Triple(Node.ANY, listFirst().asNode(), val.asNode()))) {
 			// iterate over the deletable items
 			final ExtendedIterator<RDFList> iter = getSecuredRDFListIterator(Action.Delete);// .mapWith(new
 																							// SecuredListMap());
-			while (iter.hasNext())
-			{
+			while (iter.hasNext()) {
 				cell = iter.next();
 
 				if (val.equals(cell.getRequiredProperty(listFirst())
-						.getObject()))
-				{
+						.getObject())) {
 					if (canDelete(new Triple(cell.asNode(), listFirst()
-							.asNode(), val.asNode())))
-					{
+							.asNode(), val.asNode()))) {
 						return SecuredRDFListImpl.getInstance(getModel(),
 								baseRemove(cell));
 
-					}
-					else
-					{
+					} else {
 						denied = true;
 					}
 				}
 			}
-			if (denied)
-			{
-				throw new DeleteDeniedException(SecuredItem.Util.triplePermissionMsg(getModelNode()));
-			}
-			else
-			{
+			if (denied) {
+				throw new DeleteDeniedException(
+						SecuredItem.Util.triplePermissionMsg(getModelNode()));
+			} else {
 				return this;
 			}
-		}
-		else
-		{
+		} else {
 			return SecuredRDFListImpl.getInstance(getModel(), holder
 					.getBaseItem().remove(val));
 		}
@@ -828,21 +628,19 @@ public class SecuredRDFListImpl extends SecuredResourceImpl implements
 
 	@Override
 	@Deprecated
-	public void removeAll()
-	{
+	public void removeAll() throws UpdateDeniedException,
+			AuthenticationRequiredException {
 		removeList();
 	}
 
 	@Override
-	public SecuredRDFList removeHead()
-	{
+	public SecuredRDFList removeHead() throws UpdateDeniedException,
+			DeleteDeniedException, AuthenticationRequiredException {
 		checkUpdate();
 		final ExtendedIterator<SecuredRDFList> iter = getSecuredRDFListIterator(
 				Action.Read).mapWith(new SecuredListMap());
-		try
-		{
-			if (!iter.hasNext())
-			{
+		try {
+			if (!iter.hasNext()) {
 				throw new EmptyListException(
 						"Attempted to delete the head of a nil list");
 			}
@@ -851,39 +649,27 @@ public class SecuredRDFListImpl extends SecuredResourceImpl implements
 			checkDelete(s);
 			return SecuredRDFListImpl.getInstance(getModel(), baseRemove(cell));
 
-		}
-		finally
-		{
+		} finally {
 			iter.close();
 		}
 	}
 
 	@Override
-	public void removeList()
-	{
+	public void removeList() throws UpdateDeniedException,
+			AuthenticationRequiredException {
 		checkUpdate();
 		final Triple t = new Triple(Node.ANY, listFirst().asNode(), Node.ANY);
-		/*
-		 * if (!canRead(t))
-		 * {
-		 * throw new EmptyListException(
-		 * "Attempted to delete the head of a nil list" );
-		 * }
-		 */
+
 		// have to be able to read and delete to delete all.
 		final Set<Action> perms = SecurityEvaluator.Util.asSet(new Action[] {
 				Action.Delete, Action.Read });
-		if (getSecurityEvaluator().evaluate(getSecurityEvaluator().getPrincipal(), perms, this.getModelNode(),
-				t))
-		{
+		if (getSecurityEvaluator().evaluate(
+				getSecurityEvaluator().getPrincipal(), perms,
+				this.getModelNode(), t)) {
 			holder.getBaseItem().removeList();
-		}
-		else
-		{
-			for (final Statement s : collectStatements(perms))
-			{
-				if (canDelete(s))
-				{
+		} else {
+			for (final Statement s : collectStatements(perms)) {
+				if (canDelete(s)) {
 					s.remove();
 				}
 			}
@@ -891,19 +677,17 @@ public class SecuredRDFListImpl extends SecuredResourceImpl implements
 	}
 
 	@Override
-	public SecuredRDFNode replace( final int i, final RDFNode value )
-	{
+	public SecuredRDFNode replace(final int i, final RDFNode value)
+			throws UpdateDeniedException, AuthenticationRequiredException,
+			ListIndexException {
 		checkUpdate();
 		final SecuredNodeMap map = new SecuredNodeMap(listFirst());
 		final ExtendedIterator<SecuredRDFList> iter = getSecuredRDFListIterator(
 				Action.Read).mapWith(new SecuredListMap());
 		int idx = 0;
-		try
-		{
-			while (iter.hasNext())
-			{
-				if (i == idx)
-				{
+		try {
+			while (iter.hasNext()) {
+				if (i == idx) {
 					final SecuredRDFList list = iter.next();
 					final SecuredRDFNode retval = map.apply(list);
 					final Triple t = new Triple(list.asNode(), listFirst()
@@ -914,90 +698,73 @@ public class SecuredRDFListImpl extends SecuredResourceImpl implements
 					final RDFList base = (RDFList) list.getBaseItem();
 					base.getRequiredProperty(listFirst()).changeObject(value);
 					return retval;
-				}
-				else
-				{
+				} else {
 					idx++;
 					iter.next();
 				}
 
 			}
 			throw new ListIndexException();
-		}
-		finally
-		{
+		} finally {
 			iter.close();
 		}
 	}
 
 	@Override
-	public boolean sameListAs( final RDFList list )
-	{
+	public boolean sameListAs(final RDFList list) throws ReadDeniedException,
+			AuthenticationRequiredException {
 		checkRead();
 		ExtendedIterator<RDFNode> thisIter = null;
 		ExtendedIterator<RDFNode> thatIter = null;
-		try
-		{
+		try {
 			thisIter = iterator();
 			thatIter = list.iterator();
-			while (thisIter.hasNext() && thatIter.hasNext())
-			{
+			while (thisIter.hasNext() && thatIter.hasNext()) {
 				final RDFNode thisN = thisIter.next();
 				final RDFNode thatN = thatIter.next();
-				if ((thisN == null) || !thisN.equals(thatN))
-				{
+				if ((thisN == null) || !thisN.equals(thatN)) {
 					// not equal at this position
 					return false;
 				}
 			}
 			return !(thisIter.hasNext() || thatIter.hasNext());
-		}
-		finally
-		{
-			if (thisIter != null)
-			{
+		} finally {
+			if (thisIter != null) {
 				thisIter.close();
 			}
-			if (thatIter != null)
-			{
+			if (thatIter != null) {
 				thatIter.close();
 			}
 		}
 	}
 
 	@Override
-	public SecuredRDFNode setHead( final RDFNode value )
-	{
+	public SecuredRDFNode setHead(final RDFNode value)
+			throws EmptyListException, AuthenticationRequiredException {
 		final ExtendedIterator<SecuredRDFList> iter = getSecuredRDFListIterator(
 				Action.Read).mapWith(new SecuredListMap());
-		try
-		{
-			if (iter.hasNext())
-			{
+		try {
+			if (iter.hasNext()) {
 				return replace(0, value);
-			}
-			else
-			{
+			} else {
 				throw new EmptyListException(
 						"Tried to set the head of an empty list");
 			}
-		}
-		finally
-		{
+		} finally {
 			iter.close();
 		}
 	}
 
 	@Override
-	public void setStrict( final boolean strict )
-	{
+	public void setStrict(final boolean strict) throws UpdateDeniedException,
+			AuthenticationRequiredException {
 		checkUpdate();
 		holder.getBaseItem().setStrict(strict);
 	}
 
 	@Override
-	public SecuredRDFList setTail( final RDFList tail )
-	{
+	public SecuredRDFList setTail(final RDFList tail)
+			throws UpdateDeniedException, AuthenticationRequiredException {
 		checkUpdate();
 
 		final Statement rest = holder.getBaseItem().getRequiredProperty(
@@ -1014,18 +781,16 @@ public class SecuredRDFListImpl extends SecuredResourceImpl implements
 	}
 
 	@Override
-	public int size()
-	{
+	public int size() throws ReadDeniedException,
+			AuthenticationRequiredException {
 		checkRead();
 		final Triple t = new Triple(Node.ANY, listFirst().asNode(), Node.ANY);
-		if (canRead(t))
-		{
+		if (canRead(t)) {
 			return holder.getBaseItem().size();
 		}
 		final ExtendedIterator<RDFNode> iter = iterator();
 		int i = 0;
-		while (iter.hasNext())
-		{
+		while (iter.hasNext()) {
 			i++;
 			iter.next();
 		}
@@ -1033,12 +798,11 @@ public class SecuredRDFListImpl extends SecuredResourceImpl implements
 	}
 
 	@Override
-	public SecuredRDFList with( final RDFNode value )
-	{
+	public SecuredRDFList with(final RDFNode value)
+			throws UpdateDeniedException, AddDeniedException,
+			AuthenticationRequiredException {
 		checkUpdate();
-		checkCreate(new Triple(
-				SecurityEvaluator.FUTURE,
-				listFirst().asNode(),
+		checkCreate(new Triple(SecurityEvaluator.FUTURE, listFirst().asNode(),
 				value.asNode()));
 		return SecuredRDFListImpl.getInstance(getModel(), holder.getBaseItem()
 				.with(value));

http://git-wip-us.apache.org/repos/asf/jena/blob/2c0454c6/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredRDFNodeImpl.java
----------------------------------------------------------------------
diff --git a/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredRDFNodeImpl.java b/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredRDFNodeImpl.java
index aba6977..fa640e5 100644
--- a/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredRDFNodeImpl.java
+++ b/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredRDFNodeImpl.java
@@ -20,42 +20,40 @@ package org.apache.jena.permissions.model.impl;
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
 
-import org.apache.jena.enhanced.UnsupportedPolymorphismException ;
-import org.apache.jena.graph.FrontsNode ;
-import org.apache.jena.graph.Node ;
+import org.apache.jena.enhanced.UnsupportedPolymorphismException;
+import org.apache.jena.graph.FrontsNode;
+import org.apache.jena.graph.Node;
 import org.apache.jena.permissions.impl.ItemHolder;
 import org.apache.jena.permissions.impl.SecuredItemImpl;
 import org.apache.jena.permissions.model.SecuredModel;
 import org.apache.jena.permissions.model.SecuredRDFNode;
 import org.apache.jena.permissions.model.SecuredUnsupportedPolymorphismException;
-import org.apache.jena.rdf.model.Literal ;
-import org.apache.jena.rdf.model.Model ;
-import org.apache.jena.rdf.model.RDFNode ;
-import org.apache.jena.rdf.model.Resource ;
+import org.apache.jena.rdf.model.Literal;
+import org.apache.jena.rdf.model.Model;
+import org.apache.jena.rdf.model.RDFNode;
+import org.apache.jena.rdf.model.Resource;
+import org.apache.jena.shared.AuthenticationRequiredException;
+import org.apache.jena.shared.ReadDeniedException;
 
 /**
  * Implementation of SecuredRDFNode to be used by a SecuredItemInvoker proxy.
  */
 public abstract class SecuredRDFNodeImpl extends SecuredItemImpl implements
-		SecuredRDFNode
-{
+		SecuredRDFNode {
 	/**
 	 * 
 	 * @param securedModel
 	 *            the Secured Model to use.
-	 * @param rdfNode the node to secure.
+	 * @param rdfNode
+	 *            the node to secure.
 	 * @return the secured RDFNode
 	 */
-	public static SecuredRDFNode getInstance( final SecuredModel securedModel,
-			final RDFNode rdfNode )
-	{
-		if (rdfNode instanceof Literal)
-		{
+	public static SecuredRDFNode getInstance(final SecuredModel securedModel,
+			final RDFNode rdfNode) {
+		if (rdfNode instanceof Literal) {
 			return SecuredLiteralImpl.getInstance(securedModel,
 					(Literal) rdfNode);
-		}
-		else
-		{
+		} else {
 			return SecuredResourceImpl.getInstance(securedModel,
 					(Resource) rdfNode);
 		}
@@ -75,12 +73,10 @@ public abstract class SecuredRDFNodeImpl extends SecuredItemImpl implements
 	 * @param holder
 	 *            the item holder that will contain this SecuredRDFNode.
 	 */
-	protected SecuredRDFNodeImpl( final SecuredModel securedModel,
-			final ItemHolder<? extends RDFNode, ? extends SecuredRDFNode> holder )
-	{
+	protected SecuredRDFNodeImpl(final SecuredModel securedModel,
+			final ItemHolder<? extends RDFNode, ? extends SecuredRDFNode> holder) {
 		super(securedModel, holder);
-		if (holder.getBaseItem().getModel() == null)
-		{
+		if (holder.getBaseItem().getModel() == null) {
 			throw new IllegalArgumentException(String.format(
 					"Holder base item (%s) must have a securedModel", holder
 							.getBaseItem().getClass()));
@@ -89,113 +85,84 @@ public abstract class SecuredRDFNodeImpl extends SecuredItemImpl implements
 		this.holder = holder;
 	}
 
-	@SuppressWarnings( "unchecked" )
+	@SuppressWarnings("unchecked")
 	@Override
-	public <T extends RDFNode> T as( final Class<T> view )
-	{
+	public <T extends RDFNode> T as(final Class<T> view)
+			throws ReadDeniedException, AuthenticationRequiredException,
+			SecuredUnsupportedPolymorphismException {
 		checkRead();
 		// see if the base Item can as
 		T baseAs = holder.getBaseItem().as(view);
-		
-			if (view.equals(SecuredRDFNodeImpl.class)
-					|| view.equals(RDFNode.class))
-			{
-				return (T) this;
-			}
-			final Method m = getConstructor(view);
-			if (m == null)
-			{
-				throw new SecuredUnsupportedPolymorphismException(this, view);
-			}
-			try
-			{
-				return (T) m.invoke(null, securedModel, holder.getBaseItem()
-						.as(view));
-			}
-			catch (final UnsupportedPolymorphismException e)
-			{
-				throw new SecuredUnsupportedPolymorphismException(this, view);
-			}
-			catch (final IllegalArgumentException e)
-			{
-				throw new RuntimeException(e);
-			}
-			catch (final IllegalAccessException e)
-			{
-				throw new RuntimeException(e);
-			}
-			catch (final InvocationTargetException e)
-			{
-				throw new RuntimeException(e);
-			}
-		/*
-		else
-		{
+
+		if (view.equals(SecuredRDFNodeImpl.class) || view.equals(RDFNode.class)) {
+			return (T) this;
+		}
+		final Method m = getConstructor(view);
+		if (m == null) {
+			throw new SecuredUnsupportedPolymorphismException(this, view);
+		}
+		try {
+			return (T) m.invoke(null, securedModel,
+					holder.getBaseItem().as(view));
+		} catch (final UnsupportedPolymorphismException e) {
 			throw new SecuredUnsupportedPolymorphismException(this, view);
+		} catch (final IllegalArgumentException e) {
+			throw new RuntimeException(e);
+		} catch (final IllegalAccessException e) {
+			throw new RuntimeException(e);
+		} catch (final InvocationTargetException e) {
+			throw new RuntimeException(e);
 		}
-		*/
 	}
 
 	@Override
-	public Node asNode()
-	{
+	public Node asNode() throws ReadDeniedException,
+			AuthenticationRequiredException {
 		checkRead();
 		return holder.getBaseItem().asNode();
 	}
 
 	@Override
-	public <T extends RDFNode> boolean canAs( final Class<T> view )
-	{
+	public <T extends RDFNode> boolean canAs(final Class<T> view)
+			throws ReadDeniedException, AuthenticationRequiredException {
 		checkRead();
 		// see if the base Item can as
-		if (holder.getBaseItem().canAs(view))
-		{
+		if (holder.getBaseItem().canAs(view)) {
 			return getConstructor(view) != null;
 		}
 		return false;
 	}
 
-	private <T extends RDFNode> Method getConstructor( final Class<T> view )
-	{
+	private <T extends RDFNode> Method getConstructor(final Class<T> view) {
 		String classNm = SecuredRDFNodeImpl.class.getName();
 		classNm = String.format("%s.Secured%sImpl",
 				classNm.substring(0, classNm.lastIndexOf(".")),
 				view.getSimpleName());
-		try
-		{
+		try {
 			final Class<?> c = Class.forName(classNm);
 			return c.getDeclaredMethod("getInstance", SecuredModel.class, view);
-		}
-		catch (final ClassNotFoundException e)
-		{
+		} catch (final ClassNotFoundException e) {
 			return null;
-		}
-		catch (final SecurityException e)
-		{
+		} catch (final SecurityException e) {
 			return null;
-		}
-		catch (final NoSuchMethodException e)
-		{
+		} catch (final NoSuchMethodException e) {
 			return null;
 		}
 	}
 
 	@Override
-	public SecuredModel getModel()
-	{
+	public SecuredModel getModel() {
 		return securedModel;
 	}
 
 	@Override
-	public RDFNode inModel( final Model m )
-	{
+	public RDFNode inModel(final Model m) throws ReadDeniedException,
+			AuthenticationRequiredException {
 		checkRead();
-		if (securedModel.equals(m))
-		{
+		if (securedModel.equals(m)) {
 			return this;
 		}
-		if (m instanceof SecuredModel)
-		{
+		if (m instanceof SecuredModel) {
 			return SecuredRDFNodeImpl.getInstance((SecuredModel) m, holder
 					.getBaseItem().inModel(m));
 		}
@@ -203,51 +170,55 @@ public abstract class SecuredRDFNodeImpl extends SecuredItemImpl implements
 	}
 
 	@Override
-	public boolean isAnon()
-	{
+	public boolean isAnon() {
 		return holder.getBaseItem().isAnon();
 	}
 
 	@Override
-	public boolean isLiteral()
-	{
+	public boolean isLiteral() {
 		return holder.getBaseItem().isLiteral();
 	}
 
 	@Override
-	public boolean isResource()
-	{
+	public boolean isResource() {
 		return holder.getBaseItem().isResource();
 	}
 
 	@Override
-	public boolean isURIResource()
-	{
+	public boolean isURIResource() {
 		return holder.getBaseItem().isURIResource();
 	}
 
 	/**
-     * An RDFNode is equal to another enhanced node n iff the underlying 
-     * nodes are equal. We generalise to allow the other object to be any class
-     * implementing asNode, because we allow other implemementations of
-     * Resource, at least in principle.
-     * This is deemed to be a complete and correct interpretation of RDFNode
-     * equality, which is why this method has been marked final.
-     * 
-     * @param o An object to test for equality with this node
-     * @return True if o is equal to this node.
-     */
-    @Override final public boolean equals( Object o )
-        { 
-    	checkRead();
-    	return o instanceof FrontsNode && asNode().equals(((FrontsNode) o).asNode()); 
-    	}
-    
-    /**
-     * The hash code of an RDFnode is defined to be the same as the underlying node.
-     * @return The hashcode as an int
-     */
-    @Override final public int hashCode() {
-     	return holder.getBaseItem().asNode().hashCode();
-    }
+	 * An RDFNode is equal to another enhanced node n iff the underlying nodes
+	 * are equal. We generalise to allow the other object to be any class
+	 * implementing asNode, because we allow other implemementations of
+	 * Resource, at least in principle. This is deemed to be a complete and
+	 * correct interpretation of RDFNode equality, which is why this method has
+	 * been marked final.
+	 * 
+	 * @param o
+	 *            An object to test for equality with this node
+	 * @return True if o is equal to this node.
+	 * @throws ReadDeniedException
+	 * @throws AuthenticationRequiredException
+	 */
+	@Override
+	final public boolean equals(Object o) throws ReadDeniedException,
+			AuthenticationRequiredException {
+		checkRead();
+		return o instanceof FrontsNode
+				&& asNode().equals(((FrontsNode) o).asNode());
+	}
+
+	/**
+	 * The hash code of an RDFnode is defined to be the same as the underlying
+	 * node.
+	 * 
+	 * @return The hashcode as an int
+	 */
+	@Override
+	final public int hashCode() {
+		return holder.getBaseItem().asNode().hashCode();
+	}
 }

http://git-wip-us.apache.org/repos/asf/jena/blob/2c0454c6/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredReifiedStatementImpl.java
----------------------------------------------------------------------
diff --git a/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredReifiedStatementImpl.java b/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredReifiedStatementImpl.java
index b085598..de4759e 100644
--- a/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredReifiedStatementImpl.java
+++ b/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredReifiedStatementImpl.java
@@ -22,15 +22,16 @@ import org.apache.jena.permissions.impl.SecuredItemInvoker;
 import org.apache.jena.permissions.model.SecuredModel;
 import org.apache.jena.permissions.model.SecuredReifiedStatement;
 import org.apache.jena.permissions.model.SecuredStatement;
-import org.apache.jena.rdf.model.ReifiedStatement ;
+import org.apache.jena.rdf.model.ReifiedStatement;
+import org.apache.jena.shared.AuthenticationRequiredException;
+import org.apache.jena.shared.ReadDeniedException;
 
 /**
  * Implementation of SecuredReifiedStatement to be used by a SecuredItemInvoker
  * proxy.
  */
 public class SecuredReifiedStatementImpl extends SecuredResourceImpl implements
-		SecuredReifiedStatement
-{
+		SecuredReifiedStatement {
 	/**
 	 * Get an instance of SecuredReifiedStatement
 	 * 
@@ -41,15 +42,12 @@ public class SecuredReifiedStatementImpl extends SecuredResourceImpl implements
 	 * @return SecuredReifiedStatement
 	 */
 	public static SecuredReifiedStatement getInstance(
-			final SecuredModel securedModel, final ReifiedStatement stmt )
-	{
-		if (securedModel == null)
-		{
+			final SecuredModel securedModel, final ReifiedStatement 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");
 		}
 		final ItemHolder<ReifiedStatement, SecuredReifiedStatement> holder = new ItemHolder<ReifiedStatement, SecuredReifiedStatement>(
@@ -58,10 +56,8 @@ public class SecuredReifiedStatementImpl extends SecuredResourceImpl implements
 				securedModel, holder);
 		// if we are going to create a duplicate proxy, just return this
 		// one.
-		if (stmt instanceof SecuredReifiedStatement)
-		{
-			if (checker.isEquivalent((SecuredReifiedStatement) stmt))
-			{
+		if (stmt instanceof SecuredReifiedStatement) {
+			if (checker.isEquivalent((SecuredReifiedStatement) stmt)) {
 				return (SecuredReifiedStatement) stmt;
 			}
 		}
@@ -82,15 +78,14 @@ public class SecuredReifiedStatementImpl extends SecuredResourceImpl implements
 	 */
 	protected SecuredReifiedStatementImpl(
 			final SecuredModel securedModel,
-			final ItemHolder<? extends ReifiedStatement, ? extends SecuredReifiedStatement> holder )
-	{
+			final ItemHolder<? extends ReifiedStatement, ? extends SecuredReifiedStatement> holder) {
 		super(securedModel, holder);
 		this.holder = holder;
 	}
 
 	@Override
-	public SecuredStatement getStatement()
-	{
+	public SecuredStatement getStatement() throws ReadDeniedException,
+			AuthenticationRequiredException {
 		checkRead();
 		return SecuredStatementImpl.getInstance(getModel(), holder
 				.getBaseItem().getStatement());

http://git-wip-us.apache.org/repos/asf/jena/blob/2c0454c6/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredResourceImpl.java
----------------------------------------------------------------------
diff --git a/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredResourceImpl.java b/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredResourceImpl.java
index 2db14e6..e28815b 100644
--- a/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredResourceImpl.java
+++ b/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredResourceImpl.java
@@ -17,10 +17,10 @@
  */
 package org.apache.jena.permissions.model.impl;
 
-import org.apache.jena.datatypes.RDFDatatype ;
-import org.apache.jena.graph.Node ;
-import org.apache.jena.graph.NodeFactory ;
-import org.apache.jena.graph.Triple ;
+import org.apache.jena.datatypes.RDFDatatype;
+import org.apache.jena.graph.Node;
+import org.apache.jena.graph.NodeFactory;
+import org.apache.jena.graph.Triple;
 import org.apache.jena.permissions.SecuredItem;
 import org.apache.jena.permissions.SecurityEvaluator.Action;
 import org.apache.jena.permissions.impl.ItemHolder;
@@ -29,17 +29,19 @@ import org.apache.jena.permissions.model.SecuredModel;
 import org.apache.jena.permissions.model.SecuredResource;
 import org.apache.jena.permissions.model.SecuredStatement;
 import org.apache.jena.permissions.utils.PermStatementFilter;
-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.PropertyNotFoundException;
 import org.apache.jena.shared.ReadDeniedException;
-import org.apache.jena.util.iterator.ExtendedIterator ;
+import org.apache.jena.shared.UpdateDeniedException;
+import org.apache.jena.util.iterator.ExtendedIterator;
 
 /**
  * Implementation of SecuredResource to be used by a SecuredItemInvoker proxy.
  */
 public class SecuredResourceImpl extends SecuredRDFNodeImpl implements
-		SecuredResource
-{
+		SecuredResource {
 	/**
 	 * Get a SecuredResource.
 	 * 
@@ -49,33 +51,26 @@ public class SecuredResourceImpl extends SecuredRDFNodeImpl implements
 	 *            The resource to secure.
 	 * @return The SecuredResource
 	 */
-	public static SecuredResource getInstance( final SecuredModel securedModel,
-			final Resource resource )
-	{
-		if (securedModel == null)
-		{
+	public static SecuredResource getInstance(final SecuredModel securedModel,
+			final Resource resource) {
+		if (securedModel == null) {
 			throw new IllegalArgumentException(
 					"Secured securedModel may not be null");
 		}
-		if (resource == null)
-		{
+		if (resource == null) {
 			throw new IllegalArgumentException("Resource may not be null");
 		}
-		if (resource.isLiteral())
-		{
+		if (resource.isLiteral()) {
 			throw new IllegalArgumentException("Resource may not be a literal");
 		}
 		// check that resource has a securedModel.
 		Resource goodResource = resource;
-		if (goodResource.getModel() == null)
-		{
+		if (goodResource.getModel() == null) {
 			final Node n = resource.asNode();
-			if (resource.isAnon())
-			{
-				goodResource = securedModel.createResource(new AnonId(n.getBlankNodeId()));
-			}
-			else
-			{
+			if (resource.isAnon()) {
+				goodResource = securedModel.createResource(new AnonId(n
+						.getBlankNodeId()));
+			} else {
 				goodResource = securedModel.createResource(n.getURI());
 			}
 		}
@@ -87,10 +82,8 @@ public class SecuredResourceImpl extends SecuredRDFNodeImpl implements
 				securedModel, holder);
 		// if we are going to create a duplicate proxy, just return this
 		// one.
-		if (goodResource instanceof SecuredResource)
-		{
-			if (checker.isEquivalent((SecuredResource) goodResource))
-			{
+		if (goodResource instanceof SecuredResource) {
+			if (checker.isEquivalent((SecuredResource) goodResource)) {
 				return (SecuredResource) goodResource;
 			}
 		}
@@ -113,8 +106,7 @@ public class SecuredResourceImpl extends SecuredRDFNodeImpl implements
 	 */
 	protected SecuredResourceImpl(
 			final SecuredModel securedModel,
-			final ItemHolder<? extends Resource, ? extends SecuredResource> holder )
-	{
+			final ItemHolder<? extends Resource, ? extends SecuredResource> holder) {
 		super(securedModel, holder);
 		this.holder = holder;
 	}
@@ -125,8 +117,7 @@ public class SecuredResourceImpl extends SecuredRDFNodeImpl implements
 	 * @return This resource to permit cascading.
 	 */
 	@Override
-	public SecuredResource abort()
-	{
+	public SecuredResource abort() {
 		holder.getBaseItem().abort();
 		return holder.getSecuredItem();
 	}
@@ -134,93 +125,127 @@ public class SecuredResourceImpl extends SecuredRDFNodeImpl implements
 	/**
 	 * Add the property <code>p</code> with the typed-literal value
 	 * <code>o</code> to this resource, <i>ie</i> add (this, p, typed(o)) to
-	 * this's securedModel. Answer
-	 * this resource. The typed literal is equal to one constructed by using
+	 * this's securedModel. Answer this resource. The typed literal is equal to
+	 * one constructed by using
 	 * <code>this.getModel().createTypedLiteral(o)</code>.
+	 * 
+	 * @throws UpdadeDeniedException
+	 * @throws AddDeniedException
+	 * @throws AuthenticationRequiredException
 	 */
 	@Override
-	public SecuredResource addLiteral( final Property p, final boolean o )
-	{
-		return addProperty( p, ResourceFactory.createTypedLiteral(o) );
+	public SecuredResource addLiteral(final Property p, final boolean o)
+			throws UpdateDeniedException, AddDeniedException,
+			AuthenticationRequiredException {
+		return addProperty(p, ResourceFactory.createTypedLiteral(o));
 	}
 
 	/**
 	 * Add the property <code>p</code> with the typed-literal value
 	 * <code>o</code> to this resource, <i>ie</i> add (this, p, typed(o)) to
-	 * this's securedModel. Answer
-	 * this resource. The typed literal is equal to one constructed by using
+	 * this's securedModel. Answer this resource. The typed literal is equal to
+	 * one constructed by using
 	 * <code>this.getModel().createTypedLiteral(o)</code>.
+	 * 
+	 * @throws UpdadeDeniedException
+	 * @throws AddDeniedException
+	 * @throws AuthenticationRequiredException
 	 */
 	@Override
-	public SecuredResource addLiteral( final Property p, final char o )
-	{
-		return addProperty( p, ResourceFactory.createTypedLiteral(o));
+	public SecuredResource addLiteral(final Property p, final char o)
+			throws UpdateDeniedException, AddDeniedException,
+			AuthenticationRequiredException {
+		return addProperty(p, ResourceFactory.createTypedLiteral(o));
 	}
 
 	/**
 	 * Add the property <code>p</code> with the typed-literal value
 	 * <code>o</code> to this resource, <i>ie</i> add (this, p, typed(o)) to
-	 * this's securedModel. Answer
-	 * this resource. The typed literal is equal to one constructed by using
+	 * this's securedModel. Answer this resource. The typed literal is equal to
+	 * one constructed by using
 	 * <code>this.getModel().createTypedLiteral(o)</code>.
+	 * 
+	 * @throws UpdadeDeniedException
+	 * @throws AddDeniedException
+	 * @throws AuthenticationRequiredException
 	 */
 	@Override
-	public SecuredResource addLiteral( final Property value, final double d )
-	{
-		return addProperty( value, ResourceFactory.createTypedLiteral(d));
+	public SecuredResource addLiteral(final Property value, final double d)
+			throws UpdateDeniedException, AddDeniedException,
+			AuthenticationRequiredException {
+		return addProperty(value, ResourceFactory.createTypedLiteral(d));
 	}
 
 	/**
 	 * Add the property <code>p</code> with the typed-literal value
 	 * <code>o</code> to this resource, <i>ie</i> add (this, p, typed(o)) to
-	 * this's securedModel. Answer
-	 * this resource. The typed literal is equal to one constructed by using
+	 * this's securedModel. Answer this resource. The typed literal is equal to
+	 * one constructed by using
 	 * <code>this.getModel().createTypedLiteral(o)</code>.
+	 * 
+	 * @throws UpdadeDeniedException
+	 * @throws AddDeniedException
+	 * @throws AuthenticationRequiredException
 	 */
 	@Override
-	public SecuredResource addLiteral( final Property value, final float d )
-	{
-		return addProperty( value, ResourceFactory.createTypedLiteral(d) );
+	public SecuredResource addLiteral(final Property value, final float d)
+			throws UpdateDeniedException, AddDeniedException,
+			AuthenticationRequiredException {
+		return addProperty(value, ResourceFactory.createTypedLiteral(d));
 	}
 
 	/**
 	 * Add the property <code>p</code> with the pre-constructed Literal value
 	 * <code>o</code> to this resource, <i>ie</i> add (this, p, o) to this's
 	 * securedModel. Answer this resource. <b>NOTE</b> thjat this is distinct
-	 * from the
-	 * other addLiteral methods in that the Literal is not turned into a
-	 * Literal.
+	 * from the other addLiteral methods in that the Literal is not turned into
+	 * a Literal.
+	 * 
+	 * @throws UpdadeDeniedException
+	 * @throws AddDeniedException
+	 * @throws AuthenticationRequiredException
 	 */
 	@Override
-	public SecuredResource addLiteral( final Property p, final Literal o )
-	{
-		return addProperty( p, o );
+	public SecuredResource addLiteral(final Property p, final Literal o)
+			throws UpdateDeniedException, AddDeniedException,
+			AuthenticationRequiredException {
+		return addProperty(p, o);
 	}
 
 	/**
 	 * Add the property <code>p</code> with the typed-literal value
 	 * <code>o</code> to this resource, <i>ie</i> add (this, p, typed(o)) to
-	 * this's securedModel. Answer
-	 * this resource. The typed literal is equal to one constructed by using
+	 * this's securedModel. Answer this resource. The typed literal is equal to
+	 * one constructed by using
 	 * <code>this.getModel().createTypedLiteral(o)</code>.
+	 * 
+	 * @throws UpdadeDeniedException
+	 * @throws AddDeniedException
+	 * @throws AuthenticationRequiredException
 	 */
 	@Override
-	public SecuredResource addLiteral( final Property p, final long o )
-	{
-		return addProperty( p, ResourceFactory.createTypedLiteral(o));
+	public SecuredResource addLiteral(final Property p, final long o)
+			throws UpdateDeniedException, AddDeniedException,
+			AuthenticationRequiredException {
+		return addProperty(p, ResourceFactory.createTypedLiteral(o));
 	}
 
 	/**
 	 * Add the property <code>p</code> with the typed-literal value
 	 * <code>o</code> to this resource, <i>ie</i> add (this, p, typed(o)) to
-	 * this's securedModel. Answer
-	 * this resource. The typed literal is equal to one constructed by using
+	 * this's securedModel. Answer this resource. The typed literal is equal to
+	 * one constructed by using
 	 * <code>this.getModel().createTypedLiteral(o)</code>.
+	 * 
+	 * @throws UpdadeDeniedException
+	 * @throws AddDeniedException
+	 * @throws AuthenticationRequiredException
 	 */
 	@Override
-	public SecuredResource addLiteral( final Property p, final Object o )
-	{
-		return addProperty( p, ResourceFactory.createTypedLiteral(o));
+	public SecuredResource addLiteral(final Property p, final Object o)
+			throws UpdateDeniedException, AddDeniedException,
+			AuthenticationRequiredException {
+		return addProperty(p, ResourceFactory.createTypedLiteral(o));
 	}
 
 	/**
@@ -236,10 +261,14 @@ public class SecuredResourceImpl extends SecuredRDFNodeImpl implements
 	 * @param o
 	 *            The value of the property to be added.
 	 * @return This resource to allow cascading calls.
+	 * @throws UpdadeDeniedException
+	 * @throws AddDeniedException
+	 * @throws AuthenticationRequiredException
 	 */
 	@Override
-	public SecuredResource addProperty( final Property p, final RDFNode o )
-	{
+	public SecuredResource addProperty(final Property p, final RDFNode o)
+			throws UpdateDeniedException, AddDeniedException,
+			AuthenticationRequiredException {
 		checkUpdate();
 		checkCreate(new Triple(holder.getBaseItem().asNode(), p.asNode(),
 				o.asNode()));
@@ -260,11 +289,15 @@ public class SecuredResourceImpl extends SecuredRDFNodeImpl implements
 	 * @param o
 	 *            The value of the property to be added.
 	 * @return This resource to allow cascading calls.
+	 * @throws UpdadeDeniedException
+	 * @throws AddDeniedException
+	 * @throws AuthenticationRequiredException
 	 */
 	@Override
-	public SecuredResource addProperty( final Property p, final String o )
-	{
-		return addProperty( p, o, "");
+	public SecuredResource addProperty(final Property p, final String o)
+			throws UpdateDeniedException, AddDeniedException,
+			AuthenticationRequiredException {
+		return addProperty(p, o, "");
 	}
 
 	/**
@@ -282,11 +315,15 @@ public class SecuredResourceImpl extends SecuredRDFNodeImpl implements
 	 * @param datatype
 	 *            The datatype
 	 * @return This resource to allow cascading calls.
+	 * @throws UpdadeDeniedException
+	 * @throws AddDeniedException
+	 * @throws AuthenticationRequiredException
 	 */
 	@Override
-	public SecuredResource addProperty( final Property p, final String lexicalForm,
-			final RDFDatatype datatype )
-	{
+	public SecuredResource addProperty(final Property p,
+			final String lexicalForm, final RDFDatatype datatype)
+			throws UpdateDeniedException, AddDeniedException,
+			AuthenticationRequiredException {
 		checkUpdate();
 		final Literal l = ResourceFactory.createTypedLiteral(lexicalForm,
 				datatype);
@@ -311,27 +348,28 @@ public class SecuredResourceImpl extends SecuredRDFNodeImpl implements
 	 * @param l
 	 *            the language of the property
 	 * @return This resource to allow cascading calls.
+	 * @throws UpdadeDeniedException
+	 * @throws AddDeniedException
+	 * @throws AuthenticationRequiredException
 	 */
 	@Override
-	public SecuredResource addProperty( final Property p, final String o,
-			final String l )
-	{
+	public SecuredResource addProperty(final Property p, final String o,
+			final String l) throws UpdateDeniedException, AddDeniedException,
+			AuthenticationRequiredException {
 		checkUpdate();
 		checkCreate(new Triple(holder.getBaseItem().asNode(), p.asNode(),
-		                       NodeFactory.createLiteral(o, l, false)));
+				NodeFactory.createLiteral(o, l, false)));
 		holder.getBaseItem().addProperty(p, o, l);
 		return holder.getSecuredItem();
 	}
 
 	@Override
-	public Literal asLiteral()
-	{
+	public Literal asLiteral() {
 		throw new LiteralRequiredException(asNode());
 	}
 
 	@Override
-	public SecuredResource asResource()
-	{
+	public SecuredResource asResource() {
 		return holder.getSecuredItem();
 	}
 
@@ -341,24 +379,34 @@ public class SecuredResourceImpl extends SecuredRDFNodeImpl implements
 	 * @return This resource to permit cascading.
 	 */
 	@Override
-	public SecuredResource begin()
-	{
+	public SecuredResource begin() {
 		holder.getBaseItem().begin();
 		return holder.getSecuredItem();
 	}
 
-	public boolean canReadProperty( final Node p )
-	{
+	/**
+	 * @param p The property to test.
+	 * @return true if p can be read as a property with an ANY value
+	 * @throws ReadDeniedException
+	 * @throws AuthenticationRequiredException
+	 */
+	public boolean canReadProperty(final Node p) throws ReadDeniedException,
+			AuthenticationRequiredException {
 		return canRead(new Triple(holder.getBaseItem().asNode(), p, Node.ANY));
 	}
 
-	protected void checkReadProperty( final Node p )
-	{
-		if (!canReadProperty(p))
-		{
-			throw new ReadDeniedException(SecuredItem.Util.triplePermissionMsg(getModelNode()), 
-					new Triple(holder.getBaseItem().asNode(), p,
-									Node.ANY));
+	/**
+	 * 
+	 * @param p
+	 * @throws ReadDeniedException
+	 * @throws AuthenticationRequiredException
+	 */
+	protected void checkReadProperty(final Node p) throws ReadDeniedException,
+			AuthenticationRequiredException {
+		if (!canReadProperty(p)) {
+			throw new ReadDeniedException(
+					SecuredItem.Util.triplePermissionMsg(getModelNode()),
+					new Triple(holder.getBaseItem().asNode(), p, Node.ANY));
 		}
 	}
 
@@ -368,8 +416,7 @@ public class SecuredResourceImpl extends SecuredRDFNodeImpl implements
 	 * @return This resource to permit cascading.
 	 */
 	@Override
-	public SecuredResource commit()
-	{
+	public SecuredResource commit() {
 		holder.getBaseItem().commit();
 		return holder.getSecuredItem();
 	}
@@ -389,10 +436,12 @@ public class SecuredResourceImpl extends SecuredRDFNodeImpl implements
 	 * </p>
 	 * 
 	 * @return A unique id for an anonymous resource.
+	 * @throws ReadDeniedException
+	 * @throws AuthenticationRequiredException
 	 */
 	@Override
-	public AnonId getId()
-	{
+	public AnonId getId() throws ReadDeniedException,
+			AuthenticationRequiredException {
 		checkRead();
 		return holder.getBaseItem().getId();
 
@@ -402,10 +451,12 @@ public class SecuredResourceImpl extends SecuredRDFNodeImpl implements
 	 * Returns the name of this resource within its namespace.
 	 * 
 	 * @return The name of this property within its namespace.
+	 * @throws ReadDeniedException
+	 * @throws AuthenticationRequiredException
 	 */
 	@Override
-	public String getLocalName()
-	{
+	public String getLocalName() throws ReadDeniedException,
+			AuthenticationRequiredException {
 		checkRead();
 		return holder.getBaseItem().getLocalName();
 	}
@@ -414,75 +465,68 @@ public class SecuredResourceImpl extends SecuredRDFNodeImpl implements
 	 * Returns the namespace associated with this resource.
 	 * 
 	 * @return The namespace for this property.
+	 * @throws ReadDeniedException
+	 * @throws AuthenticationRequiredException
 	 */
 	@Override
-	public String getNameSpace()
-	{
+	public String getNameSpace() throws ReadDeniedException,
+			AuthenticationRequiredException {
 		checkRead();
 		return holder.getBaseItem().getNameSpace();
 	}
 
 	/**
 	 * Answer some statement (this, p, O) in the associated securedModel. If
-	 * there are
-	 * several
-	 * such statements, any one of them may be returned. If no such statements
-	 * exist,
-	 * null is returned - in this is differs from getRequiredProperty.
+	 * there are several such statements, any one of them may be returned. If no
+	 * such statements exist, null is returned - in this is differs from
+	 * getRequiredProperty.
 	 * 
 	 * @param p
 	 *            the property sought
 	 * @return a statement (this, p, O), or null if no such statements exist
 	 *         here
+	 * @throws ReadDeniedException
+	 * @throws AuthenticationRequiredException
 	 */
 	@Override
-	public SecuredStatement getProperty( final Property p )
-	{
+	public SecuredStatement getProperty(final Property p)
+			throws ReadDeniedException, AuthenticationRequiredException {
 		checkRead();
 		final ExtendedIterator<Statement> iter = holder.getBaseItem()
 				.listProperties(p)
 				.filterKeep(new PermStatementFilter(Action.Read, this));
-		try
-		{
-			if (iter.hasNext())
-			{
+		try {
+			if (iter.hasNext()) {
 				return org.apache.jena.permissions.model.impl.SecuredStatementImpl
 						.getInstance(getModel(), iter.next());
-			}
-			else
-			{
+			} else {
 				return null;
 			}
-		}
-		finally
-		{
+		} finally {
 			iter.close();
 		}
 	}
 
 	/**
-	 * Answer some resource R for which this.hasProperty( p, R ),
-	 * or null if no such R exists.
+	 * Answer some resource R for which this.hasProperty( p, R ), or null if no
+	 * such R exists.
+	 * 
+	 * @throws AuthenticationRequiredException
 	 */
 	@Override
-	public SecuredResource getPropertyResourceValue( final Property p )
-	{
+	public SecuredResource getPropertyResourceValue(final Property p)
+			throws AuthenticationRequiredException {
 		final SecuredStatementIterator iter = listProperties(p);
-		try
-		{
-			while (iter.hasNext())
-			{
+		try {
+			while (iter.hasNext()) {
 				final Statement s = iter.next();
-				if (s.getObject().isResource())
-				{
+				if (s.getObject().isResource()) {
 					return SecuredResourceImpl.getInstance(getModel(), s
 							.getObject().asResource());
 				}
 			}
 			return null;
-		}
-		finally
-		{
+		} finally {
 			iter.close();
 		}
 	}
@@ -503,55 +547,54 @@ public class SecuredResourceImpl extends SecuredRDFNodeImpl implements
 	 * @return some (this, p, ?O) statement if one exists
 	 * @throws PropertyNotFoundException
 	 *             if no such statement found
+	 * @throws ReadDeniedException
+	 * @throws AuthenticationRequiredException
 	 */
 	@Override
-	public SecuredStatement getRequiredProperty( final Property p )
-			throws PropertyNotFoundException
-	{
+	public SecuredStatement getRequiredProperty(final Property p)
+			throws PropertyNotFoundException, ReadDeniedException,
+			AuthenticationRequiredException {
 		checkRead();
 		final ExtendedIterator<Statement> iter = holder.getBaseItem()
 				.listProperties(p)
 				.filterKeep(new PermStatementFilter(Action.Read, this));
-		try
-		{
-			if (iter.hasNext())
-			{
+		try {
+			if (iter.hasNext()) {
 				return org.apache.jena.permissions.model.impl.SecuredStatementImpl
 						.getInstance(getModel(), iter.next());
-			}
-			else
-			{
+			} else {
 				throw new PropertyNotFoundException(p);
 			}
-		}
-		finally
-		{
+		} finally {
 			iter.close();
 		}
-		// return org.apache.jena.security.model.impl.Factory.getInstance(
-		// this, holder.getBaseItem().getRequiredProperty(p));
 	}
 
 	/**
 	 * Return the URI of the resource, or null if it's a bnode.
 	 * 
 	 * @return The URI of the resource, or null if it's a bnode.
+	 * @throws ReadDeniedException
+	 * @throws AuthenticationRequiredException
 	 */
 	@Override
-	public String getURI()
-	{
+	public String getURI() throws ReadDeniedException,
+			AuthenticationRequiredException {
 		checkRead();
 		return holder.getBaseItem().getURI();
 	}
 
 	/**
-	 * Answer true iff this resource has the value <code>o</code> for
-	 * property <code>p</code>. <code>o</code> is interpreted as
-	 * a typed literal with the appropriate RDF type.
+	 * Answer true iff this resource has the value <code>o</code> for property
+	 * <code>p</code>. <code>o</code> is interpreted as a typed literal with the
+	 * appropriate RDF type.
+	 * 
+	 * @throws ReadDeniedException
+	 * @throws AuthenticationRequiredException
 	 */
 	@Override
-	public boolean hasLiteral( final Property p, final boolean o )
-	{
+	public boolean hasLiteral(final Property p, final boolean o)
+			throws ReadDeniedException, AuthenticationRequiredException {
 		checkRead();
 		checkRead(new Triple(holder.getBaseItem().asNode(), p.asNode(),
 				ResourceFactory.createTypedLiteral(o).asNode()));
@@ -559,13 +602,16 @@ public class SecuredResourceImpl extends SecuredRDFNodeImpl implements
 	}
 
 	/**
-	 * Answer true iff this resource has the value <code>o</code> for
-	 * property <code>p</code>. <code>o</code> is interpreted as
-	 * a typed literal with the appropriate RDF type.
+	 * Answer true iff this resource has the value <code>o</code> for property
+	 * <code>p</code>. <code>o</code> is interpreted as a typed literal with the
+	 * appropriate RDF type.
+	 * 
+	 * @throws ReadDeniedException
+	 * @throws AuthenticationRequiredException
 	 */
 	@Override
-	public boolean hasLiteral( final Property p, final char o )
-	{
+	public boolean hasLiteral(final Property p, final char o)
+			throws ReadDeniedException, AuthenticationRequiredException {
 		checkRead();
 		checkRead(new Triple(holder.getBaseItem().asNode(), p.asNode(),
 				ResourceFactory.createTypedLiteral(o).asNode()));
@@ -573,13 +619,16 @@ public class SecuredResourceImpl extends SecuredRDFNodeImpl implements
 	}
 
 	/**
-	 * Answer true iff this resource has the value <code>o</code> for
-	 * property <code>p</code>. <code>o</code> is interpreted as
-	 * a typed literal with the appropriate RDF type.
+	 * Answer true iff this resource has the value <code>o</code> for property
+	 * <code>p</code>. <code>o</code> is interpreted as a typed literal with the
+	 * appropriate RDF type.
+	 * 
+	 * @throws ReadDeniedException
+	 * @throws AuthenticationRequiredException
 	 */
 	@Override
-	public boolean hasLiteral( final Property p, final double o )
-	{
+	public boolean hasLiteral(final Property p, final double o)
+			throws ReadDeniedException, AuthenticationRequiredException {
 		checkRead();
 		checkRead(new Triple(holder.getBaseItem().asNode(), p.asNode(),
 				ResourceFactory.createTypedLiteral(o).asNode()));
@@ -587,13 +636,16 @@ public class SecuredResourceImpl extends SecuredRDFNodeImpl implements
 	}
 
 	/**
-	 * Answer true iff this resource has the value <code>o</code> for
-	 * property <code>p</code>. <code>o</code> is interpreted as
-	 * a typed literal with the appropriate RDF type.
+	 * Answer true iff this resource has the value <code>o</code> for property
+	 * <code>p</code>. <code>o</code> is interpreted as a typed literal with the
+	 * appropriate RDF type.
+	 * 
+	 * @throws ReadDeniedException
+	 * @throws AuthenticationRequiredException
 	 */
 	@Override
-	public boolean hasLiteral( final Property p, final float o )
-	{
+	public boolean hasLiteral(final Property p, final float o)
+			throws ReadDeniedException, AuthenticationRequiredException {
 		checkRead();
 		checkRead(new Triple(holder.getBaseItem().asNode(), p.asNode(),
 				ResourceFactory.createTypedLiteral(o).asNode()));
@@ -601,13 +653,16 @@ public class SecuredResourceImpl extends SecuredRDFNodeImpl implements
 	}
 
 	/**
-	 * Answer true iff this resource has the value <code>o</code> for
-	 * property <code>p</code>. <code>o</code> is interpreted as
-	 * a typed literal with the appropriate RDF type.
+	 * Answer true iff this resource has the value <code>o</code> for property
+	 * <code>p</code>. <code>o</code> is interpreted as a typed literal with the
+	 * appropriate RDF type.
+	 * 
+	 * @throws ReadDeniedException
+	 * @throws AuthenticationRequiredException
 	 */
 	@Override
-	public boolean hasLiteral( final Property p, final long o )
-	{
+	public boolean hasLiteral(final Property p, final long o)
+			throws ReadDeniedException, AuthenticationRequiredException {
 		checkRead();
 		checkRead(new Triple(holder.getBaseItem().asNode(), p.asNode(),
 				ResourceFactory.createTypedLiteral(o).asNode()));
@@ -615,13 +670,16 @@ public class SecuredResourceImpl extends SecuredRDFNodeImpl implements
 	}
 
 	/**
-	 * Answer true iff this resource has the value <code>o</code> for
-	 * property <code>p</code>. <code>o</code> is interpreted as
-	 * a typed literal with the appropriate RDF type.
+	 * Answer true iff this resource has the value <code>o</code> for property
+	 * <code>p</code>. <code>o</code> is interpreted as a typed literal with the
+	 * appropriate RDF type.
+	 * 
+	 * @throws ReadDeniedException
+	 * @throws AuthenticationRequiredException
 	 */
 	@Override
-	public boolean hasLiteral( final Property p, final Object o )
-	{
+	public boolean hasLiteral(final Property p, final Object o)
+			throws ReadDeniedException, AuthenticationRequiredException {
 		checkRead();
 		checkRead(new Triple(holder.getBaseItem().asNode(), p.asNode(),
 				ResourceFactory.createTypedLiteral(o).asNode()));
@@ -633,22 +691,21 @@ public class SecuredResourceImpl extends SecuredRDFNodeImpl implements
 	 * 
 	 * @param p
 	 *            The property sought.
-	 * @return true if and only if this resource has at least one
-	 *         value for the property.
+	 * @return true if and only if this resource has at least one value for the
+	 *         property.
+	 * @throws ReadDeniedException
+	 * @throws AuthenticationRequiredException
 	 */
 	@Override
-	public boolean hasProperty( final Property p )
-	{
+	public boolean hasProperty(final Property p) throws ReadDeniedException,
+			AuthenticationRequiredException {
 		checkRead();
 		final ExtendedIterator<Statement> iter = holder.getBaseItem()
 				.listProperties(p)
 				.filterKeep(new PermStatementFilter(Action.Read, this));
-		try
-		{
+		try {
 			return iter.hasNext();
-		}
-		finally
-		{
+		} finally {
 			iter.close();
 		}
 	}
@@ -660,22 +717,20 @@ public class SecuredResourceImpl extends SecuredRDFNodeImpl implements
 	 *            The property sought.
 	 * @param o
 	 *            The value of the property sought.
-	 * @return true if and only if this resource has property p with
-	 *         value o.
+	 * @return true if and only if this resource has property p with value o.
+	 * @throws ReadDeniedException
+	 * @throws AuthenticationRequiredException
 	 */
 	@Override
-	public boolean hasProperty( final Property p, final RDFNode o )
-	{
+	public boolean hasProperty(final Property p, final RDFNode o)
+			throws ReadDeniedException, AuthenticationRequiredException {
 		checkRead();
 		final ExtendedIterator<Statement> iter = holder.getBaseItem()
 				.getModel().listStatements(this, p, o)
 				.filterKeep(new PermStatementFilter(Action.Read, this));
-		try
-		{
+		try {
 			return iter.hasNext();
-		}
-		finally
-		{
+		} finally {
 			iter.close();
 		}
 	}
@@ -687,22 +742,20 @@ public class SecuredResourceImpl extends SecuredRDFNodeImpl implements
 	 *            The property sought.
 	 * @param o
 	 *            The value of the property sought.
-	 * @return true if and only if this resource has property p with
-	 *         value o.
+	 * @return true if and only if this resource has property p with value o.
+	 * @throws ReadDeniedException
+	 * @throws AuthenticationRequiredException
 	 */
 	@Override
-	public boolean hasProperty( final Property p, final String o )
-	{
+	public boolean hasProperty(final Property p, final String o)
+			throws ReadDeniedException, AuthenticationRequiredException {
 		checkRead();
 		final ExtendedIterator<Statement> iter = holder.getBaseItem()
 				.getModel().listStatements(this, p, o)
 				.filterKeep(new PermStatementFilter(Action.Read, this));
-		try
-		{
+		try {
 			return iter.hasNext();
-		}
-		finally
-		{
+		} finally {
 			iter.close();
 		}
 	}
@@ -716,41 +769,41 @@ public class SecuredResourceImpl extends SecuredRDFNodeImpl implements
 	 *            The value of the property sought.
 	 * @param l
 	 *            The language of the property sought.
-	 * @return true if and only if this resource has property p with
-	 *         value o.
+	 * @return true if and only if this resource has property p with value o.
+	 * @throws ReadDeniedException
+	 * @throws AuthenticationRequiredException
 	 */
 	@Override
-	public boolean hasProperty( final Property p, final String o, final String l )
-	{
+	public boolean hasProperty(final Property p, final String o, final String l)
+			throws ReadDeniedException, AuthenticationRequiredException {
 		checkRead();
 		final Literal ll = holder.getBaseItem().getModel().createLiteral(o, l);
 		final ExtendedIterator<Statement> iter = holder.getBaseItem()
 				.getModel().listStatements(this, p, ll)
 				.filterKeep(new PermStatementFilter(Action.Read, this));
-		try
-		{
+		try {
 			return iter.hasNext();
-		}
-		finally
-		{
+		} finally {
 			iter.close();
 		}
 	}
 
 	/**
-	 * Answer true iff this Resource is a URI resource with the given URI.
-	 * Using this is preferred to using getURI() and .equals().
+	 * Answer true iff this Resource is a URI resource with the given URI. Using
+	 * this is preferred to using getURI() and .equals().
+	 * 
+	 * @throws ReadDeniedException
+	 * @throws AuthenticationRequiredException
 	 */
 	@Override
-	public boolean hasURI( final String uri )
-	{
+	public boolean hasURI(final String uri) throws ReadDeniedException,
+			AuthenticationRequiredException {
 		checkRead();
 		return holder.getBaseItem().hasURI(uri);
 	}
 
 	@Override
-	public Resource inModel( final Model m )
-	{
+	public Resource inModel(final Model m) {
 		return (Resource) super.inModel(m);
 	}
 
@@ -764,10 +817,12 @@ public class SecuredResourceImpl extends SecuredRDFNodeImpl implements
 	 * </p>
 	 * 
 	 * @return An iterator over all the statements about this object.
+	 * @throws ReadDeniedException
+	 * @throws AuthenticationRequiredException
 	 */
 	@Override
 	public SecuredStatementIterator listProperties()
-	{
+			throws ReadDeniedException, AuthenticationRequiredException {
 		checkRead();
 		return new SecuredStatementIterator(getModel(), holder.getBaseItem()
 				.listProperties());
@@ -784,10 +839,12 @@ public class SecuredResourceImpl extends SecuredRDFNodeImpl implements
 	 * @param p
 	 *            The predicate sought.
 	 * @return An iterator over the statements.
+	 * @throws ReadDeniedException
+	 * @throws AuthenticationRequiredException
 	 */
 	@Override
-	public SecuredStatementIterator listProperties( final Property p )
-	{
+	public SecuredStatementIterator listProperties(final Property p)
+			throws ReadDeniedException, AuthenticationRequiredException {
 		checkRead();
 		return new SecuredStatementIterator(getModel(), holder.getBaseItem()
 				.listProperties(p));
@@ -801,29 +858,25 @@ public class SecuredResourceImpl extends SecuredRDFNodeImpl implements
 	 * @param p
 	 *            the property to remove
 	 * @return this resource, to permit cascading
+	 * @throws ReadDeniedException
+	 * @throws AuthenticationRequiredException
 	 */
 	@Override
-	public SecuredResource removeAll( final Property p )
-	{
+	public SecuredResource removeAll(final Property p)
+			throws ReadDeniedException, AuthenticationRequiredException {
 		checkUpdate();
 		if (!canDelete(new Triple(holder.getBaseItem().asNode(), p.asNode(),
-				Node.ANY)))
-		{
+				Node.ANY))) {
 			final StmtIterator iter = holder.getBaseItem().listProperties(p);
-			try
-			{
-				if (!iter.hasNext())
-				{
+			try {
+				if (!iter.hasNext()) {
 					// thre arn't any to delete -- so return
 					return holder.getSecuredItem();
 				}
-				while (iter.hasNext())
-				{
+				while (iter.hasNext()) {
 					checkDelete(iter.next().asTriple());
 				}
-			}
-			finally
-			{
+			} finally {
 				iter.close();
 			}
 		}
@@ -836,29 +889,25 @@ public class SecuredResourceImpl extends SecuredRDFNodeImpl implements
 	 * securedModel.
 	 * 
 	 * @return This resource to permit cascading.
+	 * @throws ReadDeniedException
+	 * @throws AuthenticationRequiredException
 	 */
 	@Override
-	public SecuredResource removeProperties()
-	{
+	public SecuredResource removeProperties() throws ReadDeniedException,
+			AuthenticationRequiredException {
 		checkUpdate();
 		if (!canDelete(new Triple(holder.getBaseItem().asNode(), Node.ANY,
-				Node.ANY)))
-		{
+				Node.ANY))) {
 			final StmtIterator iter = holder.getBaseItem().listProperties();
-			try
-			{
-				if (!iter.hasNext())
-				{
+			try {
+				if (!iter.hasNext()) {
 					// thre arn't any to delete -- so return
 					return holder.getSecuredItem();
 				}
-				while (iter.hasNext())
-				{
+				while (iter.hasNext()) {
 					checkDelete(iter.next().asTriple());
 				}
-			}
-			finally
-			{
+			} finally {
 				iter.close();
 			}
 		}
@@ -869,22 +918,19 @@ public class SecuredResourceImpl extends SecuredRDFNodeImpl implements
 	/**
 	 * Return a string representation of the resource.
 	 * 
-	 * Returns the URI of the resource unless the resource is anonymous
-	 * in which case it returns the id of the resource enclosed in square
-	 * brackets.
+	 * Returns the URI of the resource unless the resource is anonymous in which
+	 * case it returns the id of the resource enclosed in square brackets.
 	 * 
-	 * @return Return a string representation of the resource.
-	 *         if it is anonymous.
+	 * @return Return a string representation of the resource. if it is
+	 *         anonymous.
 	 */
 	@Override
-	public String toString()
-	{
+	public String toString() {
 		return holder.getBaseItem().toString();
 	}
 
 	@Override
-	public Object visitWith( final RDFVisitor rv )
-	{
+	public Object visitWith(final RDFVisitor rv) {
 		return isAnon() ? rv.visitBlank(this, getId()) : rv.visitURI(this,
 				getURI());
 	}

http://git-wip-us.apache.org/repos/asf/jena/blob/2c0454c6/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredSelector.java
----------------------------------------------------------------------
diff --git a/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredSelector.java b/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredSelector.java
index a6593e8..906a542 100644
--- a/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredSelector.java
+++ b/jena-permissions/src/main/java/org/apache/jena/permissions/model/impl/SecuredSelector.java
@@ -18,63 +18,58 @@
 package org.apache.jena.permissions.model.impl;
 
 import org.apache.jena.permissions.SecuredItem;
-import org.apache.jena.rdf.model.* ;
+import org.apache.jena.rdf.model.*;
+import org.apache.jena.shared.AuthenticationRequiredException;
+import org.apache.jena.shared.ReadDeniedException;
 
-public class SecuredSelector implements Selector
-{
+public class SecuredSelector implements Selector {
 	private final SecuredItem securedItem;
 	private final Selector selector;
 
-	public SecuredSelector( final SecuredItem securedItem )
-	{
+	public SecuredSelector(final SecuredItem securedItem) {
 		this(securedItem, new SimpleSelector());
 	}
 
-	public SecuredSelector( final SecuredItem securedItem,
-			final Selector selector )
-	{
+	public SecuredSelector(final SecuredItem securedItem,
+			final Selector selector) {
 		this.securedItem = securedItem;
 		this.selector = selector;
 	}
 
 	@Override
-	public RDFNode getObject()
-	{
+	public RDFNode getObject() {
 		return selector.getObject();
 	}
 
 	@Override
-	public Property getPredicate()
-	{
+	public Property getPredicate() {
 		return selector.getPredicate();
 	}
 
 	@Override
-	public Resource getSubject()
-	{
+	public Resource getSubject() {
 		return selector.getSubject();
 	}
 
 	@Override
-	public boolean isSimple()
-	{
+	public boolean isSimple() {
 		return selector.isSimple();
 	}
 
 	/**
 	 * This method is designed to be over ridden by subclasses to define
-	 * application
-	 * specific constraints on the statements selected.
+	 * application specific constraints on the statements selected.
 	 * 
 	 * @param s
 	 *            the statement to be tested
 	 * @return true if the statement satisfies the constraint
+	 * @throws ReadDeniedException
+	 * @throws AuthenticationRequiredException
 	 */
 	@Override
-	public boolean test( final Statement s )
-	{
-		if (securedItem.canRead(s))
-		{
+	public boolean test(final Statement s) throws ReadDeniedException,
+			AuthenticationRequiredException {
+		if (securedItem.canRead(s)) {
 			return selector.test(s);
 		}
 		return false;


Mime
View raw message