public abstract class AbstractRestServicePublishService
extends java.lang.Object
implements jadex.bridge.service.types.publish.IWebPublishService
Modifier and Type | Field and Description |
---|---|
protected jadex.bridge.IInternalAccess |
component
The component.
|
static javax.ws.rs.core.MediaType[] |
DEFAULT_FORMATS
The default media formats.
|
static java.lang.String |
FORMATS
Constant for String[] for supported parameter media types.
|
static java.lang.String |
GENERATE
Constant for boolean flag if automatic generation should be used.
|
static java.lang.String |
GENERATE_INFO
Constant for boolean.
|
protected IRestMethodGenerator |
generator
The generator.
|
static java.lang.String |
JADEXSERVICE
The service constant.
|
protected jadex.commons.collection.LRU<jadex.commons.Tuple2<java.lang.Class<?>,java.lang.Class<?>>,java.lang.Class<?>> |
proxyclasses
The proxy classes.
|
Constructor and Description |
---|
AbstractRestServicePublishService()
Create a new publish service.
|
AbstractRestServicePublishService(IRestMethodGenerator generator)
Create a new publish service.
|
Modifier and Type | Method and Description |
---|---|
protected java.lang.Integer |
addMapping(java.lang.String url,
java.lang.String name,
java.lang.String target,
java.lang.String cookie) |
protected java.lang.Class<?> |
createProxyClass(jadex.bridge.service.IService service,
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(jadex.bridge.service.IService service,
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.Object |
getServiceInfo(java.lang.Object[] params,
java.lang.String sig)
Functionality blueprint for get service info web method.
|
static java.lang.String |
hex(byte[] data)
Convert to hex value.
|
java.lang.Void |
initWebProxyRefresh(java.lang.String url,
java.lang.String name,
java.lang.String target,
java.lang.String user,
java.lang.String pass,
jadex.bridge.service.IServiceIdentifier sid) |
abstract void |
internalPublishService(java.net.URI uri,
org.glassfish.jersey.server.ResourceConfig rc,
jadex.bridge.service.IServiceIdentifier sid,
jadex.bridge.service.PublishInfo info) |
java.lang.Object |
invoke(java.lang.Object[] params,
java.lang.String sig)
Method that is invoked when rest service is called.
|
abstract boolean |
isPublished(jadex.bridge.service.IServiceIdentifier sid)
Test if a service is published.
|
jadex.commons.future.IFuture<java.lang.Boolean> |
isSupported(java.lang.String publishtype)
Test if publishing a specific type is supported (e.g.
|
protected java.lang.String |
login(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 jadex.commons.future.IFuture<java.lang.Void> |
publishExternal(java.net.URI uri,
java.lang.String rootpath)
Publish file resources from the file system.
|
abstract jadex.commons.future.IFuture<java.lang.Void> |
publishHMTLPage(java.net.URI uri,
java.lang.String vhost,
java.lang.String html)
Publish an html page.
|
abstract jadex.commons.future.IFuture<java.lang.Void> |
publishResources(java.net.URI uri,
java.lang.String path)
Publish resources via a rel jar path.
|
jadex.commons.future.IFuture<java.lang.Void> |
publishService(java.lang.ClassLoader cl,
jadex.bridge.service.IService service,
jadex.bridge.service.PublishInfo pi)
Publish a service.
|
abstract jadex.commons.future.IFuture<java.lang.Void> |
unpublishService(jadex.bridge.service.IServiceIdentifier sid)
Unpublish a service.
|
public static final java.lang.String GENERATE
public static final java.lang.String FORMATS
public static final java.lang.String GENERATE_INFO
public static final javax.ws.rs.core.MediaType[] DEFAULT_FORMATS
public static final java.lang.String JADEXSERVICE
protected jadex.bridge.IInternalAccess component
protected IRestMethodGenerator generator
protected jadex.commons.collection.LRU<jadex.commons.Tuple2<java.lang.Class<?>,java.lang.Class<?>>,java.lang.Class<?>> proxyclasses
public AbstractRestServicePublishService()
public AbstractRestServicePublishService(IRestMethodGenerator generator)
public jadex.commons.future.IFuture<java.lang.Boolean> isSupported(java.lang.String publishtype)
isSupported
in interface jadex.bridge.service.types.publish.IPublishService
publishtype
- The type to test.protected java.lang.Class<?> getProxyClass(jadex.bridge.service.IService service, java.lang.ClassLoader classloader, java.lang.Class<?> baseclass, java.util.Map<java.lang.String,java.lang.Object> mapprops) throws java.lang.Exception
java.lang.Exception
public jadex.commons.future.IFuture<java.lang.Void> publishService(java.lang.ClassLoader cl, jadex.bridge.service.IService service, jadex.bridge.service.PublishInfo pi)
publishService
in interface jadex.bridge.service.types.publish.IPublishService
cl
- The classloader.service
- The original service.pid
- The publish id (e.g. url or name).public abstract jadex.commons.future.IFuture<java.lang.Void> unpublishService(jadex.bridge.service.IServiceIdentifier sid)
unpublishService
in interface jadex.bridge.service.types.publish.IPublishService
unpublishService
in interface jadex.bridge.service.types.publish.IWebPublishService
sid
- The service identifier.public abstract void internalPublishService(java.net.URI uri, org.glassfish.jersey.server.ResourceConfig rc, jadex.bridge.service.IServiceIdentifier sid, jadex.bridge.service.PublishInfo info)
public abstract jadex.commons.future.IFuture<java.lang.Void> publishHMTLPage(java.net.URI uri, java.lang.String vhost, java.lang.String html)
publishHMTLPage
in interface jadex.bridge.service.types.publish.IWebPublishService
public abstract jadex.commons.future.IFuture<java.lang.Void> publishResources(java.net.URI uri, java.lang.String path)
publishResources
in interface jadex.bridge.service.types.publish.IWebPublishService
public abstract jadex.commons.future.IFuture<java.lang.Void> publishExternal(java.net.URI uri, java.lang.String rootpath)
publishExternal
in interface jadex.bridge.service.types.publish.IWebPublishService
protected java.lang.Class<?> createProxyClass(jadex.bridge.service.IService service, 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
service
- The Jadex service.classloader
- The classloader.type
- The web service interface type.java.lang.Exception
public java.lang.Void initWebProxyRefresh(java.lang.String url, java.lang.String name, java.lang.String target, java.lang.String user, java.lang.String pass, jadex.bridge.service.IServiceIdentifier sid)
protected java.lang.String login(java.lang.String url, java.lang.String user, java.lang.String pass)
protected java.lang.Integer addMapping(java.lang.String url, java.lang.String name, java.lang.String target, java.lang.String cookie)
public java.lang.Object invoke(java.lang.Object[] params, java.lang.String sig)
params
- The parameters.public java.lang.Object getServiceInfo(java.lang.Object[] params, java.lang.String sig)
params
- The parameters.public abstract boolean isPublished(jadex.bridge.service.IServiceIdentifier sid)
public static java.lang.String hex(byte[] data)
public static byte[] digest(java.lang.String input)
public static byte[] digest(byte[] input)
protected java.util.Map<java.lang.String,java.lang.String> parseHeader(java.lang.String header, java.lang.String delims)