本文整理汇总了Java中org.xmpp.packet.Packet.createCopy方法的典型用法代码示例。如果您正苦于以下问题:Java Packet.createCopy方法的具体用法?Java Packet.createCopy怎么用?Java Packet.createCopy使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.xmpp.packet.Packet
的用法示例。
在下文中一共展示了Packet.createCopy方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: process
import org.xmpp.packet.Packet; //导入方法依赖的package包/类
@Override
public void process(Packet packet, String subdomain, String to, String from) throws PacketRejectedException {
Log.debug("Processing packet in ClientToComponentUpdateProcessor: " + packet.toString());
Element query = ((IQ) packet).getChildElement();
List<Node> nodes = findNodesInDocument(query.getDocument(), "//roster:item");
if (nodes.size() > 0) {
// We now know we have to check the JID of the to be added User
// against our valid subdomains.
for (Node n : nodes) {
String jid = n.valueOf("@jid");
// TODO: We ignore remove iq packets for now. There might be
// conflicts
// when we remove our legacy network registration.
String found_subdomain = searchJIDforSubdomain(jid);
if (found_subdomain.length() > 0 && !n.valueOf("@subscription").equals("remove")) {
Log.debug("Mirroring packet from local network to legacy component " + found_subdomain);
IQ forward = (IQ) packet.createCopy();
forward.setTo(found_subdomain);
dispatchPacket(forward);
}
}
}
}
示例2: process
import org.xmpp.packet.Packet; //导入方法依赖的package包/类
@Override
public void process(Packet packet, String subdomain, String to, String from) throws PacketRejectedException {
Log.debug("Processing packet in ClientToComponentUpdateProcessor: " + packet.toString());
Element query = ((IQ) packet).getChildElement();
List<Node> nodes = findNodesInDocument(query.getDocument(), "//roster:item");
if (nodes.size() > 0) {
// We now know we have to check the JID of the to be added User
// against our valid subdomains.
for (Node n : nodes) {
String jid = n.valueOf("@jid");
// TODO: We ignore remove iq packets for now. There might be
// conflicts
// when we remove our legacy network registration.
String found_subdomain = searchJIDforSubdomain(jid);
if (found_subdomain.length() > 0 && !n.valueOf("@subscription").equals("remove")) {
Log.debug("Mirroring packet from local network to legacy component " + found_subdomain);
IQ forward = (IQ) packet.createCopy();
forward.setTo(found_subdomain);
dispatchPacket(forward);
}
}
}
}
示例3: processPacket
import org.xmpp.packet.Packet; //导入方法依赖的package包/类
/**
* @see org.xmpp.component.Component#processPacket(org.xmpp.packet.Packet)
*/
final public void processPacket(final Packet packet) {
final Packet copy = packet.createCopy();
if (executor == null) {
}
try {
executor.execute(new PacketProcessor(copy));
} catch (RejectedExecutionException ex) {
log.error("(serving component '" + getName()
+ "') Unable to process packet! "
+ "Is the thread pool queue exhausted? "
+ "Packet dropped in component '" + getName()
+ "'. Packet that's dropped: " + packet.toXML(), ex);
// If the original packet was an IQ request, we should return an
// error.
if (packet instanceof IQ && ((IQ) packet).isRequest()) {
final IQ response = IQ.createResultIQ((IQ) packet);
response.setError(Condition.internal_server_error);
send(response);
}
}
}
示例4: interceptPacket
import org.xmpp.packet.Packet; //导入方法依赖的package包/类
public void interceptPacket(Packet packet, Session session, boolean read,
boolean processed) throws PacketRejectedException {
if (isValidTargetPacket(packet, read, processed)) {
Packet original = packet;
if (Log.isDebugEnabled()) {
Log.debug("Content filter: intercepted packet:"
+ original.toString());
}
// make a copy of the original packet only if required,
// as it's an expensive operation
if (violationNotificationEnabled
&& violationIncludeOriginalPacketEnabled && maskEnabled) {
original = packet.createCopy();
}
// filter the packet
boolean contentMatched = contentFilter.filter(packet);
if (Log.isDebugEnabled()) {
Log.debug("Content filter: content matched? " + contentMatched);
}
// notify admin of violations
if (contentMatched && violationNotificationEnabled) {
if (Log.isDebugEnabled()) {
Log.debug("Content filter: sending violation notification");
Log.debug("Content filter: include original msg? "
+ this.violationIncludeOriginalPacketEnabled);
}
sendViolationNotification(original);
}
// msg will either be rejected silently, rejected with
// some notification to sender, or allowed and optionally masked.
// allowing a message without masking can be useful if the admin
// simply wants to get notified of matches without interrupting
// the conversation in the (spy mode!)
if (contentMatched) {
if (allowOnMatch) {
if (Log.isDebugEnabled()) {
Log.debug("Content filter: allowed content:"
+ packet.toString());
}
// no further action required
} else {
// msg must be rejected
if (Log.isDebugEnabled()) {
Log.debug("Content filter: rejecting packet");
}
PacketRejectedException rejected = new PacketRejectedException(
"Packet rejected with disallowed content!");
if (rejectionNotificationEnabled) {
// let the sender know about the rejection, this is
// only possible/useful if the content is not masked
rejected.setRejectionMessage(rejectionMessage);
}
throw rejected;
}
}
}
}