|
xmlBlaster 2.2.0 API | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.xmlBlaster.client.protocol.http.common.XmlBlasterAccessRawBase
public abstract class XmlBlasterAccessRawBase
A java client implementation to access xmlBlaster using a persistent http connection for instant callback messages.
You can control logging with the Applet PARAM tag, logging output is put to the Java console of your browser:
<PARAM name="xmlBlaster/logLevels" value="ERROR,WARN"> with more logging: <PARAM name="xmlBlaster/logLevels" value="ERROR,WARN,INFO,DEBUG">See the example applet
HelloWorld3
on how to use it.
HelloWorld3
Field Summary | |
---|---|
private I_CallbackRaw |
callback
|
private java.util.Hashtable |
cookie
|
protected int |
instanceCount
|
private boolean |
isConnected
|
protected java.lang.String |
logLevels
|
protected I_Log |
logListener
|
private static java.lang.Object |
mutexer
|
static boolean |
ONEWAY
|
private PersistentRequest |
persistentHttpConnection
|
protected java.util.Hashtable |
properties
|
private static int |
staticInstanceCounter
|
protected java.lang.String |
xmlBlasterServletUrl
Typically "http://localhost:8080/xmlBlaster/AppletServlet" |
Fields inherited from interface org.xmlBlaster.client.protocol.http.common.I_XmlBlasterAccessRaw |
---|
CONNECT_NAME, CREATE_SESSIONID_NAME, DISCONNECT_NAME, ERASE_NAME, EXCEPTION_NAME, GET_NAME, PING_NAME, PONG_NAME, PUBLISH_NAME, SUBSCRIBE_NAME, UNSUBSCRIBE_NAME, UPDATE_NAME |
Constructor Summary | |
---|---|
XmlBlasterAccessRawBase(java.util.Hashtable properties)
Provides access to xmlBlaster server. |
Method Summary | |
---|---|
java.lang.String |
connect(java.lang.String qos,
I_CallbackRaw callback)
Connect to xmlBlaster. |
abstract I_Connection |
createConnection(java.lang.String urlString)
Creates a connection to the specified servlet. |
abstract byte[] |
decodeBase64(java.lang.String data)
decodes binary data to Base64. |
void |
disconnect(java.lang.String qos)
|
abstract java.lang.String |
encodeBase64(byte[] data)
Url encodes the string |
java.util.Hashtable[] |
erase(java.lang.String xmlKey,
java.lang.String qos)
|
protected java.util.Hashtable |
extractCookies(java.lang.String cookieTxt)
Converts a string containing all cookies to an hashtable containing all cookies as key/value pairs. |
Msg[] |
get(java.lang.String xmlKey,
java.lang.String qos)
|
java.util.Hashtable |
getHtmlProperties()
Get a list of all PARAM in the HTML file following our convention. |
int |
getInstanceCount()
Access the unique counter of this object instance. |
java.lang.String |
getInstanceId()
Access the unique counter of this object instance for logging. |
java.lang.String |
getXmlBlasterServletUrl()
Access the URL of the xmlBlaster servlet. |
boolean |
isConnected()
Check wether we are connected |
void |
isConnected(boolean isConnected)
|
protected void |
log(java.lang.String level,
java.lang.String text)
Log to java console of the browser of the logListener if any is registered |
void |
log(java.lang.String location,
java.lang.String level,
java.lang.String text)
Log to the logListener or to the java console of the browser if logListener is null. |
java.util.Hashtable |
ping(java.lang.String qos)
Returns "/qos/state/@info"="OK" if communication from servlet to xmlBlaster is OK Returns "/qos/state/@info"="POLLING" if communication from servlet to xmlBlaster is down but polling Returns "/qos/state/@info"="DEAD" if communication from servlet to xmlBlaster is permanently lost |
(package private) java.lang.Object |
postRequest(java.lang.String actionType,
java.lang.String key,
java.lang.String qos,
byte[] content,
boolean oneway)
Send a http request to the servlet. |
java.util.Hashtable |
publish(java.lang.String xmlKey,
byte[] content,
java.lang.String qos)
|
void |
readCookie(I_Connection conn)
reads the cookie and stores it. |
java.lang.String |
sendXmlScript(java.lang.String xmlRequest)
Send a xml script request to xmlBlaster. |
void |
setLogListener(I_Log logListener)
Register to receive the logging output |
private java.lang.String |
startPersistentHttpConnection()
|
java.util.Hashtable |
subscribe(java.lang.String xmlKey,
java.lang.String qos)
|
java.util.Hashtable[] |
unSubscribe(java.lang.String xmlKey,
java.lang.String qos)
|
java.lang.String |
update(java.lang.String cbSessionId,
java.util.Hashtable updateKey,
byte[] content,
java.util.Hashtable updateQos)
see I_CallbackRaw#update |
void |
writeCookie(I_Connection conn)
|
(package private) static void |
writeRequest(I_Connection conn,
java.lang.String actionType,
java.lang.String key,
java.lang.String qos,
byte[] content)
The format: oid + \0 + key + '\0' + qos + '\0' + content: length = oid + key + qos + content + 3 |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected java.lang.String xmlBlasterServletUrl
private PersistentRequest persistentHttpConnection
private I_CallbackRaw callback
public static final boolean ONEWAY
private boolean isConnected
protected java.util.Hashtable properties
protected I_Log logListener
protected java.lang.String logLevels
private java.util.Hashtable cookie
private static int staticInstanceCounter
protected int instanceCount
private static java.lang.Object mutexer
Constructor Detail |
---|
public XmlBlasterAccessRawBase(java.util.Hashtable properties)
properties
- "xmlBlaster/servletUrl", "xmlBlaster/logLevels" (locally used)
and additional properties which are send to the servlet.#parseAppletParameter
Method Detail |
---|
public java.lang.String getInstanceId()
I_XmlBlasterAccessRaw
getInstanceId
in interface I_XmlBlasterAccessRaw
public int getInstanceCount()
public void setLogListener(I_Log logListener)
setLogListener
in interface I_XmlBlasterAccessRaw
listener
- If null we log to the java console of the browserpublic java.util.Hashtable getHtmlProperties()
I_XmlBlasterAccessRaw
All param names starting with "servlet/" are passed to the servlet. They must start with "servlet/xyz=someValue". The "servlet/" will be stripped away and in the web-servlet will arrive "xyz=someValue". The key/values are send in the URL.
As the applet class has no getAllParameters() method we expect a PARAM deliveredParamKeys which contains a list of all delivered PARAM in the HTML page:
<applet ...> <param name="deliveredParamKeys" value="protocol,anotherKey,Key3"> <param name="protocol" value="SOCKET"> <param name="anotherKey" value="someValue"> <param name="Key3" value="xxx"> </applet>
It may contain additional customized properties from the applet programmer.
getHtmlProperties
in interface I_XmlBlasterAccessRaw
I_XmlBlasterAccessRaw.getHtmlProperties()
protected void log(java.lang.String level, java.lang.String text)
public void log(java.lang.String location, java.lang.String level, java.lang.String text)
I_XmlBlasterAccessRaw
log
in interface I_XmlBlasterAccessRaw
location
- Your class and/or method nametext
- The text to logI_XmlBlasterAccessRaw.log(String, String, String)
public java.lang.String getXmlBlasterServletUrl()
public void isConnected(boolean isConnected)
public boolean isConnected()
I_XmlBlasterAccessRaw
isConnected
in interface I_XmlBlasterAccessRaw
private java.lang.String startPersistentHttpConnection() throws java.lang.Exception
java.lang.Exception
public java.lang.String connect(java.lang.String qos, I_CallbackRaw callback) throws java.lang.Exception
I_XmlBlasterAccessRaw
connect
in interface I_XmlBlasterAccessRaw
qos
- If your qos is null the APPLET PARAMs will be checked
for"xmlBlaster/loginName" and "xmlBlaster/passwd"callback
- Where to send asynchronous callback messages.
java.lang.Exception
I_XmlBlasterAccessRaw.connect(String, I_CallbackRaw)
public java.lang.String sendXmlScript(java.lang.String xmlRequest) throws java.lang.Exception
I_XmlBlasterAccessRaw
sendXmlScript
in interface I_XmlBlasterAccessRaw
java.lang.Exception
I_XmlBlasterAccessRaw.connect(String, I_CallbackRaw)
public java.util.Hashtable ping(java.lang.String qos) throws java.lang.Exception
I_XmlBlasterAccessRaw
ping
in interface I_XmlBlasterAccessRaw
java.lang.Exception
public java.util.Hashtable subscribe(java.lang.String xmlKey, java.lang.String qos) throws java.lang.Exception
subscribe
in interface I_XmlBlasterAccessRaw
java.lang.Exception
public Msg[] get(java.lang.String xmlKey, java.lang.String qos) throws java.lang.Exception
get
in interface I_XmlBlasterAccessRaw
java.lang.Exception
public java.util.Hashtable[] unSubscribe(java.lang.String xmlKey, java.lang.String qos) throws java.lang.Exception
unSubscribe
in interface I_XmlBlasterAccessRaw
java.lang.Exception
public java.util.Hashtable publish(java.lang.String xmlKey, byte[] content, java.lang.String qos) throws java.lang.Exception
publish
in interface I_XmlBlasterAccessRaw
java.lang.Exception
public java.util.Hashtable[] erase(java.lang.String xmlKey, java.lang.String qos) throws java.lang.Exception
erase
in interface I_XmlBlasterAccessRaw
java.lang.Exception
public void disconnect(java.lang.String qos)
disconnect
in interface I_XmlBlasterAccessRaw
static void writeRequest(I_Connection conn, java.lang.String actionType, java.lang.String key, java.lang.String qos, byte[] content) throws java.io.IOException
conn
- actionType
- key
- qos
- content
-
java.io.IOException
java.lang.Object postRequest(java.lang.String actionType, java.lang.String key, java.lang.String qos, byte[] content, boolean oneway) throws java.lang.Exception
request
- The request string without the URL prefix, e.g. "?XmlBlasterAccessRawType=pong"doPost
- if true POST else GEToneway
- true for requests returning void
java.lang.Exception
public java.lang.String update(java.lang.String cbSessionId, java.util.Hashtable updateKey, byte[] content, java.util.Hashtable updateQos) throws java.lang.Exception
java.lang.Exception
protected java.util.Hashtable extractCookies(java.lang.String cookieTxt)
cookieTxt
- The string from which to extract the cookies
public void readCookie(I_Connection conn)
conn
- public void writeCookie(I_Connection conn)
public abstract java.lang.String encodeBase64(byte[] data)
s
- enc
-
public abstract byte[] decodeBase64(java.lang.String data)
data
-
public abstract I_Connection createConnection(java.lang.String urlString) throws java.lang.Exception
I_XmlBlasterAccessRaw
createConnection
in interface I_XmlBlasterAccessRaw
java.lang.Exception
|
xmlBlaster 2.2.0 API | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |