# HG changeset patch # User Andre Heinecke # Date 1380215717 -7200 # Node ID 12248d9eb326472adc2a8824989dc4a52197f7cc # Parent 336d7690b38c70d5d32314120cd6a757258a4de9 Only filter the facets for unbound outs diff -r 336d7690b38c -r 12248d9eb326 artifacts/src/main/java/org/dive4elements/river/artifacts/D4EArtifact.java --- a/artifacts/src/main/java/org/dive4elements/river/artifacts/D4EArtifact.java Thu Sep 26 19:14:37 2013 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/D4EArtifact.java Thu Sep 26 19:15:17 2013 +0200 @@ -1305,8 +1305,9 @@ for (Output out: list) { log.debug("check facets for output: " + out.getName()); + String outName = out.getName(); Output o = new DefaultOutput( - out.getName(), + outName, out.getDescription(), out.getMimeType(), out.getType()); @@ -1323,7 +1324,14 @@ for (Facet f: fs) { String type = f.getName(); - if (outTypes.contains(type)) { + /* Match the facets to the output configuration. + * This is only done when we are not already bound to an out. + * If we are bound we come from the datacage so the user has + * explicitly requested our nice and shiny facets. And who + * are we to deny them to him. */ + if (outTypes.contains(type) || + (boundToOut != null && + boundToOut.equals(outName))) { if (debug) { log.debug("Add facet " + f); } diff -r 336d7690b38c -r 12248d9eb326 artifacts/src/main/java/org/dive4elements/river/collections/AttributeWriter.java --- a/artifacts/src/main/java/org/dive4elements/river/collections/AttributeWriter.java Thu Sep 26 19:14:37 2013 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/collections/AttributeWriter.java Thu Sep 26 19:15:17 2013 +0200 @@ -195,7 +195,11 @@ logger.debug("Try to add Facet: " + facet.getName()); } - if (!compatibleFacets.contains(facet.getName())) { + String bondage = facet.getBoundToOut(); + if (bondage != null && bondage.equals(outputName)) { + logger.debug("Adding bound facet regardless of compatibility: " + + facet.getName()); + } else if (!compatibleFacets.contains(facet.getName())) { logger.debug("Have incompatible facet, skip: " + facet.getName()); continue; } else if (facet.getBoundToOut() != null &&