Quantcast
Channel: SmartClient Forums
Viewing all articles
Browse latest Browse all 4756

Method Overload

$
0
0
My DataSource
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>

My class
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();
        }

}

I'm getting error :Class Auditoria defines multiple methods named: fetch....


Any solutions?

Viewing all articles
Browse latest Browse all 4756

Trending Articles