jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "David Caruana" <david.caru...@alfresco.org>
Subject Bug in TCK NodeTypeUtil.java?
Date Wed, 21 Sep 2005 08:54:11 GMT
Apologies, if you receive this twice - some of my posts seem to
disappear.


> 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;
>     }
> 
> I don't believe NodeType.getSupertypes() should return the supertypes
> and itself in which case I think the current function would be fine.
> 
> Regards,
> David Caruana
> http://www.alfresco.org
> 
> 

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message