My DataSource
My class
I'm getting error :Class Auditoria defines multiple methods named: fetch....
Any solutions?
Code:
<DataSource ID="aviso" serverType="sql" tableName="aviso" > <fields> <field name="id_aviso" type="sequence" nativeName="ID_AVISO" primaryKey="true" hidden="true" /> <field name="dataFim" type="date" title="Data de Termíno" nativeName="DT_FIM" required="true" /> <field name="dataInicio" type="date" title="Data de Início" nativeName="DT_INICIO" required="true"/> <field name="excluido" type="integer" title="Excluído" nativeName="EXCLUIDO" hidden="true"> </field> <field name="mensagem" type="text" title="Mensagem" length="1000" nativeName="MENSAGEM"/> <field name="titulo" type="text" title="Título" length="100" nativeName="TITULO"/> </fields> <serverObject lookupStyle="new" className="Auditoria"/> </DataSource>
Code:
import java.util.Date; import java.util.HashMap; import java.util.Map; import java.util.Set; import com.isomorphic.criteria.SimpleCriteria; import com.isomorphic.datasource.DSRequest; import com.isomorphic.datasource.DSResponse; import com.isomorphic.datasource.DataSource; import com.isomorphic.sql.SQLDataSource; public class Auditoria extends SQLDataSource { private static final long serialVersionUID = 1L; @Override public DSResponse executeAdd(DSRequest dsRequest) throws Exception { dsRequest.setFieldValue("excluido", 0); DSResponse dsResponse = super.executeAdd(dsRequest); salvaHistorico(dsResponse, "1", dsRequest.getClientSuppliedValues() .get("justificativa").toString()); return dsResponse; } @Override public DSResponse executeRemove(DSRequest dsRequest) throws Exception { DSResponse exclusaoLogica; DataSource dataSource = dsRequest.getDataSource(); String chavePrimaria = dataSource.getPrimaryKey(); Map<String, Object> valoresCriteria = new HashMap<String, Object>(); valoresCriteria.put(chavePrimaria, dsRequest.getFieldValue(chavePrimaria)); SimpleCriteria criteria = new SimpleCriteria(valoresCriteria); Map<String, Object> valores = new HashMap<String, Object>(); valores.put("excluido", 1); valores.put("justificativa", dsRequest.getClientSuppliedValues().get("justificativa")); @SuppressWarnings("unchecked") Set<String> chaves = dsRequest.getValues().keySet(); for (String chave : chaves) { if (!chave.startsWith("_") && !valores.containsKey(chave)) { valores.put(chave, dsRequest.getValues().get(chave)); } } exclusaoLogica = this.executeUpdate(new DSRequest(dsRequest .getDataSourceName(), "update").setCriteria(criteria) .setValues(valores).setRPCManager(dsRequest.rpc)); salvaHistorico(exclusaoLogica, "3", dsRequest.getClientSuppliedValues() .get("justificativa").toString()); return exclusaoLogica; } @Override public DSResponse executeFetch(DSRequest DsRequest) throws Exception { // NOSONAR DsRequest.getCriteria().put("excluido", 0); DSResponse dsResponse = super.executeFetch(DsRequest); return dsResponse; } @Override public DSResponse executeUpdate(DSRequest dsRequest) throws Exception { DSResponse dsResponse = super.executeUpdate(dsRequest); salvaHistorico(dsResponse, "2", dsRequest.getClientSuppliedValues() .get("justificativa").toString()); return dsResponse; } private DSResponse salvaHistorico(DSResponse response, String operation, String Justificativa) throws Exception { /* * Gera o nome do DataSource de historico para cada entidade Padrao: * entidade.ds.xml entidadeHistorico.ds.xml */ String dataSourceHistorico; dataSourceHistorico = response.getDataSource().getName() + "Historico"; DSRequest auditRequest = new DSRequest(); auditRequest.setDataSourceName(dataSourceHistorico); auditRequest.setValues(response.getRecord()); auditRequest.setOperationType("add"); auditRequest.setFieldValue("operacao", operation); auditRequest.setFieldValue("dataOperacao", new Date()); auditRequest.setFieldValue("justificativa", Justificativa); auditRequest.setFieldValue("operador", "usuario"); // TODO modificar o usuario quando integrar com o SisAcesso return auditRequest.execute(); } }
Any solutions?
Comment