1 25 package org.objectweb.jonas_ws.wsgen.generator.ews.wsdltoj2ee.writer; 26 27 import java.io.IOException ; 28 import java.util.Vector ; 29 30 import javax.xml.namespace.QName ; 31 32 import org.w3c.dom.Node ; 33 34 import org.apache.axis.wsdl.gen.Generator; 35 import org.apache.axis.wsdl.symbolTable.SchemaUtils; 36 import org.apache.axis.wsdl.symbolTable.SymbolTable; 37 import org.apache.axis.wsdl.symbolTable.Type; 38 import org.apache.axis.wsdl.symbolTable.TypeEntry; 39 import org.apache.axis.wsdl.toJava.Emitter; 40 import org.apache.axis.wsdl.toJava.JavaGeneratorFactory; 41 import org.apache.axis.wsdl.toJava.JavaTypeWriter; 42 import org.apache.axis.wsdl.toJava.Utils; 43 44 48 public class JOnASTypeWriter extends JavaTypeWriter implements Generator { 49 50 51 private Generator jonasTypeWriter = null; 52 53 60 public JOnASTypeWriter(Emitter emitter, TypeEntry type, 61 SymbolTable symbolTable) { 62 super(emitter, type, symbolTable); 63 if (type.isReferenced() && !type.isOnlyLiteralReferenced() && type instanceof Type) { 64 65 Node node = type.getNode(); 68 69 boolean isSimpleList = SchemaUtils.isListWithItemType(node); 70 if (!type.getName().endsWith("[]") && !isSimpleList) { 72 73 Vector v = Utils.getEnumerationBaseAndValues(node, symbolTable); 75 76 if (v == null) { 77 TypeEntry base = 79 SchemaUtils.getComplexElementExtensionBase(node, 80 symbolTable); 81 82 if (base == null) { 83 base = SchemaUtils.getComplexElementRestrictionBase( 84 node, symbolTable); 85 } 86 87 if (base == null) { 88 QName baseQName = SchemaUtils.getSimpleTypeBase(node); 89 90 if (baseQName != null) { 91 base = symbolTable.getType(baseQName); 92 } 93 } 94 Vector elements = type.getContainedElements(); 95 Vector attributes = type.getContainedAttributes(); 96 97 Boolean isComplexFault = (Boolean ) type.getDynamicVar( 101 JavaGeneratorFactory.COMPLEX_TYPE_FAULT); 102 103 if ((isComplexFault != null) && isComplexFault.booleanValue()) { 104 105 jonasTypeWriter = getBeanHelperWriter(emitter, type, elements, base, attributes, true); 106 } else { 107 jonasTypeWriter = getBeanHelperWriter(emitter, type, elements, base, attributes, false); 108 } 109 } 110 } 111 } 112 } 114 119 public void generate() throws IOException { 120 121 if (jonasTypeWriter != null) { 122 jonasTypeWriter.generate(); 123 } 124 } 125 126 } | Popular Tags |