domingo, 21 de junio de 2009

gis: Instalacion de GRASS en Windows

Descargar el binario de GRASS para Windows de la siguiente ubicacion:

Descargar los conjuntos de datos de prueba disponibles de las siguientes ubicaciones:

Ejecutar el instalador de GRASS








Vinculos:

domingo, 5 de abril de 2009

pgcedit: Eliminar celdas

Copiar el contenido del dvd al disco rigido para poder editarlo.

Importar los archivos del dvd en PGCEdit. En el cuadro izquierdo encontrara los titulos disponibles en el dvd, de los cuales se eliminaran celdas, y en el cuadro de la derecha los comandos asociados a uno de dichos titulos:

Los comando deberan ser editados posteriormente para que no hagan referncia a alguna de las celdas eliminadas.
Para editar el titulo deseado, haga doble click sobre el mismo y una nueva ventana aparecera mostrando el PGC Editor:

En este caso se eliminaran celdas correspondientes al inicio del titulo, como el recuadro en color rojo. Para hacerlo, presione el boton Remove Cells.

En este caso se eliminaran varias celdas, por lo que es necesario especificar el rango de celdas a quitar del titulo. Puede activar el cuadro de seleccion Shorten the chapter table if needed, pero en este caso no tendra efecto, debido a que las celdas eliminadas corresponden al inicio del titulo. La tabla de capitulos del titulo sera actualizada luego. Al presionar el boton OK observara el siguente mensaje de advertencia:

Presione el boton OK para regresar al PGC Editor. El mensaje anterior indica que la relacion entre los programas y las celdas en el titulo puede no ser correcta luego de la eliminacion de celdas. Para corregir este problema presione el boton correspondiente al primer programa, en la columna Prog., segun se muestra a continuacion:

El cuadro azul muestra el boton del programa de presionar. Al hacerlo el siguiente mensaje de advertencia aparecera:

Presione el boton OK para regresar al PGC Editor. Podra observar que el boton Edit Chapter (PPT) table se muestra en rojo indicando la necesidad de corregir la tabla de capitulos del titulo. Antes de hacerlo, presione nuevamente el boton correspondiente al primer programa, en la columna Prog. Ahora si presione el boton Edit Chapter (PPT) table para remover los capitulos sobrantes.

En el editor de capitulos observara la lista completa de capitulos disponibles en el titulo. El cuadro rojo muestra los sobrantes, que deben ser removidos presionando repetidas veces el boton Delete last chapter. Una vez que la cantidad de capitulos en este editor coincide con la cantidad informada por el PGC Editor, puede presionar el boton OK.
Ahora presionando el boton OK correspondiente al PGC Editor volvera a la ventana principal de PGCEdit. En el cuadro izquierdo podra observar que la duracion del titulo editado es ahora menor.
Guarde los combios efectudos anyes de continuar. Esta operacion tardara algunos segundos y podra observar el progreso en la bara de estado:

Para verificar que el titulo fue correctamente actualizado por PGCEdit, vuelva a abrirlo abrirlo mediante el PGC Editor. Es posible que observer el siguiente error:

Debera presionar el boton Yes, para realizar la correccion.
Ahora se deben actualizar aquellas referencias a capitulos que hayan sido corregidas automaticamente por PGCEdit, como es el caso del menu.

La referencias en color naranja que aparecen en el cuadro derecho pueden ser eliminadas, ya que dichos capitulos ya no existen (la tabla de cpitulos fue reducida).
Lo que suele suceder es que los botones del menu quedan desactualizados, por lo que es necesario corregir el capitulo al cual hacen referencia para que sea el correcto.
En la imagen anterior se encuentra la siguiente sentencia:
if (gprm(7) == 11)  then { LinkPTT Chapter 1 }
El registro gprm(7) fue cargado previmente por la activacion de uno de los botones del menu de capitulos. Al revisar los comandos en el boton mediante el Menu buttons, se puede observar que el mismo no fue actualizado cuando la tabla de capitulos fue reducida:

Presione el boton indicado mediante el cuadro rojo y aparecera el Command editor. Ahora se puede modificar el valor actual, en este caso 41, por el correcto, que es 11. Lo mismo debe hacerse para todas aquellas referencias erroneas.

Una vez que la edicion del dvd fue completada mediante el uso de PGCEditor, el contenido de las celdas desvinculadas puede ser eliminado tambien. Para esto se debe emplear el programa VobBlanker, que mantendra en el dvd solo los datos usados, desechando aquellos que ya no son referenciados.

Vinculos:
  • PGCEdit
  • VobBlanker

jueves, 26 de febrero de 2009

scm: Agregar archivos y directorios a Clearcase

Agregar un directorio

Para agregar un nuevo directorio al repositorio debera hacer checkout sobre el mismo y luego crear proceder con la creacion. A continuacion se presenta la secuencia de comandos:

$ cleartool co /ruta/directorio
$ cleartool mkdir [nombre-directorio]
$ cleartool ci /ruta/directorio
Por ejemplo, lo mas seguro y sencillo es acceder al directorio y ejecutar los comando desde alli:
$ cd /repo/directorio
$ cleartool co .
$ cleartool mkdir otroDirectorio
$ cleartool ci .
Agregar un archivo

Para agregar un nuevo archivo al repositorio debera hacer check-out sobre el directorio donde se alojara el archivo, luego crear dicho archivo y finalmente proceder a incorporarlo al repositorio. A continuacion se presenta la secuencia de comandos para lograrlo:
$ cleartool co /ruta/directorio
$ touch /ruta/directorio/archivo
$ cleartool mkelem /ruta/directorio/archivo
$ cleartool ci /ruta/directorio/archivo
$ cleartool ci /ruta/directorio
Si intenta agregar al archivo luego de haber actualizado el directorio mediante check-in, podria obtener el mensaje de error Stale NFS file handle.
cleartool: Error: Operation stat, ./..: Stale NFS file handle
cleartool: Warning: New config spec makes current working dir invisible.
cleartool: Error: Operation stat, ./..: Stale NFS file handlecleartool:
Error: Unable to get the absolute pathname of ".../repo/LATEST".
cleartool: Error: Operation stat, ./..: Stale NFS file handlecleartool:
Error: Unable to get the absolute pathname of ".../repo".
cleartool: Error: Operation stat, ./..: Stale NFS file handle.
Vinculos:

Instalacion de ICEFaces en NetBeans 6.5

Tools -> Plugins







Vinculos:
  • NetBeans
  • ICEFaces

miércoles, 25 de febrero de 2009

Instalacion del plug-in de Maven2 en NetBeans 6.5

Tools -> Plugins






Si se produce un error de comunicacion, aparecera el siguiente mensaje:


Puede entonces actualizar la configuracion de acceso a internet por proxy, en caso que ese sea el problema, presionando el boton Proxy Configuration.









Vinculos:

  • NetBeans 6.5

martes, 24 de febrero de 2009

lunes, 16 de febrero de 2009

maven: Comandos utiles de Maven2

Ejecucion de una prueba de unidad
$ mvn test -Dtest=[nombre-clase] -DfailIfNoTests=false
El nombre de la clase debe ser completo (full-qualified-name), por ejemplo:
com.site.package.ClassName
Si Maven no encuentra pruebas para ejecutar, entonces falla. El parametro failIfNoTests=false permite modificar este comportamiento y ejecutar la prueba especificada de todos modos.

Evitar la ejecucion de pruebas de unidad
$ mvn package -Dmaven.test.skip=true
El comando anterior previene la ejecucion de las pruebas para el gol package. Lo mismo se puede hacer para otro gol: compile, install, etc.

Agregar dependencia faltante el repositorio local

Este comando permite agregar una dependencia al repositorio local cuando, por algun motivo, la misma no puede ser decargada del repositorio central remoto:
mvn install:install-file -DgroupId=[nombre-groupId]
-DartifactId=[nombre-artifactId] -Dversion=[nombre-version]
-Dpackaging=[tipo-empaquetado] -Dfile=[ruta-archivo]
Por ejemplo:
mvn install:install-file -DgroupId=dependencia
-DartifactId=dependencia -Dversion=1.0
-Dpackaging=jar -Dfile=C:\jars\dependendia.jar
Vinculos:

sábado, 14 de febrero de 2009

Aplicacion web basica con Maven2

Existe varias opciones para crear la estructura basica de una aplicacion web empleando Maven2. Cada una de estas opciones de basa en arquetipos distintos.

Usando el arquetipo generate

El arquetipo generate interactua con el usuario para obtener las datos necesarios para crear la aplicacion web. Para utilizarlo debe invocar maven2 de la siguiente manera:
$ mvn archetype:generate
Podra visualizar el listado de los arquetipos disponibles para la creacion de proyectos Maven2:

C:\>mvn archetype:generate
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'archetype'.
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Default Project
[INFO] task-segment: [archetype:generate] (aggregator-style)
[INFO] ------------------------------------------------------------------------
[INFO] Preparing archetype:generate
[INFO] No goals needed for project - skipping
[INFO] Setting property: classpath.resource.loader.class => 'org.codehaus.plexus.velocity.ContextClassLoaderResourceLoader'.
[INFO] Setting property: velocimacro.messages.on => 'false'.
[INFO] Setting property: resource.loader => 'classpath'.
[INFO] Setting property: resource.manager.logwhenfound => 'false'.
[INFO] [archetype:generate]Choose archetype:
1: internal -> appfuse-basic-jsf
2: internal -> appfuse-basic-spring
3: internal -> appfuse-basic-struts
...
10: internal -> maven-archetype-j2ee-simple
...
15: internal -> maven-archetype-quickstart
16: internal -> maven-archetype-site-simple
17: internal -> maven-archetype-site
18: internal -> maven-archetype-webapp
19: internal -> struts2-archetype-starter
20: internal -> struts2-archetype-blank
...
36: internal -> wicket-archetype-quickstart
Choose a number: (1/2/3/.../10/.../15/16/17/18/19/20/.../36) 15: : 18

La opcion 18 es la que debera elegir, ya que corresponde al proyecto de aplicacion web a crear. Luego maven solicitara algunos datos mas, como puede observar a continuacion:

Define value for groupId: : example-webapp
Define value for artifactId: : example_webapp
Define value for version: 1.0-SNAPSHOT: : 1.0
Define value for package: : test.example.webapp

Solo restara entonces confirmar los datos anteriores:

Confirm properties configuration:
groupId: example-webapp
artifactId: example-webapp
version: 1.0
package: test.example.webapp
Y: :

Finalmente maven creara el proyecto, mostrando el resultado de la operacion como se muestra a continuacion:

[INFO] ----------------------------------------------------------------------------
[INFO] Using following parameters for creating OldArchetype: maven-archetype-webapp:1.0
[INFO] ----------------------------------------------------------------------------
[INFO] Parameter: groupId, Value: example-webapp
[INFO] Parameter: packageName, Value: test.example.webapp
[INFO] Parameter: basedir, Value: C:\
[INFO] Parameter: package, Value: test.example.webapp
[INFO] Parameter: version, Value: 1.0
[INFO] Parameter: artifactId, Value: example-webapp
[INFO] ***** End of debug info from resources from generated POM ******
[INFO] OldArchetype created in dir: C:\example_webapp
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0 minutes 17 seconds
[INFO] Finished at: Sat Feb 14 13:22:47 ARST 2009
[INFO] Final Memory: 8M/1016M
[INFO] ------------------------------------------------------------------------

Usando el arquetipo create

El arquetipo create requiere de ciertos datos para poder generar la estructura basica para la aplicacion web. Para utilizarlo debe invocar maven2 de la siguiente manera:

$ mvn archetype:create -DgroupId=example-webapp
-DartifactId=example-webapp
-Dpackage=test.example.webapp -DpackageName=test.example.webapp
-DarchetypeArtifactId=maven-archetype-webapp
El resultado sera el mismo que para el arquetipo generate, pero sin la interaccion con el usuario.

Importar en Eclipse

El estructura basica de la aplicacion web creada con Maven2 puede ser importada en Eclipse para actualizarla. Primero es necesario crear los descriptores requeridos por Eclipse, para lo cual debere invocar maven2 de la siguiente manera:
$ cd example-webapp
$ mvn eclipse:eclipse
Luego podra iniciar Eclipse y realizar la importacion del proyecto seleccionado la opcion del menu File -> Import:


Presione el boton "Next" para seleccionar la ubicacion del proyecto:

Podra observar la estructura del proyecto web en Eclipse mediante el explorador de paquetes:


Empaquetar para despliegue

Una vez que la estructura basica de la aplicacion web esta creada, es necesario empaquetarla para desplegarla en un contenedor de servlets o servidor de aplicaciones.
Debera modificar el pom de la aplicacion agregando el plug-in que permite empaquetar la aplicacion en un archivo war.

Para realizar el empaquetado ejecute el siguiente comando:

$ mvn package
o
$ mvn war:war
Debera observar en la consola lo siguiente:

[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Building example-webapp
[INFO] task-segment: [package]
[INFO] ------------------------------------------------------------------------
[INFO] [resources:resources]
[INFO] Using default encoding to copy filtered resources.
...
[INFO] [war:war]
[INFO] Exploding webapp...
[INFO] Assembling webapp example-webapp in C:\example-webapp\target\example-webapp
[INFO] Copy webapp webResources to C:\example-webapp\target\example-webapp
[INFO] Generating war C:\example-webapp\target\example-webapp.war
[INFO] Building war: C:\example-webapp\target\example-webapp.war
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1 second
[INFO] Finished at: Sat Feb 21 14:58:08 ARST 2009
[INFO] Final Memory: 6M/1016M
[INFO] ------------------------------------------------------------------------

Despliegue en Apache Tomcat

Para realizar el despliegue de esta aplicacion web basica, debera disponer del servidor Apache Tomcat instalado en su sistema asi como incluir el plug-in de Maven2 para Tomcat en el pom de la aplicacion.

Luego ejecute el siguiente comando:
$ mvn tomcat:info
Y observara en la consola que Maven2 descarga muchas dependencias para luego mostrar el siguiente mensaje:
[INFO] [tomcat:info]
[INFO] Listing server information at http://localhost:8080/manager
[INFO] --------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] --------------------------------------------------------
[INFO] Cannot invoke Tomcat manager
Embedded error: Connection refused: connect
Lo cual indica que Tomcat no se encuentra escuchando en el puerto por defecto.
Puede entonces iniciar Tomcat ejecutando el siguiente comando:
$ mvn tomcat:run
Y observara en la consola lo siguiente:
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'tomcat'.
[INFO] ------------------------------------------------------
[INFO] Building example-webapp
[INFO] task-segment: [tomcat:run]
[INFO] ------------------------------------------------------
[INFO] Preparing tomcat:run
[INFO] [resources:resources]
[INFO] Using default encoding to copy filtered resources.
[INFO] [compiler:compile]
[INFO] No sources to compile
[INFO] [tomcat:run]
[INFO] Running war on http://localhost:8080/example-webapp
[INFO] Creating Tomcat server configuration at
C:\example-webapp\target\tomcat
Feb 21, 2009 3:20:17 PM org.apache.catalina.startup.Embedded start
INFO: Starting tomcat server
Feb 21, 2009 3:20:17 PM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.16
Feb 21, 2009 3:20:17 PM org.apache.coyote.http11.Http11AprProtocol init
INFO: Initializing Coyote HTTP/1.1 on http-8080
Feb 21, 2009 3:20:17 PM org.apache.coyote.http11.Http11AprProtocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
Acceda mediante un navegador a la aplicacion web basica desplegada en http://localhost:8080/example-webapp, y observara lo siguiente:


Vinculos:

viernes, 28 de noviembre de 2008

Configurar excepcion unchecked

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

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: