if (t.getParent().equals( p.getProjectDirectory() )) {
Children kids = root.getChildren();
Node[] nodes = kids.getNodes( true );
Set<Node> folders = new HashSet<Node>();
for (Node node : nodes) {
DataObject dob = node.getLookup().lookup( DataObject.class );
if (dob != null) {
if (t.equals( dob.getPrimaryFile() )) {
return node;
}
}
if (dob instanceof DataFolder) {
folders.add( node );
}
}
// Could be more elegant - for now, handle 2-deep, which is
// enough for any typical node project
FileObject par = t.getParent();
for (Node fld : folders) {
DataObject dob = fld.getLookup().lookup( DataObject.class );
if (dob != null) {
if (par.equals( dob.getPrimaryFile() )) {
for (Node nn : fld.getChildren().getNodes( true )) {
DataObject d1 = nn.getLookup().lookup( DataObject.class );
if (d1 != null && d1.getPrimaryFile().equals( target )) {
return nn;
}
}
}
}