use of org.eclipse.persistence.oxm.NamespaceResolver in project eclipselink by eclipse-ee4j.
the class XSDHelperProject method getRootDescriptor.
private XMLDescriptor getRootDescriptor() {
XMLDescriptor xmlDescriptor = new XMLDescriptor();
xmlDescriptor.setJavaClass(Root.class);
XMLSchemaClassPathReference schemaReference = new XMLSchemaClassPathReference();
schemaReference.setSchemaContext("/tns:root");
schemaReference.setType(XMLSchemaReference.COMPLEX_TYPE);
xmlDescriptor.setSchemaReference(schemaReference);
NamespaceResolver namespaceResolver = new NamespaceResolver();
namespaceResolver.put("tns", "urn:xsd");
xmlDescriptor.setNamespaceResolver(namespaceResolver);
XMLCompositeObjectMapping child1Mapping = new XMLCompositeObjectMapping();
child1Mapping.setAttributeName("child1");
child1Mapping.setXPath("tns:child1");
xmlDescriptor.addMapping(child1Mapping);
XMLCompositeObjectMapping child2Mapping = new XMLCompositeObjectMapping();
child2Mapping.setAttributeName("child2");
child2Mapping.setXPath("tns:child2");
xmlDescriptor.addMapping(child2Mapping);
return xmlDescriptor;
}
use of org.eclipse.persistence.oxm.NamespaceResolver in project eclipselink by eclipse-ee4j.
the class OppositeProject method getRootDescriptor.
private XMLDescriptor getRootDescriptor() {
XMLDescriptor xmlDescriptor = new XMLDescriptor();
xmlDescriptor.setJavaClass(Root.class);
XMLSchemaClassPathReference schemaReference = new XMLSchemaClassPathReference();
schemaReference.setSchemaContext("/tns:root");
schemaReference.setType(XMLSchemaReference.COMPLEX_TYPE);
xmlDescriptor.setSchemaReference(schemaReference);
NamespaceResolver namespaceResolver = new NamespaceResolver();
namespaceResolver.put("tns", "urn:opposite");
xmlDescriptor.setNamespaceResolver(namespaceResolver);
XMLCompositeObjectMapping child1Mapping = new XMLCompositeObjectMapping();
child1Mapping.setAttributeName("child1");
child1Mapping.setXPath("tns:child1");
xmlDescriptor.addMapping(child1Mapping);
XMLCompositeObjectMapping child2Mapping = new XMLCompositeObjectMapping();
child2Mapping.setAttributeName("child2");
child2Mapping.setXPath("tns:child2");
xmlDescriptor.addMapping(child2Mapping);
return xmlDescriptor;
}
use of org.eclipse.persistence.oxm.NamespaceResolver in project eclipselink by eclipse-ee4j.
the class MappingsProject method getChild2Descriptor.
private XMLDescriptor getChild2Descriptor() {
XMLDescriptor xmlDescriptor = new XMLDescriptor();
xmlDescriptor.setJavaClass(Child2.class);
xmlDescriptor.setDefaultRootElement("tns:child2");
xmlDescriptor.addPrimaryKeyFieldName("@id");
XMLSchemaClassPathReference schemaReference = new XMLSchemaClassPathReference();
schemaReference.setSchemaContext("/tns:child2");
schemaReference.setType(XMLSchemaReference.ELEMENT);
xmlDescriptor.setSchemaReference(schemaReference);
NamespaceResolver namespaceResolver = new NamespaceResolver();
namespaceResolver.put("tns", "urn:mappings");
xmlDescriptor.setNamespaceResolver(namespaceResolver);
XMLDirectMapping idMapping = new XMLDirectMapping();
idMapping.setAttributeName("id");
idMapping.setXPath("@id");
xmlDescriptor.addMapping(idMapping);
XMLObjectReferenceMapping child1Mapping = new XMLObjectReferenceMapping();
child1Mapping.setReferenceClass(Child1.class);
child1Mapping.setAttributeName("child1");
child1Mapping.addSourceToTargetKeyFieldAssociation("tns:child1/text()", "@id");
xmlDescriptor.addMapping(child1Mapping);
XMLObjectReferenceMapping child1AttributeMapping = new XMLObjectReferenceMapping();
child1AttributeMapping.setReferenceClass(Child1.class);
child1AttributeMapping.setAttributeName("child1Attribute");
child1AttributeMapping.addSourceToTargetKeyFieldAssociation("@child1", "@id");
xmlDescriptor.addMapping(child1AttributeMapping);
return xmlDescriptor;
}
use of org.eclipse.persistence.oxm.NamespaceResolver in project eclipselink by eclipse-ee4j.
the class IsSetProject method getRootDescriptor.
private XMLDescriptor getRootDescriptor() {
XMLDescriptor xmlDescriptor = new XMLDescriptor();
xmlDescriptor.setJavaClass(Root.class);
xmlDescriptor.setDefaultRootElement("tns:root-element");
XMLSchemaClassPathReference schemaReference = new XMLSchemaClassPathReference();
schemaReference.setSchemaContext("/tns:root");
schemaReference.setType(XMLSchemaReference.COMPLEX_TYPE);
xmlDescriptor.setSchemaReference(schemaReference);
NamespaceResolver namespaceResolver = new NamespaceResolver();
namespaceResolver.put("tns", "urn:isset");
xmlDescriptor.setNamespaceResolver(namespaceResolver);
XMLCompositeObjectMapping mapping = new XMLCompositeObjectMapping();
mapping.setReferenceClass(Child.class);
if (mapping.getInverseReferenceMapping() != null) {
mapping.getInverseReferenceMapping().setAttributeName("container");
}
mapping.setAttributeName("childProperty");
mapping.setXPath("tns:child");
xmlDescriptor.addMapping(mapping);
XMLCompositeCollectionMapping mapping2 = new XMLCompositeCollectionMapping();
mapping2.setReferenceClass(Child.class);
if (mapping.getInverseReferenceMapping() != null) {
mapping2.getInverseReferenceMapping().setAttributeName("container");
}
mapping2.setAttributeName("childCollectionProperty");
mapping2.setXPath("tns:child-many");
mapping2.getContainerPolicy().setContainerClass(ArrayList.class);
xmlDescriptor.addMapping(mapping2);
return xmlDescriptor;
}
use of org.eclipse.persistence.oxm.NamespaceResolver in project eclipselink by eclipse-ee4j.
the class OracleHelper method buildNewXMLDescriptor.
/**
* Build an XMLDescriptor based on a given descriptor alias,
* java class name schema alias, and target namespace.
*/
protected XMLDescriptor buildNewXMLDescriptor(String objectAlias, String javaClassName, String userType, String targetNamespace) {
XMLDescriptor xdesc = new XMLDescriptor();
xdesc.setAlias(objectAlias);
xdesc.setJavaClassName(javaClassName);
xdesc.getQueryManager();
XMLSchemaURLReference schemaReference = new XMLSchemaURLReference();
schemaReference.setSchemaContext(SLASH + userType);
schemaReference.setType(org.eclipse.persistence.platform.xml.XMLSchemaReference.COMPLEX_TYPE);
xdesc.setSchemaReference(schemaReference);
NamespaceResolver nr = new NamespaceResolver();
nr.setDefaultNamespaceURI(targetNamespace);
xdesc.setNamespaceResolver(nr);
xdesc.setDefaultRootElement(userType);
return xdesc;
}
Aggregations