Package jadex.extension.rs.publish
Class AbstractRestServicePublishService
- java.lang.Object
- 
- jadex.extension.rs.publish.AbstractRestServicePublishService
 
- 
- All Implemented Interfaces:
- IPublishService,- IWebPublishService
 - Direct Known Subclasses:
- GrizzlyRestServicePublishService
 
 public abstract class AbstractRestServicePublishService extends java.lang.Object implements IWebPublishService The default web service publish service. Publishes web services using the JDK Endpoint class.
- 
- 
Field SummaryFields Modifier and Type Field Description protected IInternalAccesscomponentThe component.static javax.ws.rs.core.MediaType[]DEFAULT_FORMATSThe default media formats.static java.lang.StringFORMATSConstant for String[] for supported parameter media types.static java.lang.StringGENERATEConstant for boolean flag if automatic generation should be used.static java.lang.StringGENERATE_INFOConstant for boolean.protected IRestMethodGeneratorgeneratorThe generator.static java.lang.StringJADEXSERVICEThe service constant.protected LRU<Tuple2<java.lang.Class<?>,java.lang.Class<?>>,java.lang.Class<?>>proxyclassesThe proxy classes.- 
Fields inherited from interface jadex.bridge.service.types.publish.IPublishServiceDEFAULT_RSPUBLISH_COMPONENTS, PUBLISH_RS, PUBLISH_WS
 
- 
 - 
Constructor SummaryConstructors Constructor Description AbstractRestServicePublishService()Create a new publish service.AbstractRestServicePublishService(IRestMethodGenerator generator)Create a new publish service.
 - 
Method SummaryAll Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected java.lang.IntegeraddMapping(java.lang.String url, java.lang.String name, java.lang.String target, java.lang.String cookie)protected java.lang.Class<?>createProxyClass(IServiceIdentifier serviceid, java.lang.ClassLoader classloader, java.lang.Class<?> baseclass, java.util.Map<java.lang.String,java.lang.Object> mapprops, java.util.List<RestMethodInfo> geninfos)Create a service proxy class.static byte[]digest(byte[] input)Build the digest given the timestamp and password.static byte[]digest(java.lang.String input)Build the digest given the timestamp and password.protected java.lang.Class<?>getProxyClass(IServiceIdentifier serviceid, java.lang.ClassLoader classloader, java.lang.Class<?> baseclass, java.util.Map<java.lang.String,java.lang.Object> mapprops)Get or generate a proxy class.java.lang.ObjectgetServiceInfo(java.lang.Object[] params, java.lang.String sig)Functionality blueprint for get service info web method.static java.lang.Stringhex(byte[] data)Convert to hex value.java.lang.VoidinitWebProxyRefresh(java.lang.String url, java.lang.String name, java.lang.String target, java.lang.String user, java.lang.String pass, IServiceIdentifier sid)abstract voidinternalPublishService(java.net.URI uri, org.glassfish.jersey.server.ResourceConfig rc, IServiceIdentifier sid, PublishInfo info)java.lang.Objectinvoke(java.lang.Object[] params, java.lang.String sig)Method that is invoked when rest service is called.abstract booleanisPublished(IServiceIdentifier sid)Test if a service is published.IFuture<java.lang.Boolean>isSupported(java.lang.String publishtype)Test if publishing a specific type is supported (e.g.protected java.lang.Stringlogin(java.lang.String url, java.lang.String user, java.lang.String pass)protected java.util.Map<java.lang.String,java.lang.String>parseHeader(java.lang.String header, java.lang.String delims)Convert header to key value pairs.abstract IFuture<java.lang.Void>publishExternal(java.net.URI uri, java.lang.String rootpath)Publish file resources from the file system.abstract IFuture<java.lang.Void>publishHMTLPage(java.lang.String uri, java.lang.String vhost, java.lang.String html)Publish an html page.abstract IFuture<java.lang.Void>publishResources(java.lang.String uri, java.lang.String path)Publish resources via a rel jar path.IFuture<java.lang.Void>publishService(IServiceIdentifier serviceid, PublishInfo pi)Publish a service.abstract IFuture<java.lang.Void>unpublishService(IServiceIdentifier sid)Unpublish a service.
 
- 
- 
- 
Field Detail- 
GENERATEpublic static final java.lang.String GENERATE Constant for boolean flag if automatic generation should be used.- See Also:
- Constant Field Values
 
 - 
FORMATSpublic static final java.lang.String FORMATS Constant for String[] for supported parameter media types.- See Also:
- Constant Field Values
 
 - 
GENERATE_INFOpublic static final java.lang.String GENERATE_INFO Constant for boolean.- See Also:
- Constant Field Values
 
 - 
DEFAULT_FORMATSpublic static final javax.ws.rs.core.MediaType[] DEFAULT_FORMATS The default media formats.
 - 
JADEXSERVICEpublic static final java.lang.String JADEXSERVICE The service constant.- See Also:
- Constant Field Values
 
 - 
componentprotected IInternalAccess component The component.
 - 
generatorprotected IRestMethodGenerator generator The generator.
 
- 
 - 
Constructor Detail- 
AbstractRestServicePublishServicepublic AbstractRestServicePublishService() Create a new publish service.
 - 
AbstractRestServicePublishServicepublic AbstractRestServicePublishService(IRestMethodGenerator generator) Create a new publish service.
 
- 
 - 
Method Detail- 
isSupportedpublic IFuture<java.lang.Boolean> isSupported(java.lang.String publishtype) Test if publishing a specific type is supported (e.g. web service).- Specified by:
- isSupportedin interface- IPublishService
- Parameters:
- publishtype- The type to test.
- Returns:
- True, if can be published.
 
 - 
getProxyClassprotected java.lang.Class<?> getProxyClass(IServiceIdentifier serviceid, java.lang.ClassLoader classloader, java.lang.Class<?> baseclass, java.util.Map<java.lang.String,java.lang.Object> mapprops) throws java.lang.Exception Get or generate a proxy class.- Throws:
- java.lang.Exception
 
 - 
publishServicepublic IFuture<java.lang.Void> publishService(IServiceIdentifier serviceid, PublishInfo pi) Publish a service.- Specified by:
- publishServicein interface- IPublishService
- Parameters:
- cl- The classloader.
- service- The original service.
- pid- The publish id (e.g. url or name).
 
 - 
unpublishServicepublic abstract IFuture<java.lang.Void> unpublishService(IServiceIdentifier sid) Unpublish a service.- Specified by:
- unpublishServicein interface- IPublishService
- Parameters:
- sid- The service identifier.
 
 - 
internalPublishServicepublic abstract void internalPublishService(java.net.URI uri, org.glassfish.jersey.server.ResourceConfig rc, IServiceIdentifier sid, PublishInfo info)
 - 
publishHMTLPagepublic abstract IFuture<java.lang.Void> publishHMTLPage(java.lang.String uri, java.lang.String vhost, java.lang.String html) Publish an html page.- Specified by:
- publishHMTLPagein interface- IWebPublishService
 
 - 
publishResourcespublic abstract IFuture<java.lang.Void> publishResources(java.lang.String uri, java.lang.String path) Publish resources via a rel jar path. The resources are searched with respect to the component classloader (todo: allow for specifiying RID).- Specified by:
- publishResourcesin interface- IWebPublishService
 
 - 
publishExternalpublic abstract IFuture<java.lang.Void> publishExternal(java.net.URI uri, java.lang.String rootpath) Publish file resources from the file system.
 - 
createProxyClassprotected java.lang.Class<?> createProxyClass(IServiceIdentifier serviceid, java.lang.ClassLoader classloader, java.lang.Class<?> baseclass, java.util.Map<java.lang.String,java.lang.Object> mapprops, java.util.List<RestMethodInfo> geninfos) throws java.lang.Exception Create a service proxy class.- Parameters:
- service- The Jadex service.
- classloader- The classloader.
- type- The web service interface type.
- Returns:
- The proxy object.
- Throws:
- java.lang.Exception
 
 - 
initWebProxyRefreshpublic java.lang.Void initWebProxyRefresh(java.lang.String url, java.lang.String name, java.lang.String target, java.lang.String user, java.lang.String pass, IServiceIdentifier sid)
 - 
loginprotected java.lang.String login(java.lang.String url, java.lang.String user, java.lang.String pass)
 - 
addMappingprotected java.lang.Integer addMapping(java.lang.String url, java.lang.String name, java.lang.String target, java.lang.String cookie)
 - 
invokepublic java.lang.Object invoke(java.lang.Object[] params, java.lang.String sig)Method that is invoked when rest service is called. Functionality blueprint for all service methods.- Parameters:
- params- The parameters.
- Returns:
- The result.
 
 - 
getServiceInfopublic java.lang.Object getServiceInfo(java.lang.Object[] params, java.lang.String sig)Functionality blueprint for get service info web method. Creates a html page with css for style and javascript for ajax post requests. The service info site contains a section for each published method.- Parameters:
- params- The parameters.
- Returns:
- The result.
 
 - 
isPublishedpublic abstract boolean isPublished(IServiceIdentifier sid) Test if a service is published.
 - 
hexpublic static java.lang.String hex(byte[] data) Convert to hex value.
 - 
digestpublic static byte[] digest(java.lang.String input) Build the digest given the timestamp and password.
 - 
digestpublic static byte[] digest(byte[] input) Build the digest given the timestamp and password.
 - 
parseHeaderprotected java.util.Map<java.lang.String,java.lang.String> parseHeader(java.lang.String header, java.lang.String delims)Convert header to key value pairs.
 
- 
 
-