summaryrefslogtreecommitdiffstats
path: root/ms/neng/src/main/java
diff options
context:
space:
mode:
authorBT2983 <BT2983@att.com>2018-08-16 21:48:07 -0600
committerBT2983 <BT2983@att.com>2018-08-16 21:48:07 -0600
commit9cbcdacf01abd92ca0952410760d3d8545b23ad8 (patch)
treeb5cf281c43bd683ae4749944cc5348a9494864e0 /ms/neng/src/main/java
parentec42fbdf2e1b1f985777cd6adc1a3287f842b28f (diff)
Naming micro-service code.
Docker updates and tests. Change-Id: Iba669453c4035290441c757f5b1c673ab41213d6 Issue-ID: CCSDK-342 Signed-off-by: BT2983 <BT2983@att.com>
Diffstat (limited to 'ms/neng/src/main/java')
-rw-r--r--ms/neng/src/main/java/org/onap/ccsdk/apps/ms/neng/core/Application.java4
-rw-r--r--ms/neng/src/main/java/org/onap/ccsdk/apps/ms/neng/core/persistence/ApplicationConfig.java26
-rw-r--r--ms/neng/src/main/java/org/onap/ccsdk/apps/ms/neng/core/service/SpringServiceImpl.java21
-rw-r--r--ms/neng/src/main/java/org/onap/ccsdk/apps/ms/neng/core/service/rs/RestService.java5
-rw-r--r--ms/neng/src/main/java/org/onap/ccsdk/apps/ms/neng/core/service/rs/RestServiceImpl.java14
-rw-r--r--ms/neng/src/main/java/org/onap/ccsdk/apps/ms/neng/service/extinf/impl/PolicyFinderServiceDbImpl.java3
6 files changed, 43 insertions, 30 deletions
diff --git a/ms/neng/src/main/java/org/onap/ccsdk/apps/ms/neng/core/Application.java b/ms/neng/src/main/java/org/onap/ccsdk/apps/ms/neng/core/Application.java
index e95fb7eb..6efa94de 100644
--- a/ms/neng/src/main/java/org/onap/ccsdk/apps/ms/neng/core/Application.java
+++ b/ms/neng/src/main/java/org/onap/ccsdk/apps/ms/neng/core/Application.java
@@ -23,10 +23,7 @@ package org.onap.ccsdk.apps.ms.neng.core;
import java.util.Arrays;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
-import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.support.SpringBootServletInitializer;
import org.springframework.context.ApplicationContext;
@@ -40,7 +37,6 @@ import org.springframework.scheduling.annotation.EnableAsync;
@SpringBootApplication
@ComponentScan(basePackages = "org.onap.ccsdk")
@EnableAsync
-@EnableAutoConfiguration(exclude = {DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class})
public class Application extends SpringBootServletInitializer {
/**
* Configures the application.
diff --git a/ms/neng/src/main/java/org/onap/ccsdk/apps/ms/neng/core/persistence/ApplicationConfig.java b/ms/neng/src/main/java/org/onap/ccsdk/apps/ms/neng/core/persistence/ApplicationConfig.java
index d69c270c..f68add72 100644
--- a/ms/neng/src/main/java/org/onap/ccsdk/apps/ms/neng/core/persistence/ApplicationConfig.java
+++ b/ms/neng/src/main/java/org/onap/ccsdk/apps/ms/neng/core/persistence/ApplicationConfig.java
@@ -20,16 +20,23 @@
package org.onap.ccsdk.apps.ms.neng.core.persistence;
+import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
+import java.util.Properties;
+import java.util.stream.StreamSupport;
import javax.sql.DataSource;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.boot.autoconfigure.orm.jpa.JpaProperties;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.orm.jpa.EntityManagerFactoryBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
+import org.springframework.core.env.AbstractEnvironment;
+import org.springframework.core.env.EnumerablePropertySource;
import org.springframework.core.env.Environment;
+import org.springframework.core.env.MutablePropertySources;
import org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
import org.springframework.jdbc.datasource.DriverManagerDataSource;
@@ -44,17 +51,32 @@ import org.springframework.transaction.annotation.EnableTransactionManagement;
*/
@Configuration
@EnableJpaRepositories(basePackages = "org.onap.ccsdk.apps.ms.neng.persistence.repository")
+@EntityScan("org.onap.ccsdk.apps.ms.neng.persistence.entity")
@EnableTransactionManagement
public class ApplicationConfig {
@Autowired
private Environment environment;
+ @SuppressWarnings("rawtypes")
+ void debugProperties() {
+ Properties props = new Properties();
+ MutablePropertySources propSrcs = ((AbstractEnvironment)this.environment).getPropertySources();
+ StreamSupport.stream(propSrcs.spliterator(), false)
+ .filter(ps -> ps instanceof EnumerablePropertySource)
+ .map(ps -> ((EnumerablePropertySource) ps).getPropertyNames())
+ .flatMap(Arrays::<String>stream)
+ .forEach(propName -> props.setProperty(propName, this.environment.getProperty(propName)));
+ System.out.println("Properties: " + props);
+ }
+
/**
* Builds and returns the DataSource used for persisting the data managed by this micro-service.
*/
@Bean
public DataSource dataSource() {
+ debugProperties();
+
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName(environment.getProperty("datasource.db.driver-class-name"));
dataSource.setUrl(environment.getProperty("datasource.db.url"));
@@ -133,9 +155,9 @@ public class ApplicationConfig {
JpaVendorAdapter jpaVendAdapter,
Map<String, String> hibProps,
DataSource dataSource) {
+ debugProperties();
EntityManagerFactoryBuilder factBuilder = new EntityManagerFactoryBuilder(jpaVendAdapter, hibProps, null);
- String pkgToScan = environment.getProperty("entitymanager.packagesToScan");
+ String pkgToScan = "org.onap.ccsdk.apps.ms.neng.persistence.entity";
return factBuilder.dataSource(dataSource).packages(pkgToScan).build();
}
-
}
diff --git a/ms/neng/src/main/java/org/onap/ccsdk/apps/ms/neng/core/service/SpringServiceImpl.java b/ms/neng/src/main/java/org/onap/ccsdk/apps/ms/neng/core/service/SpringServiceImpl.java
index 24736b2f..79e46575 100644
--- a/ms/neng/src/main/java/org/onap/ccsdk/apps/ms/neng/core/service/SpringServiceImpl.java
+++ b/ms/neng/src/main/java/org/onap/ccsdk/apps/ms/neng/core/service/SpringServiceImpl.java
@@ -168,18 +168,15 @@ public class SpringServiceImpl implements SpringService {
*/
@Override
public void addPolicy(Object request) throws Exception {
- try {
- @SuppressWarnings("unchecked")
- Map<String, Object> policyData = (Map<String, Object>)request;
- PolicyDetails pd = new PolicyDetails();
- pd.setPolicyName((String) policyData.get("policyName"));
- ObjectMapper objectmapper = new ObjectMapper();
- log.info(objectmapper.writeValueAsString(policyData.get("policyValue")));
- pd.setPolicyResponse(objectmapper.writeValueAsString(policyData.get("policyValue")));
- policyDetailsRepository.save(pd);
- } catch (Exception e) {
- log.warning(e.getMessage());
- }
+ @SuppressWarnings("unchecked")
+ Map<String, Object> policyData = (Map<String, Object>)request;
+ PolicyDetails pd = new PolicyDetails();
+ String name = (String) policyData.get("policyName");
+ pd.setPolicyName(name);
+ ObjectMapper objectmapper = new ObjectMapper();
+ log.info(objectmapper.writeValueAsString(policyData.get("policyValue")));
+ pd.setPolicyResponse((String)policyData.get("policyValue"));
+ policyDetailsRepository.save(pd);
}
void buildUnAssignResponse(List<GeneratedName> generatedNames, NameGenResponse response) {
diff --git a/ms/neng/src/main/java/org/onap/ccsdk/apps/ms/neng/core/service/rs/RestService.java b/ms/neng/src/main/java/org/onap/ccsdk/apps/ms/neng/core/service/rs/RestService.java
index f8da1eee..8319a545 100644
--- a/ms/neng/src/main/java/org/onap/ccsdk/apps/ms/neng/core/service/rs/RestService.java
+++ b/ms/neng/src/main/java/org/onap/ccsdk/apps/ms/neng/core/service/rs/RestService.java
@@ -24,7 +24,6 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
-import java.util.List;
import java.util.Map;
import javax.validation.Valid;
import javax.ws.rs.DELETE;
@@ -76,9 +75,9 @@ public interface RestService {
* <p/>This is not used by clients -- it is here to help with diagnostics.
*/
@GET
- @Path("/v1/getpolicyresponse/{policyName}")
+ @Path("/v1/getpolicyresponse")
@Produces({MediaType.APPLICATION_JSON})
- public List<Map<String, Object>> getPolicyResponse(@QueryParam("policyName") String policyName) throws Exception;
+ public Response getPolicyResponse(@QueryParam("policyName") String policyName) throws Exception;
/**
* API to add a naming policy to the database cache in this micro-service.
diff --git a/ms/neng/src/main/java/org/onap/ccsdk/apps/ms/neng/core/service/rs/RestServiceImpl.java b/ms/neng/src/main/java/org/onap/ccsdk/apps/ms/neng/core/service/rs/RestServiceImpl.java
index ed5723b6..bc8cab42 100644
--- a/ms/neng/src/main/java/org/onap/ccsdk/apps/ms/neng/core/service/rs/RestServiceImpl.java
+++ b/ms/neng/src/main/java/org/onap/ccsdk/apps/ms/neng/core/service/rs/RestServiceImpl.java
@@ -20,10 +20,7 @@
package org.onap.ccsdk.apps.ms.neng.core.service.rs;
-import com.fasterxml.jackson.core.type.TypeReference;
-import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.HashMap;
-import java.util.List;
import java.util.Map;
import java.util.logging.Logger;
import javax.validation.Valid;
@@ -90,13 +87,11 @@ public class RestServiceImpl implements RestService {
* API to return naming policy cached in this micro-service.
*/
@Override
- public List<Map<String, Object>> getPolicyResponse(String policyName) throws Exception {
+ public Response getPolicyResponse(String policyName) throws Exception {
+ log.info("get-policy: " + policyName);
+
PolicyDetails policyDetails = service.getPolicyDetails(policyName);
- List<Map<String, Object>> policyResponse = null;
- ObjectMapper mapper = new ObjectMapper();
- policyResponse = mapper.readValue(policyDetails.getPolicyResponse(),
- new TypeReference<List<Map<String, Object>>>() {});
- return policyResponse;
+ return Response.ok().entity(policyDetails.getPolicyResponse()).build();
}
/**
@@ -109,6 +104,7 @@ public class RestServiceImpl implements RestService {
service.addPolicy(request);
respMap.put("status", "Policy added successfully");
} catch (Exception e) {
+ log.warning(e.getMessage());
respMap.put("status", "Failed");
}
return respMap;
diff --git a/ms/neng/src/main/java/org/onap/ccsdk/apps/ms/neng/service/extinf/impl/PolicyFinderServiceDbImpl.java b/ms/neng/src/main/java/org/onap/ccsdk/apps/ms/neng/service/extinf/impl/PolicyFinderServiceDbImpl.java
index d283b362..9cb434ff 100644
--- a/ms/neng/src/main/java/org/onap/ccsdk/apps/ms/neng/service/extinf/impl/PolicyFinderServiceDbImpl.java
+++ b/ms/neng/src/main/java/org/onap/ccsdk/apps/ms/neng/service/extinf/impl/PolicyFinderServiceDbImpl.java
@@ -49,6 +49,9 @@ public class PolicyFinderServiceDbImpl extends PolicyFinderServiceImpl {
ObjectMapper objectmapper = new ObjectMapper();
objectmapper.enable(DeserializationFeature.ACCEPT_EMPTY_STRING_AS_NULL_OBJECT);
PolicyDetails policyDetails = policyDetailsRepo.findPolicyResponseByName(policyName);
+ if (policyDetails == null) {
+ throw new Exception("Unable to find the policy " + policyName);
+ }
List<Map<Object, Object>> respObj = objectmapper.readValue(policyDetails.getPolicyResponse(),
new TypeReference<List<Map<Object, Object>>>() {});
transformConfigObject(objectmapper, respObj);