Skip to main content

Posts

Jakarta Server Faces

 Jakarta Server Faces es una excelente especificación que nos ofrece una forma fácil de crear aplicaciones Web, con grandess bibliotecas que puedes utilizar como lo son: Omnifaces: Liberia de utilidades Primefaces: La mejor librería de componentes visuales para JSF. Otra de las ventajas es que nosotros podemos crear nuestras propias bibliotecas de componentes y personalizar las aplicaciones a nuestra comodidad. En mi caso he ido personalizando una biblioteca llamada jmoordbjsf , la cual esta optimizada para ser usada con jmoordb (APi para MongoDB), con jmoordbutils (Libreria de utilidades). Aqui mostramos un enlace a las diferentes bibliotecas https://avbravo.github.io/ Pronto estaremos descrbiendo paso a paso la creación de una aplicación con Microprofile con MongoDB y Jakarta Server Faces (Primefaces + jmoordbjsf)
Recent posts

Salida deTwitter (La red con inteligencia artificial que ha dejado la inteligencia)

 Despues de muchos años utilizando Twitter con mi cuenta @avbravo donde compartia información sobre Java, NetBeans, JakartaEE, JMoordb, NoSQL, MongoDB. Mi cuenta sufrió un hacking, y se realizaron publicaciones que violaban las reglas de Twitter. los mensajes que publicaron  cuando hachearon mi cuenta fueron como se muestra en la captura en  un corto tiempo. Pero lo peor no fue el hackeo a mi cuenta de Twitter, lo peor es la respuesta de Twitter al respecto, me comunico con ellos por los canales oficiales, comunicacionales la situación que se había producido un acceso no autorizado a mi cuenta y por esta razón podrían revisar los accesos (ips y lugares) de conexión para comprobar que no era mi persona y que revisaran el historial de publicaciones a lo largo de estos años donde los únicos temas relacionados han sido sobre Java y tecnologías,. Recibí una respuesta nefasta de la empresa en la que en lugar de investigar el incidente con las evidencias establecidas su respuesta fue la sigui

jmoordb 2.3 soporte para shell de MongoDB

 Se ha incluido en la versión 2.3 de Jmoordb el soporte para ejecutar instrucciones de consultas y agregaciones que se ejecutan en MongoDB directamente en jmoordb. Con lo cual sera más facial expresar instrucciones de MongoDB. En el siguiente enlace he detallado un ejemplo de su utilización, con un $elemMatch  https://avbravo-2.gitbook.io/jmoordb/capitulo-4/introduccion-cap4/shell  <dependency>             <groupId>com.github.avbravo</groupId>             <artifactId>jmoordb</artifactId>             <version>2.3</version>         </dependency> <repositories>         <repository>             <id>jitpack.io</id>             <url>https://jitpack.io</url>         </repository>     </repositories>

Usando LazyDataModel con Jmoordb y Microprofile

 Usando LazyDataModel con Jmoordb y Microprofile Lazy es una característica muy interesante que nos permite mostrar solo unos registros en lugar de todos por ejemplo en un DataTable. Esto reduce el tiempo de espera y disminuye el consumo de recursos para desplegar los.  Un escenario puede ser donde tenemos 20000 registros y queremos mostrarlos en un datatable en la cual solo mostraremos 25 por pagina, no seria adecuado cargar los 20000 registros al mismo tiempo. Para ello podemos utilizar LazyDataModel. Para usarlo agregar un objeto LazyDataModel con los métodos set/get: private LazyDataModel<Colegio> lazyDataModelColegio; //set/get En el método init Instanciar el objeto lazyDataModelColegio y en el método load() haremos las implementaciones. El offset es el desplazamiento entre las paginas, sortBy tiene información sobre la ordenación y filterBy información sobre el filtro entre las columnas.  En nuestro caso usaremos la clase paginator de jmoordb para gestionar varias accion

MicroProfile Rest Client con Jmoordb

MicroProfile Rest Client con Jmoordb Crear microservicios con Microprofile es realmente fácil.  en esta ocasión mostrare una aplicación simple que utiliza MongoDB como base de datos y Jmoordb. Creamos un proyecto Web con Maven y con PayaraMicro.  (En mi caso utilizo Apache NetBeans) Editar el archivo pom.xml Agregar el repositorio    <repositories>         <repository>      <id>jitpack.io</id>      <url>https://jitpack.io</url>     </repository>     </repositories> Agregar las dependencias <dependency>             <groupId>com.github.avbravo</groupId>             <artifactId>jmoordb</artifactId>             <version>1.9</version>         </dependency>          <dependency>             <groupId>com.github.avbravo</groupId>             <artifactId>jmoordbutils</artifactId>             <version>1.39</version>         </dependency>

Video de uso de componente paginator personalizado

 En el post anterior mostré como crear un componente paginator personalizado para Java Server Faces.  La idea es entender como crearlo. Una vez creado lo empaquete en las librerías jmoordbjsf y jmoordbutils. Que se agregan al proyecto La vista de la aplicación es similar a la imagen siguiente: En las paginas Java Server Faces, desabilitamos paginator del componente <p:dataTable de primefaces. Agregamos un <f:facet name="header" y colocamos el componente <jmoordbjsf:paginatorx> pasando los atributos el controller y el objeto paginator. También incluimos un <h:facet name="footer"> y colocamos el componente <jmoordbjsf:paginatorxfooter>,  En esta aplicación usamos Microprofile, JakartaEE , Jmoordb y MongoDB ejecutandose con PayaraMicro En el Controller implementamos IPaginator, agregamos un objeto Paginator con sus métodos set/get Aplicamos varios filtros. en Jmoordb hemos implementado métodos para hacer consultas a MongoDB mediante querys que s

Creando un paginator para JavaServer Faces

 Una de las ventajas de Java Server Faces es la gran cantidad de componentes y proyectos como Primefaces hacen el desarrollo muy fácil. En esta ocasión mostraremos como crear un pequeño componente usando composite de Java Server Faces para crear un paginator que incluiremos en componentes como <p:dataTable>, <p:dataGrid> de una manera muy sencilla. El procedimiento de creación es muy sencillo  Tenemos una interface IPaginatorX.java con los métodos  public default String last(PaginatorX paginatorX)  public default String first(PaginatorX paginatorX)  public default String next(PaginatorX paginatorX)  public default String back(PaginatorX paginatorX)  public default String skip(PaginatorX paginatorX) default   public PaginatorX loadPaginator(PaginatorX paginatorX){         return  paginatorX;     } Creamos una clase PaginatorX.java En el Controller definimos una clase que implementa IPaginatorX,  creamos un atributo de la clase PaginatorX. @Named @ViewScoped public class publ