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

Reply via email to