Index: jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/bundle/util/BundleBinding.java =================================================================== *** jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/bundle/util/BundleBinding.java (revision 923523) --- jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/bundle/util/BundleBinding.java (working copy) *************** *** 119,125 **** PropertyId pId = new PropertyId(bundle.getId(), name); // skip redundant primaryType, mixinTypes and uuid properties if (name.equals(NameConstants.JCR_PRIMARYTYPE) - || name.equals(NameConstants.JCR_MIXINTYPES) || name.equals(NameConstants.JCR_UUID)) { readPropertyEntry(in, pId); name = readIndexedQName(in); --- 119,124 ---- *************** *** 290,296 **** Name pName = (Name) iter.next(); // skip redundant primaryType, mixinTypes and uuid properties if (pName.equals(NameConstants.JCR_PRIMARYTYPE) - || pName.equals(NameConstants.JCR_MIXINTYPES) || pName.equals(NameConstants.JCR_UUID)) { continue; } --- 289,294 ---- Index: jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/bundle/AbstractBundlePersistenceManager.java =================================================================== *** jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/bundle/AbstractBundlePersistenceManager.java (revision 923523) --- jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/bundle/AbstractBundlePersistenceManager.java (working copy) *************** *** 116,124 **** /** definition id of the jcr:primaryType property */ private PropDefId idJcrPrimaryType; - /** definition id of the jcr:mixinTypes property */ - private PropDefId idJcrMixinTypes; - /** the persistence manager context */ protected PMContext context; --- 116,121 ---- *************** *** 415,422 **** .getId(); idJcrPrimaryType = context.getNodeTypeRegistry().getEffectiveNodeType(NameConstants.NT_BASE).getApplicablePropertyDef( NameConstants.JCR_PRIMARYTYPE, PropertyType.NAME, false).getId(); - idJcrMixinTypes = context.getNodeTypeRegistry().getEffectiveNodeType(NameConstants.NT_BASE).getApplicablePropertyDef( - NameConstants.JCR_MIXINTYPES, PropertyType.NAME, true).getId(); } } --- 412,417 ---- *************** *** 471,483 **** state.setDefinitionId(idJcrPrimaryType); state.setMultiValued(false); state.setValues(new InternalValue[]{InternalValue.create(bundle.getNodeTypeName())}); - } else if (id.getName().equals(NameConstants.JCR_MIXINTYPES)) { - Set mixins = bundle.getMixinTypeNames(); - state = createNew(id); - state.setType(PropertyType.NAME); - state.setDefinitionId(idJcrMixinTypes); - state.setMultiValued(true); - state.setValues(InternalValue.create((Name[]) mixins.toArray(new Name[mixins.size()]))); } else { throw new NoSuchItemStateException(id.toString()); } --- 466,471 ---- *************** *** 594,600 **** PropertyId id = (PropertyId) state.getId(); // skip redundant primaryType, mixinTypes and uuid properties if (id.getName().equals(NameConstants.JCR_PRIMARYTYPE) - || id.getName().equals(NameConstants.JCR_MIXINTYPES) || id.getName().equals(NameConstants.JCR_UUID)) { continue; } --- 582,587 ---- *************** *** 646,652 **** PropertyId id = (PropertyId) state.getId(); // skip primaryType pr mixinTypes properties if (id.getName().equals(NameConstants.JCR_PRIMARYTYPE) - || id.getName().equals(NameConstants.JCR_MIXINTYPES) || id.getName().equals(NameConstants.JCR_UUID)) { continue; } --- 633,638 ---- 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 923523) --- jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/SharedItemStateManager.java (working copy) *************** *** 193,210 **** ItemStateCacheFactory cacheFactory, ISMLocking locking) throws ItemStateException { - cache = new ItemStateReferenceCache(cacheFactory); this.persistMgr = persistMgr; this.ntReg = ntReg; this.usesReferences = usesReferences; this.rootNodeId = rootNodeId; this.ismLocking = locking; // create root node state if it doesn't yet exist if (!hasNonVirtualItemState(rootNodeId)) { createRootNodeState(rootNodeId, ntReg); } } /** * Enables or disables the referential integrity checking, this * should be used very carefully by experienced developers only. --- 193,214 ---- ItemStateCacheFactory cacheFactory, ISMLocking locking) throws ItemStateException { this.persistMgr = persistMgr; this.ntReg = ntReg; this.usesReferences = usesReferences; this.rootNodeId = rootNodeId; this.ismLocking = locking; + cache = initializeItemStateCache(cacheFactory); // create root node state if it doesn't yet exist if (!hasNonVirtualItemState(rootNodeId)) { createRootNodeState(rootNodeId, ntReg); } } + protected ItemStateCache initializeItemStateCache(ItemStateCacheFactory cacheFactory) { + return new ItemStateReferenceCache(cacheFactory); + } + /** * Enables or disables the referential integrity checking, this * should be used very carefully by experienced developers only. Index: jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/LocalItemStateManager.java =================================================================== *** jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/LocalItemStateManager.java (revision 923523) --- jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/LocalItemStateManager.java (working copy) *************** *** 69,77 **** */ protected LocalItemStateManager(SharedItemStateManager sharedStateMgr, EventStateCollectionFactory factory, ItemStateCacheFactory cacheFactory) { - cache = new ItemStateReferenceCache(cacheFactory); this.sharedStateMgr = sharedStateMgr; this.factory = factory; } /** --- 69,81 ---- */ protected LocalItemStateManager(SharedItemStateManager sharedStateMgr, EventStateCollectionFactory factory, ItemStateCacheFactory cacheFactory) { this.sharedStateMgr = sharedStateMgr; this.factory = factory; + cache = initializeItemStateCache(cacheFactory); + } + + protected ItemStateCache initializeItemStateCache(ItemStateCacheFactory cacheFactory) { + return new ItemStateReferenceCache(cacheFactory); } /** Index: jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authentication/LocalAuthContext.java =================================================================== *** jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authentication/LocalAuthContext.java (revision 923523) --- jackrabbit-core/src/main/java/org/apache/jackrabbit/core/security/authentication/LocalAuthContext.java (working copy) *************** *** 26,31 **** --- 26,32 ---- import javax.security.auth.login.FailedLoginException; import javax.security.auth.login.LoginException; import javax.security.auth.spi.LoginModule; + import java.util.Map; import java.util.HashMap; /** *************** *** 67,73 **** } catch (ConfigurationException e) { throw new LoginException(e.getMessage()); } ! module.initialize(subject, cbHandler, new HashMap(), config.getParameters()); try { if (!(module.login() && module.commit())) { throw new FailedLoginException("LoginModule ignored Credentials"); --- 68,76 ---- } catch (ConfigurationException e) { throw new LoginException(e.getMessage()); } ! Map auxParamMap = new HashMap(); ! auxParamMap.putAll(config.getParameters()); ! module.initialize(subject, cbHandler, new HashMap(), auxParamMap); try { if (!(module.login() && module.commit())) { throw new FailedLoginException("LoginModule ignored Credentials");