protected final JcrNodeType nodeTypeFor( String name ) { return nodeTypes.getNodeType(nameFor(name)); }
protected final JcrNodeType nodeTypeFor( String name ) { return nodeTypes.getNodeType(nameFor(name)); }
@Override public NodeType[] getMixinNodeTypes() throws RepositoryException { checkSession(); JcrNodeTypeManager nodeTypeManager = session().nodeTypeManager(); List<NodeType> mixinNodeTypes = new LinkedList<NodeType>(); for (Name mixinTypeName : node().getMixinTypes(sessionCache())) { NodeType nodeType = nodeTypeManager.getNodeType(mixinTypeName); if (nodeType != null) mixinNodeTypes.add(nodeType); } return mixinNodeTypes.toArray(new NodeType[mixinNodeTypes.size()]); }
@Override public NodeType[] getMixinNodeTypes() throws RepositoryException { checkSession(); JcrNodeTypeManager nodeTypeManager = session().nodeTypeManager(); List<NodeType> mixinNodeTypes = new LinkedList<NodeType>(); for (Name mixinTypeName : node().getMixinTypes(sessionCache())) { NodeType nodeType = nodeTypeManager.getNodeType(mixinTypeName); if (nodeType != null) mixinNodeTypes.add(nodeType); } return mixinNodeTypes.toArray(new NodeType[mixinNodeTypes.size()]); }
@Test public void shouldVerifyNtFileHasPrimaryItem() throws Exception { NodeType ntFile = nodeTypeMgr.getNodeType(NT_FILE_NODE_TYPE); assertThat(ntFile.getPrimaryItemName(), is("jcr:content")); }
@Override public JcrNodeType getPrimaryNodeType() throws RepositoryException { checkSession(); return session().nodeTypeManager().getNodeType(node().getPrimaryType(sessionCache())); }
@Override public JcrNodeType getPrimaryNodeType() throws RepositoryException { checkSession(); return session().nodeTypeManager().getNodeType(node().getPrimaryType(sessionCache())); }
private boolean canAddNode( String primaryNodeTypeName ) throws RepositoryException { if (isLockedByAnotherSession()) { return false; } // Determine the name for the primary node type if (primaryNodeTypeName != null) { if (!session().nodeTypeManager().hasNodeType(primaryNodeTypeName)) return false; JcrNodeType nodeType = session().nodeTypeManager().getNodeType(primaryNodeTypeName); if (nodeType.isAbstract()) return false; if (nodeType.isMixin()) return false; if (INTERNAL_NODE_TYPE_NAMES.contains(nodeType.getInternalName())) return false; } return true; }
JcrNodeType nodeType = getNodeType(typeName); for (String mixin : mixinNames) { for (Name typeName : typeNames) { JcrNodeType nodeType = getNodeType(typeName);
JcrNodeType nodeType = getNodeType(typeName); for (String mixin : mixinNames) { for (Name typeName : typeNames) { JcrNodeType nodeType = getNodeType(typeName);
private boolean canAddNode( String primaryNodeTypeName ) throws RepositoryException { if (isLockedByAnotherSession()) { return false; } // Determine the name for the primary node type if (primaryNodeTypeName != null) { if (!session().nodeTypeManager().hasNodeType(primaryNodeTypeName)) return false; JcrNodeType nodeType = session().nodeTypeManager().getNodeType(primaryNodeTypeName); if (nodeType.isAbstract()) return false; if (nodeType.isMixin()) return false; if (INTERNAL_NODE_TYPE_NAMES.contains(nodeType.getInternalName())) return false; } return true; }
/** * ModeShape JCR implementation is supposed to have root type named {@link ModeShapeLexicon#ROOT}. * * @throws Exception if an error occurs during the test */ @Test public void rootNodeShouldHaveProperType() throws Exception { Node rootNode = session.getRootNode(); NodeType rootNodePrimaryType = rootNode.getPrimaryNodeType(); NodeType dnaRootType = session.nodeTypeManager().getNodeType(ModeShapeLexicon.ROOT); assertThat(rootNodePrimaryType.getName(), is(dnaRootType.getName())); }
@Test public void shouldImportFileExportedFromJackrabbitContainingBinaryData() throws Exception { // Register the node types ... tools.registerNodeTypes(session, "cars.cnd"); tools.registerNodeTypes(session, "cnd/magnolia.cnd"); assertThat(session.getWorkspace().getNodeTypeManager().getNodeType("mgnl:content"), is(notNullValue())); // Now import the file ... String filename = "io/system-export-with-binary-data-and-uuids.xml"; assertImport(filename, "/a", ImportBehavior.THROW); // no matching UUIDs expected }
@FixFor("MODE-1026") @Test public void shouldImportFileExportedFromJackrabbitContainingBinaryStringData() throws Exception { // Register the node types ... tools.registerNodeTypes(session, "cars.cnd"); tools.registerNodeTypes(session, "cnd/magnolia.cnd"); assertThat(session.getWorkspace().getNodeTypeManager().getNodeType("mgnl:content"), is(notNullValue())); // Now import the file ... String filename = "io/system-export-with-xsitype-data-and-uuids.xml"; assertImport(filename, "/a", ImportBehavior.THROW); // no matching UUIDs expected // print = true; print("/a"); Node imageNode = assertNode("/a/company/image"); assertThat(imageNode.getProperty("extension").getValue().getString(), is("gif")); }
@SuppressWarnings("unchecked") @Test @FixFor("MODE-1954") public void shouldRemovePropertyDefinitionViaTemplate() throws Exception { session.getWorkspace().getNamespaceRegistry().registerNamespace("dmsmix", "http://myexample.com/dms"); NodeTypeTemplate fileContent = nodeTypeMgr.createNodeTypeTemplate(); fileContent.setName("dmsmix:filecontent"); nodeTypeMgr.registerNodeType(fileContent, true); NodeType nodeType = nodeTypeMgr.getNodeType("dmsmix:filecontent"); NodeTypeTemplate nodeTypeTemplate = nodeTypeMgr.createNodeTypeTemplate(nodeType); PropertyDefinitionTemplate tp = nodeTypeMgr.createPropertyDefinitionTemplate(); tp.setName("dmsmix:owner"); nodeTypeTemplate.getPropertyDefinitionTemplates().add(tp); nodeTypeMgr.registerNodeType(nodeTypeTemplate, true); nodeType = nodeTypeMgr.getNodeType("dmsmix:filecontent"); nodeTypeTemplate = nodeTypeMgr.createNodeTypeTemplate(nodeType); List<PropertyDefinitionTemplate> pts = nodeTypeTemplate.getPropertyDefinitionTemplates(); Iterator<PropertyDefinitionTemplate> pit = pts.iterator(); while (pit.hasNext()) { PropertyDefinitionTemplate pi = pit.next(); if (pi.getName().equals("dmsmix:owner")) { pit.remove(); } } nodeTypeMgr.registerNodeType(nodeTypeTemplate, true); }
JcrNodeType mixinType = jcrNodeTypeManager.getNodeType(mixinName); if (!mixinType.isMixin()) return false; if (isLockedByAnotherSession()) return false;
JcrNodeType mixinType = jcrNodeTypeManager.getNodeType(mixinName); if (!mixinType.isMixin()) return false; if (isLockedByAnotherSession()) return false;