本文整理汇总了Java中tigase.xml.Element.addChild方法的典型用法代码示例。如果您正苦于以下问题:Java Element.addChild方法的具体用法?Java Element.addChild怎么用?Java Element.addChild使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类tigase.xml.Element
的用法示例。
在下文中一共展示了Element.addChild方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: buildRosterMatch
import tigase.xml.Element; //导入方法依赖的package包/类
/**
* Builds a roster match IQ for remote lookup requests.
* JIDs domain will be replaced by the given server name.
*/
private Element buildRosterMatch(Collection<BareJID> jidList, String id, String serverName) {
Element iq = new Element(Iq.ELEM_NAME);
iq.setAttribute(Iq.ID_ATT, id);
iq.setAttribute(Iq.TYPE_ATT, StanzaType.get.toString());
Element query = new Element("query");
query.setXMLNS(XMLNS);
for (BareJID jid : jidList) {
Element item = new Element("item");
item.setAttribute("jid", BareJID.bareJIDInstanceNS(jid.getLocalpart(), serverName).toString());
query.addChild(item);
}
iq.addChild(query);
return iq;
}
示例2: buildRosterMatch
import tigase.xml.Element; //导入方法依赖的package包/类
private Element buildRosterMatch(Collection<BareJID> jidList, String id, String serverName) {
Element iq = new Element(Iq.ELEM_NAME);
iq.setAttribute(Iq.ID_ATT, id);
iq.setAttribute(Iq.TYPE_ATT, StanzaType.get.toString());
Element query = new Element("query");
query.setXMLNS(KontalkRoster.XMLNS);
for (BareJID jid : jidList) {
Element item = new Element("item");
item.setAttribute("jid", BareJID.bareJIDInstanceNS(jid.getLocalpart(), serverName).toString());
query.addChild(item);
}
iq.addChild(query);
return iq;
}
示例3: testList
import tigase.xml.Element; //导入方法依赖的package包/类
private void testList(XMPPResourceConnection session, String listJID, String testJID, boolean shouldBeAllowed)
throws TigaseStringprepException, NotAuthorizedException {
JID jid = JID.jidInstance("[email protected]/res-1");
JID blockedJID = JID.jidInstance(listJID);
Element list = new Element("list", new String[]{"name"}, new String[]{"default"});
list.addChild(new Element("item", new String[]{"type", "value", "action", "order"},
new String[]{"jid", blockedJID.toString(), "deny", "100"}));
list.addChild(new Element("item", new String[]{"action", "order"},
new String[]{"allow", "110"}));
session.putSessionData("active-list", list);
Packet presence = Packet.packetInstance(new Element("presence",
new String[]{"from", "to"},
new String[]{testJID, jid.toString()}));
boolean isAllowed = privacyFilter.allowed(presence, session);
System.out.println("Privacy item: " + listJID + ", tested item: " + testJID + ", result: " + isAllowed);
if (shouldBeAllowed) {
assertTrue(isAllowed);
} else {
assertFalse(isAllowed);
}
}
示例4: addFieldMultiValue
import tigase.xml.Element; //导入方法依赖的package包/类
public static void addFieldMultiValue( final Element el, final String f_name,
final List<String> f_value ) {
Element x = el.getChild( "x", "jabber:x:data" );
if ( x == null ){
x = addDataForm( el, DataType.result );
}
if ( f_value != null ){
Element field = new Element( FIELD_EL, new String[] { "var", "type" },
new String[] { XMLUtils.escape( f_name ),
"text-multi" } );
for ( String val : f_value ) {
if ( val != null ){
Element value = new Element( VALUE_EL, XMLUtils.escape( val ) );
field.addChild( value );
}
}
x.addChild( field );
}
}
示例5: addFieldValue
import tigase.xml.Element; //导入方法依赖的package包/类
public static void addFieldValue( final Element el, final String f_name,
final String f_value ) {
Element x = el.getChild( "x", "jabber:x:data" );
if ( x == null ){
x = addDataForm( el, DataType.submit );
}
Element field = new Element( FIELD_EL,
new Element[] {
new Element( VALUE_EL, XMLUtils.escape( f_value ) ) },
new String[] { "var" },
new String[] { XMLUtils.escape( f_name ) } );
x.addChild( field );
}
示例6: prepareCarbonCopy
import tigase.xml.Element; //导入方法依赖的package包/类
/**
* Prepare packet which is carbon copy of message passed as argument
*
* @param packet
* @param session
* @param srcJid
* @param jid
* @param type
*
* @throws NoConnectionIdException
*/
private static Packet prepareCarbonCopy(Packet packet,
JID srcJid, JID jid, String type) { //throws NoConnectionIdException {
Packet msgClone = Message.getMessage(srcJid, jid, packet.getType(), null,
null, null, packet.getStanzaId());
//msgClone.setPacketTo(session.getConnectionId(jid));
Element received = new Element(type);
received.setXMLNS(XMLNS);
msgClone.getElement().addChild(received);
Element forwarded = new Element("forwarded");
forwarded.setXMLNS("urn:xmpp:forward:0");
received.addChild(forwarded);
forwarded.addChild(packet.getElement().clone());
return msgClone;
}
示例7: 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;
}
示例8: prepareRegisteredResponseForm
import tigase.xml.Element; //导入方法依赖的package包/类
private Element prepareRegisteredResponseForm(byte[] publicKey) {
Element query = new Element("query", new String[] { "xmlns" }, XMLNSS);
Form form = new Form("form", null, null);
form.addField(Field.fieldHidden("FORM_TYPE", IQ_FORM_KONTALK_CODE_XMLNS));
form.addField(Field.fieldTextSingle("publickey", Base64.encode(publicKey), "Signed public key"));
query.addChild(form.getElement());
return query;
}
示例9: getBlocked
import tigase.xml.Element; //导入方法依赖的package包/类
private List<String> getBlocked(XMPPResourceConnection sess) throws XMPPException, TigaseStringprepException {
Element iq = new Element("iq", new String[] { "type" }, new String[] { "get" });
Element blocklist = new Element("blocklist", new String[] { "xmlns" }, new String[] { BlockingCommand.XMLNS });
iq.addChild(blocklist);
Packet p = Packet.packetInstance(iq);
blockingCommand.process(p, sess, null, results, null);
assertEquals(1, results.size());
Packet result = results.poll();
assertEquals(Iq.ELEM_NAME, result.getElemName());
return result.getElement().getChild("blocklist").mapChildren(c -> c.getName() == "item", c -> c.getAttributeStaticStr("jid"));
}
示例10: prepareCapsQueryEl
import tigase.xml.Element; //导入方法依赖的package包/类
/**
* Method description
*
*
* @param to
* @param from
* @param node
*
*
*/
public static Element prepareCapsQueryEl(JID to, JID from, String node) {
String id = String.valueOf(idCounter++);
Element iq = new Element("iq", new String[] { "from", "to", "id", "type", Packet.XMLNS_ATT },
new String[] { from.toString(),
to.toString(), id, "get", Packet.CLIENT_XMLNS });
Element query = new Element("query", new String[] { "xmlns", "node" },
new String[] { "http://jabber.org/protocol/disco#info",
node });
iq.addChild(query);
return iq;
}
示例11: testStorageOfflineMessageForFullJid
import tigase.xml.Element; //导入方法依赖的package包/类
@Test
public void testStorageOfflineMessageForFullJid() throws Exception {
BareJID userJid = BareJID.bareJIDInstance("[email protected]");
JID res1 = JID.jidInstance(userJid, "res1");
JID res2 = JID.jidInstance(userJid, "res2");
XMPPResourceConnection session1 = getSession(JID.jidInstance("[email protected]/" + UUID.randomUUID().toString()), res1);
XMPPResourceConnection session2 = getSession(JID.jidInstance("[email protected]/" + UUID.randomUUID().toString()), res2);
assertEquals(Arrays.asList(session1, session2), session1.getActiveSessions());
Element packetEl = new Element("message", new String[] { "type", "from", "to" },
new String[] { "chat", "[email protected]/res1", res2.toString() });
packetEl.addChild(new Element("body", "Test message"));
Packet packet = Packet.packetInstance(packetEl);
Queue<Packet> results = new ArrayDeque<Packet>();
offlineProcessor.postProcess(packet, session1, null, results, null);
assertTrue("generated result even than no result should be generated", results.isEmpty());
assertTrue("message stored, while it should not be stored", msgRepo.getStored().isEmpty());
msgRepo.getStored().clear();
session1.setPriority(1);
results = new ArrayDeque<Packet>();
offlineProcessor.postProcess(packet, session1, null, results, null);
assertTrue("generated result even than no result should be generated", results.isEmpty());
assertTrue("message stored, while it should not be stored", msgRepo.getStored().isEmpty());
msgRepo.getStored().clear();
session1.setPresence(new Element("presence"));
results = new ArrayDeque<Packet>();
offlineProcessor.postProcess(packet, session1, null, results, null);
assertTrue("generated result even than no result should be generated", results.isEmpty());
assertTrue("message stored, while it should not be stored", msgRepo.getStored().isEmpty());
msgRepo.getStored().clear();
}
示例12: stamp
import tigase.xml.Element; //导入方法依赖的package包/类
@Override
public void stamp( Element msg, String msgID ) {
Element clone = offlineElementIns.clone();
final Element item = clone.getChild( FlexibleOfflineMessageRetrieval.ITEM_ELEMENT_NAME );
item.setAttribute( FlexibleOfflineMessageRetrieval.NODE_ATTRIBUTE_NAME, msgID );
msg.addChild( clone );
}
示例13: makeErrorElement
import tigase.xml.Element; //导入方法依赖的package包/类
/**
* @return
*/
public Element makeErrorElement() {
Element error = new Element("error");
error.setAttribute("code", String.valueOf(this.errorCondition.getErrorCode()));
error.setAttribute("type", this.errorCondition.getErrorType());
error.addChild(new Element(this.errorCondition.getCondition(), new String[] { "xmlns" }, new String[] { xmlns }));
return error;
}
示例14: packRouted
import tigase.xml.Element; //导入方法依赖的package包/类
/**
* Returns a new <code>Packet</code> instance with stanza <em>routed</em>
* which means an original stanza has been enclosed inside a <code>route</code>
* XML element which contains additional information taken from
* <code>Packet</code> packet instance internal attributes.
*
* @return a new <code>Packet</code> instance with <code>route</code> stanza.
*/
public Packet packRouted() {
Element routedp = new Element("route", new String[] { TO_ATT, FROM_ATT, PRIORITY_ATT,
PERM_ATT }, new String[] { getTo().toString(), getFrom().toString(),
priority.toString(), permissions.toString() });
routedp.addChild(elem);
return packetInstance(routedp, getFrom(), getTo());
}
示例15: savePacketForOffLineUser
import tigase.xml.Element; //导入方法依赖的package包/类
/**
* Method stores messages to offline repository with the following rules
* applied, i.e. saves only:
* <ul>
* <li> message stanza with either nonempty {@code <body>}, {@code <event>} or
* {@code <header>} child element and only messages of type normal, chat.</li>
* <li> presence stanza of type subscribe, subscribed, unsubscribe and
* unsubscribed.</li>
* </ul>
* <br>
* Processed messages are stamped with the {@code delay} element and
* appropriate timestamp.
* <br>
*
* @param pac a {@link Packet} object containing packet that should be
* verified and saved
* @param repo a {@link MsgRepositoryIfc} repository handler responsible for
* storing messages
* @return {@code true} if the packet was correctly saved to repository,
* {@code false} otherwise.
* @throws UserNotFoundException
*/
public boolean savePacketForOffLineUser(Packet pac, MsgRepositoryIfc repo)
throws UserNotFoundException {
if (isAllowedForOfflineStorage(pac)) {
if (log.isLoggable(Level.FINEST)) {
log.log(Level.FINEST, "Storing packet for offline user: {0}", pac);
}
Element elem = pac.getElement().clone();
String stamp = null;
synchronized (formatter) {
stamp = formatter.format(new Date());
}
String from = pac.getStanzaTo().getDomain();
Element x = new Element("delay", "Offline Storage - " + defHost, new String[]{
"from",
"stamp", "xmlns"}, new String[]{from, stamp, "urn:xmpp:delay"});
elem.addChild(x);
//
//
try {
// save to history
//
QBChatServices.getInstance().savePrivateChatMessageToHistory(elem, true, null);
} catch (XMPPException e) {
log.log(Level.SEVERE, "Exception when trying to save offline message to chat history: {0}", e);
}
//
//
repo.storeMessage(pac.getStanzaFrom(), pac.getStanzaTo(), null, elem);
pac.processedBy(ID);
return true;
}
if (log.isLoggable(Level.FINEST)) {
log.log(Level.FINEST, "Packet for offline user not suitable for storing: {0}",
pac);
}
return false;
}