You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by md...@apache.org on 2012/04/13 12:53:47 UTC
svn commit: r1325715 - in
/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/security:
principal/ privileges/ user/
Author: mduerig
Date: Fri Apr 13 10:53:47 2012
New Revision: 1325715
URL: http://svn.apache.org/viewvc?rev=1325715&view=rev
Log:
OAK-64 : Privilege Management (WIP)
minor cleanup:
- typos
- reduced usage of raw types
- removed redundant exceptions from implementation classes
- used @code instead of <code></code>
Modified:
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/security/principal/PrincipalIteratorAdapter.java
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/security/privileges/PrivilegeManagerImpl.java
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/security/privileges/diff.txt
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/security/user/AuthorizableImpl.java
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/security/user/AuthorizableNodeCreator.java
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/security/user/ImpersonationImpl.java
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/security/user/PasswordUtility.java
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/security/user/UserManagerConfig.java
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/security/user/UserManagerImpl.java
Modified: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/security/principal/PrincipalIteratorAdapter.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/security/principal/PrincipalIteratorAdapter.java?rev=1325715&r1=1325714&r2=1325715&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/security/principal/PrincipalIteratorAdapter.java (original)
+++ jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/security/principal/PrincipalIteratorAdapter.java Fri Apr 13 10:53:47 2012
@@ -20,6 +20,7 @@ import org.apache.jackrabbit.api.securit
import org.apache.jackrabbit.commons.iterator.RangeIteratorAdapter;
import org.apache.jackrabbit.commons.iterator.RangeIteratorDecorator;
+import javax.jcr.RangeIterator;
import java.security.Principal;
import java.util.Collection;
import java.util.Iterator;
@@ -38,6 +39,14 @@ public class PrincipalIteratorAdapter ex
*/
public static final PrincipalIteratorAdapter EMPTY = new PrincipalIteratorAdapter(RangeIteratorAdapter.EMPTY);
+ /**
+ * Creates an adapter for the given {@link javax.jcr.RangeIterator}.
+ *
+ * @param iterator iterator of {@link java.security.Principal}s
+ */
+ public PrincipalIteratorAdapter(RangeIterator iterator) {
+ super(iterator);
+ }
/**
* Creates an adapter for the given {@link java.util.Iterator} of principals.
@@ -49,7 +58,7 @@ public class PrincipalIteratorAdapter ex
}
/**
- * Creates an iterator for the given collection of <code>Principal</code>s.
+ * Creates an iterator for the given collection of {@code Principal}s.
*
* @param collection collection of {@link Principal} objects.
*/
@@ -64,6 +73,7 @@ public class PrincipalIteratorAdapter ex
* @return next policy.
* @throws java.util.NoSuchElementException if there is no next policy.
*/
+ @Override
public Principal nextPrincipal() throws NoSuchElementException {
return (Principal) next();
}
Modified: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/security/privileges/PrivilegeManagerImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/security/privileges/PrivilegeManagerImpl.java?rev=1325715&r1=1325714&r2=1325715&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/security/privileges/PrivilegeManagerImpl.java (original)
+++ jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/security/privileges/PrivilegeManagerImpl.java Fri Apr 13 10:53:47 2012
@@ -19,10 +19,10 @@ package org.apache.jackrabbit.oak.jcr.se
import org.apache.jackrabbit.api.security.authorization.PrivilegeManager;
import org.apache.jackrabbit.oak.jcr.NodeImpl;
import org.apache.jackrabbit.oak.jcr.SessionContext;
+import org.apache.jackrabbit.oak.jcr.SessionImpl;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.jcr.AccessDeniedException;
import javax.jcr.Node;
import javax.jcr.NodeIterator;
import javax.jcr.RepositoryException;
@@ -55,9 +55,9 @@ public class PrivilegeManagerImpl implem
private static final String REP_IS_ABSTRACT = "rep:isAbstract";
private static final String REP_CONTAINS = "rep:contains";
- private final SessionContext sessionContext;
+ private final SessionContext<SessionImpl> sessionContext;
- public PrivilegeManagerImpl(SessionContext sessionContext) throws RepositoryException {
+ public PrivilegeManagerImpl(SessionContext<SessionImpl> sessionContext) {
this.sessionContext = sessionContext;
// TODO: add additional validation ??
}
@@ -77,7 +77,7 @@ public class PrivilegeManagerImpl implem
}
@Override
- public Privilege getPrivilege(String privilegeName) throws AccessControlException, RepositoryException {
+ public Privilege getPrivilege(String privilegeName) throws RepositoryException {
NodeImpl privilegeRoot = getPrivilegeRoot();
if (privilegeRoot.hasNode(privilegeName)) {
return getPrivilege(privilegeRoot.getNode(privilegeName), new HashMap<String, Privilege>(1));
@@ -89,7 +89,7 @@ public class PrivilegeManagerImpl implem
@Override
public Privilege registerPrivilege(String privilegeName, boolean isAbstract,
String[] declaredAggregateNames)
- throws AccessDeniedException, RepositoryException {
+ throws RepositoryException {
// TODO
return null;
@@ -153,7 +153,7 @@ public class PrivilegeManagerImpl implem
@Override
public boolean isAggregate() {
- return declaredAggregateNames.size() > 0;
+ return !declaredAggregateNames.isEmpty();
}
@Override
Modified: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/security/privileges/diff.txt
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/security/privileges/diff.txt?rev=1325715&r1=1325714&r2=1325715&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/security/privileges/diff.txt (original)
+++ jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/security/privileges/diff.txt Fri Apr 13 10:53:47 2012
@@ -10,7 +10,7 @@ TODO:
================================================================================
- PrivilegeManager#registerPrivilege
- missing implementataion (still struggling with oak-api. what we need here
+ missing implementation (still struggling with oak-api. what we need here
was the ability to add multiple items at once without the jcr-layer being able
to retrieve those items before they are being persisted)....
Modified: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/security/user/AuthorizableImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/security/user/AuthorizableImpl.java?rev=1325715&r1=1325714&r2=1325715&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/security/user/AuthorizableImpl.java (original)
+++ jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/security/user/AuthorizableImpl.java Fri Apr 13 10:53:47 2012
@@ -30,7 +30,6 @@ import javax.jcr.Property;
import javax.jcr.PropertyIterator;
import javax.jcr.RepositoryException;
import javax.jcr.Session;
-import javax.jcr.UnsupportedRepositoryOperationException;
import javax.jcr.Value;
import javax.jcr.nodetype.NodeType;
import javax.jcr.nodetype.PropertyDefinition;
@@ -193,7 +192,7 @@ abstract class AuthorizableImpl implemen
}
@Override
- public String getPath() throws UnsupportedRepositoryOperationException, RepositoryException {
+ public String getPath() throws RepositoryException {
return node.getPath();
}
Modified: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/security/user/AuthorizableNodeCreator.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/security/user/AuthorizableNodeCreator.java?rev=1325715&r1=1325714&r2=1325715&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/security/user/AuthorizableNodeCreator.java (original)
+++ jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/security/user/AuthorizableNodeCreator.java Fri Apr 13 10:53:47 2012
@@ -18,6 +18,7 @@ package org.apache.jackrabbit.oak.jcr.se
import org.apache.jackrabbit.oak.jcr.NodeImpl;
import org.apache.jackrabbit.oak.jcr.SessionContext;
+import org.apache.jackrabbit.oak.jcr.SessionImpl;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -31,7 +32,7 @@ class AuthorizableNodeCreator {
*/
private static final Logger log = LoggerFactory.getLogger(AuthorizableNodeCreator.class);
- AuthorizableNodeCreator(SessionContext sessionContext) {
+ AuthorizableNodeCreator(SessionContext<SessionImpl> sessionContext) {
// TODO
}
Modified: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/security/user/ImpersonationImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/security/user/ImpersonationImpl.java?rev=1325715&r1=1325714&r2=1325715&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/security/user/ImpersonationImpl.java (original)
+++ jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/security/user/ImpersonationImpl.java Fri Apr 13 10:53:47 2012
@@ -50,7 +50,7 @@ public class ImpersonationImpl implement
private final UserImpl user;
- ImpersonationImpl(UserImpl user) throws RepositoryException {
+ ImpersonationImpl(UserImpl user) {
this.user = user;
}
Modified: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/security/user/PasswordUtility.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/security/user/PasswordUtility.java?rev=1325715&r1=1325714&r2=1325715&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/security/user/PasswordUtility.java (original)
+++ jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/security/user/PasswordUtility.java Fri Apr 13 10:53:47 2012
@@ -37,9 +37,9 @@ public class PasswordUtility {
public static final int DEFAULT_ITERATIONS = 10000;
/**
- * Avoid instanciation
+ * Avoid instantiation
*/
- private PasswordUtility() {};
+ private PasswordUtility() {}
public static boolean isSame(String passwordHash, String toTest) {
// TODO
Modified: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/security/user/UserManagerConfig.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/security/user/UserManagerConfig.java?rev=1325715&r1=1325714&r2=1325715&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/security/user/UserManagerConfig.java (original)
+++ jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/security/user/UserManagerConfig.java Fri Apr 13 10:53:47 2012
@@ -91,7 +91,7 @@ public class UserManagerConfig {
} else {
str = configProperty.getString();
}
- Class targetClass = (defaultValue == null) ? String.class : defaultValue.getClass();
+ Class<?> targetClass = (defaultValue == null) ? String.class : defaultValue.getClass();
try {
if (targetClass == String.class) {
value = (T) str;
Modified: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/security/user/UserManagerImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/security/user/UserManagerImpl.java?rev=1325715&r1=1325714&r2=1325715&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/security/user/UserManagerImpl.java (original)
+++ jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/security/user/UserManagerImpl.java Fri Apr 13 10:53:47 2012
@@ -18,7 +18,6 @@ package org.apache.jackrabbit.oak.jcr.se
import org.apache.jackrabbit.api.security.principal.ItemBasedPrincipal;
import org.apache.jackrabbit.api.security.user.Authorizable;
-import org.apache.jackrabbit.api.security.user.AuthorizableExistsException;
import org.apache.jackrabbit.api.security.user.Group;
import org.apache.jackrabbit.api.security.user.Query;
import org.apache.jackrabbit.api.security.user.User;
@@ -26,6 +25,7 @@ import org.apache.jackrabbit.api.securit
import org.apache.jackrabbit.oak.api.Scalar;
import org.apache.jackrabbit.oak.jcr.NodeImpl;
import org.apache.jackrabbit.oak.jcr.SessionContext;
+import org.apache.jackrabbit.oak.jcr.SessionImpl;
import org.apache.jackrabbit.oak.jcr.util.ValueConverter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -52,11 +52,11 @@ public class UserManagerImpl implements
*/
private static final Logger log = LoggerFactory.getLogger(UserManagerImpl.class);
- private final SessionContext sessionContext;
+ private final SessionContext<SessionImpl> sessionContext;
private final UserManagerConfig config;
private final AuthorizableNodeCreator nodeCreator;
- public UserManagerImpl(SessionContext sessionContext, UserManagerConfig config) {
+ public UserManagerImpl(SessionContext<SessionImpl> sessionContext, UserManagerConfig config) {
this.sessionContext = sessionContext;
this.config = config;
nodeCreator = new AuthorizableNodeCreator(sessionContext);
@@ -109,7 +109,7 @@ public class UserManagerImpl implements
}
@Override
- public Authorizable getAuthorizableByPath(String path) throws UnsupportedRepositoryOperationException, RepositoryException {
+ public Authorizable getAuthorizableByPath(String path) throws RepositoryException {
// TODO
return null;
}
@@ -133,7 +133,7 @@ public class UserManagerImpl implements
}
@Override
- public User createUser(final String userID, String password) throws AuthorizableExistsException, RepositoryException {
+ public User createUser(final String userID, String password) throws RepositoryException {
Principal principal = new Principal() {
@Override
public String getName() {
@@ -144,10 +144,10 @@ public class UserManagerImpl implements
}
@Override
- public User createUser(String userID, String password, Principal principal, String intermediatePath) throws AuthorizableExistsException, RepositoryException {
+ public User createUser(String userID, String password, Principal principal, String intermediatePath) throws RepositoryException {
checkValidID(userID);
- NodeImpl userNode = (NodeImpl) nodeCreator.createUserNode(userID, intermediatePath);
+ NodeImpl userNode = nodeCreator.createUserNode(userID, intermediatePath);
setPrincipal(userNode, principal);
setPassword(userNode, password, true);
@@ -159,7 +159,7 @@ public class UserManagerImpl implements
}
@Override
- public Group createGroup(final String groupID) throws AuthorizableExistsException, RepositoryException {
+ public Group createGroup(final String groupID) throws RepositoryException {
Principal principal = new Principal() {
@Override
public String getName() {
@@ -170,21 +170,21 @@ public class UserManagerImpl implements
}
@Override
- public Group createGroup(Principal principal) throws AuthorizableExistsException, RepositoryException {
+ public Group createGroup(Principal principal) throws RepositoryException {
return createGroup(principal, null);
}
@Override
- public Group createGroup(Principal principal, String intermediatePath) throws AuthorizableExistsException, RepositoryException {
+ public Group createGroup(Principal principal, String intermediatePath) throws RepositoryException {
String groupID = buildGroupID(principal.getName());
return createGroup(groupID, principal, intermediatePath);
}
@Override
- public Group createGroup(String groupID, Principal principal, String intermediatePath) throws AuthorizableExistsException, RepositoryException {
+ public Group createGroup(String groupID, Principal principal, String intermediatePath) throws RepositoryException {
checkValidID(groupID);
- NodeImpl groupNode = (NodeImpl) nodeCreator.createGroupNode(groupID, intermediatePath);
+ NodeImpl groupNode = nodeCreator.createGroupNode(groupID, intermediatePath);
setPrincipal(groupNode, principal);
Group group = new GroupImpl(groupNode, this);
@@ -213,14 +213,14 @@ public class UserManagerImpl implements
* @see UserManager#autoSave(boolean)
*/
@Override
- public void autoSave(boolean enable) throws UnsupportedRepositoryOperationException, RepositoryException {
+ public void autoSave(boolean enable) throws RepositoryException {
throw new UnsupportedRepositoryOperationException("Session#save() is always required.");
}
//--------------------------------------------------------------------------
/**
- * Let the configured <code>AuthorizableAction</code>s perform additional
+ * Let the configured {@code AuthorizableAction}s perform additional
* tasks associated with the creation of the new user before the
* corresponding new node is persisted.
*
@@ -233,7 +233,7 @@ public class UserManagerImpl implements
}
/**
- * Let the configured <code>AuthorizableAction</code>s perform additional
+ * Let the configured {@code AuthorizableAction}s perform additional
* tasks associated with the creation of the new group before the
* corresponding new node is persisted.
*
@@ -245,7 +245,7 @@ public class UserManagerImpl implements
}
/**
- * Let the configured <code>AuthorizableAction</code>s perform any clean
+ * Let the configured {@code AuthorizableAction}s perform any clean
* up tasks related to the authorizable removal (before the corresponding
* node gets removed).
*
@@ -257,7 +257,7 @@ public class UserManagerImpl implements
}
/**
- * Let the configured <code>AuthorizableAction</code>s perform additional
+ * Let the configured {@code AuthorizableAction}s perform additional
* tasks associated with password changing of a given user before the
* corresponding property is being changed.
*
@@ -328,8 +328,8 @@ public class UserManagerImpl implements
void setInternalProperty(NodeImpl userNode, String name, String[] values, int type) throws RepositoryException {
// TODO: check again if this really makes a transient modification with marking the property modified/new
List<Scalar> scalarList = new ArrayList<Scalar>(values.length);
- for (int i = 0; i < values.length; i++) {
- scalarList.add(ValueConverter.toScalar(values[i], PropertyType.STRING));
+ for (String value : values) {
+ scalarList.add(ValueConverter.toScalar(value, PropertyType.STRING));
}
userNode.getEditor().setProperty(name, scalarList);
}