Package tigase.cluster.api
Class ClusterElement
- java.lang.Object
-
- tigase.cluster.api.ClusterElement
-
public class ClusterElement extends java.lang.ObjectClass ClusterElement is a utility class for handling tigase cluster specific packets. The cluster packet has the following form:
<cluster xmlns="tigase:cluster" from="source" to="dest" type="set"> <data> <message xmlns="jabber:client" from="source-u" to="dest-x" type="chat"> <body>Hello world!</body> </message> </data> <control> <first-node>node1 JID address</first-node> <visited-nodes> <node-id>node1 JID address</node-id> <node-id>node2 JID address</node-id> </visited-nodes> <method-call name="method name"> <par name="param1 name">value</par> <par name="param2 name">value</par> <results> <val name="val1 name">value</var> <val name="val2 name">value</var> </results> </method-call> </control> </cluster>
If none of nodes could process the packet it goes back to the first node as this node is the most likely to process the packet correctly.
Created: Fri May 2 09:40:40 2008- Author:
- Artur Hefczyc
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringCLUSTER_CONTROL_EL_NAMEstatic java.lang.String[]CLUSTER_CONTROL_PATHstatic java.lang.StringCLUSTER_DATA_EL_NAMEstatic java.lang.String[]CLUSTER_DATA_PATHstatic java.lang.StringCLUSTER_EL_NAMEstatic java.lang.StringCLUSTER_METHOD_EL_NAMEstatic java.lang.StringCLUSTER_METHOD_PAR_EL_NAMEstatic java.lang.String[]CLUSTER_METHOD_PATHstatic java.lang.StringCLUSTER_METHOD_RESULTS_EL_NAMEstatic java.lang.String[]CLUSTER_METHOD_RESULTS_PATHstatic java.lang.StringCLUSTER_METHOD_RESULTS_VAL_EL_NAMEstatic java.lang.StringCLUSTER_NAME_ATTRstatic java.lang.StringFIRST_NODE_EL_NAMEstatic java.lang.String[]FIRST_NODE_PATHstatic java.lang.StringNODE_ID_EL_NAMEstatic java.lang.StringVISITED_NODES_EL_NAMEstatic java.lang.String[]VISITED_NODES_PATHstatic java.lang.StringXMLNS
-
Constructor Summary
Constructors Constructor Description ClusterElement(Element elem)Creates a newClusterElementinstance.ClusterElement(JID from, JID to, StanzaType type, Packet packet)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddDataPacket(Packet packet)voidaddDataPacket(Element packet)voidaddDataPackets(java.util.Queue<Element> packets)voidaddMethodResult(java.lang.String key, java.lang.String val)voidaddVisitedNode(JID node_id)voidaddVisitedNodes(java.util.Set<JID> nodes)static ElementclusterElement(JID from, JID to, StanzaType type)static ElementcreateClusterElement(JID from, JID to, StanzaType type, java.lang.String packet_from)static ClusterElementcreateClusterMethodCall(JID from, JID to, StanzaType type, java.lang.String method_name, java.util.Map<java.lang.String,java.lang.String> params)static ClusterElementcreateForNextNode(ClusterElement clel, java.util.List<JID> cluster_nodes, JID comp_id)ClusterElementcreateMethodResponse(JID from, JID to, StanzaType type, java.util.Map<java.lang.String,java.lang.String> results)ClusterElementcreateMethodResponse(JID from, StanzaType type, java.util.Map<java.lang.String,java.lang.String> results)java.util.Map<java.lang.String,java.lang.String>getAllMethodParams()java.util.Map<java.lang.String,java.lang.String>getAllMethodResults()ElementgetClusterElement(java.lang.String id)java.util.Queue<Element>getDataPackets()JIDgetFirstNode()java.lang.StringgetMethodName()java.lang.StringgetMethodParam(java.lang.String par_name)longgetMethodParam(java.lang.String par_name, long def)java.lang.StringgetMethodResultVal(java.lang.String val_name)longgetMethodResultVal(java.lang.String val_name, long def)PrioritygetPriority()java.util.Set<JID>getVisitedNodes()booleanisVisitedNode(JID node_id)ClusterElementnextClusterNode(JID node_id)protected voidparseMethodCall(Element method_call)voidsetPriority(Priority priority)
-
-
-
Field Detail
-
CLUSTER_CONTROL_EL_NAME
public static final java.lang.String CLUSTER_CONTROL_EL_NAME
- See Also:
- Constant Field Values
-
CLUSTER_DATA_EL_NAME
public static final java.lang.String CLUSTER_DATA_EL_NAME
- See Also:
- Constant Field Values
-
CLUSTER_EL_NAME
public static final java.lang.String CLUSTER_EL_NAME
- See Also:
- Constant Field Values
-
CLUSTER_METHOD_EL_NAME
public static final java.lang.String CLUSTER_METHOD_EL_NAME
- See Also:
- Constant Field Values
-
CLUSTER_METHOD_PAR_EL_NAME
public static final java.lang.String CLUSTER_METHOD_PAR_EL_NAME
- See Also:
- Constant Field Values
-
CLUSTER_METHOD_RESULTS_EL_NAME
public static final java.lang.String CLUSTER_METHOD_RESULTS_EL_NAME
- See Also:
- Constant Field Values
-
CLUSTER_METHOD_RESULTS_VAL_EL_NAME
public static final java.lang.String CLUSTER_METHOD_RESULTS_VAL_EL_NAME
- See Also:
- Constant Field Values
-
CLUSTER_NAME_ATTR
public static final java.lang.String CLUSTER_NAME_ATTR
- See Also:
- Constant Field Values
-
FIRST_NODE_EL_NAME
public static final java.lang.String FIRST_NODE_EL_NAME
- See Also:
- Constant Field Values
-
NODE_ID_EL_NAME
public static final java.lang.String NODE_ID_EL_NAME
- See Also:
- Constant Field Values
-
VISITED_NODES_EL_NAME
public static final java.lang.String VISITED_NODES_EL_NAME
- See Also:
- Constant Field Values
-
XMLNS
public static final java.lang.String XMLNS
- See Also:
- Constant Field Values
-
VISITED_NODES_PATH
public static final java.lang.String[] VISITED_NODES_PATH
-
FIRST_NODE_PATH
public static final java.lang.String[] FIRST_NODE_PATH
-
CLUSTER_METHOD_RESULTS_PATH
public static final java.lang.String[] CLUSTER_METHOD_RESULTS_PATH
-
CLUSTER_METHOD_PATH
public static final java.lang.String[] CLUSTER_METHOD_PATH
-
CLUSTER_DATA_PATH
public static final java.lang.String[] CLUSTER_DATA_PATH
-
CLUSTER_CONTROL_PATH
public static final java.lang.String[] CLUSTER_CONTROL_PATH
-
-
Constructor Detail
-
ClusterElement
public ClusterElement(Element elem)
Creates a newClusterElementinstance.
-
ClusterElement
public ClusterElement(JID from, JID to, StanzaType type, Packet packet)
-
-
Method Detail
-
clusterElement
public static Element clusterElement(JID from, JID to, StanzaType type)
-
createClusterElement
public static Element createClusterElement(JID from, JID to, StanzaType type, java.lang.String packet_from)
-
createClusterMethodCall
public static ClusterElement createClusterMethodCall(JID from, JID to, StanzaType type, java.lang.String method_name, java.util.Map<java.lang.String,java.lang.String> params)
-
createForNextNode
public static ClusterElement createForNextNode(ClusterElement clel, java.util.List<JID> cluster_nodes, JID comp_id)
-
addDataPacket
public void addDataPacket(Packet packet)
-
addDataPacket
public void addDataPacket(Element packet)
-
addDataPackets
public void addDataPackets(java.util.Queue<Element> packets)
-
addMethodResult
public void addMethodResult(java.lang.String key, java.lang.String val)
-
addVisitedNode
public void addVisitedNode(JID node_id)
-
addVisitedNodes
public void addVisitedNodes(java.util.Set<JID> nodes)
-
createMethodResponse
public ClusterElement createMethodResponse(JID from, StanzaType type, java.util.Map<java.lang.String,java.lang.String> results)
-
createMethodResponse
public ClusterElement createMethodResponse(JID from, JID to, StanzaType type, java.util.Map<java.lang.String,java.lang.String> results)
-
getAllMethodParams
public java.util.Map<java.lang.String,java.lang.String> getAllMethodParams()
-
getAllMethodResults
public java.util.Map<java.lang.String,java.lang.String> getAllMethodResults()
-
getClusterElement
public Element getClusterElement(java.lang.String id)
-
getDataPackets
public java.util.Queue<Element> getDataPackets()
-
getFirstNode
public JID getFirstNode()
-
getMethodName
public java.lang.String getMethodName()
-
getMethodParam
public java.lang.String getMethodParam(java.lang.String par_name)
-
getMethodParam
public long getMethodParam(java.lang.String par_name, long def)
-
getMethodResultVal
public java.lang.String getMethodResultVal(java.lang.String val_name)
-
getMethodResultVal
public long getMethodResultVal(java.lang.String val_name, long def)
-
getPriority
public Priority getPriority()
-
setPriority
public void setPriority(Priority priority)
-
getVisitedNodes
public java.util.Set<JID> getVisitedNodes()
-
isVisitedNode
public boolean isVisitedNode(JID node_id)
-
nextClusterNode
public ClusterElement nextClusterNode(JID node_id)
-
parseMethodCall
protected void parseMethodCall(Element method_call)
-
-