[Gvsig_english] BUG? Messy project files? What are "otherDriverFile" and why do they cascade through project files

Simon Cropper (Botanicus Australia Pty Ltd) scropper at botanicusaustralia.com.au
Thu Dec 24 00:28:18 CET 2009


Hi,

I have had the need to peek inside my project files to identify why 
gvSIG is crashing (see comments on other thread "Errors when closing file").

I have noted a large number of files referenced that are not actually 
inside the project under the key type "otherDriverFile". Seems like a 
complete list of every file I have ever opened using gvSIG (which is 
quite a lot).

Even if I create a new empty project the files appear. If I remove the 
100 or so references and open the file an error is generated.

        Open project... com.iver.utiles.NotExistInXMLEntity: null
        com.iver.utiles.XMLEntity.getStringProperty(XMLEntity.java:473)
        com.iver.cit.gvsig.project.Project.registerDataSourceFromXML(Project.java:2123)
        com.iver.cit.gvsig.project.Project.createFromXML(Project.java:1167)
        com.iver.cit.gvsig.ProjectExtension.readProject(ProjectExtension.java:669)
        com.iver.cit.gvsig.ProjectExtension.readProject(ProjectExtension.java:590)
        com.iver.cit.gvsig.ProjectExtension.execute(ProjectExtension.java:376)
        com.iver.andami.plugins.ExtensionDecorator.execute(ExtensionDecorator.java:89)
        com.iver.andami.ui.mdiFrame.MDIFrame.actionPerformed(MDIFrame.java:673)
        javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
        javax.swing.AbstractButton$Handler.actionPerformed(Unknown
    Source)
        javax.swing.DefaultButtonModel.fireActionPerformed(Unknown
    Source)     javax.swing.DefaultButtonModel.setPressed(Unknown
    Source)
        javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown
    Source)     java.awt.AWTEventMulticaster.mouseReleased(Unknown
    Source)     java.awt.AWTEventMulticaster.mouseReleased(Unknown
    Source)     java.awt.Component.processMouseEvent(Unknown Source)
        javax.swing.JComponent.processMouseEvent(Unknown Source)
        java.awt.Component.processEvent(Unknown Source)
        java.awt.Container.processEvent(Unknown Source)
        java.awt.Component.dispatchEventImpl(Unknown Source)
        java.awt.Container.dispatchEventImpl(Unknown Source)
        java.awt.Component.dispatchEvent(Unknown Source)
        java.awt.LightweightDispatcher.retargetMouseEvent(Unknown
    Source)     java.awt.LightweightDispatcher.processMouseEvent(Unknown
    Source)     java.awt.LightweightDispatcher.dispatchEvent(Unknown
    Source)     java.awt.Container.dispatchEventImpl(Unknown Source)
        java.awt.Window.dispatchEventImpl(Unknown Source)
        java.awt.Component.dispatchEvent(Unknown Source)
        java.awt.EventQueue.dispatchEvent(Unknown Source)
        com.iver.andami.ui.AndamiEventQueue.dispatchEvent(AndamiEventQueue.java:58)
        java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown
    Source)
        java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown
    Source)     java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        java.awt.EventDispatchThread.run(Unknown Source)

If I then save the file and try and open again an error is not 
generated. If I then look inside the project file I have a XML-TAG 
defining a key type "otherDriverFile" as shown below. Only one though.

    <xml-tag>
        <property key="type" value="otherDriverFile"/>
        <property key="gdbmsname" value="ORA_EPSG"/>
        <property key="file" value="C:/Program 
Files/gvSIG_1.9/bin/gvSIG/extensiones/com.iver.cit.gvsig.oracle_spatial/dbf/ORA_EPSG.DBF"/>
        <property key="driverName" value="gdbms dbf driver"/>
    </xml-tag>

OK, if I open a complex file and select "Create New Project" it inherits 
the complete list of files from the open project. If I then open a whole 
bunch of files in the newly created project, save, create a new project 
the new project has both set of files. This means that over time every 
project gets bigger.

Obviously the best way to create a clean project is to open gvSIG and 
save the opened project to a directory -- NOT create a new project while 
you have another project open otherwise you will inherit it's file list. 
This is obviously a bug.

Apart from fixing this issue is it possible to create a purge routine to 
discard all old references in a project that are no longer used.
-- 

Cheers Simon

Simon Cropper
Botanicus Australia Pty Ltd
PO Box 160, Sunshine, Victoria 3020.
P: 9311 5822. M: 041 830 3437.
mailto: scropper at botanicusaustralia.com.au 
<mailto:scropper at botanicusaustralia.com.au>
web: www.botanicusaustralia.com.au <http://www.botanicusaustralia.com.au>



More information about the Gvsig_internacional mailing list