Fabio Sinibaldi 2017-12-15 15:19:45 +00:00
parent 693c246600
commit 812232866d
2 changed files with 12 additions and 8 deletions

View File

@ -31,11 +31,11 @@ public class ThreddsCatalog{
public String getPathFromLocation(String location) {
if(declaredDataSetRoot!=null&&declaredDataSetRoot.getLocation()!=null&&
ThreddsInfo.matchesPath(declaredDataSetRoot.getLocation(),location)) return declaredDataSetRoot.getPath();
for(DataSetScan scan : declaredDataSetScan)
if(scan!=null&&scan.getLocation()!=null&&ThreddsInfo.matchesPath(scan.getLocation(), location))
return scan.getPath();
if(declaredDataSetRoot!=null&&declaredDataSetRoot.getLocation()!=null&&
ThreddsInfo.matchesPath(declaredDataSetRoot.getLocation(),location)) return declaredDataSetRoot.getPath();
return null;
}
}

View File

@ -52,22 +52,26 @@ public class ThreddsInfo {
if(catalog!=null) {
if(catalog.getID()!=null&&catalog.getID().equals(id)) return catalog;
if(catalog.getSubCatalogs()!=null&&catalog.getSubCatalogs().getLinkedCatalogs()!=null)
for(ThreddsCatalog cat : catalog.getSubCatalogs().getLinkedCatalogs())
return findById(cat,id);
for(ThreddsCatalog cat : catalog.getSubCatalogs().getLinkedCatalogs()) {
ThreddsCatalog found=findById(cat,id);
if(found!=null) return found;
}
}
return null;
}
public static ThreddsCatalog getByFittingLocation(ThreddsCatalog catalog,String toMatchPath) {
if(catalog!=null) {
if(catalog.getDeclaredDataSetRoot()!=null&&catalog.getDeclaredDataSetRoot().getLocation()!=null&&
matchesPath(catalog.getDeclaredDataSetRoot().getLocation(),toMatchPath)) return catalog;
// if(catalog.getDeclaredDataSetRoot()!=null&&catalog.getDeclaredDataSetRoot().getLocation()!=null&&
// matchesPath(catalog.getDeclaredDataSetRoot().getLocation(),toMatchPath)) return catalog;
for(DataSetScan scan : catalog.getDeclaredDataSetScan())
if(scan!=null&&scan.getLocation()!=null&&matchesPath(scan.getLocation(), toMatchPath))
return catalog;
if(catalog.getSubCatalogs()!=null&&catalog.getSubCatalogs().getLinkedCatalogs()!=null)
for(ThreddsCatalog cat:catalog.getSubCatalogs().getLinkedCatalogs())
getByFittingLocation(cat, toMatchPath);
for(ThreddsCatalog cat:catalog.getSubCatalogs().getLinkedCatalogs()) {
ThreddsCatalog found=getByFittingLocation(cat, toMatchPath);
if(found!=null) return found;
}
}
return null;
}