Skip to main content

Posts

Showing posts from 2022

Probando Jmoordb-core con Helidon

 En esta ocasiĆ³n ejecute pruebas de jmoord-core con Helidon y MongoDB. Los resultados fueron  muy interesantes , un inicio rĆ”pido de las aplicaciones y un buen performance de la misma con un  bajo consumo de recursos.

Probando Jmoordb-core con Quarkus 3.0 Alpha Jakarta EE 10

 En el siguiente video se muestra como implementar un proyecto con Quarkus 3.0 Alpha 1 con Jmoordb-core , usando Jakarta EE 10, con una base de datos MongoDB. https://code.quarkus.io/?S=io.quarkus.platform%3A3.0 Luego lo descargamos y agregamos el repositorio < repositories > < repository > < id > jitpack.io </ id > < url > https://jitpack.io </ url > </ repository > </ repositories > Y aƱadimos las  dependencias <dependency> <groupId>com.github.avbravo</groupId> <artifactId>jmoordb-core</artifactId> <version>0.2</version> </dependency> <dependency> <groupId>io.quarkus</groupId> <artifactId>quarkus-smallrye-openapi</artifactId> <version>2.12.3.Final</version> </dependency> <dependency>

Probando PayaraMicro Payara Micro 6.2022.1 Jakarta 10.0 con Jmoordb-core

 Recientemente Payara realizo la liberaciĆ³n de  Payara 6 Community , con soporte para Jakarta EE 10. realizamos las pruebas de jmoordb-core con MongoDB en esta nueva versiĆ³n. Agregamos las dependencias <properties> <jakartaee>10.0.0</jakartaee> <version.payara>6.2022.1</version.payara> </properties> <dependencies> <dependency> <groupId>jakarta.platform</groupId> <artifactId>jakarta.jakartaee-api</artifactId> <version>${jakartaee}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.eclipse.microprofile</groupId> <artifactId>microprofile</artifactId> <version>${microprofile.version}</version> <type>pom</type> <scope>provided</scope> </dependency>

Pruebas de referencias en MongoDB + jmoordbCore

Pruebas de Referencias y Embebidos  Se muestra un  ejemplo de referencias de varios niveles entre colecciones de MongoDB utilizando Jmoordb.core. Coleciones de MongoDB Ejemplo de entidad: Persona @Entity(jakartaSource = JakartaSource.JAVAEE_LEGACY) public class Persona { @Id(autogeneratedActive = AutogeneratedActive.ON) private Long idpersona; @Column private String nombre; @Embedded private Deporte deporte; @Embedded private List<Musica> musica; @Referenced(from = "pais", localField = "idpais", typeReferenced = TypeReferenced.REFERENCED) private Pais pais; @Referenced(from = "animal", localField = "idanimal", typeReferenced = TypeReferenced.REFERENCED) private List<Animal> animal; Ejemplo de entidad Animal. Se puede observar que tiene referencias a otras colecciones y documentos embebidos, que tienen referencias. @Entity(jakartaSource = JakartaSource.JAVAEE_LEGACY) public

Documentos Referenciados con jmoordb-core

 Los documentos reverenciados en jmoordb -core se basan en el principio de que estos son documentos embebidos en la colecciĆ³n, en los cuales podemos especificar si deben ser consultados en otra colecciĆ³n o se utilizan los documentos de la misma colecciĆ³n. En el ejemplo contados con tres colecciones Animal, Grupo , Zoo. Dentro de animal tenemos dos documentos embebidos Zoo y Especie. ColecciĆ³n Grupo /* 0 */ { "_id" : ObjectId("63613acfc6acae0fad901685"), "grupo" : "Mamifero", "idgrupo" : "mamifero" } /* 1 */ { "_id" : ObjectId("63613afec6acae0fad901686"), "grupo" : "Aves", "idgrupo" : "aves" } /* 2 */ { "_id" : ObjectId("63613b19c6acae0fad901687"), "grupo" : "Reptiles", "idgrupo" : "reptiles" } ColecciĆ³n Zoo /* 0 */ { "_id" : ObjectId("63613a91c6acae0fad901683"),

Jmoordb-core-quarkus

 Jmoordb-core-quarkus es la implementaciĆ³n que estamos desarrollando de Jmoordb-core, para intregaciĆ±Ć³n con Quarkus y generar imĆ”genes nativa. Solo necesitas agregar a tu proyecto Quarkus < repositories > < repository > < id > jitpack.io </ id > < url > https://jitpack.io </ url > </ repository > </ repositories > < dependency > < groupId > com.github.avbravo </ groupId > < artifactId > jmoordb-core-processor-quarkus </ artifactId > < version > 0.1 </ version > </ dependency > Agregue la configuraciĆ³n al archivo application.properties quarkus.mongodb.connection-string = mongodb://localhost:27017 Cree una entidad @Entity(jakartaSource = JakartaSource.JAVAEE_LEGACY) public class Pais {     @Id(autogeneratedActive = AutogeneratedActive.ON)     private Long idpais;        @Column     private String pais;          @Column     private Date fecha;    

Markdown plugin para NetBeans

  Markdown es muy utilizado por su sencillez,  existe un plugin para NetBeans que esta desarrollando Moacir da Roza , que puedes descargar desde el siguiente enlace    https://github.com/moacirrf/netbeans-markdown/releases Su uso es muy sencillo, solo necesitas instalar el plugin y al abrir un archivo con la extensiĆ³n .md, se muestra una pre visualizaciĆ³n del mismo. Aun esta en desarrollo pero funciona muy bien, si necesitas soporte para Markdown en NetBeans sin duda es el componente que debes utilizar.

jmoordb-core en Jakarta EE 10

Estamos haciendo pruebas de una versiĆ³n totalmente reescrita desde cero de Jmoordb. Jakarta EE 10/NetBeans 14/ MongoDB/ Glassish

Jakarta NoSQL con MongoDB perspectivas

 Jakarta NoSQL con MongoDB perspectivas Hace unos aƱos conversaba con un gran amigo Otavio Santa, acerca de bases de datos NoSQL. Es admirable el trabajo que lleva adelante Otavio y otros desarrolladores en la especificaciĆ³n Jakarta NoSQL. La definiciĆ³n oficial en el sitio de Jakarta: " Jakarta NoSQL is a Java API standard that streamlines the integration of Java applications with NoSQL databases. It defines a set of APIs and provides a standard implementation for most NoSQL databases. The goal is to create the specification in Jakarta EE to help Jakarta EE developers create enterprise-grade applications using Java® and NoSQL technologies. It helps them create scalable applications while maintaining low coupling with the underlying NoSQL technology." Si leemos un poco la documentaciĆ³n oficial nos encontraremos que se define mediante dos capas: Communication Layer: Contiene 4 mĆ³dulos uno para cada tipo de bases de datos NoSQL. Es como  JDBC para bases de datos relacionales. Ma

Primefaces p:schedule con p:dialog con fechas no editables

 PrimeFaces nos ofrece un componente sumamente interesante para manejar nuestras fechas este es <p:schedule> https://www.primefaces.org/showcase/ui/data/schedule/basic.xhtml Cuando deseamos mostrar un dialogo con las fechas seleccionadas pero sin necesidad de editar la fecha podemos recurrir a un truco muy sencillo. Agregar  en el dialog un componente <p:calendar con rendered="false", de esta manera se mostrara  el contenido del dialog, pero no tendremos la fecha editable, que para algunas circunstancias puede no ser adecuado.                     <p:outputLabel value="Fecha:" styleClass="p-text-bold" rendered="false"/>                     <p:calendar  value="#{testController.event.startDate}" pattern="dd/MM/yyyy hh:mm a"                                  rendered="false"                                  />

Controlar F5 o Refresh Button del Navegador con Jakarta Server Faces

Hay varias formas de Controlar cuando el usuario esta en una pagina Web desarrollada con Jakarta Server Faces. Presiona el boton Refresh o la tecla F5 para recargar o actualizar la pagina actual. Creamos un proyecto Jakarta EE   y se ha configurado la pagina de inicio en el archivo web.xml Al ejecutar la aplicaciĆ³n se muestra la pagina de login.xhtml donde se pedirĆ” las credenciales del usuario. al ingresar las credenciales nos dirige a la pagina index.xhtml Si presionamos la tecla F5 o el botĆ³n Refresh del navegador  podrĆ” notar que sera redirigido a la pagina de login.xhtml, en lugar de actualizar  la pagina index.xhtml. Para evitar esta situaciĆ³n y mantener al usuario observando la pagina actual se pueden implementar de varias formas:  Controlar los eventos con JavaScript, Guardar datos en el cliente. Personalizar mediante <f:viewAction> En nuestro caso mostraremos como utilizar algo diferente mediante  <f:viewAction/>, es un ejemplo demostrativo solamente. Lo que harem