Package org.apache.axis.wsdl.symbolTable

Examples of org.apache.axis.wsdl.symbolTable.ElementDecl


     */
    protected void preprocess() {
        // Add element names
        if (elements != null) {
            for (int i = 0; i < elements.size(); i++) {
                ElementDecl elem = (ElementDecl)elements.get(i);
                String typeName = elem.getType().getName();
                String variableName;
                if (elem.getAnyElement()) {
                    typeName = "org.apache.axis.message.MessageElement []";
                    variableName = Constants.ANYCONTENT;
                } else {
                    String elemName = elem.getName().getLocalPart();
                    variableName = Utils.xmlNameToJava(elemName);
                }
                names.add(typeName);
                names.add(variableName);
                if (type.isSimpleType() &&
View Full Code Here


            // Process the elements
            Vector elements = SchemaUtils.getContainedElementDeclarations(
                te.getNode(), emitter.getSymbolTable());
            if (elements != null) {
                for (int j=0; j<elements.size(); j++) {
                    ElementDecl elem = (ElementDecl)elements.get(j);
                    paramTypes.add(elem.getType().getName());
                    paramNames.add(mangle +
                        Utils.xmlNameToJava(elem.getName().getLocalPart()));
                }
            }
        }
        // Set the index where the local params start
        int localParams = paramTypes.size() - names.size()/2;
View Full Code Here

            // These signatures comply with Bean Indexed Properties which seems
            // like the reasonable approach to take for collection types.
            // (It may be more efficient to handle this with an ArrayList...but
            // for the initial support it was easier to use an actual array.)
            if (elements != null && j < elements.size()) {
                ElementDecl elem = (ElementDecl)elements.get(j);
                if (elem.getType().getQName().getLocalPart().indexOf("[") > 0) {
                    String compName = typeName.substring(0, typeName.lastIndexOf("["));
                    if (enableGetters) {
                        pw.println("    public " + compName + " " + get + capName +
                                   "(int i) {");
                        pw.println("        return " + name + "[i];");
View Full Code Here

     */
    protected void writeMetaData(PrintWriter pw) throws IOException {
        // Collect elementMetaData
        if (elements != null) {
            for (int i = 0; i < elements.size(); i++) {
                ElementDecl elem = (ElementDecl)elements.get(i);
                // String elemName = elem.getName().getLocalPart();
                // String javaName = Utils.xmlNameToJava(elemName);

                // Changed the code to write meta data
                // for all of the elements in order to
                // support sequences. Defect 9060


                // Meta data is needed if the default serializer
                // action cannot map the javaName back to the
                // element's qname.  This occurs if:
                //  - the javaName and element name local part are different.
                //  - the javaName starts with uppercase char (this is a wierd
                //    case and we have several problems with the mapping rules.
                //    Seems best to gen meta data in this case.)
                //  - the element name is qualified (has a namespace uri)
                // its also needed if:
                //  - the element has the minoccurs flag set
                //if (!javaName.equals(elemName) ||
                //    Character.isUpperCase(javaName.charAt(0)) ||
                //!elem.getName().getNamespaceURI().equals("") ||
                //elem.getMinOccursIs0()) {
                    // If we did some mangling, make sure we'll write out the XML
                    // the correct way.
                    if (elementMetaData == null)
                        elementMetaData = new Vector();

                    elementMetaData.add(elem);
                //}
            }
        }
        pw.println("    // " + Messages.getMessage("typeMeta"));
        pw.println("    private static org.apache.axis.description.TypeDesc typeDesc =");
        pw.println("        new org.apache.axis.description.TypeDesc(" +
                   Utils.getJavaLocalName(type.getName()) + ".class);");
        pw.println();

        pw.println("    static {");
        pw.println("        typeDesc.setXmlType(" + Utils.getNewQName(type.getQName()) + ");");

        // Add attribute and element field descriptors
        if (attributes != null || elementMetaData != null) {
            if (attributes != null) {
                boolean wroteAttrDecl = false;

                for (int i = 0; i < attributes.size(); i += 2) {
                    TypeEntry te = (TypeEntry) attributes.get(i);
                    QName attrName = (QName) attributes.get(i + 1);
                    String attrLocalName = attrName.getLocalPart();
                    String fieldName = Utils.xmlNameToJava(attrLocalName);
                    fieldName = getAsFieldName(fieldName);
                    QName attrXmlType = te.getQName();
                    pw.print("        ");
                    if (!wroteAttrDecl) {
                        pw.print("org.apache.axis.description.AttributeDesc ");
                        wroteAttrDecl = true;
                    }
                    pw.println("attrField = new org.apache.axis.description.AttributeDesc();");
                    pw.println("        attrField.setFieldName(\"" + fieldName + "\");");
                    pw.println("        attrField.setXmlName(" + Utils.getNewQName(attrName) + ");");
                    if (attrXmlType != null) {
                        pw.println("        attrField.setXmlType(" + Utils.getNewQName(attrXmlType) + ");");
                    }
                    pw.println("        typeDesc.addFieldDesc(attrField);");
                }
            }

            if (elementMetaData != null) {
                boolean wroteElemDecl = false;
               
                for (int i=0; i<elementMetaData.size(); i++) {
                    ElementDecl elem = (ElementDecl) elementMetaData.elementAt(i);

                    if (elem.getAnyElement()) {
                        continue;
                    }

                    String elemLocalName = elem.getName().getLocalPart();
                    String fieldName = Utils.xmlNameToJava(elemLocalName);
                    fieldName = getAsFieldName(fieldName);
                    QName xmlName = elem.getName();
                   
                    // Some special handling for arrays
                    TypeEntry elemType = elem.getType();
                    while (elemType.getRefType() != null) {
                        elemType = elemType.getRefType();
                    }
                    QName xmlType = elemType.getQName();
                    if (xmlType != null && xmlType.getLocalPart().indexOf("[") > 0) {
                        // Skip array types, because they are special
                        xmlType = null;
                    }
                   
                    pw.print("        ");
                    if (!wroteElemDecl) {
                        pw.print("org.apache.axis.description.ElementDesc ");
                        wroteElemDecl = true;
                    }
                    pw.println("elemField = new org.apache.axis.description.ElementDesc();");
                    pw.println("        elemField.setFieldName(\"" + fieldName + "\");");
                    pw.println("        elemField.setXmlName(" + Utils.getNewQName(xmlName) + ");");
                    if (xmlType != null) {
                        pw.println("        elemField.setXmlType(" + Utils.getNewQName(xmlType) + ");");
                    }
                    if (elem.getMinOccursIs0()) {
                        pw.println("        elemField.setMinOccurs(0);");
                    }
                    pw.println("        typeDesc.addFieldDesc(elemField);");
                }
            }
View Full Code Here

            }
       
            Vector elements = tEntry.getContainedElements();
            if (elements != null) {
                for (int i = 0; i < elements.size(); i++) {
                    ElementDecl elem = (ElementDecl) elements.get(i);
                    String varName = emitter.getJavaVariableName(typeQName, elem.getQName(), true);
                    elem.setName(varName);
                }
            }
           
            Vector attributes = tEntry.getContainedAttributes();
            if (attributes != null) {
View Full Code Here

     */
    protected void writeMetaData(PrintWriter pw) throws IOException {
        // Collect elementMetaData
        if (elements != null) {
            for (int i = 0; i < elements.size(); i++) {
                ElementDecl elem = (ElementDecl)elements.get(i);
                // String elemName = elem.getName().getLocalPart();
                // String javaName = Utils.xmlNameToJava(elemName);

                // Changed the code to write meta data
                // for all of the elements in order to
                // support sequences. Defect 9060


                // Meta data is needed if the default serializer
                // action cannot map the javaName back to the
                // element's qname.  This occurs if:
                //  - the javaName and element name local part are different.
                //  - the javaName starts with uppercase char (this is a wierd
                //    case and we have several problems with the mapping rules.
                //    Seems best to gen meta data in this case.)
                //  - the element name is qualified (has a namespace uri)
                // its also needed if:
                //  - the element has the minoccurs flag set
                //if (!javaName.equals(elemName) ||
                //    Character.isUpperCase(javaName.charAt(0)) ||
                //!elem.getName().getNamespaceURI().equals("") ||
                //elem.getMinOccursIs0()) {
                    // If we did some mangling, make sure we'll write out the XML
                    // the correct way.
                    if (elementMetaData == null)
                        elementMetaData = new Vector();

                    elementMetaData.add(elem);
                //}
            }
        }
        pw.println("    // " + Messages.getMessage("typeMeta"));
        pw.println("    private static org.apache.axis.description.TypeDesc typeDesc =");
        pw.println("        new org.apache.axis.description.TypeDesc(" +
                   Utils.getJavaLocalName(type.getName()) + ".class);");
        pw.println();

        pw.println("    static {");
        pw.println("        typeDesc.setXmlType(" + Utils.getNewQName(type.getQName()) + ");");

        // Add attribute and element field descriptors
        if (attributes != null || elementMetaData != null) {
            if (attributes != null) {
                boolean wroteAttrDecl = false;

                for (int i = 0; i < attributes.size(); i += 2) {
                    TypeEntry te = (TypeEntry) attributes.get(i);
                    QName attrName = (QName) attributes.get(i + 1);
                    String attrLocalName = attrName.getLocalPart();
                    String fieldName = Utils.xmlNameToJava(attrLocalName);
                    fieldName = getAsFieldName(fieldName);
                    QName attrXmlType = te.getQName();
                    pw.print("        ");
                    if (!wroteAttrDecl) {
                        pw.print("org.apache.axis.description.AttributeDesc ");
                        wroteAttrDecl = true;
                    }
                    pw.println("attrField = new org.apache.axis.description.AttributeDesc();");
                    pw.println("        attrField.setFieldName(\"" + fieldName + "\");");
                    pw.println("        attrField.setXmlName(" + Utils.getNewQName(attrName) + ");");
                    if (attrXmlType != null) {
                        pw.println("        attrField.setXmlType(" + Utils.getNewQName(attrXmlType) + ");");
                    }
                    pw.println("        typeDesc.addFieldDesc(attrField);");
                }
            }

            if (elementMetaData != null) {
                boolean wroteElemDecl = false;
               
                for (int i=0; i<elementMetaData.size(); i++) {
                    ElementDecl elem = (ElementDecl) elementMetaData.elementAt(i);

                    if (elem.getAnyElement()) {
                        continue;
                    }

                    String elemLocalName = elem.getName().getLocalPart();
                    String fieldName = Utils.xmlNameToJava(elemLocalName);
                    fieldName = getAsFieldName(fieldName);
                    QName xmlName = elem.getName();
                   
                    // Some special handling for arrays.
                    TypeEntry elemType = elem.getType();
                    QName xmlType = null;

                    if (elemType.getDimensions().length() > 1 &&
                            (elemType.getClass() == DefinedType.class)) {
                        // If we have a DefinedType with dimensions, it must
                        // be a SOAP array derived type.  In this case, use
                        // the refType's QName for the metadata.
                        xmlType = elemType.getRefType().getQName();
                    } else {
                        // Otherwise, use the type at the end of the ref
                        // chain.
                        while (elemType.getRefType() != null) {
                            elemType = elemType.getRefType();
                        }
                        xmlType = elemType.getQName();
                    }
                   
                    pw.print("        ");
                    if (!wroteElemDecl) {
                        pw.print("org.apache.axis.description.ElementDesc ");
                        wroteElemDecl = true;
                    }
                    pw.println("elemField = new org.apache.axis.description.ElementDesc();");
                    pw.println("        elemField.setFieldName(\"" + fieldName + "\");");
                    pw.println("        elemField.setXmlName(" + Utils.getNewQName(xmlName) + ");");
                    if (xmlType != null) {
                        pw.println("        elemField.setXmlType(" + Utils.getNewQName(xmlType) + ");");
                    }
                    if (elem.getMinOccursIs0()) {
                        pw.println("        elemField.setMinOccurs(0);");
                    }
                    pw.println("        typeDesc.addFieldDesc(elemField);");
                }
            }
View Full Code Here

     */
    protected void preprocess() {
        // Add element names
        if (elements != null) {
            for (int i = 0; i < elements.size(); i++) {
                ElementDecl elem = (ElementDecl)elements.get(i);
                String typeName = elem.getType().getName();
                String variableName;
                if (elem.getAnyElement()) {
                    typeName = "org.apache.axis.message.MessageElement []";
                    variableName = Constants.ANYCONTENT;
                } else {
                    String elemName = elem.getName().getLocalPart();
                    variableName = Utils.xmlNameToJava(elemName);
                }
                names.add(typeName);
                names.add(variableName);
                if (type.isSimpleType() &&
View Full Code Here

            // Process the elements
            Vector elements = SchemaUtils.getContainedElementDeclarations(
                te.getNode(), emitter.getSymbolTable());
            if (elements != null) {
                for (int j=0; j<elements.size(); j++) {
                    ElementDecl elem = (ElementDecl)elements.get(j);
                    paramTypes.add(elem.getType().getName());
                    paramNames.add(mangle +
                        Utils.xmlNameToJava(elem.getName().getLocalPart()));
                }
            }
        }
        // Set the index where the local params start
        int localParams = paramTypes.size() - names.size()/2;
View Full Code Here

            // These signatures comply with Bean Indexed Properties which seems
            // like the reasonable approach to take for collection types.
            // (It may be more efficient to handle this with an ArrayList...but
            // for the initial support it was easier to use an actual array.)
            if (elements != null && j < elements.size()) {
                ElementDecl elem = (ElementDecl)elements.get(j);
                if (elem.getType().getQName().getLocalPart().indexOf("[") > 0) {
                    String compName = typeName.substring(0, typeName.lastIndexOf("["));
                    if (enableGetters) {
                        pw.println("    public " + compName + " " + get + capName +
                                   "(int i) {");
                        pw.println("        return " + name + "[i];");
View Full Code Here

    protected void preprocess() {
       
        // Add element names
        if (elements != null) {
            for (int i = 0; i < elements.size(); i++) {
                ElementDecl elem = (ElementDecl) elements.get(i);
                String typeName = elem.getType().getName();
                String variableName;

                if (elem.getAnyElement()) {
                    typeName = "org.apache.axis.message.MessageElement []";
                    variableName = Constants.ANYCONTENT;
                    isAny = true;
                } else {
                    variableName = elem.getName();
                   
                    if (elem.getMinOccursIs0() || elem.getNillable() ||
                elem.getOptional()) {
                        typeName = Utils.getWrapperType(typeName);
                    }
                }

                // Make sure the property name is not reserved.
                variableName = JavaUtils.getUniqueValue(
                        helper.reservedPropNames, variableName);
                names.add(typeName);
                names.add(variableName);

                if (type.isSimpleType()
                        && (variableName.endsWith("Value")
                        || variableName.equals("_value"))) {
                    simpleValueTypes.add(typeName);
                }

                // bug 19069: need to generate code that access member variables that
                // are enum types through the class interface, not the constructor
                // this util method returns non-null if the type at node is an enum
                if (null != Utils.getEnumerationBaseAndValues(
                        elem.getType().getNode(), emitter.getSymbolTable())) {
                    enumerationTypes.add(typeName);
                }
            }
        }
View Full Code Here

TOP

Related Classes of org.apache.axis.wsdl.symbolTable.ElementDecl

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.