aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/org/onap/crud/dao
diff options
context:
space:
mode:
authorGurjeet Bedi <gurjeetb@amdocs.com>2018-01-31 15:05:30 -0500
committerGurjeet Bedi <gurjeetb@amdocs.com>2018-01-31 15:19:18 -0500
commit74879a7b7a5607c89aef5fa9d64aca5ddea8e3b7 (patch)
tree051004369efcf083980116201116de438a938567 /src/main/java/org/onap/crud/dao
parent1bb61ff3e013bcd41beffc5d9f01964f422f8a9e (diff)
Config to be able to route GET through datarouter
Option to route GET through data router Issue-ID: AAI-482 Change-Id: I6b9a3621d5e3a5ec83d69a948917865941ede833 Signed-off-by: Gurjeet Bedi <gurjeetb@amdocs.com>
Diffstat (limited to 'src/main/java/org/onap/crud/dao')
-rw-r--r--src/main/java/org/onap/crud/dao/DataRouterDAO.java51
-rw-r--r--src/main/java/org/onap/crud/dao/champ/ChampDao.java34
2 files changed, 73 insertions, 12 deletions
diff --git a/src/main/java/org/onap/crud/dao/DataRouterDAO.java b/src/main/java/org/onap/crud/dao/DataRouterDAO.java
new file mode 100644
index 0000000..910fcf2
--- /dev/null
+++ b/src/main/java/org/onap/crud/dao/DataRouterDAO.java
@@ -0,0 +1,51 @@
+/**
+ * ============LICENSE_START=======================================================
+ * Gizmo
+ * ================================================================================
+ * Copyright © 2017 AT&T Intellectual Property.
+ * Copyright © 2017 Amdocs
+ * 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=========================================================
+ *
+ * ECOMP is a trademark and service mark of AT&T Intellectual Property.
+ */
+package org.onap.crud.dao;
+
+import org.eclipse.jetty.util.security.Password;
+import org.onap.aai.cl.api.Logger;
+import org.onap.aai.cl.eelf.LoggerFactory;
+import org.onap.aai.restclient.client.RestClient;
+import org.onap.aai.restclient.enums.RestAuthenticationMode;
+import org.onap.crud.dao.champ.ChampDao;
+import org.onap.crud.util.CrudServiceConstants;
+
+public class DataRouterDAO extends ChampDao {
+ private Logger logger = LoggerFactory.getInstance().getLogger(DataRouterDAO.class.getName());
+
+ public DataRouterDAO(String url, String certPassword) {
+ try {
+ client = new RestClient().authenticationMode(RestAuthenticationMode.SSL_CERT).validateServerHostname(false)
+ .validateServerCertChain(false).clientCertFile(CrudServiceConstants.CRD_DATAROUTER_AUTH_FILE)
+ .clientCertPassword(Password.deobfuscate(certPassword));
+
+ baseObjectUrl = url + OBJECT_SUB_URL;
+ baseRelationshipUrl = url + RELATIONSHIP_SUB_URL;
+ } catch (Exception e) {
+ System.out.println("Error setting up datarouter configuration");
+ e.printStackTrace();
+ System.exit(1);
+ }
+ }
+}
diff --git a/src/main/java/org/onap/crud/dao/champ/ChampDao.java b/src/main/java/org/onap/crud/dao/champ/ChampDao.java
index 0bf8368..cd0e66f 100644
--- a/src/main/java/org/onap/crud/dao/champ/ChampDao.java
+++ b/src/main/java/org/onap/crud/dao/champ/ChampDao.java
@@ -57,26 +57,29 @@ import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
public class ChampDao implements GraphDao {
- private RestClient client;
- private String baseObjectUrl;
- private String baseRelationshipUrl;
- private String baseTransactionUrl;
-
- private static final String HEADER_FROM_APP = "X-FromAppId";
- private static final String HEADER_TRANS_ID = "X-TransactionId";
- private static final String FROM_APP_NAME = "Gizmo";
- private static final String OBJECT_SUB_URL = "objects";
- private static final String RELATIONSHIP_SUB_URL = "relationships";
- private static final String TRANSACTION_SUB_URL = "transaction";
+ protected RestClient client;
+ protected String baseObjectUrl;
+ protected String baseRelationshipUrl;
+ protected String baseTransactionUrl;
+
+ protected static final String HEADER_FROM_APP = "X-FromAppId";
+ protected static final String HEADER_TRANS_ID = "X-TransactionId";
+ protected static final String FROM_APP_NAME = "Gizmo";
+ protected static final String OBJECT_SUB_URL = "objects";
+ protected static final String RELATIONSHIP_SUB_URL = "relationships";
+ protected static final String TRANSACTION_SUB_URL = "transaction";
private Logger logger = LoggerFactory.getInstance().getLogger(ChampDao.class.getName());
// We use a custom vertex serializer for champ because it expects "key"
// instead of "id"
- private static final Gson champGson = new GsonBuilder()
+ protected static final Gson champGson = new GsonBuilder()
.registerTypeAdapterFactory(new GsonJava8TypeAdapterFactory())
.registerTypeAdapter(Vertex.class, new ChampVertexSerializer())
.registerTypeAdapter(Edge.class, new ChampEdgeSerializer()).create();
+
+ public ChampDao() {
+ }
public ChampDao(String champUrl, String certPassword) {
try {
@@ -94,6 +97,13 @@ public class ChampDao implements GraphDao {
}
}
+ public ChampDao(RestClient client, String baseObjectUrl, String baseRelationshipUrl, String baseTransactionUrl) {
+ this.client = client;
+ this.baseObjectUrl = baseObjectUrl;
+ this.baseRelationshipUrl = baseRelationshipUrl;
+ this.baseTransactionUrl = baseTransactionUrl;
+ }
+
@Override
public Vertex getVertex(String id, String version) throws CrudException {
String url = baseObjectUrl + "/" + id;