@Override public void manageException(SQLException ex) throws ExceptionDBDuplicateEntry, ExceptionDBEntryReferencedElsewhere { // TODO: This is a hack (is it???) String message = ex.getMessage().toLowerCase(); if (message.contains("sqlite_constraint")) { if (message.contains("is not unique")) throw new ExceptionDBDuplicateEntry(); else if (message.contains("foreign key constraint failed")) throw new ExceptionDBEntryReferencedElsewhere(); else { DAOPackage.log(ex); throw new ExceptionDBUnknownError(ex); } } else { DAOPackage.log(ex); throw new ExceptionDBUnknownError(ex); } }
@Override public String getBetweenExpression(String fieldName, Object d1, Object d2) { String filter = ""; try { Date dd1 = null; Date dd2 = null; SimpleDateFormat df = new SimpleDateFormat("yyyy-mm-dd"); if (d1 instanceof String) dd1 = df.parse((String) d1); else dd1 = (Date) d1; if (d2 instanceof String) dd2 = df.parse((String) d2); else dd2 = (Date) d2; // TODO: Adicionar un dia a la fecha final??? filter = fieldName + " >= " + dd1.getTime() + " AND " + fieldName + " <= " + dd2.getTime(); } catch (ParseException ex) { DAOPackage.log(ex); // Logger.getLogger(VariationSQLite.class.getName()).log(Level.SEVERE, null, ex); throw new ExceptionDBUnknownError(ex); } return filter; }