diff options
Diffstat (limited to 'openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-api/src/main/java/org/openecomp/sdc/vendorlicense/dao/types/MultiChoiceOrOther.java')
-rw-r--r-- | openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-api/src/main/java/org/openecomp/sdc/vendorlicense/dao/types/MultiChoiceOrOther.java | 244 |
1 files changed, 114 insertions, 130 deletions
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-api/src/main/java/org/openecomp/sdc/vendorlicense/dao/types/MultiChoiceOrOther.java b/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-api/src/main/java/org/openecomp/sdc/vendorlicense/dao/types/MultiChoiceOrOther.java index d70bc426e1..d46f815226 100644 --- a/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-api/src/main/java/org/openecomp/sdc/vendorlicense/dao/types/MultiChoiceOrOther.java +++ b/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-api/src/main/java/org/openecomp/sdc/vendorlicense/dao/types/MultiChoiceOrOther.java @@ -13,165 +13,149 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.openecomp.sdc.vendorlicense.dao.types; import com.datastax.driver.mapping.annotations.Transient; import com.datastax.driver.mapping.annotations.UDT; +import java.util.HashSet; +import java.util.Set; import org.apache.commons.collections4.CollectionUtils; import org.openecomp.sdc.common.errors.CoreException; import org.openecomp.sdc.common.errors.ErrorCode; -import java.util.HashSet; -import java.util.Set; - @UDT(keyspace = "dox", name = "multi_choice_or_other") public class MultiChoiceOrOther<E extends Enum<E>> { - private static final String MULTI_CHOICE_OR_OTHER_INVALID_ENUM_ERR_ID = - "MULTI_CHOICE_OR_OTHER_INVALID_ENUM_ERR_ID"; - - private static final String MULTI_CHOICE_OR_OTHER_INVALID_ENUM_MSG = - "Enum used as part of MultiChoiceOrOther type must contain the value 'Other'"; - - public static final String OTHER_ENUM_VALUE = "Other"; - - @Transient - private Set<E> choices; - @Transient - private String other; - - - private Set<String> results; - - public MultiChoiceOrOther() { - // Default constructor - } - - /** - * Instantiates a new Multi choice or other. - * - * @param choices the choices - * @param other the other - */ - public MultiChoiceOrOther(Set<E> choices, String other) { - this.choices = choices; - this.other = other; - results = resolveResult(); - } + public static final String OTHER_ENUM_VALUE = "Other"; + private static final String MULTI_CHOICE_OR_OTHER_INVALID_ENUM_ERR_ID = "MULTI_CHOICE_OR_OTHER_INVALID_ENUM_ERR_ID"; + private static final String MULTI_CHOICE_OR_OTHER_INVALID_ENUM_MSG = "Enum used as part of MultiChoiceOrOther type must contain the value 'Other'"; + @Transient + private Set<E> choices; + @Transient + private String other; + private Set<String> results; + + public MultiChoiceOrOther() { + // Default constructor + } - public Set<E> getChoices() { - return choices; - } + /** + * Instantiates a new Multi choice or other. + * + * @param choices the choices + * @param other the other + */ + public MultiChoiceOrOther(Set<E> choices, String other) { + this.choices = choices; + this.other = other; + results = resolveResult(); + } - public void setChoices(Set<E> choices) { - this.choices = choices; - } + public Set<E> getChoices() { + return choices; + } - public String getOther() { - return other; - } + public void setChoices(Set<E> choices) { + this.choices = choices; + } - public void setOther(String other) { - this.other = other; - } + public String getOther() { + return other; + } - public Set<String> getResults() { - return results; - } + public void setOther(String other) { + this.other = other; + } - /** - * Sets results. - * - * @param results the results - */ - public void setResults(Set<String> results) { - if (choices != null) { - if (results == null) { - this.results = resolveResult(); - } - } else { - this.results = results; + public Set<String> getResults() { + return results; } - } - private Set<String> resolveResult() { - if (choices != null) { - results = new HashSet<>(); - if (choices.size() == 1 && OTHER_ENUM_VALUE.equals(choices.iterator().next().name())) { - results.add(other); - } else { - for (E choice : choices) { - results.add(choice.name()); + /** + * Sets results. + * + * @param results the results + */ + public void setResults(Set<String> results) { + if (choices != null) { + if (results == null) { + this.results = resolveResult(); } + } else { + this.results = results; } } - return results; - } - - /** - * Resolve enum. - * - * @param enumClass the enum class - */ - public void resolveEnum(Class<E> enumClass) { - if (choices != null || CollectionUtils.isEmpty(results)) { - return; - } - - choices = new HashSet<>(); - if (results.size() > 1) { - for (String result : results) { - choices.add(E.valueOf(enumClass, result)); - } - } else { - String result = results.iterator().next(); - try { - choices.add(E.valueOf(enumClass, result)); - } catch (IllegalArgumentException exception) { - try { - choices.add(E.valueOf(enumClass, OTHER_ENUM_VALUE)); - } catch (IllegalArgumentException ex) { - throw new CoreException(new ErrorCode.ErrorCodeBuilder() - .withId(MULTI_CHOICE_OR_OTHER_INVALID_ENUM_ERR_ID) - .withMessage(MULTI_CHOICE_OR_OTHER_INVALID_ENUM_MSG).build()); + private Set<String> resolveResult() { + if (choices != null) { + results = new HashSet<>(); + if (choices.size() == 1 && OTHER_ENUM_VALUE.equals(choices.iterator().next().name())) { + results.add(other); + } else { + for (E choice : choices) { + results.add(choice.name()); + } + } } - other = result; - } + return results; } - } - @Override - public int hashCode() { - int result = choices != null ? choices.hashCode() : 0; - result = 31 * result + (other != null ? other.hashCode() : 0); - result = 31 * result + (results != null ? results.hashCode() : 0); - return result; - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj == null && choices == null && other == null && results == null ) { - return true; + /** + * Resolve enum. + * + * @param enumClass the enum class + */ + public void resolveEnum(Class<E> enumClass) { + if (choices != null || CollectionUtils.isEmpty(results)) { + return; + } + choices = new HashSet<>(); + if (results.size() > 1) { + for (String result : results) { + choices.add(E.valueOf(enumClass, result)); + } + } else { + String result = results.iterator().next(); + try { + choices.add(E.valueOf(enumClass, result)); + } catch (IllegalArgumentException exception) { + try { + choices.add(E.valueOf(enumClass, OTHER_ENUM_VALUE)); + } catch (IllegalArgumentException ex) { + throw new CoreException(new ErrorCode.ErrorCodeBuilder().withId(MULTI_CHOICE_OR_OTHER_INVALID_ENUM_ERR_ID) + .withMessage(MULTI_CHOICE_OR_OTHER_INVALID_ENUM_MSG).build()); + } + other = result; + } + } } - if (obj == null || getClass() != obj.getClass()) { - return false; + @Override + public int hashCode() { + int result = choices != null ? choices.hashCode() : 0; + result = 31 * result + (other != null ? other.hashCode() : 0); + result = 31 * result + (results != null ? results.hashCode() : 0); + return result; } - MultiChoiceOrOther<?> that = (MultiChoiceOrOther<?>) obj; - - if (choices != null ? !choices.equals(that.choices) : that.choices != null) { - return false; - } - if (other != null ? !other.equals(that.other) : that.other != null) { - return false; + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (obj == null && choices == null && other == null && results == null) { + return true; + } + if (obj == null || getClass() != obj.getClass()) { + return false; + } + MultiChoiceOrOther<?> that = (MultiChoiceOrOther<?>) obj; + if (choices != null ? !choices.equals(that.choices) : that.choices != null) { + return false; + } + if (other != null ? !other.equals(that.other) : that.other != null) { + return false; + } + return results != null ? results.equals(that.results) : that.results == null; } - return results != null ? results.equals(that.results) : that.results == null; - - } } |