aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/pixart/messenger/xmpp/forms
diff options
context:
space:
mode:
authorChristian Schneppe <christian@pix-art.de>2017-08-01 13:19:11 +0200
committerChristian Schneppe <christian@pix-art.de>2017-08-01 13:19:11 +0200
commitd7bc205420bc07578aee49087b3988429e22372b (patch)
tree990bd1205488b516c9c7862f7c617866d541daae /src/main/java/de/pixart/messenger/xmpp/forms
parent7e0d6f846030ce6632e0071bfa0a9301a2ff778d (diff)
use publish-options instead of always pushing node configuration
Diffstat (limited to 'src/main/java/de/pixart/messenger/xmpp/forms')
-rw-r--r--src/main/java/de/pixart/messenger/xmpp/forms/Data.java16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/main/java/de/pixart/messenger/xmpp/forms/Data.java b/src/main/java/de/pixart/messenger/xmpp/forms/Data.java
index c2653a5e9..ed426f397 100644
--- a/src/main/java/de/pixart/messenger/xmpp/forms/Data.java
+++ b/src/main/java/de/pixart/messenger/xmpp/forms/Data.java
@@ -39,13 +39,14 @@ public class Data extends Element {
return null;
}
- public void put(String name, String value) {
+ public Field put(String name, String value) {
Field field = getFieldByName(name);
if (field == null) {
field = new Field(name);
this.addChild(field);
}
field.setValue(value);
+ return field;
}
public void put(String name, Collection<String> values) {
@@ -91,7 +92,8 @@ public class Data extends Element {
}
public void setFormType(String formType) {
- this.put(FORM_TYPE, formType);
+ Field field = this.put(FORM_TYPE, formType);
+ field.setAttribute("type", "hidden");
}
public String getFormType() {
@@ -107,4 +109,14 @@ public class Data extends Element {
public String getTitle() {
return findChildContent("title");
}
+
+ public static Data create(String type, Bundle bundle) {
+ Data data = new Data();
+ data.setFormType(type);
+ data.setAttribute("type", "submit");
+ for (String key : bundle.keySet()) {
+ data.put(key, bundle.getString(key));
+ }
+ return data;
+ }
}