diff options
Diffstat (limited to 'src/main/java/de/thedevstack/conversationsplus/xmpp/forms')
-rw-r--r-- | src/main/java/de/thedevstack/conversationsplus/xmpp/forms/Data.java | 95 | ||||
-rw-r--r-- | src/main/java/de/thedevstack/conversationsplus/xmpp/forms/Field.java | 81 |
2 files changed, 0 insertions, 176 deletions
diff --git a/src/main/java/de/thedevstack/conversationsplus/xmpp/forms/Data.java b/src/main/java/de/thedevstack/conversationsplus/xmpp/forms/Data.java deleted file mode 100644 index cb612a07..00000000 --- a/src/main/java/de/thedevstack/conversationsplus/xmpp/forms/Data.java +++ /dev/null @@ -1,95 +0,0 @@ -package de.thedevstack.conversationsplus.xmpp.forms; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.Iterator; -import java.util.List; - -import de.thedevstack.conversationsplus.xml.Element; - -public class Data extends Element { - - public Data() { - super("x"); - this.setAttribute("xmlns","jabber:x:data"); - } - - public List<Field> getFields() { - ArrayList<Field> fields = new ArrayList<Field>(); - for(Element child : getChildren()) { - if (child.getName().equals("field")) { - fields.add(Field.parse(child)); - } - } - return fields; - } - - public Field getFieldByName(String needle) { - for(Element child : getChildren()) { - if (child.getName().equals("field") && needle.equals(child.getAttribute("var"))) { - return Field.parse(child); - } - } - return null; - } - - public void put(String name, String value) { - Field field = getFieldByName(name); - if (field == null) { - field = new Field(name); - this.addChild(field); - } - field.setValue(value); - } - - public void put(String name, Collection<String> values) { - Field field = getFieldByName(name); - if (field == null) { - field = new Field(name); - this.addChild(field); - } - field.setValues(values); - } - - public void submit() { - this.setAttribute("type","submit"); - removeUnnecessaryChildren(); - for(Field field : getFields()) { - field.removeNonValueChildren(); - } - } - - private void removeUnnecessaryChildren() { - for(Iterator<Element> iterator = this.children.iterator(); iterator.hasNext();) { - Element element = iterator.next(); - if (!element.getName().equals("field") && !element.getName().equals("title")) { - iterator.remove(); - } - } - } - - public static Data parse(Element element) { - Data data = new Data(); - data.setAttributes(element.getAttributes()); - data.setChildren(element.getChildren()); - return data; - } - - public void setFormType(String formType) { - this.put("FORM_TYPE", formType); - } - - public String getFormType() { - String type = getValue("FORM_TYPE"); - return type == null ? "" : type; - } - - public String getValue(String name) { - Field field = this.getFieldByName(name); - return field == null ? null : field.getValue(); - } - - public String getTitle() { - return findChildContent("title"); - } -} diff --git a/src/main/java/de/thedevstack/conversationsplus/xmpp/forms/Field.java b/src/main/java/de/thedevstack/conversationsplus/xmpp/forms/Field.java deleted file mode 100644 index 88b3155c..00000000 --- a/src/main/java/de/thedevstack/conversationsplus/xmpp/forms/Field.java +++ /dev/null @@ -1,81 +0,0 @@ -package de.thedevstack.conversationsplus.xmpp.forms; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.Iterator; -import java.util.List; - -import de.thedevstack.conversationsplus.xml.Element; - -public class Field extends Element { - - public Field(String name) { - super("field"); - this.setAttribute("var",name); - } - - private Field() { - super("field"); - } - - public String getFieldName() { - return this.getAttribute("var"); - } - - public void setValue(String value) { - this.children.clear(); - this.addChild("value").setContent(value); - } - - public void setValues(Collection<String> values) { - this.children.clear(); - for(String value : values) { - this.addChild("value").setContent(value); - } - } - - public void removeNonValueChildren() { - for(Iterator<Element> iterator = this.children.iterator(); iterator.hasNext();) { - Element element = iterator.next(); - if (!element.getName().equals("value")) { - iterator.remove(); - } - } - } - - public static Field parse(Element element) { - Field field = new Field(); - field.setAttributes(element.getAttributes()); - field.setChildren(element.getChildren()); - return field; - } - - public String getValue() { - return findChildContent("value"); - } - - public List<String> getValues() { - List<String> values = new ArrayList<>(); - for(Element child : getChildren()) { - if ("value".equals(child.getName())) { - String content = child.getContent(); - if (content != null) { - values.add(content); - } - } - } - return values; - } - - public String getLabel() { - return getAttribute("label"); - } - - public String getType() { - return getAttribute("type"); - } - - public boolean isRequired() { - return hasChild("required"); - } -} |