miércoles, 20 de marzo de 2013

Recursos para menus con jquery

2 links para crear menus muy pero muy modernos. Recurso 1
Recurso 2

Lista a Arraylist con distintos objetos modelmapper

import java.lang.reflect.Type;                 

ArrayList<objetoDTO> objetos=null;
   List<Objeto> objetosList
ModelMapper modelMapper = new ModelMapper();
          Type listType = (Type) new TypeToken<List<objetoDTO>>() {}.getType();  
          objetos = modelMapper.map(objetosList, listType);

/*
Este codigo sive para pasar propiedades iguales de una lista a un arreglo
en este caso el objeto Objeto es diferente de ObjetoDTO en campos.

Usa http://modelmapper.org/

*/

Clase que transforma a Objetos Hibernate a DTO

Importante tanto las proyecciones, HQL o SQLQueries deben de llevan como alias el campo del dto precedido por una z, ya que hibernate no soporta los mismos alias. Tomado de https://hibernate.atlassian.net/browse/HHH-5063.
Ejemplo:
query.setResultTransformer(new ResultTransformerUtil(DTO.class)).list();
import org.hibernate.transform.AliasToBeanResultTransformer;

public class ResultTransformerUtil extends AliasToBeanResultTransformer{

 private static final long serialVersionUID = -63993253786054062L;

 public ResultTransformerUtil(Class<?> resultClass) {
        super(resultClass);
    }

    @Override
    public Object transformTuple(Object[] tuple, String[] aliases) {
        String[] cleanedUpAliases = new String[aliases.length];
        for (int i = 0; i < aliases.length; i++){
            cleanedUpAliases[i] = aliases[i].replaceFirst("z", "");
        }
        return super.transformTuple(tuple, cleanedUpAliases);
    }
}

Clase que escribe json en struts 1.x

Requiere la librería json http://code.google.com/p/google-gson/
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import javax.servlet.http.HttpServletResponse;
import com.google.gson.Gson;


public class JsonUtil {
    public static void escribirJSON(HttpServletResponse response,Object object){
     Gson gson = new Gson();
  response.addHeader("Content-Type", "text/html; charset=utf-8"); 
  try {
             response.getOutputStream().write(gson.toJson(object).getBytes("UTF-8"));
             response.getOutputStream().flush();
         } catch (UnsupportedEncodingException e) {
             e.printStackTrace();
         } catch (IOException e) {
             e.printStackTrace();
         }