package it.acxent.anag; import it.acxent.db.ApplParmFull; import it.acxent.db.DBAdapter; import it.acxent.db.ResParm; import it.acxent.db.WcString; import it.acxent.util.StringTokenizer; import it.acxent.util.Vectumerator; import java.io.Serializable; import java.sql.PreparedStatement; import java.sql.SQLException; public class Glossario extends DBAdapter implements Serializable { private static final long serialVersionUID = 1695626744317L; private long id_glossario; private long id_tipoGlossario; private String descrizione; private TipoGlossario tipoGlossario; private String codice; public Glossario(ApplParmFull newApplParmFull) { super(newApplParmFull); } public Glossario() {} public void setId_glossario(long newId_glossario) { this.id_glossario = newId_glossario; } public void setId_tipoGlossario(long newId_tipoGlossario) { this.id_tipoGlossario = newId_tipoGlossario; setTipoGlossario(null); } public void setDescrizione(String newDescrizione) { this.descrizione = newDescrizione; } public long getId_glossario() { return this.id_glossario; } public long getId_tipoGlossario() { return this.id_tipoGlossario; } public String getDescrizione() { return (this.descrizione == null) ? "" : this.descrizione.trim(); } public void setTipoGlossario(TipoGlossario newTipoGlossario) { this.tipoGlossario = newTipoGlossario; } public TipoGlossario getTipoGlossario() { this.tipoGlossario = (TipoGlossario)getSecondaryObject(this.tipoGlossario, TipoGlossario.class, getId_tipoGlossario()); return this.tipoGlossario; } protected ResParm checkDeleteCascade() { return new ResParm(true); } protected void deleteCascade() {} public Vectumerator findByCR(GlossarioCR CR, int pageNumber, int pageRows) { String s_Sql_Find = "select A.* from GLOSSARIO AS A"; String s_Sql_Order = " order by A.descrizione"; if (!CR.getCodiceTipoGlossario().isEmpty()) s_Sql_Find = s_Sql_Find + " inner join TIPO_GLOSSARIO AS B ON A.id_tipoGlossario=B.id_tipoGlossario"; WcString wc = new WcString(); if (CR.getId_tipoGlossarioS() > 0L) wc.addWc("A.id_tipoGlossario=" + CR.getId_tipoGlossarioS()); if (!CR.getCodiceTipoGlossario().isEmpty()) wc.addWc("B.codice='" + CR.getCodiceTipoGlossario() + "'"); if (!CR.getDescrizione().trim().isEmpty()) { StringTokenizer st = new StringTokenizer(CR.getDescrizione().trim(), " "); StringBuffer txt = new StringBuffer("("); while (st.hasMoreTokens()) { String token = st.nextToken(); txt.append("(A.descrizione like '%" + token + "%' or A.codice ='" + token + "')"); if (st.hasMoreTokens()) txt.append(" and "); } txt.append(")"); wc.addWc(txt.toString()); } try { PreparedStatement stmt = getConn().prepareStatement(s_Sql_Find + s_Sql_Find + wc.toString()); return findRows(stmt, pageNumber, pageRows); } catch (SQLException e) { removeCPConnection(); handleDebug(e); return AB_EMPTY_VECTUMERATOR; } } public String getCodice() { return (this.codice == null) ? "" : this.codice.trim(); } public void setCodice(String codice) { this.codice = codice; } public Vectumerator findByCodiceTipoGlossario(String l_codiceTipoGlossario) { String s_Sql_Find = "select A.* from GLOSSARIO AS A"; String s_Sql_Order = " order by A.descrizione"; s_Sql_Find = s_Sql_Find + " inner join TIPO_GLOSSARIO AS B ON A.id_tipoGlossario=B.id_tipoGlossario"; WcString wc = new WcString(); if (!l_codiceTipoGlossario.isEmpty()) wc.addWc("B.codice='" + l_codiceTipoGlossario + "'"); try { PreparedStatement stmt = getConn().prepareStatement(s_Sql_Find + s_Sql_Find + wc.toString()); return findRows(stmt); } catch (SQLException e) { removeCPConnection(); handleDebug(e); return AB_EMPTY_VECTUMERATOR; } } }