aboutsummaryrefslogtreecommitdiffstats
path: root/common/src
diff options
context:
space:
mode:
Diffstat (limited to 'common/src')
-rw-r--r--common/src/main/java/org/onap/so/constants/Defaults.java30
-rw-r--r--common/src/main/java/org/onap/so/spring/SpringContextHelper.java40
-rw-r--r--common/src/test/java/org/onap/so/NonSpringSuite.java35
-rw-r--r--common/src/test/java/org/onap/so/SpringSuite.java35
-rw-r--r--common/src/test/java/org/onap/so/constants/DefaultsTest.java46
-rw-r--r--common/src/test/java/org/onap/so/test/categories/SpringAware.java25
-rw-r--r--common/src/test/resources/application-test.yaml4
7 files changed, 208 insertions, 7 deletions
diff --git a/common/src/main/java/org/onap/so/constants/Defaults.java b/common/src/main/java/org/onap/so/constants/Defaults.java
index 06c6fae467..621acfffaa 100644
--- a/common/src/main/java/org/onap/so/constants/Defaults.java
+++ b/common/src/main/java/org/onap/so/constants/Defaults.java
@@ -20,19 +20,35 @@
package org.onap.so.constants;
+import java.util.Optional;
+
+import org.onap.so.spring.SpringContextHelper;
+import org.springframework.context.ApplicationContext;
+
public enum Defaults {
- CLOUD_OWNER("att-aic");
-
-
- private final String value;
+ CLOUD_OWNER("org.onap.so.cloud-owner", "att-aic");
- private Defaults(String value) {
- this.value = value;
+ private final String propName;
+ private final String defaultValue;
+
+ private Defaults(String propName, String defaultValue) {
+ this.defaultValue = defaultValue;
+ this.propName = propName;
}
@Override
public String toString() {
- return this.value;
+ Optional<ApplicationContext> context = getAppContext();
+ if (context.isPresent()) {
+ return context.get().getEnvironment().getProperty(this.propName, this.defaultValue);
+ } else {
+ return this.defaultValue;
+ }
+
+ }
+
+ protected Optional<ApplicationContext> getAppContext() {
+ return Optional.ofNullable(SpringContextHelper.getAppContext());
}
}
diff --git a/common/src/main/java/org/onap/so/spring/SpringContextHelper.java b/common/src/main/java/org/onap/so/spring/SpringContextHelper.java
new file mode 100644
index 0000000000..1fae5f3e23
--- /dev/null
+++ b/common/src/main/java/org/onap/so/spring/SpringContextHelper.java
@@ -0,0 +1,40 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 - 2018 AT&T 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.onap.so.spring;
+
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.ApplicationContextAware;
+import org.springframework.stereotype.Component;
+
+@Component
+public class SpringContextHelper implements ApplicationContextAware {
+
+ private static ApplicationContext context;
+
+ @Override
+ public void setApplicationContext(ApplicationContext applicationContext) {
+ context = applicationContext;
+ }
+
+ public static ApplicationContext getAppContext() {
+ return context;
+ }
+}
diff --git a/common/src/test/java/org/onap/so/NonSpringSuite.java b/common/src/test/java/org/onap/so/NonSpringSuite.java
new file mode 100644
index 0000000000..86bb421123
--- /dev/null
+++ b/common/src/test/java/org/onap/so/NonSpringSuite.java
@@ -0,0 +1,35 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 - 2018 AT&T 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.onap.so;
+
+import org.junit.runner.RunWith;
+import org.onap.so.test.categories.SpringAware;
+
+import com.googlecode.junittoolbox.ExcludeCategories;
+import com.googlecode.junittoolbox.SuiteClasses;
+import com.googlecode.junittoolbox.WildcardPatternSuite;
+
+@RunWith(WildcardPatternSuite.class)
+@ExcludeCategories({SpringAware.class})
+@SuiteClasses({"**/*Test.class"})
+public class NonSpringSuite {
+
+}
diff --git a/common/src/test/java/org/onap/so/SpringSuite.java b/common/src/test/java/org/onap/so/SpringSuite.java
new file mode 100644
index 0000000000..93d4d31f5c
--- /dev/null
+++ b/common/src/test/java/org/onap/so/SpringSuite.java
@@ -0,0 +1,35 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 - 2018 AT&T 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.onap.so;
+
+import org.junit.runner.RunWith;
+import org.onap.so.test.categories.SpringAware;
+
+import com.googlecode.junittoolbox.IncludeCategories;
+import com.googlecode.junittoolbox.SuiteClasses;
+import com.googlecode.junittoolbox.WildcardPatternSuite;
+
+@RunWith(WildcardPatternSuite.class)
+@IncludeCategories({SpringAware.class})
+@SuiteClasses({"**/*Test.class"})
+public class SpringSuite {
+
+}
diff --git a/common/src/test/java/org/onap/so/constants/DefaultsTest.java b/common/src/test/java/org/onap/so/constants/DefaultsTest.java
new file mode 100644
index 0000000000..1bcee07118
--- /dev/null
+++ b/common/src/test/java/org/onap/so/constants/DefaultsTest.java
@@ -0,0 +1,46 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 - 2018 AT&T 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.onap.so.constants;
+
+import static org.junit.Assert.assertEquals;
+
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+import org.junit.runner.RunWith;
+import org.onap.so.spring.SpringContextHelper;
+import org.onap.so.test.categories.SpringAware;
+import org.springframework.boot.test.context.ConfigFileApplicationContextInitializer;
+import org.springframework.test.context.ActiveProfiles;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@ContextConfiguration(classes = SpringContextHelper.class, initializers = ConfigFileApplicationContextInitializer.class)
+@ActiveProfiles("test")
+@Category(SpringAware.class)
+public class DefaultsTest {
+
+ @Test
+ public void checkValue() {
+
+ assertEquals("CloudOwner", Defaults.CLOUD_OWNER.toString());
+ }
+}
diff --git a/common/src/test/java/org/onap/so/test/categories/SpringAware.java b/common/src/test/java/org/onap/so/test/categories/SpringAware.java
new file mode 100644
index 0000000000..21035fcd4d
--- /dev/null
+++ b/common/src/test/java/org/onap/so/test/categories/SpringAware.java
@@ -0,0 +1,25 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 - 2018 AT&T 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.onap.so.test.categories;
+
+public interface SpringAware {
+ /* category marker */
+}
diff --git a/common/src/test/resources/application-test.yaml b/common/src/test/resources/application-test.yaml
new file mode 100644
index 0000000000..cf386cb6fc
--- /dev/null
+++ b/common/src/test/resources/application-test.yaml
@@ -0,0 +1,4 @@
+org:
+ onap:
+ so:
+ cloud-owner: CloudOwner \ No newline at end of file