[Geoserver-devel] mountBookmarkablePage with own plugin?

Dear Developers!

I’m developing a plugin for GeoServer. There would be a bunch of webservices that a QGIS plugin would call through URLs.
My problem is, that I would like to call these services with “human-readable” urls, and not with the “wicket-interface” ones.

Is there a way for using something like mountBookmarkablePage() within my plugin?

Example:
I have created a service which works well when I call
http://localhost:9090/geoserver/web/?wicket:interface=:4:loginValidate::ILinkListener::&username=admin&password=geoserver

But the “wicket:interface=:4:” can vary in time, and therefore I cannot hard-code into the QGIS plugin this url. Creating a bookmarkable page would be optimal, this would look somewhat like this:

http://localhost:9090/geoserver/web/validateLogin?username=admin&password=geoserver

My problem is, that for doint that I have to modifiy the GeoServerApplication.java at org.geoserver.web like this:

import services.ValidateLogin;

protected void init() {

mountBookmarkablePage(“/validateLogin”, ValidateLogin.class);


}

But I would like to avoid modifying that class since I only would like to create a plugin, not to compile the whole GeoServer project.

Any help is highly appreciated!

Best
Gergely

Unless your client is using a web browser (which it doesn’t sound like is the case), I don’t think Wicket is the right place for you to plugin. My recommendation would be to plugin in the same way other restful type services do.

You’ll find lots of examples of this in the code base. On is in the importer-rest module.

https://github.com/geoserver/geoserver/tree/master/src/extension/importer/rest

Hope that helps.

-Justin

···

On Wed, Oct 8, 2014 at 3:23 AM, Gergely Padányi-Gulyás <fegyi001@anonymised.com3…> wrote:

Dear Developers!

I’m developing a plugin for GeoServer. There would be a bunch of webservices that a QGIS plugin would call through URLs.
My problem is, that I would like to call these services with “human-readable” urls, and not with the “wicket-interface” ones.

Is there a way for using something like mountBookmarkablePage() within my plugin?

Example:
I have created a service which works well when I call
http://localhost:9090/geoserver/web/?wicket:interface=:4:loginValidate::ILinkListener::&username=admin&password=geoserver

But the “wicket:interface=:4:” can vary in time, and therefore I cannot hard-code into the QGIS plugin this url. Creating a bookmarkable page would be optimal, this would look somewhat like this:

http://localhost:9090/geoserver/web/validateLogin?username=admin&password=geoserver

My problem is, that for doint that I have to modifiy the GeoServerApplication.java at org.geoserver.web like this:

import services.ValidateLogin;

protected void init() {

mountBookmarkablePage(“/validateLogin”, ValidateLogin.class);


}

But I would like to avoid modifying that class since I only would like to create a plugin, not to compile the whole GeoServer project.

Any help is highly appreciated!

Best

Gergely


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

Justin Deoliveira
VP Engineering | Boundless
jdeolive@anonymised.com
@boundlessgeo