diff options
Diffstat (limited to 'ecomp-sdk/epsdk-core/src/main/java/org/onap/portalsdk/core/service/DataAccessServiceImpl.java')
-rw-r--r-- | ecomp-sdk/epsdk-core/src/main/java/org/onap/portalsdk/core/service/DataAccessServiceImpl.java | 154 |
1 files changed, 63 insertions, 91 deletions
diff --git a/ecomp-sdk/epsdk-core/src/main/java/org/onap/portalsdk/core/service/DataAccessServiceImpl.java b/ecomp-sdk/epsdk-core/src/main/java/org/onap/portalsdk/core/service/DataAccessServiceImpl.java index e53260db..f34610cb 100644 --- a/ecomp-sdk/epsdk-core/src/main/java/org/onap/portalsdk/core/service/DataAccessServiceImpl.java +++ b/ecomp-sdk/epsdk-core/src/main/java/org/onap/portalsdk/core/service/DataAccessServiceImpl.java @@ -6,7 +6,7 @@ * =================================================================== * * Unless otherwise specified, all software contained herein is licensed - * under the Apache License, Version 2.0 (the “License”); + * under the Apache License, Version 2.0 (the "License"); * you may not use this software except in compliance with the License. * You may obtain a copy of the License at * @@ -19,7 +19,7 @@ * limitations under the License. * * Unless otherwise specified, all documentation contained herein is licensed - * under the Creative Commons License, Attribution 4.0 Intl. (the “License”); + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); * you may not use this documentation except in compliance with the License. * You may obtain a copy of the License at * @@ -41,7 +41,6 @@ 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; @@ -75,66 +74,55 @@ public class DataAccessServiceImpl extends FusionService implements DataAccessSe private SessionFactory sessionFactory; @Override - public DomainVo getDomainObject(Class domainClass, Serializable id, HashMap additionalParams) { - DomainVo vo = null; + public DomainVo getDomainObject(Class domainClass, Serializable id, Map additionalParams) { Session session = sessionFactory.getCurrentSession(); - logger.info(EELFLoggerDelegate.debugLogger, "Getting " + domainClass.getName() + " record for id - " + id.toString()); - vo = (DomainVo) session.get(domainClass, id); - + logger.info(EELFLoggerDelegate.debugLogger, + "Getting " + domainClass.getName() + " record for id - " + id.toString()); + DomainVo 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()); + logger.error(EELFLoggerDelegate.errorLogger, + "getDomainObject failed while instantiating class " + domainClass.getName(), e); } } return vo; } @Override - public void deleteDomainObject(DomainVo domainObject, HashMap additionalParams) { + public void deleteDomainObject(DomainVo domainObject, Map additionalParams) { Session session = sessionFactory.getCurrentSession(); session.delete(domainObject); } @Override - public void deleteDomainObjects(Class domainClass, String whereClause, HashMap additionalParams) { - int rowsAffected = 0; + public void deleteDomainObjects(Class domainClass, String whereClause, Map additionalParams) { Session session = sessionFactory.getCurrentSession(); - StringBuffer sql = new StringBuffer("delete from "); - sql.append(domainClass.getName()).append(" where ").append(whereClause); - - rowsAffected = session.createQuery(sql.toString()).executeUpdate(); - /* return rowsAffected; */ + Query query = session.createQuery(sql.toString()); + query.executeUpdate(); } @Override - public void saveDomainObject(DomainVo vo, HashMap additionalParams) { + public void saveDomainObject(DomainVo vo, Map 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. + * 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 @@ -178,7 +166,6 @@ public class DataAccessServiceImpl extends FusionService implements DataAccessSe */ private List getListCommon(Class domainClass, String filterClause, Integer fromIndex, Integer toIndex, String orderBy) { - List list = null; String className = domainClass.getName(); Session session = sessionFactory.getCurrentSession(); @@ -187,13 +174,12 @@ public class DataAccessServiceImpl extends FusionService implements DataAccessSe + ((fromIndex != null) ? " from rows " + fromIndex.toString() + " to " + toIndex.toString() : "") + "..."); if (filterClause != null && filterClause.length() > 0) - logger.info(EELFLoggerDelegate.debugLogger, "Filtering " + className + " by: " + filterClause); + logger.info(EELFLoggerDelegate.debugLogger, "Filtering " + className + " by: " + filterClause); } - list = session.createQuery("from " + className + Utilities.nvl(filterClause, "") + List 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); @@ -201,18 +187,18 @@ public class DataAccessServiceImpl extends FusionService implements DataAccessSe } @Override - public List getList(Class domainClass, HashMap additionalParams) { + public List getList(Class domainClass, Map additionalParams) { return getListCommon(domainClass, null, null, null, null); } @Override - public List getList(Class domainClass, String filter, String orderBy, HashMap additionalParams) { + public List getList(Class domainClass, String filter, String orderBy, Map additionalParams) { return getListCommon(domainClass, filter, null, null, orderBy); } @Override public List getList(Class domainClass, String filter, int fromIndex, int toIndex, String orderBy, - HashMap additionalParams) { + Map additionalParams) { return getListCommon(domainClass, filter, new Integer(fromIndex), new Integer(toIndex), orderBy); } @@ -237,36 +223,28 @@ public class DataAccessServiceImpl extends FusionService implements DataAccessSe 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(); } @Override public List getLookupList(String dbTable, String dbValueCol, String dbLabelCol, String dbFilter, String dbOrderBy, - HashMap additionalParams) { + Map additionalParams) { if (logger.isInfoEnabled()) - logger.info(EELFLoggerDelegate.debugLogger, "Retrieving " + dbTable + " lookup list..."); + logger.info(EELFLoggerDelegate.debugLogger, "Retrieving " + dbTable + " lookup list..."); String dbOrderByCol = dbOrderBy; Session session = sessionFactory.getCurrentSession(); - // default the orderBy if null; + // 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(" ")); - } + } else if (dbOrderBy.lastIndexOf(" ") > -1) { + dbOrderByCol = dbOrderBy.substring(0, dbOrderBy.lastIndexOf(" ")); } - StringBuffer sql = new StringBuffer(); - + StringBuilder sql = new StringBuilder(); 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 ") @@ -276,7 +254,7 @@ public class DataAccessServiceImpl extends FusionService implements DataAccessSe 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()); + logger.error(EELFLoggerDelegate.errorLogger, "getLookupList failed on query query [" + sql + "]", e); } return list; } @@ -287,13 +265,13 @@ public class DataAccessServiceImpl extends FusionService implements DataAccessSe */ @Override - public List executeSQLQuery(String sql, Class domainClass, HashMap additionalParams) { + public List executeSQLQuery(String sql, Class domainClass, Map additionalParams) { return executeSQLQuery(sql, domainClass, null, null, additionalParams); } @Override public List executeSQLQuery(String sql, Class domainClass, Integer fromIndex, Integer toIndex, - HashMap additionalParams) { + Map additionalParams) { Session session = sessionFactory.getCurrentSession(); SQLQuery query = session.createSQLQuery(sql).addEntity(domainClass.getName().toLowerCase(), domainClass); @@ -308,12 +286,12 @@ public class DataAccessServiceImpl extends FusionService implements DataAccessSe } @Override - public List executeQuery(String sql, HashMap additionalParams) { + public List executeQuery(String sql, Map additionalParams) { return executeQuery(sql, null, null, additionalParams); } @Override - public List executeQuery(String sql, Integer fromIndex, Integer toIndex, HashMap additionalParams) { + public List executeQuery(String sql, Integer fromIndex, Integer toIndex, Map additionalParams) { Session session = sessionFactory.getCurrentSession(); Query query = session.createQuery(sql); @@ -328,18 +306,18 @@ public class DataAccessServiceImpl extends FusionService implements DataAccessSe } @Override - public List executeNamedQuery(String queryName, Integer fromIndex, Integer toIndex, HashMap additionalParams) { + public List executeNamedQuery(String queryName, Integer fromIndex, Integer toIndex, Map additionalParams) { return executeNamedQuery(queryName, null, fromIndex, toIndex, additionalParams); } @Override - public List executeNamedQuery(String queryName, Map params, HashMap additionalParams) { + public List executeNamedQuery(String queryName, Map params, Map additionalParams) { return executeNamedQuery(queryName, params, null, null, additionalParams); } @Override public List executeNamedQuery(String queryName, Map params, Integer fromIndex, Integer toIndex, - HashMap additionalParams) { + Map additionalParams) { Session session = sessionFactory.getCurrentSession(); Query query = session.getNamedQuery(queryName); bindQueryParameters(query, params); @@ -364,15 +342,16 @@ public class DataAccessServiceImpl extends FusionService implements DataAccessSe 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); + } else { + logger.error(EELFLoggerDelegate.errorLogger, "bindQueryParameters: no match for value {}", + parameterValue); } } } @@ -381,62 +360,55 @@ public class DataAccessServiceImpl extends FusionService implements DataAccessSe // With Where Clause & RAPTOR's ZK @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; + public List executeNamedQueryWithOrderBy(Class entity, String queryName, Map params, String orderBy, boolean asc, + Integer fromIndex, Integer toIndex, Map additionalParams) { + logger.error(EELFLoggerDelegate.errorLogger, "Not implemented"); + throw new UnsupportedOperationException(); } @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; + logger.error(EELFLoggerDelegate.errorLogger, "Not implemented"); + throw new UnsupportedOperationException(); } @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; + Integer toIndex, Map additionalParams) { + logger.error(EELFLoggerDelegate.errorLogger, "Not implemented"); + throw new UnsupportedOperationException(); } @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; + String orderBy, boolean asc, Integer fromIndex, Integer toIndex, Map additionalParams) { + logger.error(EELFLoggerDelegate.errorLogger, "Not implemented"); + throw new UnsupportedOperationException(); } @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; + List<Order> orderByList, Map<String, FetchMode> fetchModeMap) { + logger.error(EELFLoggerDelegate.errorLogger, "Not implemented"); + throw new UnsupportedOperationException(); } @Override - public int executeUpdateQuery(String sql, HashMap additionalParams) throws RuntimeException { - // TODO Auto-generated method stub - logger.info(EELFLoggerDelegate.debugLogger, "Not implemented"); - return 0; + public int executeUpdateQuery(String sql, Map additionalParams) { + logger.error(EELFLoggerDelegate.errorLogger, "Not implemented"); + throw new UnsupportedOperationException(); } @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; + public int executeNamedUpdateQuery(String queryName, Map params, Map additionalParams) { + logger.error(EELFLoggerDelegate.errorLogger, "Not implemented"); + throw new UnsupportedOperationException(); } @Override - public void synchronize(HashMap additionalParams) { - // TODO Auto-generated method stub - logger.info(EELFLoggerDelegate.debugLogger, "Not implemented"); + public void synchronize(Map additionalParams) { + logger.error(EELFLoggerDelegate.errorLogger, "Not implemented"); + throw new UnsupportedOperationException(); } } |