summaryrefslogtreecommitdiffstats
path: root/ecomp-sdk/epsdk-core
diff options
context:
space:
mode:
authorArindam Mondal <arind.mondal@samsung.com>2019-02-25 18:08:57 +0900
committerarindamm <arind.mondal@samsung.com>2019-02-25 18:55:50 +0900
commit3911c26a7fda32b8f3332ceb7fa3adc34b4ece62 (patch)
treeb32411a7e841b78f464d63fdd94c730a4337c42e /ecomp-sdk/epsdk-core
parent7b740b078f8fb593c2615e8b6689d30ea46a0c86 (diff)
Reduce method parameter by implementing builder
Issue-ID: PORTAL-529 Change-Id: I1f5adc677d43c2fdc4e18f893e11b708608b0b36 Signed-off-by: arindamm <arind.mondal@samsung.com>
Diffstat (limited to 'ecomp-sdk/epsdk-core')
-rw-r--r--ecomp-sdk/epsdk-core/src/main/java/org/onap/portalsdk/core/dao/hibernate/ModelOperationsCommon.java24
-rw-r--r--ecomp-sdk/epsdk-core/src/main/java/org/onap/portalsdk/core/service/ElementMapService.java10
-rw-r--r--ecomp-sdk/epsdk-core/src/main/java/org/onap/portalsdk/core/util/NamedQueryBuilder.java106
-rw-r--r--ecomp-sdk/epsdk-core/src/test/java/org/onap/portalsdk/core/service/ElementMapServiceTest.java11
4 files changed, 123 insertions, 28 deletions
diff --git a/ecomp-sdk/epsdk-core/src/main/java/org/onap/portalsdk/core/dao/hibernate/ModelOperationsCommon.java b/ecomp-sdk/epsdk-core/src/main/java/org/onap/portalsdk/core/dao/hibernate/ModelOperationsCommon.java
index 139128b4..596646f9 100644
--- a/ecomp-sdk/epsdk-core/src/main/java/org/onap/portalsdk/core/dao/hibernate/ModelOperationsCommon.java
+++ b/ecomp-sdk/epsdk-core/src/main/java/org/onap/portalsdk/core/dao/hibernate/ModelOperationsCommon.java
@@ -59,6 +59,7 @@ import org.onap.portalsdk.core.dao.support.FusionDao;
import org.onap.portalsdk.core.domain.Lookup;
import org.onap.portalsdk.core.domain.support.DomainVo;
import org.onap.portalsdk.core.logging.logic.EELFLoggerDelegate;
+import org.onap.portalsdk.core.util.NamedQueryBuilder;
import org.onap.portalsdk.core.util.SystemProperties;
public abstract class ModelOperationsCommon extends FusionDao {
@@ -343,22 +344,21 @@ public abstract class ModelOperationsCommon extends FusionDao {
}
@SuppressWarnings("rawtypes")
- protected final List _executeNamedQueryWithOrderBy(Class entity, String queryName, String whereClause, Map params,
- String _orderBy, boolean asc, Integer fromIndex, Integer toIndex) {
+ protected final List _executeNamedQueryWithOrderBy(NamedQueryBuilder namedQuery) {
Session session = getSessionFactory().getCurrentSession();
- Query query = session.getNamedQuery(queryName);
- bindQueryParameters(query, params);
+ Query query = session.getNamedQuery(namedQuery.getQueryName());
+ bindQueryParameters(query, namedQuery.getParams());
String queryStr = query.getQueryString();
- queryStr = String.format(queryStr, _orderBy, asc ? "ASC" : "DESC");
+ queryStr = String.format(queryStr, namedQuery.get_orderBy(), namedQuery.isAsc() ? "ASC" : "DESC");
StringBuilder modifiedSql = new StringBuilder(" select * from (" + queryStr + " ) al ");
- if (whereClause != null && whereClause.length() > 0)
- modifiedSql.append("where " + whereClause);
+ if (namedQuery.getWhereClause() != null && namedQuery.getWhereClause().length() > 0)
+ modifiedSql.append("where " + namedQuery.getWhereClause());
SQLQuery sqlQuery = session.createSQLQuery(modifiedSql.toString());
- bindQueryParameters(sqlQuery, params);
- sqlQuery.addEntity("reportSearch", entity);
- if (fromIndex != null && toIndex != null) {
- sqlQuery.setFirstResult(fromIndex.intValue());
- int pageSize = (toIndex.intValue() - fromIndex.intValue()) + 1;
+ bindQueryParameters(sqlQuery, namedQuery.getParams());
+ sqlQuery.addEntity("reportSearch", namedQuery.getEntity());
+ if (namedQuery.getFromIndex() != null && namedQuery.getToIndex() != null) {
+ sqlQuery.setFirstResult(namedQuery.getFromIndex().intValue());
+ int pageSize = (namedQuery.getToIndex().intValue() - namedQuery.getFromIndex().intValue()) + 1;
sqlQuery.setMaxResults(pageSize);
}
return sqlQuery.list();
diff --git a/ecomp-sdk/epsdk-core/src/main/java/org/onap/portalsdk/core/service/ElementMapService.java b/ecomp-sdk/epsdk-core/src/main/java/org/onap/portalsdk/core/service/ElementMapService.java
index f8a547db..210e494d 100644
--- a/ecomp-sdk/epsdk-core/src/main/java/org/onap/portalsdk/core/service/ElementMapService.java
+++ b/ecomp-sdk/epsdk-core/src/main/java/org/onap/portalsdk/core/service/ElementMapService.java
@@ -49,11 +49,7 @@ import java.util.TreeSet;
import org.apache.commons.io.FilenameUtils;
import org.apache.commons.lang.StringUtils;
-import org.onap.portalsdk.core.domain.support.Container;
-import org.onap.portalsdk.core.domain.support.Domain;
-import org.onap.portalsdk.core.domain.support.Element;
-import org.onap.portalsdk.core.domain.support.ElementDetails;
-import org.onap.portalsdk.core.domain.support.Layout;
+import org.onap.portalsdk.core.domain.support.*;
import org.onap.portalsdk.core.logging.logic.EELFLoggerDelegate;
import org.onap.portalsdk.core.util.SystemProperties;
import org.onap.portalsdk.core.util.YamlUtils;
@@ -734,9 +730,7 @@ public class ElementMapService {
String bgColor = elementDetails.get("background_color") == null ? "bgColor"
: elementDetails.get("background_color");
- ElementDetails details = new ElementDetails(logical_group, display_longname, description,
- primary_function, network_function, key_interfaces, location, vendor,
- vendor_shortname, enclosingContainer);
+ ElementDetails details = new ElementDetails.ElementDetailsBuilder().setLogical_group(logical_group).setDisplay_longname(display_longname).setDescription(description).setPrimary_function(primary_function).setNetwork_function(network_function).setKey_interfaces(key_interfaces).setLocation(location).setVendor(vendor).setVendor_shortname(vendor_shortname).setEnclosingContainer(enclosingContainer).createElementDetails();
return new Element(name, display_shortname, imgPath, bgColor, borderType, details);
}
diff --git a/ecomp-sdk/epsdk-core/src/main/java/org/onap/portalsdk/core/util/NamedQueryBuilder.java b/ecomp-sdk/epsdk-core/src/main/java/org/onap/portalsdk/core/util/NamedQueryBuilder.java
new file mode 100644
index 00000000..57623ef5
--- /dev/null
+++ b/ecomp-sdk/epsdk-core/src/main/java/org/onap/portalsdk/core/util/NamedQueryBuilder.java
@@ -0,0 +1,106 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2019 Samsung Electronics Co., Ltd. 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.portalsdk.core.util;
+
+import java.util.Map;
+
+public class NamedQueryBuilder {
+ public Class getEntity() {
+ return entity;
+ }
+
+ public NamedQueryBuilder setEntity(Class entity) {
+ this.entity = entity;
+ return this;
+ }
+
+ public String getQueryName() {
+ return queryName;
+ }
+
+ public NamedQueryBuilder setQueryName(String queryName) {
+ this.queryName = queryName;
+ return this;
+ }
+
+ public String getWhereClause() {
+ return whereClause;
+ }
+
+ public NamedQueryBuilder setWhereClause(String whereClause) {
+ this.whereClause = whereClause;
+ return this;
+ }
+
+ public Map getParams() {
+ return params;
+ }
+
+ public NamedQueryBuilder setParams(Map params) {
+ this.params = params;
+ return this;
+ }
+
+ public String get_orderBy() {
+ return _orderBy;
+ }
+
+ public NamedQueryBuilder set_orderBy(String _orderBy) {
+ this._orderBy = _orderBy;
+ return this;
+ }
+
+ public boolean isAsc() {
+ return asc;
+ }
+
+ public NamedQueryBuilder setAsc(boolean asc) {
+ this.asc = asc;
+ return this;
+ }
+
+ public Integer getFromIndex() {
+ return fromIndex;
+ }
+
+ public NamedQueryBuilder setFromIndex(Integer fromIndex) {
+ this.fromIndex = fromIndex;
+ return this;
+ }
+
+ public Integer getToIndex() {
+ return toIndex;
+ }
+
+ public NamedQueryBuilder setToIndex(Integer toIndex) {
+ this.toIndex = toIndex;
+ return this;
+ }
+
+ private Class entity;
+ private String queryName;
+ private String whereClause;
+ private Map params;
+ private String _orderBy;
+ boolean asc;
+ private Integer fromIndex;
+ private Integer toIndex;
+}
diff --git a/ecomp-sdk/epsdk-core/src/test/java/org/onap/portalsdk/core/service/ElementMapServiceTest.java b/ecomp-sdk/epsdk-core/src/test/java/org/onap/portalsdk/core/service/ElementMapServiceTest.java
index 8a4639b1..f0e4304c 100644
--- a/ecomp-sdk/epsdk-core/src/test/java/org/onap/portalsdk/core/service/ElementMapServiceTest.java
+++ b/ecomp-sdk/epsdk-core/src/test/java/org/onap/portalsdk/core/service/ElementMapServiceTest.java
@@ -52,12 +52,7 @@ import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mockito;
-import org.onap.portalsdk.core.domain.support.Container;
-import org.onap.portalsdk.core.domain.support.Domain;
-import org.onap.portalsdk.core.domain.support.Element;
-import org.onap.portalsdk.core.domain.support.ElementDetails;
-import org.onap.portalsdk.core.domain.support.Layout;
-import org.onap.portalsdk.core.domain.support.Position;
+import org.onap.portalsdk.core.domain.support.*;
import org.onap.portalsdk.core.util.SystemProperties;
import org.onap.portalsdk.core.util.YamlUtils;
import org.powermock.api.mockito.PowerMockito;
@@ -242,7 +237,7 @@ public class ElementMapServiceTest {
String domain = "Test Domain";
String name = "Test Container";
- ElementDetails elementDetails = new ElementDetails(logicalName,"test","test","test","test","test","test","test","test","test");
+ ElementDetails elementDetails = new ElementDetails.ElementDetailsBuilder().setLogical_group(logicalName).setDisplay_longname("test").setDescription("test").setPrimary_function("test").setNetwork_function("test").setKey_interfaces("test").setLocation("test").setVendor("test").setVendor_shortname("test").setEnclosingContainer("test").createElementDetails();
element.setDetails(elementDetails);
Field field = elementMapService.getClass().getDeclaredField("elementMap");
@@ -287,7 +282,7 @@ public class ElementMapServiceTest {
String domain = "Test Domain";
String name = "Test Container";
- ElementDetails elementDetails = new ElementDetails(logicalName,"test","test","test","test","test","test","test","test","test");
+ ElementDetails elementDetails = new ElementDetails.ElementDetailsBuilder().setLogical_group(logicalName).setDisplay_longname("test").setDescription("test").setPrimary_function("test").setNetwork_function("test").setKey_interfaces("test").setLocation("test").setVendor("test").setVendor_shortname("test").setEnclosingContainer("test").createElementDetails();
element.setDetails(elementDetails);
Field field = elementMapService.getClass().getDeclaredField("elementMap");