private Bind getBindByNodeset(String nodeset) { if (context.getForm().getModel() == null) return null; for (Bind bind : context.getForm().getModel().getBinds()) { Bind result = getBindByNodesetRecursive(bind, nodeset, ""); if (result != null) return result; } return null; }
private Submission getSubmissionById(String id) { if (context.getForm().getModel() == null) return null; for (Submission submission : context.getForm().getModel().getSubmissions()) { if (submission.getAttributes().get("id") != null && submission.getAttributes().get("id").equals(id)) return submission; } return null; }
public void exportERDF(Writer writer) { for (XFormsUIElement element : context.getForm().getChildElements()) { registerResourcesRecursive(element, context.getForm()); } try { writer.append("<div class=\"processdata\">"); appendFormERDF(writer); for (XFormsElement element : context.getRegisteredElements()) { appendElementERDF(writer, element); } writer.append("</div>"); } catch (IOException e) { e.printStackTrace(); } }
private void appendFormERDF(Writer writer) throws IOException { String name = context.getForm().getAttributes().get("name"); if (name == null) name = ""; String head = ""; if (context.getForm().getHead() != null) { try { ByteArrayOutputStream stream = new ByteArrayOutputStream(); XMLSerializer serializer = new XMLSerializer(); serializer.setOutputByteStream(stream); serializer.asDOMSerializer(); serializer.setNamespaces(true); serializer.serialize(context.getForm().getHead()); head = StringEscapeUtils.escapeXml(stream.toString()); } catch (IOException e) { e.printStackTrace(); } } String nsDeclarations = ""; for (String key : context.getForm().getNSDeclarations().keySet()) { nsDeclarations += "[" + key + "," + context.getForm().getNSDeclarations().get(key) + "]"; } writer.append("<div id=\"" + context.getForm().getResourceId() + "\" class=\"-oryx-canvas\">"); appendOryxField(writer, "type", STENCILSET_URI + "#" + context.getForm().getStencilId()); appendXFormsField(writer, "id", ""); appendXFormsField(writer, "name", name); appendXFormsField(writer, "version", ""); appendXFormsField(writer, "head", head); appendXFormsField(writer, "nsdeclarations", nsDeclarations); appendOryxField(writer, "mode", "writable"); appendOryxField(writer, "mode", "fullscreen"); writer.append( "<a rel=\"oryx-stencilset\" href=\"/oryx/stencilsets/xforms/xforms.json\"/>"); // TODO: HACK // TO MAKE IT // WORK FOR // NOW for (String id : context.getResourceIds()) { writer.append("<a rel=\"oryx-render\" href=\"#" + id + "\"/>"); } writer.append("</div>"); }