当前位置: 首页>>代码示例>>Java>>正文


Java Element.clone方法代码示例

本文整理汇总了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;
}
 
开发者ID:kontalk,项目名称:tigase-server,代码行数:19,代码来源:BoshSession.java

示例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));
	}
}
 
开发者ID:kontalk,项目名称:tigase-server,代码行数:32,代码来源:RemoteRosterManagement.java

示例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;
}
 
开发者ID:kontalk,项目名称:tigase-server,代码行数:41,代码来源:StanzaReceiver.java

示例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());
	}
}
 
开发者ID:kontalk,项目名称:tigase-server,代码行数:18,代码来源:BoshSessionCache.java

示例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)
}
 
开发者ID:kontalk,项目名称:tigase-server,代码行数:29,代码来源:RosterAbstract.java

示例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)
}
 
开发者ID:kontalk,项目名称:tigase-server,代码行数:64,代码来源:Presence.java

示例7: okResult

import tigase.xml.Element; //导入方法依赖的package包/类
private Element okResult(Element elem) {
	Element result = elem.clone();

	result.setAttribute("type", "result");

	return result;
}
 
开发者ID:kontalk,项目名称:tigase-server,代码行数:8,代码来源:BindProcessor.java


注:本文中的tigase.xml.Element.clone方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。