/** * Scans through indexing configuration to detect un-registered node types. */ private List<Name> getUnRegisteredNodeTypes(Element indexingConfiguration) throws NamespaceException, IllegalNameException { List<Name> unRegisteredNodeTypes = new ArrayList<>(); NamespaceResolver nsResolver = new AdditionalNamespaceResolver(getNamespaces(indexingConfiguration)); NameResolver resolver = new ParsingNameResolver(NameFactoryImpl.getInstance(), nsResolver); NodeTypeRegistry ntReg = getContext().getNodeTypeRegistry(); NodeList indexingConfigs = indexingConfiguration.getChildNodes(); for (int i = 0; i < indexingConfigs.getLength(); i++) { Node configNode = indexingConfigs.item(i); if (configNode.getNodeName().equals("index-rule")) { String ntString = configNode.getAttributes().getNamedItem("nodeType").getNodeValue(); Name nodeType = resolver.getQName(ntString); if (!ntReg.isRegistered(nodeType)) { unRegisteredNodeTypes.add(nodeType); } } } return unRegisteredNodeTypes; }
/** * Checks whether a node type with the given name exists. * * @param name node type name * @return <code>true</code> if the named node type exists, * <code>false</code> otherwise * @throws RepositoryException if the name format is invalid */ public boolean hasNodeType(String name) throws RepositoryException { try { Name qname = context.getQName(name); return getNodeTypeRegistry().isRegistered(qname); } catch (NamespaceException e) { return false; } catch (NameException e) { throw new RepositoryException("Invalid name: " + name, e); } }
/** * Checks whether a node type with the given name exists. * * @param name node type name * @return <code>true</code> if the named node type exists, * <code>false</code> otherwise * @throws RepositoryException if the name format is invalid */ public boolean hasNodeType(String name) throws RepositoryException { try { Name qname = context.getQName(name); return getNodeTypeRegistry().isRegistered(qname); } catch (NamespaceException e) { return false; } catch (NameException e) { throw new RepositoryException("Invalid name: " + name, e); } }
if (!ntReg.isRegistered(state.getNodeTypeName())) { if (!ntReg.isRegistered(mixinName)) { if (unknown == null) { unknown = new ArrayList<Name>();
if (!ntReg.isRegistered(state.getNodeTypeName())) { if (!ntReg.isRegistered(mixinName)) { if (unknown == null) { unknown = new ArrayList<Name>();
public static void initializeNodetypes(Session session, InputStream cndStream, String cndName) throws RepositoryException { try { log.debug("Initializing nodetypes from {} ", cndName); final NamespaceRegistry namespaceRegistry = session.getWorkspace().getNamespaceRegistry(); final CompactNodeTypeDefReader<QNodeTypeDefinition, NamespaceMapping> cndReader = new HippoCompactNodeTypeDefReader(new InputStreamReader(cndStream), cndName, namespaceRegistry); final List<QNodeTypeDefinition> ntdList = cndReader.getNodeTypeDefinitions(); final NodeTypeRegistry nodeTypeRegistry = ((NodeTypeManagerImpl) session.getWorkspace().getNodeTypeManager()).getNodeTypeRegistry(); for (QNodeTypeDefinition ntd : ntdList) { try { if (!nodeTypeRegistry.isRegistered(ntd.getName())) { log.debug("Registering node type {}", ntd.getName()); nodeTypeRegistry.registerNodeType(ntd); } else { log.debug("Replacing node type {}", ntd.getName()); nodeTypeRegistry.reregisterNodeType(ntd); } } catch (InvalidNodeTypeDefException e) { throw new RepositoryException("Invalid node type definition for node type " + ntd.getName(), e); } } } catch (ParseException e) { throw new RepositoryException("Failed to parse cnd " + cndName, e); } }
QNodeTypeDefinition ntd = (QNodeTypeDefinition)iter.next(); try { if (ntreg.isRegistered(ntd.getName())) { log.info("upgrade reregistering nodetype " + ntd.getName());
List<QNodeTypeDefinition> registeredNodeTypeDefs = new ArrayList<QNodeTypeDefinition>(); for (QNodeTypeDefinition nodeTypeDef: nodeTypeDefs) { if (registry.isRegistered(nodeTypeDef.getName())) { registeredNodeTypeDefs.add(nodeTypeDef); } else {
List<QNodeTypeDefinition> registeredNodeTypeDefs = new ArrayList<QNodeTypeDefinition>(); for (QNodeTypeDefinition nodeTypeDef: nodeTypeDefs) { if (registry.isRegistered(nodeTypeDef.getName())) { registeredNodeTypeDefs.add(nodeTypeDef); } else {
protected void setUp() throws Exception { isReadOnly = true; super.setUp(); InputStream xml = getClass().getClassLoader().getResourceAsStream(TEST_NODETYPES); QNodeTypeDefinition[] ntDefs = NodeTypeReader.read(xml); NodeTypeRegistry ntReg = ((SessionImpl) superuser).getNodeTypeManager().getNodeTypeRegistry(); if (!ntReg.isRegistered(ntDefs[0].getName())) { ntReg.registerNodeTypes(Arrays.asList(ntDefs)); } }
if (registry.isRegistered(def.getName())) { if (allowUpdate) { modifiedDefs.add(def);
if (registry.isRegistered(def.getName())) { if (allowUpdate) { modifiedDefs.add(def);
private void importTestNodeTypes() throws IOException, InvalidNodeTypeDefException, RepositoryException { // import some test node types that contain a node def with sameNameSiblings="false" InputStream xml = getClass().getClassLoader().getResourceAsStream(TEST_NODETYPES); QNodeTypeDefinition[] ntDefs = NodeTypeReader.read(xml); NodeTypeRegistry ntReg = ((SessionImpl) superuser).getNodeTypeManager().getNodeTypeRegistry(); if (!ntReg.isRegistered(ntDefs[0].getName())) { ntReg.registerNodeTypes(Arrays.asList(ntDefs)); } // make sure the node def is there as required for our test NodeTypeManager ntm = superuser.getWorkspace().getNodeTypeManager(); NodeType nodeType = ntm.getNodeType("test:childNodeType"); NodeDefinition[] childNodeDefinitions = nodeType.getChildNodeDefinitions(); boolean foundRequiredDef = false; for (NodeDefinition nodeDefinition : childNodeDefinitions) { String nodeDefName = nodeDefinition.getName(); if (nodeDefName.equals("test:defaultTypeNode") && !nodeDefinition.allowsSameNameSiblings()) { foundRequiredDef = true; break; } } assertTrue(TEST_NODETYPES + " has changed? Expected child node def 'test:defaultTypeNode' with sameNameSiblings=false", foundRequiredDef); } }
e.printStackTrace(); boolean allNTsAreRegistered = ntreg.isRegistered(foo.getName()) && ntreg.isRegistered(bar.getName()); assertTrue(allNTsAreRegistered);
e.printStackTrace(); boolean allNTsAreRegistered = ntreg.isRegistered(folder.getName()) && ntreg.isRegistered(document.getName()) && ntreg.isRegistered(cmsObject.getName()); assertTrue(allNTsAreRegistered);