Hola Quiero intentar algunas automatizaciones con las salidas de los mapas, y estoy buscando el pom para poder modificarlo, pero no se donde lo almacena. ¿Alguien podría decirme donde lo encuentro?
Gracias Javier El 15 de octubre de 2015, 7:52, Ana Calle <[email protected]> escribió: > Muchas gracias Joaquín, claro que me servirá, a mi y a mucha más gente. > Esos pequeños scripts de código que casi siempre se aportan como ejemplos > (unido a esas buenas explicaciones a las que nos tienes acostumbrados), > ayudan mucho para continuar el trabajo. > > Saludos > ana > > El 14 de octubre de 2015, 21:20, Joaquin Jose del Cerro Murciano < > [email protected]> escribió: > >> >> >> El 14 de octubre de 2015, 9:03, Lluís Marqués <[email protected]> >> escribió: >> >>> Hola Ana, >>> >>> si no me equivoco, efectivamente te faltan las siguientes dependencias >>> en el pom: >>> >>> <dependency> >>> <groupId>org.gvsig</groupId> >>> <artifactId>org.gvsig.app.document.table.app.mainplugin</artifactId> >>> </dependency> >>> <dependency> >>> <groupId>org.gvsig</groupId> >>> >>> <artifactId>org.gvsig.app.document.layout2.app.mainplugin</artifactId> >>> </dependency> >>> >>> Además de añadir esta dos dependencias, tendrás que añadir el siguiente >>> manejo de dependencia en el pom de tu proyecto padre: >>> >>> <dependencyManagement> >>> <dependencies> >>> <dependency> >>> <groupId>org.gvsig</groupId> >>> >>> <artifactId>org.gvsig.app.document.layout2.app.mainplugin</artifactId> >>> <version>2.0.57</version> >>> </dependency> >>> </dependencies> >>> </dependencyManagement> >>> >>> Solo es necesario añadir el manejo de *layout2* porque en el *pom* de >>> *org.gvsig.desktop* ya tiene indicado el manejo para la dependencia del >>> documento tabla. >>> >>> Por otro lado, como las dependencias que estas añadiendo son a otros >>> plugins de gvSIG, es necesario indicar en el config.xml que depende de >>> estos dos plugins por dos motivos: el primero para que en tiempo de >>> ejecución sepa donde se encuentran las clases y para que gvSIG cargue >>> primero los plugins de los que dependes antes de tu plugin. Quedaría algo >>> así: >>> >>> <plugin-config> >>> <depends plugin-name="org.gvsig.app.mainplugin" /> >>> <depends plugin-name="org.gvsig.app.document.table.app.mainplugin" /> >>> <depends plugin-name="org.gvsig.app.document.layout2.app.mainplugin" >>> /> >>> >>> [...] >>> >>> Si alguien ven algo incorrecto que me corriga. Un saludo, Lluís. >>> >>> >>> >>> >> Hola Ana, >> un correccion a lo que comenta Luis, y algunas recomendaciones. >> >> Primero la correccion. >> >> La versiom del layout no creo que sea esa la que te interese, esa es >> la version del layout del build 2.3.0-2403, y supongo que tu querras >> la de la 2.2.0 final o la de la 2.1.0 final. >> >> - Para gvSIG 2.2.0-2313 es la 2.0.52 del layout. >> - Para gvSIG 2.1.0-2269 es la 2.0.42 del layout. >> >> Como aun no hay version final de la 2.3.0 no te aconsejo que trabajes >> con versiones del layout superiores a la 2.0.52. >> >> Para saber que version tienes que usar del layout, tienes que determinar >> contra que version de gvSIG vas a trabajar y mirar en la instalacion de >> esa version en: >> >> >> gvSIG/extensiones/org.gvsig.app.document.layout2.app.mainplugin/org.gvsig.app.document.layout2.app.mainplugin-*.jar >> >> La version de ese jar te da la version del layout para ese gvSIG. >> >> Y ahora las recomendaciones. >> >> Son dos... >> >> - Relacionadas con la inclusion de las dependencias >> en el dependencyManagement >> - Relacionadas con el scope de las dependencias. >> >> Es correcto usar la definicion de dependencias en el dependencyManagenet >> que te ha indicado Lluis, pero la recomendacion es que para añadir una >> dependencia al >> dependencyManagenet le pongas algo como: >> >> ... >> <properties> >> ... >> >> <org.gvsig.app.document.layout2.app.version>2.0.55</org.gvsig.app.document.layout2.app.version> >> ... >> </properties> >> >> ... >> >> <dependency> >> <groupId>org.gvsig</groupId> >> <artifactId>org.gvsig.app.document.layout2.app</artifactId> >> <version>${org.gvsig.app.document.layout2.app.version}</version> >> <type>pom</type> >> <scope>import</scope> >> </dependency> >> ... >> >> Que significa eso: >> - En lugar de incluir una dependencia con un subproyecto del proyecto >> org.gvsig.app.document.layout2.app, le diremos que importe las >> dependencias que hay declaradas en el proyecto raiz del layout. >> Eso lo hacemos con los tags type y scope. >> Esto minimiza los errores al especificar la version cuando tenemos >> que declarar mas de una dependencia de un mismo proyecto. >> Salvo error, todos los proyectos de gvSIG indican en el >> dependencyManagement >> del proyecto raiz las versiones de los artifactos que generan sus >> subproyectos y las de las librerias que pueden ser necesarias para >> linkar con ellos. >> Es aconsojable que en tus proyectos relacionados con gvSIG sigas esta >> practica para facilitar el uso desde otros proyectos. >> >> - Desde gvSIG aconsejamos que para indicar una version de un proyecto >> de gvSIG declaremos el numero de version en una propiedad en el pom. >> Esto facilita actualizar las versiones a la ultima usando >> mvn update-properties >> >> >> En cuanto a la declaracion del scope... >> >> En el pom del plugin, que es donde deben ir las dependencias con los >> otros plugins, es recomendable especificar el scope de esa dependencia. >> Si no se especifica maven asume que es una dependencia de compilacion. >> Esto parece no tener muchas repercusiones salvo que en algun momento >> quieras obtener un informe de dependencias de tu proyecto o esteis >> trabajando mas de un desarrollador en el y de repente necesites saber >> si el proyecto precisa de una libreria en concreto. Te encontraras que no >> sabras nunca si es una dependencia de runtime y alguien se olvido >> de poner el scope, o es de compilacion. Asi que como cuesta >> muy poquito poner que tipo de depenencia es, aconsejo que cuando se >> añada al pom se tenga la costumbre de indicarlo. >> >> Los scopes mas comunes son: >> <scope>compile</scope> >> <scope>runtime</scope> >> >> >> Asi la declaracion con las dependencias con el plugin de tablas y layout >> serian: >> >> <dependency> >> <groupId>org.gvsig</groupId> >> <artifactId>org.gvsig.app.document.table.app.mainplugin</artifactId> >> <scope>compile</scope> >> </dependency> >> <dependency> >> <groupId>org.gvsig</groupId> >> >> <artifactId>org.gvsig.app.document.layout2.app.mainplugin</artifactId> >> <scope>compile</scope> >> </dependency> >> >> Bueno, pues solo era matizar algunas cosillas. >> >> Espero que te sirba. >> >> Un saludo >> Joaquin >> >> >> >> >>> >>> El 14/10/15 a las 08:10, Ana Calle escribió: >>> >>> Hola Joaquin, >>> he estado intentando hacer funcionar el código que me pasaste, a mi >>> extensión en java, pero (perdona mi ignorancia) no he sido capaz. >>> >>> Me da error directamente al intentar hacer los import correspondientes. >>> >>> Sí que me deja hacer: >>> import org.gvsig.app.project.documents.view.ViewManager; >>> >>> Pero me da error de que no puede resolver: >>> import org.gvsig.app.project.documents.layout.LayoutManager; >>> import org.gvsig.app.project.documents.table.TableManager; >>> Supongo que me falta alguna referencia en el pom.xml o algo así, pero no >>> consigo verlo >>> A ver si me puedes echar una mano... >>> Como siempre muchas gracias por tu tiempo. >>> >>> Saludos >>> >>> El 13 de octubre de 2015, 14:22, Joaquin Jose del Cerro Murciano < >>> <[email protected]>[email protected]> escribió: >>> >>>> >>>> >>>> El 13 de octubre de 2015, 12:26, Ana Calle < <[email protected]> >>>> [email protected]> escribió: >>>> >>>>> Buenos días, >>>>> en el proceso de migración del código de una extensión realizada en >>>>> gvSig 1.10, tenemos implementados una serie de planos con sus respectivos >>>>> cajetines. >>>>> De manera automática, el plano se rellenaba según las características >>>>> de consulta correspondientes, es decir, en el cajetín se van sustituyendo >>>>> los textos genéricos por los específicos de la consulta. >>>>> Teníamos implementado el código en el que obtenía el layout de la >>>>> ventana del plano, y ahí se recorrían los elementos: >>>>> >>>>> --recorriendo los documentos llegábamos a la ventana del plano >>>>> (vEntana): >>>>> >>>>> Layout l =(Layout)vEntana; >>>>> IFFrame[] fframes = l.getFFrames(); >>>>> for (int i = 0; i < fframes.length; i++) { >>>>> if (fframes[i] instanceof FFrameView) { >>>>> ...... >>>>> }else if (fframes[i] instanceof FFrameText){ >>>>> ...... >>>>> } >>>>> } >>>>> ¿como podría obtener ese layout y los IFFrame[] con la nueva version >>>>> gvSig 2.2? >>>>> >>>>> >>>> Puedes o recorrer todos los documentos, puedes o no filtrar por tipo, o >>>> recuperar un documento layout en concreto por nombre. Una vez tengas el >>>> documento layout, accedes LayoutContext y a el ya le puedes peridr >>>> "getFFrames". >>>> >>>> Dejo pedacito de script (falta la iniciaciacion del acceso al layout >>>> desde scripting pero para usarlo de inspiracion en java es suficiente). >>>> >>>> Ojo, que el LayoutDocument, lo que devuelbe el getDocuments, no es la >>>> ventana del plano, si no el documento. No recuerdo cuando se separo, por un >>>> lado el interface grafico y por otro la logica del documento. >>>> >>>> Un saludo >>>> Joaquin >>>> >>>> >>>> >>>> from org.gvsig.app import ApplicationLocator >>>> from org.gvsig.app.project.documents.layout import LayoutManager >>>> >>>> def main(*args): >>>> # Recuperamos el proyecto >>>> project = ApplicationLocator.getManager().getCurrentProject() >>>> >>>> # Opcion 1 >>>> # Recorremos los layouts que hay en el proyecto >>>> layouts = project.getDocuments(LayoutManager.TYPENAME) >>>> for layout in layouts: >>>> print layout.__class__.__name__, layout.getName() >>>> contextLayout = layout.getLayoutContext() >>>> for elemento in contextLayout.getAllFFrames(): >>>> print elemento.getName() >>>> >>>> print "----------------------------" >>>> >>>> # Opcion 2 >>>> # Recuperamos un layout por nombre >>>> layout = project.getDocument("Plantilla", LayoutManager.TYPENAME) >>>> print layout.__class__.__name__, layout.getName() >>>> contextLayout = layout.getLayoutContext() >>>> for elemento in contextLayout.getAllFFrames(): >>>> print elemento.getName() >>>> >>>> print "----------------------------" >>>> >>>> # Como obtener la venta del layout >>>> layoutManager = >>>> ApplicationLocator.getProjectManager().getDocumentManager(LayoutManager.TYPENAME) >>>> >>>> layout = project.getDocument("Plantilla", LayoutManager.TYPENAME) >>>> layoutPanel = layoutManager.getMainWindow(layout) >>>> print layoutPanel.__class__.__name__, >>>> layoutPanel.getDocument().getName() >>>> >>>> Esto con el proyecto que tengo cargado saca: >>>> >>>> Running script test_layout2. >>>> DefaultLayoutDocument Plantilla >>>> FFrameGraphics >>>> FFrameGraphics >>>> FFrameGraphics >>>> FFrameGraphics >>>> FFrameText >>>> FFrameText >>>> FFrameText >>>> FFrameView >>>> FFrameScaleBar >>>> FFrameLegend >>>> FFrameText >>>> FFrameOverView >>>> FFrameGraphics >>>> FFrameNorth >>>> FFramePicture >>>> ---------------------------- >>>> DefaultLayoutDocument Plantilla >>>> FFrameGraphics >>>> FFrameGraphics >>>> FFrameGraphics >>>> FFrameGraphics >>>> FFrameText >>>> FFrameText >>>> FFrameText >>>> FFrameView >>>> FFrameScaleBar >>>> FFrameLegend >>>> FFrameText >>>> FFrameOverView >>>> FFrameGraphics >>>> FFrameNorth >>>> FFramePicture >>>> ---------------------------- >>>> LayoutPanelImpl Plantilla >>>> Script test_layout2 terminated. >>>> >>>> >>>> >>>>> Muchas gracias de antemano, >>>>> un saludo >>>>> Ana >>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> gvSIG_desarrolladores mailing list >>>>> [email protected] >>>>> Para ver histórico de mensajes, editar sus preferencias de usuario o >>>>> darse de baja en esta lista, acuda a la siguiente dirección: >>>>> <http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores> >>>>> http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores >>>>> >>>>> >>>> >>>> >>>> -- >>>> -------------------------------------- >>>> Joaquin Jose del Cerro Murciano >>>> Development and software arquitecture manager at gvSIG Team >>>> [email protected] >>>> [email protected] >>>> gvSIG Association >>>> www.gvsig.com >>>> www.gvsig.org >>>> >>>> _______________________________________________ >>>> gvSIG_desarrolladores mailing list >>>> [email protected] >>>> Para ver histórico de mensajes, editar sus preferencias de usuario o >>>> darse de baja en esta lista, acuda a la siguiente dirección: >>>> http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores >>>> >>>> >>> >>> >>> _______________________________________________ >>> gvSIG_desarrolladores mailing [email protected] >>> Para ver histórico de mensajes, editar sus preferencias de usuario o darse >>> de baja en esta lista, acuda a la siguiente dirección: >>> http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores >>> >>> >>> -- >>> >>> Lluís Marqués Castelló / Ingeniero software >>> >>> [image: DISID] <[email protected]> [image: DISID] >>> <http://twitter.com/llumarca> >>> [image: DISID] <http://www.disid.com> >>> >>> DISID Corporation S.L. Tfno: 34 963 516 309 / Fax: 96 119 81 10 >>> C/ San Vicente 84, 5 A 46002 Valencia - España >>> http://www.disid.com >>> >>> [image: Facebook] <http://www.facebook.com/DISIDCorp> [image: Twitter] >>> <http://twitter.com/disid_corp> [image: Linkedin] >>> <http://www.linkedin.com/company/disid> [image: Github] >>> <http://github.com/disid/> >>> *Proveedor de soluciones software* >>> >>> Confidencialidad: Esta comunicación contiene información que puede ser >>> confidencial y privilegiada. Es para uso exclusivo del destinatario >>> indicado. Si no es Vd. el destinatario, por favor tome nota de que >>> cualquier distribución, copia o uso de esta comunicación o información está >>> estrictamente prohibido. Si ha recibido este mensaje por error, por favor >>> avísenos por e-mail a [email protected] y después destruya el mensaje y >>> cualquier copia de él. Las opiniones expresadas en el mensaje pueden ser >>> personales y no necesariamente opiniones de DISID Corporation, S.L. >>> >>> Virus y Seguridad: Aunque hemos tomado las medidas para asegurarnos que >>> este correo electrónico y sus ficheros adjuntos están libres de virus, le >>> recomendamos que a efectos de mantener buenas prácticas de seguridad, el >>> receptor debe asegurarse que este correo y sus ficheros adjuntos están >>> libres de virus. >>> >>> >>> _______________________________________________ >>> gvSIG_desarrolladores mailing list >>> [email protected] >>> Para ver histórico de mensajes, editar sus preferencias de usuario o >>> darse de baja en esta lista, acuda a la siguiente dirección: >>> http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores >>> >>> >> >> >> -- >> -------------------------------------- >> Joaquin Jose del Cerro Murciano >> Development and software arquitecture manager at gvSIG Team >> [email protected] >> [email protected] >> gvSIG Association >> www.gvsig.com >> www.gvsig.org >> >> _______________________________________________ >> gvSIG_desarrolladores mailing list >> [email protected] >> Para ver histórico de mensajes, editar sus preferencias de usuario o >> darse de baja en esta lista, acuda a la siguiente dirección: >> http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores >> >> > > _______________________________________________ > gvSIG_desarrolladores mailing list > [email protected] > Para ver histórico de mensajes, editar sus preferencias de usuario o darse > de baja en esta lista, acuda a la siguiente dirección: > http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores > >
_______________________________________________ gvSIG_desarrolladores mailing list [email protected] Para ver histórico de mensajes, editar sus preferencias de usuario o darse de baja en esta lista, acuda a la siguiente dirección: http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
