List of usage examples for org.springframework.dao DataAccessException getMessage
@Override
@Nullable
public String getMessage()
From source file:com.sfs.whichdoctor.dao.IsbMessageDAOImpl.java
/** * Update the process status of the ISB message. * * @param id the id//from w ww .ja va 2 s . co m * @param processed the processed * * @return true, if successful * * @throws WhichDoctorDaoException the which doctor dao exception */ public final boolean updateProcessStatus(final int id, final boolean processed) throws WhichDoctorDaoException { boolean success = false; final String updateSQL = this.getSQL().getValue("isbmessage/updateProcessStatus"); try { final int updateCount = this.getIsbJdbcTemplate().update(updateSQL, new Object[] { processed, id }); if (updateCount > 0) { success = true; } } catch (DataAccessException de) { dataLogger.error("Error updating the ISB message: " + de.getMessage()); } return success; }
From source file:com.sfs.whichdoctor.search.SearchDAOImpl.java
/** * Search./* ww w. ja v a 2 s . c o m*/ * * @param search the search * @param loadDetails the load details * * @return the search results bean * * @throws WhichDoctorSearchDaoException the which doctor search dao * exception */ @SuppressWarnings("unchecked") public final SearchResultsBean search(final SearchBean search, final BuilderBean loadDetails) throws WhichDoctorSearchDaoException { if (this.sqlHandlers == null) { throw new WhichDoctorSearchDaoException("The search is not configured"); } if (search.getType() == null) { /* Incorrect type set in SearchBean */ dataLogger.error("No search type has been set"); throw new WhichDoctorSearchDaoException("No search type has been set"); } SqlHandler sqlHandler = null; if (this.sqlHandlers.containsKey(search.getType())) { sqlHandler = this.sqlHandlers.get(search.getType()); } if (sqlHandler == null) { throw new WhichDoctorSearchDaoException("No SQL handler found for this search"); } /* Build SQL WHERE statement */ if (search.getSearchArray() != null) { search.setSQLWhereComponents(search.getSQLArrayStatement(sqlHandler.getIdentifierColumn()), search.getAction(), search.getSearchArray(), search.getSearchArrayDescription()); } else { if (search.getSearchCriteria() != null && search.getSearchConstraints() != null) { Map<String[], Collection<Object>> fields = sqlHandler.construct(search.getSearchCriteria(), search.getSearchConstraints()); for (String[] key : fields.keySet()) { search.setSQLWhereComponents(key[0], search.getAction(), fields.get(key), key[1]); } } } final String sqlWHERE = search.getSearchSQL(); // System.out.println("- SQL where: " + sqlWHERE); final Collection<Object> parameters = search.getSearchParameters(); /* Set ordering system of returned results */ if (search.getOrderColumn() == null) { search.setOrderColumn(sqlHandler.getDefaultOrder()); } String sqlORDER = buildOrder(search); /* Set range of results */ if (search.getRequestedPage() == 0) { search.setRequestedPage(1); } String sqlLIMIT = buildLimit(search); /* Initalize SearchResultsBean to hold result */ SearchResultsBean searchResults = new SearchResultsBean(); // Fill with values from SearchBean searchResults.setOrderAscending(search.getOrderAscending()); searchResults.setOrderColumn(search.getOrderColumn()); searchResults.setRequestedPage(search.getRequestedPage()); searchResults.setType(search.getType()); searchResults.setLimit(search.getLimit()); searchResults.setSearchCriteria(search.getSearchCriteria()); searchResults.setSearchVectors(search.getSearchVectors()); if (loadDetails.getBoolean("RESULT_COUNT")) { /* Load the result count for this search */ StringBuffer countSQL = new StringBuffer(); countSQL.append(sqlHandler.getCountSql()); countSQL.append(sqlWHERE); dataLogger.info("SQL Query: " + countSQL.toString()); /* System.out.println("- SQL count: " + countSQL.toString()); */ try { JdbcTemplate jdbcTemplate = this.getJdbcTemplateReader(); if (!sqlHandler.getDefaultConnection()) { jdbcTemplate = this.getIsbJdbcTemplate(); } final int totalResults = jdbcTemplate.queryForInt(countSQL.toString(), parameters.toArray()); searchResults.setTotalResults(totalResults); } catch (DataAccessException de) { dataLogger.error("Error getting search result count: " + de.getMessage()); } } // BUILD SQL Statement StringBuffer searchSQL = new StringBuffer(); searchSQL.append(sqlHandler.getSelectSql()); searchSQL.append(sqlWHERE); searchSQL.append(sqlHandler.getGroupBy()); searchSQL.append(sqlORDER); searchSQL.append(sqlLIMIT); dataLogger.info("SQL Query: " + searchSQL.toString()); /* System.out.println("- SQL search: " + searchSQL.toString()); */ Collection<Integer> objects = null; try { JdbcTemplate jdbcTemplate = this.getJdbcTemplateReader(); if (!sqlHandler.getDefaultConnection()) { jdbcTemplate = this.getIsbJdbcTemplate(); } objects = jdbcTemplate.query(searchSQL.toString(), parameters.toArray(), new RowMapper() { public Object mapRow(final ResultSet rs, final int rowNum) throws SQLException { return rs.getInt(1); } }); } catch (IncorrectResultSizeDataAccessException ie) { dataLogger.debug("No results found for this search: " + ie.getMessage()); } if (objects != null) { // Pass the results to the handler and load the referenced objects searchResults.setSearchResults(sqlHandler.load(objects, loadDetails)); } return searchResults; }
From source file:com.sfs.whichdoctor.dao.SavedSearchDAOImpl.java
/** * Creates the saved search.// w w w . j a va 2 s .com * * @param search the search * @param checkUser the check user * @return the int * @throws WhichDoctorDaoException the which doctor dao exception */ public final int create(final SearchBean search, final UserBean checkUser) throws WhichDoctorDaoException { if (StringUtils.isBlank(search.getName())) { throw new WhichDoctorDaoException("Saved search description " + "field cannot be an empty string"); } if (StringUtils.isBlank(search.getType())) { throw new WhichDoctorDaoException("Saved search type cannot " + "be an empty string"); } dataLogger.info(checkUser.getDN() + " attempting to create new " + "saved search"); StringBuffer stbVariables = new StringBuffer(); Collection<Object> searchParameters = search.getSearchParameters(); if (searchParameters != null) { for (Object parameter : searchParameters) { if (stbVariables.length() != 0) { stbVariables.append(VARIABLE_DIVIDER); } String strParameter = String.valueOf(parameter); if (StringUtils.isBlank(strParameter)) { strParameter = " "; } stbVariables.append(strParameter); } } Timestamp sqlTimeStamp = new Timestamp(Calendar.getInstance().getTimeInMillis()); ArrayList<Object> parameters = new ArrayList<Object>(); parameters.add(search.getName()); parameters.add(search.getType()); parameters.add(search.getSQLWhereStatement()); parameters.add(stbVariables.toString()); parameters.add(search.getOrderColumn()); parameters.add(search.getOrderColumn2()); parameters.add(search.getOrderColumn3()); parameters.add(search.getDisplayOrder()); parameters.add(checkUser.getDN()); parameters.add(sqlTimeStamp); parameters.add(search.getPublicSearch()); parameters.add(search.getFavourite()); parameters.add(search.getDescription()); int searchId = 0; try { final int createCount = this.getJdbcTemplateWriter().update(this.getSQL().getValue("search/create"), parameters.toArray()); if (createCount > 0) { dataLogger.info("Sccessfully created Search"); /* Get the last searchId value */ searchId = this.getJdbcTemplateWriter().queryForInt(this.getSQL().getValue("search/findMax")); } } catch (DataAccessException de) { dataLogger.error("Error creating search: " + de.getMessage()); throw new WhichDoctorDaoException("Error creating search: " + de.getMessage()); } return searchId; }
From source file:pe.gob.mef.gescon.hibernate.impl.PreguntaDaoImpl.java
@Override public List<HashMap> getConcimientosDisponibles(HashMap filters) { String ntipoconocimientoid = ((BigDecimal) filters.get("ntipoconocimientoid")).toString(); String nconocimientovinc = (String) filters.get("nconocimientovinc"); final StringBuilder sql = new StringBuilder(); Object object = null;//from ww w. j a v a 2s .c o m try { if (StringUtils.isNotBlank(ntipoconocimientoid) && ntipoconocimientoid.equals("1")) { sql.append("SELECT "); sql.append( " a.nbaselegalid AS ID, a.vnumero AS NUMERO, a.vnombre AS NOMBRE, a.vsumilla AS SUMILLA, "); sql.append( " a.ncategoriaid AS IDCATEGORIA, b.vnombre AS CATEGORIA, a.dfechapublicacion AS FECHA, "); sql.append( " 1 AS IDTIPOCONOCIMIENTO, 'Base Legal' AS TIPOCONOCIMIENTO, a.nestadoid AS IDESTADO, c.vnombre AS ESTADO "); sql.append("FROM TBASELEGAL a "); sql.append(" INNER JOIN MTCATEGORIA b ON a.ncategoriaid = b.ncategoriaid "); sql.append(" INNER JOIN MTESTADO_BASELEGAL c ON a.nestadoid = c.nestadoid "); sql.append("WHERE a.nactivo = :ACTIVO "); sql.append("AND a.nestadoid IN (3,5,6) "); // Publicada, Concordada y Modificada. if (StringUtils.isNotBlank(nconocimientovinc)) { sql.append("AND a.nbaselegalid NOT IN (").append(nconocimientovinc).append(") "); } } if (StringUtils.isNotBlank(ntipoconocimientoid) && ntipoconocimientoid.equals("2")) { sql.append("SELECT "); sql.append(" a.npreguntaid AS ID, '' AS NUMERO, a.vasunto AS NOMBRE, a.vdetalle AS SUMILLA, "); sql.append( " a.ncategoriaid AS IDCATEGORIA, b.vnombre AS CATEGORIA, a.dfechacreacion AS FECHA, "); sql.append(" 2 AS IDTIPOCONOCIMIENTO, 'Preguntas y Respuestas' AS TIPOCONOCIMIENTO, "); sql.append(" a.nsituacionid AS IDESTADO, c.vnombre AS ESTADO "); sql.append("FROM TPREGUNTA a "); sql.append(" INNER JOIN MTCATEGORIA b ON a.ncategoriaid = b.ncategoriaid "); sql.append(" INNER JOIN MTSITUACION c ON a.nsituacionid = c.nsituacionid "); sql.append("WHERE a.nactivo = :ACTIVO "); sql.append("AND a.nsituacionid = 6 "); // Publicado if (StringUtils.isNotBlank(nconocimientovinc)) { sql.append("AND a.npreguntaid NOT IN (").append(nconocimientovinc).append(") "); } } if (StringUtils.isNotBlank(ntipoconocimientoid) && (ntipoconocimientoid.equals("3") || ntipoconocimientoid.equals("4") || ntipoconocimientoid.equals("5") || ntipoconocimientoid.equals("6"))) { sql.append("SELECT "); sql.append( " a.nconocimientoid AS ID, '' AS NUMERO, a.vtitulo AS NOMBRE, a.vdescripcion AS SUMILLA, "); sql.append( " a.ncategoriaid AS IDCATEGORIA, b.vnombre AS CATEGORIA, a.dfechacreacion AS FECHA, "); sql.append(" a.ntpoconocimientoid AS IDTIPOCONOCIMIENTO, d.vnombre AS TIPOCONOCIMIENTO, "); sql.append(" a.nsituacionid AS IDESTADO, c.vnombre AS ESTADO "); sql.append("FROM TCONOCIMIENTO a "); sql.append(" INNER JOIN MTCATEGORIA b ON a.ncategoriaid = b.ncategoriaid "); sql.append(" INNER JOIN MTSITUACION c ON a.nsituacionid = c.nsituacionid "); sql.append(" INNER JOIN MTTIPO_CONOCIMIENTO d ON a.ntpoconocimientoid = d.ntpoconocimientoid "); sql.append("WHERE a.nactivo = :ACTIVO "); sql.append("AND a.nsituacionid = 6 AND a.NTPOCONOCIMIENTOID= ").append(ntipoconocimientoid) .append(" "); // Publicado if (StringUtils.isNotBlank(nconocimientovinc)) { sql.append(" AND a.nconocimientoid NOT IN (").append(nconocimientovinc).append(") "); } } sql.append("ORDER BY 5, 7 DESC "); object = getHibernateTemplate().execute(new HibernateCallback() { @Override public Object doInHibernate(Session session) throws HibernateException { Query query = session.createSQLQuery(sql.toString()); query.setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP); if (StringUtils.isNotBlank(sql.toString())) { query.setParameter("ACTIVO", BigDecimal.ONE); } return query.list(); } }); } catch (DataAccessException e) { e.getMessage(); e.printStackTrace(); } return (List<HashMap>) object; }
From source file:User_Manager.User_TblJDBCTemplate.java
public int handleCount(String handle) { int count = 1; String SQL = "select count(*) from user_detail where handle=?"; try {//from w w w . j a v a2 s.c om count = jdbcTemplateObject.queryForObject(SQL, new Object[] { handle }, Integer.class); } catch (DataAccessException e) { System.out.println(e.getMessage()); } return count; }
From source file:com.sfs.whichdoctor.dao.TagDAOImpl.java
/** * Deletes the tag bean.//from w w w .java 2 s .co m * * @param tag the tag * @param checkUser the check user * @param privileges the privileges * @return true, if successful * @throws WhichDoctorDaoException the which doctor dao exception */ public final boolean delete(final TagBean tag, final UserBean checkUser, final PrivilegesBean privileges) throws WhichDoctorDaoException { if (tag.getId() == 0) { throw new WhichDoctorDaoException("Tag must have a valid id"); } if (StringUtils.isBlank(tag.getSecurity())) { throw new WhichDoctorDaoException("A security level must be set for the tag"); } boolean allowDelete = privileges.getPrivilege(checkUser, tag.getSecurity(), "modify"); // If the tag is of type private default to allow if owned by checkuser if (StringUtils.equalsIgnoreCase(tag.getTagType(), "Private") && StringUtils.equalsIgnoreCase(checkUser.getDN(), tag.getCreatedBy())) { allowDelete = true; } if (!allowDelete) { throw new WhichDoctorDaoException("Sorry, you do not have the required privileges to delete this tag"); } boolean success = false; try { final int deleteCount = this.getJdbcTemplateWriter().update(this.getSQL().getValue("tag/delete"), new Object[] { tag.getId() }); if (deleteCount > 0) { dataLogger.info(checkUser.getDN() + " successfully deleted tag"); success = true; } else { dataLogger.error(checkUser.getUserName() + ": could not delete tag"); throw new WhichDoctorDaoException("Failed to delete tag entry"); } } catch (DataAccessException de) { dataLogger.error("Error deleting tag: " + de.getMessage()); throw new WhichDoctorDaoException("Error deleting tag: " + de.getMessage()); } return success; }
From source file:com.sfs.whichdoctor.dao.IsbMessageDAOImpl.java
/** * Delete the IsbMessageBean./*ww w. ja v a 2s. c om*/ * * @param message the message * @param checkUser the check user * @param privileges the privileges * * @return true, if successful * * @throws WhichDoctorDaoException the which doctor dao exception */ public final boolean delete(final IsbMessageBean message, final UserBean checkUser, final PrivilegesBean privileges) throws WhichDoctorDaoException { if (!privileges.getPrivilege(checkUser, "systemAdmin", "delete")) { throw new WhichDoctorDaoException("Insufficient user credentials " + "to delete ISB messages"); } boolean success = false; ArrayList<Object> parameters = new ArrayList<Object>(); parameters.add(true); StringBuffer sqlWHERE = new StringBuffer(); if (message.getId() > 0) { sqlWHERE.append(" AND isbmessages.Id = ?"); parameters.add(String.valueOf(message.getId())); } if (StringUtils.isNotBlank(message.getAction())) { sqlWHERE.append(" AND isbmessages.Action = ?"); parameters.add(message.getAction()); } if (StringUtils.isNotBlank(message.getTarget())) { sqlWHERE.append(" AND isbmessages.IsbTarget = ?"); parameters.add(message.getTarget()); } if (StringUtils.isNotBlank(message.getIdentifier())) { sqlWHERE.append(" AND isbmessages.Identifier = ?"); parameters.add(message.getIdentifier()); } if (StringUtils.equalsIgnoreCase(message.getDescription(), "Inbound")) { sqlWHERE.append(" AND isbmessages.IsInbound = true"); } if (StringUtils.equalsIgnoreCase(message.getDescription(), "Outbound")) { sqlWHERE.append(" AND isbmessages.IsInbound = false"); } // Delete the related ISB payload first final String deletePayloadSQL = this.getSQL().getValue("isbpayload/delete") + sqlWHERE.toString(); try { final int deleteCount = this.getIsbJdbcTemplate().update(deletePayloadSQL, parameters.toArray()); dataLogger.info("ISB payload records deleted: " + deleteCount); } catch (DataAccessException de) { dataLogger.error("Error deleting ISB payload: " + de.getMessage()); } final String deleteSQL = this.getSQL().getValue("isbmessage/delete") + sqlWHERE.toString(); if (dataLogger.isDebugEnabled()) { dataLogger.debug("Delete SQL: " + deleteSQL); for (Object parameter : parameters) { dataLogger.debug("Delete parmater: " + String.valueOf(parameter)); } } try { final int deleteCount = this.getIsbJdbcTemplate().update(deleteSQL, parameters.toArray()); if (deleteCount > 0) { success = true; } } catch (DataAccessException de) { dataLogger.error("Error deleting ISB message: " + de.getMessage()); } return success; }
From source file:org.semispace.semimeter.dao.jdbc.SemiMeterDaoJdbc.java
/** * @return size of stalegroup table, or -1 if any errors occur. *//* ww w.j a v a 2 s.co m*/ public int size() { int result = -1; rwl.readLock().lock(); try { result = this.jdbcTemplate.queryForInt("select count(*) from meter"); } catch (DataAccessException e) { log.warn("Table probably not yet created. Got (intentionally masked) " + e.getMessage()); } finally { rwl.readLock().unlock(); } return result; }
From source file:org.semispace.semimeter.dao.jdbc.SemiMeterDaoJdbc.java
public boolean isAlive() { rwl.readLock().lock();//from w ww .ja va 2 s .co m try { int result = this.jdbcTemplate.queryForInt("select count(*) from meter where updated < 1"); if (result >= 0) { return true; } } catch (DataAccessException e) { log.warn("Table probably not yet created. Got (intentionally masked) " + e.getMessage()); } finally { rwl.readLock().unlock(); } return false; }
From source file:com.sfs.whichdoctor.dao.IsbMessageDAOImpl.java
/** * Resend outbound ISB messages that have been processed (i.e. sent) to the ISB. * The function resets the processed status of the selected ISB messages to false. * * @param message the IsbMessage containing search parameters (Identifier, Target) * @param startDate the start time. If null no messages are resent. * @param endDate the end time. If null all messages since the start time are resent. * * @return the number of records resent/* ww w . j a va 2 s .co m*/ * * @throws WhichDoctorDaoException the which doctor dao exception */ public final int resend(final IsbMessageBean message, final Date startDate, final Date endDate) throws WhichDoctorDaoException { int resendCount = 0; final StringBuffer resendWhere = new StringBuffer(); final ArrayList<Object> parameters = new ArrayList<Object>(); if (message != null) { if (StringUtils.isNotBlank(message.getIdentifier())) { resendWhere.append(" AND isbmessages.Identifier = ?"); parameters.add(message.getIdentifier()); } if (StringUtils.isNotBlank(message.getTarget())) { resendWhere.append(" AND isbmessages.IsbTarget = ?"); parameters.add(message.getTarget()); } } if (startDate != null) { if (endDate != null) { resendWhere.append(" AND isbmessages.Created BETWEEN ? AND ?"); parameters.add(startDate); parameters.add(endDate); } else { resendWhere.append(" AND isbmessages.Created >= ?"); parameters.add(startDate); } final String resendSQL = this.getSQL().getValue("isbmessage/resend") + resendWhere.toString(); dataLogger.debug("Resend SQL: " + resendSQL); try { resendCount = this.getIsbJdbcTemplate().update(resendSQL, parameters.toArray()); } catch (DataAccessException de) { dataLogger.error("Error resending ISB messages " + message.getId() + ": " + de.getMessage()); throw new WhichDoctorDaoException("Error resending ISB messages: " + de.getMessage()); } } return resendCount; }