Return-Path: Delivered-To: apmail-jackrabbit-commits-archive@www.apache.org Received: (qmail 16990 invoked from network); 8 Sep 2010 09:56:49 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 8 Sep 2010 09:56:49 -0000 Received: (qmail 14604 invoked by uid 500); 8 Sep 2010 09:56:49 -0000 Delivered-To: apmail-jackrabbit-commits-archive@jackrabbit.apache.org Received: (qmail 14515 invoked by uid 500); 8 Sep 2010 09:56:47 -0000 Mailing-List: contact commits-help@jackrabbit.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@jackrabbit.apache.org Delivered-To: mailing list commits@jackrabbit.apache.org Received: (qmail 14507 invoked by uid 99); 8 Sep 2010 09:56:47 -0000 Received: from Unknown (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 08 Sep 2010 09:56:47 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 08 Sep 2010 09:56:27 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 04AA52388A60; Wed, 8 Sep 2010 09:56:06 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r994954 - in /jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core: ./ security/user/ session/ Date: Wed, 08 Sep 2010 09:56:05 -0000 To: commits@jackrabbit.apache.org From: jukka@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20100908095606.04AA52388A60@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: jukka Date: Wed Sep 8 09:56:05 2010 New Revision: 994954 URL: http://svn.apache.org/viewvc?rev=994954&view=rev Log: JCR-2741: Improved logging for session operations Add a marker interface for write operations Added: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/session/SessionWriteOperation.java (with props) Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/AddMixinOperation.java jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/ItemRemoveOperation.java jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/ItemSaveOperation.java jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/NodeImpl.java jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/RemoveMixinOperation.java jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/SessionMoveOperation.java jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/VersionManagerImpl.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/UserImporter.java jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/session/AddNodeOperation.java jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/session/SessionSaveOperation.java Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/AddMixinOperation.java URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/AddMixinOperation.java?rev=994954&r1=994953&r2=994954&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/AddMixinOperation.java (original) +++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/AddMixinOperation.java Wed Sep 8 09:56:05 2010 @@ -38,7 +38,7 @@ import org.apache.jackrabbit.core.nodety import org.apache.jackrabbit.core.nodetype.NodeTypeRegistry; import org.apache.jackrabbit.core.security.authorization.Permission; import org.apache.jackrabbit.core.session.SessionContext; -import org.apache.jackrabbit.core.session.SessionOperation; +import org.apache.jackrabbit.core.session.SessionWriteOperation; import org.apache.jackrabbit.core.state.NodeState; import org.apache.jackrabbit.spi.Name; import org.apache.jackrabbit.spi.commons.nodetype.NodeDefinitionImpl; @@ -47,7 +47,7 @@ import org.apache.jackrabbit.spi.commons /** * Session operation for adding a mixin type to a node. */ -class AddMixinOperation implements SessionOperation { +class AddMixinOperation implements SessionWriteOperation { private final NodeImpl node; Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/ItemRemoveOperation.java URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/ItemRemoveOperation.java?rev=994954&r1=994953&r2=994954&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/ItemRemoveOperation.java (original) +++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/ItemRemoveOperation.java Wed Sep 8 09:56:05 2010 @@ -27,14 +27,14 @@ import javax.jcr.RepositoryException; import org.apache.jackrabbit.core.id.NodeId; import org.apache.jackrabbit.core.security.authorization.Permission; import org.apache.jackrabbit.core.session.SessionContext; -import org.apache.jackrabbit.core.session.SessionOperation; +import org.apache.jackrabbit.core.session.SessionWriteOperation; import org.apache.jackrabbit.spi.Path; /** * Session operation for removing a given item, optionally with constraint * checks enabled. */ -class ItemRemoveOperation implements SessionOperation { +class ItemRemoveOperation implements SessionWriteOperation { /** * The item to be removed. Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/ItemSaveOperation.java URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/ItemSaveOperation.java?rev=994954&r1=994953&r2=994954&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/ItemSaveOperation.java (original) +++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/ItemSaveOperation.java Wed Sep 8 09:56:05 2010 @@ -49,7 +49,7 @@ import org.apache.jackrabbit.core.nodety import org.apache.jackrabbit.core.security.AccessManager; import org.apache.jackrabbit.core.security.authorization.Permission; import org.apache.jackrabbit.core.session.SessionContext; -import org.apache.jackrabbit.core.session.SessionOperation; +import org.apache.jackrabbit.core.session.SessionWriteOperation; import org.apache.jackrabbit.core.state.ChildNodeEntry; import org.apache.jackrabbit.core.state.ItemState; import org.apache.jackrabbit.core.state.ItemStateException; @@ -66,13 +66,13 @@ import org.apache.jackrabbit.spi.QItemDe import org.apache.jackrabbit.spi.QPropertyDefinition; import org.apache.jackrabbit.spi.commons.name.NameConstants; import org.apache.jackrabbit.util.Text; -import org.slf4j.LoggerFactory; import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * The session operation triggered by {@link Item#save()}. */ -class ItemSaveOperation implements SessionOperation { +class ItemSaveOperation implements SessionWriteOperation { /** * Logger instance. Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/NodeImpl.java URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/NodeImpl.java?rev=994954&r1=994953&r2=994954&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/NodeImpl.java (original) +++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/NodeImpl.java Wed Sep 8 09:56:05 2010 @@ -16,6 +16,13 @@ */ package org.apache.jackrabbit.core; +import static javax.jcr.PropertyType.STRING; +import static org.apache.jackrabbit.spi.commons.name.NameConstants.JCR_CURRENT_LIFECYCLE_STATE; +import static org.apache.jackrabbit.spi.commons.name.NameConstants.JCR_ISCHECKEDOUT; +import static org.apache.jackrabbit.spi.commons.name.NameConstants.JCR_LIFECYCLE_POLICY; +import static org.apache.jackrabbit.spi.commons.name.NameConstants.MIX_LIFECYCLE; +import static org.apache.jackrabbit.spi.commons.name.NameConstants.MIX_REFERENCEABLE; + import java.io.InputStream; import java.math.BigDecimal; import java.util.ArrayList; @@ -82,6 +89,7 @@ import org.apache.jackrabbit.core.securi import org.apache.jackrabbit.core.session.AddNodeOperation; import org.apache.jackrabbit.core.session.SessionContext; import org.apache.jackrabbit.core.session.SessionOperation; +import org.apache.jackrabbit.core.session.SessionWriteOperation; import org.apache.jackrabbit.core.state.ChildNodeEntry; import org.apache.jackrabbit.core.state.ItemState; import org.apache.jackrabbit.core.state.ItemStateException; @@ -97,9 +105,6 @@ import org.apache.jackrabbit.spi.QProper import org.apache.jackrabbit.spi.commons.conversion.MalformedPathException; import org.apache.jackrabbit.spi.commons.conversion.NameException; import org.apache.jackrabbit.spi.commons.name.NameConstants; - -import static javax.jcr.PropertyType.STRING; -import static org.apache.jackrabbit.spi.commons.name.NameConstants.*; import org.apache.jackrabbit.spi.commons.name.PathBuilder; import org.apache.jackrabbit.spi.commons.name.PathFactoryImpl; import org.apache.jackrabbit.spi.commons.nodetype.NodeDefinitionImpl; @@ -1913,7 +1918,7 @@ public class NodeImpl extends ItemImpl i * definition and the implementation tries to convert the passed value to * that type. If that fails, then a {@link ValueFormatException} is thrown. */ - private class SetPropertyOperation implements SessionOperation { + private class SetPropertyOperation implements SessionWriteOperation { private final Name name; Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/RemoveMixinOperation.java URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/RemoveMixinOperation.java?rev=994954&r1=994953&r2=994954&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/RemoveMixinOperation.java (original) +++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/RemoveMixinOperation.java Wed Sep 8 09:56:05 2010 @@ -45,7 +45,7 @@ import org.apache.jackrabbit.core.nodety import org.apache.jackrabbit.core.nodetype.NodeTypeRegistry; import org.apache.jackrabbit.core.security.authorization.Permission; import org.apache.jackrabbit.core.session.SessionContext; -import org.apache.jackrabbit.core.session.SessionOperation; +import org.apache.jackrabbit.core.session.SessionWriteOperation; import org.apache.jackrabbit.core.state.ChildNodeEntry; import org.apache.jackrabbit.core.state.ItemStateException; import org.apache.jackrabbit.core.state.NodeState; @@ -60,7 +60,7 @@ import org.apache.jackrabbit.value.Value /** * Session operation for removing a mixin type from a node. */ -class RemoveMixinOperation implements SessionOperation { +class RemoveMixinOperation implements SessionWriteOperation { private final NodeImpl node; Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/SessionMoveOperation.java URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/SessionMoveOperation.java?rev=994954&r1=994953&r2=994954&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/SessionMoveOperation.java (original) +++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/SessionMoveOperation.java Wed Sep 8 09:56:05 2010 @@ -28,7 +28,7 @@ import org.apache.jackrabbit.core.nodety import org.apache.jackrabbit.core.security.AccessManager; import org.apache.jackrabbit.core.security.authorization.Permission; import org.apache.jackrabbit.core.session.SessionContext; -import org.apache.jackrabbit.core.session.SessionOperation; +import org.apache.jackrabbit.core.session.SessionWriteOperation; import org.apache.jackrabbit.core.state.NodeState; import org.apache.jackrabbit.spi.Path; import org.apache.jackrabbit.spi.commons.conversion.NameException; @@ -36,7 +36,7 @@ import org.apache.jackrabbit.spi.commons import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class SessionMoveOperation implements SessionOperation { +public class SessionMoveOperation implements SessionWriteOperation { private final Logger log = LoggerFactory.getLogger(SessionMoveOperation.class); Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/VersionManagerImpl.java URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/VersionManagerImpl.java?rev=994954&r1=994953&r2=994954&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/VersionManagerImpl.java (original) +++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/VersionManagerImpl.java Wed Sep 8 09:56:05 2010 @@ -44,17 +44,18 @@ import org.apache.jackrabbit.core.id.Nod import org.apache.jackrabbit.core.security.authorization.Permission; import org.apache.jackrabbit.core.session.SessionContext; import org.apache.jackrabbit.core.session.SessionOperation; +import org.apache.jackrabbit.core.session.SessionWriteOperation; import org.apache.jackrabbit.core.state.ItemStateException; import org.apache.jackrabbit.core.state.NodeState; import org.apache.jackrabbit.core.state.UpdatableItemStateManager; import org.apache.jackrabbit.core.version.InternalActivity; +import org.apache.jackrabbit.core.version.InternalBaseline; import org.apache.jackrabbit.core.version.InternalVersion; import org.apache.jackrabbit.core.version.InternalVersionHistory; import org.apache.jackrabbit.core.version.NodeStateEx; import org.apache.jackrabbit.core.version.VersionImpl; import org.apache.jackrabbit.core.version.VersionManagerImplConfig; import org.apache.jackrabbit.core.version.VersionSet; -import org.apache.jackrabbit.core.version.InternalBaseline; import org.apache.jackrabbit.spi.Name; import org.apache.jackrabbit.spi.Path; import org.apache.jackrabbit.spi.commons.name.NameConstants; @@ -110,7 +111,7 @@ public class VersionManagerImpl extends */ public Version checkin(final String absPath, final Calendar created) throws RepositoryException { - return perform(new SessionOperation () { + return perform(new SessionWriteOperation () { public Version perform(SessionContext context) throws RepositoryException { NodeStateEx state = getNodeState( @@ -127,7 +128,7 @@ public class VersionManagerImpl extends * {@inheritDoc} */ public void checkout(final String absPath) throws RepositoryException { - perform(new SessionOperation () { + perform(new SessionWriteOperation () { public NodeId perform(SessionContext context) throws RepositoryException { NodeStateEx state = getNodeState( @@ -143,7 +144,7 @@ public class VersionManagerImpl extends * {@inheritDoc} */ public Version checkpoint(final String absPath) throws RepositoryException { - return perform(new SessionOperation () { + return perform(new SessionWriteOperation () { public Version perform(SessionContext context) throws RepositoryException { NodeStateEx state = getNodeState( @@ -202,7 +203,7 @@ public class VersionManagerImpl extends */ public void restore(final Version[] versions, final boolean removeExisting) throws RepositoryException { - perform(new SessionOperation () { + perform(new SessionWriteOperation () { public Object perform(SessionContext context) throws RepositoryException { // check for pending changes @@ -248,7 +249,7 @@ public class VersionManagerImpl extends public void restore( final String absPath, final String versionName, final boolean removeExisting) throws RepositoryException { - perform(new SessionOperation () { + perform(new SessionWriteOperation () { public Object perform(SessionContext context) throws RepositoryException { NodeStateEx state = getNodeState( @@ -267,7 +268,7 @@ public class VersionManagerImpl extends public void restore( final String absPath, final Version version, final boolean removeExisting) throws RepositoryException { - perform(new SessionOperation () { + perform(new SessionWriteOperation () { public Object perform(SessionContext context) throws RepositoryException { // first check if node exists @@ -327,7 +328,7 @@ public class VersionManagerImpl extends public void restoreByLabel( final String absPath, final String versionLabel, final boolean removeExisting) throws RepositoryException { - perform(new SessionOperation () { + perform(new SessionWriteOperation () { public Object perform(SessionContext context) throws RepositoryException { NodeStateEx state = getNodeState( @@ -371,7 +372,7 @@ public class VersionManagerImpl extends final String absPath, final String srcWorkspaceName, final boolean bestEffort, final boolean isShallow) throws RepositoryException { - return perform(new SessionOperation () { + return perform(new SessionWriteOperation () { public NodeIterator perform(SessionContext context) throws RepositoryException { NodeStateEx state = getNodeState( Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/user/GroupImpl.java URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/user/GroupImpl.java?rev=994954&r1=994953&r2=994954&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/user/GroupImpl.java (original) +++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/user/GroupImpl.java Wed Sep 8 09:56:05 2010 @@ -16,6 +16,28 @@ */ package org.apache.jackrabbit.core.security.user; +import java.io.IOException; +import java.io.ObjectOutputStream; +import java.security.Principal; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.Comparator; +import java.util.Enumeration; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.NoSuchElementException; +import java.util.Set; + +import javax.jcr.ItemNotFoundException; +import javax.jcr.Node; +import javax.jcr.Property; +import javax.jcr.PropertyType; +import javax.jcr.RepositoryException; +import javax.jcr.Value; + import org.apache.jackrabbit.api.security.user.Authorizable; import org.apache.jackrabbit.api.security.user.Group; import org.apache.jackrabbit.api.security.user.UserManager; @@ -29,33 +51,12 @@ import org.apache.jackrabbit.core.NodeIm import org.apache.jackrabbit.core.PropertyImpl; import org.apache.jackrabbit.core.session.SessionContext; import org.apache.jackrabbit.core.session.SessionOperation; +import org.apache.jackrabbit.core.session.SessionWriteOperation; import org.apache.jackrabbit.spi.commons.iterator.Iterators; import org.apache.jackrabbit.util.Text; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.jcr.ItemNotFoundException; -import javax.jcr.Node; -import javax.jcr.Property; -import javax.jcr.PropertyType; -import javax.jcr.RepositoryException; -import javax.jcr.Value; - -import java.io.IOException; -import java.io.ObjectOutputStream; -import java.security.Principal; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.Collections; -import java.util.Comparator; -import java.util.Enumeration; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.NoSuchElementException; -import java.util.Set; - /** * GroupImpl... */ @@ -424,7 +425,7 @@ class GroupImpl extends AuthorizableImpl } public boolean addMember(final AuthorizableImpl authorizable) throws RepositoryException { - return userManager.performProtectedOperation(getSession(), new SessionOperation() { + return userManager.performProtectedOperation(getSession(), new SessionWriteOperation() { public Boolean perform(SessionContext context) throws RepositoryException { NodeImpl nMembers = (node.hasNode(N_MEMBERS) ? node.getNode(N_MEMBERS) @@ -465,7 +466,7 @@ class GroupImpl extends AuthorizableImpl return false; } - return userManager.performProtectedOperation(getSession(), new SessionOperation() { + return userManager.performProtectedOperation(getSession(), new SessionWriteOperation() { public Boolean perform(SessionContext context) throws RepositoryException { NodeImpl nMembers = node.getNode(N_MEMBERS); try { Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/user/UserImporter.java URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/user/UserImporter.java?rev=994954&r1=994953&r2=994954&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/user/UserImporter.java (original) +++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/user/UserImporter.java Wed Sep 8 09:56:05 2010 @@ -16,6 +16,21 @@ */ package org.apache.jackrabbit.core.security.user; +import java.security.Principal; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; + +import javax.jcr.ImportUUIDBehavior; +import javax.jcr.PropertyType; +import javax.jcr.RepositoryException; +import javax.jcr.Value; +import javax.jcr.nodetype.ConstraintViolationException; + import org.apache.jackrabbit.api.JackrabbitSession; import org.apache.jackrabbit.api.security.principal.PrincipalIterator; import org.apache.jackrabbit.api.security.user.Authorizable; @@ -30,7 +45,7 @@ import org.apache.jackrabbit.core.id.Nod import org.apache.jackrabbit.core.security.principal.PrincipalImpl; import org.apache.jackrabbit.core.security.user.UserImporter.ImportBehavior; import org.apache.jackrabbit.core.session.SessionContext; -import org.apache.jackrabbit.core.session.SessionOperation; +import org.apache.jackrabbit.core.session.SessionWriteOperation; import org.apache.jackrabbit.core.state.NodeState; import org.apache.jackrabbit.core.util.ReferenceChangeTracker; import org.apache.jackrabbit.core.xml.NodeInfo; @@ -43,21 +58,6 @@ import org.apache.jackrabbit.spi.commons import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.jcr.ImportUUIDBehavior; -import javax.jcr.PropertyType; -import javax.jcr.RepositoryException; -import javax.jcr.Value; -import javax.jcr.nodetype.ConstraintViolationException; - -import java.security.Principal; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.Iterator; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; - /** * UserImporter implements a * DefaultProtectedPropertyImporter that is able to deal with @@ -396,7 +396,7 @@ public class UserImporter implements Pro final NodeImpl groupNode = ((AuthorizableImpl) gr).getNode(); if (userManager.getGroupMembershipSplitSize() > 0) { - userManager.performProtectedOperation((SessionImpl) session, new SessionOperation() { + userManager.performProtectedOperation((SessionImpl) session, new SessionWriteOperation() { public Boolean perform(SessionContext context) throws RepositoryException { NodeImpl nMembers = (groupNode.hasNode(UserConstants.N_MEMBERS) ? groupNode.getNode(UserConstants.N_MEMBERS) Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/session/AddNodeOperation.java URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/session/AddNodeOperation.java?rev=994954&r1=994953&r2=994954&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/session/AddNodeOperation.java (original) +++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/session/AddNodeOperation.java Wed Sep 8 09:56:05 2010 @@ -34,7 +34,7 @@ import org.apache.jackrabbit.spi.commons /** * Session operation for adding a new node. */ -public class AddNodeOperation implements SessionOperation { +public class AddNodeOperation implements SessionWriteOperation { private final NodeImpl node; Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/session/SessionSaveOperation.java URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/session/SessionSaveOperation.java?rev=994954&r1=994953&r2=994954&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/session/SessionSaveOperation.java (original) +++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/session/SessionSaveOperation.java Wed Sep 8 09:56:05 2010 @@ -24,7 +24,7 @@ import org.apache.jackrabbit.core.id.Nod /** * Operation to persist transient changes in a session. */ -public class SessionSaveOperation implements SessionOperation { +public class SessionSaveOperation implements SessionWriteOperation { /** * Persists transient changes by delegating to the save() method of the Added: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/session/SessionWriteOperation.java URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/session/SessionWriteOperation.java?rev=994954&view=auto ============================================================================== --- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/session/SessionWriteOperation.java (added) +++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/session/SessionWriteOperation.java Wed Sep 8 09:56:05 2010 @@ -0,0 +1,24 @@ +/* + * 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.core.session; + +/** + * Marker interface that marks a {@link SessionOperation} that modifies + * the state of the session or the repository. + */ +public interface SessionWriteOperation extends SessionOperation { +} Propchange: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/session/SessionWriteOperation.java ------------------------------------------------------------------------------ svn:eol-style = native