void putResourceControl ( Dataset ds ) { if ( logger . isDebugEnabled ( ) ) logger . debug ( "putResourceControl " + ds . getRestrictAccess ( ) + " for " + ds . getName ( ) ) ; resourceControlHash . put ( ds . getUrlPath ( ) , ds . getRestrictAccess ( ) ) ; // resourceControl is inherited, but no guarentee that children paths are related, unless its a // DatasetScan or InvDatasetFmrc. So we keep track of all datasets that have a ResourceControl, including children // DatasetScan and InvDatasetFmrc must use a PathMatcher, others can use exact match (hash) /* if (ds instanceof DatasetScan) { DatasetScan scan = (DatasetScan) ds; if (debugResourceControl) System.out.println("putResourceControl " + ds.getRestrictAccess() + " for datasetScan " + scan.getPath()); resourceControlMatcher.put(scan.getPath(), ds.getRestrictAccess()); } else { // dataset if (debugResourceControl) System.out.println("putResourceControl " + ds.getRestrictAccess() + " for dataset " + ds.getUrlPath()); // LOOK: seems like you only need to add if InvAccess.InvService.isReletive // LOOK: seems like we should use resourceControlMatcher to make sure we match .dods, etc for (Access access : ds.getAccess()) { if (access.getService().isRelativeBase()) resourceControlHash.put(access.getUrlPath(), ds.getRestrictAccess()); } } */ hasResourceControl = true ; }
This tracks Dataset elements that have resource control attributes