Package tigase.cluster.api
Class ClusterElement
- java.lang.Object
-
- tigase.cluster.api.ClusterElement
-
public class ClusterElement extends Object
Class 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 StringCLUSTER_CONTROL_EL_NAMEstatic String[]CLUSTER_CONTROL_PATHstatic StringCLUSTER_DATA_EL_NAMEstatic String[]CLUSTER_DATA_PATHstatic StringCLUSTER_EL_NAMEstatic StringCLUSTER_METHOD_EL_NAMEstatic StringCLUSTER_METHOD_PAR_EL_NAMEstatic String[]CLUSTER_METHOD_PATHstatic StringCLUSTER_METHOD_RESULTS_EL_NAMEstatic String[]CLUSTER_METHOD_RESULTS_PATHstatic StringCLUSTER_METHOD_RESULTS_VAL_EL_NAMEstatic StringCLUSTER_NAME_ATTRstatic StringFIRST_NODE_EL_NAMEstatic String[]FIRST_NODE_PATHstatic StringNODE_ID_EL_NAMEstatic StringVISITED_NODES_EL_NAMEstatic String[]VISITED_NODES_PATHstatic StringXMLNS
-
Constructor Summary
Constructors Constructor Description ClusterElement(Element elem)Creates a newClusterElementinstance.ClusterElement(JID from, JID to, StanzaType type, Packet packet)
-
Method Summary
-
-
-
Field Detail
-
CLUSTER_CONTROL_EL_NAME
public static final String CLUSTER_CONTROL_EL_NAME
- See Also:
- Constant Field Values
-
CLUSTER_DATA_EL_NAME
public static final String CLUSTER_DATA_EL_NAME
- See Also:
- Constant Field Values
-
CLUSTER_EL_NAME
public static final String CLUSTER_EL_NAME
- See Also:
- Constant Field Values
-
CLUSTER_METHOD_EL_NAME
public static final String CLUSTER_METHOD_EL_NAME
- See Also:
- Constant Field Values
-
CLUSTER_METHOD_PAR_EL_NAME
public static final String CLUSTER_METHOD_PAR_EL_NAME
- See Also:
- Constant Field Values
-
CLUSTER_METHOD_RESULTS_EL_NAME
public static final String CLUSTER_METHOD_RESULTS_EL_NAME
- See Also:
- Constant Field Values
-
CLUSTER_METHOD_RESULTS_VAL_EL_NAME
public static final String CLUSTER_METHOD_RESULTS_VAL_EL_NAME
- See Also:
- Constant Field Values
-
CLUSTER_NAME_ATTR
public static final String CLUSTER_NAME_ATTR
- See Also:
- Constant Field Values
-
FIRST_NODE_EL_NAME
public static final String FIRST_NODE_EL_NAME
- See Also:
- Constant Field Values
-
NODE_ID_EL_NAME
public static final String NODE_ID_EL_NAME
- See Also:
- Constant Field Values
-
VISITED_NODES_EL_NAME
public static final String VISITED_NODES_EL_NAME
- See Also:
- Constant Field Values
-
XMLNS
public static final String XMLNS
- See Also:
- Constant Field Values
-
VISITED_NODES_PATH
public static final String[] VISITED_NODES_PATH
-
FIRST_NODE_PATH
public static final String[] FIRST_NODE_PATH
-
CLUSTER_METHOD_RESULTS_PATH
public static final String[] CLUSTER_METHOD_RESULTS_PATH
-
CLUSTER_METHOD_PATH
public static final String[] CLUSTER_METHOD_PATH
-
CLUSTER_DATA_PATH
public static final String[] CLUSTER_DATA_PATH
-
CLUSTER_CONTROL_PATH
public static final 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, String packet_from)
-
createClusterMethodCall
public static ClusterElement createClusterMethodCall(JID from, JID to, StanzaType type, String method_name, Map<String,String> params)
-
createForNextNode
public static ClusterElement createForNextNode(ClusterElement clel, List<JID> cluster_nodes, JID comp_id)
-
addDataPacket
public void addDataPacket(Packet packet)
-
addDataPacket
public void addDataPacket(Element packet)
-
addVisitedNode
public void addVisitedNode(JID node_id)
-
createMethodResponse
public ClusterElement createMethodResponse(JID from, StanzaType type, Map<String,String> results)
-
createMethodResponse
public ClusterElement createMethodResponse(JID from, JID to, StanzaType type, Map<String,String> results)
-
getFirstNode
public JID getFirstNode()
-
getMethodName
public String getMethodName()
-
getMethodParam
public long getMethodParam(String par_name, long def)
-
getMethodResultVal
public long getMethodResultVal(String val_name, long def)
-
getPriority
public Priority getPriority()
-
setPriority
public void setPriority(Priority priority)
-
isVisitedNode
public boolean isVisitedNode(JID node_id)
-
nextClusterNode
public ClusterElement nextClusterNode(JID node_id)
-
parseMethodCall
protected void parseMethodCall(Element method_call)
-
-