Class AbstractWebConsolePlugin

  • All Implemented Interfaces:
    Serializable, Servlet, ServletConfig
    Direct Known Subclasses:
    SimpleWebConsolePlugin

    @Deprecated(since="2021-04-30")
    public abstract class AbstractWebConsolePlugin
    extends HttpServlet
    Deprecated.
    The Apache Felix Webconsole is not supported in Cloud environments.
    The Web Console can be extended by registering an OSGi service for the interface Servlet with the service property felix.webconsole.label set to the label (last segment in the URL) of the page. The respective service is called a Web Console Plugin or a plugin for short. To help rendering the response the Apache Felix Web Console bundle provides two options. One of the options is to extend the AbstractWebConsolePlugin overwriting the renderContent(HttpServletRequest, HttpServletResponse) method.
    See Also:
    Serialized Form
    • Field Detail

      • ATTR_FILEUPLOAD

        public static final String ATTR_FILEUPLOAD
        Deprecated.
        The name of the request attribute containing the map of FileItems from the POST request
        See Also:
        Constant Field Values
      • ATTR_FILEUPLOAD_REPO

        public static final String ATTR_FILEUPLOAD_REPO
        Deprecated.
        The name of the request attribute containing a File - upload repository path used by DiskFileItemFactory.

        The Web Console plugin, that utilizes file upload capabilities of the web console SHOULD:

        1. Obtain the file using BundleContext.getDataFile(String)
        2. Set the file as request attribute
        3. Use WebConsoleUtil.getParameter(HttpServletRequest, String) to obtain the file(s)
        Without setting this attribute, your plugin will not work if there is a security manager enabled. It is guaranteed, that your plugin has permissions to read/write/delete files to the location, provided by the bundle context.
        See Also:
        Constant Field Values
      • GET_RESOURCE_METHOD_NAME

        public static final String GET_RESOURCE_METHOD_NAME
        Deprecated.
        Web Console Plugin typically consists of servlet and resources such as images, scripts or style sheets. To load resources, a Resource Provider is used. The resource provider is an object, that provides a method which name is specified by this constants and it is 'getResource'.
        See Also:
        getResourceProvider(), Constant Field Values
    • Constructor Detail

      • AbstractWebConsolePlugin

        public AbstractWebConsolePlugin()
        Deprecated.
    • Method Detail

      • getCategory

        public String getCategory()
        Deprecated.
        This method should return category string which will be used to render the plugin in the navigation menu. Default implementation returns null, which will result in the plugin link rendered as top level menu item. Concrete implementations wishing to be rendered as a sub-menu item under a category should override this method and return a string or define felix.webconsole.category OSGi property. Currently only single level categories are supported. So, this should be a simple String.
        Returns:
        category
      • activate

        public void activate​(BundleContext bundleContext)
        Deprecated.
        This method is called from the Felix Web Console to ensure the AbstractWebConsolePlugin is correctly setup. It is called right after the Web Console receives notification for plugin registration.
        Parameters:
        bundleContext - the context of the plugin bundle
      • deactivate

        public void deactivate()
        Deprecated.
        This method is called, by the Web Console to de-activate the plugin and release all used resources.
      • getLabel

        public abstract String getLabel()
        Deprecated.
        Retrieves the label. This is the last component in the servlet path. This method MUST be overridden, if the AbstractWebConsolePlugin() constructor is used.
        Returns:
        the label.
      • getTitle

        public abstract String getTitle()
        Deprecated.
        Retrieves the title of the plug-in. It is displayed in the page header and is also included in the title of the HTML document. This method MUST be overridden, if the AbstractWebConsolePlugin() constructor is used.
        Returns:
        the plugin title.
      • getBundle

        public final Bundle getBundle()
        Deprecated.
        Returns the Bundle pertaining to the bundle context with which this plugin has been activated. If the plugin has not be activated by calling the activate(BundleContext) method, this method returns null.
        Returns:
        the bundle or null if the plugin is not activated.
      • log

        public void log​(int level,
                        String message)
        Deprecated.
        Calls the ServletContext.log(String) method if the configured log level is less than or equal to the given level.

        Note, that the level paramter is only used to decide whether the GenericServlet.log(String) method is called or not. The actual implementation of the GenericServlet.log method is outside of the control of this method.

        If the servlet has not been initialized yet or has already been destroyed the message is printed to stderr.

        Parameters:
        level - The log level at which to log the message
        message - The message to log
      • log

        public void log​(int level,
                        String message,
                        Throwable t)
        Deprecated.
        Calls the ServletContext.log(String, Throwable) method if the configured log level is less than or equal to the given level.

        Note, that the level paramter is only used to decide whether the GenericServlet.log(String, Throwable) method is called or not. The actual implementation of the GenericServlet.log method is outside of the control of this method.

        Parameters:
        level - The log level at which to log the message
        message - The message to log
        t - The Throwable to log with the message
      • getParameter

        public static final String getParameter​(HttpServletRequest request,
                                                String name)
        An utility method, that is used to filter out simple parameter from file parameter when multipart transfer encoding is used. This method processes the request and sets a request attribute ATTR_FILEUPLOAD. The attribute value is a Map where the key is a String specifying the field name and the value is a FileItem.
        Parameters:
        request - the HTTP request coming from the user
        name - the name of the parameter
        Returns:
        if not multipart transfer encoding is used - the value is the parameter value or null if not set. If multipart is used, and the specified parameter is field - then the value of the parameter is returned.
      • getBrandingPlugin

        public static BrandingPlugin getBrandingPlugin()
        Deprecated.
        Returns the BrandingPlugin currently used for web console branding.
        Returns:
        the brandingPlugin
      • setBrandingPlugin

        public static final void setBrandingPlugin​(BrandingPlugin brandingPlugin)
        Deprecated.
        Sets the BrandingPlugin to use globally by all extensions of this class for branding.

        Note: This method is intended to be used internally by the Web Console to update the branding plugin to use.

        Parameters:
        brandingPlugin - the brandingPlugin to set
      • setLogLevel

        public static final void setLogLevel​(int logLevel)
        Deprecated.
        Sets the log level to be applied for calls to the log(int, String) and log(int, String, Throwable) methods.

        Note: This method is intended to be used internally by the Web Console to update the log level according to the Web Console configuration.

        Parameters:
        logLevel - the maximum allowed log level. If message is logged with lower level it will not be forwarded to the logger.