Hi,

I am currently investigating the possibility to introduce the geostyler
community extension into the different styling tabs.

At the moment, the extension hooks into the styling UI by creating a new
separate tab through the usage of the class
`org.geoserver.wms.web.data.StyleEditTabPanelInfo`.

This solution is not ideal, as the extension (and maybe other extensions
as well) is not really integrated / directly next to the sld editor.

Please have a look at this screenshot to get an idea what i intend to
do:
https://github.com/geostyler/geostyler/discussions/1324#discussioncomment-357127

I am still trying to figure out what other options there are, but it
seems at least for the styling there is no way of having a custom class
injected into the AbstractStylePage, which seems to be the right entry
point as it is the parent of all styling tabs.

My current solution makes minor changes to that class
(src/web/wms/src/main/java/org/geoserver/wms/web/data/AbstractStylePage.java):

WebMarkupContainer styleComponents = new
WebMarkupContainer("styleComponents");
styleComponents.setOutputMarkupId(true);
List<StyleComponentInfo> compInfo = 
getGeoServerApplication().getBeansOfType(StyleComponentInfo.class);
for (StyleComponentInfo comp: compInfo) {
    try {
        Component c = (Component)
comp.getComponentClass().getConstructor(String.class,
AbstractStylePage.class)
            .newInstance(comp.getId(), this);
        styleComponents.add(c);
    } catch (Exception e) {
        throw new WicketRuntimeException(e);
    }
}
styleForm.add(styleComponents);


That way i am able to inject my own extension class in the right spot.
But as this changes code in the core, i fear this may not be the way to go.

Are there any other ways to reach my goal and if not, do you see chances
that this change may get into the core when the usual requirements for
such a PR are met?


Thanks in advance!


Johannes Weskamm




_______________________________________________
Geoserver-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

Reply via email to