Skip to main content

Posts

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
Recent posts

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

jmoordbutils para descargar y visualizar archivos en cualquier directorio mediante Java Server Faces

jmoordbutils para descargar y visualizar archivos en cualquier directorio mediante Java Server Faces  Generalmente necesitamos ver imágenes desde un  directorio fuera del directorio /resource de nuestro proyecto Web con Java Server Faces.También queremos ver y descargar archivos PDF.  El procedimiento sería  crear un StreamedContent para su manejo. Dentro de la libreria jmnoordbutils desarrolle  la claseJMoordbMediaManager.java que simplifica el trabajo. Es importante considerar los @Scoped. Lo recomendable es que la clase que administre el StreamContent sea @RequestScoped. (Ya esta implementado en la biblioteca jmoordbutils). De esta manera solo necesitas  indicar en el componente <p:graphicImage la ruta completa del archivo de imagen que deseas mostrar. Solo necesitamos inyectar en el controller  @Inject  JMoordbMediaManager  jMoordbMediaManager;     y crear el metodo  public String saveToMediaContex(String pathOfFile) {         try {                JmoordbMediaContext.put(&quo

Ver Imágenes desde un directorio diferente a resources

  Ver Imágenes desde un directorio diferente a resources   Generalmente necesitamos ver imágenes desde un  directorio fuera del resource de nuestro proyecto Web con Java Server Faces.. El procedimiento seria crear un StreamedContent para su manejo, dentro de la libreria jmnoordbutils desarrolle la clase JMoordbGraphicImageView.java que simplifica el trabajo. Es importante considerar los @Scoped. Lo recomendable es que la clase que administre el StreamContent sea @RequestScoped. (Ya esta implementado en la biblioteca jmoordbutils). De esta manera solo necesitas indicar en el componente <p:graphicImage la ruta completa del archivo de imagen que deseas mostrar.  <p:graphicImage id="image" value="#{jMoordbGraphicImageView.generateImage(var.foto)} " stream="false" cache="false" /> pagina xhtml Controller @Named @ViewScoped public class DatatableColumnaImagenController implements Serializable { // <editor-fold defaultstate="colla

MicroProfile Config

Voy a mostrar que tan fácil es usar Microprofile Config , en la publicación anterior  mostré como conectarse a una base de datos MongoDB medante MongoDB Atlas en un servidor AWS. En ese ejemplo colocamos el srv de MongoDB Atlas en nuestra clase principal. Generalmente deseamos que esta información este almacenada en un archivo properrties. Aquí es donde Eclipse MicroProfile Config nos ayuda enormentente. Describe los pasos: Cree un archivo llamado   microprofile-config.properties dentro de la carpeta META-INF en src/main/resources Luego agregue la propiedad:mongodbsrv con el valor del srv proporcionado por MongoDB Atlas Ahora en la clase principal debemos usar alcance @ApplicationScoped, e inyectar @Inject     private Config config; @Inject     @ConfigProperty(name="mongodbsrv", defaultValue="")     private String mongodbsrv; con esto podemos usar la variable mongodbsrv que contiene el valor de la propiedad mongodbsrv en el  archivo properties Ejemplo del  Controlle

Jmoordb con MongoDB Atlas

MongoDB Atlas es la base de datos como servicio que permite escalar fácilmente  MongoDB. Si tienes una cuenta de MongoDB Atlas puedes integrarlo fácilmente con JMoordb.A partir de la versión 0.73 de jmoordb, solo tienes que especificar el srv de la conexión que te indica Atlas  Solo necesitas crear una instancia de JmoordbConnection en tu clase principal e indicar el URI a MongoDB Atlas. Como se muestra a continuación: Para ello crearemos un Proyecto Jakarta EE con PayarMicro desde Apache NetBeans Desde el menú: File --> New Project --> Categories Java Wirh Maven --> Payara Micro Application Indicar el nombre del proyecto Seleccionar la versión de Payara Micro Utilizo Apache NetBeans 12.1, en el archivo pom.xml puedes actualizar la versión de Payara Micro. Incluir el repository <repositories>         <repository>             <id>jitpack.io</id>             <url>https://jitpack.io</url>         </repository>     </repositories> Ag

Building Modern Web Applications With Jakarta EE, NoSQL Databases and Microservices

  Building Modern Web Applications With Jakarta EE, NoSQL Databases and Microservices Ya está disponible el libro que escribí en colaboración de dos grandes amigos. Geovanny Mendoza y Otávio Gonçalves de Santana . Disponible en Amazon https://www.amazon.com/dp/B08KCZTLZT/ref=sr_1_1?dchild=1&keywords=Building+Modern+Web+Applications+with+Jakarta+EE%2C+NoSQL+Databases+and+Microservices&qid=1601361117&s=books&sr=1-1 En el sitio de la editorial bpbonline: https://bpbonline.com/products/954496 Siempre surgen preguntas tales como: ¿Por qué escribir un libro? ¿Por qué esos temas? ¿Debo comprarlo ? ¿Que aprenderé? ¿Tengo un alto nivel en desarrollo de aplicaciones necesitare un libro asi? ¿Quiero aprender a trabajar aplicaciones NoSQL desde Java? ¿Jakarta EE que es? ¿Como construyo aplicaciones Web con Vaadin o JavaServerFaces o Eclipse Krazo? ¿Estará completo el libro? Serían muchas preguntas que se generan en cada lector al momento de adquirir un libro. Desde nuestra perspect