org.apache.felix.webconsole.internal.core
Class BundlesServlet

java.lang.Object
  extended by javax.servlet.GenericServlet
      extended by javax.servlet.http.HttpServlet
          extended by org.apache.felix.webconsole.AbstractWebConsolePlugin
              extended by org.apache.felix.webconsole.SimpleWebConsolePlugin
                  extended by org.apache.felix.webconsole.internal.core.BundlesServlet
All Implemented Interfaces:
Serializable, Servlet, ServletConfig, ConfigurationPrinter, OsgiManagerPlugin

public class BundlesServlet
extends SimpleWebConsolePlugin
implements OsgiManagerPlugin, ConfigurationPrinter

The BundlesServlet provides the bundles plugins, used to display the list of bundles, installed on the framework. It also adds ability to control the lifecycle of the bundles, like start, stop, uninstall, install.

See Also:
Serialized Form

Field Summary
static String NAME
          the label of the bundles plugin - used by other plugins to reference to plugin details
 
Fields inherited from class org.apache.felix.webconsole.AbstractWebConsolePlugin
ATTR_FILEUPLOAD, GET_RESOURCE_METHOD_NAME
 
Fields inherited from interface org.apache.felix.webconsole.ConfigurationPrinter
MODE_ALWAYS, MODE_TXT, MODE_WEB, MODE_ZIP, PROPERTY_MODES, SERVICE
 
Constructor Summary
BundlesServlet()
          Default constructor
 
Method Summary
 void activate(BundleContext bundleContext)
          This method is called from the Felix Web Console to ensure the AbstractWebConsolePlugin is correctly setup.
 void deactivate()
          This method will close all service trackers, created by SimpleWebConsolePlugin.getService(String) method.
protected  void doGet(HttpServletRequest request, HttpServletResponse response)
          Renders the web console page for the request.
protected  void doPost(HttpServletRequest req, HttpServletResponse resp)
          Called by the server (via the service method) to allow a servlet to handle a POST request.
 void printConfiguration(PrintWriter pw)
          Prints the configuration report to the given printWriter.
protected  void renderContent(HttpServletRequest request, HttpServletResponse response)
          This method is used to render the content of the plug-in.
 
Methods inherited from class org.apache.felix.webconsole.SimpleWebConsolePlugin
getCssReferences, getLabel, getResource, getService, getTitle, register, unregister
 
Methods inherited from class org.apache.felix.webconsole.AbstractWebConsolePlugin
endResponse, getBrandingPlugin, getBundle, getBundleContext, getParameter, getResourceProvider, getServletName, isHtmlRequest, log, log, readTemplateFile, renderTopNavigation, sendRedirect, setBrandingPlugin, setLogLevel, startResponse
 
Methods inherited from class javax.servlet.http.HttpServlet
doDelete, doHead, doOptions, doPut, doTrace, getLastModified, service, service
 
Methods inherited from class javax.servlet.GenericServlet
destroy, getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, init, init, log, log
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.felix.webconsole.ConfigurationPrinter
getTitle
 

Field Detail

NAME

public static final String NAME
the label of the bundles plugin - used by other plugins to reference to plugin details

See Also:
Constant Field Values
Constructor Detail

BundlesServlet

public BundlesServlet()
Default constructor

Method Detail

activate

public void activate(BundleContext bundleContext)
Description copied from class: AbstractWebConsolePlugin
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.

Specified by:
activate in interface OsgiManagerPlugin
Overrides:
activate in class AbstractWebConsolePlugin
Parameters:
bundleContext - the context of the plugin bundle
See Also:
AbstractWebConsolePlugin.activate(org.osgi.framework.BundleContext)

deactivate

public void deactivate()
Description copied from class: SimpleWebConsolePlugin
This method will close all service trackers, created by SimpleWebConsolePlugin.getService(String) method. If you override this method, don't forget to call the super.

Specified by:
deactivate in interface OsgiManagerPlugin
Overrides:
deactivate in class SimpleWebConsolePlugin
See Also:
SimpleWebConsolePlugin.deactivate()

printConfiguration

public void printConfiguration(PrintWriter pw)
Description copied from interface: ConfigurationPrinter
Prints the configuration report to the given printWriter. Implementations are free to print whatever information they deem useful.

Specified by:
printConfiguration in interface ConfigurationPrinter
Parameters:
pw - where to write the configuration data. It might be flushed, but must not be closed.
See Also:
ConfigurationPrinter.printConfiguration(java.io.PrintWriter)

doGet

protected void doGet(HttpServletRequest request,
                     HttpServletResponse response)
              throws ServletException,
                     IOException
Description copied from class: AbstractWebConsolePlugin
Renders the web console page for the request. This consist of the following five parts called in order:
  1. Send back a requested resource
  2. AbstractWebConsolePlugin.startResponse(HttpServletRequest, HttpServletResponse)
  3. AbstractWebConsolePlugin.renderTopNavigation(HttpServletRequest, PrintWriter)
  4. AbstractWebConsolePlugin.renderContent(HttpServletRequest, HttpServletResponse)
  5. AbstractWebConsolePlugin.endResponse(PrintWriter)

Note: If a resource is sent back for the request only the first step is executed. Otherwise the first step is a null-operation actually and the latter four steps are executed in order.

Overrides:
doGet in class AbstractWebConsolePlugin
Parameters:
request - an HttpServletRequest object that contains the request the client has made of the servlet
response - an HttpServletResponse object that contains the response the servlet sends to the client
Throws:
ServletException - if the request for the GET could not be handled
IOException - if an input or output error is detected when the servlet handles the GET request
See Also:
AbstractWebConsolePlugin.doGet(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)

doPost

protected void doPost(HttpServletRequest req,
                      HttpServletResponse resp)
               throws ServletException,
                      IOException
Description copied from class: HttpServlet
Called by the server (via the service method) to allow a servlet to handle a POST request. The HTTP POST method allows the client to send data of unlimited length to the Web server a single time and is useful when posting information such as credit card numbers.

When overriding this method, read the request data, write the response headers, get the response's writer or output stream object, and finally, write the response data. It's best to include content type and encoding. When using a PrintWriter object to return the response, set the content type before accessing the PrintWriter object.

The servlet container must write the headers before committing the response, because in HTTP the headers must be sent before the response body.

Where possible, set the Content-Length header (with the ServletResponse.setContentLength(int) method), to allow the servlet container to use a persistent connection to return its response to the client, improving performance. The content length is automatically set if the entire response fits inside the response buffer.

When using HTTP 1.1 chunked encoding (which means that the response has a Transfer-Encoding header), do not set the Content-Length header.

This method does not need to be either safe or idempotent. Operations requested through POST can have side effects for which the user can be held accountable, for example, updating stored data or buying items online.

If the HTTP POST request is incorrectly formatted, doPost returns an HTTP "Bad Request" message.

Overrides:
doPost in class HttpServlet
Parameters:
req - an HttpServletRequest object that contains the request the client has made of the servlet
resp - an HttpServletResponse object that contains the response the servlet sends to the client
Throws:
ServletException - if the request for the POST could not be handled
IOException - if an input or output error is detected when the servlet handles the request
See Also:
HttpServlet.doPost(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)

renderContent

protected void renderContent(HttpServletRequest request,
                             HttpServletResponse response)
                      throws IOException,
                             ServletException
Description copied from class: AbstractWebConsolePlugin
This method is used to render the content of the plug-in. It is called internally from the Web Console.

Specified by:
renderContent in class AbstractWebConsolePlugin
Parameters:
request - the HTTP request send from the user
response - the HTTP response object, where to render the plugin data.
Throws:
IOException - if an input or output error is detected when the servlet handles the request
ServletException - if the request for the GET could not be handled
See Also:
AbstractWebConsolePlugin.renderContent(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)


Copyright © 2013 The Apache Software Foundation. All Rights Reserved.