1 55 package org.jboss.axis.wsdl.toJava; 56 57 import org.jboss.axis.utils.Messages; 58 import org.jboss.axis.wsdl.gen.Generator; 59 import org.jboss.axis.wsdl.symbolTable.BindingEntry; 60 import org.jboss.axis.wsdl.symbolTable.PortTypeEntry; 61 import org.jboss.axis.wsdl.symbolTable.SymbolTable; 62 63 import javax.wsdl.Binding; 64 import java.io.IOException ; 65 66 70 public class JavaBindingWriter implements Generator 71 { 72 protected Generator stubWriter = null; 73 protected Generator skelWriter = null; 74 protected Generator implWriter = null; 75 protected Generator interfaceWriter = null; 76 protected Emitter emitter; 77 protected Binding binding; 78 protected SymbolTable symbolTable; 79 80 public static String INTERFACE_NAME = "interface name"; 86 87 90 public JavaBindingWriter(Emitter emitter, 91 Binding binding, 92 SymbolTable symbolTable) 93 { 94 this.emitter = emitter; 95 this.binding = binding; 96 this.symbolTable = symbolTable; 97 } 99 102 protected Generator getJavaInterfaceWriter(Emitter emitter, 103 PortTypeEntry ptEntry, 104 BindingEntry bEntry, 105 SymbolTable st) 106 { 107 return new JavaInterfaceWriter(emitter, ptEntry, bEntry, st); 108 } 109 110 113 protected Generator getJavaStubWriter(Emitter emitter, 114 BindingEntry bEntry, 115 SymbolTable st) 116 { 117 return new JavaStubWriter(emitter, bEntry, st); 118 } 119 120 123 protected Generator getJavaSkelWriter(Emitter emitter, 124 BindingEntry bEntry, 125 SymbolTable st) 126 { 127 return new JavaSkelWriter(emitter, bEntry, st); 128 } 129 130 133 protected Generator getJavaImplWriter(Emitter emitter, 134 BindingEntry bEntry, 135 SymbolTable st) 136 { 137 return new JavaImplWriter(emitter, bEntry, st); 138 } 139 140 143 public void generate() throws IOException 144 { 145 setGenerators(); 146 if (interfaceWriter != null) 147 { 148 interfaceWriter.generate(); 149 } 150 if (stubWriter != null) 151 { 152 stubWriter.generate(); 153 } 154 if (skelWriter != null) 155 { 156 skelWriter.generate(); 157 } 158 if (implWriter != null) 159 { 160 implWriter.generate(); 161 } 162 } 164 170 protected void setGenerators() 171 { 172 BindingEntry bEntry = symbolTable.getBindingEntry(binding.getQName()); 173 174 PortTypeEntry ptEntry = 176 symbolTable.getPortTypeEntry(binding.getPortType().getQName()); 177 if (ptEntry.isReferenced()) 178 { 179 interfaceWriter = getJavaInterfaceWriter(emitter, ptEntry, bEntry, symbolTable); 180 } 181 182 if (bEntry.isReferenced()) 183 { 184 stubWriter = getJavaStubWriter(emitter, bEntry, symbolTable); 186 187 if (emitter.isServerSide()) 189 { 190 if (emitter.isSkeletonWanted()) 191 { 192 skelWriter = getJavaSkelWriter(emitter, bEntry, symbolTable); 193 } 194 String fileName = Utils.getJavaLocalName(bEntry.getName()) 195 + "Impl.java"; 196 try 197 { 198 if (Utils.fileExists(fileName, 199 binding.getQName().getNamespaceURI(), 200 emitter.getNamespaces())) 201 { 202 System.out.println(Messages.getMessage("wontOverwrite", fileName)); 203 } 204 else 205 { 206 implWriter = getJavaImplWriter(emitter, bEntry, symbolTable); 207 } 208 } 209 catch (IOException ioe) 210 { 211 System.err.println(Messages.getMessage("fileExistError00", fileName)); 212 } 213 } 214 } 215 } 216 } | Popular Tags |