Bienvenido a Java Mexico

Java México es una comunidad de desarrolladores mexicanos en el lenguaje Java.

Este sitio es colaborativo, automáticamente al registrarte obtienes un Blog para compartir tus conocimientos o información acerca del lenguaje. Antes de publicar en tu blog o los foros por favor lee los lineamientos de publicación.

Para dudas y problemas con respecto al lenguaje Java puedes visitar los Foros de Discusión.

También puedes responder nuestra encuesta para saber en que estado vives!

JSF2 PrimeFaces5 y Maven3 -Ej. Crear Graficas-

Hola este post tiene dos propósitos, el primero es de contribuir con estos temas que por más que busque en esta pagina no encontré algo que satisficiera la duda que tenia ya que ahora que estoy buscando trabajo en las solicitudes de empleo de las empresas encontré que los frameworks más solicitados son: Spring,JSF2, PrimeFaces,RichFaces y como ORM Hibernate y gestor de proyectos Maven y me di a la tarea de buscar en internet algo para que los usuarios de esta pagina encuentren un pequeño soporte del tema (usuarios principiantes como yo).
Y como segundo propósito es el de la ayuda, tips o comentarios acerca de un punto en especial que más adelante lo mencionare.

Bueno iniciemos...

Entorno:

    Eclipse Luna 4.4 { Descargar de EclipseMarketplace: JBoosTools [Luna]}
    JSF 2.2
    PrimeFaces 5.1
    Maven 3.0
    Apache Tomcat 7* (Pueden usar el servidor AS de JBoss 7 pero esto modificaría un poco el pom.xml)

Actualización automática de archivos de propiedades con Spring

Hace algunos días en el trabajo tuvimos la necesidad de que en uno de los componentes que tenemos en desarrollo el sistema de activación se implementará por medio de un archivo de propiedades.

La decisión ya estaba tomada y la mayoría construido, así que solo me quedaba investigar como hacer que la aplicación una vez desplegada en modo productivo tomará los cambios que se hicieran en un archivo de propiedades externo. La idea de obtener el contexto de Spring y hacer un .refresh nunca me gusto, aunque fue una de las primeras pruebas que hice y el resultado algunas veces termina en un reinicio de todo el contexto, fea la cosa.

Buscando por google me encontré con algunas personas que recomendaban springframework-addons de unicon, la cual tiene como objetivo que spring se enteré automáticamente de los cambios que sufran los archivos que nosotros le indiquemos, en este caso mi archivo de propiedades.


Agregando la dependencia.

No creo tener que explicar algo, solo agregamos al POM nuestra dependencia con la versión que corresponda.

<dependency>
    <groupId>net.unicon.springframework</groupId>

OpenXava 5.1 liberado: Desarrollo rápido con Java

OpenXava es un marco de trabajo AJAX para desarrollo rápido de aplicaciones web empresariales.

Con OpenXava sólo has de escribir las clases del dominio con Java para obtener una aplicación web lista para producción.

Esta versión 5.1 tiene un montón de mejoras en las colecciones editables, de hecho ahora es posible hacer en una @ElementCollection practicamente lo mismo que una vista de detalle convencional. OpenXava 5.1 también incluye un nuevo editor para adjuntar varios archivos a tu entidad, soporte de Java 8 y muchísimas cosas más.

Te invitamos a que lo descargues y actualices tus aplicaciones OpenXava. Mira las instrucciones de migración.
 

Mejoras en colecciones editables (@ElementCollection)

Estas son las mejoras en las colecciones de elementos:

  • Mejorado el comportamiento AJAX con un rendimiento 10 veces mejor.

Ordenar un List<> ArrayList de objetos

Esta ocasión explicaré como ordenar una lista de tipo arraylist de objetos predeterminados.

Tengo mi clase del objeto Empleado.

package ordenarLista;

public class Empleado implements Comparable<Empleado> {
    private String nombre;
    private int edad;
    private String domicilio;

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public int getEdad() {
        return edad;
    }

    public void setEdad(int edad) {
        this.edad = edad;
    }

    public String getDomicilio() {
        return domicilio;
    }

    public void setDomicilio(String domicilio) {
        this.domicilio = domicilio;
    }
   
    @Override
     public int compareTo(Empleado o) {
        String a=new String(String.valueOf(this.getEdad())+this.getNombre());
        String b=new String(String.valueOf(o.getEdad())+o.getNombre());
        return a.compareTo(b);
    }
}

Observese la linea donde aparece el compareTo(), este método me permitirá ordenar mi lista según el criterio especifico. (Primero por Edad luego por Nombre).

 

Crear una aplicación web rápidamente usando Spring Boot

Estoy trabajando en un proyecto nuevo en el cual me dieron carta blanca para poder escoger con que trabajar. Lo que tuve bien en claro es que quería empezar a usar Java 8 y como ya tengo algo de experiencia con Spring decidi también usar este framework.

Si ustedes ya tienen experiencia usando Spring, saben que para usar Spring MVC hay que configurar muchas cosas antes de poder ver al menos una página web sencilla. Entre todo esto hay que configurar el deployment descriptor (i.e. el archivo web.xml); o si estan usando Java EE (Evil Edition?) con un contenedor que soporte el spec de Servlet 3.0+, igual necesitan configurar un WebApplicationInitializer.

Pero vamos, aunque hoy en día es posible configurar Spring sin usar una sola línea de XML sigue siendo mucho código por escribir solo para empezar (y ni siquiera he tocado el configurar otros frameworks como Hibernate, Thymeleaf, JSF, etc.).

Ayuda Formulario Login

Buen día compañeros el motivo de mi entrada es la siguiente, espero alguien pueda apoyarme.

tengo un formulario login tipico, pide usuario, contraseña un boton para entrar y uno para salir.

en mi clase tengo un metodo llamado acceder que es el siguiente.

void acceder(String usuario, String pass) {
        String usu = "";
        String pas = "";

        String sql = "SELECT * FROM usuario WHERE usuario='" + usuario + "' && password='" + pass + "'";
        try {
            Statement st = cn.createStatement();
            ResultSet rs = st.executeQuery(sql);
            while (rs.next()) {
                usu = rs.getString("usuario");
                pas = rs.getString("password");
            }

            if (usu.equals(usuario) && pas.equals(pass)) {
                this.setVisible(false);
                InterfacePrincipal principal = new InterfacePrincipal();
                principal.setVisible(true);
            } else {
                JOptionPane.showMessageDialog(null, "Usuario y/o Contraseña no Validos");
            }
        } catch (SQLException ex) {

Autocompletar con JSON(Gson), Ajax, jQuery, Servlets y PostgreSQL

¡¡¡ Hola !!!

Este es mi segundo aporte a esta comunidad, se trata de un trabajo que me dejaron en mi servicio social el cual se integra con una aplicación web la cual maneja una gran cantidad de datos (RFC de contribuyentes)...

Espero les sea útil esto y como he dicho antes cual quier mejora o error por favor coméntenlo. GRACIAS

Clase conexión y query´s

public class Model{
public ArrayList<String> getNombres(String nombre)throws Exception{
                 ArrayList<String> list = new ArrayList<String>();
                 String data;
                 try( Connection conn = DriverManager.getConnection("jdbc:postgresql://localhost:5432/BandasRock");              
                           PreparedStatement ps1 = conn.prepareStatement("SELECT * FROM nombres  WHERE  nombres LIKE ?");
                         
                           ResultSet rs = ps1.executeQuery()
                                       
                                 ) {
                                 
                                   ps1.setString(1, nombre + "%");
                                while (rs.next()) {
                                         data = rs.getString("nombres");
                         list.add(data);
                                }
                        } catch (SQLException e) {
                            e.getCause();
                        }
                 return list;
                 }
         
}

Servlet llamado "controlador" por el método GET

 

Ceylon 1.1.0 “Ultimate Ship The Second”

Ceylon 1.1.0 “Ultimate Ship The Second” listo para ser descargado.

"Listo"
shared void run(){
  print("Ceylon 1.1.0 Ultimate Ship The Second ");
}

Ceylon 1.1

Hoy liberamos la versión 1.1 de Ceylon:

http://ceylon-lang.org/blog/2014/10/09/ceylon-1/

Después de 10 meses de arduo trabajo, esta versión contiene una gran cantidad de correcciones (más de mil issues procesados), mejoras y optimizaciones, incluyendo:

  • Optimizaciones en ambos compiladores para reducir tiempos de compilación
  • Optimizaciones al IDE, para tener mejores tiempos de respuesta
  • Optimizaciones al código generado para un mejor desempeño del código ejecutable
  • Varios módulos nuevos en el SDK
  • Integración con vert.x
  • Interfaces dinámicas para el backend de JavaScript, de modo que se puedan asignar tipos estáticos a estructuras que cumplan con las características definidas en los mismos

Espero que lo prueben pronto, y nos den su opinión y comentarios.

Kata de palíndromos con Streams (en Scala)

Pues resulta y pasa que para una entrevista tuve que resolver un problema cuya definición (a lo que recuerdo) era:

Dada una lista de palabras, por cada elemento hacer lo siguiente:

  • Obtener una combinación de las letras de la palabra las cuales sea un palíndromo, i.e. una palabra que se lee indistinguiblemente al derecho o al revés; imprimirla en consola.
  • Si no se encuentra dicha combinación, imprimir "-1" en la consola.

E.g., teniendo la lista de palabras "racecar", "icicv", "dar", deberia de imprimirse algo como "racecar", "civic", -1.

Distribuir contenido