Skip to main content

Posts

Duke's Choces Awards 2017 JEspañol

Hace unos años se creo una iniciativa para unir JUGLeaders y Java Champions de Latinoamerica con la finalidad de promover los avances en la plataforma Java en el idioma español.
Esta iniciativa reunió miembros de México, Guatemala, Panamá, Colombia, Peru, a esta comunidad recién creada le llamamos JEspañol. http://www.jespanol.org





En colaboración y el apoyo de los grandes amigos de Certificatic de Mexico, se realizo una semana virtual de JEspañol y luego varios de los miembros visitaron Mexico para conferencias presenciales.



Este año en el Java One 2017 se anunciaron los ganadores del Duke's Choices Awards.

Announcing 2017 Duke's Choice Award Nominations
https://blogs.oracle.com/java/announcing-2017-dukes-choice-award-nominations

JEspanol como grupo fuimos seleccionados como uno de los 9 ganadores de los Duke's Choices Awards 2017, varios miembros participaron como conferencistas en el Java One y recibieron el premio en nombre del grupo.


Foto de parte de los miembros recibiend…
Recent posts

Usando APi Reflection para invocar métodos set

Hay muchas formas de usar Reflection en Java, en esta ocasión un ejemplo sencillo implementado en un proyecto Web, que utiliza Java Server Faces.
Tenemos un entity  llamado Reservadoagente que definimos con JMoordb





Deseamos asignar el valor de 3 a los atributos turnodia2 hasta turnodia3, para mostrar en un datatable como se muestra en el ejemplo:




            Class[] paramInt = new Class[1];
            paramInt[0] = Integer.TYPE;

            for (Agente a : agenteList) {

                   Reservadoagente reservadoagente = new Reservadoagente();
                   reservadoagente.setAgente(a);
                   Class cls = reservadoagente.getClass();
                   Object obj = reservadoagente;

                   for (int dia = 1; dia <= numeroDiasMes; dia++) {
                             Field field = cls.getDeclaredField("turnodia" + dia);
                             Method setter = cls.getMethod("setTurnodia" + dia, field.getType());
                  …

Contador mediante Reflexión

Algunas ocasiones tenemos que contar una cantidad valores en los atributos, generalmente tendríamos que hacerlo propiedad por propiedad.
Contamos con un Entity

 necesitaríamos implementar un código donde veríamos múltiples condiciones y tenemos que usar cada atributo mediante el método get, en este ejemplo serian 31 campos. Imaginemos el escenario que sea una cantidad mayor, tendríamos un segmento de código mas o menos como el que mostramos aquí.

 for (Agente a : agenteList) {
                t1 = 0;
                t2 = 0;
                t3 = 0;
                t4 = 0;
for (Reservadoagente r : reservadoagenteList) {
if(r.getTurno1() == 1 || r.getTurno2() == 1 || r.getTurno3() == 1 || r.getTurno4() ==1 ,,, r.getTurno31()==1 ){
t1++;
}
else{
    if(r.getTurno1() == 2 || r.getTurno2() == 2 || r.getTurno3() == 2 || r.getTurno4() ==2 ,,,      
        r.getTurno31()==2 ){
        t2++;

   }
else{
    if(r.getTurno1() == 3 || r.getTurno2() == 3 || r.getTurno3() == 3 || r.getTurno4() ==3 …

Api para seguridad mediante HttpSession

Este api simplifica el manejo de HttpSession en aplicaciones Java EE, para ayudar al desarrollador a implementar el control de las sesiones de los usuarios.
Validar login
Controlar si existe ese usuario logeado en otra sesión.


Anular las sesiones enviar token al email del usuario


Administrar las sesiones


 Manual (Online/pdf)
https://www.gitbook.com/book/avbravo/avbravosecurity/details

<repositories><repository><id>jitpack.io</id><url>https://jitpack.io</url></repository></repositories> Agregar la dependencias

<dependency><groupId>com.github.avbravo</groupId>

JMoordb MongoDBRepository

Andrea Covino parte del equipo de JMoordb, trabajando en la implementación de MongoRepository, (desarrollo interno, estos cambios no estan en el repositorio oficial),   esto permite que solo definamos un entity y mediante el uso de MongoRepository desde un controller tengamos las funcionalidades que ofrece el Facade(experimental).

Observe que se dispone de una nueva anotación @DocumentInfo que permite indicar el nombre de la colección.

El modelo anterior {Entity+Facade+Controller}
Nuevo modelo {Entity +Controller{MongoRepository}}



@Getter
@Setter
@DocumentInfo(name = "planeta")
public class Planeta {
    @Id
    private String idPlaneta;

    private String planeta;

    private Date fecha;

    public Planeta(){ }

    public Planeta(String idPlaneta, String planeta, Date fecha){
        this.idPlaneta = idPlaneta;
        this.planeta = planeta;
        this.fecha = fecha;
    }

    @Override
    public String toString(){
        return "Palnetas{ idplaneta=" + idPl…

Jmoordb en Certificatic- Semana JEspañol

Hace aproximadamente 2 años se creo la comunidad JEspañol, http://www.jespanol.org/, con la iniciativa de Alexis Lopez(Colombia) , Cesar Hernandez(Guatemala), Jose Diaz(Perú), Diego Silva(Perú), Jorge Vargas(México) , Aristides Villarreal Bravo(Panamá), Victor Orozco(Guatemala).
La finalidad era reunir los lideres de grupos de usuarios Java de Latinomerica, con el objetivo de promover el lenguaje de programación Java.
Nuestro lema:
Un lenguaje, un idioma, Java en español.
Somos una comunidad que busca aumentar la difusión y adopción de la tecnología Java en idioma español. Para lograrlo, fomentamos la colaboración e interacción entre los grupos de usuarios Java de habla hispana, generando documentación, laboratorios y eventos en los países participantes.



Nuestros amigos de CertificaTic, (https://www.certificatic.org/) organizaron la semana de JEspañol con el lema 1 era Reunión Virtual JEspañol.




Agenda de temas










En esta oportunidad  presente:
JMoordb un API Java para NoSQL


Video en Face…

The Definitive Guide to DateTime Manipulation

The Definitive Guide to DateTime Manipulation https://www.toptal.com/software/definitive-guide-to-datetime-manipulation
Interesante publicación de nuestros amigos de Toptal, donde muestran una guía para manipular fechas con JavaScript. El uso de fechas es muy común en todas las aplicaciones que desarrollemos, aqui se muestra una guía muy interesante.

var today = newDate().toLocaleDateString('en-GB', { day : 'numeric', month : 'short', year : 'numeric' })