teichmann@5835: package org.dive4elements.river.client.shared.model; sascha@830: sascha@830: import java.io.Serializable; sascha@830: sascha@830: import java.util.HashMap; sascha@830: import java.util.Map; sascha@846: import java.util.List; sascha@830: sascha@830: public class ArtifactFilter sascha@830: implements Serializable sascha@830: { sascha@830: protected String factoryName; sascha@830: sascha@830: protected Map outFilters; sascha@830: sascha@830: public ArtifactFilter() { sascha@830: outFilters = new HashMap(); sascha@830: } sascha@830: sascha@830: public ArtifactFilter(String factoryName) { ingo@884: this(); sascha@830: this.factoryName = factoryName; sascha@830: } sascha@830: sascha@830: public String getFactoryName() { sascha@830: return factoryName; sascha@830: } sascha@830: sascha@830: public void setFactoryName(String factoryName) { sascha@830: this.factoryName = factoryName; sascha@830: } sascha@830: sascha@830: public void add(String out, String name, String num) { sascha@834: if (out == null) { sascha@834: out = ToLoad.uniqueKey(outFilters); sascha@834: } sascha@834: sascha@830: OutFilter outFilter = outFilters.get(out); sascha@830: sascha@830: if (outFilter == null) { sascha@830: outFilter = new OutFilter(out); sascha@830: outFilters.put(out, outFilter); sascha@830: } sascha@830: outFilter.add(name, num); sascha@830: } sascha@846: sascha@846: public String collectIds() { sascha@846: StringBuilder sb = new StringBuilder(); sascha@846: for (OutFilter outFilter: outFilters.values()) { sascha@846: outFilter.collectIds(sb); sascha@846: } sascha@846: return sb.toString(); sascha@846: } sascha@846: sascha@846: public Recommendation.Filter toFilter() { sascha@846: Recommendation.Filter rf = new Recommendation.Filter(); sascha@846: for (Map.Entry entry: outFilters.entrySet()) { sascha@846: List facets = entry.getValue().toFacets(); sascha@846: rf.add(entry.getKey(), facets); sascha@846: } sascha@846: return rf; sascha@846: } sascha@830: } sascha@830: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :