>> But if user reads data from database or WFS the new layer has again 
schema with long names. That is probably why Michaël has made the 
re-usable renaming tool.

Exactly, we have a database with very long attribute names, and simply 
truncating them produces un-understandable names.

Michaël
> -Jukka Rahkonen-
>
> edgar soldin wrote:
>
>> what does currently happen when saving shapefiles w/ too long attrib names? 
>> do they get auto shorted, the user a warning or?
> ..ede
>
> On 15.11.2016 23:44, Michaël Michaud wrote:
>> Hi,
>>
>> Renaming attributes to be compatible with shapefile specification is a
>> common need.
>> I also had this need and decided to go through configuration files.
>> With layers having
>> 20 to 30 attributes each, if you have to rename attributes more than
>> one or two times, a graphical interface will not do it.
>>
>> Currently, I just have a quick and dirty plugin, and I'm not
>> completely satisfied with it but I would be happy do discuss possible
>> improvements. Current choices and limitations :
>> 1 - not linked with drivers : layer names and attribute names are
>> changed in the project
>>        -> not possible to remove geometry column
>> 2 - renaming is not undoable
>>       (structure change is generally not undoable in OpenJUMP)
>> 3 - I choose plain text file rather than xml to keep it as simple as
>> possible
>>
>> Notice : this is more a ETL capability. Wonder if it could be
>> integrated to Sextante modeler.
>>
>> Michaël
>>
>>
>> Le 15/11/2016 à 21:49, Rahkonen Jukka (MML) a écrit :
>>> Good idea. How about having an option to rename the columns to be exported 
>>> by the same?  Would be handy for example when exporting columns with long 
>>> names into shapefiles when automatic truncation can create non-informative 
>>> names.
>>>
>>> -Jukka Rahkonen-
>>>
>>> edgar soldin wrote:
>>>
>>>> maybe a panel to select the columns to be exported for the selected format 
>>>> would be A. reusable B. fitting for several formats (eg. csv, json).
>>> ..ede
>>>
>>>> On 15.11.2016 18:44, Giuseppe Aruta wrote:
>>>>> Hi everybody
>>>>> and thanks for the comments
>>>>>
>>>>> @Ede >can CSV writer ignore geoms if i want to write a plain data table?
>>>>> This is a good point. As CSV exporter also saves geometries in WKT.
>>>>> I did a couple of tests (exporting large shapefiles of Italian
>>>>> Regions/Provinces to csv), my LibreOffice speadsheet easly opened
>>>>> them (after a couple of quirks that the test is too long). Than I
>>>>> can delete the geometry columns and work with the other info
>>>> --------------------------------------------------
>>>>
>>>> Anyhow, going back to my modification. The problem cames out from
>>>> the following boolean
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> *public static boolean isTable(Layer layer) {
>>>> FeatureCollectionWrapper featureCollection = layer
>>>> .getFeatureCollectionWrapper();        List featureList =
>>>> featureCollection.getFeatures();        Geometry nextGeo = null;        for
>>>> (@SuppressWarnings("unchecked")        Iterator<FeatureCollectionWrapper> i
>>>> = featureList.iterator(); i                .hasNext();) {
>>>> Feature feature = (Feature) i.next();            nextGeo =
>>>> feature.getGeometry();        }        if (!featureCollection.isEmpty() &&
>>>> nextGeo.isEmpty()) {            return true;        } else {
>>>> return false;        }    }*
>>>> It is rought and self explaining (I am not a good developer). The
>>>> feature collection is scanned. If all the geometries associated to
>>>> all features are empty, it gives back true().
>>>>
>>>> I wonder if I can limit all the trouble on this method, finding a
>>>> simpler and less invasive solution. Just a couple of idea:
>>>> It scan only over  the first 1000 of features or it does a random
>>>> scan over only 1000 features.
>>>>
>>>> There will be probably other simpler solutions. Any  idea is welcome.
>>>>
>>>>
>>>> @Michael. Thanks for the nice explanation. Very intuitive for the pictures.
>>>> Unfortunately it requires a hard job, more that the my (or our) target.
>>>>
>>>> Best regards
>>>>
>>>> Peppe
>>>>
>>>>
>>>>
>>>>
>>>> 2016-11-15 12:41 GMT+01:00 <edgar.sol...@web.de>:
>>>>
>>>>> Mike,
>>>>>
>>>>> i see your point. i'd vote to stick what we've got then and simply
>>>>> autocreate empty geometries as we do now. just curious, can CSV
>>>>> writer ignore geoms if i want to write a plain data table?
>>>>>
>>>>> ..ede
>>>>>
>>>>> On 15.11.2016 09:02, Michaël Michaud wrote:
>>>>>> Hi,
>>>>>>
>>>>>> If I had to refactor the layer hierarchy to include datasets
>>>>>> without
>>>>> geometry, I would probably try something like that
>>>>>> (note that it would be a big refactoring, and I am not able to
>>>>>> evaluate
>>>>> the workload to achieve it)
>>>>>> Current layer hierarchy
>>>>>>
>>>>>> Current layer hierarchy
>>>>>>
>>>>>> Proposition to include non-geometric data (and to factorize some
>>>>> attributes)
>>>>>> Proposed layer hierachy
>>>>>> Le 14/11/2016 à 14:29, Stefan Steiniger a écrit :
>>>>>>> Hi,
>>>>>>>
>>>>>>> i used empty geomcollection so far, to have something there... I
>>>>>>> am not
>>>>> sure how much work it would be to introduce a new table/data layer
>>>>> without a geometry - as i am not sure if OJ is designed for that.
>>>>> Simplest may be to copy and make the field invisible for now.
>>>>>>> Perhaps Michaël has a better idea about the possibility to throw
>>>>>>> out
>>>>> the geom.
>>>>>>>
>>>>>>> cheers,
>>>>>>>
>>>>>>> stefan
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> ------ Originalnachricht ------
>>>>>>> *Von: *
>>>>>>> *Datum: *14.11.2016 9:45
>>>>>>> *An: *OpenJump develop and use;
>>>>>>> *Betreff:*Re: [JPP-Devel] SVN: [5185] core/trunk/src/com/
>>>>> vividsolutions/jump/workbench/ui/ LayerNameRenderer.java
>>>>>>> i guess the cleanest solution would be a new layer class eg.
>>>>>>> DataLayer,
>>>>> that simply does not allow adding/editing geometries or does not
>>>>> even have a geometry attribute.
>>>>>>> in the 2nd case you would probably need a new featurecollection
>>>>>>> w/o a
>>>>> geometry column as well and the whole thing would throw some
>>>>> exceptions here and there, as OJ expects geometries in
>>>>> featurecollections, but apart from that it would be clean and the
>>>>> renderer would not need to monitor geom changes at all.
>>>>>>> ..ede
>>>>>>>
>>>>>>> On 14.11.2016 10:39, Giuseppe Aruta wrote:
>>>>>>>> Thanks Michael Ede
>>>>>>>> Indeed I came across (as a side relative problem ) working on
>>>>> Saxtante.
>>>>>>>> Sextante allows to work on Table files while Oj not. We can take
>>>>> advance of
>>>>>>>> the Sextante table algorithms  allowing Sextante to decode the
>>>>>>>> vector layers, with all features with empty geometries (see  for
>>>>>>>> instance
>>>>> loading
>>>>>>>> .csv on auto mode) as tables (I already added added into
>>>>>>>> Sextante
>>>>> binding a
>>>>>>>> Boolean method that allows to decode these files).
>>>>>>>> I wondered if users would also have benefit  to visualize that a
>>>>> table is
>>>>>>>> loaded into OJ workbench, with a table icon.
>>>>>>>> I will check other solutions. Thanks for the hint.
>>>>>>>> Peppe
>>>>>>>>
>>>>>>>> Il 13/Nov/2016 23:21, "Michaël Michaud"  ha
>>>>>>>> scritto:
>>>>>>>>
>>>>>>>>> Hi Peppe,
>>>>>>>>>
>>>>>>>>> Seel also my answer on 2016-10-29.
>>>>>>>>>
>>>>>>>>> TreeLayerNamePanel has a listener, but to avoid a
>>>>>>>>> featureCollection
>>>>> scan
>>>>>>>>> after each change
>>>>>>>>> you probably need to keep a cache in the Layer as suggested by
>>>>>>>>> Ede,
>>>>> and
>>>>>>>>> use the Layer's
>>>>>>>>> listener to update the cache every time a feature is added,
>>>>>>>>> removed
>>>>> or
>>>>>>>>> changed
>>>>>>>>>
>>>>>>>>> Michaël
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Le 13/11/2016 à 19:51, edgar.sol...@web.de a écrit :
>>>>>>>>>> thanks.. how about implementing the caching/listener approach
>>>>>>>>>> if you
>>>>>>>>> like to have icon? ..ede
>>>>>>>>>> On 13.11.2016 18:57, Giuseppe Aruta wrote:
>>>>>>>>>>> Ok Ede, I didn't  know it. I will revert the change.
>>>>>>>>>>> Thanks again
>>>>>>>>>>> Peppe
>>>>>>>>>>>
>>>>>>>>>>> Il 13/Nov/2016 18:48,  ha scritto:
>>>>>>>>>>>
>>>>>>>>>>>> Peppe,
>>>>>>>>>>>>
>>>>>>>>>>>> NACK.. this is going to get very slow for huge datasets
>>>>>>>>>>>> containing
>>>>>>>>> empty
>>>>>>>>>>>> geoms only, as it is run on every redraw of the layer tree.
>>>>>>>>>>>> please
>>>>>>>>> cache
>>>>>>>>>>>> the state and use a layer change listener or else users will
>>>>> complain
>>>>>>>>> about
>>>>>>>>>>>> a frozen OJ some time in the future and we will have a hard
>>>>>>>>>>>> time
>>>>> to
>>>>>>>>>>>> pinpoint the reason, again ;)
>>>>>>>>>>>>
>>>>>>>>>>>> ..ede
>>>>>>>>>>>>
>>>>>>>>>>>> On 13.11.2016 18:41, jump-pilot-...@lists.sourceforge.net wrote:
>>>>>>>>>>>>> Revision: 5185
>>>>>>>>>>>>>              http://sourceforge.net/p/jump-pilot/code/5185
>>>>>>>>>>>>> Author:   ma15569
>>>>>>>>>>>>> Date:     2016-11-13 17:41:37 +0000 (Sun, 13 Nov 2016)
>>>>>>>>>>>>> Log Message:
>>>>>>>>>>>>> -----------
>>>>>>>>>>>>> The layer tree shows a table icon for layers that have
>>>>>>>>>>>>> features
>>>>> with
>>>>>>>>>>>> empty geometries
>>>>>>>>>>>>> Modified Paths:
>>>>>>>>>>>>> --------------
>>>>>>>>>>>>>        core/trunk/src/com/vividsolutions/jump/workbench/
>>>>>>>>>>>> ui/LayerNameRenderer.java
>>>>>>>>>>>>> Modified: core/trunk/src/com/vividsolutions/jump/workbench/
>>>>>>>>>>>> ui/LayerNameRenderer.java
>>>>>>>>>>>>> ===========================================================
>>>>>>>>>>>>> =
>>>>> =======
>>>>>>>>>>>>> --- core/trunk/src/com/vividsolutions/jump/workbench/
>>>>>>>>> ui/LayerNameRenderer.java
>>>>>>>>>>>>          2016-11-13 17:21:20 UTC (rev 5184)
>>>>>>>>>>>>> +++ core/trunk/src/com/vividsolutions/jump/workbench/
>>>>>>>>> ui/LayerNameRenderer.java
>>>>>>>>>>>>          2016-11-13 17:41:37 UTC (rev 5185)
>>>>>>>>>>>>> @@ -36,6 +36,7 @@
>>>>>>>>>>>>>     import java.awt.Rectangle;
>>>>>>>>>>>>>     import java.io.File;
>>>>>>>>>>>>>     import java.util.Iterator;
>>>>>>>>>>>>> +import java.util.List;
>>>>>>>>>>>>>
>>>>>>>>>>>>>     import javax.swing.DefaultListCellRenderer;
>>>>>>>>>>>>>     import javax.swing.Icon; @@ -54,9 +55,11 @@
>>>>>>>>>>>>>     import org.openjump.core.rasterimage.RasterImageLayer;
>>>>>>>>>>>>>
>>>>>>>>>>>>>     import com.vividsolutions.jts.geom.Envelope;
>>>>>>>>>>>>> +import com.vividsolutions.jts.geom.Geometry;
>>>>>>>>>>>>>     import com.vividsolutions.jump.I18N;
>>>>>>>>>>>>>     import com.vividsolutions.jump.feature.Feature;
>>>>>>>>>>>>>     import
>>>>>>>>>>>>> com.vividsolutions.jump.feature.FeatureCollection;
>>>>>>>>>>>>> +import com.vividsolutions.jump.feature.
>>>>> FeatureCollectionWrapper;
>>>>>>>>>>>>>     import com.vividsolutions.jump.io.datasource.DataSourceQuery;
>>>>>>>>>>>>>     import com.vividsolutions.jump.util.StringUtil;
>>>>>>>>>>>>>     import com.vividsolutions.jump.workbench.JUMPWorkbench;
>>>>>>>>>>>>> @@ -118,6 +121,7 @@
>>>>>>>>>>>>>         private ImageIcon rasterIcon =
>>>>> IconLoader.icon("map_13.png");
>>>>>>>>>>>>>         private ImageIcon sextante_rasterIcon =
>>>>>>>>> IconLoader.icon("mapSv2_13.
>>>>>>>>>>>> png");
>>>>>>>>>>>>>         private ImageIcon sextante_rasterIcon2 =
>>>>>>>>>>>> IconLoader.icon("mapSv2_13bw.png");
>>>>>>>>>>>>> +    private ImageIcon table_Icon =
>>>>>>>>>>>>> + IconLoader.icon("Table.gif");
>>>>>>>>>>>>>         private final static String LAYER_NAME = I18N
>>>>>>>>>>>>>                 .get("org.openjump.core.ui.plugin.layer.
>>>>>>>>>>>> LayerPropertiesPlugIn.Layer-Name");
>>>>>>>>>>>>>         private final static String FILE_NAME =
>>>>>>>>>>>> I18N.get("ui.MenuNames.FILE");
>>>>>>>>>>>>> @@ -379,6 +383,12 @@
>>>>>>>>>>>>>                         
>>>>>>>>>>>>> .getFeatureCollectionWrapper().size() >
>>>>>>>>>>>>> 1
>>>>> ?
>>>>>>>>>>>> multiRasterIcon
>>>>>>>>>>>>>                         : rasterIcon);
>>>>>>>>>>>>>                 imageLabel.setVisible(true);
>>>>>>>>>>>>> +        } else if (showColorPanel && layerable instanceof Layer
>>>>>>>>>>>>> +            && isTable((Layer) layerable)) {
>>>>>>>>>>>>> +          //Show a table icon if the Layer has features
>>>>>>>>>>>>> + with
>>>>> empty
>>>>>>>>>>>> geometries
>>>>>>>>>>>>> +        imageLabel.setIcon(table_Icon);
>>>>>>>>>>>>> +        imageLabel.setVisible(true);
>>>>>>>>>>>>> +
>>>>>>>>>>>>>             } else if (showColorPanel && layerable
>>>>>>>>>>>>> instanceof
>>>>> Layer) {
>>>>>>>>>>>>>                 colorPanel.init((Layer) layerable, isSelected,
>>>>>>>>>>>>>                         list.getBackground(),
>>>>>>>>> list.getSelectionBackground())
>>>>>>>>>>>> ;
>>>>>>>>>>>>> @@ -1022,4 +1032,27 @@
>>>>>>>>>>>>>                     && bgc.equals(p.getBackground()) &&
>>>>> p.isOpaque();
>>>>>>>>>>>>>             return !colorMatchOrOpaque && super.isOpaque();
>>>>>>>>>>>>>         }
>>>>>>>>>>>>> +
>>>>>>>>>>>>> +    /*
>>>>>>>>>>>>> +     * [Giuseppe Aruta 11.2016] . True if all the layer
>>>>> geometries
>>>>>>>>> are
>>>>>>>>>>>> empty
>>>>>>>>>>>>> +     * (Geometrycollection empty). Workaround to decode
>>>>>>>>>>>>> + table
>>>>> files
>>>>>>>>>>>> (like .csv or .dbf)
>>>>>>>>>>>>> +     *  so that they are loaded in Sextante as table
>>>>>>>>>>>>> +      */
>>>>>>>>>>>>> +    public static boolean isTable(Layer layer) {
>>>>>>>>>>>>> +        FeatureCollectionWrapper featureCollection = layer
>>>>>>>>>>>>> +                .getFeatureCollectionWrapper();
>>>>>>>>>>>>> +        List featureList = featureCollection.getFeatures();
>>>>>>>>>>>>> +        Geometry nextGeo = null;
>>>>>>>>>>>>> +        for (@SuppressWarnings("unchecked")
>>>>>>>>>>>>> +        Iterator i =
>>>>>>>>> featureList.iterator();
>>>>>>>>>>>> i
>>>>>>>>>>>>> +                .hasNext();) {
>>>>>>>>>>>>> +            Feature feature = (Feature) i.next();
>>>>>>>>>>>>> +            nextGeo = feature.getGeometry();
>>>>>>>>>>>>> +        }
>>>>>>>>>>>>> +        if (!featureCollection.isEmpty() && nextGeo.isEmpty()) {
>>>>>>>>>>>>> +            return true;
>>>>>>>>>>>>> +        } else {
>>>>>>>>>>>>> +            return false;
>>>>>>>>>>>>> +        }
>>>>>>>>>>>>> +    }
>>>>>>>>>>>>>     }
>>>>>>>>>>>>> \ No newline at end of file
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> -----------------------------------------------------------
>>>>>>>>>>>>> -
>>>>>>>>>>>> ------------------
>>>>>>>>>>>>> Developer Access Program for Intel Xeon Phi Processors
>>>>>>>>>>>>> Access to Intel Xeon Phi processor-based developer platforms.
>>>>>>>>>>>>> With one year of Intel Parallel Studio XE.
>>>>>>>>>>>>> Training and support from Colfax.
>>>>>>>>>>>>> Order your platform today. http://sdm.link/xeonphi
>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>> Jump-pilot-devel mailing list
>>>>>>>>>>>>> Jump-pilot-devel@lists.sourceforge.net
>>>>>>>>>>>>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-dev
>>>>>>>>>>>>> el
>>>>>>>>>>>>>
>>>>>>>>>>>> ------------------------------------------------------------
>>>>>>>>>>>> ------------------
>>>>>>>>>>>> Developer Access Program for Intel Xeon Phi Processors
>>>>>>>>>>>> Access to Intel Xeon Phi processor-based developer platforms.
>>>>>>>>>>>> With one year of Intel Parallel Studio XE.
>>>>>>>>>>>> Training and support from Colfax.
>>>>>>>>>>>> Order your platform today. http://sdm.link/xeonphi
>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>> Jump-pilot-devel mailing list
>>>>>>>>>>>> Jump-pilot-devel@lists.sourceforge.net
>>>>>>>>>>>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-deve
>>>>>>>>>>>> l
>>>>>>>>>>>>
>>>>>>>>>>> ------------------------------------------------------------
>>>>>>>>> ------------------
>>>>>>>>>>> Developer Access Program for Intel Xeon Phi Processors Access
>>>>>>>>>>> to Intel Xeon Phi processor-based developer platforms.
>>>>>>>>>>> With one year of Intel Parallel Studio XE.
>>>>>>>>>>> Training and support from Colfax.
>>>>>>>>>>> Order your platform today. http://sdm.link/xeonphi
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> _______________________________________________
>>>>>>>>>>> Jump-pilot-devel mailing list
>>>>>>>>>>> Jump-pilot-devel@lists.sourceforge.net
>>>>>>>>>>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>>>>>>>>>>>
>>>>>>>>>> ------------------------------------------------------------
>>>>>>>>> ------------------
>>>>>>>>>> Developer Access Program for Intel Xeon Phi Processors Access
>>>>>>>>>> to Intel Xeon Phi processor-based developer platforms.
>>>>>>>>>> With one year of Intel Parallel Studio XE.
>>>>>>>>>> Training and support from Colfax.
>>>>>>>>>> Order your platform today. http://sdm.link/xeonphi
>>>>>>>>>> _______________________________________________
>>>>>>>>>> Jump-pilot-devel mailing list
>>>>>>>>>> Jump-pilot-devel@lists.sourceforge.net
>>>>>>>>>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>>>>>>>>>>
>>>>>>>>> ------------------------------------------------------------
>>>>>>>>> ------------------
>>>>>>>>> Developer Access Program for Intel Xeon Phi Processors Access
>>>>>>>>> to Intel Xeon Phi processor-based developer platforms.
>>>>>>>>> With one year of Intel Parallel Studio XE.
>>>>>>>>> Training and support from Colfax.
>>>>>>>>> Order your platform today. http://sdm.link/xeonphi
>>>>>>>>> _______________________________________________
>>>>>>>>> Jump-pilot-devel mailing list
>>>>>>>>> Jump-pilot-devel@lists.sourceforge.net
>>>>>>>>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>>>>>>>>>
>>>>>>>>
>>>>>>>> ------------------------------------------------------------
>>>>> ------------------
>>>>>>>> Developer Access Program for Intel Xeon Phi Processors Access to
>>>>>>>> Intel Xeon Phi processor-based developer platforms.
>>>>>>>> With one year of Intel Parallel Studio XE.
>>>>>>>> Training and support from Colfax.
>>>>>>>> Order your platform today. http://sdm.link/xeonphi
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> Jump-pilot-devel mailing list
>>>>>>>> Jump-pilot-devel@lists.sourceforge.net
>>>>>>>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>>>>>>>>
>>>>>>> ------------------------------------------------------------
>>>>> ------------------
>>>>>>> Developer Access Program for Intel Xeon Phi Processors Access to
>>>>>>> Intel Xeon Phi processor-based developer platforms.
>>>>>>> With one year of Intel Parallel Studio XE.
>>>>>>> Training and support from Colfax.
>>>>>>> Order your platform today. http://sdm.link/xeonphi
>>>>>>> _______________________________________________
>>>>>>> Jump-pilot-devel mailing list
>>>>>>> Jump-pilot-devel@lists.sourceforge.net
>>>>>>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>>>>>>>
>>>>>>>
>>>>>>> ------------------------------------------------------------
>>>>> ------------------
>>>>>>> Developer Access Program for Intel Xeon Phi Processors Access to
>>>>>>> Intel Xeon Phi processor-based developer platforms.
>>>>>>> With one year of Intel Parallel Studio XE.
>>>>>>> Training and support from Colfax.
>>>>>>> Order your platform today. http://sdm.link/xeonphi
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Jump-pilot-devel mailing list
>>>>>>> Jump-pilot-devel@lists.sourceforge.net
>>>>>>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>>>>>>
>>>>>> ------------------------------------------------------------
>>>>> ------------------
>>>>>>
>>>>>> _______________________________________________
>>>>>> Jump-pilot-devel mailing list
>>>>>> Jump-pilot-devel@lists.sourceforge.net
>>>>>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>>>>>>
>>>>> ------------------------------------------------------------
>>>>> ------------------
>>>>> _______________________________________________
>>>>> Jump-pilot-devel mailing list
>>>>> Jump-pilot-devel@lists.sourceforge.net
>>>>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>>>>>
>>>>
>>>> --------------------------------------------------------------------
>>>> --
>>>> --------
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Jump-pilot-devel mailing list
>>>> Jump-pilot-devel@lists.sourceforge.net
>>>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>>>>
>>> ---------------------------------------------------------------------
>>> --------- _______________________________________________
>>> Jump-pilot-devel mailing list
>>> Jump-pilot-devel@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>>>
>>> ---------------------------------------------------------------------
>>> --------- _______________________________________________
>>> Jump-pilot-devel mailing list
>>> Jump-pilot-devel@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>>>
>>
>> ----------------------------------------------------------------------
>> -------- _______________________________________________
>> Jump-pilot-devel mailing list
>> Jump-pilot-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>>
> ------------------------------------------------------------------------------
> _______________________________________________
> Jump-pilot-devel mailing list
> Jump-pilot-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>
> ------------------------------------------------------------------------------
> _______________________________________________
> Jump-pilot-devel mailing list
> Jump-pilot-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>


------------------------------------------------------------------------------
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

Reply via email to