Hi,

I've implemented a sub-class of JavaGeneratorFactory to be used with -f option of 
wsdl2java.

It's failing at runtime because the emitter is not set in the JavaGeneratorFactory 
instance when the generatorFactory is supplied in the command line (it is however set 
whithin the Emitter constructor which builds a default instance of 
JavaGeneratorFactory.). I fixed this by adding a setFactory() to the emitter that 
checks for the type of GeneratorFactory and set the Emitter if it's a 
JavaGeneratorFactory:

    /**
     * Default constructor.
     */
    public Emitter () {
        setFactory(new JavaGeneratorFactory(this));
    } // ctor

    /**
     * Set the emitter on the generatorFactory if the generatorFactory is an instance 
of JavaGeneratorFactory
     */
    public void setFactory(GeneratorFactory factory) {
        if (factory instanceof JavaGeneratorFactory)
            (((JavaGeneratorFactory)factory).setEmitter(this));
        super.setFactory(factory);
    }

That fixed it for me.

Is this a bug in the Emitter? If not then I guess I'll have to create my own sub-class 
for Emitter and WSDL2java to go around this.

Claude

Reply via email to