protected XMLDescriptor buildProcedureOutputArgumentDescriptor() { XMLDescriptor descriptor = buildProcedureArgumentDescriptor(); descriptor.setJavaClass(ProcedureOutputArgument.class); XMLTransformationMapping resultType = new XMLTransformationMapping(); resultType.setAttributeName("resultType"); QNameTransformer qNameTransformer = new QNameTransformer("type/text()"); resultType.addFieldTransformer("type/text()", qNameTransformer); resultType.setAttributeTransformer(qNameTransformer); descriptor.addMapping(resultType); return descriptor; }
protected XMLDescriptor buildProcedureOutputArgumentDescriptor() { XMLDescriptor descriptor = buildProcedureArgumentDescriptor(); descriptor.setJavaClass(ProcedureOutputArgument.class); XMLTransformationMapping resultType = new XMLTransformationMapping(); resultType.setAttributeName("resultType"); QNameTransformer qNameTransformer = new QNameTransformer("type/text()"); resultType.addFieldTransformer("type/text()", qNameTransformer); resultType.setAttributeTransformer(qNameTransformer); descriptor.addMapping(resultType); return descriptor; }
private DatabaseMapping buildXMLTransformationMapping(String mappingUri) { XMLTransformationMapping mapping = new XMLTransformationMapping(); mapping.setAttributeName(getName()); String xpath = getQualifiedXPath(mappingUri, true); String xpathMinusText; int indexOfTextXPath = xpath.lastIndexOf("/text()"); if (indexOfTextXPath < 0) { xpathMinusText = xpath; } else { xpathMinusText = xpath.substring(0, indexOfTextXPath); } QNameTransformer transformer = new QNameTransformer(xpath); mapping.setAttributeTransformer(transformer); mapping.addFieldTransformer(xpath, transformer); NamespaceResolver nsr = new NamespaceResolver(); nsr.put(javax.xml.XMLConstants.XMLNS_ATTRIBUTE, javax.xml.XMLConstants.XMLNS_ATTRIBUTE_NS_URI); XMLField field = new XMLField(); field.setNamespaceResolver(nsr); field.setXPath(xpathMinusText + "/@" + javax.xml.XMLConstants.XMLNS_ATTRIBUTE + ":" + QNameTransformer.QNAME_NAMESPACE_PREFIX); mapping.addFieldTransformer(field, new NamespaceURITransformer()); return mapping; }
private DatabaseMapping buildXMLTransformationMapping(String mappingUri) { XMLTransformationMapping mapping = new XMLTransformationMapping(); mapping.setAttributeName(getName()); String xpath = getQualifiedXPath(mappingUri, true); String xpathMinusText; int indexOfTextXPath = xpath.lastIndexOf("/text()"); if (indexOfTextXPath < 0) { xpathMinusText = xpath; } else { xpathMinusText = xpath.substring(0, indexOfTextXPath); } QNameTransformer transformer = new QNameTransformer(xpath); mapping.setAttributeTransformer(transformer); mapping.addFieldTransformer(xpath, transformer); NamespaceResolver nsr = new NamespaceResolver(); nsr.put(javax.xml.XMLConstants.XMLNS_ATTRIBUTE, javax.xml.XMLConstants.XMLNS_ATTRIBUTE_NS_URI); XMLField field = new XMLField(); field.setNamespaceResolver(nsr); field.setXPath(xpathMinusText + "/@" + javax.xml.XMLConstants.XMLNS_ATTRIBUTE + ":" + QNameTransformer.QNAME_NAMESPACE_PREFIX); mapping.addFieldTransformer(field, new NamespaceURITransformer()); return mapping; }
protected XMLDescriptor buildParameterDescriptor() { XMLDescriptor descriptor = new XMLDescriptor(); descriptor.setJavaClass(Parameter.class); XMLDirectMapping name = new XMLDirectMapping(); name.setAttributeName("name"); name.setXPath("name/text()"); descriptor.addMapping(name); XMLTransformationMapping type = new XMLTransformationMapping(); type.setAttributeName("type"); QNameTransformer qNameTransformer = new QNameTransformer("type/text()"); type.addFieldTransformer("type/text()", qNameTransformer); type.setAttributeTransformer(qNameTransformer); descriptor.addMapping(type); XMLDirectMapping optional = new XMLDirectMapping(); optional.setAttributeName("optional"); optional.setXPath("@optional"); optional.setNullValue(false); descriptor.addMapping(optional); return descriptor; }
protected XMLDescriptor buildParameterDescriptor() { XMLDescriptor descriptor = new XMLDescriptor(); descriptor.setJavaClass(Parameter.class); XMLDirectMapping name = new XMLDirectMapping(); name.setAttributeName("name"); name.setXPath("name/text()"); descriptor.addMapping(name); XMLTransformationMapping type = new XMLTransformationMapping(); type.setAttributeName("type"); QNameTransformer qNameTransformer = new QNameTransformer("type/text()"); type.addFieldTransformer("type/text()", qNameTransformer); type.setAttributeTransformer(qNameTransformer); descriptor.addMapping(type); XMLDirectMapping optional = new XMLDirectMapping(); optional.setAttributeName("optional"); optional.setXPath("@optional"); optional.setNullValue(false); descriptor.addMapping(optional); return descriptor; }
private void initializeDescriptor(XMLDescriptor aDescriptor, QName aQName, Type aPropertyType, SDOProperty aValueProperty) { aDescriptor.setNamespaceResolver(null); SDOMethodAttributeAccessor accessor = null; accessor = new SDOMethodAttributeAccessor(aValueProperty); if (XMLConstants.QNAME_QNAME.equals(aQName)) { XMLTransformationMapping mapping = new XMLTransformationMapping(); mapping.setAttributeName(ATTRIBUTE_NAME); QNameTransformer transformer = new QNameTransformer("text()"); mapping.setAttributeTransformer(transformer); mapping.addFieldTransformer(XPATH, transformer); NamespaceResolver nsr = new NamespaceResolver(); nsr.setDefaultNamespaceURI(javax.xml.XMLConstants.XMLNS_ATTRIBUTE_NS_URI); XMLField field = new XMLField(); field.setNamespaceResolver(nsr); field.setXPath("@" + javax.xml.XMLConstants.XMLNS_ATTRIBUTE); mapping.addFieldTransformer(field, new NamespaceURITransformer()); mapping.setAttributeAccessor(accessor); aDescriptor.addMapping(mapping); } else { XMLDirectMapping mapping = new XMLDirectMapping(); mapping.setAttributeName(ATTRIBUTE_NAME); mapping.setXPath(XPATH); mapping.setAttributeClassification(aPropertyType.getInstanceClass()); ((XMLField) mapping.getField()).setSchemaType(aQName); mapping.setAttributeAccessor(accessor); aDescriptor.addMapping(mapping); } aDescriptor.setIsWrapper(true); }
private void initializeDescriptor(XMLDescriptor aDescriptor, QName aQName, Type aPropertyType, SDOProperty aValueProperty) { aDescriptor.setNamespaceResolver(null); SDOMethodAttributeAccessor accessor = null; accessor = new SDOMethodAttributeAccessor(aValueProperty); if (XMLConstants.QNAME_QNAME.equals(aQName)) { XMLTransformationMapping mapping = new XMLTransformationMapping(); mapping.setAttributeName(ATTRIBUTE_NAME); QNameTransformer transformer = new QNameTransformer("text()"); mapping.setAttributeTransformer(transformer); mapping.addFieldTransformer(XPATH, transformer); NamespaceResolver nsr = new NamespaceResolver(); nsr.setDefaultNamespaceURI(javax.xml.XMLConstants.XMLNS_ATTRIBUTE_NS_URI); XMLField field = new XMLField(); field.setNamespaceResolver(nsr); field.setXPath("@" + javax.xml.XMLConstants.XMLNS_ATTRIBUTE); mapping.addFieldTransformer(field, new NamespaceURITransformer()); mapping.setAttributeAccessor(accessor); aDescriptor.addMapping(mapping); } else { XMLDirectMapping mapping = new XMLDirectMapping(); mapping.setAttributeName(ATTRIBUTE_NAME); mapping.setXPath(XPATH); mapping.setAttributeClassification(aPropertyType.getInstanceClass()); ((XMLField) mapping.getField()).setSchemaType(aQName); mapping.setAttributeAccessor(accessor); aDescriptor.addMapping(mapping); } aDescriptor.setIsWrapper(true); }
type.setAttributeName("type"); QNameTransformer qNameTransformer = new QNameTransformer("type/text()"); type.addFieldTransformer("type/text()", qNameTransformer);
type.setAttributeName("type"); QNameTransformer qNameTransformer = new QNameTransformer("type/text()"); type.addFieldTransformer("type/text()", qNameTransformer);