use of org.dom4j.QName in project Openfire by igniterealtime.
the class Request method getMetaDataElement.
public Element getMetaDataElement() {
QName qName = DocumentHelper.createQName("metadata", DocumentHelper.createNamespace("", "http://jivesoftware.com/protocol/workgroup"));
Element metaDataElement = DocumentHelper.createElement(qName);
for (String name : metaData.keySet()) {
List<String> values = metaData.get(name);
for (String value : values) {
Element elem = metaDataElement.addElement("value");
elem.addAttribute("name", name).setText(value);
}
}
return metaDataElement;
}
use of org.dom4j.QName in project Openfire by igniterealtime.
the class TransferRequest method getSessionElement.
@Override
public Element getSessionElement() {
// Add the workgroup of the original user request
QName qName = DocumentHelper.createQName("session", DocumentHelper.createNamespace("", "http://jivesoftware.com/protocol/workgroup"));
Element sessionElement = DocumentHelper.createElement(qName);
sessionElement.addAttribute("id", sessionID);
sessionElement.addAttribute("workgroup", userRequest.getWorkgroup().getJID().toString());
return sessionElement;
}
use of org.dom4j.QName in project Openfire by igniterealtime.
the class Xep227Exporter method exportOfflineMessages.
/**
* Adding offline messages, if there are some.
*
* @param hostname
* host name
* @param userElement
* DOM element
* @param userName
* user name
*/
@SuppressWarnings("unchecked")
private void exportOfflineMessages(String hostname, Element userElement, String userName) {
Collection<OfflineMessage> offlineMessages = offlineMessagesStore.getMessages(userName, false);
if (!offlineMessages.isEmpty()) {
Element offlineElement = userElement.addElement(OFFLINE_MESSAGES_ELEMENT_NAME);
for (OfflineMessage offMessage : offlineMessages) {
Element messageElement = offlineElement.addElement(new QName(MESSAGE_ELEMENT_NAME, JABBER_MSG_NS));
for (Object att : offMessage.getElement().attributes()) {
Attribute attribute = (Attribute) att;
messageElement.addAttribute(attribute.getQName(), attribute.getValue());
}
for (Iterator<Element> iterator = offMessage.getElement().elementIterator(); iterator.hasNext(); ) {
Element element = iterator.next();
messageElement.add(element.createCopy(new QName(element.getName(), (element.getNamespace() == Namespace.NO_NAMESPACE ? JABBER_MSG_NS : element.getNamespace()))));
}
/**
* Adding delay element
*/
Element delayElement = messageElement.addElement("delay", "urn:xmpp:delay");
delayElement.addAttribute(FROM_NAME, hostname);
delayElement.addAttribute("stamp", XMPPDateTimeFormat.format(offMessage.getCreationDate()));
delayElement.addText("Offline Storage");
}
}
}
use of org.dom4j.QName in project application by collectionspace.
the class ServicesXsd method generateSearchList.
@SuppressWarnings("null")
private void generateSearchList(Element root, Namespace ns) {
Element ele = root.addElement(new QName("complexType", ns));
ele.addAttribute("name", "abstractCommonList");
Element aele = ele.addElement(new QName("annotation", ns));
Element appele = aele.addElement(new QName("appinfo", ns));
Element jxb = appele.addElement(new QName("class", new Namespace("jaxb", "")));
jxb.addAttribute("ref", "org.collectionspace.services.jaxb.AbstractCommonList");
String[] listpath = record.getServicesListPath().split("/");
Element lele = root.addElement(new QName("element", ns));
lele.addAttribute("name", listpath[0]);
Element clele = lele.addElement(new QName("complexType", ns));
Element cplele = clele.addElement(new QName("complexContent", ns));
Element exlele = cplele.addElement(new QName("extension", ns));
exlele.addAttribute("base", "abstractCommmonList");
Element sexlele = exlele.addElement(new QName("sequence", ns));
Element slele = sexlele.addElement(new QName("element", ns));
slele.addAttribute("name", listpath[1]);
slele.addAttribute("maxOccurs", "unbounded");
Element cslele = slele.addElement(new QName("complexType", ns));
Element scslele = cslele.addElement(new QName("sequence", ns));
Set<String> searchflds = new HashSet();
for (String minis : record.getAllMiniDataSets()) {
if (minis != null && !minis.equals("")) {
for (FieldSet flds : record.getMiniDataSetByName(minis)) {
searchflds.add(flds.getServicesTag());
log.info(flds.getServicesTag());
}
}
}
Iterator iter = searchflds.iterator();
while (iter.hasNext()) {
Element sfld = scslele.addElement(new QName("element", ns));
sfld.addAttribute("name", (String) iter.next());
sfld.addAttribute("type", "xs:string");
sfld.addAttribute("minOccurs", "1");
}
/*standard fields */
Element stfld1 = scslele.addElement(new QName("element", ns));
stfld1.addAttribute("name", "uri");
stfld1.addAttribute("type", "xs:string");
stfld1.addAttribute("minOccurs", "1");
Element stfld2 = scslele.addElement(new QName("element", ns));
stfld2.addAttribute("name", "csid");
stfld2.addAttribute("type", "xs:string");
stfld2.addAttribute("minOccurs", "1");
}
use of org.dom4j.QName in project application by collectionspace.
the class ServicesXsd method generateRepeat.
private void generateRepeat(Repeat r, Element root, Namespace ns, String listName) {
if (r.hasServicesParent()) {
Element sequenced = null;
for (String path : r.getServicesParent()) {
if (path != null) {
if (null != sequenced) {
Element dele = sequenced.addElement(new QName("element", ns));
dele.addAttribute("name", path);
dele.addAttribute("type", path);
dele.addAttribute("minOccurs", "0");
dele.addAttribute("maxOccurs", "unbounded");
}
Element ele = root.addElement(new QName("complexType", ns));
ele.addAttribute("name", path);
sequenced = ele.addElement(new QName("sequence", ns));
}
}
if (sequenced != null) {
Element dele = sequenced.addElement(new QName("element", ns));
dele.addAttribute("name", r.getServicesTag());
dele.addAttribute("type", r.getServicesTag());
dele.addAttribute("minOccurs", "0");
dele.addAttribute("maxOccurs", "unbounded");
}
}
Element ele = root.addElement(new QName("complexType", ns));
ele.addAttribute("name", listName);
Element sele = ele.addElement(new QName("sequence", ns));
for (FieldSet fs : r.getChildren("")) {
generateDataEntry(sele, fs, ns, root, true);
}
}
Aggregations