jueves, 12 de junio de 2008

compilar en maven con java 1.5

Instalar librerias en repositorio local de maven una a una

cuando el repositorio remoto no tiene dicha libreria nos sale por consola el comando que debemos insertar, antes modificamos /path/to/file por el path real a la librería que nos hemos manualmente descargado.
mvn install:install-file -DgroupId=com.google.gdata -DartifactId=gdata-core -Dversion=1.0 -Dpackaging=jar -Dfile=/path/to/file

martes, 10 de junio de 2008

Instalar ANT en MacOS

http://www.asceticmonk.com/blog/?p=388

en ese enlace se habla de exportar variables al PATH en MACOS

viernes, 4 de abril de 2008

Tipos de asociación: Composición - Agregación - Dependencia

Tipos de asociación:
La composición está relacionada con el valor del objeto, es decir el objeto que lo contiene se encarga de su ciclo de vida (inicialización, mantenimiento y limpieza)
La agregación está relacionada con la referencia a un objeto:

jueves, 27 de marzo de 2008

Programación pesimista, programación orientada a excepciones (anomalías)

Una excepción en java es simplemente una clase que hereda de la clase java.lang.Exception que extiende a su vez de la clase java.lang.Throwable así que empezamos echando un vistazo a el API de Throwable: http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Throwable.html
Como se comenta en la descripción de la clase:
Only objects that are instances of this class (or one of its subclasses) are thrown by the Java Virtual Machine or can be thrown by the Java throw statement.
Se puede apreciar que las clases que herendan de Throwable son Error y Exception. Mientras que si lanzamos un error no hay que declarlo en la definición del método, si lanzamos una exception si hay que declarlo:





Aunque no estamos obligados a declarar el error en la definición del método lo podríamos haber hecho de las siguientes maneras:
  • public void pruebaLanzaError() throws Error
  • public void pruebaLanzaError() throws Throwable
Pero en este caso si invocamos el método desde otra parte de nuestro código si estamos obligados a hacernos cargo de este error:



Si entendemos la excepción como un comportamiento anómalo de nuestro programa (o parte de programa), podemos tener en cuenta todos las anomalías de nuestro programa como pueden ser: objetos nulos, valores negativos ...
y actuando en consecuencia es decir lanzando excepciones concretas respondiendo a comportamientos anomalos concretos.

jueves, 24 de enero de 2008

Script linux para recorrer directorio y cambiar nombre a archivos

Bueno parecía más difícil de lo que al final fue:

la función para recorrer directorios es la muy famosa ls, la salida que da se lo pasamos a un bucle while y en cada iteración hacemos un cp ___ ____

Al pasarle variables al script las recogemos por el orden de entrada es decir si ejecutamos el script
# hola.sh Manolo
pues dentro del script accedemos a la variable Manolo con $1 ya que $0 es el nombre del script="hola.sh"

así me ha quedado a mi:

ls $2 |
while read name
do
echo "nombre: $name Extension:$1 Directorio: $2"
cp $2/$name $2/$1$name
done

y la llamada
cambiarNombre.sh Miniatura_ /prueba

y tendría el resultado de anteponer la palabra "Miniatura_" a el nombre de los archivos existentes en el directorio prueba

miércoles, 16 de enero de 2008

Obtener un string con el mensaje (stacktrace) de una excepción

Exception ex = new Exception("something went wrong");
StringWriter sw = new StringWriter();
ex.printStackTrace(new PrintWriter(sw));
String stacktrace = sw.toString();
System.out.println("stacktrace = " + stacktrace);

Conseguido en
http://www.jguru.com/faq/view.jsp?EID=571084