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!

Canción del programador

Y como esta es una época de alegría y de fiestas, he aquí una que otra canción del programador:

Java para Startup/Entrepreneurs I

Estoy armando mi plan para pasar del mundo corporativo al emprendimiento. Mi plan es ofrecer un servicio en la nube mediante una aplicación que estoy desarrollando. Para lograrlo estoy analizando varios aspectos.

En esta entrada quiero tratar el aspecto relacionado a Infraestructura.

Mi primer paso para ofrecer el servicio es conseguir una buena opción que pueda equilibrar costo, flexibilidad y estabilidad (ancho de banda adecuado).

1. Esto me lleva a buscar una renta de Hosting o Housing. Pienso que para probar el mercado sería suficiente ya que tener servidores propios necesitaría una inversión más grande.

2. Decidir por un web application. Entré a la página Java EE Compatible Implementations
Donde están los web applications la versión más reciente JEE 7. Existen 3: Glashfish 4.0, Wildfly 8.x (JBOSS) y TMAX JEUS 8.
Adicionalmente encontré por parte de Apache Tomee “Tomy” que es un tomcat 7 con soporte para EJB y otros proyectos que lo clasifican como un web application.

Un ejemplo con NiconNotify OSD

Acaba de salir la nueva versión de la librería NiconNotify OSD , la cual provee clases para crear mensajes tipo "alert" de Java Swing.

Código

package org.javamexico.task;

import javax.swing.UIManager;
import javax.swing.plaf.nimbus.NimbusLookAndFeel;

import nicon.notify.core.Notification;

public class TestNiconNotify {

    public static void main(String[] args) {
        try{
            UIManager.setLookAndFeel(new NimbusLookAndFeel());
            int respuesta=Notification.windowConfirmMessage(null, "Confirmacion", "Desea borrar Windows de sus sistema?");
            if(respuesta==1){
                Notification.windowMessage(null, "Respuesta", "Claro, quiero eliminar Windows de mi sistema");
            }else{
                Notification.windowMessage(null, "Respuesta", "No, todavia no.");
            }
           
        }catch(Exception ex){
            System.err.println("error: "+ex.getCause());
        }

    }

}

Ejecutando código:

Ejemplo básico con Spring MVC (XML-less)

 

Spring puede configurarse a través de archivos XML y/o con código Java. — El siguiente aporte es un ejemplo básico de uso de Spring MVC sin utilizar la configuración basada en XML (también el web.xml es omitido) y como tema del ejemplo se trata de un ABC de Snippets.

 

 

Para poder trabajar sin el descriptor de despliegue (el archivo web.xml), se requiere que el servidor de aplicaciones implemente la especificación de Servlet 3.0+ (p.ej.: Tomcat 7/8, Glassfish 3/4, JBoss AS 7).

Algunos clases de este proyecto utilizan características de Java 8, que pueden modificarse fácilmente para soportar Java 6/7. Para el manejo de las dependencias se utilizó Maven 3.x

Estructura

  1. C:.
  2. |   pom.xml
  3. |
  4. \---src
  5.     \---main
  6.         +---java
  7.         |   \---org
  8.         |       \---javamexico
  9.         |           \---snippet

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) {

Distribuir contenido