/** * Set the Mapping field name attribute to the given XPath String * @param xpathString String */ public void setXPath(String xpathString) { XMLField field = new XMLField(xpathString); field.setSchemaType(XMLConstants.BASE_64_BINARY_QNAME); setField(new XMLField(xpathString)); }
/** * Set the Mapping field name attribute to the given XPath String * @param xpathString String */ @Override public void setXPath(String xpathString) { XMLField field = new XMLField(xpathString); field.setSchemaType(XMLConstants.BASE_64_BINARY_QNAME); setField(new XMLField(xpathString)); }
/** * Set the Mapping field name attribute to the given XPath String * @param xpathString String */ public void setXPath(String xpathString) { XMLField field = new XMLField(xpathString); field.setSchemaType(XMLConstants.BASE_64_BINARY_QNAME); setField(new XMLField(xpathString)); }
public void initializeMappings() { Iterator propIterator = this.getDeclaredProperties().iterator(); while(propIterator.hasNext()) { SDOProperty nextProp = (SDOProperty)propIterator.next(); if(nextProp.getName().equals("type")) { XMLDirectMapping mapping = new XMLDirectMapping(); mapping.setAttributeName(nextProp.getName()); String xpath = nextProp.getQualifiedXPath(SDOConstants.SDO_URL, true); mapping.setXPath(xpath); mapping.setConverter(new TypeStringConverter(this.typeHelper)); if (getXsdType() != null) { ((XMLField)mapping.getField()).setSchemaType(getXsdType()); } nextProp.setXmlMapping(mapping); nextProp.addMappingToOwner(true, -1); } else if(nextProp.getName().equals("opposite")) { } else { nextProp.buildMapping(SDOConstants.SDO_URL); } } initialized = true; }
QName schemaType = (QName)xmlConversionManager.getDefaultJavaTypes().get(nextMapping.getAttributeClassification()); if(schemaType != null && ((XMLField)nextMapping.getField()).getSchemaType() == null) { ((XMLField)nextMapping.getField()).setSchemaType(schemaType);
public void initializeMappings() { Iterator propIterator = this.getDeclaredProperties().iterator(); while(propIterator.hasNext()) { SDOProperty nextProp = (SDOProperty)propIterator.next(); if(nextProp.getName().equals("type")) { XMLDirectMapping mapping = new XMLDirectMapping(); mapping.setAttributeName(nextProp.getName()); String xpath = nextProp.getQualifiedXPath(SDOConstants.SDO_URL, true); mapping.setXPath(xpath); mapping.setConverter(new TypeStringConverter(this.typeHelper)); if (getXsdType() != null) { ((XMLField)mapping.getField()).setSchemaType(getXsdType()); } nextProp.setXmlMapping(mapping); nextProp.addMappingToOwner(true, -1); } else if(nextProp.getName().equals("opposite")) { } else { nextProp.buildMapping(SDOConstants.SDO_URL); } } initialized = true; }
private void writeSimpleValue(XMLField xmlRootField, DOMRecord row, AbstractSession session, Object originalObject, Object value, Node root, Node toReplace, boolean wasXMLRoot) { org.w3c.dom.Document doc = row.getDocument(); if (wasXMLRoot) { if (((XMLRoot) originalObject).getNamespaceURI() != null) { String prefix = row.getNamespaceResolver().resolveNamespaceURI(((XMLRoot) originalObject).getNamespaceURI()); if ((prefix == null) || prefix.length() == 0) { xmlRootField.getXPathFragment().setGeneratedPrefix(true); prefix = row.getNamespaceResolver().generatePrefix(); } xmlRootField.getXPathFragment().setXPath(prefix + XMLConstants.COLON + ((XMLRoot) originalObject).getLocalName()); } } if (null == xmlRootField) { Text textNode = doc.createTextNode((String) value); if (toReplace != null) { root.replaceChild(textNode, toReplace); } else { root.appendChild(textNode); } } else { QName qname = ((XMLRoot) originalObject).getSchemaType(); if(qname != null && !qname.equals(XMLConstants.STRING_QNAME)){ xmlRootField.setSchemaType(qname); xmlRootField.setIsTypedTextField(true); xmlRootField.addJavaConversion(value.getClass(), qname); } Node newNode = XPathEngine.getInstance().create(xmlRootField, root, value, session); } }
private void writeSimpleValue(XMLField xmlRootField, DOMRecord row, AbstractSession session, Object originalObject, Object value, Node root, Node toReplace, boolean wasXMLRoot) { org.w3c.dom.Document doc = row.getDocument(); if (wasXMLRoot) { if (((XMLRoot) originalObject).getNamespaceURI() != null) { String prefix = row.getNamespaceResolver().resolveNamespaceURI(((XMLRoot) originalObject).getNamespaceURI()); if ((prefix == null) || prefix.length() == 0) { xmlRootField.getXPathFragment().setGeneratedPrefix(true); prefix = row.getNamespaceResolver().generatePrefix(); } xmlRootField.getXPathFragment().setXPath(prefix + XMLConstants.COLON + ((XMLRoot) originalObject).getLocalName()); } } if (null == xmlRootField) { Text textNode = doc.createTextNode((String) value); if (toReplace != null) { root.replaceChild(textNode, toReplace); } else { root.appendChild(textNode); } } else { QName qname = ((XMLRoot) originalObject).getSchemaType(); if(qname != null && !qname.equals(XMLConstants.STRING_QNAME)){ xmlRootField.setSchemaType(qname); xmlRootField.setIsTypedTextField(true); xmlRootField.addJavaConversion(value.getClass(), qname); } Node newNode = XPathEngine.getInstance().create(xmlRootField, root, value, session); } }
private void writeSimpleValue(XMLField xmlRootField, Object element, Object originalObject, DOMRecord record, org.w3c.dom.Document doc, Node root, boolean wasXMLRoot, AbstractSession session) { if (wasXMLRoot) { if (((XMLRoot) originalObject).getNamespaceURI() != null) { String prefix = record.getNamespaceResolver().resolveNamespaceURI(((XMLRoot) originalObject).getNamespaceURI()); if ((prefix == null) || prefix.length() == 0) { xmlRootField.getXPathFragment().setGeneratedPrefix(true); prefix = record.getNamespaceResolver().generatePrefix(); } xmlRootField.getXPathFragment().setXPath(prefix + XMLConstants.COLON + ((XMLRoot) originalObject).getLocalName()); } } if (xmlRootField != null) { xmlRootField.setNamespaceResolver(record.getNamespaceResolver()); QName qname = ((XMLRoot) originalObject).getSchemaType(); if(qname != null){ if(!qname.equals(XMLConstants.STRING_QNAME)){ xmlRootField.setSchemaType(qname); xmlRootField.setIsTypedTextField(true); xmlRootField.addJavaConversion(((XMLRoot) originalObject).getObject().getClass(), qname); } } Node newNode = XPathEngine.getInstance().create(xmlRootField, root, element, session); } else { Text textNode = doc.createTextNode((String) element); root.appendChild(textNode); } }
private void writeSimpleValue(XMLField xmlRootField, Object element, Object originalObject, DOMRecord record, org.w3c.dom.Document doc, Node root, boolean wasXMLRoot, AbstractSession session) { if (wasXMLRoot) { if (((XMLRoot) originalObject).getNamespaceURI() != null) { String prefix = record.getNamespaceResolver().resolveNamespaceURI(((XMLRoot) originalObject).getNamespaceURI()); if ((prefix == null) || prefix.length() == 0) { xmlRootField.getXPathFragment().setGeneratedPrefix(true); prefix = record.getNamespaceResolver().generatePrefix(); } xmlRootField.getXPathFragment().setXPath(prefix + XMLConstants.COLON + ((XMLRoot) originalObject).getLocalName()); } } if (xmlRootField != null) { xmlRootField.setNamespaceResolver(record.getNamespaceResolver()); QName qname = ((XMLRoot) originalObject).getSchemaType(); if(qname != null){ if(!qname.equals(XMLConstants.STRING_QNAME)){ xmlRootField.setSchemaType(qname); xmlRootField.setIsTypedTextField(true); xmlRootField.addJavaConversion(((XMLRoot) originalObject).getObject().getClass(), qname); } } Node newNode = XPathEngine.getInstance().create(xmlRootField, root, element, session); } else { Text textNode = doc.createTextNode((String) element); root.appendChild(textNode); } }
private void writeSimpleValue(XMLField xmlRootField, Object element, Object originalObject, DOMRecord record, org.w3c.dom.Document doc, Node root, boolean wasXMLRoot, AbstractSession session) { if (wasXMLRoot) { if (((XMLRoot) originalObject).getRootFragment().getNamespaceURI() != null) { String prefix = record.getNamespaceResolver().resolveNamespaceURI(((XMLRoot) originalObject).getRootFragment().getNamespaceURI()); if ((prefix == null) || prefix.length() == 0) { xmlRootField.getXPathFragment().setGeneratedPrefix(true); prefix = record.getNamespaceResolver().generatePrefix(); } xmlRootField.getXPathFragment().setXPath(prefix + XMLConstants.COLON + ((XMLRoot) originalObject).getLocalName()); } } if (xmlRootField != null) { xmlRootField.setNamespaceResolver(record.getNamespaceResolver()); QName qname = ((XMLRoot) originalObject).getSchemaType(); if(qname != null){ if(!qname.equals(XMLConstants.STRING_QNAME)){ xmlRootField.setSchemaType(qname); xmlRootField.setIsTypedTextField(true); xmlRootField.addJavaConversion(((XMLRoot) originalObject).getObject().getClass(), qname); } } Node newNode = XPathEngine.getInstance().create(xmlRootField, root, element, session); } else { Text textNode = doc.createTextNode((String) element); root.appendChild(textNode); } }
private void writeSimpleValue(XMLField xmlRootField, DOMRecord row, AbstractSession session, Object originalObject, Object value, Node root, Node toReplace, boolean wasXMLRoot) { org.w3c.dom.Document doc = row.getDocument(); if (wasXMLRoot) { if (((XMLRoot) originalObject).getRootFragment().getNamespaceURI() != null) { String prefix = row.getNamespaceResolver().resolveNamespaceURI(((XMLRoot) originalObject).getRootFragment().getNamespaceURI()); if ((prefix == null) || prefix.length() == 0) { xmlRootField.getXPathFragment().setGeneratedPrefix(true); prefix = row.getNamespaceResolver().generatePrefix(); } xmlRootField.getXPathFragment().setXPath(prefix + XMLConstants.COLON + ((XMLRoot) originalObject).getLocalName()); } } if (null == xmlRootField) { Text textNode = doc.createTextNode((String) value); if (toReplace != null) { root.replaceChild(textNode, toReplace); } else { root.appendChild(textNode); } } else { QName qname = ((XMLRoot) originalObject).getSchemaType(); if(qname != null && !qname.equals(XMLConstants.STRING_QNAME)){ xmlRootField.setSchemaType(qname); xmlRootField.setIsTypedTextField(true); xmlRootField.addJavaConversion(value.getClass(), qname); } Node newNode = XPathEngine.getInstance().create(xmlRootField, root, value, session); } }
private DatabaseMapping buildXMLBinaryDataCollectionMapping(String mappingUri, MimeTypePolicy mimeTypePolicy) { XMLBinaryDataCollectionMapping mapping = new XMLBinaryDataCollectionMapping(); mapping.setAttributeName(getName()); String xpath = getQualifiedXPath(mappingUri, false); if (!getType().getInstanceClassName().equals("javax.activation.DataHandler")) { mapping.setAttributeElementClass(getType().getInstanceClass()); } mapping.setMimeTypePolicy(mimeTypePolicy); mapping.setXPath(xpath); ((XMLField)mapping.getField()).setSchemaType(XMLConstants.BASE_64_BINARY_QNAME); if (shouldAddInstanceClassConverter()) { InstanceClassConverter converter = new InstanceClassConverter(); converter.setCustomClass(getType().getInstanceClass()); mapping.setValueConverter(converter); } // mapping.setShouldInlineBinaryData(true); return mapping; }
private DatabaseMapping buildXMLBinaryDataCollectionMapping(String mappingUri, MimeTypePolicy mimeTypePolicy) { XMLBinaryDataCollectionMapping mapping = new XMLBinaryDataCollectionMapping(); mapping.setAttributeName(getName()); String xpath = getQualifiedXPath(mappingUri, false); if (!getType().getInstanceClassName().equals("javax.activation.DataHandler")) { mapping.setAttributeElementClass(getType().getInstanceClass()); } mapping.setMimeTypePolicy(mimeTypePolicy); mapping.setXPath(xpath); ((XMLField)mapping.getField()).setSchemaType(XMLConstants.BASE_64_BINARY_QNAME); if (shouldAddInstanceClassConverter()) { InstanceClassConverter converter = new InstanceClassConverter(); converter.setCustomClass(getType().getInstanceClass()); mapping.setValueConverter(converter); } // mapping.setShouldInlineBinaryData(true); return mapping; }
private DatabaseMapping buildXMLCompositeDirectCollectionMapping(String mappingUri) { XMLCompositeDirectCollectionMapping mapping = new XMLCompositeDirectCollectionMapping(); mapping.setAttributeName(getName()); String xpath = getQualifiedXPath(mappingUri, true); mapping.setXPath(xpath); mapping.setAttributeElementClass(getType().getInstanceClass()); if (getXsdType() != null) { ((XMLField)mapping.getField()).setSchemaType(getXsdType()); } if (getType().equals(SDOConstants.SDO_STRINGS)) { mapping.setUsesSingleNode(true); } if (getType().getInstanceClass() != null) { if (shouldAddInstanceClassConverter()) { InstanceClassConverter converter = new InstanceClassConverter(); converter.setCustomClass(getType().getInstanceClass()); mapping.setValueConverter(converter); } } return mapping; }
private DatabaseMapping buildXMLCompositeDirectCollectionMapping(String mappingUri) { XMLCompositeDirectCollectionMapping mapping = new XMLCompositeDirectCollectionMapping(); mapping.setAttributeName(getName()); String xpath = getQualifiedXPath(mappingUri, true); mapping.setXPath(xpath); mapping.setAttributeElementClass(getType().getInstanceClass()); if (getXsdType() != null) { ((XMLField)mapping.getField()).setSchemaType(getXsdType()); } if (getType().equals(SDOConstants.SDO_STRINGS)) { mapping.setUsesSingleNode(true); } if (getType().getInstanceClass() != null) { if (shouldAddInstanceClassConverter()) { InstanceClassConverter converter = new InstanceClassConverter(); converter.setCustomClass(getType().getInstanceClass()); mapping.setValueConverter(converter); } } return mapping; }
private DatabaseMapping buildXMLBinaryDataMapping(String mappingUri, MimeTypePolicy mimeTypePolicy) { XMLBinaryDataMapping mapping = new XMLBinaryDataMapping(); mapping.setAttributeName(getName()); String xpath = getQualifiedXPath(mappingUri, false); mapping.setMimeTypePolicy(mimeTypePolicy); mapping.setXPath(xpath); ((XMLField)mapping.getField()).setSchemaType(XMLConstants.BASE_64_BINARY_QNAME); if (shouldAddInstanceClassConverter()) { InstanceClassConverter converter = new InstanceClassConverter(); converter.setCustomClass(getType().getInstanceClass()); mapping.setConverter(converter); } // Set the null policy on the mapping // Use NullPolicy or IsSetNullPolicy if (nullable) { // elements only setIsSetNillablePolicyOnMapping(mapping, propertyName); } else { // elements or attributes setIsSetOptionalPolicyOnMapping(mapping, propertyName); } mapping.getNullPolicy().setNullRepresentedByEmptyNode(true); return mapping; }
private DatabaseMapping buildXMLBinaryDataMapping(String mappingUri, MimeTypePolicy mimeTypePolicy) { XMLBinaryDataMapping mapping = new XMLBinaryDataMapping(); mapping.setAttributeName(getName()); String xpath = getQualifiedXPath(mappingUri, false); mapping.setMimeTypePolicy(mimeTypePolicy); mapping.setXPath(xpath); ((XMLField)mapping.getField()).setSchemaType(XMLConstants.BASE_64_BINARY_QNAME); if (shouldAddInstanceClassConverter()) { InstanceClassConverter converter = new InstanceClassConverter(); converter.setCustomClass(getType().getInstanceClass()); mapping.setConverter(converter); } // Set the null policy on the mapping // Use NullPolicy or IsSetNullPolicy if (nullable) { // elements only setIsSetNillablePolicyOnMapping(mapping, propertyName); } else { // elements or attributes setIsSetOptionalPolicyOnMapping(mapping, propertyName); } mapping.getNullPolicy().setNullRepresentedByEmptyNode(true); return mapping; }
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); }