diff options
author | 2017-04-27 07:53:18 -0400 | |
---|---|---|
committer | 2017-04-27 08:31:27 -0400 | |
commit | 6beb446925c967aca92f5513adf36c5db77c00d6 (patch) | |
tree | 9392057ed0739de2445c5b2a2a8bee6dcdacbcf7 /ecomp-sdk/quantum/src/main/java/org/openecomp/portalsdk/core/service/DataAccessServiceImpl.java | |
parent | 246b225194e3e8dc1926294de591a94fd9787fa7 (diff) |
[PORTAL-7] Rebase
This rebasing includes common libraries and common overlays projects
abstraction of components
Change-Id: Ia1efa4deacdc5701e6205104ac021a6c80ed60ba
Signed-off-by: st782s <statta@research.att.com>
Diffstat (limited to 'ecomp-sdk/quantum/src/main/java/org/openecomp/portalsdk/core/service/DataAccessServiceImpl.java')
-rw-r--r-- | ecomp-sdk/quantum/src/main/java/org/openecomp/portalsdk/core/service/DataAccessServiceImpl.java | 592 |
1 files changed, 0 insertions, 592 deletions
diff --git a/ecomp-sdk/quantum/src/main/java/org/openecomp/portalsdk/core/service/DataAccessServiceImpl.java b/ecomp-sdk/quantum/src/main/java/org/openecomp/portalsdk/core/service/DataAccessServiceImpl.java deleted file mode 100644 index a4644b72..00000000 --- a/ecomp-sdk/quantum/src/main/java/org/openecomp/portalsdk/core/service/DataAccessServiceImpl.java +++ /dev/null @@ -1,592 +0,0 @@ -/*- - * ================================================================================ - * eCOMP Portal SDK - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property - * ================================================================================ - * 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. - * ================================================================================ - */ -package org.openecomp.portalsdk.core.service; - -import java.io.Serializable; -import java.util.Collection; -import java.util.Collections; -import java.util.Date; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -import org.hibernate.Criteria; -import org.hibernate.FetchMode; -import org.hibernate.Query; -import org.hibernate.SQLQuery; -import org.hibernate.Session; -import org.hibernate.SessionFactory; -import org.hibernate.criterion.Criterion; -import org.hibernate.criterion.Order; -import org.hibernate.criterion.ProjectionList; -import org.openecomp.portalsdk.core.domain.Lookup; -import org.openecomp.portalsdk.core.domain.support.DomainVo; -import org.openecomp.portalsdk.core.logging.logic.EELFLoggerDelegate; -import org.openecomp.portalsdk.core.service.support.FusionService; -import org.openecomp.portalsdk.core.util.SystemProperties; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.transaction.annotation.Transactional; - -/** - * Provides implementations of methods in {@link DataAccessService}. - */ -@Transactional -public class DataAccessServiceImpl extends FusionService implements DataAccessService { - - @Autowired - private SessionFactory sessionFactory; - - EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(DataAccessServiceImpl.class); - - /* - * (non-Javadoc) - * - * @see - * org.openecomp.portalsdk.core.service.DataAccessService#getDomainObject(java.lang. - * Class, java.io.Serializable, java.util.HashMap) - */ - @Override - public DomainVo getDomainObject(Class domainClass, Serializable id, HashMap additionalParams) { - DomainVo vo = null; - Session session = sessionFactory.getCurrentSession(); - logger.info(EELFLoggerDelegate.debugLogger, "Getting " + domainClass.getName() + " record for id - " + id.toString()); - vo = (DomainVo) session.get(domainClass, id); - - if (vo == null) { - try { - vo = (DomainVo) domainClass.newInstance(); - } catch (Exception e) { - logger.error(EELFLoggerDelegate.errorLogger, "An error occured while instantiating a class of " + domainClass.getName() + e.getMessage()); - } - } - return vo; - } - - /* - * (non-Javadoc) - * - */ - @Override - public void deleteDomainObject(DomainVo domainObject, HashMap additionalParams) { - Session session = sessionFactory.getCurrentSession(); - session.delete(domainObject); - } - - /* - * (non-Javadoc) - * - * @see - * org.openecomp.portalsdk.core.service.DataAccessService#deleteDomainObjects(java. - * lang.Class, java.lang.String, java.util.HashMap) - */ - @Override - public void deleteDomainObjects(Class domainClass, String whereClause, HashMap additionalParams) { - Session session = sessionFactory.getCurrentSession(); - - StringBuffer sql = new StringBuffer("delete from "); - - sql.append(domainClass.getName()).append(" where ").append(whereClause); - - session.createQuery(sql.toString()).executeUpdate(); - } - - /* - * (non-Javadoc) - * - * @see - * org.openecomp.portalsdk.core.service.DataAccessService#saveDomainObject - */ - @Override - public void saveDomainObject(DomainVo vo, HashMap additionalParams) { - Integer userId = 1; - if (additionalParams != null) { - // look for a passed user id - // userId = (Integer)additionalParams.get(Parameters.PARAM_USERID); - Object uid = additionalParams.get(Parameters.PARAM_USERID); - if (uid instanceof Integer) { - userId = (Integer) uid; - } else if (uid instanceof Long) { - userId = ((Long) uid).intValue(); - } - // if (userId == null) { - // look for a passed request to get the user id from - // userId = new - // Integer(UserUtils.getUserId((HttpServletRequest)additionalParams.get(Parameters.PARAM_HTTP_REQUEST))); - // } - } - _update(vo, userId); - } - - /** - * Creates or updates the specified virtual object. Uses the specified user - * ID as the creator and modifier if a new object is created; uses ID only - * as modifier if an object already exists. - * - * @param vo - * @param userId - * Ignored if value is zero. - */ - protected final void _update(DomainVo vo, int userId) { - Date timestamp = new Date(); - - Session session = sessionFactory.getCurrentSession(); - - if (vo.getId() == null || vo.getId().intValue() == 0) { // add new - vo.setCreated(timestamp); - vo.setModified(timestamp); - - if (userId != 0 - && userId != Integer.parseInt(SystemProperties.getProperty(SystemProperties.APPLICATION_USER_ID))) { - vo.setCreatedId(new Long(userId)); - vo.setModifiedId(new Long(userId)); - } - } else { // update existing - vo.setModified(timestamp); - - if (userId != 0 - && userId != Integer.parseInt(SystemProperties.getProperty(SystemProperties.APPLICATION_USER_ID))) { - vo.setModifiedId(new Long(userId)); - } - } - - session.saveOrUpdate(vo); - } - - /** - * generic get list method - * - * @param domainClass - * @param filterClause - * @param fromIndex - * @param toIndex - * @param orderBy - * @return - */ - private List getListCommon(Class domainClass, String filterClause, Integer fromIndex, Integer toIndex, - String orderBy) { - List list = null; - String className = domainClass.getName(); - Session session = sessionFactory.getCurrentSession(); - - if (logger.isInfoEnabled()) { - logger.info(EELFLoggerDelegate.debugLogger, "Getting " + className.toLowerCase() + " records" - + ((fromIndex != null) ? " from rows " + fromIndex.toString() + " to " + toIndex.toString() : "") - + "..."); - if (filterClause != null && filterClause.length() > 0) - logger.info(EELFLoggerDelegate.debugLogger, "Filtering " + className + " by: " + filterClause); - } - - list = session.createQuery("from " + className + Utilities.nvl(filterClause, "") - + ((orderBy != null) ? " order by " + orderBy : "")).list(); - list = (fromIndex != null) ? list.subList(fromIndex.intValue() - 1, toIndex.intValue()) : list; - - if (orderBy == null && list != null) - Collections.sort(list); - - return list; - } - - /* - * (non-Javadoc) - * - * @see - * org.openecomp.portalsdk.core.service.DataAccessService#getList(java.lang.Class, - * java.util.HashMap) - */ - @Override - public List getList(Class domainClass, HashMap additionalParams) { - return getListCommon(domainClass, null, null, null, null); - } - - /* - * (non-Javadoc) - * - * @see - * org.openecomp.portalsdk.core.service.DataAccessService#getList(java.lang.Class, - * java.lang.String, java.lang.String, java.util.HashMap) - */ - @Override - public List getList(Class domainClass, String filter, String orderBy, HashMap additionalParams) { - return getListCommon(domainClass, filter, null, null, orderBy); - } - - /* - * (non-Javadoc) - * - * @see - * org.openecomp.portalsdk.core.service.DataAccessService#getList(java.lang.Class, - * java.lang.String, int, int, java.lang.String, java.util.HashMap) - */ - @Override - public List getList(Class domainClass, String filter, int fromIndex, int toIndex, String orderBy, - HashMap additionalParams) { - return getListCommon(domainClass, filter, new Integer(fromIndex), new Integer(toIndex), orderBy); - } - - /* - * (non-Javadoc) - * - * @see - * org.openecomp.portalsdk.core.service.DataAccessService#getList(java.lang.Class, - * org.hibernate.criterion.ProjectionList, java.util.List, java.util.List) - */ - @Override - public List<?> getList(Class<?> domainClass, ProjectionList projectionsList, List<Criterion> restrictionsList, - List<Order> orderByList) { - - Session session = sessionFactory.getCurrentSession(); - - Criteria criteria = session.createCriteria(domainClass); - - if (projectionsList != null) { - criteria.setProjection(projectionsList); - } - - if (restrictionsList != null && !restrictionsList.isEmpty()) { - for (Criterion criterion : restrictionsList) - criteria.add(criterion); - } - - if (orderByList != null && !orderByList.isEmpty()) { - for (Order order : orderByList) - criteria.addOrder(order); - } - /* - * if(fetchModeMap!=null){ Iterator<String> itr = - * fetchModeMap.keySet().iterator(); String key=null; - * while(itr.hasNext()){ key = itr.next(); - * criteria.setFetchMode(key,fetchModeMap.get(key)); } } - */ - return criteria.list(); - } - - /* - * (non-Javadoc) - * - * @see - * org.openecomp.portalsdk.core.service.DataAccessService#getLookupList(java.lang. - * String, java.lang.String, java.lang.String, java.lang.String, - * java.lang.String, java.util.HashMap) - */ - @Override - public List getLookupList(String dbTable, String dbValueCol, String dbLabelCol, String dbFilter, String dbOrderBy, - HashMap additionalParams) { - if (logger.isInfoEnabled()) - logger.info(EELFLoggerDelegate.debugLogger, "Retrieving " + dbTable + " lookup list..."); - String dbOrderByCol = dbOrderBy; - - Session session = sessionFactory.getCurrentSession(); - - // default the orderBy if null; - if (Utilities.nvl(dbOrderBy).length() == 0) { - dbOrderByCol = dbLabelCol; - dbOrderBy = dbLabelCol; - } else { - if (dbOrderBy.lastIndexOf(" ") > -1) { - dbOrderByCol = dbOrderBy.substring(0, dbOrderBy.lastIndexOf(" ")); - } - } - - StringBuffer sql = new StringBuffer(); - - sql.append("select distinct ").append(dbLabelCol).append(" as lab, ").append(dbValueCol).append(" as val, ") - .append(dbOrderByCol).append(" as sortOrder ").append("from ").append(dbTable).append(" ") - .append((Utilities.nvl(dbFilter).length() == 0) ? "" : (" where " + dbFilter)).append(" order by ") - .append(dbOrderBy); - - List list = null; - try { - list = session.createSQLQuery(sql.toString()).addEntity(Lookup.class).list(); - } catch (Exception e) { - logger.error(EELFLoggerDelegate.debugLogger, "Failed to create SQL lookup query for [" + sql + "]" + e.getMessage()); - } - return list; - } - - /* - * methods accepting a Map of additional params to passed to the DAO (for - * extensibility, just in case) - */ - - /* - * (non-Javadoc) - * - * @see - * org.openecomp.portalsdk.core.service.DataAccessService#executeSQLQuery(java.lang. - * String, java.lang.Class, java.util.HashMap) - */ - @Override - public List executeSQLQuery(String sql, Class domainClass, HashMap additionalParams) { - return executeSQLQuery(sql, domainClass, null, null, additionalParams); - } - - /* - * (non-Javadoc) - * - * @see - * org.openecomp.portalsdk.core.service.DataAccessService#executeSQLQuery(java.lang. - * String, java.lang.Class, java.lang.Integer, java.lang.Integer, - * java.util.HashMap) - */ - @Override - public List executeSQLQuery(String sql, Class domainClass, Integer fromIndex, Integer toIndex, - HashMap additionalParams) { - Session session = sessionFactory.getCurrentSession(); - - SQLQuery query = session.createSQLQuery(sql).addEntity(domainClass.getName().toLowerCase(), domainClass); - - if (fromIndex != null && toIndex != null) { - query.setFirstResult(fromIndex.intValue()); - int pageSize = (toIndex.intValue() - fromIndex.intValue()) + 1; - query.setMaxResults(pageSize); - } - - return query.list(); - } - - /* - * (non-Javadoc) - * - * @see - * org.openecomp.portalsdk.core.service.DataAccessService#executeQuery(java.lang. - * String, java.util.HashMap) - */ - @Override - public List executeQuery(String sql, HashMap additionalParams) { - return executeQuery(sql, null, null, additionalParams); - } - - /* - * (non-Javadoc) - * - * @see - * org.openecomp.portalsdk.core.service.DataAccessService#executeQuery(java.lang. - * String, java.lang.Integer, java.lang.Integer, java.util.HashMap) - */ - @Override - public List executeQuery(String sql, Integer fromIndex, Integer toIndex, HashMap additionalParams) { - Session session = sessionFactory.getCurrentSession(); - - Query query = session.createQuery(sql); - - if (fromIndex != null && toIndex != null) { - query.setFirstResult(fromIndex.intValue()); - int pageSize = (toIndex.intValue() - fromIndex.intValue()) + 1; - query.setMaxResults(pageSize); - } - - return query.list(); - } - - /* - * (non-Javadoc) - * - * @see - * org.openecomp.portalsdk.core.service.DataAccessService#executeNamedQuery(java.lang - * .String, java.lang.Integer, java.lang.Integer, java.util.HashMap) - */ - @Override - public List executeNamedQuery(String queryName, Integer fromIndex, Integer toIndex, HashMap additionalParams) { - return executeNamedQuery(queryName, null, fromIndex, toIndex, additionalParams); - } - - /* - * (non-Javadoc) - * - * @see - * org.openecomp.portalsdk.core.service.DataAccessService#executeNamedQuery(java.lang - * .String, java.util.Map, java.util.HashMap) - */ - @Override - public List executeNamedQuery(String queryName, Map params, HashMap additionalParams) { - return executeNamedQuery(queryName, params, null, null, additionalParams); - } - - /* - * (non-Javadoc) - * - * @see - * org.openecomp.portalsdk.core.service.DataAccessService#executeNamedQuery(java.lang - * .String, java.util.Map, java.lang.Integer, java.lang.Integer, - * java.util.HashMap) - */ - @Override - public List executeNamedQuery(String queryName, Map params, Integer fromIndex, Integer toIndex, - HashMap additionalParams) { - Session session = sessionFactory.getCurrentSession(); - Query query = session.getNamedQuery(queryName); - bindQueryParameters(query, params); - if (fromIndex != null && toIndex != null) { - query.setFirstResult(fromIndex.intValue()); - int pageSize = (toIndex.intValue() - fromIndex.intValue()) + 1; - query.setMaxResults(pageSize); - } - return query.list(); - } - - /** - * Stores parameters into the query using String keys from the map. Gives - * special treatment to map values of Collection and array type. - * - * @param query - * Query with parameters - * @param params - * Map of String to Object. - */ - private void bindQueryParameters(Query query, Map params) { - if (params != null) { - for (Iterator i = params.entrySet().iterator(); i.hasNext();) { - Map.Entry entry = (Map.Entry) i.next(); - - Object parameterValue = entry.getValue(); - - if (!(parameterValue instanceof Collection) && !(parameterValue instanceof Object[])) { - query.setParameter((String) entry.getKey(), parameterValue); - } else if (parameterValue instanceof Collection) { - query.setParameterList((String) entry.getKey(), (Collection) parameterValue); - } else if (parameterValue instanceof Object[]) { - query.setParameterList((String) entry.getKey(), (Object[]) parameterValue); - } - } - } - } - - // With Where Clause & RAPTOR's ZK - - /* - * (non-Javadoc) - * - * @see org.openecomp.portalsdk.core.service.DataAccessService# - * executeNamedQueryWithOrderBy(java.lang.Class, java.lang.String, - * java.util.Map, java.lang.String, boolean, java.lang.Integer, - * java.lang.Integer, java.util.HashMap) - */ - @Override - public List executeNamedQueryWithOrderBy(Class entity, String queryName, Map params, String _orderBy, boolean asc, - Integer fromIndex, Integer toIndex, HashMap additionalParams) { - // TODO Auto-generated method stub - logger.info(EELFLoggerDelegate.debugLogger, "Not implemented"); - return null; - } - - /* - * (non-Javadoc) - * - * @see - * org.openecomp.portalsdk.core.service.DataAccessService#executeNamedCountQuery(java - * .lang.Class, java.lang.String, java.lang.String, java.util.Map) - */ - @Override - public List executeNamedCountQuery(Class entity, String queryName, String whereClause, Map params) { - // TODO Auto-generated method stub - logger.info(EELFLoggerDelegate.debugLogger, "Not implemented"); - return null; - } - - /* - * (non-Javadoc) - * - * @see - * org.openecomp.portalsdk.core.service.DataAccessService#executeNamedQuery(java.lang - * .Class, java.lang.String, java.lang.String, java.util.Map, - * java.lang.Integer, java.lang.Integer, java.util.HashMap) - */ - @Override - public List executeNamedQuery(Class entity, String queryName, String whereClause, Map params, Integer fromIndex, - Integer toIndex, HashMap additionalParams) { - // TODO Auto-generated method stub - logger.info(EELFLoggerDelegate.debugLogger, "Not implemented"); - return null; - } - - /* - * (non-Javadoc) - * - * @see org.openecomp.portalsdk.core.service.DataAccessService# - * executeNamedQueryWithOrderBy(java.lang.Class, java.lang.String, - * java.lang.String, java.util.Map, java.lang.String, boolean, - * java.lang.Integer, java.lang.Integer, java.util.HashMap) - */ - @Override - public List executeNamedQueryWithOrderBy(Class entity, String queryName, String whereClause, Map params, - String _orderBy, boolean asc, Integer fromIndex, Integer toIndex, HashMap additionalParams) { - // TODO Auto-generated method stub - logger.info(EELFLoggerDelegate.debugLogger, "Not implemented"); - return null; - } - - /* - * (non-Javadoc) - * - * @see - * org.openecomp.portalsdk.core.service.DataAccessService#getList(java.lang.Class, - * org.hibernate.criterion.ProjectionList, java.util.List, java.util.List, - * java.util.HashMap) - */ - @Override - public List<?> getList(Class<?> domainClass, ProjectionList projectionsList, List<Criterion> restrictionsList, - List<Order> orderByList, HashMap<String, FetchMode> fetchModeMap) { - // TODO Auto-generated method stub - logger.info(EELFLoggerDelegate.debugLogger, "Not implemented"); - return null; - } - - /* - * (non-Javadoc) - * - * @see - * org.openecomp.portalsdk.core.service.DataAccessService#executeUpdateQuery(java. - * lang.String, java.util.HashMap) - */ - @Override - public int executeUpdateQuery(String sql, HashMap additionalParams) throws RuntimeException { - // TODO Auto-generated method stub - logger.info(EELFLoggerDelegate.debugLogger, "Not implemented"); - return 0; - } - - /* - * (non-Javadoc) - * - * @see - * org.openecomp.portalsdk.core.service.DataAccessService#executeNamedUpdateQuery( - * java.lang.String, java.util.Map, java.util.HashMap) - */ - @Override - public int executeNamedUpdateQuery(String queryName, Map params, HashMap additionalParams) throws RuntimeException { - // TODO Auto-generated method stub - logger.info(EELFLoggerDelegate.debugLogger, "Not implemented"); - return 0; - } - - /* - * (non-Javadoc) - * - * @see org.openecomp.portalsdk.core.service.DataAccessService#synchronize(java.util. - * HashMap) - */ - @Override - public void synchronize(HashMap additionalParams) { - // TODO Auto-generated method stub - logger.info(EELFLoggerDelegate.debugLogger, "Not implemented"); - } - -} |