summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mso-api-handlers/mso-requests-db/src/main/java/org/openecomp/mso/requestsdb/RequestsDatabase.java50
-rw-r--r--mso-api-handlers/mso-requests-db/src/main/resources/hibernate-requests-ajsc.cfg.xml59
-rw-r--r--mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/CatalogDatabase.java74
-rw-r--r--mso-catalog-db/src/main/resources/hibernate-catalog-ajsc.cfg.xml75
4 files changed, 84 insertions, 174 deletions
diff --git a/mso-api-handlers/mso-requests-db/src/main/java/org/openecomp/mso/requestsdb/RequestsDatabase.java b/mso-api-handlers/mso-requests-db/src/main/java/org/openecomp/mso/requestsdb/RequestsDatabase.java
index 8961b26a80..9abd871b5f 100644
--- a/mso-api-handlers/mso-requests-db/src/main/java/org/openecomp/mso/requestsdb/RequestsDatabase.java
+++ b/mso-api-handlers/mso-requests-db/src/main/java/org/openecomp/mso/requestsdb/RequestsDatabase.java
@@ -39,35 +39,35 @@ import org.hibernate.persister.entity.AbstractEntityPersister;
import org.openecomp.mso.logger.MsoLogger;
-public final class RequestsDatabase {
-
- private static MsoLogger msoLogger = MsoLogger.getMsoLogger (MsoLogger.Catalog.GENERAL);
-
- private static final String SOURCE = "source";
- private static final String START_TIME = "startTime";
- private static final String REQUEST_TYPE = "requestType";
- private static final String SERVICE_INSTANCE_ID = "serviceInstanceId";
- private static final String SERVICE_INSTANCE_NAME = "serviceInstanceName";
- private static final String VNF_INSTANCE_NAME = "vnfName";
- private static final String VNF_INSTANCE_ID = "vnfId";
- private static final String VOLUME_GROUP_INSTANCE_NAME = "volumeGroupName";
- private static final String VOLUME_GROUP_INSTANCE_ID = "volumeGroupId";
- private static final String VFMODULE_INSTANCE_NAME = "vfModuleName";
- private static final String VFMODULE_INSTANCE_ID = "vfModuleId";
- private static final String NETWORK_INSTANCE_NAME = "networkName";
- private static final String NETWORK_INSTANCE_ID = "networkId";
- private static final String GLOBAL_SUBSCRIBER_ID = "globalSubscriberId";
- private static final String SERVICE_NAME_VERSION_ID = "serviceNameVersionId";
- private static final String SERVICE_ID = "serviceId";
- private static final String SERVICE_VERSION = "serviceVersion";
- private static final String SERVICE_TYPE = "serviceType";
- private static final String REQUEST_ID = "requestId";
- private static MockRequestsDatabase mockDB = null;
+public class RequestsDatabase {
+
+ protected static MsoLogger msoLogger = MsoLogger.getMsoLogger (MsoLogger.Catalog.GENERAL);
+
+ protected static final String SOURCE = "source";
+ protected static final String START_TIME = "startTime";
+ protected static final String REQUEST_TYPE = "requestType";
+ protected static final String SERVICE_INSTANCE_ID = "serviceInstanceId";
+ protected static final String SERVICE_INSTANCE_NAME = "serviceInstanceName";
+ protected static final String VNF_INSTANCE_NAME = "vnfName";
+ protected static final String VNF_INSTANCE_ID = "vnfId";
+ protected static final String VOLUME_GROUP_INSTANCE_NAME = "volumeGroupName";
+ protected static final String VOLUME_GROUP_INSTANCE_ID = "volumeGroupId";
+ protected static final String VFMODULE_INSTANCE_NAME = "vfModuleName";
+ protected static final String VFMODULE_INSTANCE_ID = "vfModuleId";
+ protected static final String NETWORK_INSTANCE_NAME = "networkName";
+ protected static final String NETWORK_INSTANCE_ID = "networkId";
+ protected static final String GLOBAL_SUBSCRIBER_ID = "globalSubscriberId";
+ protected static final String SERVICE_NAME_VERSION_ID = "serviceNameVersionId";
+ protected static final String SERVICE_ID = "serviceId";
+ protected static final String SERVICE_VERSION = "serviceVersion";
+
+ protected static final String REQUEST_ID = "requestId";
+ protected static MockRequestsDatabase mockDB = null;
/**
* Avoids creating an instance of this utility class.
*/
- private RequestsDatabase () {
+ protected RequestsDatabase () {
}
public static boolean healthCheck () {
diff --git a/mso-api-handlers/mso-requests-db/src/main/resources/hibernate-requests-ajsc.cfg.xml b/mso-api-handlers/mso-requests-db/src/main/resources/hibernate-requests-ajsc.cfg.xml
deleted file mode 100644
index 14bd7b5e69..0000000000
--- a/mso-api-handlers/mso-requests-db/src/main/resources/hibernate-requests-ajsc.cfg.xml
+++ /dev/null
@@ -1,59 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- ============LICENSE_START=======================================================
- ECOMP MSO
- ================================================================================
- Copyright (C) 2017 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=========================================================
- -->
-
-<!DOCTYPE hibernate-configuration PUBLIC
- "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
- "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
-<hibernate-configuration>
- <session-factory>
- <property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
- <property name="hibernate.show_sql">false</property>
- <property name="hibernate.format_sql">true</property>
-
- <mapping resource="InfraActiveRequests.hbm.xml"></mapping>
- <mapping resource="SiteStatus.hbm.xml"></mapping>
- </session-factory>
- <!-- <session-factory name="MSORequestsFactory">
- <property name="connection.url">${REQUESTS_CONNECTION_URL}</property>
- <property name="connection.username">${REQUESTS_USERNAME}</property>
- <property name="connection.password">${REQUESTS_PASSWORD}</property>
- <property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
- <property name="hibernate.default_schema">mso_requests</property>
- <property name="connection.driver_class">org.mariadb.jdbc.Driver</property>
- <property name="hibernate.current_session_context_class">thread</property>
- <property name="hibernate.show_sql">false</property>
- <property name="hibernate.format_sql">true</property>
-
-
- <property name="hibernate.connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>
- <property name="hibernate.c3p0.min_size">${REQUESTS_MIN_POOL_SIZE}</property>
- <property name="hibernate.c3p0.max_size">${REQUESTS_MAX_POOL_SIZE}</property>
- <property name="hibernate.c3p0.timeout">${REQUESTS_TIMEOUT}</property>
- <property name="hibernate.c3p0.max_statements">50</property>
- <property name="hibernate.c3p0.idle_test_period">1000</property>
- <property name="hibernate.connection.provider_class">org.hibernate.service.jdbc.connections.internal.C3P0ConnectionProvider</property>
-
-
-
- <mapping resource="InfraActiveRequests.hbm.xml"></mapping>
-
- </session-factory> -->
-</hibernate-configuration>
diff --git a/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/CatalogDatabase.java b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/CatalogDatabase.java
index 35158a46b4..70b9618265 100644
--- a/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/CatalogDatabase.java
+++ b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/CatalogDatabase.java
@@ -48,21 +48,22 @@ import org.openecomp.mso.logger.MsoLogger;
*/
public class CatalogDatabase implements Closeable {
- private static final String NETWORK_TYPE = "networkType";
- private static final String ACTION = "action";
- private static final String VNF_TYPE = "vnfType";
- private static final String SERVICE_TYPE = "serviceType";
- private static final String VNF_COMPONENT_TYPE = "vnfComponentType";
- private static final String MODEL_NAME = "modelName";
- private static final String TYPE = "type";
- private static final String VF_MODULE_ID = "vfModuleId";
- private static boolean initialized = false;
- private static SessionFactory sessionFactory;
- private static ServiceRegistry serviceRegistry;
-
- private static final MsoLogger LOGGER = MsoLogger.getMsoLogger (MsoLogger.Catalog.GENERAL);
-
- private Session session = null;
+ protected static final String NETWORK_TYPE = "networkType";
+ protected static final String ACTION = "action";
+ protected static final String VNF_TYPE = "vnfType";
+ protected static final String SERVICE_TYPE = "serviceType";
+ protected static final String VNF_COMPONENT_TYPE = "vnfComponentType";
+ protected static final String MODEL_NAME = "modelName";
+ protected static final String TYPE = "type";
+ protected static final String VF_MODULE_ID = "vfModuleId";
+ protected static boolean initialized = false;
+ protected static SessionFactory sessionFactory;
+ protected static ServiceRegistry serviceRegistry;
+ protected static final String SERVICE_NAME_VERSION_ID= "serviceNameVersionId";
+
+ protected static final MsoLogger LOGGER = MsoLogger.getMsoLogger (MsoLogger.Catalog.GENERAL);
+
+ protected Session session = null;
public CatalogDatabase () {
}
@@ -388,6 +389,49 @@ public class CatalogDatabase implements Closeable {
}
/**
+ * Return a Service recipe that matches a given SERVICE_NAME_VERSION_ID
+ * (MODEL_VERSION_ID) and ACTION
+ *
+ * @param modelVersionId
+ * @param action
+ * @return ServiceRecipe object or null if none found
+ */
+ public ServiceRecipe getServiceRecipe(String modelVersionId,
+ String action) {
+
+ long startTime = System.currentTimeMillis();
+ LOGGER.debug("Catalog database - get Service recipe with modeVersionId=" + modelVersionId
+ + " and action=" + action);
+
+ try {
+ String hql;
+
+ hql = "SELECT new ServiceRecipe(SR.id, SR.serviceId, SR.action, SR.description, " +
+ "SR.orchestrationUri, SR.serviceParamXSD, case when SR.recipeTimeout is null then 0 else SR.recipeTimeout end, " +
+ "case when SR.serviceTimeoutInterim is null then 0 else SR.serviceTimeoutInterim end, SR.created) " +
+ "FROM Service as S RIGHT OUTER JOIN S.recipes SR " +
+ "WHERE SR.serviceId = S.id AND S.serviceNameVersionId = :serviceNameVersionId AND SR.action = :action";
+ Query query = getSession().createQuery(hql);
+ query.setParameter(SERVICE_NAME_VERSION_ID, modelVersionId);
+ query.setParameter(ACTION, action);
+
+ @SuppressWarnings("unchecked")
+ List<ServiceRecipe> recipeResultList = query.list();
+ if (recipeResultList.isEmpty()) {
+ LOGGER.debug("Catalog database - recipeResultList is null");
+ return null;
+ }
+ Collections.sort(recipeResultList, new MavenLikeVersioningComparator());
+ Collections.reverse(recipeResultList);
+ LOGGER.debug("Catalog database - recipeResultList contains " + recipeResultList.get(0).toString());
+
+ return recipeResultList.get(0);
+ } finally {
+ LOGGER.recordMetricEvent(startTime, MsoLogger.StatusCode.COMPLETE, MsoLogger.ResponseCode.Suc, "Successfully", "CatalogDB", "getServiceRecipe", null);
+ }
+ }
+
+ /**
* Return a newest version of Service recipe that matches a given SERVICE_ID and ACTION
*
* @param serviceId
diff --git a/mso-catalog-db/src/main/resources/hibernate-catalog-ajsc.cfg.xml b/mso-catalog-db/src/main/resources/hibernate-catalog-ajsc.cfg.xml
deleted file mode 100644
index 7f28a36346..0000000000
--- a/mso-catalog-db/src/main/resources/hibernate-catalog-ajsc.cfg.xml
+++ /dev/null
@@ -1,75 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- ============LICENSE_START=======================================================
- ECOMP MSO
- ================================================================================
- Copyright (C) 2017 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=========================================================
- -->
-
-
-<!DOCTYPE hibernate-configuration SYSTEM "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
-
-<hibernate-configuration>
- <session-factory>
- <property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
- <property name="hibernate.show_sql">false</property>
- <property name="hibernate.format_sql">true</property>
-
- <mapping resource="VnfResource.hbm.xml"/>
- <mapping resource="VnfRecipe.hbm.xml"/>
- <mapping resource="HeatTemplate.hbm.xml"/>
- <mapping resource="Service.hbm.xml"/>
- <mapping resource="NetworkResource.hbm.xml"/>
- <mapping resource="NetworkRecipe.hbm.xml"/>
- <mapping resource="HeatEnvironment.hbm.xml"/>
- <mapping resource="HeatNestedTemplate.hbm.xml"/>
- <mapping resource="VnfComponent.hbm.xml"/>
- <mapping resource="VnfComponentsRecipe.hbm.xml"/>
- <mapping resource="VfModule.hbm.xml"/>
- <mapping resource="VfModuleToHeatFiles.hbm.xml"/>
- <!-- <property name="connection.url">${CATALOG_CONNECTION_URL}</property>
- <property name="connection.username">${CATALOG_USERNAME}</property>
- <property name="connection.password">${CATALOG_PASSWORD}</property>
- <property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
- <property name="hibernate.default_schema">mso_catalog</property>
- <property name="connection.driver_class">org.mariadb.jdbc.Driver</property>
- <property name="hibernate.current_session_context_class">thread</property>
- <property name="hibernate.show_sql">false</property>
- <property name="hibernate.format_sql">true</property>
-
-
- <property name="hibernate.connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>
- <property name="hibernate.c3p0.min_size">${CATALOG_MIN_POOL_SIZE}</property>
- <property name="hibernate.c3p0.max_size">${CATALOG_MAX_POOL_SIZE}</property>
- <property name="hibernate.c3p0.timeout">${CATALOG_TIMEOUT}</property>
- <property name="hibernate.c3p0.max_statements">50</property>
- <property name="hibernate.c3p0.idle_test_period">1000</property>
- <property name="hibernate.connection.provider_class">org.hibernate.service.jdbc.connections.internal.C3P0ConnectionProvider</property>
-
-
- <mapping resource="VnfResource.hbm.xml"/>
- <mapping resource="VnfRecipe.hbm.xml"/>
- <mapping resource="HeatTemplate.hbm.xml"/>
- <mapping resource="CloudSite.hbm.xml"/>
- <mapping resource="Service.hbm.xml"/>
- <mapping resource="NetworkResource.hbm.xml"/>
- <mapping resource="NetworkRecipe.hbm.xml"/>
- <mapping resource="HeatEnvironment.hbm.xml"/>
- <mapping resource="HeatNestedTemplate.hbm.xml"/>
- <mapping resource="VnfComponent.hbm.xml"/>
- <mapping resource="VnfComponentsRecipe.hbm.xml"/> -->
- </session-factory>
-</hibernate-configuration>