[Geoserver-devel] New extension point to allow feature type initialization in ResourcePool

Hi,
I would like to propose a new extension point that can be used to generalize,
and make pluggable, the configuration of a FeatureTyeInfo into a data store,
for feature types that are configured as opposed to being “native” to the store.

We have this situation already with SQL views, where the FeatureTypeInfo
contains the virtual table definition that needs to be created in the store,
on the fly, when we first need that particular feature type.

The incoming SOLR data store has the same needs, a feature type is
created by the administrator by choosing which of the many document
attributes available in the SOLR installation are to be included in the
feature types being created.

The interface would be pretty simple:

/**

  • Extension point to initialize underlying resource of a feature type with custom informations
  • taken from its metadata
  • This may be useful when the resource configuration is dynamic and based on informations provided
  • by user as in case of {@link org.geotools.jdbc.VirtualTable}
  • The extension point is used as follows:
  • {@code
  • featureTypeInitializers = GeoServerExtensions.extensions(FeatureTypeInitializer.class);
  • for(FeatureTypeInitializer fti : featureTypeInitializers){
  • if(fti.canHandle(info,dataAccess)){
  • fti.initialize(info,dataAccess);
  • }
  • }
  • @see {@link FeatureTypeInfo#getMetadata()}
  • @see {@link ResourcePool#getCacheableFeatureType}
  • @see {@link ResourcePool#getNonCacheableFeatureType}
    */
    public interface FeatureTypeInitializer {

/**

  • Checks if this initializer can handle the specified resource handle
    */
    boolean canHandle(FeatureTypeInfo info, DataAccess<? extends FeatureType, ? extends Feature> dataAccess);

/**

  • Initializes the specified feature type in the specified data access
    */
    void initialize(FeatureTypeInfo info, DataAccess<? extends FeatureType, ? extends Feature> dataAccess) throws IOException;

/**

  • Performs any cleanup necessary to clean up the layer from the specified store
    */
    void dispose(FeatureTypeInfo info, DataAccess<? extends FeatureType, ? extends Feature> dataAccess) throws IOException;

}

Any feedback?

I was planning to add this one along with the SOLR store UI on trunk, and I’m also interested
in the opportunity of backporting the same on 2.6.x, once the release is out.
Since it’s a new interface it should not cause backwards compatibility issues, please let me know what you think about it.

Cheers
Andrea

==

GeoServer Professional Services from the experts! Visit
http://goo.gl/NWWaa2 for more information.

==

Ing. Andrea Aime

@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy’s New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.


+1 from me.

I would like to move some of the REST API hacks from 2.6.x into ResourcePool (so we manage datastore caches in a consistent fashion).

Actually with that in mind, and seeing you have a dispose() hook, I recommend:

abstract class FeatureTypeHelper {
boolean canHandle( FeatureTypeInfo, DataAccess );

void initialize( FeatureTypeInfo, DataAccess ); // Called before FeatureTypeInfo accessed
void flush( FeatureTypeInfo, DataAccess ); // Called before ContentState.flush()

void dispose( FeatureTypeInfo, DataAccess ); // Called before DataAccess.dispose()

}

ResourcePool is running around with a number of HashMaps that must be kept in sync. Something the REST API has not always managed in a consistent fashion with the GUI.

My concern is FeatureTypeHelper would be used to manage additional external HashMaps outside of ResourcePool.

Q: Is it worth structuring ResourcePool a bit better and allowing it to have a “user data” map? Or are DataStore implementations happy with subclassing ContentState (managed by flush and dispose above).

···

Jody Garnett

On Wed, Sep 24, 2014 at 3:17 AM, Andrea Aime <andrea.aime@anonymised.com> wrote:

Hi,
I would like to propose a new extension point that can be used to generalize,
and make pluggable, the configuration of a FeatureTyeInfo into a data store,
for feature types that are configured as opposed to being “native” to the store.

We have this situation already with SQL views, where the FeatureTypeInfo
contains the virtual table definition that needs to be created in the store,
on the fly, when we first need that particular feature type.

The incoming SOLR data store has the same needs, a feature type is
created by the administrator by choosing which of the many document
attributes available in the SOLR installation are to be included in the
feature types being created.

The interface would be pretty simple:

/**

  • Extension point to initialize underlying resource of a feature type with custom informations
  • taken from its metadata
  • This may be useful when the resource configuration is dynamic and based on informations provided
  • by user as in case of {@link org.geotools.jdbc.VirtualTable}
  • The extension point is used as follows:
  • {@code
  • featureTypeInitializers = GeoServerExtensions.extensions(FeatureTypeInitializer.class);
  • for(FeatureTypeInitializer fti : featureTypeInitializers){
  • if(fti.canHandle(info,dataAccess)){
  • fti.initialize(info,dataAccess);
  • }
  • }
  • @see {@link FeatureTypeInfo#getMetadata()}
  • @see {@link ResourcePool#getCacheableFeatureType}
  • @see {@link ResourcePool#getNonCacheableFeatureType}
    */
    public interface FeatureTypeInitializer {

/**

  • Checks if this initializer can handle the specified resource handle
    */
    boolean canHandle(FeatureTypeInfo info, DataAccess<? extends FeatureType, ? extends Feature> dataAccess);

/**

  • Initializes the specified feature type in the specified data access
    */
    void initialize(FeatureTypeInfo info, DataAccess<? extends FeatureType, ? extends Feature> dataAccess) throws IOException;

/**

  • Performs any cleanup necessary to clean up the layer from the specified store
    */
    void dispose(FeatureTypeInfo info, DataAccess<? extends FeatureType, ? extends Feature> dataAccess) throws IOException;

}

Any feedback?

I was planning to add this one along with the SOLR store UI on trunk, and I’m also interested
in the opportunity of backporting the same on 2.6.x, once the release is out.
Since it’s a new interface it should not cause backwards compatibility issues, please let me know what you think about it.

Cheers
Andrea

==

GeoServer Professional Services from the experts! Visit
http://goo.gl/NWWaa2 for more information.

==

Ing. Andrea Aime

@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy’s New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.



Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports
Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer
http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk


Geoserver-devel mailing list
Geoserver-devel@anonymised.comsts.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

On Wed, Sep 24, 2014 at 7:31 PM, Jody Garnett <jody.garnett@anonymised.com>
wrote:

+1 from me.

I would like to move some of the REST API hacks from 2.6.x into
ResourcePool (so we manage datastore caches in a consistent fashion).

Actually with that in mind, and seeing you have a dispose() hook, I
recommend:

abstract class FeatureTypeHelper {
  boolean canHandle( FeatureTypeInfo, DataAccess );
  void initialize( FeatureTypeInfo, DataAccess ); // Called before
FeatureTypeInfo accessed
  void flush( FeatureTypeInfo, DataAccess ); // Called before
ContentState.flush()
  void dispose( FeatureTypeInfo, DataAccess ); // Called before
DataAccess.dispose()
}

No issue with the new method, but I find the Helper suffix rather confusing
(helper? helping what? what if we need a different set of "helps" in the
future?)
We already have a number of "*Initializer" things in GeoServer that manage
lifecycle, so at least this would be in line with those.
At most, if we want to make it clear it's a lifecycle thing, it could be
named FeatureTypeLifecyleHandler (which would mimic the
existing naming in GeoServerLifecycleHandler)

ResourcePool is running around with a number of HashMaps that must be kept
in sync. Something the REST API has not always managed in a consistent
fashion with the GUI.

My concern is FeatureTypeHelper would be used to manage additional
external HashMaps outside of ResourcePool.

Q: Is it worth structuring ResourcePool a bit better and allowing it to
have a "user data" map? Or are DataStore implementations happy with
subclassing ContentState (managed by flush and dispose above).

This is not the same topic as a FeatureTypeInitializer, I'd recommend to
start a different
thread to avoid confusion and make sure that has its own funding/resourcing
to go with it.

Cheers
Andrea

--

GeoServer Professional Services from the experts! Visit
http://goo.gl/NWWaa2 for more information.

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

*AVVERTENZE AI SENSI DEL D.Lgs. 196/2003*

Le informazioni contenute in questo messaggio di posta elettronica e/o
nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il
loro utilizzo è consentito esclusivamente al destinatario del messaggio,
per le finalità indicate nel messaggio stesso. Qualora riceviate questo
messaggio senza esserne il destinatario, Vi preghiamo cortesemente di
darcene notizia via e-mail e di procedere alla distruzione del messaggio
stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso,
divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od
utilizzarlo per finalità diverse, costituisce comportamento contrario ai
principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for
the attention and use of the named addressee(s) and may be confidential or
proprietary in nature or covered by the provisions of privacy act
(Legislative Decree June, 30 2003, no.196 - Italy's New Data Protection
Code).Any use not in accord with its purpose, any disclosure, reproduction,
copying, distribution, or either dissemination, either whole or partial, is
strictly forbidden except previous formal approval of the named
addressee(s). If you are not the intended recipient, please contact
immediately the sender by telephone, fax or e-mail and delete the
information in this message that has been received in error. The sender
does not give any warranty or accept liability as the content, accuracy or
completeness of sent messages and accepts no responsibility for changes
made after they were sent or for other risks which arise as a result of
e-mail transmission, viruses, etc.

-------------------------------------------------------

On Wed, Sep 24, 2014 at 7:42 PM, Andrea Aime <andrea.aime@anonymised.com>
wrote:

My concern is FeatureTypeHelper would be used to manage additional

external HashMaps outside of ResourcePool.

Ah, to clarify, FeatureTypeInitializer is not meant to manage other
hashmaps (don't know which those might be), but to init the stores and
add the configured feature types into them (which would also serve a
purpose in the wfs + stored queries
case).
Of course, any extension point can be misused, but we cannot be held
responsible for what implementors would do with it.

Cheers
Andrea

--

GeoServer Professional Services from the experts! Visit
http://goo.gl/NWWaa2 for more information.

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

*AVVERTENZE AI SENSI DEL D.Lgs. 196/2003*

Le informazioni contenute in questo messaggio di posta elettronica e/o
nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il
loro utilizzo è consentito esclusivamente al destinatario del messaggio,
per le finalità indicate nel messaggio stesso. Qualora riceviate questo
messaggio senza esserne il destinatario, Vi preghiamo cortesemente di
darcene notizia via e-mail e di procedere alla distruzione del messaggio
stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso,
divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od
utilizzarlo per finalità diverse, costituisce comportamento contrario ai
principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for
the attention and use of the named addressee(s) and may be confidential or
proprietary in nature or covered by the provisions of privacy act
(Legislative Decree June, 30 2003, no.196 - Italy's New Data Protection
Code).Any use not in accord with its purpose, any disclosure, reproduction,
copying, distribution, or either dissemination, either whole or partial, is
strictly forbidden except previous formal approval of the named
addressee(s). If you are not the intended recipient, please contact
immediately the sender by telephone, fax or e-mail and delete the
information in this message that has been received in error. The sender
does not give any warranty or accept liability as the content, accuracy or
completeness of sent messages and accepts no responsibility for changes
made after they were sent or for other risks which arise as a result of
e-mail transmission, viruses, etc.

-------------------------------------------------------

Thanks for the clarification Andrea - I only mentioned ResourcePool HashMaps to introduce my concern about API abuse :slight_smile:

Initializer or Callback) - but if we already use Initializer then lets stick with that.

So the only useful feedback am left with is the difference between flush and dispose. As long as that difference is clear (and useful) we are good to go.

···

Jody Garnett

On Wed, Sep 24, 2014 at 10:47 AM, Andrea Aime <andrea.aime@anonymised.com> wrote:

On Wed, Sep 24, 2014 at 7:42 PM, Andrea Aime <andrea.aime@anonymised.com> wrote:

Ah, to clarify, FeatureTypeInitializer is not meant to manage other hashmaps (don’t know which those might be), but to init the stores and
add the configured feature types into them (which would also serve a purpose in the wfs + stored queries
case).
Of course, any extension point can be misused, but we cannot be held responsible for what implementors would do with it.

Cheers

Andrea

==

GeoServer Professional Services from the experts! Visit
http://goo.gl/NWWaa2 for more information.

==

Ing. Andrea Aime

@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy’s New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.


My concern is FeatureTypeHelper would be used to manage additional external HashMaps outside of ResourcePool.

On Wed, Sep 24, 2014 at 8:04 PM, Jody Garnett <jody.garnett@anonymised.com>
wrote:

Thanks for the clarification Andrea - I only mentioned ResourcePool
HashMaps to introduce my concern about API abuse :slight_smile:

Initializer or Callback) - but if we already use Initializer then lets
stick with that.

I'm happy with both.
Where's "Mr Name It" when we need him? Justiiiin? :-p

So the only useful feedback am left with is the difference between flush
and dispose. As long as that difference is clear (and useful) we are good
to go.

Yep, I'll integrate those in the interface, I don't see any direct use of
flush today, but it seems that we might need it in the future

Cheers
Andrea

--

GeoServer Professional Services from the experts! Visit
http://goo.gl/NWWaa2 for more information.

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

*AVVERTENZE AI SENSI DEL D.Lgs. 196/2003*

Le informazioni contenute in questo messaggio di posta elettronica e/o
nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il
loro utilizzo è consentito esclusivamente al destinatario del messaggio,
per le finalità indicate nel messaggio stesso. Qualora riceviate questo
messaggio senza esserne il destinatario, Vi preghiamo cortesemente di
darcene notizia via e-mail e di procedere alla distruzione del messaggio
stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso,
divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od
utilizzarlo per finalità diverse, costituisce comportamento contrario ai
principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for
the attention and use of the named addressee(s) and may be confidential or
proprietary in nature or covered by the provisions of privacy act
(Legislative Decree June, 30 2003, no.196 - Italy's New Data Protection
Code).Any use not in accord with its purpose, any disclosure, reproduction,
copying, distribution, or either dissemination, either whole or partial, is
strictly forbidden except previous formal approval of the named
addressee(s). If you are not the intended recipient, please contact
immediately the sender by telephone, fax or e-mail and delete the
information in this message that has been received in error. The sender
does not give any warranty or accept liability as the content, accuracy or
completeness of sent messages and accepts no responsibility for changes
made after they were sent or for other risks which arise as a result of
e-mail transmission, viruses, etc.

-------------------------------------------------------

On Wed, Sep 24, 2014 at 8:20 PM, Andrea Aime <andrea.aime@anonymised.com>
wrote:

Yep, I'll integrate those in the interface, I don't see any direct use of
flush today, but it seems that we might need it in the future

Pull request for feature type initializer and SORL data store integration
here:

In particular the feature type initializer bit is here:
https://github.com/aaime/geoserver/commit/7287b3068f89f1eb032b3784c75cc055cc0a4aea

As you can see I had to add also a temporary name to the init calls to
preserve a pre-existing and
important currectness/performance optimization for virtual tables
(basically it avoids us from gathering
over and over the virtual table metadata when doing requests).

Cheers
Andrea

--

GeoServer Professional Services from the experts! Visit
http://goo.gl/NWWaa2 for more information.

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

*AVVERTENZE AI SENSI DEL D.Lgs. 196/2003*

Le informazioni contenute in questo messaggio di posta elettronica e/o
nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il
loro utilizzo è consentito esclusivamente al destinatario del messaggio,
per le finalità indicate nel messaggio stesso. Qualora riceviate questo
messaggio senza esserne il destinatario, Vi preghiamo cortesemente di
darcene notizia via e-mail e di procedere alla distruzione del messaggio
stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso,
divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od
utilizzarlo per finalità diverse, costituisce comportamento contrario ai
principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for
the attention and use of the named addressee(s) and may be confidential or
proprietary in nature or covered by the provisions of privacy act
(Legislative Decree June, 30 2003, no.196 - Italy's New Data Protection
Code).Any use not in accord with its purpose, any disclosure, reproduction,
copying, distribution, or either dissemination, either whole or partial, is
strictly forbidden except previous formal approval of the named
addressee(s). If you are not the intended recipient, please contact
immediately the sender by telephone, fax or e-mail and delete the
information in this message that has been received in error. The sender
does not give any warranty or accept liability as the content, accuracy or
completeness of sent messages and accepts no responsibility for changes
made after they were sent or for other risks which arise as a result of
e-mail transmission, viruses, etc.

-------------------------------------------------------

On Wed, Sep 24, 2014 at 11:20 AM, Andrea Aime <andrea.aime@anonymised.com>
wrote:

On Wed, Sep 24, 2014 at 8:04 PM, Jody Garnett <jody.garnett@anonymised.com>
wrote:

Thanks for the clarification Andrea - I only mentioned ResourcePool
HashMaps to introduce my concern about API abuse :slight_smile:

Initializer or Callback) - but if we already use Initializer then lets
stick with that.

I'm happy with both.
Where's "Mr Name It" when we need him? Justiiiin? :-p

Haha, sorry, just catching up on this thread. I am fine with either name. I
would say Callback is more appropriate since it seems to be invoked during
creation and disposal.

Another one might be "Processor" since this kind of resembles the spring
"BeanProcessor" interface. Whatever you guys decide works for me.

So the only useful feedback am left with is the difference between flush
and dispose. As long as that difference is clear (and useful) we are good
to go.

Yep, I'll integrate those in the interface, I don't see any direct use of
flush today, but it seems that we might need it in the future

Cheers
Andrea

--

GeoServer Professional Services from the experts! Visit
http://goo.gl/NWWaa2 for more information.

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

*AVVERTENZE AI SENSI DEL D.Lgs. 196/2003*

Le informazioni contenute in questo messaggio di posta elettronica e/o
nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il
loro utilizzo è consentito esclusivamente al destinatario del messaggio,
per le finalità indicate nel messaggio stesso. Qualora riceviate questo
messaggio senza esserne il destinatario, Vi preghiamo cortesemente di
darcene notizia via e-mail e di procedere alla distruzione del messaggio
stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso,
divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od
utilizzarlo per finalità diverse, costituisce comportamento contrario ai
principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for
the attention and use of the named addressee(s) and may be confidential or
proprietary in nature or covered by the provisions of privacy act
(Legislative Decree June, 30 2003, no.196 - Italy's New Data Protection
Code).Any use not in accord with its purpose, any disclosure, reproduction,
copying, distribution, or either dissemination, either whole or partial, is
strictly forbidden except previous formal approval of the named
addressee(s). If you are not the intended recipient, please contact
immediately the sender by telephone, fax or e-mail and delete the
information in this message that has been received in error. The sender
does not give any warranty or accept liability as the content, accuracy or
completeness of sent messages and accepts no responsibility for changes
made after they were sent or for other risks which arise as a result of
e-mail transmission, viruses, etc.

-------------------------------------------------------

------------------------------------------------------------------------------
Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports
Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer

http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk
_______________________________________________
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

--
Justin Deoliveira
VP Engineering | Boundless <http://boundlessgeo.com/&gt;
jdeolive@anonymised.com
@boundlessgeo <http://twitter.com/boundlessgeo/&gt;