diff options
author | Christian Schneppe <christian@pix-art.de> | 2017-08-01 13:19:11 +0200 |
---|---|---|
committer | Christian Schneppe <christian@pix-art.de> | 2017-08-01 13:19:11 +0200 |
commit | d7bc205420bc07578aee49087b3988429e22372b (patch) | |
tree | 990bd1205488b516c9c7862f7c617866d541daae /src/main/java/de/pixart/messenger/xmpp/forms | |
parent | 7e0d6f846030ce6632e0071bfa0a9301a2ff778d (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.java | 16 |
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; + } } |