private PluginMetadata getPluginMetadataFromPath(final String pathInfo) {
        final String pluginName = pathInfo.split("/")[1];
        return XMPPServer.getInstance().getPluginManager().getMetadata(pluginName);
    }
The plugin servlet acts as a proxy for web requests (in the admin console)
to plugins. Since plugins can be dynamically loaded and live in a different place
than normal Openfire admin console files, it's not possible to have them
added to the normal Openfire admin console web app directory.
<p>
The servlet listens for requests in the form {@code /plugins/[pluginName]/[JSP File]}
(e.g. {@code /plugins/foo/example.jsp}). It also listens for non JSP requests in the
form like {@code /plugins/[pluginName]/images/*.png|gif},
{@code /plugins/[pluginName]/scripts/*.js|css} or
{@code /plugins/[pluginName]/styles/*.css} (e.g.
{@code /plugins/foo/images/example.gif}).
</p>
JSP files must be compiled and available via the plugin's class loader. The mapping
between JSP name and servlet class files is defined in [pluginName]/web/web.xml.
Typically, this file is auto-generated by the JSP compiler when packaging the plugin.

@author Matt Tucker
xmppserver/src/main/java/org/jivesoftware/openfire/container/PluginServlet.java