本文整理汇总了Java中tigase.xml.Element.addChildren方法的典型用法代码示例。如果您正苦于以下问题:Java Element.addChildren方法的具体用法?Java Element.addChildren怎么用?Java Element.addChildren使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类tigase.xml.Element
的用法示例。
在下文中一共展示了Element.addChildren方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: block
import tigase.xml.Element; //导入方法依赖的package包/类
public static boolean block(XMPPResourceConnection session, String jid) throws NotAuthorizedException, TigaseDBException {
String name = getDefaultListName(session);
if(name == null) {
name = "default";
}
Element list = getList(session,name);
if(list != null) {
if (list.findChild(item -> jid.equals(item.getAttributeStaticStr(VALUE)) && isBlockItem(item)) != null)
return false;
}
Element list_new = new Element(LIST,new String[]{NAME},new String[]{name});
list_new.addChild(new Element(ITEM,new String[]{TYPE,ACTION,VALUE,ORDER},new String[]{"jid","deny",jid,"0"}));
if (list != null) {
List<Element> items = list.getChildren();
if (items != null) {
Collections.sort(items, JabberIqPrivacy.compar);
for (int i = 0; i < items.size(); i++) {
items.get(i).setAttribute(ORDER, "" + (i + 1));
}
list_new.addChildren(items);
}
}
updateList(session, name, list_new);
return true;
}
示例2: unblock
import tigase.xml.Element; //导入方法依赖的package包/类
public static boolean unblock(XMPPResourceConnection session, String jid) throws NotAuthorizedException, TigaseDBException {
String name = getDefaultListName(session);
Element list = getList(session,name);
if(list == null)
return false;
Element list_new = new Element(LIST,new String[]{NAME},new String[]{name});
List<Element> items = list.findChildren(item -> !jid.equals(item.getAttributeStaticStr(VALUE)) || !isBlockItem(item));
if (items != null) {
Collections.sort(items, JabberIqPrivacy.compar);
for (int i = 0; i < items.size(); i++) {
items.get(i).setAttribute(ORDER, "" + (i + 1));
}
list_new.addChildren(items);
}
updateList(session, name, list_new);
return false;
}
示例3: unblockAll
import tigase.xml.Element; //导入方法依赖的package包/类
public static List<String> unblockAll(XMPPResourceConnection session) throws NotAuthorizedException, TigaseDBException {
String name = getDefaultListName(session);
Element list = getList(session,name);
if(list == null)
return null;
List<String> ulist = list.mapChildren(item -> isBlockItem(item), item -> item.getAttributeStaticStr(VALUE));
Element list_new = new Element(LIST,new String[]{NAME},new String[]{name});
List<Element> items = list.findChildren(item -> !isBlockItem(item));
if (items != null) {
Collections.sort(items, JabberIqPrivacy.compar);
for (int i = 0; i < items.size(); i++) {
items.get(i).setAttribute(ORDER, "" + (i + 1));
}
list_new.addChildren(items);
}
updateList(session, name, list_new);
return ulist;
}
示例4: preparePacket
import tigase.xml.Element; //导入方法依赖的package包/类
protected Packet preparePacket(String messageId, Element... content) throws TigaseStringprepException {
Element e = new Element("message", new String[]{"type"}, new String[]{"groupchat"});
if (messageId != null) {
e.setAttribute("id", messageId);
}
if (content != null)
e.addChildren(Arrays.asList(content));
Packet message = Packet.packetInstance(e);
message.setXMLNS(Packet.CLIENT_XMLNS);
return message;
}
示例5: 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;
}
示例6: streamOpened
import tigase.xml.Element; //导入方法依赖的package包/类
@Override
public String streamOpened(S2SIOService serv, Map<String, String> attribs) {
if (attribs.containsKey("version")) {
// A version=1.0, sending features
if (serv.connectionType() == ConnectionType.accept) {
// Send features only for accept connections
List<Element> features = handler.getStreamFeatures(serv);
Element featuresElement = new Element(STREAM_FEATURES_EL);
featuresElement.addChildren(features);
// do not send stattls feature to hosts in skip tls list
if (attribs.containsKey("from")) {
if (skipTLSForHost(attribs.get("from"))) {
Element startTls = featuresElement.getChild(START_TLS_EL, START_TLS_NS);
featuresElement.removeChild(startTls);
}
}
if (log.isLoggable(Level.FINEST)) {
log.log(Level.FINEST, "{0}, Sending stream features: {1}", new Object[] { serv,
featuresElement });
}
serv.addPacketToSend(Packet.packetInstance(featuresElement, null, null));
}
}
return null;
}
示例7: addDiscoItems
import tigase.xml.Element; //导入方法依赖的package包/类
private void addDiscoItems( XMPPResourceConnection session, Element query ) {
try {
List<Element> messagesList = msg_repo.getMessagesList( session.getJID() );
if ( null != messagesList && !messagesList.isEmpty() ){
query.addChildren( messagesList );
}
} catch ( NotAuthorizedException | UserNotFoundException ex ) {
log.log( Level.WARNING, "Problem retrieving messages from repository: ", ex );
}
}
示例8: processAdHocCommandItems
import tigase.xml.Element; //导入方法依赖的package包/类
protected void processAdHocCommandItems(Packet packet, JID jid, String node, JID senderJID) throws ComponentException,
RepositoryException {
AdHocCommandModule<?> module = context.getModuleProvider().getModule(AdHocCommandModule.ID);
if (module == null)
throw new ComponentException(Authorization.ITEM_NOT_FOUND);
Element resultQuery = new Element("query", new String[] { Packet.XMLNS_ATT }, new String[] { DISCO_ITEMS_XMLNS });
Packet result = packet.okResult(resultQuery, 0);
List<Element> items = module.getScriptItems(node, packet.getStanzaTo(), packet.getStanzaFrom());
resultQuery.addChildren(items);
write(result);
}
示例9: processAdHocCommandItems
import tigase.xml.Element; //导入方法依赖的package包/类
@Override
protected void processAdHocCommandItems(Packet packet, JID jid, String node, JID senderJID) throws ComponentException,
RepositoryException {
if (jid.getResource() != null && isAdHocCompatible(context.getKernel().getInstance(jid.getResource()))) {
final Object taskInstance = context.getKernel().getInstance(jid.getResource());
List<Element> items = new ArrayList<Element>();
Element resultQuery = new Element("query", new String[] { Packet.XMLNS_ATT }, new String[] { DISCO_ITEMS_XMLNS });
Packet result = packet.okResult(resultQuery, 0);
if (taskInstance instanceof InfoTask) {
items.add(new Element("item", new String[] { "jid", "node", "name" }, new String[] { jid.toString(),
InfoTaskCommand.NODE, "Task Info" }));
}
if (taskInstance instanceof ConfigurableTask) {
items.add(new Element("item", new String[] { "jid", "node", "name" }, new String[] { jid.toString(),
ConfigureTaskCommand.NODE, "Task config" }));
}
if (taskInstance instanceof AdHocTask) {
items.addAll(((AdHocTask) taskInstance).getAdHocCommands(jid, senderJID));
}
resultQuery.addChildren(items);
write(result);
} else if (jid.getResource() != null) {
throw new ComponentException(Authorization.ITEM_NOT_FOUND);
} else
super.processAdHocCommandItems(packet, jid, node, senderJID);
}
示例10: processIq
import tigase.xml.Element; //导入方法依赖的package包/类
private void processIq(Packet packet, XMPPResourceConnection session,
NonAuthUserRepository repo, Queue<Packet> results,
Map<String, Object> settings)
throws PacketErrorTypeException {
Element query = packet.getElement().getChild("query",
"http://spectrum.im/protocol/remote-roster");
if (query == null) {
super.processToUserPacket(packet, session, repo, results, settings);
// log.warn("processing IQ with bad query = {}", packet.toString());
return;
}
switch (packet.getType()) {
case set :
if ("request".equals(query.getAttributeStaticStr(Packet.TYPE_ATT))) {
JID from = JID.jidInstanceNS(packet.getStanzaTo().getDomain());
Element msg = new Element(tigase.server.Message.ELEM_NAME);
msg.setAttribute(Packet.FROM_ATT, from.toString());
msg.setAttribute(Packet.TO_ATT, packet.getStanzaTo().toString());
Form form = new Form(Packet.FROM_ATT, "Roster change permission",
packet.getStanzaFrom().getBareJID().toString() +
" wants to edit your roster with following reason: " +
query.getAttributeStaticStr("reason") +
". Do you want to allow it?");
form.addField(Field.fieldHidden("FORM_TYPE", XMLNS));
form.addField(Field.fieldHidden("jid",
packet.getStanzaFrom().getBareJID().toString()));
form.addField(Field.fieldBoolean("answer", true, "Allow roster edit"));
msg.addChildren(Collections.singletonList(form.getElement()));
Packet resp = Packet.packetInstance(msg, from, packet.getStanzaTo());
results.offer(resp);
} else {
results.offer(Authorization.BAD_REQUEST.getResponseMessage(packet,
"Unknown request type", false));
}
break;
default :
results.offer(Authorization.BAD_REQUEST.getResponseMessage(packet, "Bad request",
true));
}
}
示例11: processMessageFormResponse
import tigase.xml.Element; //导入方法依赖的package包/类
private void processMessageFormResponse(Packet packet, XMPPResourceConnection session,
NonAuthUserRepository repo, Queue<Packet> results)
throws NotAuthorizedException, TigaseDBException {
Element x = packet.getElement().getChild("x");
if (x != null) {
Form form = new Form(x);
if (!XMLNS.equals(form.getAsString("FORM_TYPE"))
&& !session.isLocalDomain(packet.getStanzaTo().toString(), false)) {
results.offer(packet);
}
JID jid = JID.jidInstanceNS(form.get("jid").getValue());
Boolean answer = false;
String answerStr = form.get("answer").getValue();
if ("true".equals(answerStr) || "1".equals(answerStr)) {
answer = true;
}
synchronized (session) {
Set<JID> allowed = getAllowed(session);
// Apply result of form
if (answer) {
allowed.add(jid);
} else {
allowed.remove(jid);
}
setAllowed(session, allowed);
}
// Notify remote jid about answer
Element iq = new Element("iq");
iq.setAttribute("from", packet.getStanzaFrom().getBareJID().toString());
iq.setAttribute("to", jid.toString());
Element query = new Element("query");
query.setAttribute("xmlns", XMLNS);
query.setAttribute("type", answer
? "allowed"
: "rejected");
iq.addChildren(Collections.singletonList(query));
results.offer(Packet.packetInstance(iq,
packet.getStanzaFrom().copyWithoutResource(), jid));
} else {
results.offer(packet);
}
}