Mercurial > dive4elements > river
diff artifacts/src/main/java/org/dive4elements/river/collections/AttributeWriter.java @ 6140:60b94dec104b
Add handling of bound artifacts.
When an artifact is bound to an out its facets will only be shown
in that Out. They will be removed in the blackboard pass and marked
as incompatible by the AttributeWriter
author | Andre Heinecke <aheinecke@intevation.de> |
---|---|
date | Fri, 31 May 2013 15:29:30 +0200 |
parents | af13ceeba52a |
children | d4a3031448d3 |
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/collections/AttributeWriter.java Fri May 31 15:27:06 2013 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/collections/AttributeWriter.java Fri May 31 15:29:30 2013 +0200 @@ -188,18 +188,23 @@ logger.debug("Compatible facets are " + compatibleFacets); } - for (int i = 0; i < num; i++) { - ManagedFacet facet = (ManagedFacet) newFacets.get(i); + for (Facet fac: newFacets) { + ManagedFacet facet = (ManagedFacet) fac; if (debug) { logger.debug("Try to add Facet: " + facet.getName()); } if (!compatibleFacets.contains(facet.getName())) { - logger.warn("Have incompatible facet, skip: " + facet.getName()); + logger.debug("Have incompatible facet, skip: " + facet.getName()); continue; - } - else { + } else if (facet.getBoundToOut() != null && + !facet.getBoundToOut().equals(outputName)) { + logger.debug("Skip facet " + facet.getName() + + " because it is bound to: " + facet.getBoundToOut()); + continue; + } else { + logger.debug("Facet is bound to: " + facet.getBoundToOut()); logger.debug("Have compatible facet: " + facet.getName()); }