private void transferInheritable2PublicMetadata ( InvDatasetImpl parent ) { if ( parent == null ) return ; logger . debug ( " inheritFromParent= " + parent . getID ( ) ) ; transfer2PublicMetadata ( parent . getLocalMetadataInheritable ( ) , true ) ; //transfer2PublicMetadata(parent.getCat6Metadata(), true); /* look through local metadata, find inherited InvMetadata elements ThreddsMetadata tmd = parent.getLocalMetadata(); Iterator iter = tmd.getMetadata().iterator(); while (iter.hasNext()) { InvMetadata meta = (InvMetadata) iter.next(); if (meta.isInherited()) { if (!meta.isThreddsMetadata()) { metadata.add(meta); } else { if (debugInherit) System.out.println(" inheritMetadata Element " + tmd.isInherited() + " " + meta.isInherited()); meta.finish(); // make sure XLink is read in. transfer2PublicMetadata(meta.getThreddsMetadata(), false); } } } */ // recurse transferInheritable2PublicMetadata ( ( InvDatasetImpl ) parent . getParent ( ) ) ; }
Look for InvMetadata elements in the parent that need to be added to the public metadata of this dataset . Recurse up through all ancestors .