gt:             data = new Gson().toJson(alColumns);
context: /*
   * Copyright (C) July 2014 Rafael Aznar
   *
   * This program is free software; you can redistribute it and/or
   * modify it under the terms of the GNU General Public License
   * as published by the Free Software Foundation; either version 2
   * of the License, or (at your option) any later version.
   *
   * This program is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   * GNU General Public License for more details.
   *
   * You should have received a copy of the GNU General Public License
   * along with this program; if not, write to the Free Software
   * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
   */
  package net.daw.service.specific.implementation;
  
  import com.google.gson.Gson;
  import com.google.gson.GsonBuilder;
  import java.sql.Connection;
  import java.util.ArrayList;
  import java.util.HashMap;
  import java.util.List;
  import java.util.Map;
  import net.daw.bean.generic.specific.implementation.TemaBeanGenSpImpl;
  import net.daw.dao.specific.implementation.TemaDaoSpcImpl;
  import net.daw.helper.AppConfigurationHelper;
  import net.daw.helper.EncodingUtilHelper;
  import net.daw.helper.ExceptionBooster;
  import net.daw.helper.FilterBeanHelper;
  import net.daw.service.publicinterface.MetaServiceInterface;
  import net.daw.service.publicinterface.TableServiceInterface;
  import net.daw.service.publicinterface.ViewServiceInterface;
  
  public class TemaServiceSpImpl implements TableServiceInterface, ViewServiceInterface, MetaServiceInterface {
  
      protected Connection oConnection = null;
      protected String strObjectName = null;
      protected String strPojo = null;
  
      public TemaServiceSpImpl(String strObject, String pojo, Connection con) {
          strObjectName = strObject;
          oConnection = con;
          strPojo = Character.toUpperCase(pojo.charAt(0)) + pojo.substring(1);
      }
  
      @Override
      public void setSource(String source) throws Exception {
          strObjectName = source;
      }
  
      @Override
      public void setPojo(String pojo) throws Exception {
          strPojo = Character.toUpperCase(pojo.charAt(0)) + pojo.substring(1);
      }
  
      @Override
      public String remove(Integer id) throws Exception {
          String resultado = null;
          try {
              oConnection.setAutoCommit(false);
              TemaDaoSpcImpl oTemaDAO = new TemaDaoSpcImpl(strObjectName, oConnection);
              TemaBeanGenSpImpl oTema = new TemaBeanGenSpImpl(id);
              Map<String, String> data = new HashMap<>();
              oTemaDAO.remove(oTema);
              data.put("status", "200");
              data.put("message", "se ha eliminado el registro con id=" + oTema.getId());
              Gson gson = new Gson();
              resultado = gson.toJson(data);
              oConnection.commit();
          } catch (Exception ex) {
              oConnection.rollback();
              ExceptionBooster.boost(new Exception(this.getClass().getName() + ":remove ERROR: " + ex.getMessage()));
          }
          return resultado;
      }
  
      @Override
      public String set(String jason) throws Exception {
          String resultado = null;
          try {
              oConnection.setAutoCommit(false);
              TemaDaoSpcImpl oTemaDAO = new TemaDaoSpcImpl(strObjectName, oConnection);
              TemaBeanGenSpImpl oTema = new TemaBeanGenSpImpl();
              Gson gson = new GsonBuilder().setDateFormat("dd/MM/yyyy HH:mm:ss").create();
              jason = EncodingUtilHelper.decodeURIComponent(jason);
              oTema = gson.fromJson(jason, oTema.getClass());
              oTema = oTemaDAO.set(oTema);
              Map<String, String> data = new HashMap<>();
              data.put("status", "200");
              data.put("message", Integer.toString(oTema.getId()));
              resultado = gson.toJson(data);
              oConnection.commit();
          } catch (Exception ex) {
              oConnection.rollback();
              ExceptionBooster.boost(new Exception(this.getClass().getName() + ":set ERROR: " + ex.getMessage()));
          }
          return resultado;
      }
  
      @Override
      public String get(Integer id) throws Exception {
          String data = null;
          try {
              oConnection.setAutoCommit(false);
              TemaDaoSpcImpl oTemaDAO = new TemaDaoSpcImpl(strObjectName, oConnection);
              TemaBeanGenSpImpl oTema = new TemaBeanGenSpImpl(id);
              oTema = oTemaDAO.get(oTema, AppConfigurationHelper.getJsonDepth());
              GsonBuilder gsonBuilder = new GsonBuilder();
              gsonBuilder.setDateFormat("dd/MM/yyyy HH:mm:ss");
              Gson gson = gsonBuilder.create();
              data = gson.toJson(oTema);
              oConnection.commit();
          } catch (Exception ex) {
              oConnection.rollback();
              ExceptionBooster.boost(new Exception(this.getClass().getName() + ":get ERROR: " + ex.getMessage()));
          }
          return data;
      }
  
      @Override
      public String getPage(int intRegsPerPag, int intPage, ArrayList<FilterBeanHelper> alFilter, HashMap<String, String> hmOrder) throws Exception {
          String data = null;
          try {
              oConnection.setAutoCommit(false);
              TemaDaoSpcImpl oTemaDAO = new TemaDaoSpcImpl(strObjectName, oConnection);
              List<TemaBeanGenSpImpl> oTemas = oTemaDAO.getPage(intRegsPerPag, intPage, alFilter, hmOrder);
              GsonBuilder gsonBuilder = new GsonBuilder();
              gsonBuilder.setDateFormat("dd/MM/yyyy HH:mm:ss");
              Gson gson = gsonBuilder.create();
              data = gson.toJson(oTemas);
              data = "{\"list\":" + data + "}";
              oConnection.commit();
          } catch (Exception ex) {
              oConnection.rollback();
              ExceptionBooster.boost(new Exception(this.getClass().getName() + ":getPage ERROR: " + ex.getMessage()));
          }
          return data;
      }
  
      @Override
      public String getPages(int intRegsPerPag, ArrayList<FilterBeanHelper> alFilter) throws Exception {
          String data = null;
          try {
              oConnection.setAutoCommit(false);
              TemaDaoSpcImpl oTemaDAO = new TemaDaoSpcImpl(strObjectName, oConnection);
              int pages = oTemaDAO.getPages(intRegsPerPag, alFilter);
              data = "{\"data\":\"" + Integer.toString(pages) + "\"}";
              oConnection.commit();
          } catch (Exception ex) {
              oConnection.rollback();
              ExceptionBooster.boost(new Exception(this.getClass().getName() + ":getPages ERROR: " + ex.getMessage()));
          }
          return data;
      }
  
      @Override
      public String getCount(ArrayList<FilterBeanHelper> alFilter) throws Exception {
          String data = null;
          try {
              oConnection.setAutoCommit(false);
              TemaDaoSpcImpl oTemaDAO = new TemaDaoSpcImpl(strObjectName, oConnection);
              int registers = oTemaDAO.getCount(alFilter);
              data = "{\"data\":\"" + Integer.toString(registers) + "\"}";
              oConnection.commit();
  
          } catch (Exception ex) {
              oConnection.rollback();
              ExceptionBooster.boost(new Exception(this.getClass().getName() + ":getCount ERROR: " + ex.getMessage()));
          }
          return data;
      }
  
      @Override
      public String getPrettyColumns() throws Exception {
          String data = null;
          ArrayList<String> alColumns = null;
          try {
              oConnection.setAutoCommit(false);
              TemaDaoSpcImpl oTemaDAO = new TemaDaoSpcImpl(strObjectName, oConnection);
              alColumns = oTemaDAO.getPrettyColumnsNames();
              data = new Gson().toJson(alColumns);
              //data = "{\"data\":" + data + "}";
              oConnection.commit();
          } catch (Exception ex) {
              oConnection.rollback();
              ExceptionBooster.boost(new Exception(this.getClass().getName() + ":getPrettyColumns ERROR: " + ex.getMessage()));
          }
          return data;
      }
  
      @Override
      public String getColumns() throws Exception {
          String data = null;
          try {
              oConnection.setAutoCommit(false);
              ArrayList<String> alColumns = null;
              TemaDaoSpcImpl oTemaDAO = new TemaDaoSpcImpl(strObjectName, oConnection);
              alColumns = oTemaDAO.getColumnsNames();
  