[Gvsig_desarrolladores] Como abrir un proyecto?

Cesar Martinez Izquierdo cesar.martinez en iver.es
Jue Oct 4 08:36:34 CEST 2007



-----Original Message-----
From: "Juan Lopez" <juan.calahorra en gmail.com>
To: "Lista de Desarrolladores de gvSIG"
<gvsig_desarrolladores en runas.cap.gva.es>
Date: Wed, 3 Oct 2007 16:11:22 +0200
Subject: Re: [Gvsig_desarrolladores] Como abrir un proyecto?

> Hola Chema:
> 
> Si entendi bien, lo que me dijiste es que para utilizar las
> herramientas de
> gvSIG debo ejecutar el codigo Launcher.main.
> Y por otro lado, el error me daba pq no habia cargado la extension que
> maneja los proyectos. Bueno, pues segun tengo entendido
> los proyectos los gestiona la clase ProjectExtension del proyecto
> appgvSIG.
> ¿A que te refieres exactamente con cargar la extension?
> Yo he escrito lo siguiente:
>         ProjectExtension pExt = (ProjectExtension)
> PluginServices.getExtension (ProjectExtension.class);
>         Project proyecto = (Project) PluginServices.getExtension(
> Project.class);
> 
> 
> Bueno, la clase completa es:
> 
> package com.iver.cit.gvsig;
> 
> import com.iver.cit.gvsig.ProjectExtension;
> import com.iver.andami.PluginServices;
> import com.iver.andami.*;
> 
> public class Principal {
> 
> 
>     public static void main(String[] args) {
> 
>         ProjectExtension pExt = (ProjectExtension)
> PluginServices.getExtension (ProjectExtension.class);
>         Project proyecto = (Project) PluginServices.getExtension(
> Project.class);
> 
>         String [] params={"gvSIG","gvSIG/extensiones"};
>         try{
>             Launcher.main(params);
>         }catch(Exception e){System.out.print("...");}
> 
>         proyecto = pExt.readProject("gvSIG");
>         pExt.setProject(proyecto);
> 
> }
> 
> Y me da el siguiente error:
> 
> ERROR [main] (Launcher.java:358) - excepción al arrancar
> java.lang.NullPointerException
>     at com.iver.andami.Launcher.pluginsMessages(Launcher.java:1147)
>     at com.iver.andami.Launcher.main(Launcher.java:298)
>     at com.iver.cit.gvsig.Principal.main(Principal.java:44)
> 
> Agradeceria la ayuda.
> Un saludo
> 

Puedes hacer lo mismo sin programar nada, simplemente pasando el proyecto
como tercer parámetro (es decir, en la configuración de Eclipse pones en
argumentos: "gvSIG gvSIG/extensiones MYPROYECTO.gvp").

Si por contra quieres hacerlo por código, debes asegurarte que el JAR que
contiene tu clase Principal (la que va a lanzar a Launcher.main) está en
el mismo directorio que andami.jar, para que las rutas relativas sean las
mismas. O de forma alternativa, si está en otro directorio, debes variar
el segundo parámetro para que en vez de gvSIG/extensiones sea la ruta
relativa desde tu JAR hasta el directorio en el que están las extensiones.

Por último, decirte que en vez de readProject, etc, tu main podría
simplemente contener:

public static void main(String[] args) {

        String [] params={"gvSIG","gvSIG/extensiones", "MiProyecto.gvp"};
        try{
            Launcher.main(params);
        }catch(Exception e){System.out.print("...");}

}

Espero que te sirva, saludos.

-- 
César Martínez Izquierdo
Equipo de desarrollo gvSIG
http://www.gvsig.gva.es

IVER T.I.
C/ Salamanca 50
46005 Valencia - Spain
http://www.iver.es


Este mensaje y sus archivos son confidenciales. No está permitida su reproducción o distribución sin la autorización expresa de "IVER Tecnologías de la Información". Si usted no es el destinatario previsto, queda desautorizado cualquier uso, acceso o copia de este mensaje. Si ha recibido este mensaje por error, por favor bórrelo e infórmenos por esta misma vía.



Más información sobre la lista de distribución gvSIG_desarrolladores