} catch (InvalidSyntaxException ise) {
throw new IOException(
"invalid filter in isolation directive: "
+ m.group(), ise);
}
IsolationDirective d = new IsolationDirective(level, filter);
directives.add(d);
LOGGER.debug("directive {} added", d);
}
for (IsolationDirective d : directives) {
Filter f = d.getFilter();
int level = d.getLevel();
for (Map.Entry<String, Dictionary<String, String>> e : manifestEntries
.entrySet()) {
String otherLocation = e.getKey();
if (!otherLocation.equals(location)
&& f.match(e.getValue())) {
IsolationConstraint c = new IsolationConstraint(
location, otherLocation, level);
registry.add(c);
}
}
}
}
Dictionary<String, String> props = manifestEntries.get(location);
for (Map.Entry<String, List<IsolationDirective>> e : directives
.entrySet()) {
String otherLocation = e.getKey();
if (otherLocation.equals(location))
continue;
for (IsolationDirective d : e.getValue()) {
Filter f = d.getFilter();
if (f.match(props)) {
int level = d.getLevel();
IsolationConstraint c = new IsolationConstraint(
otherLocation, location, level);
registry.add(c);
}
}