Thanks Marcel. I have one further question. How often is the TCK (available from day.com) updated with these fixes?
David -----Original Message----- From: Marcel Reutegger [mailto:[EMAIL PROTECTED] Sent: 22 September 2005 10:04 To: [email protected] Subject: Re: Bug in TCK NodeTypeUtil.java? Hi David, David Caruana wrote: > The method getIllegalChildNodeType() can return a legal type. This > happens if the first node type to come back from getAllNodeTypes() is > in the fact the type that is not wanted. I must have been unlucky here. > > A sub-type check is made, but not a type equality check. I adjusted > the function by adding the following two lines: > > public static String getIllegalChildNodeType(NodeTypeManager manager, > String legalType) > throws RepositoryException { > > NodeTypeIterator types = manager.getAllNodeTypes(); > while (types.hasNext()) { > NodeType type = types.nextNodeType(); > --> if (!type.getName().equals(legalType)) { > NodeType superTypes[] = type.getSupertypes(); > boolean isSubType = false; > for (int i = 0; i < superTypes.length; i++) { > String name = superTypes[i].getName(); > if (name.equals(legalType)) { > isSubType = true; > break; > } > } > if (!isSubType) { > return type.getName(); > } > --> } > } > return null; > } thanks for the patch. I've committed the change as you suggested. svn revision is: 290913 > I don't believe NodeType.getSupertypes() should return the supertypes > and itself in which case I think the current function would be fine. that's correct. regards marcel
