Mercurial > dive4elements > river
changeset 9566:9826b465b751
serialVersionUID introduced
author | gernotbelger |
---|---|
date | Mon, 05 Nov 2018 10:19:12 +0100 |
parents | 4809e23ffd27 |
children | 86e522bc7f36 |
files | gwt-client/src/main/java/org/dive4elements/river/client/shared/model/Recommendation.java gwt-client/src/main/java/org/dive4elements/river/client/shared/model/SINFOArtifact.java |
diffstat | 2 files changed, 230 insertions(+), 257 deletions(-) [+] |
line wrap: on
line diff
--- a/gwt-client/src/main/java/org/dive4elements/river/client/shared/model/Recommendation.java Mon Nov 05 10:18:07 2018 +0100 +++ b/gwt-client/src/main/java/org/dive4elements/river/client/shared/model/Recommendation.java Mon Nov 05 10:19:12 2018 +0100 @@ -1,257 +1,229 @@ -/* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde - * Software engineering by Intevation GmbH - * - * This file is Free Software under the GNU AGPL (>=v3) - * and comes with ABSOLUTELY NO WARRANTY! Check out the - * documentation coming with Dive4Elements River for details. - */ - -package org.dive4elements.river.client.shared.model; - - -import java.util.List; -import java.util.Map; -import java.util.HashMap; - -import java.io.Serializable; - -/** - * Information bundle to let client create/clone an artifact with facets. - * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> - */ -public class Recommendation implements Serializable { - - /** Index and name of a facet. */ - public static class Facet implements Serializable { - - /** Facet name. */ - protected String name; - - /** Facet index. */ - protected String index; - - public Facet() { - } - - public Facet(String name, String index) { - this.name = name; - this.index = index; - } - - public String getName() { - return name; - } - - public String getIndex() { - return index; - } - - - @Override - public int hashCode() { - int hash = 0; - if (getName() != null) { - hash += getName().hashCode(); - } - if (getIndex() != null) { - hash += getIndex().hashCode(); - } - return hash; - } - - - @Override - public boolean equals(Object other) { - if (!(other instanceof Facet) || other == null) { - return false; - } - Facet facet = (Facet) other; - return (same(facet.getIndex(), this.getIndex())) - && (same(facet.getName(), this.getName())); - } - } // class Facet - - - /** Mapping of outnames to Facet-Lists. */ - public static class Filter implements Serializable { - - protected Map<String, List<Facet>> outs; - - public Filter() { - outs = new HashMap<String, List<Facet>>(); - } - - public void add(String out, List<Facet> facets) { - outs.put(out, facets); - } - - public Map<String, List<Facet>> getOuts() { - return outs; - } - - - @Override - public int hashCode() { - if (getOuts() != null) { - return getOuts().hashCode(); - } - return 0; - } - - - @Override - public boolean equals(Object other) { - if (!(other instanceof Filter) || other == null) { - return false; - } - Filter filter = (Filter) other; - return Recommendation.same(filter.getOuts(), this.getOuts()); - } - } // class Filter - - /** Factory to speak to when creating/cloning. */ - protected String factory; - /** Sometimes database ids, sometimes other freeform text. */ - protected String ids; - /** Artifacts uuid that should serve as master artifact. */ - protected String masterArtifact; - /** Optional facet filter. */ - protected Filter filter; - /** The out this Artifact should be added to **/ - protected String targetOut; - - protected String displayName = null; - - public Recommendation() { - } - - public Recommendation(String factory, String ids) { - this(factory, ids, null, null); - } - - public Recommendation(String factory, String ids, String targetOut) { - this(factory, ids, null, null, targetOut); - } - - public Recommendation( - String factory, - String ids, - String masterArtifact, - Filter filter - ) { - this(factory, ids, masterArtifact, filter, null); - } - - public Recommendation( - String factory, - String ids, - String masterArtifact, - Filter filter, - String targetOut - ) { - this.factory = factory; - this.ids = ids; - this.masterArtifact = masterArtifact; - this.filter = filter; - this.targetOut = targetOut; - } - - public String getTargetOut() { - return targetOut; - } - - public void setTargetOut(String value) { - targetOut = value; - } - - public String getFactory() { - return factory; - } - - public void setFactory(String factory) { - this.factory = factory; - } - - public void setDisplayName(String displayName) { - this.displayName = displayName; - } - - public String getDisplayName() { - return this.displayName; - } - - public String getIDs() { - return ids; - } - - public String getMasterArtifact() { - return masterArtifact; - } - - public void setMasterArtifact(String masterArtifact) { - this.masterArtifact = masterArtifact; - } - - public Filter getFilter() { - return filter; - } - - public void setFilter(Filter filter) { - this.filter = filter; - } - - - @Override - public int hashCode() { - int hash = 0; - hash += (getFactory() != null) - ? getFactory().hashCode() - : 0; - hash += (getIDs() != null) - ? getIDs().hashCode() - : 0; - hash += (getFilter() != null) - ? getFilter().hashCode() - : 0; - hash += (getMasterArtifact() != null) - ? getMasterArtifact().hashCode() - : 0; - hash += (getTargetOut() != null) - ? getTargetOut().hashCode() - : 0; - return hash; - } - - - /** - * Null-pointer guarded equals. - * Two null's are assumed equal (returns true); - * @param a Object to compare against parameter b. - * @param b Object to compare against parameter a. - * @return true if either a and b are null or a.equals(b) returns true. - */ - protected static boolean same(Object a, Object b) { - // Do null-check. - if (a == null) { - return b == null; - } else if (b == null) { - return false; - } - return a.equals(b); - } - - - @Override - public boolean equals(Object other) { - if (!(other instanceof Recommendation) || other == null) { - return false; - } - Recommendation rec = (Recommendation) other; - return (same(this.getFactory(), rec.getFactory())) - && (same(this.getIDs(), rec.getIDs())) - && (same(this.getFilter(), rec.getFilter())) - && (same(this.getMasterArtifact(), rec.getMasterArtifact())) - && (same(this.getTargetOut(), rec.getTargetOut())); - } -} -// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : +/* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde + * Software engineering by Intevation GmbH + * + * This file is Free Software under the GNU AGPL (>=v3) + * and comes with ABSOLUTELY NO WARRANTY! Check out the + * documentation coming with Dive4Elements River for details. + */ + +package org.dive4elements.river.client.shared.model; + +import java.io.Serializable; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Information bundle to let client create/clone an artifact with facets. + * + * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> + */ +public class Recommendation implements Serializable { + + private static final long serialVersionUID = 1L; + + /** Index and name of a facet. */ + public static class Facet implements Serializable { + + private static final long serialVersionUID = 1L; + + /** Facet name. */ + protected String name; + + /** Facet index. */ + protected String index; + + public Facet() { + } + + public Facet(final String name, final String index) { + this.name = name; + this.index = index; + } + + public String getName() { + return this.name; + } + + public String getIndex() { + return this.index; + } + + @Override + public int hashCode() { + int hash = 0; + if (getName() != null) { + hash += getName().hashCode(); + } + if (getIndex() != null) { + hash += getIndex().hashCode(); + } + return hash; + } + + @Override + public boolean equals(final Object other) { + if (!(other instanceof Facet) || other == null) { + return false; + } + final Facet facet = (Facet) other; + return (same(facet.getIndex(), this.getIndex())) && (same(facet.getName(), this.getName())); + } + } // class Facet + + /** Mapping of outnames to Facet-Lists. */ + public static class Filter implements Serializable { + + protected Map<String, List<Facet>> outs; + + public Filter() { + this.outs = new HashMap<String, List<Facet>>(); + } + + public void add(final String out, final List<Facet> facets) { + this.outs.put(out, facets); + } + + public Map<String, List<Facet>> getOuts() { + return this.outs; + } + + @Override + public int hashCode() { + if (getOuts() != null) { + return getOuts().hashCode(); + } + return 0; + } + + @Override + public boolean equals(final Object other) { + if (!(other instanceof Filter) || other == null) { + return false; + } + final Filter filter = (Filter) other; + return Recommendation.same(filter.getOuts(), this.getOuts()); + } + } // class Filter + + /** Factory to speak to when creating/cloning. */ + protected String factory; + /** Sometimes database ids, sometimes other freeform text. */ + protected String ids; + /** Artifacts uuid that should serve as master artifact. */ + protected String masterArtifact; + /** Optional facet filter. */ + protected Filter filter; + /** The out this Artifact should be added to **/ + protected String targetOut; + + protected String displayName = null; + + public Recommendation() { + } + + public Recommendation(final String factory, final String ids) { + this(factory, ids, null, null); + } + + public Recommendation(final String factory, final String ids, final String targetOut) { + this(factory, ids, null, null, targetOut); + } + + public Recommendation(final String factory, final String ids, final String masterArtifact, final Filter filter) { + this(factory, ids, masterArtifact, filter, null); + } + + public Recommendation(final String factory, final String ids, final String masterArtifact, final Filter filter, final String targetOut) { + this.factory = factory; + this.ids = ids; + this.masterArtifact = masterArtifact; + this.filter = filter; + this.targetOut = targetOut; + } + + public String getTargetOut() { + return this.targetOut; + } + + public void setTargetOut(final String value) { + this.targetOut = value; + } + + public String getFactory() { + return this.factory; + } + + public void setFactory(final String factory) { + this.factory = factory; + } + + public void setDisplayName(final String displayName) { + this.displayName = displayName; + } + + public String getDisplayName() { + return this.displayName; + } + + public String getIDs() { + return this.ids; + } + + public String getMasterArtifact() { + return this.masterArtifact; + } + + public void setMasterArtifact(final String masterArtifact) { + this.masterArtifact = masterArtifact; + } + + public Filter getFilter() { + return this.filter; + } + + public void setFilter(final Filter filter) { + this.filter = filter; + } + + @Override + public int hashCode() { + int hash = 0; + hash += (getFactory() != null) ? getFactory().hashCode() : 0; + hash += (getIDs() != null) ? getIDs().hashCode() : 0; + hash += (getFilter() != null) ? getFilter().hashCode() : 0; + hash += (getMasterArtifact() != null) ? getMasterArtifact().hashCode() : 0; + hash += (getTargetOut() != null) ? getTargetOut().hashCode() : 0; + return hash; + } + + /** + * Null-pointer guarded equals. + * Two null's are assumed equal (returns true); + * + * @param a + * Object to compare against parameter b. + * @param b + * Object to compare against parameter a. + * @return true if either a and b are null or a.equals(b) returns true. + */ + protected static boolean same(final Object a, final Object b) { + // Do null-check. + if (a == null) { + return b == null; + } else if (b == null) { + return false; + } + return a.equals(b); + } + + @Override + public boolean equals(final Object other) { + if (!(other instanceof Recommendation) || other == null) { + return false; + } + final Recommendation rec = (Recommendation) other; + return (same(this.getFactory(), rec.getFactory())) && (same(this.getIDs(), rec.getIDs())) && (same(this.getFilter(), rec.getFilter())) + && (same(this.getMasterArtifact(), rec.getMasterArtifact())) && (same(this.getTargetOut(), rec.getTargetOut())); + } +} \ No newline at end of file
--- a/gwt-client/src/main/java/org/dive4elements/river/client/shared/model/SINFOArtifact.java Mon Nov 05 10:18:07 2018 +0100 +++ b/gwt-client/src/main/java/org/dive4elements/river/client/shared/model/SINFOArtifact.java Mon Nov 05 10:19:12 2018 +0100 @@ -20,6 +20,7 @@ */ public class SINFOArtifact extends DefaultArtifact { + private static final long serialVersionUID = 1L; /** The name of this artifact: 'sinfo'. */ private static final String NAME = "sinfo";