You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by an...@apache.org on 2008/08/27 17:12:07 UTC
svn commit: r689499 [1/11] - in /jackrabbit/trunk:
jackrabbit-api/src/main/java/org/apache/jackrabbit/api/jsr283/
jackrabbit-api/src/main/java/org/apache/jackrabbit/api/jsr283/retention/
jackrabbit-api/src/main/java/org/apache/jackrabbit/api/jsr283/sec...
Author: angela
Date: Wed Aug 27 08:12:04 2008
New Revision: 689499
URL: http://svn.apache.org/viewvc?rev=689499&view=rev
Log:
JCR-1588: 283 Access Control
Added:
jackrabbit/trunk/jackrabbit-api/src/main/java/org/apache/jackrabbit/api/jsr283/GuestCredentials.java (with props)
jackrabbit/trunk/jackrabbit-api/src/main/java/org/apache/jackrabbit/api/jsr283/retention/
jackrabbit/trunk/jackrabbit-api/src/main/java/org/apache/jackrabbit/api/jsr283/retention/Hold.java (with props)
jackrabbit/trunk/jackrabbit-api/src/main/java/org/apache/jackrabbit/api/jsr283/retention/RetentionManager.java (with props)
jackrabbit/trunk/jackrabbit-api/src/main/java/org/apache/jackrabbit/api/jsr283/retention/RetentionPolicy.java (with props)
jackrabbit/trunk/jackrabbit-api/src/main/java/org/apache/jackrabbit/api/jsr283/security/AccessControlList.java (with props)
jackrabbit/trunk/jackrabbit-api/src/main/java/org/apache/jackrabbit/api/jsr283/security/NamedAccessControlPolicy.java (with props)
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/retention/
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/retention/RetentionManagerImpl.java (with props)
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/AccessControlEntryImpl.java (with props)
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/AccessControlEntryIterator.java (with props)
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/AccessControlUtils.java (with props)
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/JackrabbitAccessControlEntry.java (with props)
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/JackrabbitAccessControlList.java (with props)
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/NamedAccessControlPolicyImpl.java (with props)
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/UnmodifiableAccessControlList.java (with props)
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/principalbased/
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/principalbased/ACLEditor.java (with props)
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/principalbased/ACLProvider.java (with props)
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/principalbased/ACLTemplate.java (with props)
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/principalbased/GlobPattern.java (with props)
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/api/jsr283/retention/
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/api/jsr283/retention/AbstractRetentionTest.java (with props)
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/api/jsr283/security/AccessControlListTest.java (with props)
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/config/SecurityConfigTest.java (with props)
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/authentication/GuestLoginTest.java (with props)
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/authentication/NullLoginTest.java (with props)
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/authentication/TestAll.java (with props)
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/authorization/AbstractACLTemplateTest.java (with props)
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/authorization/AbstractEntryTest.java (with props)
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/authorization/JackrabbitAccessControlListTest.java (with props)
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/authorization/acl/EntryTest.java (with props)
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/authorization/principalbased/
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/authorization/principalbased/ACLTemplateTest.java (with props)
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/authorization/principalbased/EntryTest.java (with props)
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/authorization/principalbased/EvaluationTest.java (with props)
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/authorization/principalbased/GlobPatternTest.java (with props)
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/authorization/principalbased/TestAll.java (with props)
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/user/AdministratorTest.java (with props)
Removed:
jackrabbit/trunk/jackrabbit-api/src/main/java/org/apache/jackrabbit/api/jsr283/security/Hold.java
jackrabbit/trunk/jackrabbit-api/src/main/java/org/apache/jackrabbit/api/jsr283/security/RetentionPolicy.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/AbstractPolicyEntry.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/PolicyEntry.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/PolicyTemplate.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/acl/ACEImpl.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/acl/ACLImpl.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/acl/DefaultACL.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/combined/GlobPattern.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/combined/PolicyEntryImpl.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/combined/PolicyTemplateImpl.java
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/api/jsr283/security/AccessControlEntryTest.java
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/api/jsr283/security/RSessionAccessControlEntryTest.java
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/authorization/AbstractPolicyEntryTest.java
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/authorization/AbstractPolicyTemplateTest.java
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/authorization/EntryTemplateTest.java
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/authorization/PolicyTemplateTest.java
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/authorization/acl/ACEImplTest.java
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/authorization/acl/ACLImplTest.java
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/authorization/combined/GlobPatternTest.java
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/authorization/combined/PolicyEntryImplTest.java
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/authorization/combined/PolicyTemplateImplTest.java
Modified:
jackrabbit/trunk/jackrabbit-api/src/main/java/org/apache/jackrabbit/api/jsr283/security/AccessControlEntry.java
jackrabbit/trunk/jackrabbit-api/src/main/java/org/apache/jackrabbit/api/jsr283/security/AccessControlManager.java
jackrabbit/trunk/jackrabbit-api/src/main/java/org/apache/jackrabbit/api/jsr283/security/AccessControlPolicy.java
jackrabbit/trunk/jackrabbit-api/src/main/java/org/apache/jackrabbit/api/jsr283/security/Privilege.java
jackrabbit/trunk/jackrabbit-api/src/main/java/org/apache/jackrabbit/api/security/principal/PrincipalManager.java
jackrabbit/trunk/jackrabbit-api/src/main/java/org/apache/jackrabbit/api/security/user/Impersonation.java
jackrabbit/trunk/jackrabbit-api/src/main/java/org/apache/jackrabbit/api/security/user/User.java
jackrabbit/trunk/jackrabbit-api/src/main/java/org/apache/jackrabbit/api/security/user/UserManager.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/commons/iterator/AccessControlPolicyIteratorAdapter.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/DefaultSecurityManager.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/ItemManager.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/PropertyImpl.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/SecurityItemModifier.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/SessionImpl.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/SystemSession.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/config/LoginModuleConfig.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/AbstractAccessControlManager.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/CredentialsCallbackHandler.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/DefaultAccessManager.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/JackrabbitAccessControlManager.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authentication/AbstractLoginModule.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authentication/AuthContextProvider.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authentication/CallbackHandlerImpl.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authentication/DefaultLoginModule.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authentication/RepositoryCallback.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/AbstractAccessControlProvider.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/AbstractCompiledPermissions.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/AccessControlConstants.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/AccessControlEditor.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/AccessControlProvider.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/Permission.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/PrivilegeRegistry.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/WorkspaceAccessManager.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/acl/ACLEditor.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/acl/ACLProvider.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/acl/ACLTemplate.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/combined/CombinedEditor.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authorization/combined/CombinedProvider.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/principal/AbstractPrincipalProvider.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/principal/AdminPrincipal.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/principal/DefaultPrincipalProvider.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/principal/PrincipalManagerImpl.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/principal/PrincipalProvider.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/simple/SimpleAccessManager.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/simple/SimpleLoginModule.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/simple/SimpleSecurityManager.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/user/GroupImpl.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/user/ImpersonationImpl.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/user/IndexNodeResolver.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/user/TraversingNodeResolver.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/user/UserAccessControlProvider.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/user/UserImpl.java
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/user/UserManagerImpl.java
jackrabbit/trunk/jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/repository.xml
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/api/jsr283/security/AbstractAccessControlTest.java
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/api/jsr283/security/AccessControlDiscoveryTest.java
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/api/jsr283/security/AccessControlPolicyIteratorTest.java
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/api/jsr283/security/AccessControlPolicyTest.java
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/api/jsr283/security/RSessionAccessControlDiscoveryTest.java
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/api/jsr283/security/RSessionAccessControlPolicyTest.java
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/api/jsr283/security/TestAll.java
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/api/security/principal/PrincipalManagerTest.java
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/api/security/user/AbstractUserTest.java
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/api/security/user/UserManagerTest.java
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/AccessManagerTest.java
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/TestAll.java
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/authorization/AbstractEvaluationTest.java
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/authorization/PrivilegeRegistryTest.java
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/authorization/TestAll.java
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/authorization/acl/ACLTemplateTest.java
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/authorization/acl/EvaluationTest.java
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/authorization/acl/TestAll.java
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/authorization/combined/EvaluationTest.java
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/authorization/combined/TestAll.java
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/principal/DefaultPrincipalProviderTest.java
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/principal/TestAll.java
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/user/GroupAdministratorTest.java
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/user/NodeResolverTest.java
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/user/NotUserAdministratorTest.java
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/user/TestAll.java
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/user/UserAdministratorTest.java
jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/security/user/UserManagerImplTest.java
jackrabbit/trunk/jackrabbit-core/src/test/repository/repository.xml
jackrabbit/trunk/jackrabbit-spi-commons/src/main/java/org/apache/jackrabbit/spi/commons/conversion/NameParser.java
jackrabbit/trunk/jackrabbit-spi-commons/src/test/java/org/apache/jackrabbit/spi/commons/conversion/NameParserTest.java
jackrabbit/trunk/jackrabbit-spi2jcr/src/test/resources/repository.xml
Added: jackrabbit/trunk/jackrabbit-api/src/main/java/org/apache/jackrabbit/api/jsr283/GuestCredentials.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-api/src/main/java/org/apache/jackrabbit/api/jsr283/GuestCredentials.java?rev=689499&view=auto
==============================================================================
--- jackrabbit/trunk/jackrabbit-api/src/main/java/org/apache/jackrabbit/api/jsr283/GuestCredentials.java (added)
+++ jackrabbit/trunk/jackrabbit-api/src/main/java/org/apache/jackrabbit/api/jsr283/GuestCredentials.java Wed Aug 27 08:12:04 2008
@@ -0,0 +1,36 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.jackrabbit.api.jsr283;
+
+import javax.jcr.Credentials;
+
+/**
+ * <code>GuestCredentials</code> implements the <code>Credentials</code>
+ * interface and is used to obtain a "guest", "public" or "anonymous" session.
+ * Note that the characteristics of the session created from the
+ * <code>GuestCredentials</code> remain implementation specific.
+ *
+ * @since JCR 2.0
+ */
+public final class GuestCredentials implements Credentials {
+
+ /**
+ * The constructor creates a new <code>GuestCredentials</code> object.
+ */
+ public GuestCredentials() {
+ }
+}
Propchange: jackrabbit/trunk/jackrabbit-api/src/main/java/org/apache/jackrabbit/api/jsr283/GuestCredentials.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: jackrabbit/trunk/jackrabbit-api/src/main/java/org/apache/jackrabbit/api/jsr283/GuestCredentials.java
------------------------------------------------------------------------------
svn:keywords = author date id revision url
Added: jackrabbit/trunk/jackrabbit-api/src/main/java/org/apache/jackrabbit/api/jsr283/retention/Hold.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-api/src/main/java/org/apache/jackrabbit/api/jsr283/retention/Hold.java?rev=689499&view=auto
==============================================================================
--- jackrabbit/trunk/jackrabbit-api/src/main/java/org/apache/jackrabbit/api/jsr283/retention/Hold.java (added)
+++ jackrabbit/trunk/jackrabbit-api/src/main/java/org/apache/jackrabbit/api/jsr283/retention/Hold.java Wed Aug 27 08:12:04 2008
@@ -0,0 +1,52 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.jackrabbit.api.jsr283.retention;
+
+import javax.jcr.RepositoryException;
+
+/**
+ * <code>Hold</code> represents a hold that can be applied to an existing node
+ * in order to prevent the node from being modified or removed. The format and
+ * interpretation of the name are not specified. They are application-dependent.
+ * <p/>
+ * If {@link #isDeep()} is <code>true</code>, the hold applies to the
+ * node and its entire subtree. Otherwise the hold applies to the node and its
+ * properties only.
+ *
+ * @see RetentionManager#getHolds(String)
+ * @see RetentionManager#addHold(String, String, boolean)
+ * @see RetentionManager#removeHold(String, Hold)
+ * @since JCR 2.0
+ */
+public interface Hold {
+
+ /**
+ * Returns <code>true</code> if this <code>Hold</code> is deep.
+ *
+ * @return <code>true</code> if this <code>Hold</code> is deep.
+ * @throws RepositoryException if an error occurs.
+ */
+ public boolean isDeep() throws RepositoryException;
+
+ /**
+ * Returns the name of this <code>Hold</code>. A JCR name.
+ *
+ * @return the name of this <code>Hold</code>. A JCR name.
+ * @throws RepositoryException if an error occurs.
+ */
+ public String getName() throws RepositoryException;
+}
Propchange: jackrabbit/trunk/jackrabbit-api/src/main/java/org/apache/jackrabbit/api/jsr283/retention/Hold.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: jackrabbit/trunk/jackrabbit-api/src/main/java/org/apache/jackrabbit/api/jsr283/retention/Hold.java
------------------------------------------------------------------------------
svn:keywords = author date id revision url
Added: jackrabbit/trunk/jackrabbit-api/src/main/java/org/apache/jackrabbit/api/jsr283/retention/RetentionManager.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-api/src/main/java/org/apache/jackrabbit/api/jsr283/retention/RetentionManager.java?rev=689499&view=auto
==============================================================================
--- jackrabbit/trunk/jackrabbit-api/src/main/java/org/apache/jackrabbit/api/jsr283/retention/RetentionManager.java (added)
+++ jackrabbit/trunk/jackrabbit-api/src/main/java/org/apache/jackrabbit/api/jsr283/retention/RetentionManager.java Wed Aug 27 08:12:04 2008
@@ -0,0 +1,276 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.jackrabbit.api.jsr283.retention;
+
+import javax.jcr.AccessDeniedException;
+import javax.jcr.PathNotFoundException;
+import javax.jcr.RepositoryException;
+import javax.jcr.lock.LockException;
+import javax.jcr.version.VersionException;
+
+/**
+ * The <code>RetentionManager</code> object is accessed via
+ * {@link javax.jcr.Session#getRetentionManager()}.
+ *
+ * @since JCR 2.0
+ */
+public interface RetentionManager {
+
+ /**
+ * Returns all hold objects that have been added through this API to the
+ * existing node at <code>absPath</code>. If no hold has been set before,
+ * this method returns an empty array.
+ * <p/>
+ * A <code>PathNotFoundException</code> is thrown if no node at
+ * <code>absPath</code> exists or the session does not have privilege to
+ * retrieve the node.
+ * <p/>
+ * An <code>AccessDeniedException</code> is thrown if the current session
+ * does not have sufficient rights to retrieve the holds.
+ * <p/>
+ * A <code>RepositoryException</code> is thrown if another error occurs.
+ *
+ * @param absPath an absolute path.
+ * @return All hold objects that have been added to the existing node at
+ * <code>absPath</code> through this API or an empty array if no
+ * hold has been set.
+ * @throws PathNotFoundException if no node at <code>absPath</code> exists
+ * or the session does not have privilege to
+ * retrieve the node.
+ * @throws AccessDeniedException if the current session does not have
+ * sufficient rights to retrieve the holds.
+ * @throws RepositoryException if another error occurs.
+ */
+ public Hold[] getHolds(String absPath) throws PathNotFoundException,
+ AccessDeniedException, RepositoryException;
+
+ /**
+ * Places a hold on the existing node at <code>absPath</code>. If
+ * <code>isDeep</code> is <code>true</code>) the hold applies to this node
+ * and its subtree. The hold does not take effect until a <code>save</code>
+ * is performed. A node may have more than one hold.
+ * <p/>
+ * The format and interpretation of the <code>name</code> are not specified.
+ * They are application-dependent.
+ * <p/>
+ * A <code>PathNotFoundException</code> is thrown if no node at
+ * <code>absPath</code> exists or the session does not have privilege to
+ * retrieve the node.
+ * <p/>
+ * An <code>AccessDeniedException</code> is thrown if the current session
+ * does not have sufficient rights to perform the operation.
+ * <p/>
+ * An <code>LockException</code> is thrown if the node at <code>absPath</code>
+ * is locked and this implementation performs this validation immediately
+ * instead of waiting until <code>save</code>.
+ * <p/>
+ * An <code>VersionException</code> is thrown if the node at <code>absPath</code>
+ * is versionable and checked-in or is non-versionable but its nearest
+ * versionable ancestor is checked-in and this implementation performs this
+ * validation immediately instead of waiting until <code>save</code>.
+ * <p/>
+ * A <code>RepositoryException</code> is thrown if another error occurs.
+ *
+ * @param absPath an absolute path.
+ * @param name an application-dependent string.
+ * @param isDeep a boolean indicating if the hold applies to the subtree.
+ * @return The <code>Hold</code> applied.
+ * @throws PathNotFoundException if no node at <code>absPath</code> exists
+ * or the session does not have privilege to
+ * retrieve the node.
+ * @throws AccessDeniedException if the current session does not have
+ * sufficient rights to perform the operation.
+ * @throws LockException if a lock applies at the node at
+ * <code>absPath</code> and this implementation
+ * performs this validation immediately instead
+ * of waiting until <code>save</code>.
+ * @throws VersionException if the node at <code>absPath</code> is
+ * versionable and checked-in or is non-versionable
+ * but its nearest versionable ancestor is
+ * checked-in and this implementation performs
+ * this validation immediately instead of
+ * waiting until <code>save</code>.
+ * @throws RepositoryException if another error occurs.
+ */
+ public Hold addHold(String absPath, String name, boolean isDeep)
+ throws PathNotFoundException, AccessDeniedException,
+ LockException, VersionException, RepositoryException;
+
+ /**
+ * Removes the specified <code>hold</code> from the node at
+ * <code>absPath</code>. The removal does not take effect until a
+ * <code>save</code> is performed.
+ * <p/>
+ * A <code>PathNotFoundException</code> is thrown if no node at
+ * <code>absPath</code> exists or the session does not have privilege to
+ * retrieve the node.
+ * <p/>
+ * An <code>AccessDeniedException</code> is thrown if the current session
+ * does not have sufficient rights to perform the operation.
+ * <p/>
+ * An <code>LockException</code> is thrown if the node at <code>absPath</code>
+ * is locked and this implementation performs this validation immediately
+ * instead of waiting until <code>save</code>.
+ * <p/>
+ * An <code>VersionException</code> is thrown if the node at <code>absPath</code>
+ * is versionable and checked-in or is non-versionable but its nearest
+ * versionable ancestor is checked-in and this implementation performs this
+ * validation immediately instead of waiting until <code>save</code>.
+ * <p/>
+ * A <code>RepositoryException</code> is thrown if another error occurs.
+ *
+ * @param absPath an absolute path.
+ * @param hold the hold to be removed.
+ * @throws PathNotFoundException if no node at <code>absPath</code> exists
+ * or the session does not have privilege to
+ * retrieve the node.
+ * @throws AccessDeniedException if the current session does not have
+ * sufficient rights to perform the operation.
+ * @throws LockException if a lock applies at the node at
+ * <code>absPath</code> and this implementation
+ * performs this validation immediately instead
+ * of waiting until <code>save</code>.
+ * @throws VersionException if the node at <code>absPath</code> is
+ * versionable and checked-in or is non-versionable
+ * but its nearest versionable ancestor is
+ * checked-in and this implementation performs
+ * this validation immediately instead of
+ * waiting until <code>save</code>.
+ * @throws RepositoryException if another error occurs.
+ */
+ public void removeHold(String absPath, Hold hold)
+ throws PathNotFoundException, AccessDeniedException, LockException,
+ VersionException, RepositoryException;
+
+ /**
+ * Returns the retention policy that has been set using {@link #setRetentionPolicy}
+ * on the node at <code>absPath</code> or <code>null</code> if no policy has been set.
+ * <p/>
+ * A <code>PathNotFoundException</code> is thrown if no node at
+ * <code>absPath</code> exists or the session does not have privilege to
+ * retrieve the node.
+ * <p/>
+ * An <code>AccessDeniedException</code> is thrown if the current session
+ * does not have sufficient rights to retrieve the retention policy.
+ * <p/>
+ * A <code>RepositoryException</code> is thrown if another error occurs.
+ *
+ * @param absPath an absolute path to an existing node.
+ * @return The retention policy that applies to the existing node at
+ * <code>absPath</code> or <code>null</code> if no policy applies.
+ * @throws PathNotFoundException if no node at <code>absPath</code> exists
+ * or the session does not have privilege to
+ * retrieve the node.
+ * @throws AccessDeniedException if the current session does not have
+ * sufficient rights to retrieve the policy.
+ * @throws RepositoryException if another error occurs.
+ */
+ public RetentionPolicy getRetentionPolicy(String absPath)
+ throws PathNotFoundException, AccessDeniedException, RepositoryException;
+
+ /**
+ * Sets the retention policy of the node at <code>absPath</code> to
+ * that defined in the specified policy node. Interpretation and enforcement
+ * of this policy is an implementation issue. In any case the policy does
+ * does not take effect until a <code>save</code> is performed.
+ * <p/>
+ * A <code>PathNotFoundException</code> is thrown if no node at
+ * <code>absPath</code> exists or the session does not have privilege to
+ * retrieve the node.
+ * <p/>
+ * An <code>AccessDeniedException</code> is thrown if the current session
+ * does not have sufficient rights to perform the operation.
+ * <p/>
+ * An <code>LockException</code> is thrown if the node at <code>absPath</code>
+ * is locked and this implementation performs this validation immediately
+ * instead of waiting until <code>save</code>.
+ * <p/>
+ * An <code>VersionException</code> is thrown if the node at <code>absPath</code>
+ * is versionable and checked-in or is non-versionable but its nearest
+ * versionable ancestor is checked-in and this implementation performs this
+ * validation immediately instead of waiting until <code>save</code>.
+ * <p/>
+ * A <code>RepositoryException</code> is thrown if another error occurs.
+ *
+ * @param absPath an absolute path to an existing node.
+ * @param retentionPolicy a retention policy.
+ * @throws PathNotFoundException if no node at <code>absPath</code> exists
+ * or the session does not have privilege to
+ * retrieve the node.
+ * @throws AccessDeniedException if the current session does not have
+ * sufficient rights to perform the operation.
+ * @throws LockException if a lock applies at the node at
+ * <code>absPath</code> and this implementation
+ * performs this validation immediately instead
+ * of waiting until <code>save</code>.
+ * @throws VersionException if the node at <code>absPath</code> is
+ * versionable and checked-in or is non-versionable
+ * but its nearest versionable ancestor is
+ * checked-in and this implementation performs
+ * this validation immediately instead of
+ * waiting until <code>save</code>.
+ * @throws RepositoryException if another error occurs.
+ */
+ public void setRetentionPolicy(String absPath, RetentionPolicy retentionPolicy)
+ throws PathNotFoundException, AccessDeniedException, LockException,
+ VersionException, RepositoryException;
+
+ /**
+ * Causes the current retention policy on the node at
+ * <code>absPath</code> to no longer apply. The removal does not take effect
+ * until a <code>save</code> is performed.
+ * <p/>
+ * A <code>PathNotFoundException</code> is thrown if no node at
+ * <code>absPath</code> exists or the session does not have privilege to
+ * retrieve the node.
+ * <p/>
+ * An <code>AccessDeniedException</code> is thrown if the current session
+ * does not have sufficient rights to perform the operation.
+ * <p/>
+ * An <code>LockException</code> is thrown if the node at <code>absPath</code>
+ * is locked and this implementation performs this validation immediately
+ * instead of waiting until <code>save</code>.
+ * <p/>
+ * An <code>VersionException</code> is thrown if the node at <code>absPath</code>
+ * is versionable and checked-in or is non-versionable but its nearest
+ * versionable ancestor is checked-in and this implementation performs this
+ * validation immediately instead of waiting until <code>save</code>.
+ * <p/>
+ * A <code>RepositoryException</code> is thrown if another error occurs.
+ *
+ * @param absPath an absolute path to an existing node.
+ * @throws PathNotFoundException if no node at <code>absPath</code> exists
+ * or the session does not have privilege to
+ * retrieve the node.
+ * @throws AccessDeniedException if the current session does not have
+ * sufficient rights to perform the operation.
+ * @throws LockException if a lock applies at the node at
+ * <code>absPath</code> and this implementation
+ * performs this validation immediately instead
+ * of waiting until <code>save</code>.
+ * @throws VersionException if the node at <code>absPath</code> is
+ * versionable and checked-in or is non-versionable
+ * but its nearest versionable ancestor is
+ * checked-in and this implementation performs
+ * this validation immediately instead of
+ * waiting until <code>save</code>.
+ * @throws RepositoryException if another error occurs.
+ */
+ public void removeRetentionPolicy(String absPath)
+ throws PathNotFoundException, AccessDeniedException,
+ LockException, VersionException, RepositoryException;
+}
Propchange: jackrabbit/trunk/jackrabbit-api/src/main/java/org/apache/jackrabbit/api/jsr283/retention/RetentionManager.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: jackrabbit/trunk/jackrabbit-api/src/main/java/org/apache/jackrabbit/api/jsr283/retention/RetentionManager.java
------------------------------------------------------------------------------
svn:keywords = author date id revision url
Added: jackrabbit/trunk/jackrabbit-api/src/main/java/org/apache/jackrabbit/api/jsr283/retention/RetentionPolicy.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-api/src/main/java/org/apache/jackrabbit/api/jsr283/retention/RetentionPolicy.java?rev=689499&view=auto
==============================================================================
--- jackrabbit/trunk/jackrabbit-api/src/main/java/org/apache/jackrabbit/api/jsr283/retention/RetentionPolicy.java (added)
+++ jackrabbit/trunk/jackrabbit-api/src/main/java/org/apache/jackrabbit/api/jsr283/retention/RetentionPolicy.java Wed Aug 27 08:12:04 2008
@@ -0,0 +1,39 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.jackrabbit.api.jsr283.retention;
+
+import javax.jcr.RepositoryException;
+
+/**
+ * An <code>RetentionPolicy</code> is an object with a name and an optional
+ * description.
+ *
+ * @see RetentionManager#getRetentionPolicy(String)
+ * @see RetentionManager#setRetentionPolicy(String, RetentionPolicy)
+ * @see RetentionManager#removeRetentionPolicy(String)
+ * @since JCR 2.0
+ */
+public interface RetentionPolicy {
+ /**
+ * Returns the name of the retention policy. A JCR name.
+ *
+ * @return the name of the access control policy. A JCR name.
+ * @throws RepositoryException if an error occurs.
+ */
+ public String getName() throws RepositoryException;
+
+}
Propchange: jackrabbit/trunk/jackrabbit-api/src/main/java/org/apache/jackrabbit/api/jsr283/retention/RetentionPolicy.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: jackrabbit/trunk/jackrabbit-api/src/main/java/org/apache/jackrabbit/api/jsr283/retention/RetentionPolicy.java
------------------------------------------------------------------------------
svn:keywords = author date id revision url
Modified: jackrabbit/trunk/jackrabbit-api/src/main/java/org/apache/jackrabbit/api/jsr283/security/AccessControlEntry.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-api/src/main/java/org/apache/jackrabbit/api/jsr283/security/AccessControlEntry.java?rev=689499&r1=689498&r2=689499&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-api/src/main/java/org/apache/jackrabbit/api/jsr283/security/AccessControlEntry.java (original)
+++ jackrabbit/trunk/jackrabbit-api/src/main/java/org/apache/jackrabbit/api/jsr283/security/AccessControlEntry.java Wed Aug 27 08:12:04 2008
@@ -25,6 +25,7 @@
* @since JCR 2.0
*/
public interface AccessControlEntry {
+
/**
* Returns the principal associated with this access control entry.
* @return a <code>Principal</code>.
Added: jackrabbit/trunk/jackrabbit-api/src/main/java/org/apache/jackrabbit/api/jsr283/security/AccessControlList.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-api/src/main/java/org/apache/jackrabbit/api/jsr283/security/AccessControlList.java?rev=689499&view=auto
==============================================================================
--- jackrabbit/trunk/jackrabbit-api/src/main/java/org/apache/jackrabbit/api/jsr283/security/AccessControlList.java (added)
+++ jackrabbit/trunk/jackrabbit-api/src/main/java/org/apache/jackrabbit/api/jsr283/security/AccessControlList.java Wed Aug 27 08:12:04 2008
@@ -0,0 +1,104 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.jackrabbit.api.jsr283.security;
+
+import javax.jcr.RepositoryException;
+import java.security.Principal;
+
+/**
+ * The <code>AccessControlList</code> is an <code>AccessControlPolicy</code>
+ * representing a list of {@link AccessControlEntry access control entries}.
+ * It is mutable before being {@link AccessControlManager#setPolicy(String, AccessControlPolicy) set}
+ * to the AccessControlManager and consequently defines methods to read and
+ * mutate the list i.e. to get, add or remove individual entries.
+ *
+ * @since JCR 2.0
+ */
+public interface AccessControlList extends AccessControlPolicy {
+
+ /**
+ * Returns all access control entries present with this policy.
+ * <p/>
+ * This method is only guaranteed to return an <code>AccessControlEntry</code>
+ * if that <code>AccessControlEntry</code> has been assigned <i>through this
+ * API</i>.
+ * <p/>
+ * A <code>RepositoryException</code> is thrown if an error occurs.
+ *
+ * @return all access control entries present with this policy.
+ * @throws RepositoryException if an error occurs.
+ */
+ public AccessControlEntry[] getAccessControlEntries() throws RepositoryException;
+
+ /**
+ * Adds an access control entry to this policy consisting of the specified
+ * <code>principal</code> and the specified <code>privileges</code>.
+ * <p/>
+ * This method returns <code>true</code> if this policy was modified,
+ * <code>false</code> otherwise.
+ * <p/>
+ * How the entries are grouped within the list is an implementation detail.
+ * An implementation may e.g. combine the specified privileges with those
+ * added by a previous call to <code>addAccessControlEntry</code> for the
+ * same <code>Principal</code>. However, a call to
+ * <code>addAccessControlEntry</code> for a given <code>Principal</code> can
+ * never remove a <code>Privilege</code> added by a previous call.
+ * <p/>
+ * The modification does not take effect until this policy has been
+ * set to a node by calling {@link AccessControlManager#setPolicy(String, AccessControlPolicy)}
+ * and <code>save</code> is performed.
+ * <p/>
+ * An <code>AccessControlException</code> is thrown if the specified principal
+ * or any of the privileges does not exist or if some other access control
+ * related exception occurs.
+ * <p/>
+ * A <code>RepositoryException</code> is thrown if another error occurs.
+ *
+ * @param principal a <code>Principal</code>.
+ * @param privileges an array of <code>Privilege</code>s.
+ * @return <code>true</code> if this policy was modify; <code>false</code>
+ * otherwise.
+ * @throws AccessControlException if the specified principal or any of the
+ * privileges does not existor if some other
+ * access control related exception occurs.
+ * @throws RepositoryException if another error occurs.
+ */
+ public boolean addAccessControlEntry(Principal principal, Privilege[] privileges)
+ throws AccessControlException, RepositoryException;
+
+ /**
+ * Removes the specified <code>AccessControlEntry</code> from this policy.
+ * <p/>
+ * Only exactly those entries obtained through
+ * <code>getAccessControlEntries<code> can be removed. This method does
+ * not take effect until this policy has been re-set to a node by calling
+ * {@link AccessControlManager#setPolicy(String, AccessControlPolicy)}
+ * and <code>save</code> is performed.
+ * <p/>
+ * An <code>AccessControlException</code> is thrown if the specified entry
+ * is not present on this policy.
+ * <p/>
+ * A <code>RepositoryException</code> is thrown if another error occurs.
+ *
+ * @param ace the access control entry to be removed.
+ * @throws AccessControlException if the specified entry is not
+ * present on the specified node.
+ * @throws RepositoryException if another error occurs.
+ */
+ public void removeAccessControlEntry(AccessControlEntry ace)
+ throws AccessControlException, RepositoryException;
+}
Propchange: jackrabbit/trunk/jackrabbit-api/src/main/java/org/apache/jackrabbit/api/jsr283/security/AccessControlList.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: jackrabbit/trunk/jackrabbit-api/src/main/java/org/apache/jackrabbit/api/jsr283/security/AccessControlList.java
------------------------------------------------------------------------------
svn:keywords = author date id revision url