diff options
Diffstat (limited to 'common-be')
2 files changed, 239 insertions, 0 deletions
diff --git a/common-be/src/main/java/org/openecomp/sdc/be/datatypes/enums/ExternalCategoryTypeEnum.java b/common-be/src/main/java/org/openecomp/sdc/be/datatypes/enums/ExternalCategoryTypeEnum.java new file mode 100644 index 0000000000..22ef7f3031 --- /dev/null +++ b/common-be/src/main/java/org/openecomp/sdc/be/datatypes/enums/ExternalCategoryTypeEnum.java @@ -0,0 +1,110 @@ +/*- + * Copyright (C) 2019 Telstra Intellectual Property. All rights reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.openecomp.sdc.be.datatypes.enums; + +/** + * Category Type Enum + * Any service category to be supported by SDC Ext API can be added here + * + * @author atifhusain + */ +public enum ExternalCategoryTypeEnum { + + PARTNER_DOMAIN_SERVICE("Partner Domain Service", true); + + private String value; + private boolean isAtomicType; + + ExternalCategoryTypeEnum(String value, boolean isAtomicType) { + this.value = value; + this.isAtomicType = isAtomicType; + } + + public String getValue() { + return value; + } + + public boolean isAtomicType() { + return isAtomicType; + } + + public static ExternalCategoryTypeEnum getType(String type) { + for (ExternalCategoryTypeEnum e : ExternalCategoryTypeEnum.values()) { + if (e.name().equals(type)) { + return e; + } + } + return null; + } + + public static ExternalCategoryTypeEnum getTypeByName(String type) { + for (ExternalCategoryTypeEnum e : ExternalCategoryTypeEnum.values()) { + if (e.getValue().equalsIgnoreCase(type)) { + return e; + } + } + return null; + } + + /** + * Returns CategoryTypeEnum matching to received String ignore case + * + * @param type + * @return + */ + public static ExternalCategoryTypeEnum getTypeIgnoreCase(String type) { + for (ExternalCategoryTypeEnum e : ExternalCategoryTypeEnum.values()) { + if (e.getValue().equalsIgnoreCase(type)) { + return e; + } + } + return null; + } + + /** + * Checks if enum exist with given type + * + * @param type + * @return + */ + public static boolean containsName(String type) { + + for (ExternalCategoryTypeEnum e : ExternalCategoryTypeEnum.values()) { + if (e.getValue().equals(type)) { + return true; + } + } + return false; + } + + /** + * Checks if enum exist with given type ignore case + * + * @param type + * @return + */ + public static boolean containsIgnoreCase(String type) { + + for (ExternalCategoryTypeEnum e : ExternalCategoryTypeEnum.values()) { + if (e.getValue().equalsIgnoreCase(type)) { + return true; + } + } + return false; + } + +} + diff --git a/common-be/src/test/java/org/openecomp/sdc/be/datatypes/enums/ExternalCategoryTypeEnumTest.java b/common-be/src/test/java/org/openecomp/sdc/be/datatypes/enums/ExternalCategoryTypeEnumTest.java new file mode 100644 index 0000000000..d1e5861344 --- /dev/null +++ b/common-be/src/test/java/org/openecomp/sdc/be/datatypes/enums/ExternalCategoryTypeEnumTest.java @@ -0,0 +1,129 @@ +/*- + * ============LICENSE_START======================================================= + * SDC + * ================================================================================ + * Copyright (C) 2019 Telstra Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.openecomp.sdc.be.datatypes.enums; + +import org.junit.Assert; +import org.junit.Test; + +public class ExternalCategoryTypeEnumTest { + + private static final String PARTNER_DOMAIN_SERVICE_UPPER = "Partner Domain Service"; + private static final String PARTNER_DOMAIN_SERVICE_LOWER = "partner domain service"; + private ExternalCategoryTypeEnum createTestSubject() { + return ExternalCategoryTypeEnum.PARTNER_DOMAIN_SERVICE; + } + + @Test + public void testGetValue() { + ExternalCategoryTypeEnum testSubject; + String result; + + // default test + testSubject = createTestSubject(); + result = testSubject.getValue(); + Assert.assertSame(result, ExternalCategoryTypeEnum.PARTNER_DOMAIN_SERVICE.getValue()); + } + + @Test + public void testIsAtomicType() { + ExternalCategoryTypeEnum testSubject; + boolean result; + + // default test + testSubject = createTestSubject(); + result = testSubject.isAtomicType(); + Assert.assertSame(result,true); + } + + @Test + public void testGetInvalidType() { + String type = "Invalid Service"; + ExternalCategoryTypeEnum result; + + // default test + result = ExternalCategoryTypeEnum.getType(type); + Assert.assertSame(result, null); + Assert.assertNull(result); + } + + @Test + public void testGetValidType() { + String type = "PARTNER_DOMAIN_SERVICE"; + ExternalCategoryTypeEnum result; + + // default test + result = ExternalCategoryTypeEnum.getType(type); + Assert.assertSame(result, ExternalCategoryTypeEnum.PARTNER_DOMAIN_SERVICE); + + } + + @Test + public void testGetTypeByName() { + String type = ""; + ExternalCategoryTypeEnum result; + + // default test + result = ExternalCategoryTypeEnum.getType(type); + Assert.assertSame(result, null); + result = ExternalCategoryTypeEnum.getTypeByName(ExternalCategoryTypeEnumTest.PARTNER_DOMAIN_SERVICE_UPPER); + Assert.assertSame(result, ExternalCategoryTypeEnum.PARTNER_DOMAIN_SERVICE); + + } + + @Test + public void testGetTypeIgnoreCase() { + String type = ""; + ExternalCategoryTypeEnum result; + + // default test + result = ExternalCategoryTypeEnum.getTypeIgnoreCase(type); + Assert.assertSame(result, null); + result = ExternalCategoryTypeEnum.getTypeIgnoreCase(ExternalCategoryTypeEnumTest.PARTNER_DOMAIN_SERVICE_LOWER); + Assert.assertSame(result,ExternalCategoryTypeEnum.PARTNER_DOMAIN_SERVICE ); + } + + @Test + public void testContainsName() { + String type = ""; + boolean result; + + // default test + result = ExternalCategoryTypeEnum.containsName(type); + Assert.assertSame(result,false); + result = ExternalCategoryTypeEnum.containsName(ExternalCategoryTypeEnumTest.PARTNER_DOMAIN_SERVICE_LOWER); + Assert.assertSame(result,false); + } + + @Test + public void testContainsIgnoreCase() { + String type = ""; + boolean result; + + // default test + result = ExternalCategoryTypeEnum.containsIgnoreCase(type); + Assert.assertSame(result,false); + result = ExternalCategoryTypeEnum.containsIgnoreCase(ExternalCategoryTypeEnumTest.PARTNER_DOMAIN_SERVICE_LOWER); + Assert.assertSame(result,true); + result = ExternalCategoryTypeEnum.containsIgnoreCase(ExternalCategoryTypeEnumTest.PARTNER_DOMAIN_SERVICE_UPPER); + Assert.assertSame(result,true); + } +} + |