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

Reply via email to