private static void buildBindNodes(Element modelElement) { // Create bind node for relative. Element bindNode = modelElement.createElement(XformBuilder.NAMESPACE_XFORMS, null); bindNode.setName(XformBuilder.NODE_BIND); bindNode.setAttribute(null, XformBuilder.ATTRIBUTE_ID, BIND_RELATIVE); bindNode.setAttribute(null, XformBuilder.ATTRIBUTE_NODESET, "/form/patient/patient_relative"); modelElement.addChild(Element.ELEMENT, bindNode); // Create bind node for person. bindNode = modelElement.createElement(XformBuilder.NAMESPACE_XFORMS, null); bindNode.setName(XformBuilder.NODE_BIND); bindNode.setAttribute(null, XformBuilder.ATTRIBUTE_ID, BIND_PERSON); bindNode.setAttribute( null, XformBuilder.ATTRIBUTE_NODESET, "/form/patient/patient_relative/patient_relative.person"); modelElement.addChild(Element.ELEMENT, bindNode); // Create bind node for relationship. bindNode = modelElement.createElement(XformBuilder.NAMESPACE_XFORMS, null); bindNode.setName(XformBuilder.NODE_BIND); bindNode.setAttribute(null, XformBuilder.ATTRIBUTE_ID, BIND_RELATIONSHIP); bindNode.setAttribute( null, XformBuilder.ATTRIBUTE_NODESET, "/form/patient/patient_relative/patient_relative.relationship"); modelElement.addChild(Element.ELEMENT, bindNode); }
private static void buildPersonInputNode(Element repeatNode) { // Create person input node. Element inputNode = repeatNode.createElement(XformBuilder.NAMESPACE_XFORMS, null); inputNode.setName(XformBuilder.CONTROL_INPUT); inputNode.setAttribute(null, XformBuilder.ATTRIBUTE_BIND, BIND_PERSON); repeatNode.addChild(Element.ELEMENT, inputNode); // Create person label. Element labelNode = repeatNode.createElement(XformBuilder.NAMESPACE_XFORMS, null); labelNode.setName(XformBuilder.NODE_LABEL); labelNode.addChild(Element.TEXT, "RELATIVE"); inputNode.addChild(Element.ELEMENT, labelNode); repeatNode.addChild(Element.ELEMENT, inputNode); }
private static void buildRelationshipInputNode(Element repeatNode) { // Create relationship input node. Element inputNode = repeatNode.createElement(XformBuilder.NAMESPACE_XFORMS, null); inputNode.setName(XformBuilder.CONTROL_SELECT1); inputNode.setAttribute(null, XformBuilder.ATTRIBUTE_BIND, BIND_RELATIONSHIP); populateRelationshipTypes(inputNode); repeatNode.addChild(Element.ELEMENT, inputNode); // Create relationship label. Element labelNode = repeatNode.createElement(XformBuilder.NAMESPACE_XFORMS, null); labelNode.setName(XformBuilder.NODE_LABEL); labelNode.addChild(Element.TEXT, "RELATIONSHIP"); inputNode.addChild(Element.ELEMENT, labelNode); repeatNode.addChild(Element.ELEMENT, inputNode); }
/** * Encode. * * @param method the method * @return the element */ public final Element encode(final RPCMethod method) { GetRPCMethodsResponse grpc = (GetRPCMethodsResponse) method; Element result = new Element(); result.setName("GetRPCMethodsResponse"); result.setNamespace(Soap.getCWMPNameSpace()); Element eMethodList = new Element(); eMethodList.setName("MethodList"); result.addChild(Element.ELEMENT, eMethodList); StringBuffer value = new StringBuffer("xsd:string["); value.append(grpc.getLsRPCMethods().size()); value.append("]"); eMethodList.setAttribute(Soap.getSoapEncNameSpace(), "arrayType", value.toString()); for (String string : grpc.getLsRPCMethods()) { Element e = new Element(); e.setName("string"); e.addChild(Element.TEXT, string); eMethodList.addChild(Element.ELEMENT, e); } return result; }
/** * Creates a node for a select option for the specified relation type * * @param relationshipType the relationshipType object. * @param controlNode the select node * @param isA specifies which side of the relationship we are adding the option for * @return the Element for the select option */ private static Element createRelationTypeOptionNode( RelationshipType relationshipType, Element controlNode, boolean isA) { Element itemNode = controlNode.createElement(XformBuilder.NAMESPACE_XFORMS, null); itemNode.setName(XformBuilder.NODE_ITEM); Element node = itemNode.createElement(XformBuilder.NAMESPACE_XFORMS, null); node.setName(XformBuilder.NODE_LABEL); node.addChild( Element.TEXT, "is " + ((isA) ? relationshipType.getaIsToB() : relationshipType.getbIsToA()) + " [" + relationshipType.getRelationshipTypeId() + "]"); itemNode.addChild(Element.ELEMENT, node); node = itemNode.createElement(XformBuilder.NAMESPACE_XFORMS, null); node.setName(XformBuilder.NODE_VALUE); node.addChild(Element.TEXT, relationshipType.getRelationshipTypeId() + ((isA) ? "A" : "B")); itemNode.addChild(Element.ELEMENT, node); return itemNode; }
private static Element buildRepeatInputNode(Element bodyNode) { // Create the parent repeat ui node. Element groupNode = bodyNode.createElement(XformBuilder.NAMESPACE_XFORMS, null); groupNode.setName(XformBuilder.NODE_GROUP); bodyNode.addChild(Element.ELEMENT, groupNode); Element labelNode = bodyNode.createElement(XformBuilder.NAMESPACE_XFORMS, null); labelNode.setName(XformBuilder.NODE_LABEL); labelNode.addChild(Element.TEXT, "RELATIONSHIPS"); groupNode.addChild(Element.ELEMENT, labelNode); Element hintNode = bodyNode.createElement(XformBuilder.NAMESPACE_XFORMS, null); hintNode.setName(XformBuilder.NODE_HINT); hintNode.addChild(Element.TEXT, "Relationships that this patient has."); groupNode.addChild(Element.ELEMENT, hintNode); Element repeatNode = bodyNode.createElement(XformBuilder.NAMESPACE_XFORMS, null); repeatNode.setName(XformBuilder.CONTROL_REPEAT); repeatNode.setAttribute(null, XformBuilder.ATTRIBUTE_BIND, BIND_RELATIVE); groupNode.addChild(Element.ELEMENT, repeatNode); return repeatNode; }