Al configurar la invocacion a un metodo utilizando una excepcion, si la firma de dicho metodo no especifica excepcion alguna, entonces solo puede configurase una excepcion "unchecked". De otra manera se obtendra el siguiente error durante la verificacion:
last method called on mock cannot throw java.lang.Exception
viernes, 28 de noviembre de 2008
martes, 4 de noviembre de 2008
mylyn: Tareas en Assembla con Eclipse Mylyn
Assembla ofrece diversos paquetes que facilitan el desarrollo de software agil. Uno de los paquetes permite la integracion con Eclipse Mylyn, haciendo mas sencillo la administracion de las tareas necesarias para realizar un proyecto.
Creacion de un nuevo espacio en Assembla
Acceda, mediante su navegador web, a la siguiente URL que le permite seleccionar el paquete Mylyn: http://www.assembla.com/preconfigured_spaces/11-Tickets-for-Eclipse-MyLyn-Package
Observara la siguiente pagina:

Presione el boton "Select this package" para continuar. Observara la siguiente pagina, donde podra optar entre las opciones del paquete gratuito o pago:

Para selecionar el paquete gratuito, presione el boton "Select Free Public". Observara entonces la siguiente pagina, donde podra darle un nombre al espacio, una descripcion y definir permisos de acceso:

Finalmente, presione el boton para crear el espacio:
Una vez creado el espacio sera redigido a la siguiente URL: http://www.assembla.com/spaces/[nombre-del-espacio]/admin
Alli encontrar una serie de opcion para la configuracion de su espacio:

Instalacion en Eclipse del conector de Assembla para Eclipse Mylyn
Para conectar Eclipse con el sistema de tickets de Assembla debera emplear Mylyn y el conector provisto por Assembla. En la siguiente URL se encuentran las instrucciones para hacerlo: http://www.assembla.com/wiki/show/assemblamylyn/How_To_Use
Debe disponer de Eclipse Ganymede 3.4 para poder continuar. Acceda a las actualizacion de software de Eclipse mediante el menu Help -> Software Updates:

Agregue un nuevo sitio presionando el boton "Add Site" y en el campo "Location" espcifique la siguiente URL: http://svn.assembla.com/svn/assemblamylyn/update-site

Luego presione el boton "OK" y seleccione de la lista correspondiente a la solapa "Available Software" el conector para Mylyn de Assembla, que tiene por nombre "MyLyn Connector: Assembla":

Presione el boton "Install" y observara la siguiente ventana:

Creacion del repositorio de tareas en Eclipse Mylyn
Una vez instalado el conector, acceda a la perpectiva "Planning", empleando el menu Window -> Open perspective -> Other... :


Luego seleccione la vista "Task Repositories" empleando el menu Window -> Show View -> Task Repositories. Despliegue el menu contextual y seleccione la opcion "Add Task Repository":

A continuacion aparecera una ventana con la lista de repositorios disponibles. Debera elegir la opcion "Assembla":

Presione el boton "Next" y podra acceder a la ventana para configurar el repositorio de tareas. Seleccione el "Server" y el "Label" aparecera automaticamente. Luego ingrese el "Usuar ID" y el "Password" y despliegue el item "Additional Settings". Presione el boton "Update Spaces from Repository" para obtener los espacios asociados a su cuenta. Seleccione el espacio que desea utilizar y presione el boton "Finish":

Si el boton "Finish" no es habilitado, cambie el "Label" por "Assembla Mylyn Connector" y luego presione el boton "Validate Settings". De esta forma debera quedar habilitado y podra proseguir.
Luego aparecera el siguiente mensaje, que le permite crear una nueva consulta para obtener las tareas almacenadas en el repositorio:

Al presionar el boton "Yes" podra seleccionar el tipo de consulta que desea crear:

Crear una nueva tarea en el repositorio de Assembla
Para agregar una nueva tarea, despliegue el menu contextual correspondiente a la solapa "Task Repositories":

Al seleccionar el item "New Task", podra seleccionar el repositorio donde desea agregar la nueva:

Presione el boton "Finish" y una solapa aparecera permitiendo personalizar la nueva tarea. Mediante el boton "Submit", hubicado en la parte inferior de la solapa, podra enviar la solapa al repositorio y quedara disponible al resto de los usuarios.
Vinculos:
Creacion de un nuevo espacio en Assembla
Acceda, mediante su navegador web, a la siguiente URL que le permite seleccionar el paquete Mylyn: http://www.assembla.com/preconfigured_spaces/11-Tickets-for-Eclipse-MyLyn-Package
Observara la siguiente pagina:
Presione el boton "Select this package" para continuar. Observara la siguiente pagina, donde podra optar entre las opciones del paquete gratuito o pago:
Para selecionar el paquete gratuito, presione el boton "Select Free Public". Observara entonces la siguiente pagina, donde podra darle un nombre al espacio, una descripcion y definir permisos de acceso:
Finalmente, presione el boton para crear el espacio:
Alli encontrar una serie de opcion para la configuracion de su espacio:
Instalacion en Eclipse del conector de Assembla para Eclipse Mylyn
Para conectar Eclipse con el sistema de tickets de Assembla debera emplear Mylyn y el conector provisto por Assembla. En la siguiente URL se encuentran las instrucciones para hacerlo: http://www.assembla.com/wiki/show/assemblamylyn/How_To_Use
Debe disponer de Eclipse Ganymede 3.4 para poder continuar. Acceda a las actualizacion de software de Eclipse mediante el menu Help -> Software Updates:
Agregue un nuevo sitio presionando el boton "Add Site" y en el campo "Location" espcifique la siguiente URL: http://svn.assembla.com/svn/assemblamylyn/update-site
Luego presione el boton "OK" y seleccione de la lista correspondiente a la solapa "Available Software" el conector para Mylyn de Assembla, que tiene por nombre "MyLyn Connector: Assembla":
Presione el boton "Install" y observara la siguiente ventana:
Creacion del repositorio de tareas en Eclipse Mylyn
Una vez instalado el conector, acceda a la perpectiva "Planning", empleando el menu Window -> Open perspective -> Other... :
Luego seleccione la vista "Task Repositories" empleando el menu Window -> Show View -> Task Repositories. Despliegue el menu contextual y seleccione la opcion "Add Task Repository":
A continuacion aparecera una ventana con la lista de repositorios disponibles. Debera elegir la opcion "Assembla":
Presione el boton "Next" y podra acceder a la ventana para configurar el repositorio de tareas. Seleccione el "Server" y el "Label" aparecera automaticamente. Luego ingrese el "Usuar ID" y el "Password" y despliegue el item "Additional Settings". Presione el boton "Update Spaces from Repository" para obtener los espacios asociados a su cuenta. Seleccione el espacio que desea utilizar y presione el boton "Finish":
Si el boton "Finish" no es habilitado, cambie el "Label" por "Assembla Mylyn Connector" y luego presione el boton "Validate Settings". De esta forma debera quedar habilitado y podra proseguir.
Luego aparecera el siguiente mensaje, que le permite crear una nueva consulta para obtener las tareas almacenadas en el repositorio:
Al presionar el boton "Yes" podra seleccionar el tipo de consulta que desea crear:
Crear una nueva tarea en el repositorio de Assembla
Para agregar una nueva tarea, despliegue el menu contextual correspondiente a la solapa "Task Repositories":
Al seleccionar el item "New Task", podra seleccionar el repositorio donde desea agregar la nueva:
Presione el boton "Finish" y una solapa aparecera permitiendo personalizar la nueva tarea. Mediante el boton "Submit", hubicado en la parte inferior de la solapa, podra enviar la solapa al repositorio y quedara disponible al resto de los usuarios.
Vinculos:
domingo, 12 de octubre de 2008
uml: Enterprise Architect y Subversion
Enterprise Architect permite administrar los cambios en un modelo mediante varios SCM, uno de ellos es Subversion (SVN). Los siguiente pasos son necesarios:
- Instalar el servidor SVN o tener acceso a uno
- Importar la estructura del repositorio al servidor SVN
- Crear un directorio de trabajo local


Una vez que la configuracion de subversion fue completada, debera comenzar a agregar al repositorio los artefactos del modelo que desea controlar:





Vinculos:
- Instalar el servidor SVN o tener acceso a uno
- Importar la estructura del repositorio al servidor SVN
- Crear un directorio de trabajo local
Una vez que la configuracion de subversion fue completada, debera comenzar a agregar al repositorio los artefactos del modelo que desea controlar:
Vinculos:
Etiquetas:
ea,
enterprise architect,
subversion,
svn,
uml
uml: Crear un modelo master con Enterprise Architect
Para crear el modelo maestro (master) es necesario:
- Crear un modelo
- Convertirlo en maestro

Antes de comenzar con el proceso de conversion, observara un mensaje que le permitira tomar las decision final:

Una vez convertida la base de datos del modelo a una base maestro, observara el siguiente mensaje:

Una vez convertido el modelo a maestro, debera crear las replicas a partir de este maestro. No es necesario que cierre el proyecto maestro, por el contrario:

Debera buscar en el sistema de archivos el maestro recien creado:

Una vez creada la replica, observara un mensaje indicandole el resultado del proceso:

Vinculos:
- Crear un modelo
- Convertirlo en maestro
Antes de comenzar con el proceso de conversion, observara un mensaje que le permitira tomar las decision final:
Una vez convertida la base de datos del modelo a una base maestro, observara el siguiente mensaje:
Una vez convertido el modelo a maestro, debera crear las replicas a partir de este maestro. No es necesario que cierre el proyecto maestro, por el contrario:
Debera buscar en el sistema de archivos el maestro recien creado:
Una vez creada la replica, observara un mensaje indicandole el resultado del proceso:
Vinculos:
Etiquetas:
ea,
enterprise architect,
uml
sábado, 11 de octubre de 2008
scm: Crear un repositorio en Google Code
Crear un directorio temporal y alli otro con el nombre del repositorio. Ejecute los siguientes comandos:
$> mkdir tmpdir
$> cd tmpdir
$> mkdir Project
Luego importar el repositorio a SVN en Google Code:
$>svn import Project https://project.googlecode.com/svn -m "Model for the Project" --username [google-username]
Podra observar el siguiente mensaje de advertencia:
Error validating server certificate for 'https://project.googlecode.com:443':
- The certificate is not issued by a trusted authority. Use the fingerprint to validate the certificate manually!
Certificate information:
- Hostname: googlecode.com
- Valid: from Wed, 28 May 2008 18:48:13 GMT until Mon, 21 Jun 2010 16:09:43 GMT
- Issuer: Certification Services Division, Thawte Consulting cc, Cape Town, Western Cape, ZA
- Fingerprint: b1:3a:d5:38:56:27:52:9f:ba:6c:70:1e:a9:ab:4a:1a:8b:da:ff:ec
Tendra la opcion de aceptar o no el certificado:
(R)eject, accept (t)emporarily or accept (p)ermanently?
Si obtiene el siguiente error, vuelva a intentar ejecutar el comando:
tsvn: PROPFIND request failed on '/svn'
svn: PROPFIND of '/svn': Could not read status line: Secure connection truncated (https://project.googlecode.com)
Frente a un resultado exitoso, en el cual se concreta el agregado del repositorio a SVN, podra observar el siguiente mensaje:
Adding C:\tmpdir\Project
Committed revision 2.
Vinculos:
$> mkdir tmpdir
$> cd tmpdir
$> mkdir Project
Luego importar el repositorio a SVN en Google Code:
$>svn import Project https://project.googlecode.com/svn -m "Model for the Project" --username [google-username]
Podra observar el siguiente mensaje de advertencia:
Error validating server certificate for 'https://project.googlecode.com:443':
- The certificate is not issued by a trusted authority. Use the fingerprint to validate the certificate manually!
Certificate information:
- Hostname: googlecode.com
- Valid: from Wed, 28 May 2008 18:48:13 GMT until Mon, 21 Jun 2010 16:09:43 GMT
- Issuer: Certification Services Division, Thawte Consulting cc, Cape Town, Western Cape, ZA
- Fingerprint: b1:3a:d5:38:56:27:52:9f:ba:6c:70:1e:a9:ab:4a:1a:8b:da:ff:ec
Tendra la opcion de aceptar o no el certificado:
(R)eject, accept (t)emporarily or accept (p)ermanently?
Si obtiene el siguiente error, vuelva a intentar ejecutar el comando:
tsvn: PROPFIND request failed on '/svn'
svn: PROPFIND of '/svn': Could not read status line: Secure connection truncated (https://project.googlecode.com)
Frente a un resultado exitoso, en el cual se concreta el agregado del repositorio a SVN, podra observar el siguiente mensaje:
Adding C:\tmpdir\Project
Committed revision 2.
Vinculos:
Etiquetas:
google code,
scm,
subversion,
svn
scm: Instalar cliente de SVN
Descargar el cliente de SVN del sitio oficial.
Descomprimir el contenido de la distribucion por lo que obtendra el directorio: svn-
Modificar la variable de entorno "path" para poder ejecutar svn desde cualquier ubicacion del sistema de archivos.
Ejecutar svn para verificar el procedimiento.
Vinculos:
Descomprimir el contenido de la distribucion por lo que obtendra el directorio: svn-
Modificar la variable de entorno "path" para poder ejecutar svn desde cualquier ubicacion del sistema de archivos.
Ejecutar svn para verificar el procedimiento.
Vinculos:
- SVN Client @ tigris.org
- SlikSVN
- VisualSVN
jueves, 2 de octubre de 2008
aspectj: Ejemplo sencillo
Primero es necesario crear un directorio donde alojar la clase Java a interceptar por AspectJ:
$> mkdir AspectJExample
$> cd AspectJExample
Ahora debera crear la clase Example1.java con el siguiente contenido:

Cree ahora un archivo con el nombre Example1Aspect.aj para el aspecto que interceptara la clase anterior:

$> ajc Example1Aspect.aj Example1.java
El resultado podria ser:
[error] classpath error: unable to find org.aspectj.lang.JoinPoint (check that aspectjrt.jar is in your classpath)
Por lo que se debera agregar al classpath utilizado por el compilador de aspectos el jar indicado:
$> ajc -cp /aspectj1.5/lib/aspectjrt.jar -d C:\Dev\Workspace\AspectsTest\bin -log build.log -outjar example1.jar Example1Aspect.aj Example1.java
Los parametros que recibe el compilador de aspectos son:
-log [nombre_archivo] : Escribe en el archivo especificado el detalle de las clases interceptadas
-outjar [nombre_archivo] : Genera un archivo .jar que contiene las clases compiladas
Podra observar que las clases fueron construidas:
Example1.class
Example1Aspect.class
El contenido de cada una de estas clases es:
$> javap src\business\Example1
Compiled from "Example1.java"
public class business.Example1 extends java.lang.Object{
public business.Example1();
public static void main(java.lang.String[]);
public void example1();
}
$> javap src\aspects\Example1Aspect
Compiled from "Example1Aspect.aj"
public class aspects.Example1Aspect extends java.lang.Object{
public static final aspects.Example1Aspect ajc$perSingletonInstance;
static {};
public aspects.Example1Aspect();
public void ajc$before$aspects_Example1Aspect$1$88a63b48();
public static aspects.Example1Aspect aspectOf();
public static boolean hasAspect();
}
Finalmente ejecute la clase Example1
Vinculos:
$> mkdir AspectJExample
$> cd AspectJExample
Ahora debera crear la clase Example1.java con el siguiente contenido:

Cree ahora un archivo con el nombre Example1Aspect.aj para el aspecto que interceptara la clase anterior:
$> ajc Example1Aspect.aj Example1.java
El resultado podria ser:
[error] classpath error: unable to find org.aspectj.lang.JoinPoint (check that aspectjrt.jar is in your classpath)
Por lo que se debera agregar al classpath utilizado por el compilador de aspectos el jar indicado:
$> ajc -cp /aspectj1.5/lib/aspectjrt.jar -d C:\Dev\Workspace\AspectsTest\bin -log build.log -outjar example1.jar Example1Aspect.aj Example1.java
Los parametros que recibe el compilador de aspectos son:
-log [nombre_archivo] : Escribe en el archivo especificado el detalle de las clases interceptadas
-outjar [nombre_archivo] : Genera un archivo .jar que contiene las clases compiladas
Podra observar que las clases fueron construidas:
Example1.class
Example1Aspect.class
El contenido de cada una de estas clases es:
$> javap src\business\Example1
Compiled from "Example1.java"
public class business.Example1 extends java.lang.Object{
public business.Example1();
public static void main(java.lang.String[]);
public void example1();
}
$> javap src\aspects\Example1Aspect
Compiled from "Example1Aspect.aj"
public class aspects.Example1Aspect extends java.lang.Object{
public static final aspects.Example1Aspect ajc$perSingletonInstance;
static {};
public aspects.Example1Aspect();
public void ajc$before$aspects_Example1Aspect$1$88a63b48();
public static aspects.Example1Aspect aspectOf();
public static boolean hasAspect();
}
Finalmente ejecute la clase Example1
Vinculos:
martes, 30 de septiembre de 2008
scm: Instalacion de Subclipse
Subclipse es la extension para Eclipse que permite interactuar con el sistema de control de codigo fuente Subversion (SVN).
Para instalar la extension en Eclipse:







Una vez que Eclipse reinicia podra conectar su proyecto a Subversion.
Vinculos:
Para instalar la extension en Eclipse:
Una vez que Eclipse reinicia podra conectar su proyecto a Subversion.
Vinculos:
Etiquetas:
eclipse,
scm,
subclipse,
subversion,
svn
scm: Subversion gratuito en Google Code
Google Code ofrece un servicio de hosting para proyectos de software que incluye control de codigo fuente mediante subversion.
Para crear un nuevo proyecto en Google Code, acceda a la seccion Project Hosting y siga el vinculo "Create a new project":

En la siguiente pagina debera ingresar algunos datos relativos al proyecto:

Finalmente presione el boton "Create project" y podra acceder al nuevo sitio de su proyecto.
Vinculos:
Para crear un nuevo proyecto en Google Code, acceda a la seccion Project Hosting y siga el vinculo "Create a new project":
En la siguiente pagina debera ingresar algunos datos relativos al proyecto:
Finalmente presione el boton "Create project" y podra acceder al nuevo sitio de su proyecto.
Vinculos:
- Google Code
- Project Hosting @ Google Code
Etiquetas:
google code,
subversion,
svn
lunes, 15 de septiembre de 2008
eclipse: Configuracion de editores de texto
Luego de instalar Eclipse, una de las primeras tareas que es importante completar es la configuracion personalizacion del IDE. Para modificar la configuracion por defecto de los editores de texto en general, acceda al menu de preferencias mediante Window -> Preferencies y expanda el item "General". Podra encontrar alli el item "Editors", que debera expandir tambien para finalmente seleccionar el item "Text Editors". En la siguiente figura se muestra la ventana de preferencias:

Para simular tab con espacios en blanco debera chequear la casilla "Insert spaces for tabs" y especifique la cantidad de espacios en el campo "Displayed tab width".
Para visualizar en pantalla el ancho en caracteres del archivo, chequee la casilla "Show print margin" y especifique la cantidad de caracteres donde debera aparecer esta marca en el campo "Print margin column".
Tambien podra observar el numero de linea a la izquierda del espacio de edicion chequeando la casilla "Show line numbers".
Vinculos:
Para simular tab con espacios en blanco debera chequear la casilla "Insert spaces for tabs" y especifique la cantidad de espacios en el campo "Displayed tab width".
Para visualizar en pantalla el ancho en caracteres del archivo, chequee la casilla "Show print margin" y especifique la cantidad de caracteres donde debera aparecer esta marca en el campo "Print margin column".
Tambien podra observar el numero de linea a la izquierda del espacio de edicion chequeando la casilla "Show line numbers".
Vinculos:
- Eclipse
miércoles, 10 de septiembre de 2008
scm: Eliminar una vista en Clearcase
Para eliminar una vista de clearcase es necesario asegurar que no existen referencias al contenido de la vista. En caso que existan referencias, es necesario eliminarlas. Ejecute los siguientes 4 pasos para completar la eliminacion de una vista:
1) Obtener el uuid
2) Remover referencias a la vista
Removed references to view "c91b0a8d.79da11dd.9a18.00:01:84:54:66:35" from VOB "/vobs/...".
3) Eliminar la vista del registro de Clearcase
4) Remover la vista
cleartool: Error: No matching entries found for view tag "
Vinculos:
1) Obtener el uuid
$> cleartool lsview -long [view_tag]Como respuesta a la ejecucion de este comando debera observar algo muy similar a lo siguiente:
Tag: [view_tag]Debera emplear el uuid en los siguientes pasos, por lo que se recomienda que lo escriba.
Global path:
Server host: [hostname]
Region: [region]
Active: NO
View tag uuid:c91b0a8d.79da11dd.9a18.00:01:84:54:66:35
View on host: [hostname]
View server access path: /viewstg/ccweb/[username]/[view_name]/.view.stg
View uuid: c91b0a8d.79da11dd.9a18.00:01:84:54:66:35
View attributes: snapshot,webview
View owner: [hostname]/[username]
2) Remover referencias a la vista
$> cleartool rmview -all -f -uuid [uuid]Podra observar como respuesta mensajes similares al siguiente:
Removed references to view "c91b0a8d.79da11dd.9a18.00:01:84:54:66:35" from VOB "/vobs/...".
3) Eliminar la vista del registro de Clearcase
$> cleartool unregister -view -uuid [uuid]No habra ningun mensaje si la ejecucion del comando es exitosa
4) Remover la vista
$> cleartool rmtag -view [view_tag]No habra ningun mensaje si la ejecucion del comando es exitosa. Ejecute el siguiente comando para asegurarse que la vista fue removida:
$> ct lsview -long [view_tag]Si la vista fue removida exitosamente, podra observar el siguiente mensaje:
cleartool: Error: No matching entries found for view tag "
Vinculos:
Suscribirse a:
Entradas (Atom)