Author: rhauch
Date: 2009-03-23 22:51:24 -0400 (Mon, 23 Mar 2009)
New Revision: 791
Modified:
trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/AbstractJcrNodeTypeSource.java
trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/DnaBuiltinNodeTypeSource.java
trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/JcrBuiltinNodeTypeSource.java
trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/JcrNodeTypeManager.java
trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/JcrNodeTypeSource.java
trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/RepositoryNodeTypeManager.java
trunk/dna-jcr/src/test/java/org/jboss/dna/jcr/JcrPropertyDefinitionTest.java
trunk/dna-jcr/src/test/java/org/jboss/dna/jcr/SessionCacheTest.java
Log:
DNA-335 DNA's NodeTypeManager implementation does not allow multiple definitions with
the same name
Applied the patch ("DNA-335_clean_type_source") that simplifies
RepositoryTypeManager's internal type handling by combining the primaryNodeTypes and
mixinNodeTypes into a single map under the assumption that lookups of types by name (which
must check primary and mixin types) will be the most common option and retrieval of all
primary or mixin types will be relatively rare.
This also allows for a simplification of the JcrNodeTypeSource hierarchy.
Modified: trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/AbstractJcrNodeTypeSource.java
===================================================================
---
trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/AbstractJcrNodeTypeSource.java 2009-03-24
02:34:43 UTC (rev 790)
+++
trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/AbstractJcrNodeTypeSource.java 2009-03-24
02:51:24 UTC (rev 791)
@@ -71,67 +71,38 @@
}
/**
- * Returns the list of mixin node types declared in this type source.
+ * Returns the list of node types declared in this type source.
*
- * @return the list of mixin node types declared in this type source.
- * @see org.jboss.dna.jcr.JcrNodeTypeSource#getMixinNodeTypes()
+ * @return the list of node types declared in this type source.
+ * @see org.jboss.dna.jcr.JcrNodeTypeSource#getNodeTypes()
*/
- public abstract Collection<JcrNodeType> getDeclaredMixinNodeTypes();
+ public abstract Collection<JcrNodeType> getDeclaredNodeTypes();
/**
- * Returns the list of primary node types declared in this type source.
+ * Returns the list of node types returned by this and any predecessor source.
*
- * @return the list of primary node types declared in this type source.
- * @see org.jboss.dna.jcr.JcrNodeTypeSource#getMixinNodeTypes()
+ * @return the list of node types returned by this and any predecessor source.
+ * @see org.jboss.dna.jcr.JcrNodeTypeSource#getNodeTypes()
*/
- public abstract Collection<JcrNodeType> getDeclaredPrimaryNodeTypes();
-
- /**
- * Returns the list of mixin node types returned by this and any predecessor source.
- *
- * @return the list of mixin node types returned by this and any predecessor source.
- * @see org.jboss.dna.jcr.JcrNodeTypeSource#getMixinNodeTypes()
- */
- public Collection<JcrNodeType> getMixinNodeTypes() {
+ public Collection<JcrNodeType> getNodeTypes() {
if (predecessor == null) {
- return getDeclaredMixinNodeTypes();
+ return getDeclaredNodeTypes();
}
- Collection<JcrNodeType> declaredMixins = getDeclaredMixinNodeTypes();
- Collection<JcrNodeType> predecessorMixins =
predecessor.getMixinNodeTypes();
+ Collection<JcrNodeType> declaredTypes = getDeclaredNodeTypes();
+ Collection<JcrNodeType> predecessorTypes = predecessor.getNodeTypes();
- List<JcrNodeType> mixins = new
ArrayList<JcrNodeType>(declaredMixins.size() + predecessorMixins.size());
- mixins.addAll(predecessorMixins);
- mixins.addAll(declaredMixins);
+ List<JcrNodeType> primaries = new
ArrayList<JcrNodeType>(declaredTypes.size() + predecessorTypes.size());
+ primaries.addAll(predecessorTypes);
+ primaries.addAll(declaredTypes);
- return mixins;
- }
-
- /**
- * Returns the list of primary node types returned by this and any predecessor
source.
- *
- * @return the list of primary node types returned by this and any predecessor
source.
- * @see org.jboss.dna.jcr.JcrNodeTypeSource#getPrimaryNodeTypes()
- */
- public Collection<JcrNodeType> getPrimaryNodeTypes() {
- if (predecessor == null) {
- return getDeclaredPrimaryNodeTypes();
- }
-
- Collection<JcrNodeType> declaredPrimaries = getDeclaredPrimaryNodeTypes();
- Collection<JcrNodeType> predecessorPrimaries =
predecessor.getPrimaryNodeTypes();
-
- List<JcrNodeType> primaries = new
ArrayList<JcrNodeType>(declaredPrimaries.size() + predecessorPrimaries.size());
- primaries.addAll(predecessorPrimaries);
- primaries.addAll(declaredPrimaries);
-
return primaries;
}
/**
* Finds the type with the given name and returns its definition.
* <p>
- * This implementation delegates to the <code>predecessor</code> (if it
exists) if the type is not found within the declareded
+ * This implementation delegates to the <code>predecessor</code> (if it
exists) if the type is not found within the declared
* primary and mixin types.
* </p>
*
@@ -142,18 +113,12 @@
*/
public JcrNodeType findType( Name typeName ) {
CheckArg.isNotNull(typeName, "typeName");
- for (JcrNodeType type : getDeclaredPrimaryNodeTypes()) {
+ for (JcrNodeType type : getDeclaredNodeTypes()) {
if (typeName.equals(type.getInternalName())) {
return type;
}
}
- for (JcrNodeType type : getDeclaredMixinNodeTypes()) {
- if (typeName.equals(type.getInternalName())) {
- return type;
- }
- }
-
if (predecessor != null) {
return predecessor.findType(typeName);
}
Modified: trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/DnaBuiltinNodeTypeSource.java
===================================================================
--- trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/DnaBuiltinNodeTypeSource.java 2009-03-24
02:34:43 UTC (rev 790)
+++ trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/DnaBuiltinNodeTypeSource.java 2009-03-24
02:51:24 UTC (rev 791)
@@ -38,17 +38,14 @@
@Immutable
class DnaBuiltinNodeTypeSource extends AbstractJcrNodeTypeSource {
- /** The list of primary node types. */
- private final List<JcrNodeType> primaryNodeTypes;
- /** The list of mixin node types. */
- private final List<JcrNodeType> mixinNodeTypes;
+ /** The list of node types. */
+ private final List<JcrNodeType> nodeTypes;
DnaBuiltinNodeTypeSource( ExecutionContext context,
JcrNodeTypeSource predecessor ) {
super(predecessor);
- primaryNodeTypes = new ArrayList<JcrNodeType>();
- mixinNodeTypes = new ArrayList<JcrNodeType>();
+ nodeTypes = new ArrayList<JcrNodeType>();
JcrNodeType base = findType(JcrNtLexicon.BASE);
@@ -140,29 +137,19 @@
NO_DEFAULT_VALUES, PropertyType.UNDEFINED,
NO_CONSTRAINTS, true),}), NOT_MIXIN,
ORDERABLE_CHILD_NODES);
- primaryNodeTypes.addAll(Arrays.asList(new JcrNodeType[] {root, system,
namespaces, namespace,}));
- mixinNodeTypes.addAll(Arrays.asList(new JcrNodeType[] {}));
+ nodeTypes.addAll(Arrays.asList(new JcrNodeType[] {root, system, namespaces,
namespace,}));
+ nodeTypes.addAll(Arrays.asList(new JcrNodeType[] {}));
}
/**
* {@inheritDoc}
*
- * @see org.jboss.dna.jcr.JcrNodeTypeSource#getMixinNodeTypes()
+ * @see org.jboss.dna.jcr.JcrNodeTypeSource#getNodeTypes()
*/
@Override
- public Collection<JcrNodeType> getDeclaredMixinNodeTypes() {
- return mixinNodeTypes;
+ public Collection<JcrNodeType> getDeclaredNodeTypes() {
+ return nodeTypes;
}
- /**
- * {@inheritDoc}
- *
- * @see org.jboss.dna.jcr.JcrNodeTypeSource#getPrimaryNodeTypes()
- */
- @Override
- public Collection<JcrNodeType> getDeclaredPrimaryNodeTypes() {
- return primaryNodeTypes;
- }
-
}
Modified: trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/JcrBuiltinNodeTypeSource.java
===================================================================
--- trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/JcrBuiltinNodeTypeSource.java 2009-03-24
02:34:43 UTC (rev 790)
+++ trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/JcrBuiltinNodeTypeSource.java 2009-03-24
02:51:24 UTC (rev 791)
@@ -41,9 +41,7 @@
class JcrBuiltinNodeTypeSource extends AbstractJcrNodeTypeSource {
/** The list of primary node types. */
- private final List<JcrNodeType> primaryNodeTypes;
- /** The list of mixin node types. */
- private final List<JcrNodeType> mixinNodeTypes;
+ private final List<JcrNodeType> nodeTypes;
JcrBuiltinNodeTypeSource( ExecutionContext context ) {
this(context, null);
@@ -53,7 +51,7 @@
JcrNodeTypeSource predecessor ) {
super(predecessor);
- primaryNodeTypes = new ArrayList<JcrNodeType>();
+ nodeTypes = new ArrayList<JcrNodeType>();
/*
* These values get created without a session cache, as they aren't tied to
any particular session.
@@ -568,12 +566,10 @@
false),}),
NOT_MIXIN,
UNORDERABLE_CHILD_NODES);
- primaryNodeTypes.addAll(Arrays.asList(new JcrNodeType[] {base, unstructured,
childNodeDefinition, file, folder,
+ nodeTypes.addAll(Arrays.asList(new JcrNodeType[] {base, unstructured,
childNodeDefinition, file, folder,
frozenNode, hierarchyNode, linkedFile, nodeType, propertyDefinition, query,
resource, nodeType, version,
versionHistory, versionLabels, versionedChild}));
- mixinNodeTypes = new ArrayList<JcrNodeType>();
-
JcrNodeType lockable = new JcrNodeType(context, NO_NODE_TYPE_MANAGER,
JcrMixLexicon.LOCKABLE, NO_SUPERTYPES,
NO_PRIMARY_ITEM_NAME, NO_CHILD_NODES,
Arrays.asList(new JcrPropertyDefinition[] {
new JcrPropertyDefinition(context,
null, JcrLexicon.LOCK_IS_DEEP,
@@ -616,28 +612,17 @@
PropertyType.REFERENCE, NO_CONSTRAINTS, false),}),
IS_A_MIXIN, UNORDERABLE_CHILD_NODES);
- mixinNodeTypes.addAll(Arrays.asList(new JcrNodeType[] {lockable, referenceable,
versionable}));
+ nodeTypes.addAll(Arrays.asList(new JcrNodeType[] {lockable, referenceable,
versionable}));
}
/**
* {@inheritDoc}
*
- * @see org.jboss.dna.jcr.JcrNodeTypeSource#getMixinNodeTypes()
+ * @see org.jboss.dna.jcr.JcrNodeTypeSource#getNodeTypes()
*/
@Override
- public Collection<JcrNodeType> getDeclaredMixinNodeTypes() {
- return mixinNodeTypes;
+ public Collection<JcrNodeType> getDeclaredNodeTypes() {
+ return nodeTypes;
}
-
- /**
- * {@inheritDoc}
- *
- * @see org.jboss.dna.jcr.JcrNodeTypeSource#getPrimaryNodeTypes()
- */
- @Override
- public Collection<JcrNodeType> getDeclaredPrimaryNodeTypes() {
- return primaryNodeTypes;
- }
-
}
Modified: trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/JcrNodeTypeManager.java
===================================================================
--- trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/JcrNodeTypeManager.java 2009-03-24
02:34:43 UTC (rev 790)
+++ trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/JcrNodeTypeManager.java 2009-03-24
02:51:24 UTC (rev 791)
@@ -65,31 +65,7 @@
* @see javax.jcr.nodetype.NodeTypeManager#getAllNodeTypes()
*/
public NodeTypeIterator getAllNodeTypes() {
-
- Collection<JcrNodeType> mixinNodeTypes =
repositoryTypeManager.getMixinNodeTypes();
- Collection<JcrNodeType> primaryNodeTypes =
repositoryTypeManager.getPrimaryNodeTypes();
-
- // TODO: Can revisit this approach later if it becomes a performance issue
- /*
- * Note also that this creates a subtle difference in behavior for concurrent
modification
- * between this method and the specific get*NodeTypes methods. That is, if a
type is added
- * while an iterator from the corresponding specific get*NodeType method is being
traversed,
- * a ConcurrentModificationException will be thrown. Because this iterator is
based on a copy
- * of the underlying maps, no exception would be thrown in the same case.
- */
-
- List<NodeType> allTypes = new
ArrayList<NodeType>(primaryNodeTypes.size() + mixinNodeTypes.size());
-
- // Need to return a version of the node type with the current context
- for (JcrNodeType type : primaryNodeTypes) {
- allTypes.add(type.with(context));
- }
-
- for (JcrNodeType type : mixinNodeTypes) {
- allTypes.add(type.with(context));
- }
-
- return new JcrNodeTypeIterator(allTypes);
+ return new JcrNodeTypeIterator(repositoryTypeManager.getAllNodeTypes());
}
/**
Modified: trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/JcrNodeTypeSource.java
===================================================================
--- trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/JcrNodeTypeSource.java 2009-03-24
02:34:43 UTC (rev 790)
+++ trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/JcrNodeTypeSource.java 2009-03-24
02:51:24 UTC (rev 791)
@@ -13,20 +13,13 @@
public interface JcrNodeTypeSource {
/**
- * Returns the list of primary node types provided by this source
+ * Returns the list of node types provided by this source
*
- * @return the list of primary node types provided by this source
+ * @return the list of node types provided by this source
*/
- public Collection<JcrNodeType> getPrimaryNodeTypes();
+ public Collection<JcrNodeType> getNodeTypes();
/**
- * Returns the list of mixin node types provided by this source
- *
- * @return the list of mixin node types provided by this source
- */
- public Collection<JcrNodeType> getMixinNodeTypes();
-
- /**
* Finds the type with the given name and returns its definition.
* @param typeName the name of the type to return
* @return the type named <code>typeName</code> if it exists, otherwise
<code>null</code>.
Modified: trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/RepositoryNodeTypeManager.java
===================================================================
---
trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/RepositoryNodeTypeManager.java 2009-03-24
02:34:43 UTC (rev 790)
+++
trunk/dna-jcr/src/main/java/org/jboss/dna/jcr/RepositoryNodeTypeManager.java 2009-03-24
02:51:24 UTC (rev 791)
@@ -23,6 +23,7 @@
*/
package org.jboss.dna.jcr;
+import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.LinkedList;
@@ -49,21 +50,19 @@
@Immutable
class RepositoryNodeTypeManager {
- private final Map<Name, JcrNodeType> primaryNodeTypes;
- private final Map<Name, JcrNodeType> mixinNodeTypes;
+ private final Map<Name, JcrNodeType> nodeTypes;
private final Map<PropertyDefinitionId, JcrPropertyDefinition>
propertyDefinitions;
private final Map<NodeDefinitionId, JcrNodeDefinition> childNodeDefinitions;
RepositoryNodeTypeManager( ExecutionContext context,
JcrNodeTypeSource source ) {
- Collection<JcrNodeType> primary = source.getPrimaryNodeTypes();
- Collection<JcrNodeType> mixins = source.getMixinNodeTypes();
+ Collection<JcrNodeType> types = source.getNodeTypes();
propertyDefinitions = new HashMap<PropertyDefinitionId,
JcrPropertyDefinition>();
childNodeDefinitions = new HashMap<NodeDefinitionId, JcrNodeDefinition>();
- primaryNodeTypes = new HashMap<Name, JcrNodeType>(primary.size());
- for (JcrNodeType nodeType : primary) {
- primaryNodeTypes.put(nodeType.getInternalName(), nodeType.with(this));
+ nodeTypes = new HashMap<Name, JcrNodeType>(types.size());
+ for (JcrNodeType nodeType : types) {
+ nodeTypes.put(nodeType.getInternalName(), nodeType.with(this));
for (JcrNodeDefinition childDefinition : nodeType.childNodeDefinitions()) {
childNodeDefinitions.put(childDefinition.getId(), childDefinition);
}
@@ -71,25 +70,30 @@
propertyDefinitions.put(propertyDefinition.getId(), propertyDefinition);
}
}
+ }
- mixinNodeTypes = new HashMap<Name, JcrNodeType>(mixins.size());
- for (JcrNodeType nodeType : mixins) {
- mixinNodeTypes.put(nodeType.getInternalName(), nodeType.with(this));
- for (JcrNodeDefinition childDefinition : nodeType.childNodeDefinitions()) {
- childNodeDefinitions.put(childDefinition.getId(), childDefinition);
- }
- for (JcrPropertyDefinition propertyDefinition :
nodeType.propertyDefinitions()) {
- propertyDefinitions.put(propertyDefinition.getId(), propertyDefinition);
- }
- }
+ public Collection<JcrNodeType> getAllNodeTypes() {
+ return nodeTypes.values();
}
public Collection<JcrNodeType> getMixinNodeTypes() {
- return mixinNodeTypes.values();
+ List<JcrNodeType> types = new
ArrayList<JcrNodeType>(nodeTypes.size());
+
+ for (JcrNodeType nodeType : nodeTypes.values()) {
+ if (nodeType.isMixin()) types.add(nodeType);
+ }
+
+ return types;
}
public Collection<JcrNodeType> getPrimaryNodeTypes() {
- return primaryNodeTypes.values();
+ List<JcrNodeType> types = new
ArrayList<JcrNodeType>(nodeTypes.size());
+
+ for (JcrNodeType nodeType : nodeTypes.values()) {
+ if (!nodeType.isMixin()) types.add(nodeType);
+ }
+
+ return types;
}
public JcrPropertyDefinition getPropertyDefinition( PropertyDefinitionId id ) {
@@ -101,12 +105,7 @@
}
JcrNodeType getNodeType( Name nodeTypeName ) {
-
- JcrNodeType nodeType = primaryNodeTypes.get(nodeTypeName);
- if (nodeType == null) {
- nodeType = mixinNodeTypes.get(nodeTypeName);
- }
- return nodeType;
+ return nodeTypes.get(nodeTypeName);
}
/**
Modified: trunk/dna-jcr/src/test/java/org/jboss/dna/jcr/JcrPropertyDefinitionTest.java
===================================================================
---
trunk/dna-jcr/src/test/java/org/jboss/dna/jcr/JcrPropertyDefinitionTest.java 2009-03-24
02:34:43 UTC (rev 790)
+++
trunk/dna-jcr/src/test/java/org/jboss/dna/jcr/JcrPropertyDefinitionTest.java 2009-03-24
02:51:24 UTC (rev 791)
@@ -149,7 +149,7 @@
session.logout();
}
}
-
+
private JcrPropertyDefinition propertyDefinitionFor( NodeType nodeType,
Name propertyName ) {
PropertyDefinition propertyDefs[] = nodeType.getPropertyDefinitions();
@@ -637,16 +637,13 @@
class TestNodeTypeSource extends AbstractJcrNodeTypeSource {
/** The list of primary node types. */
- private final List<JcrNodeType> primaryNodeTypes;
- /** The list of mixin node types. */
- private final List<JcrNodeType> mixinNodeTypes;
+ private final List<JcrNodeType> nodeTypes;
TestNodeTypeSource( ExecutionContext context,
JcrNodeTypeSource predecessor ) {
super(predecessor);
- primaryNodeTypes = new ArrayList<JcrNodeType>();
- mixinNodeTypes = new ArrayList<JcrNodeType>();
+ nodeTypes = new ArrayList<JcrNodeType>();
JcrNodeType base = findType(JcrNtLexicon.BASE);
@@ -736,30 +733,19 @@
}), NOT_MIXIN,
UNORDERABLE_CHILD_NODES);
- primaryNodeTypes.addAll(Arrays.asList(new JcrNodeType[] {constrainedType}));
- mixinNodeTypes.addAll(Arrays.asList(new JcrNodeType[] {}));
+ nodeTypes.addAll(Arrays.asList(new JcrNodeType[] {constrainedType}));
}
/**
* {@inheritDoc}
*
- * @see org.jboss.dna.jcr.AbstractJcrNodeTypeSource#getDeclaredMixinNodeTypes()
+ * @see org.jboss.dna.jcr.AbstractJcrNodeTypeSource#getDeclaredNodeTypes()
*/
@Override
- public Collection<JcrNodeType> getDeclaredMixinNodeTypes() {
- return primaryNodeTypes;
+ public Collection<JcrNodeType> getDeclaredNodeTypes() {
+ return nodeTypes;
}
- /**
- * {@inheritDoc}
- *
- * @see
org.jboss.dna.jcr.AbstractJcrNodeTypeSource#getDeclaredPrimaryNodeTypes()
- */
- @Override
- public Collection<JcrNodeType> getDeclaredPrimaryNodeTypes() {
- return mixinNodeTypes;
- }
-
}
}
Modified: trunk/dna-jcr/src/test/java/org/jboss/dna/jcr/SessionCacheTest.java
===================================================================
--- trunk/dna-jcr/src/test/java/org/jboss/dna/jcr/SessionCacheTest.java 2009-03-24
02:34:43 UTC (rev 790)
+++ trunk/dna-jcr/src/test/java/org/jboss/dna/jcr/SessionCacheTest.java 2009-03-24
02:51:24 UTC (rev 791)
@@ -112,14 +112,13 @@
* Define the node types for the "vehix" namespace.
*/
public static class VehixNodeTypeSource extends AbstractJcrNodeTypeSource {
- private final List<JcrNodeType> primaryNodeTypes;
- private final List<JcrNodeType> mixinNodeTypes;
+ private final List<JcrNodeType> nodeTypes;
public VehixNodeTypeSource( ExecutionContext context,
JcrNodeTypeSource predecessor ) {
super(predecessor);
- this.primaryNodeTypes = new ArrayList<JcrNodeType>();
- this.mixinNodeTypes = new ArrayList<JcrNodeType>();
+ this.nodeTypes = new ArrayList<JcrNodeType>();
+
Name carName =
context.getValueFactories().getNameFactory().create("vehix:car");
Name aircraftName =
context.getValueFactories().getNameFactory().create("vehix:aircraft");
JcrNodeType unstructured = findType(JcrNtLexicon.UNSTRUCTURED);
@@ -134,29 +133,19 @@
Arrays.asList(new JcrNodeType[]
{unstructured}), NO_PRIMARY_ITEM_NAME,
NO_CHILD_NODES, NO_PROPERTIES,
NOT_MIXIN, ORDERABLE_CHILD_NODES);
- primaryNodeTypes.addAll(Arrays.asList(new JcrNodeType[] {car, aircraft,}));
+ nodeTypes.addAll(Arrays.asList(new JcrNodeType[] {car, aircraft,}));
}
/**
* {@inheritDoc}
*
- * @see org.jboss.dna.jcr.AbstractJcrNodeTypeSource#getDeclaredMixinNodeTypes()
+ * @see org.jboss.dna.jcr.AbstractJcrNodeTypeSource#getDeclaredNodeTypes()
*/
@Override
- public Collection<JcrNodeType> getDeclaredMixinNodeTypes() {
- return mixinNodeTypes;
+ public Collection<JcrNodeType> getDeclaredNodeTypes() {
+ return nodeTypes;
}
- /**
- * {@inheritDoc}
- *
- * @see
org.jboss.dna.jcr.AbstractJcrNodeTypeSource#getDeclaredPrimaryNodeTypes()
- */
- @Override
- public Collection<JcrNodeType> getDeclaredPrimaryNodeTypes() {
- return primaryNodeTypes;
- }
-
}
protected Graph createFrom( String repositoryName,