Index: jackrabbit.patch =================================================================== *** jackrabbit.patch (revision 24926) --- jackrabbit.patch (working copy) *************** *** 75,80 **** --- 75,93 ---- } /** + *************** + *** 246,251 **** + --- 250,259 ---- + return editMode; + } + + + public void forceEditMode() { + + editMode = true; + + } + + + /** + * {@inheritDoc} + */ Index: jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/SharedItemStateManager.java =================================================================== *** jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/SharedItemStateManager.java (revision 1032558) *************** *** 208,214 **** jackrabbit-core Jackrabbit Core ! + 2.1.2-h1 Jackrabbit content repository implementation + --- 221,227 ---- jackrabbit-core Jackrabbit Core ! + 2.1.2-h2 Jackrabbit content repository implementation + *************** *** 259,265 **** org.apache.jackrabbit jackrabbit-core ! ! 2.1.2-h1 test --- 272,278 ---- org.apache.jackrabbit jackrabbit-core ! ! 2.1.2-h2 test *************** *** 280,286 **** org.apache.jackrabbit jackrabbit-core ! ! 2.1.2-h1 test --- 293,299 ---- org.apache.jackrabbit jackrabbit-core ! ! 2.1.2-h2 test *************** *** 301,307 **** org.apache.jackrabbit jackrabbit-core ! ! 2.1.2-h1 org.slf4j --- 314,320 ---- org.apache.jackrabbit jackrabbit-core ! ! 2.1.2-h2 org.slf4j *************** *** 322,328 **** org.apache.jackrabbit jackrabbit-core ! ! 2.1.2-h1 true --- 335,341 ---- org.apache.jackrabbit jackrabbit-core ! ! 2.1.2-h2 true *************** *** 343,349 **** org.apache.jackrabbit jackrabbit-core ! ! 2.1.2-h1 test --- 356,362 ---- org.apache.jackrabbit jackrabbit-core ! ! 2.1.2-h2 test *************** *** 364,370 **** org.apache.jackrabbit jackrabbit-core ! ! 2.1.2-h1 test --- 377,383 ---- org.apache.jackrabbit jackrabbit-core ! ! 2.1.2-h2 test *************** *** 385,391 **** org.apache.jackrabbit jackrabbit-core ! ! 2.1.2-h1 org.apache.jackrabbit --- 398,404 ---- org.apache.jackrabbit jackrabbit-core ! ! 2.1.2-h2 org.apache.jackrabbit Index: engine/src/main/java/org/hippoecm/repository/jackrabbit/HippoLocalItemStateManager.java =================================================================== *** engine/src/main/java/org/hippoecm/repository/jackrabbit/HippoLocalItemStateManager.java (revision 24926) --- engine/src/main/java/org/hippoecm/repository/jackrabbit/HippoLocalItemStateManager.java (working copy) *************** *** 253,259 **** public void update() throws ReferentialIntegrityException, StaleItemStateException, ItemStateException, IllegalStateException { super.update(); ! edit(); FilteredChangeLog tempChangeLog = filteredChangeLog; filteredChangeLog = null; parameterizedView = false; --- 253,259 ---- public void update() throws ReferentialIntegrityException, StaleItemStateException, ItemStateException, IllegalStateException { super.update(); ! forceEditMode(); FilteredChangeLog tempChangeLog = filteredChangeLog; filteredChangeLog = null; parameterizedView = false; *************** *** 294,300 **** return state; if (id instanceof HippoNodeId) { if (!virtualNodes.containsKey((NodeId)id)) { ! edit(); NodeState nodeState = (NodeState)state; if (isEnabled()) { nodeState = ((HippoNodeId)id).populate(currentContext, nodeState); --- 294,300 ---- return state; if (id instanceof HippoNodeId) { if (!virtualNodes.containsKey((NodeId)id)) { ! forceEditMode(); NodeState nodeState = (NodeState)state; if (isEnabled()) { nodeState = ((HippoNodeId)id).populate(currentContext, nodeState); *************** *** 317,323 **** NodeState nodeState = (NodeState)state; Name nodeTypeName = nodeState.getNodeTypeName(); if (virtualNodeNames.containsKey(nodeTypeName) && !virtualStates.contains(state)) { ! edit(); int type = isVirtual(nodeState); if ((type & ITEM_TYPE_EXTERNAL) != 0) { nodeState.removeAllChildNodeEntries(); --- 317,323 ---- NodeState nodeState = (NodeState)state; Name nodeTypeName = nodeState.getNodeTypeName(); if (virtualNodeNames.containsKey(nodeTypeName) && !virtualStates.contains(state)) { ! forceEditMode(); int type = isVirtual(nodeState); if ((type & ITEM_TYPE_EXTERNAL) != 0) { nodeState.removeAllChildNodeEntries(); *************** *** 385,391 **** if(virtualNodes.containsKey(id)) { state = (NodeState) virtualNodes.get(id); } else if(state == null && id instanceof HippoNodeId) { ! edit(); NodeState nodeState; if (isEnabled()) { nodeState = ((HippoNodeId)id).populate(currentContext); --- 385,391 ---- if(virtualNodes.containsKey(id)) { state = (NodeState) virtualNodes.get(id); } else if(state == null && id instanceof HippoNodeId) { ! forceEditMode(); NodeState nodeState; if (isEnabled()) { nodeState = ((HippoNodeId)id).populate(currentContext);