de.deepamehta.core.impl
Class WebPublishingService

Show UML class diagram
java.lang.Object
  extended by de.deepamehta.core.impl.WebPublishingService

public class WebPublishingService
extends Object


Nested Class Summary
private  class WebPublishingService.BundleHTTPContext
           
private  class WebPublishingService.DirectoryHTTPContext
           
 
Field Summary
private  int classCount
           
private  EmbeddedService dms
           
private  HttpService httpService
           
private  boolean isJerseyServletRegistered
           
private  com.sun.jersey.api.core.ResourceConfig jerseyApplication
           
private  com.sun.jersey.spi.container.servlet.ServletContainer jerseyServlet
           
private  Logger logger
           
private static String ROOT_APPLICATION_PATH
           
private  int singletonCount
           
 
Constructor Summary
WebPublishingService(EmbeddedService dms, HttpService httpService)
           
 
Method Summary
private  void addToApplication(RestResources restResources)
           
private  Set<Class<?>> getClasses()
           
private  Set<Object> getSingletons()
           
(package private)  String getUriNamespace(Object object)
           
private  boolean hasRootResources()
           
(package private)  boolean isRootResource(Object object)
           
private  void logResourceInfo()
           
(package private)  RestResources publishRestResources(List<Object> singletons, List<Class<?>> classes)
          Publishes REST resources.
(package private)  StaticResources publishStaticResources(Bundle bundle, String uriNamespace)
          Publishes the static resources of the given bundle's /web directory.
(package private)  StaticResources publishStaticResources(String directoryPath, String uriNamespace, SecurityHandler securityHandler)
          Publishes a directory of the server's file system.
private  void registerJerseyServlet()
           
private  void reloadJerseyServlet()
           
private  void removeFromApplication(RestResources restResources)
           
private  boolean resourceRequestFilter(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
           
private  void sendError(javax.servlet.http.HttpServletResponse servletResponse, javax.ws.rs.core.Response response)
           
(package private)  void unpublishRestResources(RestResources restResources)
           
(package private)  void unpublishStaticResources(StaticResources staticResources)
           
private  void unregisterJerseyServlet()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ROOT_APPLICATION_PATH

private static final String ROOT_APPLICATION_PATH
See Also:
Constant Field Values

jerseyApplication

private com.sun.jersey.api.core.ResourceConfig jerseyApplication

classCount

private int classCount

singletonCount

private int singletonCount

jerseyServlet

private com.sun.jersey.spi.container.servlet.ServletContainer jerseyServlet

isJerseyServletRegistered

private boolean isJerseyServletRegistered

httpService

private HttpService httpService

dms

private EmbeddedService dms

logger

private Logger logger
Constructor Detail

WebPublishingService

public WebPublishingService(EmbeddedService dms,
                            HttpService httpService)
Method Detail

publishStaticResources

StaticResources publishStaticResources(Bundle bundle,
                                       String uriNamespace)
Publishes the static resources of the given bundle's /web directory.


unpublishStaticResources

void unpublishStaticResources(StaticResources staticResources)

publishStaticResources

StaticResources publishStaticResources(String directoryPath,
                                       String uriNamespace,
                                       SecurityHandler securityHandler)
Publishes a directory of the server's file system.


publishRestResources

RestResources publishRestResources(List<Object> singletons,
                                   List<Class<?>> classes)
Publishes REST resources. This is done by adding JAX-RS root resource and provider classes/singletons to the Jersey application and reloading the Jersey servlet.

Note: synchronizing this method prevents creation of multiple Jersey servlet instances due to parallel plugin initialization.

Parameters:
singletons - the set of root resource and provider singletons, may be empty.
classes - the set of root resource and provider classes, may be empty.

unpublishRestResources

void unpublishRestResources(RestResources restResources)

isRootResource

boolean isRootResource(Object object)

getUriNamespace

String getUriNamespace(Object object)

addToApplication

private void addToApplication(RestResources restResources)

removeFromApplication

private void removeFromApplication(RestResources restResources)

hasRootResources

private boolean hasRootResources()

logResourceInfo

private void logResourceInfo()

getClasses

private Set<Class<?>> getClasses()

getSingletons

private Set<Object> getSingletons()

registerJerseyServlet

private void registerJerseyServlet()

unregisterJerseyServlet

private void unregisterJerseyServlet()

reloadJerseyServlet

private void reloadJerseyServlet()

resourceRequestFilter

private boolean resourceRequestFilter(javax.servlet.http.HttpServletRequest request,
                                      javax.servlet.http.HttpServletResponse response)
                               throws IOException
Throws:
IOException

sendError

private void sendError(javax.servlet.http.HttpServletResponse servletResponse,
                       javax.ws.rs.core.Response response)
                throws IOException
Throws:
IOException


Copyright © 2014. All Rights Reserved.