06 diciembre 2009

Have you ever found yourself frustrated with a ClassNotFoundException?

Tattletale

Have you ever found yourself frustrated with a ClassNotFoundException? Would you like to know what libraries are in your project and what they depend on? Would you like to get a full report on this stuff every time you run your ant build? If so you need to use the JBoss Tattletale project!

JBoss Tattletale is a tool that can help you get an overview of the project you are working on or a product that you depend on.

The tool will provide you with reports that can help you

  • Identify dependencies between JAR files

  • Find missing classes from the classpath

  • Spot if a class/package is located in multiple JAR files

  • Spot if the same JAR file is located in multiple locations

  • With a list of what each JAR file requires and provides

  • Verify the SerialVersionUID of a class

  • Find similar JAR files that have different version numbers

  • Find JAR files without a version number

  • Find unused JAR files

  • Identify sealed and signed JAR archives

  • Locate a class in a JAR file

  • Get the OSGi status of your project

JBoss Tattletale will recursive scan the directory pass as the argument for JAR files and then build the reports as HTML files.

JBoss Tattletale is licensed under GNU Lesser General Public License (LGPL) version 2.1 or later.

We hope that JBoss Tattletale will help you in your development tasks !

Please, visit the official JBoss Tattletale project page at http://www.jboss.org/tattletale/.

JavaBeans

Javabeans may be used just like a stateless or stateful session bean. However, they do not provide the functionality of a session bean (declarative transaction demarcation, declarative security, efficient clustered state replication, EJB 3.0 persistence, timeout methods, etc).

Seam JavaBean components may be instantiated using Component.getInstance() or
@In(create=true). They should not be directly instantiated using the new operator.

Entity beans

Entity beans are not usually used as JSF action listeners, but do often function as backing beans that provide properties to JSF components for display or form submission. In particular, it is common to use an entity as a backing bean, together with a stateless session bean action listener to implement create/update/delete type functionality.

Seam entity bean components may be instantiated using Component.getInstance(),
@In(create=true) or directly using the new operator.

Stateful session beans

Application state that does not belong in the database should usually be held by stateful session beans. Instead of sticking information about the current
conversation directly in the HttpSession, you should keep it in instance variables of a stateful session bean that is bound to the conversation context.

Stateful session beans are often used as JSF action listener, and as backing beans that provide properties to JSF components for display or form submission.

Seam stateful session bean components may be instantiated using Component.getInstance()
or @In(create=true)
. They should not be directly instantiated via JNDI lookup or the new operator.

Stateless session beans

Stateless session beans can be accessed concurrently as a new instance is used for each request. Assigning the instance to the request is the responsibility of the EJB3 container (normally instances will be allocated from a reusable pool meaning that you may find any instance variables contain data from previous uses of the bean).

Seam stateless session bean components may be instantiated using Component.getInstance() or @In(create=true). They should not be directly instantiated via JNDI lookup or the new operator.

05 diciembre 2009

El catalán es un dialecto del español

definiciones:

dialecto.

(Del lat. dialectus, y este del gr. διάλεκτος).

1. m. Ling. Sistema lingüístico considerado con relación al grupo de los varios derivados de un tronco común. El español es uno de los dialectos nacidos del latín.

2. m. Ling. Sistema lingüístico derivado de otro, normalmente con una concreta limitación geográfica, pero sin diferenciación suficiente frente a otros de origen común.

3. m. Ling. Estructura lingüística, simultánea a otra, que no alcanza la categoría social de lengua.


lengua.

(Del lat. lingua).

1. f. Órgano muscular situado en la cavidad de la boca de los vertebrados y que sirve para gustación, para deglutir y para modular los sonidos que les son propios.

2. f. Sistema de comunicación verbal y casi siempre escrito, propio de una comunidad humana.

3. f. Sistema lingüístico cuyos hablantes reconocen modelos de buena expresión. La lengua de Cervantes es oficial en 21 naciones

4. f. Sistema lingüístico considerado en su estructura.

5. f. Vocabulario y gramática propios y característicos de una época, de un escritor o de un grupo social. La lengua de Góngora La lengua gauchesca


idioma.

(Del lat. idiōma, y este del gr. ἰδίωμα, propiedad privada).

1. m. Lengua de un pueblo o nación, o común a varios.




catalán, na.

1. adj. Natural de Cataluña. U. t. c. s.

2. adj. Perteneciente o relativo a este antiguo principado, hoy comunidad autónoma de España.

3. m. Lengua romance vernácula que se habla en Cataluña y en otros dominios de la antigua Corona de Aragón.



castellano, na.

(Del lat. Castellānus).

1. adj. Natural de Castilla. U. t. c. s.

2. adj. Perteneciente o relativo a esta región de España.

3. adj. Dicho de una gallina: De cierta variedad negra muy ponedora.

4. m. Lengua española, especialmente cuando se quiere introducir una distinción respecto a otras lenguas habladas también como propias en España.

5. m. Dialecto románico nacido en Castilla la Vieja, del que tuvo su origen la lengua española.

6. m. Variedad de la lengua española hablada modernamente en Castilla la Vieja.




español, la.

(Del prov. espaignol, y este del lat. mediev. Hispaniŏlus, de Hispania, España).

1. adj. Natural de España. U. t. c. s.

2. adj. Perteneciente o relativo a este país de Europa.

3. m. Lengua común de España y de muchas naciones de América, hablada también como propia en otras partes del mundo.








a favor:











en contra:

04 diciembre 2009

hsqldb

para instalar y gestionar bases de datos hsqldb:

1.- bajar hsqldb de su web
2.- descomprimir en c:\hsqldb
3,. ejecutar
java -cp lib/hsqldb.jar org.hsqldb.Server -database.0 file:mydb -dbname.0 xdb

4.- ejecutar
demo/runManagerSwing.bat

5.- conectar mediante el wizard del manager (jdbc:hsqldb:hsql://localhost/xdb)
6.- generar el esquema ejecutando:
CREATE SCHEMA hermes AUTHORIZATION dba;
SET SCHEMA hermes;
7.- crear las tablas como por ejemplo:
create table MESSAGES (
MESSAGE_ID bigint generated by default as identity (start with 1),
MESSAGE_TEXT varchar(255),
NEXT_MESSAGE_ID bigint,
primary key (MESSAGE_ID)
);

alter table MESSAGES
add constraint FK131AF14C3CD7F3EA
foreign key (NEXT_MESSAGE_ID)
references MESSAGES;
8.- Desde el HSQL Manager seleccionamos Schemas -> HERMES

03 diciembre 2009

hibernate3:hbm2ddl

hibernate3:hbm2ddl

  1. la solución más fácil para lo del esquema en hsqldb es crear el esquema a mano desde HSQLDB database manager
  2. otra solución sencilla puede ser definir el esquema en orm.xml y eliminarlo de las entities (lo que ponga en el orm.xml sobreescribe lo que ponga en anotaciones)
  3. la solución óptima parece ser eliminar @Table de las entities y declarar el default_schema en persistence.xml, en hibernate.properties y/o en hibernate.cfg.xml
  4. <?xml version="1.0" encoding="UTF-8"?>
    <entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm http://java.sun.com/xml/ns/persistence/orm_1_0.xsd"
    version="1.0">

    <persistence-unit-metadata>
    <persistence-unit-defaults>
    <schema>hermes</schema>
    </persistence-unit-defaults>
    </persistence-unit-metadata>

    </entity-mappings>

  5. la solución más elegante, aunque mucho más complicada, es aplicar los parches a:
  • src/org/hibernate/dialect/Dialect.java
  • src/org/hibernate/dialect/HSQLDialect.java
  • src/org/hibernate/cfg/Configuration.java

30 noviembre 2009

Palestina: región o estado

fuente: http://www.mgar.net/africa/israel.htm

El plan de las Naciones Unidas (1947):

...Contemplaba la división de Palestina en dos países independientes

...Hasta el punto de que éstos, ante la imposibilidad de resolver un problema cada vez más enrevesado, recurrieron a las Naciones Unidas, que en célebre reunión del 19 de noviembre de 1947 decidió la partición de Palestina en dos Estados: uno israelí y otro árabe con una zona internacional para Jerusalén. Poco después se proclamaría la independencia del Estado judío el 15 de mayo de 1948, con la huida masiva de palestinos de su territorio. Y la guerra que siguió, hasta 1949, permitió ampliar el espacio israelí en 5.000 kilómetros cuadrados sobre la previa partición de la ONU, incluyendo una zona muy importante de Jerusalén. La Palestina árabe quedó sometida a sendos despojos, la franja de Gaza y de Cisjordania.(Ramón Tamames)



Palestina: un Estado ocupado, un pueblo masacrado.

...para que devuelvan a Palestina el status de nación libre y soberana.
El pueblo palestino quiere recuperar su patria, su libertad.



Palestina; Historia de un pais robado

Este site describe MUY BIEN la historia palestina desde el siglo XV muy detalladamente










sites que defienden la idea de que no ha existido nunca un estado palestino:


http://www.elimparcial.es/contenido/13682.html

De llegar a nacer, habría sido creado el primer país palestino en la historia pues, a diferencia de Israel, nunca antes ha constituido un Estado, si bien ha sido dominado por diferentes imperios como el romano, el turco otomano o, más tarde, el británico. Palestina nunca ha constituido una entidad por sí misma.
















29 noviembre 2009

IBM WebSphere Application Server for Developers

IBM WebSphere Application Server 7 for Developers

WebSphere Application Server for Developers - Now downloadable, No charge

Want to try out WebSphere Application Server V7.0 for development? Check!
Want to do it without having to order a CD? Check!
Want to do it without having to work with purchasing? Check!
Want to do it by yourself as a developer? Double Check!

I talk to many developers who want to install WebSphere Application Server for development, but every license is tracked and installed by their operations team on some remote server. Working with the operations team and (gasp) purchasing would take more time than the time to write the application they wanted to write. So they go off and download some other runtime and later port the application back to WebSphere Application Server or abandon the project altogether.

This won't be the story after today. Go here to download a no-charge copy of WebSphere Application Server for your development needs.

From the download page:

Download WebSphere Application Server for Developers, a no-charge offering that satisfies the need for a no-cost WebSphere Application Server development runtime for projects that don't warrant the expense of a priced and supported runtime on the developer desktop. Reduce testing effort and develop with confidence using a runtime environment that is identical to the production runtime environment your applications will eventually run on.

proyecto base para hermes con seam 2.2.0.GA y JBoss AS 5.1

El ejemplo Seam 2.2 Booking Example -(EAR including a tutorial) que podemos bajar desde eclipse nos puede servir de base para migrar hermes a seam 2.2.0, puesto que funcionan los test a la primera.

Sólo hay que cambiar el servidor a JBoss AS 5.1 y seam a 2.2.0.GA

Using Maven, Eclipse and JBoss Tools

Using Maven, Eclipse and JBoss Tools

Para usar el template de proyectos seam mavenizados con eclipse

(muestra cómo configurar eclipse con UTF-8 en MUCHAS preferencias)

A Mavenized Seam Project Template

A Mavenized Seam Project Template

Know IT Objectnet developers have created a Mavenized Seam project template. Due to the lack of Maven support in the Seam project, we felt the need to get a project started for the topic. After some research and development, the base was ready to be put in use. We felt that it was only right to make the project available to the public, and put together a google code project. As of now the project is aimed at running on the JBoss-4.2.3 and JBoss-5.x application servers deployed as an EAR project.

We welcome fellow Seam + Maven fans to this project. Whether you want to use this template to develop your own projects, or you want to contribute to the project, we invite you to check out the code.

To get started check out this tutorial

26 noviembre 2009

Manejar Proyectos J2EE

Manejar Proyectos J2EE


1 . Introducción
2 . Elegir
3 . Colaboración del Equipo
3.1 . El Respositorio de Proyecto de Maven
3.2 . El Modelo de Objeto de Proyecto (POM) de Maven
4 . Obtener Feedback del Proyecto
4.1 . Utilizar CruiseControl con Maven
5 . Manejar el Ciclo Construir/Desplegar con un sólo Click
6 . Desarrollar Varios Proyectos
7 . Empaquetar un Proyecto J2EE
8 . Tutorial de Manejo de Código
8.1 . Iniciar el Proyecto
8.2 . El Plug-in genapp de Maven
8.3 . El Plug-in JDeveloper de Maven
8.4 . Ejecutar Maven desde dentro de JDeveloper
8.5 . La Consola Maven
9 . Sumario
10 . Próximos Pasos

Hacer un merge entre dos ramas de SVN

No es la primera vez que me enfrento a ello, pero siempre se me olvida cómo se hace y pierdo un montón de tiempo con ello. Así que lo apunto:

El escenario son 2 rama: el trunk y un branch del primero. El branch se creó en el día D, y en la revisión 100 (esto es importante!, mirad el log del svn si no lo sabéis). Hoy, trunk está en la revisión 400. El objetivo es mover todos los desarrollos de la branch a trunk.

1. Lo primero que hay que hacer es sincronizar todos los cambios de branch y trunk, y asegurarse que nadie trabaja en branch
2. Se baja la última versión de trunk, y no se modifica!
3. Se selecciona el proyecto trunk, y se pulsa en Team/Merge…
4. En el campo From se elige el proyecto Trunk en la revisión 100 (cuando se creó el branch!)
5. En el campo To se elige el proyecto Branch, en la HEAD revision
6. Ejecutar un DryRun. Esto simula el merge y así se puede ver si vamos bien o no
7. Ejecutar el Merge
8. Revisar todos los conflictos, los ficheros que se han borrado del trunk (aparecerán como nuevos, con el ? de svn). Borrarlos definitivamente, o no.

Y bueno, ahora volver a hacer un syncronize y un commit a ver que conflictos encontramos