本文整理汇总了Java中tigase.xml.Element.clone方法的典型用法代码示例。如果您正苦于以下问题:Java Element.clone方法的具体用法?Java Element.clone怎么用?Java Element.clone使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类tigase.xml.Element
的用法示例。
在下文中一共展示了Element.clone方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: applyFilters
import tigase.xml.Element; //导入方法依赖的package包/类
private Element applyFilters(Element packet) {
Element result = packet.clone();
if (result.getName() == MESSAGE_ELEMENT_NAME) {
String body = result.getCDataStaticStr(Message.MESSAGE_BODY_PATH);
if (body != null) {
int count = 0;
// for (Pattern reg: links_regexs) {
// body = reg.matcher(body).replaceAll(replace_with[count++]);
// }
result.getChild("body").setCData(body);
}
}
return result;
}
示例2: updateBuddyChange
import tigase.xml.Element; //导入方法依赖的package包/类
/**
* Method description
*
*
* @param session
* @param item
* @param update
* @param results
*
* @throws NotAuthorizedException
* @throws TigaseDBException
*/
public static void updateBuddyChange(XMPPResourceConnection session, Element item,
Element update, Queue<Packet> results)
throws NotAuthorizedException, TigaseDBException {
JID jid = JID.jidInstanceNS(item.getAttributeStaticStr("jid"));
if (jid.getLocalpart() == null) {
return;
}
jid = JID.jidInstanceNS(jid.getDomain());
if (isRemoteAllowed(jid, session)) {
Element iq = update.clone();
iq.setAttribute("from", session.getBareJID().toString());
iq.setAttribute("to", jid.getDomain());
iq.setAttribute("id", "rst" + session.nextStanzaId());
results.offer(Packet.packetInstance(iq, JID.jidInstance(session.getBareJID()),
jid));
}
}
示例3: processIQPacket
import tigase.xml.Element; //导入方法依赖的package包/类
/**
* Describe <code>processIQPacket</code> method here.
*
* @param packet
* a <code>Packet</code> value
* @return a <code>boolean</code> value
*/
private boolean processIQPacket(Packet packet) {
boolean processed = false;
Element iq = packet.getElement();
Element query = iq.getChild("query", INFO_XMLNS);
Element query_rep = null;
if ((query != null) && (packet.getType() == StanzaType.get)) {
query_rep = serviceEntity.getDiscoInfo(packet.getStanzaTo().getLocalpart());
processed = true;
} // end of if (query != null && packet.getType() == StanzaType.get)
query = iq.getChild("query", ITEMS_XMLNS);
if ((query != null) && (packet.getType() == StanzaType.get)) {
query_rep = query.clone();
List<Element> items =
serviceEntity.getDiscoItems(packet.getStanzaTo().getLocalpart(), packet
.getStanzaTo().toString());
if ((items != null) && (items.size() > 0)) {
query_rep.addChildren(items);
} // end of if (items != null && items.size() > 0)
processed = true;
} // end of if (query != null && packet.getType() == StanzaType.get)
if (query_rep != null) {
addOutPacket(packet.okResult(query_rep, 0));
} // end of if (query_rep != null)
return processed;
}
示例4: addRoster
import tigase.xml.Element; //导入方法依赖的package包/类
/**
* Method description
*
*
* @param roster
*/
public void addRoster(Element roster) {
// Pushing roster with 'result' packet type will not work
Element roster_mod = roster.clone();
roster_mod.setAttribute(Packet.TYPE_ATT, "set");
add(ROSTER_ID, Arrays.asList(roster_mod));
if (log.isLoggable(Level.FINEST)) {
log.finest("ADD_ROSTER, ROSTER: " + roster_mod.toString());
}
}
示例5: updateBuddyChange
import tigase.xml.Element; //导入方法依赖的package包/类
public void updateBuddyChange(final XMPPResourceConnection session,
final Queue<Packet> results, final Element item)
throws NotAuthorizedException, TigaseDBException, NoConnectionIdException {
Element update = new Element("iq");
update.setXMLNS(CLIENT_XMLNS);
update.setAttribute("type", StanzaType.set.toString());
Element query = new Element("query");
query.setXMLNS(ROSTER_XMLNS);
query.addAttribute(VER_ATT, getBuddiesHash(session));
query.addChild(item);
update.addChild(query);
for (XMPPResourceConnection conn : session.getActiveSessions()) {
Element conn_update = update.clone();
conn_update.setAttribute("to", conn.getBareJID().toString());
conn_update.setAttribute("id", "rst" + session.nextStanzaId());
Packet pack_update = Packet.packetInstance(conn_update, null, conn.getJID());
pack_update.setPacketTo(conn.getConnectionId());
// pack_update.setPacketFrom(session.getJID());
results.offer(pack_update);
} // end of for (XMPPResourceConnection conn: sessions)
}
示例6: updateUserResources
import tigase.xml.Element; //导入方法依赖的package包/类
/**
* <code>updateUserResources</code> method is used to broadcast to all
* <strong>other</strong> resources presence stanza from one user resource. So
* if new resource connects this method updates presence information about new
* resource to old resources and about old resources to new resource.
*
* @param presence an <code>Element</code> presence received from other users,
* we have to change 'to' attribute to full resource JID.
* @param session user session which keeps all the user session data and also
* gives an access to the user's repository data.
* @param results this a collection with packets which have been generated as
* input packet processing results.
* @param initial specifies whether this is an initial presence or not (i.e.
* if there is a presence data from the presence stored within
* user session object or not)
* @exception NotAuthorizedException if an error occurs
*/
public static void updateUserResources(Element presence,
XMPPResourceConnection session, Queue<Packet> results, boolean initial)
throws NotAuthorizedException {
for (XMPPResourceConnection conn : session.getActiveSessions()) {
try {
if (log.isLoggable(Level.FINER)) {
log.log(Level.FINER, "Update presence change to: {0}", conn.getJID());
}
// We also do not send presence updates to any remote connections on
// different cluster nodes. Each node takes care of delivering presence
// locally
if (conn.isResourceSet()) {
// Send to old resource presence about new resource
Element pres_update = presence.clone();
Packet pack_update = Packet.packetInstance(pres_update, session.getJID(), conn
.getJID().copyWithoutResource());
pack_update.setPacketTo(conn.getConnectionId());
results.offer(pack_update);
Element presence_el = conn.getPresence();
// Send to new resource last presence sent by the old resource
if ((presence_el != null) && initial && (conn != session)) {
pres_update = presence_el.clone();
pack_update = Packet.packetInstance(pres_update, conn.getJID(), session
.getJID().copyWithoutResource());
pack_update.setPacketTo(session.getConnectionId());
results.offer(pack_update);
}
} else {
if (log.isLoggable(Level.FINER)) {
log.finer("Skipping presence update to: " + conn.getJID());
}
} // end of else
} catch (NotAuthorizedException | NoConnectionIdException e) {
// It might be quite possible that one of the user connections
// is in state not allowed for sending presence, in such a case
// none of user connections would receive presence.
// This catch is to make sure all other resources receive notification.
}
} // end of for (XMPPResourceConnection conn: sessions)
}
示例7: okResult
import tigase.xml.Element; //导入方法依赖的package包/类
private Element okResult(Element elem) {
Element result = elem.clone();
result.setAttribute("type", "result");
return result;
}