public QName getTypeQName() { if (!isElement) { return typeName; } else if (xmlSchema instanceof XmlSchemaElement) { return ((XmlSchemaElement)xmlSchema).getSchemaTypeName(); } return null; } public void setTypeQName(QName qn) {
public QName getTypeQName() { if (!isElement) { return typeName; } else if (xmlSchema instanceof XmlSchemaElement) { return ((XmlSchemaElement)xmlSchema).getSchemaTypeName(); } return null; } public void setTypeQName(QName qn) {
public QName getTypeQName() { if (!isElement) { return typeName; } else if (xmlSchema instanceof XmlSchemaElement) { return ((XmlSchemaElement)xmlSchema).getSchemaTypeName(); } return null; } public void setTypeQName(QName qn) {
public QName getTypeQName() { if (!isElement) { return typeName; } else if (xmlSchema instanceof XmlSchemaElement) { return ((XmlSchemaElement)xmlSchema).getSchemaTypeName(); } return null; } public void setTypeQName(QName qn) {
private static void factorySetupType(XmlSchemaElement element, SchemaCollection schemaCollection, ParticleInfo elementInfo) { elementInfo.type = element.getSchemaType(); if (elementInfo.type == null) { if (element.getSchemaTypeName() == null // no type at all -> anyType || element.getSchemaTypeName().equals(Constants.XSD_ANYTYPE)) { elementInfo.anyType = true; } else { elementInfo.type = schemaCollection.getTypeByQName(element.getSchemaTypeName()); if (elementInfo.type == null && !element.getSchemaTypeName() .getNamespaceURI().equals(Constants.URI_2001_SCHEMA_XSD)) { JavascriptUtils.unsupportedConstruct("MISSING_TYPE", element.getSchemaTypeName() .toString(), element.getQName(), element); } } } else if (elementInfo.type.getQName() != null && Constants.XSD_ANYTYPE.equals(elementInfo.type.getQName())) { elementInfo.anyType = true; } }
protected XmlSchemaComplexType getComplexTypeForElement(XmlSchema xmlSchema, QName name) { for (XmlSchemaObject object : xmlSchema.getItems()) { if (object instanceof XmlSchemaElement && ((XmlSchemaElement) object).getQName().equals(name)) { XmlSchemaComplexType xmlSchemaComplexType = (XmlSchemaComplexType) ((XmlSchemaElement) object).getSchemaType(); if ((xmlSchemaComplexType == null) && (((XmlSchemaElement) object).getSchemaTypeName() != null)) { xmlSchemaComplexType = (XmlSchemaComplexType) xmlSchema.getTypeByName(((XmlSchemaElement) object).getSchemaTypeName()); } return xmlSchemaComplexType; } } return null; }
/** * Extracts the schema type from the given element. * @param cparams The common parameters used in the schema generator * @param element The element the type will be extract from * @return The element type */ private static XmlSchemaComplexType extractElementSchemaType(CommonParams cparams, XmlSchemaElement element) { XmlSchemaComplexType type = (XmlSchemaComplexType) element.getSchemaType(); /* if null, this must be globally defined */ if (type == null) { type = cparams.getTypeMap().get(element.getSchemaTypeName()); } return type; }
protected XmlSchemaComplexType getComplexTypeForElement(XmlSchema xmlSchema, QName name) { for (XmlSchemaObject object : xmlSchema.getItems()) { if (object instanceof XmlSchemaElement && ((XmlSchemaElement) object).getQName().equals(name)) { XmlSchemaComplexType xmlSchemaComplexType = (XmlSchemaComplexType) ((XmlSchemaElement) object).getSchemaType(); if ((xmlSchemaComplexType == null) && (((XmlSchemaElement) object).getSchemaTypeName() != null)) { xmlSchemaComplexType = (XmlSchemaComplexType) xmlSchema.getTypeByName(((XmlSchemaElement) object).getSchemaTypeName()); } return xmlSchemaComplexType; } } return null; }
private boolean isXSDPrimitive(MessagePartInfo part) { String xsdNs = "http://www.w3.org/2001/XMLSchema"; QName tn = null; if (part.isElement()) { tn = ((XmlSchemaElement)part.getXmlSchema()).getSchemaTypeName(); } else { tn = part.getTypeQName(); } if (tn != null && tn.getNamespaceURI().equals(xsdNs)) { return true; } // TODO: introspect xml schema object to see if the <xsd:element> is a simpleType // restriction return false; }
private static List<WrapperElement> createWrappedElements(XmlSchemaSequence seq) { List<WrapperElement> qnames = new ArrayList<>(); if (seq != null) { List<XmlSchemaSequenceMember> items = seq.getItems(); for (XmlSchemaSequenceMember seqMember : items) { XmlSchemaElement subElement = (XmlSchemaElement)seqMember; if (subElement.getQName() != null) { qnames.add(new WrapperElement(subElement.getWireName(), subElement.getSchemaTypeName())); } else { qnames.add(new WrapperElement(subElement.getRef().getTargetQName(), subElement.getSchemaTypeName())); } } } return qnames; }
private void addGlobalElement(final XmlSchemaElement element) { // Nested anonymous type QName xmlType = element.getSchemaTypeName(); if (xmlType == null) { // Rule 1.b: Anonymous type inside an element ">E" xmlType = new QName(element.getQName().getNamespaceURI(), ">" + element.getQName().getLocalPart()); addType(xmlType, element.getSchemaType()); } // create the XmlElementInfo final XmlElementInfo elementInfo = createXmlElementInfo(element.getQName(), xmlType, element); xmlElements.put(element.getQName(), elementInfo); }
private DataType getDataType(QName qName, XmlSchemaCollection xmlSchema) { // We only support doc-lit XmlSchemaElement element = xmlSchema.getElementByQName(qName); if(element != null) { return new XSDElement(element.getSchemaTypeName()); } throw new WsdlProcessorException("Unable to find element " + qName); }
private static boolean containsAnonymousTypes(XmlSchemaComplexType ct) { XmlSchemaGroupBase particle = (XmlSchemaGroupBase)ct.getParticle(); if (particle == null) { return false; } XmlSchemaObjectCollection items = particle.getItems(); for (int i = 0; i < items.getCount(); i++) { XmlSchemaObject item = items.getItem(i); if (item instanceof XmlSchemaElement) { XmlSchemaElement el = (XmlSchemaElement) item; if (el.getSchemaTypeName() == null) return true; } else if (item instanceof XmlSchemaElement) { XmlSchemaComplexType el = (XmlSchemaComplexType) item; if (el.getParticle() != null) return true; } } return false; }
private void addElementCrossImportsElement(XmlSchema schema, XmlSchemaElement item) { XmlSchemaElement element = item; XmlSchemaUtils.addImportIfNeeded(schema, element.getRef().getTargetQName()); XmlSchemaUtils.addImportIfNeeded(schema, element.getSchemaTypeName()); // if there's an anonymous type, it might have element refs in it. XmlSchemaType schemaType = element.getSchemaType(); if (!crossImportsAdded(schema, schemaType)) { addCrossImportsType(schema, schemaType); } }
private void addElementCrossImportsElement(XmlSchema schema, XmlSchemaElement item) { XmlSchemaElement element = item; XmlSchemaUtils.addImportIfNeeded(schema, element.getRef().getTargetQName()); XmlSchemaUtils.addImportIfNeeded(schema, element.getSchemaTypeName()); // if there's an anonymous type, it might have element refs in it. XmlSchemaType schemaType = element.getSchemaType(); if (!crossImportsAdded(schema, schemaType)) { addCrossImportsType(schema, schemaType); } }
private void addElementCrossImportsElement(XmlSchema schema, XmlSchemaElement item) { XmlSchemaElement element = item; XmlSchemaUtils.addImportIfNeeded(schema, element.getRef().getTargetQName()); XmlSchemaUtils.addImportIfNeeded(schema, element.getSchemaTypeName()); // if there's an anonymous type, it might have element refs in it. XmlSchemaType schemaType = element.getSchemaType(); if (!crossImportsAdded(schema, schemaType)) { addCrossImportsType(schema, schemaType); } }
private void createBridgeXsElement(MessagePartInfo part, QName qn, QName typeName) { XmlSchemaElement el = null; SchemaInfo schemaInfo = serviceInfo.getSchema(qn.getNamespaceURI()); if (schemaInfo != null) { el = schemaInfo.getElementByQName(qn); if (el == null) { createXsElement(schemaInfo.getSchema(), part, typeName, schemaInfo); } else if (!typeName.equals(el.getSchemaTypeName())) { throw new Fault(new Message("CANNOT_CREATE_ELEMENT", LOG, qn, typeName, el.getSchemaTypeName())); } return; } XmlSchema schema = schemas.newXmlSchemaInCollection(qn.getNamespaceURI()); if (qualifiedSchemas) { schema.setElementFormDefault(XmlSchemaForm.QUALIFIED); } schemaInfo = new SchemaInfo(qn.getNamespaceURI(), qualifiedSchemas, false); schemaInfo.setSchema(schema); el = createXsElement(schema, part, typeName, schemaInfo); NamespaceMap nsMap = new NamespaceMap(); nsMap.add(WSDLConstants.CONVENTIONAL_TNS_PREFIX, schema.getTargetNamespace()); nsMap.add(WSDLConstants.NP_SCHEMA_XSD, WSDLConstants.NS_SCHEMA_XSD); schema.setNamespaceContext(nsMap); serviceInfo.addSchema(schemaInfo); }
private void addElementCrossImportsElement(XmlSchema schema, XmlSchemaElement item) { XmlSchemaElement element = (XmlSchemaElement)item; XmlSchemaUtils.addImportIfNeeded(schema, element.getRef().getTargetQName()); XmlSchemaUtils.addImportIfNeeded(schema, element.getSchemaTypeName()); // if there's an anonymous type, it might have element refs in it. XmlSchemaType schemaType = element.getSchemaType(); if (!crossImportsAdded(schema, schemaType)) { addCrossImportsType(schema, schemaType); } }
private void addElementCrossImportsElement(XmlSchema schema, XmlSchemaElement item) { XmlSchemaElement element = item; XmlSchemaUtils.addImportIfNeeded(schema, element.getRef().getTargetQName()); XmlSchemaUtils.addImportIfNeeded(schema, element.getSchemaTypeName()); // if there's an anonymous type, it might have element refs in it. XmlSchemaType schemaType = element.getSchemaType(); if (!crossImportsAdded(schema, schemaType)) { addCrossImportsType(schema, schemaType); } }
private void createMessagePart(MessageInfo info, XmlSchemaElement element, QName type) { int index = info.size(); boolean globalElement = element.getRefName() != null; QName name; QName schemaType; if (globalElement) { name = element.getRefName(); schemaType = name; } else { name = element.getQName(); schemaType = element.getSchemaTypeName(); } MessagePartInfo part = info.addMessagePart(name, XmlSchemaElement.class); part.setIndex(index); part.setSchemaElement(globalElement); part.setWrappedType(type); SchemaType st = getBindingProvider().getSchemaType(schemaType, service); part.setSchemaType(st); }