Hi,

To give more food for thought about layerable hierarchy, I have an old 
project in mind to create VirtualLayers. A VirtualLayer would be the 
dataset of another Layer. It may be read-only. Its main purpose is to 
have more than one style associated to a single datasource and to be 
able to interleave styles associated with one datasource with styles 
associated to another datasource.

Michaël

Le 03/02/2016 17:58, edgar.sol...@web.de a écrit :
> sure, go ahead.
>
> it's just important to me that we talk about it first and find an ordered 
> approach that takes into account the existing API. i am a big fan of small 
> steps, but into the right direction. meaning a big overhaul refactoring is 
> possibly bringing more problems than the whole cleanup is worth.
> streamlining the existing API by eg. moving a small functionality out of 
> Layer into AbstractLayerable at a time and test it will probably the least 
> dangerous approach.
>
> visualizing the current design beforehand might probably help all parties to 
> get an initial overview as well.
>
> ..ede
>
> On 03.02.2016 17:49, Landon Blake wrote:
>> How do you guys feel about having Peppe and I review our existing layerable
>> class/interface architecture and come up with a proposal for clean-up and
>> revisions. I think some of Peppe's suggested methods are useful, but agree
>> with Ede that we need to plug them into the correct interface.
>>
>> I think this is exactly the type of TLC the OpenJUMP core needs. I would
>> love to work with Peppe to test some code and then propose a more
>> comprehensive clean-up of the layerable code here.
>>
>> Peppe: Let me know if you want my help.
>>
>> Others: Let me know if you'd be willing to consider a proposal and some
>> test code from Peppe and I.
>>
>> Landon
>>
>> On Wed, Jan 27, 2016 at 7:02 AM, Giuseppe Aruta <giuseppe.ar...@gmail.com>
>> wrote:
>>
>>> OK,
>>> I had the response of everybody.
>>>
>>> - I am going to remove all the Layer.class parts and restore as it is
>>> before
>>> - I am going to leave only the RasterImageLayer.class method
>>> isTemporaryLayer()
>>> - I will create an external class, called maybe LayerbleUtils - no
>>> implementation to Layerable or other classes, just a useful Util class to
>>> group all these potential boolen/String methods.
>>>
>>>> you mean as default saving format when leaving OJ? why?
>>> No. Not talking about SaveDatasetsPlugIn. It has a useful behaviour: if I
>>> try to add a  a polygon to a point layer (belonging to a Shapefile, already
>>> saved). And than I will save it, the plugin will save the original geometry
>>> collection to the original file, and create another SHP file with the
>>> polygon. This is probably better than a warning message.
>>> My idea is to add this capability to Michael's project
>>> SaveLayersWithoutDatasource.class ( it saves a list of layers without
>>> datasource, the user can choose JML or SHP as export format) which is also
>>> invoked on Saving a project.
>>> An alternative simpler idea is to give the plugin the capability to
>>> distinguish mixed geometry types layers among all, and to save them as JML,
>>> even if the user choose SHP.
>>> In any  I will not change none of the actual classes. As I frequently
>>> work with Sextante rasters(RasterImageLayer.class), I will start from
>>> Michael's plugin to create another one  that has these two extra
>>> capabilities:
>>> a) it saves also a list of Temporary Raster layers as TIF
>>> b) it  allows users to commit changes on "modified layers" ( I will
>>> consider "modified layers" as Layer.class, vector based, with a datasource.
>>> I will exclude  from this collection ("modified layers")
>>> DataStoreQueryDataSources and ReferencedImageLayer (legacy images) as
>>> their saving is still complex and ambiguous (see a previous discussion
>>> about saving a ReferencedImageLayer when its envelope has been moved or
>>> resized)
>>> Peppe
>>>
>>> 2016-01-27 13:53 GMT+01:00 Michaël Michaud <m.michael.mich...@orange.fr>:
>>>
>>>> Hi,
>>>>
>>>> I think that Peppe's request show some flaws in layerable hierarchy.
>>>> Some may be addressed by adding helper methods to existing class.
>>>> Others maybe addressed by introducing new interfaces.
>>>> Some are not so difficult to find in current implementation.
>>>>
>>>> My main complain about the design is that raster has two very different
>>>> representations (a layer subclass for legacy images and a different
>>>> class for
>>>> sextante)
>>>> It could be a good idea to arrive to the following hierarchy :
>>>> AbstractLayer
>>>>     - rasterLayer (RasterImageLayer + Sextante + WMS : is it possible ?)
>>>>     - vectorLayer (Shape, database, WFS...)
>>>>
>>>> In such a scenario, I don't know if current Layer should be equal to
>>>> VectorLayer
>>>> or above Vector and Raster.
>>>>
>>>> Another feature I'd like which meets peppe's requirement is some
>>>> information
>>>> about the source (null/file[tmp,compressed]/url[database,service]) at the
>>>> AbstractLayer level, or at least above Raster/Vector, because this is a
>>>> common thing
>>>> which is quite difficult to get in a uniform way in the current
>>>> hierarchy (and which is
>>>> a bit hidden).
>>>>
>>>> Maybe also methods like
>>>> - getEnvelope (currently available in raster layer and wms but not in
>>>> layer !) should be
>>>> implemented at the AbstractLayer level, as well as
>>>> - getFeatureCollection which could return image(s) enveloppes in case of
>>>> raster layers.
>>>>
>>>> My 2 cents
>>>>
>>>> Michaël
>>>>
>>>> Le 27/01/2016 12:22, edgar.sol...@web.de a écrit :
>>>>> thx! and exactly my point :) ..ede
>>>>>
>>>>> On 27.01.2016 12:17, Alberto De Luca wrote:
>>>>>> Ede,
>>>>>>
>>>>>> yes I am aware of the majority of the additions relate to Layer.java,
>>>> but I
>>>>>> wouldn't venture into commenting on those since my knowledge with
>>>> regards
>>>>>> to the Layer class is limited. What I could say though is that for what
>>>>>> I've seen the design of Layer is very neat and though-through in
>>>> comparison
>>>>>> to RasterImageLayer, therefore I would think more than twice before
>>>>>> touching it.
>>>>>>
>>>>>> Alberto
>>>>>>
>>>>>> On 27 January 2016 at 11:13, <edgar.sol...@web.de> wrote:
>>>>>>
>>>>>>> Alberto,
>>>>>>>
>>>>>>> you are aware most additions Peppe did were to Layer.java where they
>>>>>>> definitely don't belong?
>>>>>>>
>>>>>>> if it's needed in RasterImageLayer, i don't oppose at all.
>>>>>>>
>>>>>>> ..ede
>>>>>>>
>>>>>>> On 27.01.2016 10:53, Alberto De Luca wrote:
>>>>>>>> Hey guys,
>>>>>>>>
>>>>>>>> at the moment RasterImageLayer is quite a messy class (a mess to whom
>>>>>>> I've
>>>>>>>> been contributing, by the way), because there's a bit of everything
>>>> in
>>>>>>> in,
>>>>>>>> from methods that manipulate the raster values to methods that take
>>>> care
>>>>>>> of
>>>>>>>> the rendering on screen...
>>>>>>>>
>>>>>>>> So while we wait for the lucky ticket-owner to come along, I think
>>>> that
>>>>>>> the
>>>>>>>> utility methods added by Peppe (that to me are definitely useful)
>>>> should
>>>>>>>> stay: they just made the class a bit messier :P
>>>>>>>>
>>>>>>>> Alberto
>>>>>>>>
>>>>>>>>
>>>>>>>> On 27 January 2016 at 03:00, Stefan Steiniger <sst...@geo.uzh.ch>
>>>> wrote:
>>>>>>>>> see below
>>>>>>>>>
>>>>>>>>> Am 26.01.16 um 13:31 schrieb Giuseppe Aruta:
>>>>>>>>>> Just few extra details:
>>>>>>>>>>
>>>>>>>>>> 1) Temporary vector (Layer.class) and raster
>>>> (RasterImageLayer.class)
>>>>>>>>>> layers (isTemporaryLayer())
>>>>>>>>>> - Sextante is a different software and it handles raster and
>>>> vector in
>>>>>>> a
>>>>>>>>>> separate way from OpenJUMP
>>>>>>>>>> - while TEMP files should be stored in Windows forever (except if
>>>> user
>>>>>>>>>> does a deep OS cleaning) Linux and MacOSX delete these files from
>>>> the
>>>>>>>>>> /TEMP folder on shuts down
>>>>>>>>>> Linux and Mac users should be aware that, if they shut down the OS
>>>> and
>>>>>>>>>> if they don't save these temp data in another folder, they will
>>>> lost
>>>>>>>>>> them. But I am sure that few know about this.
>>>>>>>>>>
>>>>>>>>>> Pratical usage:
>>>>>>>>>> Other temporary layers  also layers with no datasource.
>>>>>>>>>> SaveLayrsWithoutDatasourcePlugIn of Michael already advises users
>>>> about
>>>>>>>>>> the presence of these layers.
>>>>>>>>>> I am planning to expand this plugin  to this other group of
>>>> temporary
>>>>>>>>>> layers (the one stored into /TEMP folder) both Layers and
>>>>>>>>> RasterImageLayers.
>>>>>>>>>> I could work on the plugin without adding new boolean on System
>>>> classes
>>>>>>>>>> (you are right, Ede, those functionality are already there)
>>>>>>>>>> But a flag like RasterImagerLayer.isTemporary() would avoid some
>>>> extra
>>>>>>>>>> code and, more important,  it could be used also in the future
>>>>>>>>> I agree with Peppe here...
>>>>>>>>> But perhaps we need to see how this fits also with Michaels DB
>>>>>>>>> experiences (and approaches). At least most Raster-Related helper
>>>>>>>>> classes make sense to me. Perhaps Alberto has a comment on that too.
>>>>>>>>> And if Ede points out to the original JUMP design/development...
>>>> well
>>>>>>>>> the design focus was on vector... everything else raster wise was
>>>> more
>>>>>>>>> experimental (my opinion). And this is now also some wooohhhoo 12-13
>>>>>>>>> years ago... ;)
>>>>>>>>>
>>>>>>>>> Ideally of course one would need to do what QGIS did, a complete
>>>>>>>>> redesign of the core, but... (perhaps someone wins in the lottery
>>>> and
>>>>>>>>> funds 5 devs from that :)
>>>>>>>>>
>>>>>>>>> cheers,
>>>>>>>>> Stefan
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>> ------------------------------------------------------------------------------
>>>>>>>>> Site24x7 APM Insight: Get Deep Visibility into Application
>>>> Performance
>>>>>>>>> APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
>>>>>>>>> Monitor end-to-end web transactions and take corrective actions now
>>>>>>>>> Troubleshoot faster and improve end-user experience. Signup Now!
>>>>>>>>> http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140
>>>>>>>>> _______________________________________________
>>>>>>>>> Jump-pilot-devel mailing list
>>>>>>>>> Jump-pilot-devel@lists.sourceforge.net
>>>>>>>>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>> ------------------------------------------------------------------------------
>>>>>>>> Site24x7 APM Insight: Get Deep Visibility into Application
>>>> Performance
>>>>>>>> APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
>>>>>>>> Monitor end-to-end web transactions and take corrective actions now
>>>>>>>> Troubleshoot faster and improve end-user experience. Signup Now!
>>>>>>>> http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> Jump-pilot-devel mailing list
>>>>>>>> Jump-pilot-devel@lists.sourceforge.net
>>>>>>>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>>>>>>>>
>>>>>>>
>>>> ------------------------------------------------------------------------------
>>>>>>> Site24x7 APM Insight: Get Deep Visibility into Application Performance
>>>>>>> APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
>>>>>>> Monitor end-to-end web transactions and take corrective actions now
>>>>>>> Troubleshoot faster and improve end-user experience. Signup Now!
>>>>>>> http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140
>>>>>>> _______________________________________________
>>>>>>> Jump-pilot-devel mailing list
>>>>>>> Jump-pilot-devel@lists.sourceforge.net
>>>>>>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>>>>>>>
>>>>>>
>>>>>>
>>>> ------------------------------------------------------------------------------
>>>>>> Site24x7 APM Insight: Get Deep Visibility into Application Performance
>>>>>> APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
>>>>>> Monitor end-to-end web transactions and take corrective actions now
>>>>>> Troubleshoot faster and improve end-user experience. Signup Now!
>>>>>> http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140
>>>>>>
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> Jump-pilot-devel mailing list
>>>>>> Jump-pilot-devel@lists.sourceforge.net
>>>>>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>>>>>>
>>>> ------------------------------------------------------------------------------
>>>>> Site24x7 APM Insight: Get Deep Visibility into Application Performance
>>>>> APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
>>>>> Monitor end-to-end web transactions and take corrective actions now
>>>>> Troubleshoot faster and improve end-user experience. Signup Now!
>>>>> http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140
>>>>> _______________________________________________
>>>>> Jump-pilot-devel mailing list
>>>>> Jump-pilot-devel@lists.sourceforge.net
>>>>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>>>>>
>>>>
>>>>
>>>> ------------------------------------------------------------------------------
>>>> Site24x7 APM Insight: Get Deep Visibility into Application Performance
>>>> APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
>>>> Monitor end-to-end web transactions and take corrective actions now
>>>> Troubleshoot faster and improve end-user experience. Signup Now!
>>>> http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140
>>>> _______________________________________________
>>>> Jump-pilot-devel mailing list
>>>> Jump-pilot-devel@lists.sourceforge.net
>>>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>>>>
>>>
>>>
>>> ------------------------------------------------------------------------------
>>> Site24x7 APM Insight: Get Deep Visibility into Application Performance
>>> APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
>>> Monitor end-to-end web transactions and take corrective actions now
>>> Troubleshoot faster and improve end-user experience. Signup Now!
>>> http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140
>>> _______________________________________________
>>> Jump-pilot-devel mailing list
>>> Jump-pilot-devel@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>>>
>>>
>>
>>
>> ------------------------------------------------------------------------------
>> Site24x7 APM Insight: Get Deep Visibility into Application Performance
>> APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
>> Monitor end-to-end web transactions and take corrective actions now
>> Troubleshoot faster and improve end-user experience. Signup Now!
>> http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140
>>
>>
>>
>> _______________________________________________
>> Jump-pilot-devel mailing list
>> Jump-pilot-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>>
> ------------------------------------------------------------------------------
> Site24x7 APM Insight: Get Deep Visibility into Application Performance
> APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
> Monitor end-to-end web transactions and take corrective actions now
> Troubleshoot faster and improve end-user experience. Signup Now!
> http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140
> _______________________________________________
> Jump-pilot-devel mailing list
> Jump-pilot-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>


------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

Reply via email to