changeset 80:dd3c5f3ec28d jdk7-b70

6873200: patch.out and jaxws.patch do not belong in jaxws repository Reviewed-by: xdono, ohair
author tbell
date Tue, 18 Aug 2009 16:15:37 -0700
parents 6608dd3dae86
children 03314cf56a72
files jaxws.patch patch.out
diffstat 2 files changed, 0 insertions(+), 83331 deletions(-) [+]
line wrap: on
line diff
--- a/jaxws.patch	Fri Aug 14 08:51:25 2009 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,81929 +0,0 @@
---- old/./THIRD_PARTY_README	Tue Aug  4 09:26:42 2009
-+++ new/./THIRD_PARTY_README	Tue Aug  4 09:26:41 2009
-@@ -32,7 +32,7 @@
- 
- --- end of LICENSE file ---
- %% This notice is provided with respect to ASM, which may be included with this software: 
--Copyright (c) 2000-2005 INRIA, France Telecom
-+Copyright (c) 2000-2007 INRIA, France Telecom
- All rights reserved.
- 
- Redistribution and use in source and binary forms, with or without
---- old/src/share/classes/com/sun/codemodel/internal/JAnnotatable.java	Tue Aug  4 09:26:44 2009
-+++ new/src/share/classes/com/sun/codemodel/internal/JAnnotatable.java	Tue Aug  4 09:26:44 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.codemodel.internal;
- 
- import java.lang.annotation.Annotation;
---- old/src/share/classes/com/sun/codemodel/internal/JAnnotationUse.java	Tue Aug  4 09:26:46 2009
-+++ new/src/share/classes/com/sun/codemodel/internal/JAnnotationUse.java	Tue Aug  4 09:26:46 2009
-@@ -199,8 +199,7 @@
-       *
-       */
-      public JAnnotationUse param(String name, Class value){
--         addValue(name, new JAnnotationStringValue(JExpr.lit(value.getName())));
--         return this;
-+         return param(name,clazz.owner().ref(value));
-     }
- 
-     /**
---- old/src/share/classes/com/sun/codemodel/internal/JAnnotationWriter.java	Tue Aug  4 09:26:48 2009
-+++ new/src/share/classes/com/sun/codemodel/internal/JAnnotationWriter.java	Tue Aug  4 09:26:48 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.codemodel.internal;
- 
- import java.lang.annotation.Annotation;
---- old/src/share/classes/com/sun/codemodel/internal/JBlock.java	Tue Aug  4 09:26:51 2009
-+++ new/src/share/classes/com/sun/codemodel/internal/JBlock.java	Tue Aug  4 09:26:50 2009
-@@ -111,7 +111,15 @@
-         return r;
-     }
- 
-+    /**
-+     * Returns true if this block is empty and does not contain
-+     * any statement.
-+     */
-+    public boolean isEmpty() {
-+        return content.isEmpty();
-+    }
- 
-+
-     /**
-      * Adds a local variable declaration to this block
-      *
---- old/src/share/classes/com/sun/codemodel/internal/JCommentPart.java	Tue Aug  4 09:26:53 2009
-+++ new/src/share/classes/com/sun/codemodel/internal/JCommentPart.java	Tue Aug  4 09:26:52 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.codemodel.internal;
- 
- import java.util.ArrayList;
-@@ -77,7 +78,8 @@
-      */
-     protected void format( JFormatter f, String indent ) {
-         if(!f.isPrinting()) {
--            // quickly pass the types to JFormatter
-+            // quickly pass the types to JFormatter, as that's all we care.
-+            // we don't need to worry about the exact formatting of text.
-             for( Object o : this )
-                 if(o instanceof JClass)
-                     f.g((JClass)o);
-@@ -97,12 +99,12 @@
-                 while( (idx=s.indexOf('\n'))!=-1 ) {
-                     String line = s.substring(0,idx);
-                     if(line.length()>0)
--                        f.p(line);
-+                        f.p(escape(line));
-                     s = s.substring(idx+1);
-                     f.nl().p(indent);
-                 }
-                 if(s.length()!=0)
--                    f.p(s);
-+                    f.p(escape(s));
-             } else
-             if(o instanceof JClass) {
-                 // TODO: this doesn't print the parameterized type properly
-@@ -117,4 +119,16 @@
-         if(!isEmpty())
-             f.nl();
-     }
-+
-+    /**
-+     * Escapes the appearance of the comment terminator.
-+     */
-+    private String escape(String s) {
-+        while(true) {
-+            int idx = s.indexOf("*/");
-+            if(idx <0)   return s;
-+
-+            s = s.substring(0,idx+1)+"<!---->"+s.substring(idx+1);
-+        }
-+    }
- }
---- old/src/share/classes/com/sun/codemodel/internal/JDirectClass.java	Tue Aug  4 09:26:55 2009
-+++ new/src/share/classes/com/sun/codemodel/internal/JDirectClass.java	Tue Aug  4 09:26:55 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.codemodel.internal;
- 
- import java.util.Iterator;
---- old/src/share/classes/com/sun/codemodel/internal/JExpr.java	Tue Aug  4 09:26:57 2009
-+++ new/src/share/classes/com/sun/codemodel/internal/JExpr.java	Tue Aug  4 09:26:57 2009
-@@ -198,8 +198,12 @@
-             char c = s.charAt(i);
-             int j = charEscape.indexOf(c);
-             if(j>=0) {
--                sb.append('\\');
--                sb.append(charMacro.charAt(j));
-+                if((quote=='"' && c=='\'') || (quote=='\'' && c=='"')) {
-+                    sb.append(c);
-+                } else {
-+                    sb.append('\\');
-+                    sb.append(charMacro.charAt(j));
-+                }
-             } else {
-                 // technically Unicode escape shouldn't be done here,
-                 // for it's a lexical level handling.
---- old/src/share/classes/com/sun/codemodel/internal/JJavaName.java	Tue Aug  4 09:26:59 2009
-+++ new/src/share/classes/com/sun/codemodel/internal/JJavaName.java	Tue Aug  4 09:26:59 2009
-@@ -231,6 +231,7 @@
-               "(.*)basis","$1bases",
-                "(.*)axis","$1axes",
-                  "(.+)is","$1ises",
-+                 "(.+)ss","$1sses",
-                  "(.+)us","$1uses",
-                   "(.+)s","$1s",
-                "(.*)foot","$1feet",
---- old/src/share/classes/com/sun/codemodel/internal/JMethod.java	Tue Aug  4 09:27:02 2009
-+++ new/src/share/classes/com/sun/codemodel/internal/JMethod.java	Tue Aug  4 09:27:01 2009
-@@ -388,10 +388,11 @@
-                 f.g(a).nl();
-         }
- 
--                // declare the generics parameters
-+        f.g(mods);
-+
-+        // declare the generics parameters
-                 super.declare(f);
- 
--                f.g(mods);
-                 if (!isConstructor())
-                         f.g(type);
-                 f.id(name).p('(').i();
---- old/src/share/classes/com/sun/codemodel/internal/JPackage.java	Tue Aug  4 09:27:04 2009
-+++ new/src/share/classes/com/sun/codemodel/internal/JPackage.java	Tue Aug  4 09:27:03 2009
-@@ -98,34 +98,9 @@
-     JPackage(String name, JCodeModel cw) {
-         this.owner = cw;
-         if (name.equals(".")) {
--            String msg = "JPackage name . is not allowed";
-+            String msg = "Package name . is not allowed";
-             throw new IllegalArgumentException(msg);
-         }
--
--        int dots = 1;
--        for (int i = 0; i < name.length(); i++) {
--            char c = name.charAt(i);
--            if (c == '.') {
--                dots++;
--                continue;
--            }
--            if (dots > 1) {
--                String msg = "JPackage name " + name + " missing identifier";
--                throw new IllegalArgumentException(msg);
--            } else if (dots == 1 && !Character.isJavaIdentifierStart(c)) {
--                String msg =
--                    "JPackage name " + name + " contains illegal " + "character for beginning of identifier: " + c;
--                throw new IllegalArgumentException(msg);
--            } else if (!Character.isJavaIdentifierPart(c)) {
--                String msg = "JPackage name " + name + "contains illegal " + "character: " + c;
--                throw new IllegalArgumentException(msg);
--            }
--            dots = 0;
--        }
--        if (!name.trim().equals("") && dots != 0) {
--            String msg = "JPackage name not allowed to end with .";
--            throw new IllegalArgumentException(msg);
--        }
- 
-         if(JCodeModel.isCaseSensitiveFileSystem)
-             upperCaseClassMap = null;
---- old/src/share/classes/com/sun/codemodel/internal/JTypeWildcard.java	Tue Aug  4 09:27:06 2009
-+++ new/src/share/classes/com/sun/codemodel/internal/JTypeWildcard.java	Tue Aug  4 09:27:06 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.codemodel.internal;
- 
- import java.util.Iterator;
---- old/src/share/classes/com/sun/codemodel/internal/TypedAnnotationWriter.java	Tue Aug  4 09:27:08 2009
-+++ new/src/share/classes/com/sun/codemodel/internal/TypedAnnotationWriter.java	Tue Aug  4 09:27:08 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.codemodel.internal;
- 
- import java.lang.reflect.InvocationHandler;
---- old/src/share/classes/com/sun/codemodel/internal/package-info.java	Tue Aug  4 09:27:10 2009
-+++ new/src/share/classes/com/sun/codemodel/internal/package-info.java	Tue Aug  4 09:27:10 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- /**
-  * <h1>Library for generating Java source code</h1>.
-  *
---- old/src/share/classes/com/sun/codemodel/internal/util/EncoderFactory.java	Tue Aug  4 09:27:12 2009
-+++ new/src/share/classes/com/sun/codemodel/internal/util/EncoderFactory.java	Tue Aug  4 09:27:12 2009
-@@ -22,11 +22,10 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- /*
-  * @(#)$Id: EncoderFactory.java,v 1.3 2005/09/10 19:07:33 kohsuke Exp $
-  */
--
--
- package com.sun.codemodel.internal.util;
- 
- import java.lang.reflect.Constructor;
---- old/src/share/classes/com/sun/codemodel/internal/util/MS1252Encoder.java	Tue Aug  4 09:27:15 2009
-+++ new/src/share/classes/com/sun/codemodel/internal/util/MS1252Encoder.java	Tue Aug  4 09:27:14 2009
-@@ -22,11 +22,10 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- /*
-  * @(#)$Id: MS1252Encoder.java,v 1.2 2005/09/10 19:07:33 kohsuke Exp $
-  */
--
--
- package com.sun.codemodel.internal.util;
- 
- import java.nio.charset.Charset;
---- old/src/share/classes/com/sun/codemodel/internal/writer/FilterCodeWriter.java	Tue Aug  4 09:27:17 2009
-+++ new/src/share/classes/com/sun/codemodel/internal/writer/FilterCodeWriter.java	Tue Aug  4 09:27:16 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.codemodel.internal.writer;
- 
- import java.io.OutputStream;
---- old/src/share/classes/com/sun/istack/internal/Pool.java	Tue Aug  4 09:27:19 2009
-+++ new/src/share/classes/com/sun/istack/internal/Pool.java	Tue Aug  4 09:27:19 2009
-@@ -25,6 +25,7 @@
- package com.sun.istack.internal;
- 
- import java.util.concurrent.ConcurrentLinkedQueue;
-+import java.lang.ref.WeakReference;
- 
- /**
-  * Pool of reusable objects that are indistinguishable from each other,
-@@ -33,6 +34,7 @@
-  * @author Kohsuke Kawaguchi
-  */
- public interface Pool<T> {
-+
-     /**
-      * Gets a new object from the pool.
-      *
-@@ -46,7 +48,6 @@
-      */
-     void recycle(@NotNull T t);
- 
--
-     /**
-      * Default implementation that uses {@link ConcurrentLinkedQueue}
-      * as the data store.
-@@ -55,7 +56,10 @@
-      * <p>
-      * Don't rely on the fact that this class extends from {@link ConcurrentLinkedQueue}.
-      */
--    public abstract class Impl<T> extends ConcurrentLinkedQueue<T> implements Pool<T> {
-+    public abstract class Impl<T> implements Pool<T> {
-+
-+        private volatile WeakReference<ConcurrentLinkedQueue<T>> queue;
-+
-         /**
-          * Gets a new object from the pool.
-          *
-@@ -66,9 +70,10 @@
-          *      always non-null.
-          */
-         public final @NotNull T take() {
--            T t = super.poll();
--            if(t==null)
-+            T t = getQueue().poll();
-+            if(t==null) {
-                 return create();
-+            }
-             return t;
-         }
- 
-@@ -76,9 +81,24 @@
-          * Returns an object back to the pool.
-          */
-         public final void recycle(T t) {
--            super.offer(t);
-+            getQueue().offer(t);
-         }
- 
-+        private ConcurrentLinkedQueue<T> getQueue() {
-+            WeakReference<ConcurrentLinkedQueue<T>> q = queue;
-+            if (q != null) {
-+                ConcurrentLinkedQueue<T> d = q.get();
-+                if (d != null) {
-+                    return d;
-+                }
-+            }
-+            // overwrite the queue
-+            ConcurrentLinkedQueue<T> d = new ConcurrentLinkedQueue<T>();
-+            queue = new WeakReference<ConcurrentLinkedQueue<T>>(d);
-+
-+            return d;
-+        }
-+
-         /**
-          * Creates a new instance of object.
-          *
---- old/src/share/classes/com/sun/istack/internal/XMLStreamReaderToContentHandler.java	Tue Aug  4 09:27:21 2009
-+++ new/src/share/classes/com/sun/istack/internal/XMLStreamReaderToContentHandler.java	Tue Aug  4 09:27:21 2009
-@@ -54,14 +54,24 @@
- 
-     // if true, when the conversion is completed, leave the cursor to the last
-     // event that was fired (such as end element)
--    private boolean eagerQuit;
-+    private final boolean eagerQuit;
- 
-     /**
-      * If true, not start/endDocument event.
-      */
--    private boolean fragment;
-+    private final boolean fragment;
- 
-+    // array of the even length of the form { prefix0, uri0, prefix1, uri1, ... }
-+    private final String[] inscopeNamespaces;
-+
-     /**
-+     * @see #XMLStreamReaderToContentHandler(XMLStreamReader, ContentHandler, boolean, boolean, String[])
-+     */
-+    public XMLStreamReaderToContentHandler(XMLStreamReader staxCore, ContentHandler saxCore, boolean eagerQuit, boolean fragment) {
-+        this(staxCore, saxCore, eagerQuit, fragment, new String[0]);
-+    }
-+
-+    /**
-      * Construct a new StAX to SAX adapter that will convert a StAX event
-      * stream into a SAX event stream.
-      *
-@@ -69,14 +79,22 @@
-      *                StAX event source
-      * @param saxCore
-      *                SAXevent sink
-+     * @param eagerQuit
-+     * @param fragment
-+     * @param inscopeNamespaces
-+     *                array of the even length of the form { prefix0, uri0, prefix1, uri1, ... }
-      */
--    public XMLStreamReaderToContentHandler(XMLStreamReader staxCore, ContentHandler saxCore, boolean eagerQuit, boolean fragment) {
-+    public XMLStreamReaderToContentHandler(XMLStreamReader staxCore, ContentHandler saxCore,
-+            boolean eagerQuit, boolean fragment, String[] inscopeNamespaces) {
-         this.staxStreamReader = staxCore;
-         this.saxHandler = saxCore;
-         this.eagerQuit = eagerQuit;
-         this.fragment = fragment;
-+        this.inscopeNamespaces = inscopeNamespaces;
-+        assert inscopeNamespaces.length%2 == 0;
-     }
- 
-+
-     /*
-      * @see StAXReaderToContentHandler#bridge()
-      */
-@@ -100,6 +118,10 @@
- 
-             handleStartDocument();
- 
-+            for(int i=0; i < inscopeNamespaces.length; i+=2) {
-+                saxHandler.startPrefixMapping(inscopeNamespaces[i], inscopeNamespaces[i+1]);
-+            }
-+
-             OUTER:
-             do {
-                 // These are all of the events listed in the javadoc for
-@@ -156,6 +178,10 @@
-                 event=staxStreamReader.next();
-             } while (depth!=0);
- 
-+            for(int i=0; i < inscopeNamespaces.length; i+=2) {
-+                saxHandler.endPrefixMapping(inscopeNamespaces[i]);
-+            }
-+
-             handleEndDocument();
-         } catch (SAXException e) {
-             throw new XMLStreamException2(e);
---- old/src/share/classes/com/sun/istack/internal/ws/AnnotationProcessorFactoryImpl.java	Tue Aug  4 09:27:23 2009
-+++ new/src/share/classes/com/sun/istack/internal/ws/AnnotationProcessorFactoryImpl.java	Tue Aug  4 09:27:23 2009
-@@ -66,10 +66,7 @@
-         types.add("javax.jws.soap.SOAPBinding");
-         types.add("javax.jws.soap.SOAPMessageHandler");
-         types.add("javax.jws.soap.SOAPMessageHandlers");
--        types.add("javax.xml.ws.BeginService");
--        types.add("javax.xml.ws.EndService");
-         types.add("javax.xml.ws.BindingType");
--        types.add("javax.xml.ws.ParameterIndex");
-         types.add("javax.xml.ws.RequestWrapper");
-         types.add("javax.xml.ws.ResponseWrapper");
-         types.add("javax.xml.ws.ServiceMode");
-@@ -78,8 +75,6 @@
-         types.add("javax.xml.ws.WebServiceClient");
-         types.add("javax.xml.ws.WebServiceProvider");
-         types.add("javax.xml.ws.WebServiceRef");
--
--        types.add("javax.xml.ws.security.MessageSecurity");
-         supportedAnnotations = Collections.unmodifiableCollection(types);
-     }
- 
---- old/src/share/classes/com/sun/tools/internal/jxc/ConfigReader.java	Tue Aug  4 09:27:26 2009
-+++ new/src/share/classes/com/sun/tools/internal/jxc/ConfigReader.java	Tue Aug  4 09:27:25 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.jxc;
- 
- import java.io.File;
---- old/src/share/classes/com/sun/tools/internal/jxc/MessageBundle.properties	Tue Aug  4 09:27:28 2009
-+++ new/src/share/classes/com/sun/tools/internal/jxc/MessageBundle.properties	Tue Aug  4 09:27:27 2009
-@@ -30,8 +30,8 @@
-     Non-existent directory: {0}
- 
- VERSION = \
--	schemagen version "JAXB 2.1.3" \n\
--	JavaTM Architecture for XML Binding(JAXB) Reference Implementation, (build JAXB 2.1.3 in JDK)	
-+        schemagen version "JAXB 2.1.10 in JDK 6" \n\
-+        JavaTM Architecture for XML Binding(JAXB) Reference Implementation, (build JAXB 2.1.10 in JDK 6)
- 
- USAGE = \
- Usage: schemagen [-options ...] <java files> \n\
-@@ -42,4 +42,3 @@
- \ \ \ \ -episode <file>   :  generate episode file for separate compilation\n\
- \ \ \ \ -version          :  display version information\n\
- \ \ \ \ -help             :  display this usage message
-- 
---- old/src/share/classes/com/sun/tools/internal/jxc/Messages.java	Tue Aug  4 09:27:30 2009
-+++ new/src/share/classes/com/sun/tools/internal/jxc/Messages.java	Tue Aug  4 09:27:30 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.jxc;
- 
- import java.text.MessageFormat;
---- old/src/share/classes/com/sun/tools/internal/jxc/SchemaGenerator.java	Tue Aug  4 09:27:32 2009
-+++ new/src/share/classes/com/sun/tools/internal/jxc/SchemaGenerator.java	Tue Aug  4 09:27:32 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.jxc;
- 
- import java.io.File;
---- old/src/share/classes/com/sun/tools/internal/jxc/apt/AnnotationParser.java	Tue Aug  4 09:27:34 2009
-+++ new/src/share/classes/com/sun/tools/internal/jxc/apt/AnnotationParser.java	Tue Aug  4 09:27:34 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.jxc.apt;
- 
- import java.io.File;
---- old/src/share/classes/com/sun/tools/internal/jxc/apt/AnnotationProcessorFactoryImpl.java	Tue Aug  4 09:27:36 2009
-+++ new/src/share/classes/com/sun/tools/internal/jxc/apt/AnnotationProcessorFactoryImpl.java	Tue Aug  4 09:27:36 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.jxc.apt;
- 
- import java.util.Arrays;
---- old/src/share/classes/com/sun/tools/internal/jxc/apt/Const.java	Tue Aug  4 09:27:39 2009
-+++ new/src/share/classes/com/sun/tools/internal/jxc/apt/Const.java	Tue Aug  4 09:27:38 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.jxc.apt;
- 
- import java.io.File;
---- old/src/share/classes/com/sun/tools/internal/jxc/apt/ErrorReceiverImpl.java	Tue Aug  4 09:27:41 2009
-+++ new/src/share/classes/com/sun/tools/internal/jxc/apt/ErrorReceiverImpl.java	Tue Aug  4 09:27:40 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.jxc.apt;
- 
- import com.sun.mirror.apt.AnnotationProcessorEnvironment;
---- old/src/share/classes/com/sun/tools/internal/jxc/apt/InlineAnnotationReaderImpl.java	Tue Aug  4 09:27:43 2009
-+++ new/src/share/classes/com/sun/tools/internal/jxc/apt/InlineAnnotationReaderImpl.java	Tue Aug  4 09:27:43 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.jxc.apt;
- 
- import java.lang.annotation.Annotation;
---- old/src/share/classes/com/sun/tools/internal/jxc/apt/MessageBundle.properties	Tue Aug  4 09:27:45 2009
-+++ new/src/share/classes/com/sun/tools/internal/jxc/apt/MessageBundle.properties	Tue Aug  4 09:27:45 2009
-@@ -31,4 +31,3 @@
- 
- OPERAND_MISSING = \
-     Option "{0}" is missing an operand.
-- 
---- old/src/share/classes/com/sun/tools/internal/jxc/apt/Messages.java	Tue Aug  4 09:27:47 2009
-+++ new/src/share/classes/com/sun/tools/internal/jxc/apt/Messages.java	Tue Aug  4 09:27:47 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.jxc.apt;
- 
- import java.text.MessageFormat;
---- old/src/share/classes/com/sun/tools/internal/jxc/apt/Options.java	Tue Aug  4 09:27:49 2009
-+++ new/src/share/classes/com/sun/tools/internal/jxc/apt/Options.java	Tue Aug  4 09:27:49 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.jxc.apt;
- 
- import java.io.File;
---- old/src/share/classes/com/sun/tools/internal/jxc/apt/SchemaGenerator.java	Tue Aug  4 09:27:52 2009
-+++ new/src/share/classes/com/sun/tools/internal/jxc/apt/SchemaGenerator.java	Tue Aug  4 09:27:51 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.jxc.apt;
- 
- import java.io.File;
---- old/src/share/classes/com/sun/tools/internal/jxc/gen/config/Classes.java	Tue Aug  4 09:27:54 2009
-+++ new/src/share/classes/com/sun/tools/internal/jxc/gen/config/Classes.java	Tue Aug  4 09:27:53 2009
-@@ -75,6 +75,11 @@
-         $localName = $__local;
-         $qname = $__qname;
-         switch($_ngcc_current_state) {
-+        case 0:
-+            {
-+                revertToParentFromEnterElement(this, super._cookie, $__uri, $__local, $__qname, $attrs);
-+            }
-+            break;
-         case 12:
-             {
-                 if(($__uri == "" && $__local == "classes")) {
-@@ -92,34 +97,29 @@
-                 $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-             }
-             break;
--        case 2:
-+        case 11:
-             {
--                if(($__uri == "" && $__local == "excludes")) {
-+                if(($__uri == "" && $__local == "includes")) {
-                     $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
--                    $_ngcc_current_state = 6;
-+                    $_ngcc_current_state = 10;
-                 }
-                 else {
--                    $_ngcc_current_state = 1;
--                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-+                    unexpectedEnterElement($__qname);
-                 }
-             }
-             break;
--        case 11:
-+        case 2:
-             {
--                if(($__uri == "" && $__local == "includes")) {
-+                if(($__uri == "" && $__local == "excludes")) {
-                     $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
--                    $_ngcc_current_state = 10;
-+                    $_ngcc_current_state = 6;
-                 }
-                 else {
--                    unexpectedEnterElement($__qname);
-+                    $_ngcc_current_state = 1;
-+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-                 }
-             }
-             break;
--        case 0:
--            {
--                revertToParentFromEnterElement(this, super._cookie, $__uri, $__local, $__qname, $attrs);
--            }
--            break;
-         default:
-             {
-                 unexpectedEnterElement($__qname);
-@@ -133,6 +133,17 @@
-         $localName = $__local;
-         $qname = $__qname;
-         switch($_ngcc_current_state) {
-+        case 0:
-+            {
-+                revertToParentFromLeaveElement(this, super._cookie, $__uri, $__local, $__qname);
-+            }
-+            break;
-+        case 4:
-+            {
-+                $_ngcc_current_state = 3;
-+                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-+            }
-+            break;
-         case 3:
-             {
-                 if(($__uri == "" && $__local == "excludes")) {
-@@ -144,12 +155,6 @@
-                 }
-             }
-             break;
--        case 4:
--            {
--                $_ngcc_current_state = 3;
--                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
--            }
--            break;
-         case 2:
-             {
-                 $_ngcc_current_state = 1;
-@@ -156,11 +161,11 @@
-                 $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-             }
-             break;
--        case 1:
-+        case 8:
-             {
--                if(($__uri == "" && $__local == "classes")) {
-+                if(($__uri == "" && $__local == "includes")) {
-                     $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
--                    $_ngcc_current_state = 0;
-+                    $_ngcc_current_state = 2;
-                 }
-                 else {
-                     unexpectedLeaveElement($__qname);
-@@ -167,11 +172,11 @@
-                 }
-             }
-             break;
--        case 8:
-+        case 1:
-             {
--                if(($__uri == "" && $__local == "includes")) {
-+                if(($__uri == "" && $__local == "classes")) {
-                     $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
--                    $_ngcc_current_state = 2;
-+                    $_ngcc_current_state = 0;
-                 }
-                 else {
-                     unexpectedLeaveElement($__qname);
-@@ -178,11 +183,6 @@
-                 }
-             }
-             break;
--        case 0:
--            {
--                revertToParentFromLeaveElement(this, super._cookie, $__uri, $__local, $__qname);
--            }
--            break;
-         default:
-             {
-                 unexpectedLeaveElement($__qname);
-@@ -196,6 +196,11 @@
-         $localName = $__local;
-         $qname = $__qname;
-         switch($_ngcc_current_state) {
-+        case 0:
-+            {
-+                revertToParentFromEnterAttribute(this, super._cookie, $__uri, $__local, $__qname);
-+            }
-+            break;
-         case 4:
-             {
-                 $_ngcc_current_state = 3;
-@@ -208,11 +213,6 @@
-                 $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
-             }
-             break;
--        case 0:
--            {
--                revertToParentFromEnterAttribute(this, super._cookie, $__uri, $__local, $__qname);
--            }
--            break;
-         default:
-             {
-                 unexpectedEnterAttribute($__qname);
-@@ -226,6 +226,11 @@
-         $localName = $__local;
-         $qname = $__qname;
-         switch($_ngcc_current_state) {
-+        case 0:
-+            {
-+                revertToParentFromLeaveAttribute(this, super._cookie, $__uri, $__local, $__qname);
-+            }
-+            break;
-         case 4:
-             {
-                 $_ngcc_current_state = 3;
-@@ -238,11 +243,6 @@
-                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
-             }
-             break;
--        case 0:
--            {
--                revertToParentFromLeaveAttribute(this, super._cookie, $__uri, $__local, $__qname);
--            }
--            break;
-         default:
-             {
-                 unexpectedLeaveAttribute($__qname);
-@@ -253,6 +253,11 @@
- 
-     public void text(String $value) throws SAXException {
-         switch($_ngcc_current_state) {
-+        case 0:
-+            {
-+                revertToParentFromText(this, super._cookie, $value);
-+            }
-+            break;
-         case 9:
-             {
-                 include_content = $value;
-@@ -260,7 +265,7 @@
-                 action2();
-             }
-             break;
--        case 3:
-+        case 4:
-             {
-                 exclude_content = $value;
-                 $_ngcc_current_state = 3;
-@@ -267,7 +272,7 @@
-                 action0();
-             }
-             break;
--        case 4:
-+        case 3:
-             {
-                 exclude_content = $value;
-                 $_ngcc_current_state = 3;
-@@ -301,11 +306,6 @@
-                 action1();
-             }
-             break;
--        case 0:
--            {
--                revertToParentFromText(this, super._cookie, $value);
--            }
--            break;
-         }
-     }
- 
---- old/src/share/classes/com/sun/tools/internal/jxc/gen/config/Config.java	Tue Aug  4 09:27:56 2009
-+++ new/src/share/classes/com/sun/tools/internal/jxc/gen/config/Config.java	Tue Aug  4 09:27:56 2009
-@@ -70,15 +70,10 @@
-         $localName = $__local;
-         $qname = $__qname;
-         switch($_ngcc_current_state) {
--        case 0:
-+        case 4:
-             {
--                revertToParentFromEnterElement(this, super._cookie, $__uri, $__local, $__qname, $attrs);
--            }
--            break;
--        case 1:
--            {
--                if(($__uri == "" && $__local == "schema")) {
--                    NGCCHandler h = new Schema(this, super._source, $runtime, 3, baseDir);
-+                if(($__uri == "" && $__local == "classes")) {
-+                    NGCCHandler h = new Classes(this, super._source, $runtime, 34);
-                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
-                 }
-                 else {
-@@ -97,10 +92,26 @@
-                 }
-             }
-             break;
-+        case 1:
-+            {
-+                if(($__uri == "" && $__local == "schema")) {
-+                    NGCCHandler h = new Schema(this, super._source, $runtime, 31, baseDir);
-+                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
-+                }
-+                else {
-+                    unexpectedEnterElement($__qname);
-+                }
-+            }
-+            break;
-+        case 0:
-+            {
-+                revertToParentFromEnterElement(this, super._cookie, $__uri, $__local, $__qname, $attrs);
-+            }
-+            break;
-         case 2:
-             {
-                 if(($__uri == "" && $__local == "schema")) {
--                    NGCCHandler h = new Schema(this, super._source, $runtime, 4, baseDir);
-+                    NGCCHandler h = new Schema(this, super._source, $runtime, 32, baseDir);
-                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
-                 }
-                 else {
-@@ -120,17 +131,6 @@
-                 }
-             }
-             break;
--        case 4:
--            {
--                if(($__uri == "" && $__local == "classes")) {
--                    NGCCHandler h = new Classes(this, super._source, $runtime, 6);
--                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
--                }
--                else {
--                    unexpectedEnterElement($__qname);
--                }
--            }
--            break;
-         default:
-             {
-                 unexpectedEnterElement($__qname);
-@@ -145,11 +145,6 @@
-         $localName = $__local;
-         $qname = $__qname;
-         switch($_ngcc_current_state) {
--        case 0:
--            {
--                revertToParentFromLeaveElement(this, super._cookie, $__uri, $__local, $__qname);
--            }
--            break;
-         case 1:
-             {
-                 if(($__uri == "" && $__local == "config")) {
-@@ -161,6 +156,11 @@
-                 }
-             }
-             break;
-+        case 0:
-+            {
-+                revertToParentFromLeaveElement(this, super._cookie, $__uri, $__local, $__qname);
-+            }
-+            break;
-         case 2:
-             {
-                 $_ngcc_current_state = 1;
-@@ -257,13 +257,6 @@
-     public void text(String $value) throws SAXException {
-         int $ai;
-         switch($_ngcc_current_state) {
--        case 6:
--            {
--                bd = $value;
--                $_ngcc_current_state = 5;
--                action1();
--            }
--            break;
-         case 0:
-             {
-                 revertToParentFromText(this, super._cookie, $value);
-@@ -283,19 +276,32 @@
-                 }
-             }
-             break;
-+        case 6:
-+            {
-+                bd = $value;
-+                $_ngcc_current_state = 5;
-+                action1();
-+            }
-+            break;
-         }
-     }
- 
-     public void onChildCompleted(Object $__result__, int $__cookie__, boolean $__needAttCheck__)throws SAXException {
-         switch($__cookie__) {
--        case 3:
-+        case 34:
-             {
-+                classes = ((Classes)$__result__);
-+                $_ngcc_current_state = 2;
-+            }
-+            break;
-+        case 31:
-+            {
-                 _schema = ((Schema)$__result__);
-                 action0();
-                 $_ngcc_current_state = 1;
-             }
-             break;
--        case 4:
-+        case 32:
-             {
-                 _schema = ((Schema)$__result__);
-                 action0();
-@@ -302,12 +308,6 @@
-                 $_ngcc_current_state = 1;
-             }
-             break;
--        case 6:
--            {
--                classes = ((Classes)$__result__);
--                $_ngcc_current_state = 2;
--            }
--            break;
-         }
-     }
- 
---- old/src/share/classes/com/sun/tools/internal/jxc/gen/config/Schema.java	Tue Aug  4 09:27:58 2009
-+++ new/src/share/classes/com/sun/tools/internal/jxc/gen/config/Schema.java	Tue Aug  4 09:27:58 2009
-@@ -65,6 +65,23 @@
-         $localName = $__local;
-         $qname = $__qname;
-         switch($_ngcc_current_state) {
-+        case 0:
-+            {
-+                revertToParentFromEnterElement(this, super._cookie, $__uri, $__local, $__qname, $attrs);
-+            }
-+            break;
-+        case 2:
-+            {
-+                if(($ai = $runtime.getAttributeIndex("","location"))>=0) {
-+                    $runtime.consumeAttribute($ai);
-+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-+                }
-+                else {
-+                    $_ngcc_current_state = 1;
-+                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
-+                }
-+            }
-+            break;
-         case 6:
-             {
-                 if(($ai = $runtime.getAttributeIndex("","namespace"))>=0) {
-@@ -88,23 +105,6 @@
-                 }
-             }
-             break;
--        case 0:
--            {
--                revertToParentFromEnterElement(this, super._cookie, $__uri, $__local, $__qname, $attrs);
--            }
--            break;
--        case 2:
--            {
--                if(($ai = $runtime.getAttributeIndex("","location"))>=0) {
--                    $runtime.consumeAttribute($ai);
--                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
--                }
--                else {
--                    $_ngcc_current_state = 1;
--                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
--                }
--            }
--            break;
-         default:
-             {
-                 unexpectedEnterElement($__qname);
-@@ -119,23 +119,23 @@
-         $localName = $__local;
-         $qname = $__qname;
-         switch($_ngcc_current_state) {
--        case 6:
-+        case 0:
-             {
--                if(($ai = $runtime.getAttributeIndex("","namespace"))>=0) {
-+                revertToParentFromLeaveElement(this, super._cookie, $__uri, $__local, $__qname);
-+            }
-+            break;
-+        case 2:
-+            {
-+                if(($ai = $runtime.getAttributeIndex("","location"))>=0) {
-                     $runtime.consumeAttribute($ai);
-                     $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-                 }
-                 else {
--                    $_ngcc_current_state = 2;
-+                    $_ngcc_current_state = 1;
-                     $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-                 }
-             }
-             break;
--        case 0:
--            {
--                revertToParentFromLeaveElement(this, super._cookie, $__uri, $__local, $__qname);
--            }
--            break;
-         case 1:
-             {
-                 if(($__uri == "" && $__local == "schema")) {
-@@ -147,14 +147,14 @@
-                 }
-             }
-             break;
--        case 2:
-+        case 6:
-             {
--                if(($ai = $runtime.getAttributeIndex("","location"))>=0) {
-+                if(($ai = $runtime.getAttributeIndex("","namespace"))>=0) {
-                     $runtime.consumeAttribute($ai);
-                     $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-                 }
-                 else {
--                    $_ngcc_current_state = 1;
-+                    $_ngcc_current_state = 2;
-                     $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
-                 }
-             }
-@@ -172,17 +172,6 @@
-         $localName = $__local;
-         $qname = $__qname;
-         switch($_ngcc_current_state) {
--        case 6:
--            {
--                if(($__uri == "" && $__local == "namespace")) {
--                    $_ngcc_current_state = 8;
--                }
--                else {
--                    $_ngcc_current_state = 2;
--                    $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
--                }
--            }
--            break;
-         case 0:
-             {
-                 revertToParentFromEnterAttribute(this, super._cookie, $__uri, $__local, $__qname);
-@@ -199,6 +188,17 @@
-                 }
-             }
-             break;
-+        case 6:
-+            {
-+                if(($__uri == "" && $__local == "namespace")) {
-+                    $_ngcc_current_state = 8;
-+                }
-+                else {
-+                    $_ngcc_current_state = 2;
-+                    $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
-+                }
-+            }
-+            break;
-         default:
-             {
-                 unexpectedEnterAttribute($__qname);
-@@ -212,15 +212,15 @@
-         $localName = $__local;
-         $qname = $__qname;
-         switch($_ngcc_current_state) {
--        case 6:
-+        case 0:
-             {
--                $_ngcc_current_state = 2;
--                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
-+                revertToParentFromLeaveAttribute(this, super._cookie, $__uri, $__local, $__qname);
-             }
-             break;
--        case 0:
-+        case 2:
-             {
--                revertToParentFromLeaveAttribute(this, super._cookie, $__uri, $__local, $__qname);
-+                $_ngcc_current_state = 1;
-+                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
-             }
-             break;
-         case 7:
-@@ -233,6 +233,12 @@
-                 }
-             }
-             break;
-+        case 6:
-+            {
-+                $_ngcc_current_state = 2;
-+                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
-+            }
-+            break;
-         case 3:
-             {
-                 if(($__uri == "" && $__local == "location")) {
-@@ -243,12 +249,6 @@
-                 }
-             }
-             break;
--        case 2:
--            {
--                $_ngcc_current_state = 1;
--                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
--            }
--            break;
-         default:
-             {
-                 unexpectedLeaveAttribute($__qname);
-@@ -260,24 +260,6 @@
-     public void text(String $value) throws SAXException {
-         int $ai;
-         switch($_ngcc_current_state) {
--        case 8:
--            {
--                namespace = $value;
--                $_ngcc_current_state = 7;
--            }
--            break;
--        case 6:
--            {
--                if(($ai = $runtime.getAttributeIndex("","namespace"))>=0) {
--                    $runtime.consumeAttribute($ai);
--                    $runtime.sendText(super._cookie, $value);
--                }
--                else {
--                    $_ngcc_current_state = 2;
--                    $runtime.sendText(super._cookie, $value);
--                }
--            }
--            break;
-         case 0:
-             {
-                 revertToParentFromText(this, super._cookie, $value);
-@@ -295,6 +277,12 @@
-                 }
-             }
-             break;
-+        case 8:
-+            {
-+                namespace = $value;
-+                $_ngcc_current_state = 7;
-+            }
-+            break;
-         case 4:
-             {
-                 loc = $value;
-@@ -302,6 +290,18 @@
-                 action0();
-             }
-             break;
-+        case 6:
-+            {
-+                if(($ai = $runtime.getAttributeIndex("","namespace"))>=0) {
-+                    $runtime.consumeAttribute($ai);
-+                    $runtime.sendText(super._cookie, $value);
-+                }
-+                else {
-+                    $_ngcc_current_state = 2;
-+                    $runtime.sendText(super._cookie, $value);
-+                }
-+            }
-+            break;
-         }
-     }
- 
---- old/src/share/classes/com/sun/tools/internal/jxc/gen/config/config.xsd	Tue Aug  4 09:28:01 2009
-+++ new/src/share/classes/com/sun/tools/internal/jxc/gen/config/config.xsd	Tue Aug  4 09:28:00 2009
-@@ -23,6 +23,8 @@
-  CA 95054 USA or visit www.sun.com if you need additional information or
-  have any questions.
- -->
-+
-+
- <!-- THIS IS A GENERATED FILE. DO NOT MODIFY. -->
- <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
-   <xs:element name="config">
---- old/src/share/classes/com/sun/tools/internal/jxc/model/nav/APTNavigator.java	Tue Aug  4 09:28:03 2009
-+++ new/src/share/classes/com/sun/tools/internal/jxc/model/nav/APTNavigator.java	Tue Aug  4 09:28:02 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.jxc.model.nav;
- 
- import java.util.ArrayList;
-@@ -306,7 +307,7 @@
-     }
- 
-     public boolean isInnerClass(TypeDeclaration clazz) {
--        return clazz.getDeclaringType()!=null;
-+        return clazz.getDeclaringType()!=null && !clazz.getModifiers().contains(Modifier.STATIC);
-     }
- 
-     public boolean isArray(TypeMirror t) {
---- old/src/share/classes/com/sun/tools/internal/ws/Invoker.java	Tue Aug  4 09:28:05 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/Invoker.java	Tue Aug  4 09:28:05 2009
-@@ -55,10 +55,12 @@
-     static int invoke(String mainClass, String[] args) throws Throwable {
-         // use the platform default proxy if available.
-         // see sun.net.spi.DefaultProxySelector for details.
--        try {
--            System.setProperty("java.net.useSystemProxies","true");
--        } catch (SecurityException e) {
--            // failing to set this property isn't fatal
-+        if(!noSystemProxies) {
-+            try {
-+                System.setProperty("java.net.useSystemProxies","true");
-+            } catch (SecurityException e) {
-+                // failing to set this property isn't fatal
-+            }
-         }
- 
-         ClassLoader oldcc = Thread.currentThread().getContextClassLoader();
-@@ -220,4 +222,18 @@
-         "com.sun.xml.internal.bind.",
-         "com.sun.xml.internal.ws."
-     };
-+
-+    /**
-+     * Escape hatch to work around IBM JDK problem.
-+     * See http://www-128.ibm.com/developerworks/forums/dw_thread.jsp?nav=false&forum=367&thread=164718&cat=10
-+     */
-+    public static boolean noSystemProxies = false;
-+
-+    static {
-+        try {
-+            noSystemProxies = Boolean.getBoolean(Invoker.class.getName()+".noSystemProxies");
-+        } catch(SecurityException e) {
-+            // ignore
-+        }
-+    }
- }
---- old/src/share/classes/com/sun/tools/internal/ws/api/TJavaGeneratorExtension.java	Tue Aug  4 09:28:07 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/api/TJavaGeneratorExtension.java	Tue Aug  4 09:28:07 2009
-@@ -34,6 +34,7 @@
-  *
-  * @see JavaGeneratorExtensionFacade
-  * @author Vivek Pandey
-+ * @deprecated This class is deprecated, will be removed in JAX-WS 2.2 RI.
-  */
- public abstract class TJavaGeneratorExtension {
-     /**
---- old/src/share/classes/com/sun/tools/internal/ws/api/wsdl/TWSDLExtensible.java	Tue Aug  4 09:28:09 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/api/wsdl/TWSDLExtensible.java	Tue Aug  4 09:28:09 2009
-@@ -32,6 +32,8 @@
-  * A WSDL element or attribute that can be extended.
-  *
-  * @author Vivek Pandey
-+ * @deprecated This interface is deprecated, will be removed in JAX-WS 2.2 RI.
-+ *
-  */
- public interface TWSDLExtensible {
-     /**
---- old/src/share/classes/com/sun/tools/internal/ws/api/wsdl/TWSDLExtension.java	Tue Aug  4 09:28:12 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/api/wsdl/TWSDLExtension.java	Tue Aug  4 09:28:11 2009
-@@ -29,6 +29,7 @@
-  * A WSDL extension
-  *
-  * @author Vivek Pandey
-+ * @deprecated This interface is deprecated, will be removed in JAX-WS 2.2 RI.
-  */
- public interface TWSDLExtension {
-     /**
---- old/src/share/classes/com/sun/tools/internal/ws/api/wsdl/TWSDLExtensionHandler.java	Tue Aug  4 09:28:14 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/api/wsdl/TWSDLExtensionHandler.java	Tue Aug  4 09:28:13 2009
-@@ -33,6 +33,7 @@
-  * with it for the WSDL extensibility elements thats not already defined in the WSDL 1.1 spec, such as SOAP or MIME.
-  *
-  * @author Vivek Pandey
-+ * @deprecated This class is deprecated, will be removed in JAX-WS 2.2 RI.
-  */
- public abstract class TWSDLExtensionHandler {
-     /**
---- old/src/share/classes/com/sun/tools/internal/ws/api/wsdl/TWSDLOperation.java	Tue Aug  4 09:28:16 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/api/wsdl/TWSDLOperation.java	Tue Aug  4 09:28:15 2009
-@@ -33,6 +33,7 @@
-  * Abstracts wsdl:portType/wsdl:operation
-  *
-  * @author Vivek Pandey
-+ * @deprecated This interface is deprecated, will be removed in JAX-WS 2.2 RI.
-  */
- public interface TWSDLOperation extends TWSDLExtensible{
-     /**
---- old/src/share/classes/com/sun/tools/internal/ws/api/wsdl/TWSDLParserContext.java	Tue Aug  4 09:28:18 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/api/wsdl/TWSDLParserContext.java	Tue Aug  4 09:28:18 2009
-@@ -33,6 +33,7 @@
-  * it can be latter used by other extensions to resolve the namespaces.
-  *
-  * @author Vivek Pandey
-+ * @deprecated This interface is deprecated, will be removed in JAX-WS 2.2 RI.
-  */
- public interface TWSDLParserContext {
- 
---- old/src/share/classes/com/sun/tools/internal/ws/package-info.java	Tue Aug  4 09:28:20 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/package-info.java	Tue Aug  4 09:28:20 2009
-@@ -24,7 +24,7 @@
-  */
- 
- /**
-- * <h1>JAX-WS 2.0.1 Tools</h1>
-+ * <h1>JAX-WS 2.1 Tools</h1>
-  * This document describes the tools included with JAX-WS 2.0.1.
-  *
-  * {@DotDiagram
-@@ -42,7 +42,7 @@
- 
-        // libraries
-       node [style=filled,color=lightblue];
--      CompileTool; "WSAP"; WebServiceAP; Processor; Modeler; ProcessorActions;
-+      WsimportTool; WsgenTool;"WSAP"; WebServiceAP; WSDLModeler;WSDLParser;SeiGenerator;ServiceGenerator;ExceptionGenerator;"JAXB XJC APIs";CodeModel;
- 
-        // aps
- #       node [style=filled,color=lightpink];
-@@ -49,15 +49,17 @@
- #       "JAX-WS"; tools; runtime; SPI; "Annotation Processor";
- 
-        "Apt ANT Task" -> APT;
--       "WsGen ANT Task" -> wsgen -> CompileTool;
--       "WsImport ANT Task" -> wsimport -> CompileTool;
-+       "WsGen ANT Task" -> wsgen -> WsgenTool;
-+       "WsImport ANT Task" -> wsimport -> WsimportTool;
- 
--       CompileTool -> APT -> WSAP -> WebServiceAP;
--       CompileTool -> Processor -> Modeler;
--       Processor -> ProcessorActions;
--       CompileTool -> WebServiceAP;
--
--       Modeler -> WSDLModeler;
-+       WsgenTool -> APT -> WSAP -> WebServiceAP;
-+       WsimportTool -> WSDLModeler;
-+       WSDLModeler->WSDLParser;
-+       WSDLModeler->"JAXB XJC APIs"
-+       WsimportTool->SeiGenerator->CodeModel;
-+       WsimportTool->ServiceGenerator->CodeModel;
-+       WsimportTool->ExceptionGenerator->CodeModel;
-+       WebServiceAP->CodeModel
-      }
-  * }
-  * <div align=right>
---- old/src/share/classes/com/sun/tools/internal/ws/processor/generator/GeneratorBase.java	Tue Aug  4 09:28:23 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/processor/generator/GeneratorBase.java	Tue Aug  4 09:28:22 2009
-@@ -156,12 +156,14 @@
-         return comments;
-     }
- 
--    protected JDefinedClass getClass(String className, ClassType type) {
-+    protected JDefinedClass getClass(String className, ClassType type) throws JClassAlreadyExistsException {
-         JDefinedClass cls;
-         try {
-             cls = cm._class(className, type);
-         } catch (JClassAlreadyExistsException e){
-             cls = cm._getClass(className);
-+            if(cls == null)
-+                throw e;
-         }
-         return cls;
-     }
---- old/src/share/classes/com/sun/tools/internal/ws/processor/generator/SeiGenerator.java	Tue Aug  4 09:28:25 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/processor/generator/SeiGenerator.java	Tue Aug  4 09:28:24 2009
-@@ -36,7 +36,11 @@
- import com.sun.tools.internal.ws.wscompile.ErrorReceiver;
- import com.sun.tools.internal.ws.wscompile.Options;
- import com.sun.tools.internal.ws.wscompile.WsimportOptions;
-+import com.sun.tools.internal.ws.wscompile.AbortException;
- import com.sun.tools.internal.ws.wsdl.document.soap.SOAPStyle;
-+import com.sun.tools.internal.ws.wsdl.document.PortType;
-+import com.sun.tools.internal.ws.wsdl.document.Kinds;
-+import com.sun.tools.internal.ws.resources.GeneratorMessages;
- 
- import javax.jws.WebMethod;
- import javax.jws.WebParam;
-@@ -48,6 +52,8 @@
- import java.util.ArrayList;
- import java.util.List;
- 
-+import org.xml.sax.Locator;
-+
- public class SeiGenerator extends GeneratorBase{
-     private String serviceNS;
-     private TJavaGeneratorExtension extension;
-@@ -83,10 +89,22 @@
-         }
- 
- 
--        JDefinedClass cls = getClass(className, ClassType.INTERFACE);
--        if (cls == null)
-+        JDefinedClass cls = null;
-+        try {
-+            cls = getClass(className, ClassType.INTERFACE);
-+        } catch (JClassAlreadyExistsException e) {
-+            QName portTypeName =
-+                (QName) port.getProperty(
-+                        ModelProperties.PROPERTY_WSDL_PORT_TYPE_NAME);
-+            Locator loc = null;
-+            if(portTypeName != null){
-+                PortType pt = port.portTypes.get(portTypeName);
-+                if(pt!=null)
-+                    loc = pt.getLocator();
-+            }
-+            receiver.error(loc, GeneratorMessages.GENERATOR_SEI_CLASS_ALREADY_EXIST(intf.getName(), portTypeName));
-             return;
--
-+        }
-         // If the class has methods it has already been defined
-         // so skip it.
-         if (!cls.methods().isEmpty())
-@@ -441,15 +459,7 @@
-         if (port.isProvider()) {
-             return;                // Not generating for Provider based endpoint
-         }
--
--
--        try {
--            write(port);
--        } catch (Exception e) {
--            throw new GeneratorException(
--                "generator.nestedGeneratorError",
--                e);
--        }
-+        write(port);
-     }
- 
-     private void register(TJavaGeneratorExtension h) {
---- old/src/share/classes/com/sun/tools/internal/ws/processor/generator/ServiceGenerator.java	Tue Aug  4 09:28:27 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/processor/generator/ServiceGenerator.java	Tue Aug  4 09:28:27 2009
-@@ -29,11 +29,13 @@
- import com.sun.tools.internal.ws.processor.model.Model;
- import com.sun.tools.internal.ws.processor.model.Port;
- import com.sun.tools.internal.ws.processor.model.Service;
-+import com.sun.tools.internal.ws.processor.model.ModelProperties;
- import com.sun.tools.internal.ws.processor.model.java.JavaInterface;
- import com.sun.tools.internal.ws.wscompile.ErrorReceiver;
- import com.sun.tools.internal.ws.wscompile.Options;
- import com.sun.tools.internal.ws.wscompile.WsimportOptions;
- import com.sun.tools.internal.ws.resources.GeneratorMessages;
-+import com.sun.tools.internal.ws.wsdl.document.PortType;
- import com.sun.xml.internal.bind.api.JAXBRIContext;
- import com.sun.xml.internal.ws.util.JAXWSUtils;
- 
-@@ -42,161 +44,174 @@
- import javax.xml.ws.WebServiceClient;
- import javax.xml.ws.WebServiceFeature;
- import java.io.IOException;
-+import java.io.File;
- import java.net.MalformedURLException;
- import java.net.URL;
-+import java.util.logging.Logger;
- 
-+import org.xml.sax.Locator;
- 
-+
- /**
-- *
-  * @author WS Development Team
-  */
--public class ServiceGenerator extends GeneratorBase{
-+public class ServiceGenerator extends GeneratorBase {
- 
--    public static void generate(Model model, WsimportOptions options, ErrorReceiver receiver){
-+    public static void generate(Model model, WsimportOptions options, ErrorReceiver receiver) {
-         ServiceGenerator serviceGenerator = new ServiceGenerator(model, options, receiver);
-         serviceGenerator.doGeneration();
-     }
-+
-     private ServiceGenerator(Model model, WsimportOptions options, ErrorReceiver receiver) {
-         super(model, options, receiver);
-     }
- 
--    private JInvocation createURL(URL url) {
--        return JExpr._new(cm.ref(URL.class)).arg(url.toExternalForm());
--    }
--
-     @Override
-     public void visit(Service service) {
-+        JavaInterface intf = service.getJavaInterface();
-+        String className = Names.customJavaTypeClassName(intf);
-+        if (donotOverride && GeneratorUtil.classExists(options, className)) {
-+            log("Class " + className + " exists. Not overriding.");
-+            return;
-+        }
-+
-+        JDefinedClass cls;
-         try {
--            JavaInterface intf = service.getJavaInterface();
--            String className = Names.customJavaTypeClassName(intf);
--            if (donotOverride && GeneratorUtil.classExists(options, className)) {
--                log("Class " + className + " exists. Not overriding.");
--                return;
--            }
-+            cls = getClass(className, ClassType.CLASS);
-+        } catch (JClassAlreadyExistsException e) {
-+            receiver.error(service.getLocator(), GeneratorMessages.GENERATOR_SERVICE_CLASS_ALREADY_EXIST(className, service.getName()));
-+            return;
-+        }
- 
--            JDefinedClass cls = getClass(className, ClassType.CLASS);
-+        cls._extends(javax.xml.ws.Service.class);
-+        String serviceFieldName = JAXBRIContext.mangleNameToClassName(service.getName().getLocalPart()).toUpperCase();
-+        String wsdlLocationName = serviceFieldName + "_WSDL_LOCATION";
-+        JFieldVar urlField = cls.field(JMod.PRIVATE | JMod.STATIC | JMod.FINAL, URL.class, wsdlLocationName);
- 
--            cls._extends(javax.xml.ws.Service.class);
--            String serviceFieldName = JAXBRIContext.mangleNameToClassName(service.getName().getLocalPart()).toUpperCase();
--            String wsdlLocationName = serviceFieldName+"_WSDL_LOCATION";
--            JFieldVar urlField = cls.field(JMod.PRIVATE|JMod.STATIC|JMod.FINAL, URL.class, wsdlLocationName);
--            JClass qNameCls = cm.ref(QName.class);
--            JInvocation inv;
--            inv = JExpr._new(qNameCls);
--            inv.arg("namespace");
--            inv.arg("localpart");
- 
-+        cls.field(JMod.PRIVATE | JMod.STATIC | JMod.FINAL, Logger.class, "logger", cm.ref(Logger.class).staticInvoke("getLogger").arg(JExpr.dotclass(cm.ref(className)).invoke("getName")));
- 
--            JBlock staticBlock = cls.init();
--            URL url = new URL(JAXWSUtils.absolutize(JAXWSUtils.getFileOrURLName(wsdlLocation)));
--            JVar urlVar = staticBlock.decl(cm.ref(URL.class),"url", JExpr._null());
--            JTryBlock tryBlock = staticBlock._try();
--            tryBlock.body().assign(urlVar, createURL(url));
--            JCatchBlock catchBlock = tryBlock._catch(cm.ref(MalformedURLException.class));
--            catchBlock.param("e");
--            catchBlock.body().directStatement("e.printStackTrace();");
--            staticBlock.assign(urlField, urlVar);
-+        JClass qNameCls = cm.ref(QName.class);
-+        JInvocation inv;
-+        inv = JExpr._new(qNameCls);
-+        inv.arg("namespace");
-+        inv.arg("localpart");
- 
--            //write class comment - JAXWS warning
--            JDocComment comment = cls.javadoc();
- 
--            if(service.getJavaDoc() != null){
--                comment.add(service.getJavaDoc());
--                comment.add("\n\n");
--            }
-+        JBlock staticBlock = cls.init();
-+        JVar urlVar = staticBlock.decl(cm.ref(URL.class), "url", JExpr._null());
-+        JTryBlock tryBlock = staticBlock._try();
-+        JVar baseUrl = tryBlock.body().decl(cm.ref(URL.class), "baseUrl");
-+        tryBlock.body().assign(baseUrl, JExpr.dotclass(cm.ref(className)).invoke("getResource").arg("."));
-+        tryBlock.body().assign(urlVar, JExpr._new(cm.ref(URL.class)).arg(baseUrl).arg(wsdlLocation));
-+        JCatchBlock catchBlock = tryBlock._catch(cm.ref(MalformedURLException.class));
-+        catchBlock.param("e");
- 
--            for (String doc : getJAXWSClassComment()) {
--                comment.add(doc);
--            }
-+        catchBlock.body().directStatement("logger.warning(\"Failed to create URL for the wsdl Location: " + JExpr.quotify('\'', wsdlLocation) + ", retrying as a local file\");");
-+        catchBlock.body().directStatement("logger.warning(e.getMessage());");
- 
--            JMethod constructor = cls.constructor(JMod.PUBLIC);
--            constructor.param(URL.class, "wsdlLocation");
--            constructor.param(QName.class, "serviceName");
--            constructor.body().directStatement("super(wsdlLocation, serviceName);");
-+        staticBlock.assign(urlField, urlVar);
- 
--            constructor = cls.constructor(JMod.PUBLIC);
--            constructor.body().directStatement("super("+wsdlLocationName+", new QName(\""+service.getName().getNamespaceURI()+"\", \""+service.getName().getLocalPart()+"\"));");
-+        //write class comment - JAXWS warning
-+        JDocComment comment = cls.javadoc();
- 
--            //@WebService
--            JAnnotationUse webServiceClientAnn = cls.annotate(cm.ref(WebServiceClient.class));
--            writeWebServiceClientAnnotation(service, webServiceClientAnn);
-+        if (service.getJavaDoc() != null) {
-+            comment.add(service.getJavaDoc());
-+            comment.add("\n\n");
-+        }
- 
--            //@HandlerChain
--            writeHandlerConfig(Names.customJavaTypeClassName(service.getJavaInterface()), cls, options);
-+        for (String doc : getJAXWSClassComment()) {
-+            comment.add(doc);
-+        }
- 
--            for (Port port: service.getPorts()) {
--                if (port.isProvider()) {
--                    continue;  // No getXYZPort() for porvider based endpoint
--                }
-+        JMethod constructor = cls.constructor(JMod.PUBLIC);
-+        constructor.param(URL.class, "wsdlLocation");
-+        constructor.param(QName.class, "serviceName");
-+        constructor.body().directStatement("super(wsdlLocation, serviceName);");
- 
--                //write getXyzPort()
--                writeDefaultGetPort(port, cls);
-+        constructor = cls.constructor(JMod.PUBLIC);
-+        constructor.body().directStatement("super(" + wsdlLocationName + ", new QName(\"" + service.getName().getNamespaceURI() + "\", \"" + service.getName().getLocalPart() + "\"));");
- 
--                //write getXyzPort(WebServicesFeature...)
--                if(options.target.isLaterThan(Options.Target.V2_1))
--                    writeGetPort(port, cls);
-+        //@WebService
-+        JAnnotationUse webServiceClientAnn = cls.annotate(cm.ref(WebServiceClient.class));
-+        writeWebServiceClientAnnotation(service, webServiceClientAnn);
-+
-+        //@HandlerChain
-+        writeHandlerConfig(Names.customJavaTypeClassName(service.getJavaInterface()), cls, options);
-+
-+        for (Port port : service.getPorts()) {
-+            if (port.isProvider()) {
-+                continue;  // No getXYZPort() for porvider based endpoint
-             }
--        } catch (IOException e) {
--            receiver.error(e);
-+
-+            //Get the SEI class
-+            JType retType;
-+            try {
-+                retType = getClass(port.getJavaInterface().getName(), ClassType.INTERFACE);
-+            } catch (JClassAlreadyExistsException e) {
-+                QName portTypeName =
-+                        (QName) port.getProperty(
-+                                ModelProperties.PROPERTY_WSDL_PORT_TYPE_NAME);
-+                Locator loc = null;
-+                if (portTypeName != null) {
-+                    PortType pt = port.portTypes.get(portTypeName);
-+                    if (pt != null)
-+                        loc = pt.getLocator();
-+                }
-+                receiver.error(loc, GeneratorMessages.GENERATOR_SEI_CLASS_ALREADY_EXIST(port.getJavaInterface().getName(), portTypeName));
-+                return;
-+            }
-+
-+            //write getXyzPort()
-+            writeDefaultGetPort(port, retType, cls);
-+
-+            //write getXyzPort(WebServicesFeature...)
-+            if (options.target.isLaterThan(Options.Target.V2_1))
-+                writeGetPort(port, retType, cls);
-         }
-     }
- 
--    private void writeGetPort(Port port, JDefinedClass cls) {
--        JType retType = getClass(port.getJavaInterface().getName(), ClassType.INTERFACE);
-+    private void writeGetPort(Port port, JType retType, JDefinedClass cls) {
-         JMethod m = cls.method(JMod.PUBLIC, retType, port.getPortGetter());
-         JDocComment methodDoc = m.javadoc();
--        if(port.getJavaDoc() != null)
-+        if (port.getJavaDoc() != null)
-             methodDoc.add(port.getJavaDoc());
-         JCommentPart ret = methodDoc.addReturn();
-         JCommentPart paramDoc = methodDoc.addParam("features");
-         paramDoc.append("A list of ");
--        paramDoc.append("{@link "+WebServiceFeature.class.getName()+"}");
-+        paramDoc.append("{@link " + WebServiceFeature.class.getName() + "}");
-         paramDoc.append("to configure on the proxy.  Supported features not in the <code>features</code> parameter will have their default values.");
--        ret.add("returns "+retType.name());
-+        ret.add("returns " + retType.name());
-         m.varParam(WebServiceFeature.class, "features");
-         JBlock body = m.body();
--        StringBuffer statement = new StringBuffer("return (");
-+        StringBuffer statement = new StringBuffer("return ");
-+        statement.append("super.getPort(new QName(\"").append(port.getName().getNamespaceURI()).append("\", \"").append(port.getName().getLocalPart()).append("\"), ");
-         statement.append(retType.name());
--        statement.append(")super.getPort(new QName(\"").append(port.getName().getNamespaceURI()).append("\", \"").append(port.getName().getLocalPart()).append("\"), ");
--        statement.append(retType.name());
-         statement.append(".class, features);");
-         body.directStatement(statement.toString());
-         writeWebEndpoint(port, m);
-     }
- 
--    private void writeDefaultGetPort(Port port, JDefinedClass cls) {
--        JType retType = getClass(port.getJavaInterface().getName(), ClassType.INTERFACE);
-+    private void writeDefaultGetPort(Port port, JType retType, JDefinedClass cls) {
-         String portGetter = port.getPortGetter();
-         JMethod m = cls.method(JMod.PUBLIC, retType, portGetter);
-         JDocComment methodDoc = m.javadoc();
--        if(port.getJavaDoc() != null)
-+        if (port.getJavaDoc() != null)
-             methodDoc.add(port.getJavaDoc());
-         JCommentPart ret = methodDoc.addReturn();
--        ret.add("returns "+retType.name());
-+        ret.add("returns " + retType.name());
-         JBlock body = m.body();
--        StringBuffer statement = new StringBuffer("return (");
-+        StringBuffer statement = new StringBuffer("return ");
-+        statement.append("super.getPort(new QName(\"").append(port.getName().getNamespaceURI()).append("\", \"").append(port.getName().getLocalPart()).append("\"), ");
-         statement.append(retType.name());
--        statement.append(")super.getPort(new QName(\"").append(port.getName().getNamespaceURI()).append("\", \"").append(port.getName().getLocalPart()).append("\"), ");
--        statement.append(retType.name());
-         statement.append(".class);");
-         body.directStatement(statement.toString());
-         writeWebEndpoint(port, m);
-     }
- 
--
--    protected JDefinedClass getClass(String className, ClassType type) {
--        JDefinedClass cls;
--        try {
--            cls = cm._class(className, type);
--        } catch (JClassAlreadyExistsException e){
--            cls = cm._getClass(className);
--        }
--        return cls;
--    }
--
-     private void writeWebServiceClientAnnotation(Service service, JAnnotationUse wsa) {
-         String serviceName = service.getName().getLocalPart();
--        String serviceNS= service.getName().getNamespaceURI();
-+        String serviceNS = service.getName().getNamespaceURI();
-         wsa.param("name", serviceName);
-         wsa.param("targetNamespace", serviceNS);
-         wsa.param("wsdlLocation", wsdlLocation);
---- old/src/share/classes/com/sun/tools/internal/ws/processor/generator/W3CAddressingJavaGeneratorExtension.java	Tue Aug  4 09:28:29 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/processor/generator/W3CAddressingJavaGeneratorExtension.java	Tue Aug  4 09:28:29 2009
-@@ -22,9 +22,6 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
--/*
-- * $Id: W3CAddressingJavaGeneratorExtension.java,v 1.1.2.4 2006/10/31 19:57:28 vivekp Exp $
-- */
- 
- package com.sun.tools.internal.ws.processor.generator;
- 
---- old/src/share/classes/com/sun/tools/internal/ws/processor/model/Port.java	Tue Aug  4 09:28:31 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/processor/model/Port.java	Tue Aug  4 09:28:31 2009
-@@ -26,6 +26,7 @@
- package com.sun.tools.internal.ws.processor.model;
- 
- import com.sun.tools.internal.ws.processor.model.java.JavaInterface;
-+import com.sun.tools.internal.ws.wsdl.document.PortType;
- import com.sun.tools.internal.ws.wsdl.document.soap.SOAPStyle;
- import com.sun.tools.internal.ws.wsdl.framework.Entity;
- 
-@@ -174,4 +175,5 @@
-     private String _address;
-     private String _serviceImplName;
-     private Map<String, Operation> operationsByName = new HashMap<String, Operation>();
-+    public Map<QName, PortType> portTypes = new HashMap<QName, PortType>();
- }
---- old/src/share/classes/com/sun/tools/internal/ws/processor/model/java/JavaMethod.java	Tue Aug  4 09:28:34 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/processor/model/java/JavaMethod.java	Tue Aug  4 09:28:33 2009
-@@ -27,6 +27,7 @@
- 
- import com.sun.tools.internal.ws.resources.ModelMessages;
- import com.sun.tools.internal.ws.wscompile.ErrorReceiver;
-+import com.sun.tools.internal.ws.wscompile.WsimportOptions;
- import com.sun.tools.internal.ws.processor.model.Parameter;
- 
- import java.util.ArrayList;
-@@ -42,12 +43,14 @@
-     private final String name;
-     private final List<JavaParameter> parameters = new ArrayList<JavaParameter>();
-     private final List<String> exceptions = new ArrayList<String>();
-+    private final WsimportOptions options;
-     private JavaType returnType;
- 
--    public JavaMethod(String name, ErrorReceiver receiver) {
-+    public JavaMethod(String name, WsimportOptions options, ErrorReceiver receiver) {
-         this.name = name;
-         this.returnType = null;
-         this.errorReceiver = receiver;
-+        this.options = options;
-     }
- 
-     public String getName() {
-@@ -83,10 +86,19 @@
-     public void addParameter(JavaParameter param) {
-         // verify that this member does not already exist
-         if (hasParameter(param.getName())) {
--            errorReceiver.error(param.getParameter().getLocator(), ModelMessages.MODEL_PARAMETER_NOTUNIQUE(param.getName(), param.getParameter().getEntityName()));
--            Parameter duplicParam = getParameter(param.getName());
--            errorReceiver.error(duplicParam.getLocator(), ModelMessages.MODEL_PARAMETER_NOTUNIQUE(param.getName(), duplicParam.getEntityName()));
--            return;
-+            if(options.isExtensionMode()){
-+                param.setName(getUniqueName(param.getName()));
-+            }else{
-+                Parameter duplicParam = getParameter(param.getName());
-+                if(param.getParameter().isEmbedded()){
-+                    errorReceiver.error(param.getParameter().getLocator(), ModelMessages.MODEL_PARAMETER_NOTUNIQUE_WRAPPER(param.getName(), param.getParameter().getEntityName()));
-+                    errorReceiver.error(duplicParam.getLocator(), ModelMessages.MODEL_PARAMETER_NOTUNIQUE_WRAPPER(param.getName(), duplicParam.getEntityName()));
-+                }else{
-+                    errorReceiver.error(param.getParameter().getLocator(), ModelMessages.MODEL_PARAMETER_NOTUNIQUE(param.getName(), param.getParameter().getEntityName()));
-+                    errorReceiver.error(duplicParam.getLocator(), ModelMessages.MODEL_PARAMETER_NOTUNIQUE(param.getName(), duplicParam.getEntityName()));
-+                }
-+                return;
-+            }
-         }
-         parameters.add(param);
-     }
-@@ -106,4 +118,12 @@
-     public Iterator<String> getExceptions() {
-         return exceptions.iterator();
-     }
-+
-+    private String getUniqueName(String param){
-+        int parmNum = 0;
-+        while(hasParameter(param)){
-+            param = param + Integer.toString(parmNum++);
-+        }
-+        return param;
-+    }
- }
---- old/src/share/classes/com/sun/tools/internal/ws/processor/model/jaxb/JAXBType.java	Tue Aug  4 09:28:36 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/processor/model/jaxb/JAXBType.java	Tue Aug  4 09:28:35 2009
-@@ -71,11 +71,11 @@
-     }
- 
-     public boolean isUnwrappable(){
--        return getJaxbMapping().getWrapperStyleDrilldown() != null;
-+        return jaxbMapping != null && jaxbMapping.getWrapperStyleDrilldown() != null;
-     }
- 
-     public boolean hasWrapperChildren(){
--        return (getWrapperChildren().size() > 0) ? true : false;
-+        return wrapperChildren.size() > 0;
-     }
- 
-     public boolean isLiteralType() {
---- old/src/share/classes/com/sun/tools/internal/ws/processor/modeler/annotation/WebServiceAP.java	Tue Aug  4 09:28:38 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/processor/modeler/annotation/WebServiceAP.java	Tue Aug  4 09:28:38 2009
-@@ -210,6 +210,7 @@
-     public void onError(String message) {
-         if (messager != null) {
-             messager.printError(message);
-+            throw new AbortException();
-         } else {
-             throw new ModelerException(message);
-         }
---- old/src/share/classes/com/sun/tools/internal/ws/processor/modeler/annotation/WebServiceVisitor.java	Tue Aug  4 09:28:40 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/processor/modeler/annotation/WebServiceVisitor.java	Tue Aug  4 09:28:40 2009
-@@ -441,10 +441,21 @@
- 
-     protected boolean shouldProcessMethod(MethodDeclaration method, WebMethod webMethod) {
-         builder.log("should process method: "+method.getSimpleName()+" hasWebMethods: "+ hasWebMethods+" ");
-+        /*
-+        Fix for https://jax-ws.dev.java.net/issues/show_bug.cgi?id=577
-         if (hasWebMethods && webMethod == null) {
-             builder.log("webMethod == null");
-             return false;
-         }
-+        */
-+        Collection<Modifier> modifiers = method.getModifiers();
-+        boolean staticFinal = modifiers.contains(Modifier.STATIC) || modifiers.contains(Modifier.FINAL);
-+        if (staticFinal) {
-+            if (webMethod != null) {
-+                builder.onError(method.getPosition(), WebserviceapMessages.localizableWEBSERVICEAP_WEBSERVICE_METHOD_IS_STATIC_OR_FINAL(method.getDeclaringType(), method));
-+            }
-+            return false;
-+        }
-         boolean retval = (endpointReferencesInterface ||
-                 method.getDeclaringType().equals(typeDecl) ||
-                 (method.getDeclaringType().getAnnotation(WebService.class) != null));
-@@ -474,10 +485,6 @@
-             builder.onError(classDecl.getPosition(), WebserviceapMessages.localizableWEBSERVICEAP_WEBSERVICE_CLASS_IS_ABSTRACT(classDecl.getQualifiedName()));
-             return false;
-         }
--        if (classDecl.getDeclaringType() != null && !modifiers.contains(Modifier.STATIC) && !isStateful) {
--            builder.onError(classDecl.getPosition(), WebserviceapMessages.localizableWEBSERVICEAP_WEBSERVICE_CLASS_IS_INNERCLASS_NOT_STATIC(classDecl.getQualifiedName()));
--            return false;
--        }
-         boolean hasDefaultConstructor = false;
-         for (ConstructorDeclaration constructor : classDecl.getConstructors()) {
-             if (constructor.getModifiers().contains(Modifier.PUBLIC) &&
-@@ -487,6 +494,11 @@
-             }
-         }
-         if (!hasDefaultConstructor && !isStateful) {
-+            if (classDecl.getDeclaringType() != null && !modifiers.contains(Modifier.STATIC)) {
-+                builder.onError(classDecl.getPosition(), WebserviceapMessages.localizableWEBSERVICEAP_WEBSERVICE_CLASS_IS_INNERCLASS_NOT_STATIC(classDecl.getQualifiedName()));
-+                return false;
-+            }
-+
-             builder.onError(classDecl.getPosition(), WebserviceapMessages.localizableWEBSERVICEAP_WEBSERVICE_NO_DEFAULT_CONSTRUCTOR(classDecl.getQualifiedName()));
-             return false;
-         }
-@@ -578,7 +590,7 @@
-         }
-         ClassType superClass = classDecl.getSuperclass();
- 
--        if (!superClass.getDeclaration().getQualifiedName().equals(JAVA_LANG_OBJECT) && superClass != null && !methodsAreLegal(superClass.getDeclaration())) {
-+        if (!superClass.getDeclaration().getQualifiedName().equals(JAVA_LANG_OBJECT) && !methodsAreLegal(superClass.getDeclaration())) {
-             return false;
-         }
-         return true;
-@@ -596,11 +608,13 @@
-         if (!hasWebMethods && (webMethod !=null) && webMethod.exclude()) {
-             return true;
-         }
-+        /*
-+        This check is not needed as Impl class is already checked that it is not abstract.
-         if (typeDecl instanceof ClassDeclaration && method.getModifiers().contains(Modifier.ABSTRACT)) {
-             builder.onError(method.getPosition(), WebserviceapMessages.localizableWEBSERVICEAP_WEBSERVICE_METHOD_IS_ABSTRACT(typeDecl.getQualifiedName(), method.getSimpleName()));
-             return false;
-         }
--
-+        */
-         if (!isLegalType(method.getReturnType())) {
-             builder.onError(method.getPosition(), WebserviceapMessages.localizableWEBSERVICEAP_METHOD_RETURN_TYPE_CANNOT_IMPLEMENT_REMOTE(typeDecl.getQualifiedName(),
-                 method.getSimpleName(),
-@@ -750,7 +764,12 @@
-     protected boolean isLegalType(TypeMirror type) {
-         if (!(type instanceof DeclaredType))
-             return true;
--        return !builder.isRemote(((DeclaredType)type).getDeclaration());
-+        TypeDeclaration typeDecl = ((DeclaredType)type).getDeclaration();
-+        if(typeDecl == null) {
-+            // can be null, if this type's declaration is unknown. This may be the result of a processing error, such as a missing class file.
-+            builder.onError(WebserviceapMessages.WEBSERVICEAP_COULD_NOT_FIND_TYPEDECL(typeDecl.toString(), context.getRound()));
-+        }
-+        return !builder.isRemote(typeDecl);
-     }
- 
-     protected ParameterDeclaration getOutParameter(MethodDeclaration method) {
---- old/src/share/classes/com/sun/tools/internal/ws/processor/modeler/annotation/WebServiceWrapperGenerator.java	Tue Aug  4 09:28:43 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/processor/modeler/annotation/WebServiceWrapperGenerator.java	Tue Aug  4 09:28:42 2009
-@@ -127,8 +127,10 @@
-         boolean beanGenerated = false;
-         for (ReferenceType thrownType : method.getThrownTypes()) {
-             ClassDeclaration typeDecl = ((ClassType)thrownType).getDeclaration();
--            if (typeDecl == null)
-+            if (typeDecl == null){
-                 builder.onError(WebserviceapMessages.WEBSERVICEAP_COULD_NOT_FIND_TYPEDECL(thrownType.toString(), context.getRound()));
-+                return false;
-+            }
-             boolean tmp = generateExceptionBean(typeDecl, beanPackage);
-             beanGenerated = beanGenerated || tmp;
-         }
-@@ -195,7 +197,7 @@
-                 if (resWrapper.targetNamespace().length() > 0)
-                     resNamespace = resWrapper.targetNamespace();
-             }
--            canOverwriteResponse = builder.canOverWriteClass(requestClassName);
-+            canOverwriteResponse = builder.canOverWriteClass(responseClassName);
-             if (!canOverwriteResponse) {
-                 builder.log("Class " + responseClassName + " exists. Not overwriting.");
-             }
-@@ -593,7 +595,7 @@
-             return;
- 
-         String accessorName =JAXBRIContext.mangleNameToPropertyName(paramName);
--        String getterPrefix = paramType.equals("boolean") || paramType.equals("java.lang.Boolean") ? "is" : "get";
-+        String getterPrefix = paramType.toString().equals("boolean")? "is" : "get";
-         JType propType = getType(paramType);
-         JMethod m = cls.method(JMod.PUBLIC, propType, getterPrefix+ accessorName);
-         JDocComment methodDoc = m.javadoc();
---- old/src/share/classes/com/sun/tools/internal/ws/processor/modeler/wsdl/ConsoleErrorReporter.java	Tue Aug  4 09:28:45 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/processor/modeler/wsdl/ConsoleErrorReporter.java	Tue Aug  4 09:28:45 2009
-@@ -57,6 +57,8 @@
-         print(WscompileMessages.WSIMPORT_ERROR_MESSAGE(e.getMessage()), e);
-     }
- 
-+
-+
-     public void fatalError(SAXParseException e) {
-         if(debug)
-             e.printStackTrace();
-@@ -76,6 +78,11 @@
-         print(WscompileMessages.WSIMPORT_INFO_MESSAGE(e.getMessage()), e);
-     }
- 
-+    public void debug(SAXParseException e){
-+        print(WscompileMessages.WSIMPORT_DEBUG_MESSAGE(e.getMessage()), e);
-+    }
-+
-+
-     private void print(String message, SAXParseException e) {
-         output.println(message);
-         output.println(getLocationString(e));
---- old/src/share/classes/com/sun/tools/internal/ws/processor/modeler/wsdl/PseudoSchemaBuilder.java	Tue Aug  4 09:28:47 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/processor/modeler/wsdl/PseudoSchemaBuilder.java	Tue Aug  4 09:28:47 2009
-@@ -28,6 +28,7 @@
- import static com.sun.tools.internal.ws.processor.modeler.wsdl.WSDLModelerBase.getExtensionOfType;
- import com.sun.tools.internal.ws.wscompile.ErrorReceiver;
- import com.sun.tools.internal.ws.wscompile.WsimportOptions;
-+import com.sun.tools.internal.ws.wscompile.Options;
- import com.sun.tools.internal.ws.wsdl.document.*;
- import com.sun.tools.internal.ws.wsdl.document.jaxws.JAXWSBinding;
- import com.sun.tools.internal.ws.wsdl.document.schema.SchemaKinds;
-@@ -101,7 +102,7 @@
-             is.setSystemId(sysId+(i + 1));
-         }
-         //add w3c EPR binding
--        if(!(options.noAddressingBbinding && options.isExtensionMode())){
-+        if(!(options.noAddressingBbinding) && options.target.isLaterThan(Options.Target.V2_1)){
-             InputSource is = new InputSource(new ByteArrayInputStream(w3ceprSchemaBinding.getBytes()));
-             is.setSystemId(sysId+(++i +1));
-             b.schemas.add(is);
---- old/src/share/classes/com/sun/tools/internal/ws/processor/modeler/wsdl/WSDLModeler.java	Tue Aug  4 09:28:49 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/processor/modeler/wsdl/WSDLModeler.java	Tue Aug  4 09:28:49 2009
-@@ -74,7 +74,7 @@
- public class WSDLModeler extends WSDLModelerBase {
- 
-     //map of wsdl:operation QName to <soapenv:Body> child, as per BP it must be unique in a port
--    private final Map<QName, QName> uniqueBodyBlocks = new HashMap<QName, QName>();
-+    private final Map<QName, Operation> uniqueBodyBlocks = new HashMap<QName, Operation>();
-     private final QName VOID_BODYBLOCK = new QName("");
-     private ClassNameCollector classNameCollector;
-     private final String explicitDefaultPackage;
-@@ -334,11 +334,12 @@
-                         || (!soapBinding.getTransport().equals(
-                         SOAPConstants.URI_SOAP_TRANSPORT_HTTP) && !soapBinding.getTransport().equals(
-                         SOAP12Constants.URI_SOAP_TRANSPORT_HTTP)))) {
--                    warning(wsdlPort, ModelerMessages.WSDLMODELER_WARNING_IGNORING_SOAP_BINDING_NON_HTTP_TRANSPORT(wsdlPort.getName()));
-                     if (!options.isExtensionMode()) {
-                         // cannot deal with non-HTTP ports
-+                        warning(wsdlPort, ModelerMessages.WSDLMODELER_WARNING_IGNORING_SOAP_BINDING_NON_HTTP_TRANSPORT(wsdlPort.getName()));
-                         return false;
-                     }
-+
-                 }
- 
-                 /**
-@@ -679,7 +680,12 @@
- 
-         if (soapStyle == SOAPStyle.RPC) {
-             if (soapRequestBody.isEncoded()) {
--                error(soapRequestBody, ModelerMessages.WSDLMODELER_20_RPCENC_NOT_SUPPORTED());
-+                if(options.isExtensionMode()){
-+                    warning(soapRequestBody, ModelerMessages.WSDLMODELER_20_RPCENC_NOT_SUPPORTED());
-+                    processNonSOAPOperation();
-+                }else{
-+                    error(soapRequestBody, ModelerMessages.WSDLMODELER_20_RPCENC_NOT_SUPPORTED());
-+                }
-             }
-             return processLiteralSOAPOperation(StyleAndUse.RPC_LITERAL);
-         }
-@@ -815,20 +821,71 @@
-         QName body = VOID_BODYBLOCK;
-         QName opName = null;
- 
-+        Operation thatOp;
-         if (bb.hasNext()) {
-             body = bb.next().getName();
--            opName = uniqueBodyBlocks.get(body);
-+            thatOp = uniqueBodyBlocks.get(body);
-         } else {
-             //there is no body block
-             body = VOID_BODYBLOCK;
--            opName = uniqueBodyBlocks.get(VOID_BODYBLOCK);
-+            thatOp = uniqueBodyBlocks.get(VOID_BODYBLOCK);
-         }
--        if (opName != null) {
--            error(info.port, ModelerMessages.WSDLMODELER_NON_UNIQUE_BODY(info.port.getName(), info.operation.getName(), opName, body));
--        } else {
--            uniqueBodyBlocks.put(body, info.operation.getName());
-+
-+        if(thatOp != null){
-+            if(options.isExtensionMode()){
-+                warning(info.port, ModelerMessages.WSDLMODELER_NON_UNIQUE_BODY_WARNING(info.port.getName(), info.operation.getName(), thatOp.getName(), body));
-+            }else{
-+                error(info.port, ModelerMessages.WSDLMODELER_NON_UNIQUE_BODY_ERROR(info.port.getName(), info.operation.getName(), thatOp.getName(), body));
-+            }
-+        }else{
-+            uniqueBodyBlocks.put(body, info.operation);
-         }
- 
-+        //Add additional headers
-+        if (options.additionalHeaders) {
-+            List<Parameter> additionalHeaders = new ArrayList<Parameter>();
-+            if (inputMessage != null) {
-+                for (MessagePart part : getAdditionHeaderParts(inputMessage, true)) {
-+                    QName name = part.getDescriptor();
-+                    JAXBType jaxbType = getJAXBType(part);
-+                    Block block = new Block(name, jaxbType, part);
-+                    Parameter param = ModelerUtils.createParameter(part.getName(), jaxbType, block);
-+                    additionalHeaders.add(param);
-+                    request.addHeaderBlock(block);
-+                    request.addParameter(param);
-+                    definitiveParameterList.add(param);
-+                }
-+            }
-+
-+            if (isRequestResponse && outputMessage != null) {
-+                List<Parameter> outParams = new ArrayList<Parameter>();
-+                for (MessagePart part : getAdditionHeaderParts(outputMessage, false)) {
-+                    QName name = part.getDescriptor();
-+                    JAXBType jaxbType = getJAXBType(part);
-+                    Block block = new Block(name, jaxbType, part);
-+                    Parameter param = ModelerUtils.createParameter(part.getName(), jaxbType, block);
-+                    param.setMode(Mode.OUT);
-+                    outParams.add(param);
-+                    response.addHeaderBlock(block);
-+                    response.addParameter(param);
-+                }
-+                for (Parameter outParam : outParams) {
-+                    for (Parameter inParam : additionalHeaders) {
-+                        if (inParam.getName().equals(outParam.getName()) &&
-+                                inParam.getBlock().getName().equals(outParam.getBlock().getName())) {
-+                            //it is INOUT
-+                            inParam.setMode(Mode.INOUT);
-+                            outParam.setMode(Mode.INOUT);
-+                            break;
-+                        }
-+                    }
-+                    if (outParam.isOUT()) {
-+                        definitiveParameterList.add(outParam);
-+                    }
-+                }
-+            }
-+        }
-+
-         // faults with duplicate names
-         Set duplicateNames = getDuplicateFaultNames();
- 
-@@ -848,6 +905,7 @@
-         return info.operation;
-     }
- 
-+
-     private boolean validateParameterName(List<Parameter> params) {
-         if (options.isExtensionMode())
-             return true;
-@@ -1460,6 +1518,19 @@
-         return null;
-     }
- 
-+    private List<MessagePart> getAdditionHeaderParts(Message message, boolean isInput){
-+        List<MessagePart> headerParts = new ArrayList<MessagePart>();
-+        List<MessagePart> parts = message.getParts();
-+        List<MessagePart> headers = getHeaderParts(isInput);
-+
-+        for(MessagePart part: headers){
-+            if(parts.contains(part))
-+                continue;
-+            headerParts.add(part);
-+        }
-+        return headerParts;
-+    }
-+
-     private List<MessagePart> getHeaderPartsFromMessage(Message message, boolean isInput) {
-         List<MessagePart> headerParts = new ArrayList<MessagePart>();
-         Iterator<MessagePart> parts = message.parts();
-@@ -1490,19 +1561,6 @@
-         return null;
-     }
- 
--    private List<MessagePart> getHeaderPartsNotFromMessage(Message message, boolean isInput) {
--        List<MessagePart> headerParts = new ArrayList<MessagePart>();
--        List<MessagePart> parts = message.getParts();
--        Iterator<MessagePart> headers = getHeaderParts(isInput).iterator();
--        while (headers.hasNext()) {
--            MessagePart part = headers.next();
--            if (!parts.contains(part)) {
--                headerParts.add(part);
--            }
--        }
--        return headerParts;
--    }
--
-     private List<MessagePart> getHeaderParts(boolean isInput) {
-         TWSDLExtensible ext;
-         if (isInput) {
-@@ -2247,6 +2305,10 @@
-                 (QName) port.getProperty(
-                         ModelProperties.PROPERTY_WSDL_PORT_TYPE_NAME);
-         PortType pt = (PortType) document.find(Kinds.PORT_TYPE, portTypeName);
-+        //populate the portType map here. We should get rid of all these properties
-+        // lets not do it as it may break NB
-+        //TODO: clean all these stuff part of NB RFE
-+        port.portTypes.put(portTypeName, pt);
-         JAXWSBinding jaxwsCust = (JAXWSBinding) getExtensionOfType(pt, JAXWSBinding.class);
-         if (jaxwsCust != null && jaxwsCust.getClassName() != null) {
-             CustomName name = jaxwsCust.getClassName();
-@@ -2271,7 +2333,7 @@
-     private void createJavaMethodForAsyncOperation(Port port, Operation operation,
-                                                    JavaInterface intf) {
-         String candidateName = getJavaNameForOperation(operation);
--        JavaMethod method = new JavaMethod(candidateName, errReceiver);
-+        JavaMethod method = new JavaMethod(candidateName, options, errReceiver);
-         Request request = operation.getRequest();
-         Iterator requestBodyBlocks = request.getBodyBlocks();
-         Block requestBlock =
-@@ -2338,7 +2400,7 @@
-             return;
-         }
-         String candidateName = getJavaNameForOperation(operation);
--        JavaMethod method = new JavaMethod(candidateName, errReceiver);
-+        JavaMethod method = new JavaMethod(candidateName, options, errReceiver);
-         Request request = operation.getRequest();
-         Parameter returnParam = (Parameter) operation.getProperty(WSDL_RESULT_PARAMETER);
-         if (returnParam != null) {
-@@ -2718,7 +2780,7 @@
- 
-     private void reportError(Entity entity,
-         String formattedMsg, Exception nestedException ) {
--        Locator locator = (entity == null)?NULL_LOCATOR:entity.getLocator();
-+        Locator locator = (entity == null)?null:entity.getLocator();
- 
-         SAXParseException e = new SAXParseException2( formattedMsg,
-             locator,
---- old/src/share/classes/com/sun/tools/internal/ws/processor/modeler/wsdl/WSDLModelerBase.java	Tue Aug  4 09:28:52 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/processor/modeler/wsdl/WSDLModelerBase.java	Tue Aug  4 09:28:52 2009
-@@ -288,23 +288,11 @@
-     private boolean validateMimeContentPartNames(List<MIMEContent> mimeContents) {
-         //validate mime:content(s) in the mime:part as per R2909
-         for (MIMEContent mimeContent : mimeContents) {
--            String mimeContnetPart = null;
-+            String mimeContnetPart;
-+            mimeContnetPart = getMimeContentPartName(mimeContent);
-             if(mimeContnetPart == null) {
--                mimeContnetPart = getMimeContentPartName(mimeContent);
--                if(mimeContnetPart == null) {
--                    warning(mimeContent, ModelerMessages.MIMEMODELER_INVALID_MIME_CONTENT_MISSING_PART_ATTRIBUTE(info.operation.getName().getLocalPart()));
--                    return false;
--                }
--            }else {
--                String newMimeContnetPart = getMimeContentPartName(mimeContent);
--                if(newMimeContnetPart == null) {
--                    warning(mimeContent, ModelerMessages.MIMEMODELER_INVALID_MIME_CONTENT_MISSING_PART_ATTRIBUTE(info.operation.getName().getLocalPart()));
--                    return false;
--                }else if(!newMimeContnetPart.equals(mimeContnetPart)) {
--                    //throw new ModelerException("mimemodeler.invalidMimeContent.differentPart");
--                    warning(mimeContent, ModelerMessages.MIMEMODELER_INVALID_MIME_CONTENT_DIFFERENT_PART());
--                    return false;
--                }
-+                warning(mimeContent, ModelerMessages.MIMEMODELER_INVALID_MIME_CONTENT_MISSING_PART_ATTRIBUTE(info.operation.getName().getLocalPart()));
-+                return false;
-             }
-         }
-         return true;
-@@ -386,6 +374,9 @@
-     protected String getRequestNamespaceURI(SOAPBody body) {
-         String namespaceURI = body.getNamespace();
-         if (namespaceURI == null) {
-+            if(options.isExtensionMode()){
-+                return info.modelPort.getName().getNamespaceURI();
-+            }
-             // the WSDL document is invalid
-             // at least, that's my interpretation of section 3.5 of the WSDL 1.1 spec!
-             error(body, ModelerMessages.WSDLMODELER_INVALID_BINDING_OPERATION_INPUT_SOAP_BODY_MISSING_NAMESPACE(info.bindingOperation.getName()));
-@@ -396,6 +387,9 @@
-     protected String getResponseNamespaceURI(SOAPBody body) {
-         String namespaceURI = body.getNamespace();
-         if (namespaceURI == null) {
-+            if(options.isExtensionMode()){
-+                return info.modelPort.getName().getNamespaceURI();
-+            }
-             // the WSDL document is invalid
-             // at least, that's my interpretation of section 3.5 of the WSDL 1.1 spec!
-             error(body, ModelerMessages.WSDLMODELER_INVALID_BINDING_OPERATION_OUTPUT_SOAP_BODY_MISSING_NAMESPACE(info.bindingOperation.getName()));
-@@ -703,7 +697,7 @@
-         if(numPasses > 1)
-             return;
-         if(entity == null)
--            errReceiver.warning(NULL_LOCATOR, message);
-+            errReceiver.warning(null, message);
-         else
-             errReceiver.warning(entity.getLocator(), message);
-     }
-@@ -710,7 +704,7 @@
- 
-     protected void error(Entity entity, String message){
-         if(entity == null)
--            errReceiver.error(NULL_LOCATOR, message);
-+            errReceiver.error(null, message);
-         else
-             errReceiver.error(entity.getLocator(), message);
-         throw new AbortException();
---- old/src/share/classes/com/sun/tools/internal/ws/processor/util/ClassNameCollector.java	Tue Aug  4 09:28:55 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/processor/util/ClassNameCollector.java	Tue Aug  4 09:28:54 2009
-@@ -80,8 +80,10 @@
-     protected void preVisit(Service service) throws Exception {
-         registerClassName(
-             ((JavaInterface)service.getJavaInterface()).getName());
--        registerClassName(
--            ((JavaInterface)service.getJavaInterface()).getImpl());
-+        // We don't generate Impl classes, commenting it out.
-+        // Otherwise, it would cause naming conflicts
-+        //registerClassName(
-+        //    ((JavaInterface)service.getJavaInterface()).getImpl());
-     }
- 
-     protected void processPort11x(Port port){
---- old/src/share/classes/com/sun/tools/internal/ws/resources/GeneratorMessages.java	Tue Aug  4 09:28:57 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/resources/GeneratorMessages.java	Tue Aug  4 09:28:56 2009
-@@ -38,6 +38,30 @@
-     private final static LocalizableMessageFactory messageFactory = new LocalizableMessageFactory("com.sun.tools.internal.ws.resources.generator");
-     private final static Localizer localizer = new Localizer();
- 
-+    public static Localizable localizableGENERATOR_SERVICE_CLASS_ALREADY_EXIST(Object arg0, Object arg1) {
-+        return messageFactory.getMessage("generator.service.classAlreadyExist", arg0, arg1);
-+    }
-+
-+    /**
-+     * Could not generate Service, class: {0} already exists. Rename wsdl:Service "{1}" using JAX-WS customization
-+     *
-+     */
-+    public static String GENERATOR_SERVICE_CLASS_ALREADY_EXIST(Object arg0, Object arg1) {
-+        return localizer.localize(localizableGENERATOR_SERVICE_CLASS_ALREADY_EXIST(arg0, arg1));
-+    }
-+
-+    public static Localizable localizableGENERATOR_SEI_CLASS_ALREADY_EXIST(Object arg0, Object arg1) {
-+        return messageFactory.getMessage("generator.sei.classAlreadyExist", arg0, arg1);
-+    }
-+
-+    /**
-+     * Could not generate SEI, class: {0} already exists. Rename wsdl:portType "{1}" using JAX-WS customization
-+     *
-+     */
-+    public static String GENERATOR_SEI_CLASS_ALREADY_EXIST(Object arg0, Object arg1) {
-+        return localizer.localize(localizableGENERATOR_SEI_CLASS_ALREADY_EXIST(arg0, arg1));
-+    }
-+
-     public static Localizable localizableGENERATOR_NESTED_GENERATOR_ERROR(Object arg0) {
-         return messageFactory.getMessage("generator.nestedGeneratorError", arg0);
-     }
---- old/src/share/classes/com/sun/tools/internal/ws/resources/ModelMessages.java	Tue Aug  4 09:28:59 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/resources/ModelMessages.java	Tue Aug  4 09:28:59 2009
-@@ -255,18 +255,6 @@
-         return localizer.localize(localizableMODEL_SAXPARSER_EXCEPTION(arg0, arg1));
-     }
- 
--    public static Localizable localizable_002F_002F_JAXWS() {
--        return messageFactory.getMessage("//JAXWS");
--    }
--
--    /**
--     *  2.0
--     *
--     */
--    public static String _002F_002F_JAXWS() {
--        return localizer.localize(localizable_002F_002F_JAXWS());
--    }
--
-     public static Localizable localizableMODEL_DUPLICATE_FAULTMESSAGE(Object arg0) {
-         return messageFactory.getMessage("model.duplicate.faultmessage", arg0);
-     }
-@@ -536,7 +524,9 @@
-     }
- 
-     /**
--     * Failed to generate Java signature: duplicate parameter names {0}. Use JAXWS binding customization to rename the wsdl:part "{1}"
-+     * Failed to generate Java signature: duplicate parameter name "{0}". Try one of these
-+     *  1. Use JAXWS binding customization to rename the wsdl:part "{1}"
-+     *  2. Run wsimport with -extension switch.
-      *
-      */
-     public static String MODEL_PARAMETER_NOTUNIQUE(Object arg0, Object arg1) {
-@@ -639,6 +629,21 @@
-         return localizer.localize(localizableMODEL_IMPORTER_INVALID_LITERAL(arg0));
-     }
- 
-+    public static Localizable localizableMODEL_PARAMETER_NOTUNIQUE_WRAPPER(Object arg0, Object arg1) {
-+        return messageFactory.getMessage("model.parameter.notunique.wrapper", arg0, arg1);
-+    }
-+
-+    /**
-+     * Failed to generate Java signature: duplicate parameter name "{0}". Try one of these
-+     *  1. Use JAXWS binding customization to rename the wsdl:part "{1}"
-+     *  2. Run wsimport with -extension switch.
-+     *  3. This is wrapper style operation, to resolve parameter name conflict, you can also try disabling wrapper style by using <jaxws:enableWrapperStyle>false</jaxws:enableWrapperStyle> wsdl customization.
-+     *
-+     */
-+    public static String MODEL_PARAMETER_NOTUNIQUE_WRAPPER(Object arg0, Object arg1) {
-+        return localizer.localize(localizableMODEL_PARAMETER_NOTUNIQUE_WRAPPER(arg0, arg1));
-+    }
-+
-     public static Localizable localizableMODEL_SCHEMA_NOT_IMPLEMENTED(Object arg0) {
-         return messageFactory.getMessage("model.schema.notImplemented", arg0);
-     }
---- old/src/share/classes/com/sun/tools/internal/ws/resources/ModelerMessages.java	Tue Aug  4 09:29:01 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/resources/ModelerMessages.java	Tue Aug  4 09:29:01 2009
-@@ -331,7 +331,7 @@
-     }
- 
-     /**
--     * Schema descriptor {0} in message part "{1}" could not be bound to Java!
-+     * Schema descriptor {0} in message part "{1}" is not defined and could not be bound to Java. Perhaps the schema descriptor {0} is not defined in the schema imported/included in the WSDL. You can either add such imports/includes or run wsimport and provide the schema location using -b switch.
-      *
-      */
-     public static String WSDLMODELER_JAXB_JAVATYPE_NOTFOUND(Object arg0, Object arg1) {
-@@ -590,6 +590,18 @@
-         return localizer.localize(localizableWSDLMODELER_WARNING_IGNORING_OPERATION_CANNOT_HANDLE_BODY_PARTS_ATTRIBUTE(arg0));
-     }
- 
-+    public static Localizable localizableWSDLMODELER_NON_UNIQUE_BODY_ERROR(Object arg0, Object arg1, Object arg2, Object arg3) {
-+        return messageFactory.getMessage("wsdlmodeler.nonUnique.body.error", arg0, arg1, arg2, arg3);
-+    }
-+
-+    /**
-+     * Non unique body parts! In a port, as per BP 1.1 R2710 operations must have unique operation signaure on the wire for successful dispatch. In port {0}, Operations "{1}" and "{2}" have the same request body block {3}. Try running wsimport with -extension switch, runtime will try to dispatch using SOAPAction
-+     *
-+     */
-+    public static String WSDLMODELER_NON_UNIQUE_BODY_ERROR(Object arg0, Object arg1, Object arg2, Object arg3) {
-+        return localizer.localize(localizableWSDLMODELER_NON_UNIQUE_BODY_ERROR(arg0, arg1, arg2, arg3));
-+    }
-+
-     public static Localizable localizableWSDLMODELER_WARNING_IGNORING_SOAP_BINDING_MIXED_STYLE(Object arg0) {
-         return messageFactory.getMessage("wsdlmodeler.warning.ignoringSOAPBinding.mixedStyle", arg0);
-     }
-@@ -818,18 +830,6 @@
-         return localizer.localize(localizableWSDLMODELER_INVALID_BINDING_OPERATION_MULTIPLE_MATCHING_OPERATIONS(arg0, arg1));
-     }
- 
--    public static Localizable localizableWSDLMODELER_NON_UNIQUE_BODY(Object arg0, Object arg1, Object arg2, Object arg3) {
--        return messageFactory.getMessage("wsdlmodeler.nonUnique.body", arg0, arg1, arg2, arg3);
--    }
--
--    /**
--     * Non unique body parts! In a port, operations must have unique operation signaure on the wire for successful dispatch. In port {0}, Operations "{1}" and "{2}" have the same request body block {3}
--     *
--     */
--    public static String WSDLMODELER_NON_UNIQUE_BODY(Object arg0, Object arg1, Object arg2, Object arg3) {
--        return localizer.localize(localizableWSDLMODELER_NON_UNIQUE_BODY(arg0, arg1, arg2, arg3));
--    }
--
-     public static Localizable localizableWSDLMODELER_WARNING_IGNORING_HEADER_CANT_RESOLVE_MESSAGE(Object arg0, Object arg1) {
-         return messageFactory.getMessage("wsdlmodeler.warning.ignoringHeader.cant.resolve.message", arg0, arg1);
-     }
-@@ -1238,6 +1238,18 @@
-         return localizer.localize(localizableWSDLMODELER_WARNING_IGNORING_HEADER_FAULT_NOT_FOUND(arg0, arg1, arg2));
-     }
- 
-+    public static Localizable localizableWSDLMODELER_NON_UNIQUE_BODY_WARNING(Object arg0, Object arg1, Object arg2, Object arg3) {
-+        return messageFactory.getMessage("wsdlmodeler.nonUnique.body.warning", arg0, arg1, arg2, arg3);
-+    }
-+
-+    /**
-+     * Non unique body parts! In a port, as per BP 1.1 R2710 operations must have unique operation signaure on the wire for successful dispatch. In port {0}, Operations "{1}" and "{2}" have the same request body block {3}. Method dispatching may fail, runtime will try to dispatch using SOAPAction
-+     *
-+     */
-+    public static String WSDLMODELER_NON_UNIQUE_BODY_WARNING(Object arg0, Object arg1, Object arg2, Object arg3) {
-+        return localizer.localize(localizableWSDLMODELER_NON_UNIQUE_BODY_WARNING(arg0, arg1, arg2, arg3));
-+    }
-+
-     public static Localizable localizableWSDLMODELER_INVALID_OPERATION_JAVA_RESERVED_WORD_NOT_ALLOWED_WRAPPER_STYLE(Object arg0, Object arg1, Object arg2) {
-         return messageFactory.getMessage("wsdlmodeler.invalid.operation.javaReservedWordNotAllowed.wrapperStyle", arg0, arg1, arg2);
-     }
---- old/src/share/classes/com/sun/tools/internal/ws/resources/WebserviceapMessages.java	Tue Aug  4 09:29:04 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/resources/WebserviceapMessages.java	Tue Aug  4 09:29:03 2009
-@@ -38,184 +38,184 @@
-     private final static LocalizableMessageFactory messageFactory = new LocalizableMessageFactory("com.sun.tools.internal.ws.resources.webserviceap");
-     private final static Localizer localizer = new Localizer();
- 
--    public static Localizable localizableWEBSERVICEAP_RPC_LITERAL_MUST_NOT_BE_BARE(Object arg0) {
--        return messageFactory.getMessage("webserviceap.rpc.literal.must.not.be.bare", arg0);
-+    public static Localizable localizableWEBSERVICEAP_ENDPOINTINTERFACES_DO_NOT_MATCH(Object arg0, Object arg1) {
-+        return messageFactory.getMessage("webserviceap.endpointinterfaces.do.not.match", arg0, arg1);
-     }
- 
-     /**
--     * RPC literal SOAPBindings must have parameterStyle WRAPPPED. Class: {0}.
-+     * The endpoint interface {0} does not match the interface {1}.
-      *
-      */
--    public static String WEBSERVICEAP_RPC_LITERAL_MUST_NOT_BE_BARE(Object arg0) {
--        return localizer.localize(localizableWEBSERVICEAP_RPC_LITERAL_MUST_NOT_BE_BARE(arg0));
-+    public static String WEBSERVICEAP_ENDPOINTINTERFACES_DO_NOT_MATCH(Object arg0, Object arg1) {
-+        return localizer.localize(localizableWEBSERVICEAP_ENDPOINTINTERFACES_DO_NOT_MATCH(arg0, arg1));
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_INVALID_SEI_ANNOTATION_ELEMENT_EXCLUDE(Object arg0, Object arg1, Object arg2) {
--        return messageFactory.getMessage("webserviceap.invalid.sei.annotation.element.exclude", arg0, arg1, arg2);
-+    public static Localizable localizableWEBSERVICEAP_INVALID_WEBMETHOD_ELEMENT_WITH_EXCLUDE(Object arg0, Object arg1, Object arg2) {
-+        return messageFactory.getMessage("webserviceap.invalid.webmethod.element.with.exclude", arg0, arg1, arg2);
-     }
- 
-     /**
--     * The @javax.jws.WebMethod({0}) cannot be used on a service endpoint interface. Class: {1} method: {2}
-+     * The @javax.jws.WebMethod.{0} element cannot be specified with the @javax.jws.WebMethod.exclude element. Class: {1} method: {2}
-      *
-      */
--    public static String WEBSERVICEAP_INVALID_SEI_ANNOTATION_ELEMENT_EXCLUDE(Object arg0, Object arg1, Object arg2) {
--        return localizer.localize(localizableWEBSERVICEAP_INVALID_SEI_ANNOTATION_ELEMENT_EXCLUDE(arg0, arg1, arg2));
-+    public static String WEBSERVICEAP_INVALID_WEBMETHOD_ELEMENT_WITH_EXCLUDE(Object arg0, Object arg1, Object arg2) {
-+        return localizer.localize(localizableWEBSERVICEAP_INVALID_WEBMETHOD_ELEMENT_WITH_EXCLUDE(arg0, arg1, arg2));
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_WEBSERVICE_CLASS_IS_INNERCLASS_NOT_STATIC(Object arg0) {
--        return messageFactory.getMessage("webserviceap.webservice.class.is.innerclass.not.static", arg0);
-+    public static Localizable localizableWEBSERVICEAP_SEI_CANNOT_CONTAIN_CONSTANT_VALUES(Object arg0, Object arg1) {
-+        return messageFactory.getMessage("webserviceap.sei.cannot.contain.constant.values", arg0, arg1);
-     }
- 
-     /**
--     * Inner classes annotated with @javax.jws.WebService must be static. Class: {0}
-+     * An service endpoint interface cannot contain constant declaration: Interface: {0} field: {1}.
-      *
-      */
--    public static String WEBSERVICEAP_WEBSERVICE_CLASS_IS_INNERCLASS_NOT_STATIC(Object arg0) {
--        return localizer.localize(localizableWEBSERVICEAP_WEBSERVICE_CLASS_IS_INNERCLASS_NOT_STATIC(arg0));
-+    public static String WEBSERVICEAP_SEI_CANNOT_CONTAIN_CONSTANT_VALUES(Object arg0, Object arg1) {
-+        return localizer.localize(localizableWEBSERVICEAP_SEI_CANNOT_CONTAIN_CONSTANT_VALUES(arg0, arg1));
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_WEBSERVICE_METHOD_IS_ABSTRACT(Object arg0, Object arg1) {
--        return messageFactory.getMessage("webserviceap.webservice.method.is.abstract", arg0, arg1);
-+    public static Localizable localizableWEBSERVICEAP_RPC_LITERAL_PARAMETERS_MUST_HAVE_WEBPARAM(Object arg0, Object arg1, Object arg2) {
-+        return messageFactory.getMessage("webserviceap.rpc.literal.parameters.must.have.webparam", arg0, arg1, arg2);
-     }
- 
-     /**
--     * Classes annotated with @javax.jws.WebService must not have abstract methods. Class: {0} Method: {1}
-+     * All rpc literal parameters must have a WebParam annotation.  Class: {0} method: {1} parameter {2}
-      *
-      */
--    public static String WEBSERVICEAP_WEBSERVICE_METHOD_IS_ABSTRACT(Object arg0, Object arg1) {
--        return localizer.localize(localizableWEBSERVICEAP_WEBSERVICE_METHOD_IS_ABSTRACT(arg0, arg1));
-+    public static String WEBSERVICEAP_RPC_LITERAL_PARAMETERS_MUST_HAVE_WEBPARAM(Object arg0, Object arg1, Object arg2) {
-+        return localizer.localize(localizableWEBSERVICEAP_RPC_LITERAL_PARAMETERS_MUST_HAVE_WEBPARAM(arg0, arg1, arg2));
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_ONEWAY_OPERATION_CANNOT_HAVE_RETURN_TYPE(Object arg0, Object arg1) {
--        return messageFactory.getMessage("webserviceap.oneway.operation.cannot.have.return.type", arg0, arg1);
-+    public static Localizable localizableWEBSERVICEAP_METHOD_EXCEPTION_BEAN_NAME_NOT_UNIQUE(Object arg0, Object arg1) {
-+        return messageFactory.getMessage("webserviceap.method.exception.bean.name.not.unique", arg0, arg1);
-     }
- 
-     /**
--     * The method {1} of class {0} is annotated @Oneway but has a return type.
-+     * Exception bean names must be unique and must not clash with other generated classes.  Class: {0} exception {1}
-      *
-      */
--    public static String WEBSERVICEAP_ONEWAY_OPERATION_CANNOT_HAVE_RETURN_TYPE(Object arg0, Object arg1) {
--        return localizer.localize(localizableWEBSERVICEAP_ONEWAY_OPERATION_CANNOT_HAVE_RETURN_TYPE(arg0, arg1));
-+    public static String WEBSERVICEAP_METHOD_EXCEPTION_BEAN_NAME_NOT_UNIQUE(Object arg0, Object arg1) {
-+        return localizer.localize(localizableWEBSERVICEAP_METHOD_EXCEPTION_BEAN_NAME_NOT_UNIQUE(arg0, arg1));
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_WARNING(Object arg0) {
--        return messageFactory.getMessage("webserviceap.warning", arg0);
-+    public static Localizable localizableWEBSERVICEAP_WEBSERVICE_AND_WEBSERVICEPROVIDER(Object arg0) {
-+        return messageFactory.getMessage("webserviceap.webservice.and.webserviceprovider", arg0);
-     }
- 
-     /**
--     * warning: {0}
-+     * Classes cannot be annotated with both @javax.jws.WebService and @javax.xml.ws.WebServiceProvider.  Class: {0}
-      *
-      */
--    public static String WEBSERVICEAP_WARNING(Object arg0) {
--        return localizer.localize(localizableWEBSERVICEAP_WARNING(arg0));
-+    public static String WEBSERVICEAP_WEBSERVICE_AND_WEBSERVICEPROVIDER(Object arg0) {
-+        return localizer.localize(localizableWEBSERVICEAP_WEBSERVICE_AND_WEBSERVICEPROVIDER(arg0));
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_RPC_SOAPBINDING_NOT_ALLOWED_ON_METHOD(Object arg0, Object arg1) {
--        return messageFactory.getMessage("webserviceap.rpc.soapbinding.not.allowed.on.method", arg0, arg1);
-+    public static Localizable localizableWEBSERVICEAP_WEBSERVICE_NO_DEFAULT_CONSTRUCTOR(Object arg0) {
-+        return messageFactory.getMessage("webserviceap.webservice.no.default.constructor", arg0);
-     }
- 
-     /**
--     * SOAPBinding.Style.RPC binding annotations are not allowed on methods.  Class: {0} Method: {1}
-+     * Classes annotated with @javax.jws.WebService must have a public default constructor. Class: {0}
-      *
-      */
--    public static String WEBSERVICEAP_RPC_SOAPBINDING_NOT_ALLOWED_ON_METHOD(Object arg0, Object arg1) {
--        return localizer.localize(localizableWEBSERVICEAP_RPC_SOAPBINDING_NOT_ALLOWED_ON_METHOD(arg0, arg1));
-+    public static String WEBSERVICEAP_WEBSERVICE_NO_DEFAULT_CONSTRUCTOR(Object arg0) {
-+        return localizer.localize(localizableWEBSERVICEAP_WEBSERVICE_NO_DEFAULT_CONSTRUCTOR(arg0));
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_COULD_NOT_FIND_HANDLERCHAIN(Object arg0, Object arg1) {
--        return messageFactory.getMessage("webserviceap.could.not.find.handlerchain", arg0, arg1);
-+    public static Localizable localizableWEBSERVICEAP_DOC_BARE_NO_OUT(Object arg0, Object arg1) {
-+        return messageFactory.getMessage("webserviceap.doc.bare.no.out", arg0, arg1);
-     }
- 
-     /**
--     * Could not find the handlerchain {0} in the handler file {1}
-+     * Document/literal bare methods with no return type or OUT/INOUT parameters must be annotated as @Oneway. Class: {0}, method: {1}
-      *
-      */
--    public static String WEBSERVICEAP_COULD_NOT_FIND_HANDLERCHAIN(Object arg0, Object arg1) {
--        return localizer.localize(localizableWEBSERVICEAP_COULD_NOT_FIND_HANDLERCHAIN(arg0, arg1));
-+    public static String WEBSERVICEAP_DOC_BARE_NO_OUT(Object arg0, Object arg1) {
-+        return localizer.localize(localizableWEBSERVICEAP_DOC_BARE_NO_OUT(arg0, arg1));
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_NO_PACKAGE_CLASS_MUST_HAVE_TARGETNAMESPACE(Object arg0) {
--        return messageFactory.getMessage("webserviceap.no.package.class.must.have.targetnamespace", arg0);
-+    public static Localizable localizableWEBSERVICEAP_FAILED_TO_PARSE_HANDLERCHAIN_FILE(Object arg0, Object arg1) {
-+        return messageFactory.getMessage("webserviceap.failed.to.parse.handlerchain.file", arg0, arg1);
-     }
- 
-     /**
--     * @javax.jws.Webservice annotated classes that do not belong to a package must have the @javax.jws.Webservice.targetNamespace element.  Class: {0}
-+     * Failed to parse HandlerChain file. Class: {0}, file: {1}
-      *
-      */
--    public static String WEBSERVICEAP_NO_PACKAGE_CLASS_MUST_HAVE_TARGETNAMESPACE(Object arg0) {
--        return localizer.localize(localizableWEBSERVICEAP_NO_PACKAGE_CLASS_MUST_HAVE_TARGETNAMESPACE(arg0));
-+    public static String WEBSERVICEAP_FAILED_TO_PARSE_HANDLERCHAIN_FILE(Object arg0, Object arg1) {
-+        return localizer.localize(localizableWEBSERVICEAP_FAILED_TO_PARSE_HANDLERCHAIN_FILE(arg0, arg1));
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_CLASS_NOT_FOUND(Object arg0) {
--        return messageFactory.getMessage("webserviceap.class.not.found", arg0);
-+    public static Localizable localizableWEBSERVICEAP_JAVA_TYPE_NOT_FOUND(Object arg0) {
-+        return messageFactory.getMessage("webserviceap.java.typeNotFound", arg0);
-     }
- 
-     /**
--     * Class Not Found: {0}
-+     * The type: {0} was not found in the mapping
-      *
-      */
--    public static String WEBSERVICEAP_CLASS_NOT_FOUND(Object arg0) {
--        return localizer.localize(localizableWEBSERVICEAP_CLASS_NOT_FOUND(arg0));
-+    public static String WEBSERVICEAP_JAVA_TYPE_NOT_FOUND(Object arg0) {
-+        return localizer.localize(localizableWEBSERVICEAP_JAVA_TYPE_NOT_FOUND(arg0));
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_DOC_BARE_NO_RETURN_AND_NO_OUT(Object arg0, Object arg1) {
--        return messageFactory.getMessage("webserviceap.doc.bare.no.return.and.no.out", arg0, arg1);
-+    public static Localizable localizableWEBSERVICEAP_ONEWAY_OPERATION_CANNOT_DECLARE_EXCEPTIONS(Object arg0, Object arg1, Object arg2) {
-+        return messageFactory.getMessage("webserviceap.oneway.operation.cannot.declare.exceptions", arg0, arg1, arg2);
-     }
- 
-     /**
--     * Document literal bare methods that do not have a return value must have a single OUT/INOUT parameter.  Class: {0} Method: {1}
-+     * The method {1} of class {0} is annotated @Oneway but declares the exception {2}
-      *
-      */
--    public static String WEBSERVICEAP_DOC_BARE_NO_RETURN_AND_NO_OUT(Object arg0, Object arg1) {
--        return localizer.localize(localizableWEBSERVICEAP_DOC_BARE_NO_RETURN_AND_NO_OUT(arg0, arg1));
-+    public static String WEBSERVICEAP_ONEWAY_OPERATION_CANNOT_DECLARE_EXCEPTIONS(Object arg0, Object arg1, Object arg2) {
-+        return localizer.localize(localizableWEBSERVICEAP_ONEWAY_OPERATION_CANNOT_DECLARE_EXCEPTIONS(arg0, arg1, arg2));
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_DOCUMENT_LITERAL_BARE_METHOD_RETURN_NOT_UNIQUE(Object arg0, Object arg1, Object arg2, Object arg3) {
--        return messageFactory.getMessage("webserviceap.document.literal.bare.method.return.not.unique", arg0, arg1, arg2, arg3);
-+    public static Localizable localizableWEBSERVICEAP_WEBSERVICE_METHOD_IS_STATIC_OR_FINAL(Object arg0, Object arg1) {
-+        return messageFactory.getMessage("webserviceap.webservice.method.is.static.or.final", arg0, arg1);
-     }
- 
-     /**
--     * Document literal bare methods must have a unique result name return type combination.  Class {0} method: {1}, result name: {2} return type: {3}
-+     * Method annotated with @javax.jws.WebMethod must not be static or final. Class: {0} Method: {1}
-      *
-      */
--    public static String WEBSERVICEAP_DOCUMENT_LITERAL_BARE_METHOD_RETURN_NOT_UNIQUE(Object arg0, Object arg1, Object arg2, Object arg3) {
--        return localizer.localize(localizableWEBSERVICEAP_DOCUMENT_LITERAL_BARE_METHOD_RETURN_NOT_UNIQUE(arg0, arg1, arg2, arg3));
-+    public static String WEBSERVICEAP_WEBSERVICE_METHOD_IS_STATIC_OR_FINAL(Object arg0, Object arg1) {
-+        return localizer.localize(localizableWEBSERVICEAP_WEBSERVICE_METHOD_IS_STATIC_OR_FINAL(arg0, arg1));
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_DOC_BARE_NO_OUT(Object arg0, Object arg1) {
--        return messageFactory.getMessage("webserviceap.doc.bare.no.out", arg0, arg1);
-+    public static Localizable localizableWEBSERVICEAP_ONEWAY_OPERATION_CANNOT_HAVE_RETURN_TYPE(Object arg0, Object arg1) {
-+        return messageFactory.getMessage("webserviceap.oneway.operation.cannot.have.return.type", arg0, arg1);
-     }
- 
-     /**
--     * Document/literal bare methods with no return type or OUT/INOUT parameters must be annotated as @Oneway. Class: {0}, method: {1}
-+     * The method {1} of class {0} is annotated @Oneway but has a return type.
-      *
-      */
--    public static String WEBSERVICEAP_DOC_BARE_NO_OUT(Object arg0, Object arg1) {
--        return localizer.localize(localizableWEBSERVICEAP_DOC_BARE_NO_OUT(arg0, arg1));
-+    public static String WEBSERVICEAP_ONEWAY_OPERATION_CANNOT_HAVE_RETURN_TYPE(Object arg0, Object arg1) {
-+        return localizer.localize(localizableWEBSERVICEAP_ONEWAY_OPERATION_CANNOT_HAVE_RETURN_TYPE(arg0, arg1));
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_RPC_LITERAL_PARAMETERS_MUST_HAVE_WEBPARAM(Object arg0, Object arg1, Object arg2) {
--        return messageFactory.getMessage("webserviceap.rpc.literal.parameters.must.have.webparam", arg0, arg1, arg2);
-+    public static Localizable localizableWEBSERVICEAP_WARNING(Object arg0) {
-+        return messageFactory.getMessage("webserviceap.warning", arg0);
-     }
- 
-     /**
--     * All rpc literal parameters must have a WebParam annotation.  Class: {0} method: {1} parameter {2}
-+     * warning: {0}
-      *
-      */
--    public static String WEBSERVICEAP_RPC_LITERAL_PARAMETERS_MUST_HAVE_WEBPARAM(Object arg0, Object arg1, Object arg2) {
--        return localizer.localize(localizableWEBSERVICEAP_RPC_LITERAL_PARAMETERS_MUST_HAVE_WEBPARAM(arg0, arg1, arg2));
-+    public static String WEBSERVICEAP_WARNING(Object arg0) {
-+        return localizer.localize(localizableWEBSERVICEAP_WARNING(arg0));
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_MODEL_ALREADY_EXISTS() {
--        return messageFactory.getMessage("webserviceap.model.already.exists");
-+    public static Localizable localizableWEBSERVICEAP_METHOD_RESPONSE_WRAPPER_BEAN_NAME_NOT_UNIQUE(Object arg0, Object arg1) {
-+        return messageFactory.getMessage("webserviceap.method.response.wrapper.bean.name.not.unique", arg0, arg1);
-     }
- 
-     /**
--     * model already exists
-+     * Response wrapper bean names must be unique and must not clash with other generated classes.  Class: {0} method {1}
-      *
-      */
--    public static String WEBSERVICEAP_MODEL_ALREADY_EXISTS() {
--        return localizer.localize(localizableWEBSERVICEAP_MODEL_ALREADY_EXISTS());
-+    public static String WEBSERVICEAP_METHOD_RESPONSE_WRAPPER_BEAN_NAME_NOT_UNIQUE(Object arg0, Object arg1) {
-+        return localizer.localize(localizableWEBSERVICEAP_METHOD_RESPONSE_WRAPPER_BEAN_NAME_NOT_UNIQUE(arg0, arg1));
-     }
- 
-     public static Localizable localizableWEBSERVICEAP_ENDPOINTINTERFACE_ON_INTERFACE(Object arg0, Object arg1) {
-@@ -230,376 +230,376 @@
-         return localizer.localize(localizableWEBSERVICEAP_ENDPOINTINTERFACE_ON_INTERFACE(arg0, arg1));
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_METHOD_NOT_ANNOTATED(Object arg0, Object arg1) {
--        return messageFactory.getMessage("webserviceap.method.not.annotated", arg0, arg1);
-+    public static Localizable localizableWEBSERVICEAP_NESTED_MODEL_ERROR(Object arg0) {
-+        return messageFactory.getMessage("webserviceap.nestedModelError", arg0);
-     }
- 
-     /**
--     * The method {0} on class {1} is not annotated.
-+     * modeler error: {0}
-      *
-      */
--    public static String WEBSERVICEAP_METHOD_NOT_ANNOTATED(Object arg0, Object arg1) {
--        return localizer.localize(localizableWEBSERVICEAP_METHOD_NOT_ANNOTATED(arg0, arg1));
-+    public static String WEBSERVICEAP_NESTED_MODEL_ERROR(Object arg0) {
-+        return localizer.localize(localizableWEBSERVICEAP_NESTED_MODEL_ERROR(arg0));
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_NON_IN_PARAMETERS_MUST_BE_HOLDER(Object arg0, Object arg1, Object arg2) {
--        return messageFactory.getMessage("webserviceap.non.in.parameters.must.be.holder", arg0, arg1, arg2);
-+    public static Localizable localizableWEBSERVICEAP_ONEWAY_AND_OUT(Object arg0, Object arg1) {
-+        return messageFactory.getMessage("webserviceap.oneway.and.out", arg0, arg1);
-     }
- 
-     /**
--     * Class: {0}, method: {1}, parameter: {2} is not WebParam.Mode.IN and is not of type javax.xml.ws.Holder.
-+     * @Oneway methods cannot have out parameters. Class: {0} method {1}
-      *
-      */
--    public static String WEBSERVICEAP_NON_IN_PARAMETERS_MUST_BE_HOLDER(Object arg0, Object arg1, Object arg2) {
--        return localizer.localize(localizableWEBSERVICEAP_NON_IN_PARAMETERS_MUST_BE_HOLDER(arg0, arg1, arg2));
-+    public static String WEBSERVICEAP_ONEWAY_AND_OUT(Object arg0, Object arg1) {
-+        return localizer.localize(localizableWEBSERVICEAP_ONEWAY_AND_OUT(arg0, arg1));
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_FAILED_TO_FIND_HANDLERCHAIN_FILE(Object arg0, Object arg1) {
--        return messageFactory.getMessage("webserviceap.failed.to.find.handlerchain.file", arg0, arg1);
-+    public static Localizable localizableWEBSERVICEAP_RPC_LITERAL_WEBPARAMS_MUST_SPECIFY_NAME(Object arg0, Object arg1, Object arg2) {
-+        return messageFactory.getMessage("webserviceap.rpc.literal.webparams.must.specify.name", arg0, arg1, arg2);
-     }
- 
-     /**
--     * Cannot find HandlerChain file. class: {0}, file: {1}
-+     * All rpc literal WebParams must specify a name.  Class: {0} method {1} paramter {2}
-      *
-      */
--    public static String WEBSERVICEAP_FAILED_TO_FIND_HANDLERCHAIN_FILE(Object arg0, Object arg1) {
--        return localizer.localize(localizableWEBSERVICEAP_FAILED_TO_FIND_HANDLERCHAIN_FILE(arg0, arg1));
-+    public static String WEBSERVICEAP_RPC_LITERAL_WEBPARAMS_MUST_SPECIFY_NAME(Object arg0, Object arg1, Object arg2) {
-+        return localizer.localize(localizableWEBSERVICEAP_RPC_LITERAL_WEBPARAMS_MUST_SPECIFY_NAME(arg0, arg1, arg2));
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_OPERATION_NAME_NOT_UNIQUE(Object arg0, Object arg1, Object arg2) {
--        return messageFactory.getMessage("webserviceap.operation.name.not.unique", arg0, arg1, arg2);
-+    public static Localizable localizableWEBSERVICEAP_INVALID_SEI_ANNOTATION_ELEMENT_EXCLUDE(Object arg0, Object arg1, Object arg2) {
-+        return messageFactory.getMessage("webserviceap.invalid.sei.annotation.element.exclude", arg0, arg1, arg2);
-     }
- 
-     /**
--     * Operation names must be unique.  Class: {0} method: {1} operation name: {2}
-+     * The @javax.jws.WebMethod({0}) cannot be used on a service endpoint interface. Class: {1} method: {2}
-      *
-      */
--    public static String WEBSERVICEAP_OPERATION_NAME_NOT_UNIQUE(Object arg0, Object arg1, Object arg2) {
--        return localizer.localize(localizableWEBSERVICEAP_OPERATION_NAME_NOT_UNIQUE(arg0, arg1, arg2));
-+    public static String WEBSERVICEAP_INVALID_SEI_ANNOTATION_ELEMENT_EXCLUDE(Object arg0, Object arg1, Object arg2) {
-+        return localizer.localize(localizableWEBSERVICEAP_INVALID_SEI_ANNOTATION_ELEMENT_EXCLUDE(arg0, arg1, arg2));
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_METHOD_NOT_IMPLEMENTED(Object arg0, Object arg1, Object arg2) {
--        return messageFactory.getMessage("webserviceap.method.not.implemented", arg0, arg1, arg2);
-+    public static Localizable localizableWEBSERVICEAP_CLASS_NOT_FOUND(Object arg0) {
-+        return messageFactory.getMessage("webserviceap.class.not.found", arg0);
-     }
- 
-     /**
--     * Methods in an endpointInterface must be implemented in the implementation class.  Interface Class:{0} Implementation Class:{1} Method: {2}
-+     * Class Not Found: {0}
-      *
-      */
--    public static String WEBSERVICEAP_METHOD_NOT_IMPLEMENTED(Object arg0, Object arg1, Object arg2) {
--        return localizer.localize(localizableWEBSERVICEAP_METHOD_NOT_IMPLEMENTED(arg0, arg1, arg2));
-+    public static String WEBSERVICEAP_CLASS_NOT_FOUND(Object arg0) {
-+        return localizer.localize(localizableWEBSERVICEAP_CLASS_NOT_FOUND(arg0));
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_HEADER_PARAMETERS_MUST_HAVE_WEBPARAM_NAME(Object arg0, Object arg1, Object arg2) {
--        return messageFactory.getMessage("webserviceap.header.parameters.must.have.webparam.name", arg0, arg1, arg2);
-+    public static Localizable localizableWEBSERVICEAP_ENDPOINTINTEFACE_PLUS_ELEMENT(Object arg0) {
-+        return messageFactory.getMessage("webserviceap.endpointinteface.plus.element", arg0);
-     }
- 
-     /**
--     * All WebParam annotations on header parameters must specify a name.  Class: {0} method {1} paramter {2}
-+     * The @javax.jws.WebService.{0} element cannot be used in with @javax.jws.WebService.endpointInterface element.
-      *
-      */
--    public static String WEBSERVICEAP_HEADER_PARAMETERS_MUST_HAVE_WEBPARAM_NAME(Object arg0, Object arg1, Object arg2) {
--        return localizer.localize(localizableWEBSERVICEAP_HEADER_PARAMETERS_MUST_HAVE_WEBPARAM_NAME(arg0, arg1, arg2));
-+    public static String WEBSERVICEAP_ENDPOINTINTEFACE_PLUS_ELEMENT(Object arg0) {
-+        return localizer.localize(localizableWEBSERVICEAP_ENDPOINTINTEFACE_PLUS_ELEMENT(arg0));
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_INVALID_HANDLERCHAIN_FILE_NOHANDLER_CONFIG(Object arg0) {
--        return messageFactory.getMessage("webserviceap.invalid.handlerchain.file.nohandler-config", arg0);
-+    public static Localizable localizableWEBSERVICEAP_CANNOT_COMBINE_HANDLERCHAIN_SOAPMESSAGEHANDLERS() {
-+        return messageFactory.getMessage("webserviceap.cannot.combine.handlerchain.soapmessagehandlers");
-     }
- 
-     /**
--     * The handlerchain file {0} is invalid, it does not contain a handler-config element
-+     * You cannot specify both HanlderChain and SOAPMessageHandlers annotations
-      *
-      */
--    public static String WEBSERVICEAP_INVALID_HANDLERCHAIN_FILE_NOHANDLER_CONFIG(Object arg0) {
--        return localizer.localize(localizableWEBSERVICEAP_INVALID_HANDLERCHAIN_FILE_NOHANDLER_CONFIG(arg0));
-+    public static String WEBSERVICEAP_CANNOT_COMBINE_HANDLERCHAIN_SOAPMESSAGEHANDLERS() {
-+        return localizer.localize(localizableWEBSERVICEAP_CANNOT_COMBINE_HANDLERCHAIN_SOAPMESSAGEHANDLERS());
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_ONEWAY_OPERATION_CANNOT_DECLARE_EXCEPTIONS(Object arg0, Object arg1, Object arg2) {
--        return messageFactory.getMessage("webserviceap.oneway.operation.cannot.declare.exceptions", arg0, arg1, arg2);
-+    public static Localizable localizableWEBSERVICEAP_WEBSERVICE_CLASS_IS_INNERCLASS_NOT_STATIC(Object arg0) {
-+        return messageFactory.getMessage("webserviceap.webservice.class.is.innerclass.not.static", arg0);
-     }
- 
-     /**
--     * The method {1} of class {0} is annotated @Oneway but declares the exception {2}
-+     * Inner classes annotated with @javax.jws.WebService must be static. Class: {0}
-      *
-      */
--    public static String WEBSERVICEAP_ONEWAY_OPERATION_CANNOT_DECLARE_EXCEPTIONS(Object arg0, Object arg1, Object arg2) {
--        return localizer.localize(localizableWEBSERVICEAP_ONEWAY_OPERATION_CANNOT_DECLARE_EXCEPTIONS(arg0, arg1, arg2));
-+    public static String WEBSERVICEAP_WEBSERVICE_CLASS_IS_INNERCLASS_NOT_STATIC(Object arg0) {
-+        return localizer.localize(localizableWEBSERVICEAP_WEBSERVICE_CLASS_IS_INNERCLASS_NOT_STATIC(arg0));
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_ONEWAY_OPERATION_CANNOT_HAVE_HOLDERS(Object arg0, Object arg1) {
--        return messageFactory.getMessage("webserviceap.oneway.operation.cannot.have.holders", arg0, arg1);
-+    public static Localizable localizableWEBSERVICEAP_NON_IN_PARAMETERS_MUST_BE_HOLDER(Object arg0, Object arg1, Object arg2) {
-+        return messageFactory.getMessage("webserviceap.non.in.parameters.must.be.holder", arg0, arg1, arg2);
-     }
- 
-     /**
--     * The method {1} of class {0} is annotated @Oneway but contains inout or out paramerters (javax.xml.ws.Holder)
-+     * Class: {0}, method: {1}, parameter: {2} is not WebParam.Mode.IN and is not of type javax.xml.ws.Holder.
-      *
-      */
--    public static String WEBSERVICEAP_ONEWAY_OPERATION_CANNOT_HAVE_HOLDERS(Object arg0, Object arg1) {
--        return localizer.localize(localizableWEBSERVICEAP_ONEWAY_OPERATION_CANNOT_HAVE_HOLDERS(arg0, arg1));
-+    public static String WEBSERVICEAP_NON_IN_PARAMETERS_MUST_BE_HOLDER(Object arg0, Object arg1, Object arg2) {
-+        return localizer.localize(localizableWEBSERVICEAP_NON_IN_PARAMETERS_MUST_BE_HOLDER(arg0, arg1, arg2));
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_ONEWAY_AND_NOT_ONE_IN(Object arg0, Object arg1) {
--        return messageFactory.getMessage("webserviceap.oneway.and.not.one.in", arg0, arg1);
-+    public static Localizable localizableWEBSERVICEAP_INVALID_SEI_ANNOTATION_ELEMENT(Object arg0, Object arg1) {
-+        return messageFactory.getMessage("webserviceap.invalid.sei.annotation.element", arg0, arg1);
-     }
- 
-     /**
--     * Document literal bare methods annotated with @javax.jws.Oneway must have one non-header IN parameter.  Class: {0} Method: {1}
-+     * The @javax.jws.WebService.{0} element cannot be specified on a service endpoint interface. Class: {1}
-      *
-      */
--    public static String WEBSERVICEAP_ONEWAY_AND_NOT_ONE_IN(Object arg0, Object arg1) {
--        return localizer.localize(localizableWEBSERVICEAP_ONEWAY_AND_NOT_ONE_IN(arg0, arg1));
-+    public static String WEBSERVICEAP_INVALID_SEI_ANNOTATION_ELEMENT(Object arg0, Object arg1) {
-+        return localizer.localize(localizableWEBSERVICEAP_INVALID_SEI_ANNOTATION_ELEMENT(arg0, arg1));
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_RPC_ENCODED_NOT_SUPPORTED(Object arg0) {
--        return messageFactory.getMessage("webserviceap.rpc.encoded.not.supported", arg0);
-+    public static Localizable localizableWEBSERVICEAP_SUCCEEDED() {
-+        return messageFactory.getMessage("webserviceap.succeeded");
-     }
- 
-     /**
--     * The {0} class has a rpc/encoded SOAPBinding.  Rpc/encoded SOAPBindings are not supported in JAXWS 2.0.
-+     * Success
-      *
-      */
--    public static String WEBSERVICEAP_RPC_ENCODED_NOT_SUPPORTED(Object arg0) {
--        return localizer.localize(localizableWEBSERVICEAP_RPC_ENCODED_NOT_SUPPORTED(arg0));
-+    public static String WEBSERVICEAP_SUCCEEDED() {
-+        return localizer.localize(localizableWEBSERVICEAP_SUCCEEDED());
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_JAVA_TYPE_NOT_FOUND(Object arg0) {
--        return messageFactory.getMessage("webserviceap.java.typeNotFound", arg0);
-+    public static Localizable localizableWEBSERVICEAP_DOC_BARE_AND_NO_ONE_IN(Object arg0, Object arg1) {
-+        return messageFactory.getMessage("webserviceap.doc.bare.and.no.one.in", arg0, arg1);
-     }
- 
-     /**
--     * The type: {0} was not found in the mapping
-+     * Document literal bare methods must have one non-header, IN/INOUT parameter.  Class: {0} Method: {1}
-      *
-      */
--    public static String WEBSERVICEAP_JAVA_TYPE_NOT_FOUND(Object arg0) {
--        return localizer.localize(localizableWEBSERVICEAP_JAVA_TYPE_NOT_FOUND(arg0));
-+    public static String WEBSERVICEAP_DOC_BARE_AND_NO_ONE_IN(Object arg0, Object arg1) {
-+        return localizer.localize(localizableWEBSERVICEAP_DOC_BARE_AND_NO_ONE_IN(arg0, arg1));
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_INVALID_SEI_ANNOTATION(Object arg0, Object arg1) {
--        return messageFactory.getMessage("webserviceap.invalid.sei.annotation", arg0, arg1);
-+    public static Localizable localizableWEBSERVICEAP_WEBSERVICE_METHOD_IS_ABSTRACT(Object arg0, Object arg1) {
-+        return messageFactory.getMessage("webserviceap.webservice.method.is.abstract", arg0, arg1);
-     }
- 
-     /**
--     * The @{0} annotation cannot be used on a service endpoint interface. Class: {1}
-+     * Classes annotated with @javax.jws.WebService must not have abstract methods. Class: {0} Method: {1}
-      *
-      */
--    public static String WEBSERVICEAP_INVALID_SEI_ANNOTATION(Object arg0, Object arg1) {
--        return localizer.localize(localizableWEBSERVICEAP_INVALID_SEI_ANNOTATION(arg0, arg1));
-+    public static String WEBSERVICEAP_WEBSERVICE_METHOD_IS_ABSTRACT(Object arg0, Object arg1) {
-+        return localizer.localize(localizableWEBSERVICEAP_WEBSERVICE_METHOD_IS_ABSTRACT(arg0, arg1));
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_NO_WEBSERVICE_ENDPOINT_FOUND() {
--        return messageFactory.getMessage("webserviceap.no.webservice.endpoint.found");
-+    public static Localizable localizableWEBSERVICEAP_DOCUMENT_LITERAL_BARE_METHOD_RETURN_NOT_UNIQUE(Object arg0, Object arg1, Object arg2, Object arg3) {
-+        return messageFactory.getMessage("webserviceap.document.literal.bare.method.return.not.unique", arg0, arg1, arg2, arg3);
-     }
- 
-     /**
--     * A web service endpoint could not be found
-+     * Document literal bare methods must have a unique result name return type combination.  Class {0} method: {1}, result name: {2} return type: {3}
-      *
-      */
--    public static String WEBSERVICEAP_NO_WEBSERVICE_ENDPOINT_FOUND() {
--        return localizer.localize(localizableWEBSERVICEAP_NO_WEBSERVICE_ENDPOINT_FOUND());
-+    public static String WEBSERVICEAP_DOCUMENT_LITERAL_BARE_METHOD_RETURN_NOT_UNIQUE(Object arg0, Object arg1, Object arg2, Object arg3) {
-+        return localizer.localize(localizableWEBSERVICEAP_DOCUMENT_LITERAL_BARE_METHOD_RETURN_NOT_UNIQUE(arg0, arg1, arg2, arg3));
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_INVALID_WEBMETHOD_ELEMENT_WITH_EXCLUDE(Object arg0, Object arg1, Object arg2) {
--        return messageFactory.getMessage("webserviceap.invalid.webmethod.element.with.exclude", arg0, arg1, arg2);
-+    public static Localizable localizableWEBSERVICEAP_NO_WEBSERVICE_ENDPOINT_FOUND() {
-+        return messageFactory.getMessage("webserviceap.no.webservice.endpoint.found");
-     }
- 
-     /**
--     * The @javax.jws.WebMethod.{0} element cannot be specified with the @javax.jws.WebMethod.exclude element. Class: {1} method: {2}
-+     * A web service endpoint could not be found
-      *
-      */
--    public static String WEBSERVICEAP_INVALID_WEBMETHOD_ELEMENT_WITH_EXCLUDE(Object arg0, Object arg1, Object arg2) {
--        return localizer.localize(localizableWEBSERVICEAP_INVALID_WEBMETHOD_ELEMENT_WITH_EXCLUDE(arg0, arg1, arg2));
-+    public static String WEBSERVICEAP_NO_WEBSERVICE_ENDPOINT_FOUND() {
-+        return localizer.localize(localizableWEBSERVICEAP_NO_WEBSERVICE_ENDPOINT_FOUND());
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_COULD_NOT_FIND_TYPEDECL(Object arg0, Object arg1) {
--        return messageFactory.getMessage("webserviceap.could.not.find.typedecl", arg0, arg1);
-+    public static Localizable localizableWEBSERVICEAP_FILE_NOT_FOUND(Object arg0) {
-+        return messageFactory.getMessage("webserviceap.fileNotFound", arg0);
-     }
- 
-     /**
--     * Could not get TypeDeclaration for: {0} in apt round: {1}
-+     * error: file not found: {0}
-      *
-      */
--    public static String WEBSERVICEAP_COULD_NOT_FIND_TYPEDECL(Object arg0, Object arg1) {
--        return localizer.localize(localizableWEBSERVICEAP_COULD_NOT_FIND_TYPEDECL(arg0, arg1));
-+    public static String WEBSERVICEAP_FILE_NOT_FOUND(Object arg0) {
-+        return localizer.localize(localizableWEBSERVICEAP_FILE_NOT_FOUND(arg0));
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_DOCUMENT_LITERAL_BARE_CANNOT_HAVE_MORE_THAN_ONE_OUT(Object arg0, Object arg1) {
--        return messageFactory.getMessage("webserviceap.document.literal.bare.cannot.have.more.than.one.out", arg0, arg1);
-+    public static Localizable localizableWEBSERVICEAP_INVALID_HANDLERCHAIN_FILE_NOHANDLER_CONFIG(Object arg0) {
-+        return messageFactory.getMessage("webserviceap.invalid.handlerchain.file.nohandler-config", arg0);
-     }
- 
-     /**
--     * Document literal bare methods must have a return value or one out parameter.  Class: {0} Method: {1}
-+     * The handlerchain file {0} is invalid, it does not contain a handler-config element
-      *
-      */
--    public static String WEBSERVICEAP_DOCUMENT_LITERAL_BARE_CANNOT_HAVE_MORE_THAN_ONE_OUT(Object arg0, Object arg1) {
--        return localizer.localize(localizableWEBSERVICEAP_DOCUMENT_LITERAL_BARE_CANNOT_HAVE_MORE_THAN_ONE_OUT(arg0, arg1));
-+    public static String WEBSERVICEAP_INVALID_HANDLERCHAIN_FILE_NOHANDLER_CONFIG(Object arg0) {
-+        return localizer.localize(localizableWEBSERVICEAP_INVALID_HANDLERCHAIN_FILE_NOHANDLER_CONFIG(arg0));
-     }
- 
--    public static Localizable localizableWEBSERVICE_ENCODED_NOT_SUPPORTED(Object arg0, Object arg1) {
--        return messageFactory.getMessage("webservice.encoded.not.supported", arg0, arg1);
-+    public static Localizable localizableWEBSERVICEAP_HEADER_PARAMETERS_MUST_HAVE_WEBPARAM_NAME(Object arg0, Object arg1, Object arg2) {
-+        return messageFactory.getMessage("webserviceap.header.parameters.must.have.webparam.name", arg0, arg1, arg2);
-     }
- 
-     /**
--     * The {0} class has invalid SOAPBinding annotation. {1}/encoded SOAPBinding is not supported
-+     * All WebParam annotations on header parameters must specify a name.  Class: {0} method {1} paramter {2}
-      *
-      */
--    public static String WEBSERVICE_ENCODED_NOT_SUPPORTED(Object arg0, Object arg1) {
--        return localizer.localize(localizableWEBSERVICE_ENCODED_NOT_SUPPORTED(arg0, arg1));
-+    public static String WEBSERVICEAP_HEADER_PARAMETERS_MUST_HAVE_WEBPARAM_NAME(Object arg0, Object arg1, Object arg2) {
-+        return localizer.localize(localizableWEBSERVICEAP_HEADER_PARAMETERS_MUST_HAVE_WEBPARAM_NAME(arg0, arg1, arg2));
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_WEBSERVICE_CLASS_IS_FINAL(Object arg0) {
--        return messageFactory.getMessage("webserviceap.webservice.class.is.final", arg0);
-+    public static Localizable localizableWEBSERVICEAP_METHOD_RETURN_TYPE_CANNOT_IMPLEMENT_REMOTE(Object arg0, Object arg1, Object arg2) {
-+        return messageFactory.getMessage("webserviceap.method.return.type.cannot.implement.remote", arg0, arg1, arg2);
-     }
- 
-     /**
--     * Classes annotated with @javax.jws.WebService must not be final. Class: {0}
-+     * Method return types cannot implement java.rmi.Remote.  Class: {0} method: {1} return type: {2}
-      *
-      */
--    public static String WEBSERVICEAP_WEBSERVICE_CLASS_IS_FINAL(Object arg0) {
--        return localizer.localize(localizableWEBSERVICEAP_WEBSERVICE_CLASS_IS_FINAL(arg0));
-+    public static String WEBSERVICEAP_METHOD_RETURN_TYPE_CANNOT_IMPLEMENT_REMOTE(Object arg0, Object arg1, Object arg2) {
-+        return localizer.localize(localizableWEBSERVICEAP_METHOD_RETURN_TYPE_CANNOT_IMPLEMENT_REMOTE(arg0, arg1, arg2));
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_WEBSERVICE_NO_DEFAULT_CONSTRUCTOR(Object arg0) {
--        return messageFactory.getMessage("webserviceap.webservice.no.default.constructor", arg0);
-+    public static Localizable localizableWEBSERVICEAP_ENDPOINTINTEFACE_PLUS_ANNOTATION(Object arg0) {
-+        return messageFactory.getMessage("webserviceap.endpointinteface.plus.annotation", arg0);
-     }
- 
-     /**
--     * Classes annotated with @javax.jws.WebService must have a public default constructor. Class: {0}
-+     * The @{0} annotation cannot be used in with @javax.jws.WebService.endpointInterface element.
-      *
-      */
--    public static String WEBSERVICEAP_WEBSERVICE_NO_DEFAULT_CONSTRUCTOR(Object arg0) {
--        return localizer.localize(localizableWEBSERVICEAP_WEBSERVICE_NO_DEFAULT_CONSTRUCTOR(arg0));
-+    public static String WEBSERVICEAP_ENDPOINTINTEFACE_PLUS_ANNOTATION(Object arg0) {
-+        return localizer.localize(localizableWEBSERVICEAP_ENDPOINTINTEFACE_PLUS_ANNOTATION(arg0));
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_SEI_CANNOT_CONTAIN_CONSTANT_VALUES(Object arg0, Object arg1) {
--        return messageFactory.getMessage("webserviceap.sei.cannot.contain.constant.values", arg0, arg1);
-+    public static Localizable localizableWEBSERVICEAP_HOLDER_PARAMETERS_MUST_NOT_BE_IN_ONLY(Object arg0, Object arg1, Object arg2) {
-+        return messageFactory.getMessage("webserviceap.holder.parameters.must.not.be.in.only", arg0, arg1, arg2);
-     }
- 
-     /**
--     * An service endpoint interface cannot contain constant declaration: Interface: {0} field: {1}.
-+     * javax.xml.ws.Holder parameters must not be annotated with the WebParam.Mode.IN property.  Class: {0} method: {1} parameter: {2}
-      *
-      */
--    public static String WEBSERVICEAP_SEI_CANNOT_CONTAIN_CONSTANT_VALUES(Object arg0, Object arg1) {
--        return localizer.localize(localizableWEBSERVICEAP_SEI_CANNOT_CONTAIN_CONSTANT_VALUES(arg0, arg1));
-+    public static String WEBSERVICEAP_HOLDER_PARAMETERS_MUST_NOT_BE_IN_ONLY(Object arg0, Object arg1, Object arg2) {
-+        return localizer.localize(localizableWEBSERVICEAP_HOLDER_PARAMETERS_MUST_NOT_BE_IN_ONLY(arg0, arg1, arg2));
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_ENDPOINTINTERFACE_CLASS_NOT_FOUND(Object arg0) {
--        return messageFactory.getMessage("webserviceap.endpointinterface.class.not.found", arg0);
-+    public static Localizable localizableWEBSERVICEAP_DOCUMENT_LITERAL_BARE_MUST_HAVE_ONLY_ONE_IN_PARAMETER(Object arg0, Object arg1, Object arg2) {
-+        return messageFactory.getMessage("webserviceap.document.literal.bare.must.have.only.one.in.parameter", arg0, arg1, arg2);
-     }
- 
-     /**
--     * The endpointInterface class {0} could not be found
-+     * Document literal bare methods must have no more than 1 non-header in parameter. Class: {0} method: {1} number of non-header parameters: {2}
-      *
-      */
--    public static String WEBSERVICEAP_ENDPOINTINTERFACE_CLASS_NOT_FOUND(Object arg0) {
--        return localizer.localize(localizableWEBSERVICEAP_ENDPOINTINTERFACE_CLASS_NOT_FOUND(arg0));
-+    public static String WEBSERVICEAP_DOCUMENT_LITERAL_BARE_MUST_HAVE_ONLY_ONE_IN_PARAMETER(Object arg0, Object arg1, Object arg2) {
-+        return localizer.localize(localizableWEBSERVICEAP_DOCUMENT_LITERAL_BARE_MUST_HAVE_ONLY_ONE_IN_PARAMETER(arg0, arg1, arg2));
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_DOCUMENT_LITERAL_BARE_MUST_HAVE_ONLY_ONE_IN_PARAMETER(Object arg0, Object arg1, Object arg2) {
--        return messageFactory.getMessage("webserviceap.document.literal.bare.must.have.only.one.in.parameter", arg0, arg1, arg2);
-+    public static Localizable localizableWEBSERVICEAP_DOC_BARE_RETURN_AND_OUT(Object arg0, Object arg1) {
-+        return messageFactory.getMessage("webserviceap.doc.bare.return.and.out", arg0, arg1);
-     }
- 
-     /**
--     * Document literal bare methods must have no more than 1 non-header in parameter. Class: {0} method: {1} number of non-header parameters: {2}
-+     * Document/literal bare methods cannot have a return type and out parameters. Class: {0}, method: {1}
-      *
-      */
--    public static String WEBSERVICEAP_DOCUMENT_LITERAL_BARE_MUST_HAVE_ONLY_ONE_IN_PARAMETER(Object arg0, Object arg1, Object arg2) {
--        return localizer.localize(localizableWEBSERVICEAP_DOCUMENT_LITERAL_BARE_MUST_HAVE_ONLY_ONE_IN_PARAMETER(arg0, arg1, arg2));
-+    public static String WEBSERVICEAP_DOC_BARE_RETURN_AND_OUT(Object arg0, Object arg1) {
-+        return localizer.localize(localizableWEBSERVICEAP_DOC_BARE_RETURN_AND_OUT(arg0, arg1));
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_INFO(Object arg0) {
--        return messageFactory.getMessage("webserviceap.info", arg0);
-+    public static Localizable localizableWEBSERVICEAP_METHOD_PARAMETER_TYPES_CANNOT_IMPLEMENT_REMOTE(Object arg0, Object arg1, Object arg2, Object arg3) {
-+        return messageFactory.getMessage("webserviceap.method.parameter.types.cannot.implement.remote", arg0, arg1, arg2, arg3);
-     }
- 
-     /**
--     * info: {0}
-+     * Method parameter types cannot implement java.rmi.Remote.  Class: {0} method: {1} parameter: {2} type: {3}
-      *
-      */
--    public static String WEBSERVICEAP_INFO(Object arg0) {
--        return localizer.localize(localizableWEBSERVICEAP_INFO(arg0));
-+    public static String WEBSERVICEAP_METHOD_PARAMETER_TYPES_CANNOT_IMPLEMENT_REMOTE(Object arg0, Object arg1, Object arg2, Object arg3) {
-+        return localizer.localize(localizableWEBSERVICEAP_METHOD_PARAMETER_TYPES_CANNOT_IMPLEMENT_REMOTE(arg0, arg1, arg2, arg3));
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_HANDLERCLASS_NOTSPECIFIED(Object arg0) {
--        return messageFactory.getMessage("webserviceap.handlerclass.notspecified", arg0);
-+    public static Localizable localizableWEBSERVICEAP_COMPILATION_FAILED() {
-+        return messageFactory.getMessage("webserviceap.compilationFailed");
-     }
- 
-     /**
--     * A handler in the HandlerChain file: {0} does not specify a handler-class
-+     * compilation failed, errors should have been reported
-      *
-      */
--    public static String WEBSERVICEAP_HANDLERCLASS_NOTSPECIFIED(Object arg0) {
--        return localizer.localize(localizableWEBSERVICEAP_HANDLERCLASS_NOTSPECIFIED(arg0));
-+    public static String WEBSERVICEAP_COMPILATION_FAILED() {
-+        return localizer.localize(localizableWEBSERVICEAP_COMPILATION_FAILED());
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_INVALID_SEI_ANNOTATION_ELEMENT(Object arg0, Object arg1) {
--        return messageFactory.getMessage("webserviceap.invalid.sei.annotation.element", arg0, arg1);
-+    public static Localizable localizableWEBSERVICEAP_MODEL_ALREADY_EXISTS() {
-+        return messageFactory.getMessage("webserviceap.model.already.exists");
-     }
- 
-     /**
--     * The @javax.jws.WebService.{0} element cannot be specified on a service endpoint interface. Class: {1}
-+     * model already exists
-      *
-      */
--    public static String WEBSERVICEAP_INVALID_SEI_ANNOTATION_ELEMENT(Object arg0, Object arg1) {
--        return localizer.localize(localizableWEBSERVICEAP_INVALID_SEI_ANNOTATION_ELEMENT(arg0, arg1));
-+    public static String WEBSERVICEAP_MODEL_ALREADY_EXISTS() {
-+        return localizer.localize(localizableWEBSERVICEAP_MODEL_ALREADY_EXISTS());
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_DOCUMENT_LITERAL_BARE_METHOD_NOT_UNIQUE(Object arg0, Object arg1, Object arg2) {
--        return messageFactory.getMessage("webserviceap.document.literal.bare.method.not.unique", arg0, arg1, arg2);
-+    public static Localizable localizableWEBSERVICEAP_COULD_NOT_FIND_TYPEDECL(Object arg0, Object arg1) {
-+        return messageFactory.getMessage("webserviceap.could.not.find.typedecl", arg0, arg1);
-     }
- 
-     /**
--     * Document literal bare methods must have unique parameter names.  Class: {0} method: {1} parameter name: {2}
-+     * Could not get TypeDeclaration for: {0} in apt round: {1}
-      *
-      */
--    public static String WEBSERVICEAP_DOCUMENT_LITERAL_BARE_METHOD_NOT_UNIQUE(Object arg0, Object arg1, Object arg2) {
--        return localizer.localize(localizableWEBSERVICEAP_DOCUMENT_LITERAL_BARE_METHOD_NOT_UNIQUE(arg0, arg1, arg2));
-+    public static String WEBSERVICEAP_COULD_NOT_FIND_TYPEDECL(Object arg0, Object arg1) {
-+        return localizer.localize(localizableWEBSERVICEAP_COULD_NOT_FIND_TYPEDECL(arg0, arg1));
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_METHOD_EXCEPTION_BEAN_NAME_NOT_UNIQUE(Object arg0, Object arg1) {
--        return messageFactory.getMessage("webserviceap.method.exception.bean.name.not.unique", arg0, arg1);
-+    public static Localizable localizableWEBSERVICEAP_WEBSERVICE_CLASS_NOT_PUBLIC(Object arg0) {
-+        return messageFactory.getMessage("webserviceap.webservice.class.not.public", arg0);
-     }
- 
-     /**
--     * Exception bean names must be unique and must not clash with other generated classes.  Class: {0} exception {1}
-+     * Classes annotated with @javax.jws.WebService must be public. Class: {0}
-      *
-      */
--    public static String WEBSERVICEAP_METHOD_EXCEPTION_BEAN_NAME_NOT_UNIQUE(Object arg0, Object arg1) {
--        return localizer.localize(localizableWEBSERVICEAP_METHOD_EXCEPTION_BEAN_NAME_NOT_UNIQUE(arg0, arg1));
-+    public static String WEBSERVICEAP_WEBSERVICE_CLASS_NOT_PUBLIC(Object arg0) {
-+        return localizer.localize(localizableWEBSERVICEAP_WEBSERVICE_CLASS_NOT_PUBLIC(arg0));
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_HOLDER_PARAMETERS_MUST_NOT_BE_IN_ONLY(Object arg0, Object arg1, Object arg2) {
--        return messageFactory.getMessage("webserviceap.holder.parameters.must.not.be.in.only", arg0, arg1, arg2);
-+    public static Localizable localizableWEBSERVICEAP_DOCUMENT_LITERAL_BARE_METHOD_NOT_UNIQUE(Object arg0, Object arg1, Object arg2) {
-+        return messageFactory.getMessage("webserviceap.document.literal.bare.method.not.unique", arg0, arg1, arg2);
-     }
- 
-     /**
--     * javax.xml.ws.Holder parameters must not be annotated with the WebParam.Mode.IN property.  Class: {0} method: {1} parameter: {2}
-+     * Document literal bare methods must have unique parameter names.  Class: {0} method: {1} parameter name: {2}
-      *
-      */
--    public static String WEBSERVICEAP_HOLDER_PARAMETERS_MUST_NOT_BE_IN_ONLY(Object arg0, Object arg1, Object arg2) {
--        return localizer.localize(localizableWEBSERVICEAP_HOLDER_PARAMETERS_MUST_NOT_BE_IN_ONLY(arg0, arg1, arg2));
-+    public static String WEBSERVICEAP_DOCUMENT_LITERAL_BARE_METHOD_NOT_UNIQUE(Object arg0, Object arg1, Object arg2) {
-+        return localizer.localize(localizableWEBSERVICEAP_DOCUMENT_LITERAL_BARE_METHOD_NOT_UNIQUE(arg0, arg1, arg2));
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_DOC_BARE_AND_NO_ONE_IN(Object arg0, Object arg1) {
--        return messageFactory.getMessage("webserviceap.doc.bare.and.no.one.in", arg0, arg1);
-+    public static Localizable localizableWEBSERVICEAP_RPC_SOAPBINDING_NOT_ALLOWED_ON_METHOD(Object arg0, Object arg1) {
-+        return messageFactory.getMessage("webserviceap.rpc.soapbinding.not.allowed.on.method", arg0, arg1);
-     }
- 
-     /**
--     * Document literal bare methods must have one non-header, IN/INOUT parameter.  Class: {0} Method: {1}
-+     * SOAPBinding.Style.RPC binding annotations are not allowed on methods.  Class: {0} Method: {1}
-      *
-      */
--    public static String WEBSERVICEAP_DOC_BARE_AND_NO_ONE_IN(Object arg0, Object arg1) {
--        return localizer.localize(localizableWEBSERVICEAP_DOC_BARE_AND_NO_ONE_IN(arg0, arg1));
-+    public static String WEBSERVICEAP_RPC_SOAPBINDING_NOT_ALLOWED_ON_METHOD(Object arg0, Object arg1) {
-+        return localizer.localize(localizableWEBSERVICEAP_RPC_SOAPBINDING_NOT_ALLOWED_ON_METHOD(arg0, arg1));
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_RPC_LITERAL_WEBPARAMS_MUST_SPECIFY_NAME(Object arg0, Object arg1, Object arg2) {
--        return messageFactory.getMessage("webserviceap.rpc.literal.webparams.must.specify.name", arg0, arg1, arg2);
-+    public static Localizable localizableWEBSERVICEAP_NO_PACKAGE_CLASS_MUST_HAVE_TARGETNAMESPACE(Object arg0) {
-+        return messageFactory.getMessage("webserviceap.no.package.class.must.have.targetnamespace", arg0);
-     }
- 
-     /**
--     * All rpc literal WebParams must specify a name.  Class: {0} method {1} paramter {2}
-+     * @javax.jws.Webservice annotated classes that do not belong to a package must have the @javax.jws.Webservice.targetNamespace element.  Class: {0}
-      *
-      */
--    public static String WEBSERVICEAP_RPC_LITERAL_WEBPARAMS_MUST_SPECIFY_NAME(Object arg0, Object arg1, Object arg2) {
--        return localizer.localize(localizableWEBSERVICEAP_RPC_LITERAL_WEBPARAMS_MUST_SPECIFY_NAME(arg0, arg1, arg2));
-+    public static String WEBSERVICEAP_NO_PACKAGE_CLASS_MUST_HAVE_TARGETNAMESPACE(Object arg0) {
-+        return localizer.localize(localizableWEBSERVICEAP_NO_PACKAGE_CLASS_MUST_HAVE_TARGETNAMESPACE(arg0));
-     }
- 
-     public static Localizable localizableWEBSERVICEAP_ENDPOINTINTERFACE_HAS_NO_WEBSERVICE_ANNOTATION(Object arg0) {
-@@ -614,280 +614,292 @@
-         return localizer.localize(localizableWEBSERVICEAP_ENDPOINTINTERFACE_HAS_NO_WEBSERVICE_ANNOTATION(arg0));
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_CANNOT_COMBINE_HANDLERCHAIN_SOAPMESSAGEHANDLERS() {
--        return messageFactory.getMessage("webserviceap.cannot.combine.handlerchain.soapmessagehandlers");
-+    public static Localizable localizableWEBSERVICEAP_INFO(Object arg0) {
-+        return messageFactory.getMessage("webserviceap.info", arg0);
-     }
- 
-     /**
--     * You cannot specify both HanlderChain and SOAPMessageHandlers annotations
-+     * info: {0}
-      *
-      */
--    public static String WEBSERVICEAP_CANNOT_COMBINE_HANDLERCHAIN_SOAPMESSAGEHANDLERS() {
--        return localizer.localize(localizableWEBSERVICEAP_CANNOT_COMBINE_HANDLERCHAIN_SOAPMESSAGEHANDLERS());
-+    public static String WEBSERVICEAP_INFO(Object arg0) {
-+        return localizer.localize(localizableWEBSERVICEAP_INFO(arg0));
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_NESTED_MODEL_ERROR(Object arg0) {
--        return messageFactory.getMessage("webserviceap.nestedModelError", arg0);
-+    public static Localizable localizableWEBSERVICEAP_RPC_LITERAL_MUST_NOT_BE_BARE(Object arg0) {
-+        return messageFactory.getMessage("webserviceap.rpc.literal.must.not.be.bare", arg0);
-     }
- 
-     /**
--     * modeler error: {0}
-+     * RPC literal SOAPBindings must have parameterStyle WRAPPPED. Class: {0}.
-      *
-      */
--    public static String WEBSERVICEAP_NESTED_MODEL_ERROR(Object arg0) {
--        return localizer.localize(localizableWEBSERVICEAP_NESTED_MODEL_ERROR(arg0));
-+    public static String WEBSERVICEAP_RPC_LITERAL_MUST_NOT_BE_BARE(Object arg0) {
-+        return localizer.localize(localizableWEBSERVICEAP_RPC_LITERAL_MUST_NOT_BE_BARE(arg0));
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_METHOD_REQUEST_WRAPPER_BEAN_NAME_NOT_UNIQUE(Object arg0, Object arg1) {
--        return messageFactory.getMessage("webserviceap.method.request.wrapper.bean.name.not.unique", arg0, arg1);
-+    public static Localizable localizableWEBSERVICEAP_COULD_NOT_FIND_HANDLERCHAIN(Object arg0, Object arg1) {
-+        return messageFactory.getMessage("webserviceap.could.not.find.handlerchain", arg0, arg1);
-     }
- 
-     /**
--     * Request wrapper bean names must be unique and must not clash with other generated classes.  Class: {0} method {1}
-+     * Could not find the handlerchain {0} in the handler file {1}
-      *
-      */
--    public static String WEBSERVICEAP_METHOD_REQUEST_WRAPPER_BEAN_NAME_NOT_UNIQUE(Object arg0, Object arg1) {
--        return localizer.localize(localizableWEBSERVICEAP_METHOD_REQUEST_WRAPPER_BEAN_NAME_NOT_UNIQUE(arg0, arg1));
-+    public static String WEBSERVICEAP_COULD_NOT_FIND_HANDLERCHAIN(Object arg0, Object arg1) {
-+        return localizer.localize(localizableWEBSERVICEAP_COULD_NOT_FIND_HANDLERCHAIN(arg0, arg1));
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_WEBSERVICE_CLASS_NOT_PUBLIC(Object arg0) {
--        return messageFactory.getMessage("webserviceap.webservice.class.not.public", arg0);
-+    public static Localizable localizableWEBSERVICEAP_RPC_ENCODED_NOT_SUPPORTED(Object arg0) {
-+        return messageFactory.getMessage("webserviceap.rpc.encoded.not.supported", arg0);
-     }
- 
-     /**
--     * Classes annotated with @javax.jws.WebService must be public. Class: {0}
-+     * The {0} class has a rpc/encoded SOAPBinding.  Rpc/encoded SOAPBindings are not supported in JAXWS 2.0.
-      *
-      */
--    public static String WEBSERVICEAP_WEBSERVICE_CLASS_NOT_PUBLIC(Object arg0) {
--        return localizer.localize(localizableWEBSERVICEAP_WEBSERVICE_CLASS_NOT_PUBLIC(arg0));
-+    public static String WEBSERVICEAP_RPC_ENCODED_NOT_SUPPORTED(Object arg0) {
-+        return localizer.localize(localizableWEBSERVICEAP_RPC_ENCODED_NOT_SUPPORTED(arg0));
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_MIXED_BINDING_STYLE(Object arg0) {
--        return messageFactory.getMessage("webserviceap.mixed.binding.style", arg0);
-+    public static Localizable localizableWEBSERVICEAP_ERROR(Object arg0) {
-+        return messageFactory.getMessage("webserviceap.error", arg0);
-     }
- 
-     /**
--     * Class: {0} contains mixed bindings.  SOAPBinding.Style.RPC and SOAPBinding.Style.DOCUMENT cannot be mixed.
-+     * error: {0}
-      *
-      */
--    public static String WEBSERVICEAP_MIXED_BINDING_STYLE(Object arg0) {
--        return localizer.localize(localizableWEBSERVICEAP_MIXED_BINDING_STYLE(arg0));
-+    public static String WEBSERVICEAP_ERROR(Object arg0) {
-+        return localizer.localize(localizableWEBSERVICEAP_ERROR(arg0));
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_FILE_NOT_FOUND(Object arg0) {
--        return messageFactory.getMessage("webserviceap.fileNotFound", arg0);
-+    public static Localizable localizableWEBSERVICEAP_ENDPOINTINTERFACE_CLASS_NOT_FOUND(Object arg0) {
-+        return messageFactory.getMessage("webserviceap.endpointinterface.class.not.found", arg0);
-     }
- 
-     /**
--     * error: file not found: {0}
-+     * The endpointInterface class {0} could not be found
-      *
-      */
--    public static String WEBSERVICEAP_FILE_NOT_FOUND(Object arg0) {
--        return localizer.localize(localizableWEBSERVICEAP_FILE_NOT_FOUND(arg0));
-+    public static String WEBSERVICEAP_ENDPOINTINTERFACE_CLASS_NOT_FOUND(Object arg0) {
-+        return localizer.localize(localizableWEBSERVICEAP_ENDPOINTINTERFACE_CLASS_NOT_FOUND(arg0));
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_ONEWAY_AND_OUT(Object arg0, Object arg1) {
--        return messageFactory.getMessage("webserviceap.oneway.and.out", arg0, arg1);
-+    public static Localizable localizableWEBSERVICEAP_METHOD_NOT_IMPLEMENTED(Object arg0, Object arg1, Object arg2) {
-+        return messageFactory.getMessage("webserviceap.method.not.implemented", arg0, arg1, arg2);
-     }
- 
-     /**
--     * @Oneway methods cannot have out parameters. Class: {0} method {1}
-+     * Methods in an endpointInterface must be implemented in the implementation class.  Interface Class:{0} Implementation Class:{1} Method: {2}
-      *
-      */
--    public static String WEBSERVICEAP_ONEWAY_AND_OUT(Object arg0, Object arg1) {
--        return localizer.localize(localizableWEBSERVICEAP_ONEWAY_AND_OUT(arg0, arg1));
-+    public static String WEBSERVICEAP_METHOD_NOT_IMPLEMENTED(Object arg0, Object arg1, Object arg2) {
-+        return localizer.localize(localizableWEBSERVICEAP_METHOD_NOT_IMPLEMENTED(arg0, arg1, arg2));
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_METHOD_RESPONSE_WRAPPER_BEAN_NAME_NOT_UNIQUE(Object arg0, Object arg1) {
--        return messageFactory.getMessage("webserviceap.method.response.wrapper.bean.name.not.unique", arg0, arg1);
-+    public static Localizable localizableWEBSERVICE_ENCODED_NOT_SUPPORTED(Object arg0, Object arg1) {
-+        return messageFactory.getMessage("webservice.encoded.not.supported", arg0, arg1);
-     }
- 
-     /**
--     * Response wrapper bean names must be unique and must not clash with other generated classes.  Class: {0} method {1}
-+     * The {0} class has invalid SOAPBinding annotation. {1}/encoded SOAPBinding is not supported
-      *
-      */
--    public static String WEBSERVICEAP_METHOD_RESPONSE_WRAPPER_BEAN_NAME_NOT_UNIQUE(Object arg0, Object arg1) {
--        return localizer.localize(localizableWEBSERVICEAP_METHOD_RESPONSE_WRAPPER_BEAN_NAME_NOT_UNIQUE(arg0, arg1));
-+    public static String WEBSERVICE_ENCODED_NOT_SUPPORTED(Object arg0, Object arg1) {
-+        return localizer.localize(localizableWEBSERVICE_ENCODED_NOT_SUPPORTED(arg0, arg1));
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_COMPILATION_FAILED() {
--        return messageFactory.getMessage("webserviceap.compilationFailed");
-+    public static Localizable localizableWEBSERVICEAP_HANDLERCLASS_NOTSPECIFIED(Object arg0) {
-+        return messageFactory.getMessage("webserviceap.handlerclass.notspecified", arg0);
-     }
- 
-     /**
--     * compilation failed, errors should have been reported
-+     * A handler in the HandlerChain file: {0} does not specify a handler-class
-      *
-      */
--    public static String WEBSERVICEAP_COMPILATION_FAILED() {
--        return localizer.localize(localizableWEBSERVICEAP_COMPILATION_FAILED());
-+    public static String WEBSERVICEAP_HANDLERCLASS_NOTSPECIFIED(Object arg0) {
-+        return localizer.localize(localizableWEBSERVICEAP_HANDLERCLASS_NOTSPECIFIED(arg0));
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_DOCUMENT_LITERAL_BARE_MUST_HAVE_ONE_IN_OR_OUT(Object arg0, Object arg1) {
--        return messageFactory.getMessage("webserviceap.document.literal.bare.must.have.one.in.or.out", arg0, arg1);
-+    public static Localizable localizableWEBSERVICEAP_FAILED_TO_FIND_HANDLERCHAIN_FILE(Object arg0, Object arg1) {
-+        return messageFactory.getMessage("webserviceap.failed.to.find.handlerchain.file", arg0, arg1);
-     }
- 
-     /**
--     * Document literal bare methods must have at least one of: a return, an in parameter or an out parameter.  Class: {0} Method: {1}
-+     * Cannot find HandlerChain file. class: {0}, file: {1}
-      *
-      */
--    public static String WEBSERVICEAP_DOCUMENT_LITERAL_BARE_MUST_HAVE_ONE_IN_OR_OUT(Object arg0, Object arg1) {
--        return localizer.localize(localizableWEBSERVICEAP_DOCUMENT_LITERAL_BARE_MUST_HAVE_ONE_IN_OR_OUT(arg0, arg1));
-+    public static String WEBSERVICEAP_FAILED_TO_FIND_HANDLERCHAIN_FILE(Object arg0, Object arg1) {
-+        return localizer.localize(localizableWEBSERVICEAP_FAILED_TO_FIND_HANDLERCHAIN_FILE(arg0, arg1));
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_ENDPOINTINTEFACE_PLUS_ELEMENT(Object arg0) {
--        return messageFactory.getMessage("webserviceap.endpointinteface.plus.element", arg0);
-+    public static Localizable localizableWEBSERVICEAP_DOC_BARE_NO_RETURN_AND_NO_OUT(Object arg0, Object arg1) {
-+        return messageFactory.getMessage("webserviceap.doc.bare.no.return.and.no.out", arg0, arg1);
-     }
- 
-     /**
--     * The @javax.jws.WebService.{0} element cannot be used in with @javax.jws.WebService.endpointInterface element.
-+     * Document literal bare methods that do not have a return value must have a single OUT/INOUT parameter.  Class: {0} Method: {1}
-      *
-      */
--    public static String WEBSERVICEAP_ENDPOINTINTEFACE_PLUS_ELEMENT(Object arg0) {
--        return localizer.localize(localizableWEBSERVICEAP_ENDPOINTINTEFACE_PLUS_ELEMENT(arg0));
-+    public static String WEBSERVICEAP_DOC_BARE_NO_RETURN_AND_NO_OUT(Object arg0, Object arg1) {
-+        return localizer.localize(localizableWEBSERVICEAP_DOC_BARE_NO_RETURN_AND_NO_OUT(arg0, arg1));
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_DOC_BARE_RETURN_AND_OUT(Object arg0, Object arg1) {
--        return messageFactory.getMessage("webserviceap.doc.bare.return.and.out", arg0, arg1);
-+    public static Localizable localizableWEBSERVICEAP_WEBSERVICE_CLASS_IS_ABSTRACT(Object arg0) {
-+        return messageFactory.getMessage("webserviceap.webservice.class.is.abstract", arg0);
-     }
- 
-     /**
--     * Document/literal bare methods cannot have a return type and out parameters. Class: {0}, method: {1}
-+     * Classes annotated with @javax.jws.WebService must not be abstract. Class: {0}
-      *
-      */
--    public static String WEBSERVICEAP_DOC_BARE_RETURN_AND_OUT(Object arg0, Object arg1) {
--        return localizer.localize(localizableWEBSERVICEAP_DOC_BARE_RETURN_AND_OUT(arg0, arg1));
-+    public static String WEBSERVICEAP_WEBSERVICE_CLASS_IS_ABSTRACT(Object arg0) {
-+        return localizer.localize(localizableWEBSERVICEAP_WEBSERVICE_CLASS_IS_ABSTRACT(arg0));
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_SUCCEEDED() {
--        return messageFactory.getMessage("webserviceap.succeeded");
-+    public static Localizable localizableWEBSERVICEAP_INIT_PARAM_FORMAT_ERROR() {
-+        return messageFactory.getMessage("webserviceap.init_param.format.error");
-     }
- 
-     /**
--     * Success
-+     * a <init-param> element must have exactly 1 <param-name> and 1 <param-value>
-      *
-      */
--    public static String WEBSERVICEAP_SUCCEEDED() {
--        return localizer.localize(localizableWEBSERVICEAP_SUCCEEDED());
-+    public static String WEBSERVICEAP_INIT_PARAM_FORMAT_ERROR() {
-+        return localizer.localize(localizableWEBSERVICEAP_INIT_PARAM_FORMAT_ERROR());
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_DOCUMENT_BARE_HOLDER_PARAMETERS_MUST_NOT_BE_INOUT(Object arg0, Object arg1, Object arg2) {
--        return messageFactory.getMessage("webserviceap.document.bare.holder.parameters.must.not.be.inout", arg0, arg1, arg2);
-+    public static Localizable localizableWEBSERVICEAP_MIXED_BINDING_STYLE(Object arg0) {
-+        return messageFactory.getMessage("webserviceap.mixed.binding.style", arg0);
-     }
- 
-     /**
--     * javax.xml.ws.Holder parameters in document bare operations must be WebParam.Mode.INOUT;  Class: {0} method: {1} parameter: {2}
-+     * Class: {0} contains mixed bindings.  SOAPBinding.Style.RPC and SOAPBinding.Style.DOCUMENT cannot be mixed.
-      *
-      */
--    public static String WEBSERVICEAP_DOCUMENT_BARE_HOLDER_PARAMETERS_MUST_NOT_BE_INOUT(Object arg0, Object arg1, Object arg2) {
--        return localizer.localize(localizableWEBSERVICEAP_DOCUMENT_BARE_HOLDER_PARAMETERS_MUST_NOT_BE_INOUT(arg0, arg1, arg2));
-+    public static String WEBSERVICEAP_MIXED_BINDING_STYLE(Object arg0) {
-+        return localizer.localize(localizableWEBSERVICEAP_MIXED_BINDING_STYLE(arg0));
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_WEBSERVICE_AND_WEBSERVICEPROVIDER(Object arg0) {
--        return messageFactory.getMessage("webserviceap.webservice.and.webserviceprovider", arg0);
-+    public static Localizable localizableWEBSERVICEAP_METHOD_NOT_ANNOTATED(Object arg0, Object arg1) {
-+        return messageFactory.getMessage("webserviceap.method.not.annotated", arg0, arg1);
-     }
- 
-     /**
--     * Classes cannot be annotated with both @javax.jws.WebService and @javax.xml.ws.WebServiceProvider.  Class: {0}
-+     * The method {0} on class {1} is not annotated.
-      *
-      */
--    public static String WEBSERVICEAP_WEBSERVICE_AND_WEBSERVICEPROVIDER(Object arg0) {
--        return localizer.localize(localizableWEBSERVICEAP_WEBSERVICE_AND_WEBSERVICEPROVIDER(arg0));
-+    public static String WEBSERVICEAP_METHOD_NOT_ANNOTATED(Object arg0, Object arg1) {
-+        return localizer.localize(localizableWEBSERVICEAP_METHOD_NOT_ANNOTATED(arg0, arg1));
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_ENDPOINTINTERFACES_DO_NOT_MATCH(Object arg0, Object arg1) {
--        return messageFactory.getMessage("webserviceap.endpointinterfaces.do.not.match", arg0, arg1);
-+    public static Localizable localizableWEBSERVICEAP_ONEWAY_OPERATION_CANNOT_HAVE_HOLDERS(Object arg0, Object arg1) {
-+        return messageFactory.getMessage("webserviceap.oneway.operation.cannot.have.holders", arg0, arg1);
-     }
- 
-     /**
--     * The endpoint interface {0} does not match the interface {1}.
-+     * The method {1} of class {0} is annotated @Oneway but contains inout or out paramerters (javax.xml.ws.Holder)
-      *
-      */
--    public static String WEBSERVICEAP_ENDPOINTINTERFACES_DO_NOT_MATCH(Object arg0, Object arg1) {
--        return localizer.localize(localizableWEBSERVICEAP_ENDPOINTINTERFACES_DO_NOT_MATCH(arg0, arg1));
-+    public static String WEBSERVICEAP_ONEWAY_OPERATION_CANNOT_HAVE_HOLDERS(Object arg0, Object arg1) {
-+        return localizer.localize(localizableWEBSERVICEAP_ONEWAY_OPERATION_CANNOT_HAVE_HOLDERS(arg0, arg1));
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_ENDPOINTINTEFACE_PLUS_ANNOTATION(Object arg0) {
--        return messageFactory.getMessage("webserviceap.endpointinteface.plus.annotation", arg0);
-+    public static Localizable localizableWEBSERVICEAP_DOCUMENT_LITERAL_BARE_CANNOT_HAVE_MORE_THAN_ONE_OUT(Object arg0, Object arg1) {
-+        return messageFactory.getMessage("webserviceap.document.literal.bare.cannot.have.more.than.one.out", arg0, arg1);
-     }
- 
-     /**
--     * The @{0} annotation cannot be used in with @javax.jws.WebService.endpointInterface element.
-+     * Document literal bare methods must have a return value or one out parameter.  Class: {0} Method: {1}
-      *
-      */
--    public static String WEBSERVICEAP_ENDPOINTINTEFACE_PLUS_ANNOTATION(Object arg0) {
--        return localizer.localize(localizableWEBSERVICEAP_ENDPOINTINTEFACE_PLUS_ANNOTATION(arg0));
-+    public static String WEBSERVICEAP_DOCUMENT_LITERAL_BARE_CANNOT_HAVE_MORE_THAN_ONE_OUT(Object arg0, Object arg1) {
-+        return localizer.localize(localizableWEBSERVICEAP_DOCUMENT_LITERAL_BARE_CANNOT_HAVE_MORE_THAN_ONE_OUT(arg0, arg1));
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_FAILED_TO_PARSE_HANDLERCHAIN_FILE(Object arg0, Object arg1) {
--        return messageFactory.getMessage("webserviceap.failed.to.parse.handlerchain.file", arg0, arg1);
-+    public static Localizable localizableWEBSERVICEAP_INVALID_SEI_ANNOTATION(Object arg0, Object arg1) {
-+        return messageFactory.getMessage("webserviceap.invalid.sei.annotation", arg0, arg1);
-     }
- 
-     /**
--     * Failed to parse HandlerChain file. Class: {0}, file: {1}
-+     * The @{0} annotation cannot be used on a service endpoint interface. Class: {1}
-      *
-      */
--    public static String WEBSERVICEAP_FAILED_TO_PARSE_HANDLERCHAIN_FILE(Object arg0, Object arg1) {
--        return localizer.localize(localizableWEBSERVICEAP_FAILED_TO_PARSE_HANDLERCHAIN_FILE(arg0, arg1));
-+    public static String WEBSERVICEAP_INVALID_SEI_ANNOTATION(Object arg0, Object arg1) {
-+        return localizer.localize(localizableWEBSERVICEAP_INVALID_SEI_ANNOTATION(arg0, arg1));
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_METHOD_PARAMETER_TYPES_CANNOT_IMPLEMENT_REMOTE(Object arg0, Object arg1, Object arg2, Object arg3) {
--        return messageFactory.getMessage("webserviceap.method.parameter.types.cannot.implement.remote", arg0, arg1, arg2, arg3);
-+    public static Localizable localizableWEBSERVICEAP_OPERATION_NAME_NOT_UNIQUE(Object arg0, Object arg1, Object arg2) {
-+        return messageFactory.getMessage("webserviceap.operation.name.not.unique", arg0, arg1, arg2);
-     }
- 
-     /**
--     * Method parameter types cannot implement java.rmi.Remote.  Class: {0} method: {1} parameter: {2} type: {3}
-+     * Operation names must be unique.  Class: {0} method: {1} operation name: {2}
-      *
-      */
--    public static String WEBSERVICEAP_METHOD_PARAMETER_TYPES_CANNOT_IMPLEMENT_REMOTE(Object arg0, Object arg1, Object arg2, Object arg3) {
--        return localizer.localize(localizableWEBSERVICEAP_METHOD_PARAMETER_TYPES_CANNOT_IMPLEMENT_REMOTE(arg0, arg1, arg2, arg3));
-+    public static String WEBSERVICEAP_OPERATION_NAME_NOT_UNIQUE(Object arg0, Object arg1, Object arg2) {
-+        return localizer.localize(localizableWEBSERVICEAP_OPERATION_NAME_NOT_UNIQUE(arg0, arg1, arg2));
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_METHOD_RETURN_TYPE_CANNOT_IMPLEMENT_REMOTE(Object arg0, Object arg1, Object arg2) {
--        return messageFactory.getMessage("webserviceap.method.return.type.cannot.implement.remote", arg0, arg1, arg2);
-+    public static Localizable localizableWEBSERVICEAP_WEBSERVICE_CLASS_IS_FINAL(Object arg0) {
-+        return messageFactory.getMessage("webserviceap.webservice.class.is.final", arg0);
-     }
- 
-     /**
--     * Method return types cannot implement java.rmi.Remote.  Class: {0} method: {1} return type: {2}
-+     * Classes annotated with @javax.jws.WebService must not be final. Class: {0}
-      *
-      */
--    public static String WEBSERVICEAP_METHOD_RETURN_TYPE_CANNOT_IMPLEMENT_REMOTE(Object arg0, Object arg1, Object arg2) {
--        return localizer.localize(localizableWEBSERVICEAP_METHOD_RETURN_TYPE_CANNOT_IMPLEMENT_REMOTE(arg0, arg1, arg2));
-+    public static String WEBSERVICEAP_WEBSERVICE_CLASS_IS_FINAL(Object arg0) {
-+        return localizer.localize(localizableWEBSERVICEAP_WEBSERVICE_CLASS_IS_FINAL(arg0));
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_ERROR(Object arg0) {
--        return messageFactory.getMessage("webserviceap.error", arg0);
-+    public static Localizable localizableWEBSERVICEAP_DOCUMENT_LITERAL_BARE_MUST_HAVE_ONE_IN_OR_OUT(Object arg0, Object arg1) {
-+        return messageFactory.getMessage("webserviceap.document.literal.bare.must.have.one.in.or.out", arg0, arg1);
-     }
- 
-     /**
--     * error: {0}
-+     * Document literal bare methods must have at least one of: a return, an in parameter or an out parameter.  Class: {0} Method: {1}
-      *
-      */
--    public static String WEBSERVICEAP_ERROR(Object arg0) {
--        return localizer.localize(localizableWEBSERVICEAP_ERROR(arg0));
-+    public static String WEBSERVICEAP_DOCUMENT_LITERAL_BARE_MUST_HAVE_ONE_IN_OR_OUT(Object arg0, Object arg1) {
-+        return localizer.localize(localizableWEBSERVICEAP_DOCUMENT_LITERAL_BARE_MUST_HAVE_ONE_IN_OR_OUT(arg0, arg1));
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_WEBSERVICE_CLASS_IS_ABSTRACT(Object arg0) {
--        return messageFactory.getMessage("webserviceap.webservice.class.is.abstract", arg0);
-+    public static Localizable localizableWEBSERVICEAP_METHOD_REQUEST_WRAPPER_BEAN_NAME_NOT_UNIQUE(Object arg0, Object arg1) {
-+        return messageFactory.getMessage("webserviceap.method.request.wrapper.bean.name.not.unique", arg0, arg1);
-     }
- 
-     /**
--     * Classes annotated with @javax.jws.WebService must not be abstract. Class: {0}
-+     * Request wrapper bean names must be unique and must not clash with other generated classes.  Class: {0} method {1}
-      *
-      */
--    public static String WEBSERVICEAP_WEBSERVICE_CLASS_IS_ABSTRACT(Object arg0) {
--        return localizer.localize(localizableWEBSERVICEAP_WEBSERVICE_CLASS_IS_ABSTRACT(arg0));
-+    public static String WEBSERVICEAP_METHOD_REQUEST_WRAPPER_BEAN_NAME_NOT_UNIQUE(Object arg0, Object arg1) {
-+        return localizer.localize(localizableWEBSERVICEAP_METHOD_REQUEST_WRAPPER_BEAN_NAME_NOT_UNIQUE(arg0, arg1));
-     }
- 
--    public static Localizable localizableWEBSERVICEAP_INIT_PARAM_FORMAT_ERROR() {
--        return messageFactory.getMessage("webserviceap.init_param.format.error");
-+    public static Localizable localizableWEBSERVICEAP_DOCUMENT_BARE_HOLDER_PARAMETERS_MUST_NOT_BE_INOUT(Object arg0, Object arg1, Object arg2) {
-+        return messageFactory.getMessage("webserviceap.document.bare.holder.parameters.must.not.be.inout", arg0, arg1, arg2);
-     }
- 
-     /**
--     * a <init-param> element must have exactly 1 <param-name> and 1 <param-value>
-+     * javax.xml.ws.Holder parameters in document bare operations must be WebParam.Mode.INOUT;  Class: {0} method: {1} parameter: {2}
-      *
-      */
--    public static String WEBSERVICEAP_INIT_PARAM_FORMAT_ERROR() {
--        return localizer.localize(localizableWEBSERVICEAP_INIT_PARAM_FORMAT_ERROR());
-+    public static String WEBSERVICEAP_DOCUMENT_BARE_HOLDER_PARAMETERS_MUST_NOT_BE_INOUT(Object arg0, Object arg1, Object arg2) {
-+        return localizer.localize(localizableWEBSERVICEAP_DOCUMENT_BARE_HOLDER_PARAMETERS_MUST_NOT_BE_INOUT(arg0, arg1, arg2));
-     }
- 
-+    public static Localizable localizableWEBSERVICEAP_ONEWAY_AND_NOT_ONE_IN(Object arg0, Object arg1) {
-+        return messageFactory.getMessage("webserviceap.oneway.and.not.one.in", arg0, arg1);
-+    }
-+
-+    /**
-+     * Document literal bare methods annotated with @javax.jws.Oneway must have one non-header IN parameter.  Class: {0} Method: {1}
-+     *
-+     */
-+    public static String WEBSERVICEAP_ONEWAY_AND_NOT_ONE_IN(Object arg0, Object arg1) {
-+        return localizer.localize(localizableWEBSERVICEAP_ONEWAY_AND_NOT_ONE_IN(arg0, arg1));
-+    }
-+
- }
---- old/src/share/classes/com/sun/tools/internal/ws/resources/WscompileMessages.java	Tue Aug  4 09:29:06 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/resources/WscompileMessages.java	Tue Aug  4 09:29:06 2009
-@@ -62,6 +62,30 @@
-         return localizer.localize(localizableWSGEN_CLASS_NOT_FOUND(arg0));
-     }
- 
-+    public static Localizable localizableWSIMPORT_HTTP_REDIRECT(Object arg0, Object arg1) {
-+        return messageFactory.getMessage("wsimport.httpRedirect", arg0, arg1);
-+    }
-+
-+    /**
-+     * Server returned HTTP Status code: "{0}", retrying with "{1}"
-+     *
-+     */
-+    public static String WSIMPORT_HTTP_REDIRECT(Object arg0, Object arg1) {
-+        return localizer.localize(localizableWSIMPORT_HTTP_REDIRECT(arg0, arg1));
-+    }
-+
-+    public static Localizable localizableWSIMPORT_AUTH_INFO_NEEDED(Object arg0, Object arg1, Object arg2) {
-+        return messageFactory.getMessage("wsimport.authInfoNeeded", arg0, arg1, arg2);
-+    }
-+
-+    /**
-+     * {0},  "{1}" needs authorization, please provide authorization file with read access at {2} or use -Xauthfile to give the authorization file and on each line provide authorization information using this format : http[s]://user:password@host:port//<url-path>
-+     *
-+     */
-+    public static String WSIMPORT_AUTH_INFO_NEEDED(Object arg0, Object arg1, Object arg2) {
-+        return localizer.localize(localizableWSIMPORT_AUTH_INFO_NEEDED(arg0, arg1, arg2));
-+    }
-+
-     public static Localizable localizableWSGEN_USAGE_EXAMPLES() {
-         return messageFactory.getMessage("wsgen.usage.examples");
-     }
-@@ -142,6 +166,27 @@
-         return localizer.localize(localizableWSIMPORT_MISSING_FILE());
-     }
- 
-+    public static Localizable localizableWSIMPORT_USAGE_EXTENSIONS() {
-+        return messageFactory.getMessage("wsimport.usage.extensions");
-+    }
-+
-+    /**
-+     *
-+     * Extensions:
-+     *   -XadditionalHeaders         map headers not bound to request or response message to
-+     *                               Java method parameters
-+     *   -Xauthfile                  file to carry authorization information in the format
-+     *                               http://username:password@example.org/stock?wsdl
-+     *   -Xdebug                     print debug information
-+     *   -Xno-addressing-databinding enable binding of W3C EndpointReferenceType to Java
-+     *   -Xnocompile                 do not compile generated Java files
-+     *
-+     *
-+     */
-+    public static String WSIMPORT_USAGE_EXTENSIONS() {
-+        return localizer.localize(localizableWSIMPORT_USAGE_EXTENSIONS());
-+    }
-+
-     public static Localizable localizableWSIMPORT_USAGE(Object arg0) {
-         return messageFactory.getMessage("wsimport.usage", arg0);
-     }
-@@ -221,8 +266,8 @@
-      *   -p <pkg>                  specifies the target package
-      *   -quiet                    suppress wsimport output
-      *   -s <directory>            specify where to place generated source files
--     *   -target <version>         generate code as per the given JAXWS specification version.
--     *                             version 2.0 will generate compliant code for JAXWS 2.0 spec.
-+     *   -target <version>         generate code as per the given JAXWS spec version
-+     *                             e.g. 2.0 will generate compliant code for JAXWS 2.0 spec
-      *   -verbose                  output messages about what the compiler is doing
-      *   -version                  print version information
-      *   -wsdllocation <location>  @WebServiceClient.wsdlLocation value
-@@ -245,6 +290,44 @@
-         return localizer.localize(localizableWSCOMPILE_ERROR(arg0));
-     }
- 
-+    public static Localizable localizableWSGEN_PROTOCOL_WITHOUT_EXTENSION(Object arg0) {
-+        return messageFactory.getMessage("wsgen.protocol.without.extension", arg0);
-+    }
-+
-+    /**
-+     * The optional protocol "{0}" must be used in conjunction with the "-extension" option.
-+     *
-+     */
-+    public static String WSGEN_PROTOCOL_WITHOUT_EXTENSION(Object arg0) {
-+        return localizer.localize(localizableWSGEN_PROTOCOL_WITHOUT_EXTENSION(arg0));
-+    }
-+
-+    public static Localizable localizableWSIMPORT_COMPILING_CODE() {
-+        return messageFactory.getMessage("wsimport.CompilingCode");
-+    }
-+
-+    /**
-+     *
-+     * compiling code...
-+     *
-+     *
-+     */
-+    public static String WSIMPORT_COMPILING_CODE() {
-+        return localizer.localize(localizableWSIMPORT_COMPILING_CODE());
-+    }
-+
-+    public static Localizable localizableWSIMPORT_READING_AUTH_FILE(Object arg0) {
-+        return messageFactory.getMessage("wsimport.readingAuthFile", arg0);
-+    }
-+
-+    /**
-+     * Trying to read authorization file : "{0}"...
-+     *
-+     */
-+    public static String WSIMPORT_READING_AUTH_FILE(Object arg0) {
-+        return localizer.localize(localizableWSIMPORT_READING_AUTH_FILE(arg0));
-+    }
-+
-     public static Localizable localizableWSGEN_NO_WEBSERVICES_CLASS(Object arg0) {
-         return messageFactory.getMessage("wsgen.no.webservices.class", arg0);
-     }
-@@ -281,6 +364,18 @@
-         return localizer.localize(localizableWSCOMPILE_INFO(arg0));
-     }
- 
-+    public static Localizable localizableWSIMPORT_MAX_REDIRECT_ATTEMPT() {
-+        return messageFactory.getMessage("wsimport.maxRedirectAttempt");
-+    }
-+
-+    /**
-+     * Can not get a WSDL maximum number of redirects(5) reached
-+     *
-+     */
-+    public static String WSIMPORT_MAX_REDIRECT_ATTEMPT() {
-+        return localizer.localize(localizableWSIMPORT_MAX_REDIRECT_ATTEMPT());
-+    }
-+
-     public static Localizable localizableWSIMPORT_WARNING_MESSAGE(Object arg0) {
-         return messageFactory.getMessage("wsimport.WarningMessage", arg0);
-     }
-@@ -324,6 +419,7 @@
-     /**
-      * generating code...
-      *
-+     *
-      */
-     public static String WSIMPORT_GENERATING_CODE() {
-         return localizer.localize(localizableWSIMPORT_GENERATING_CODE());
-@@ -389,6 +485,30 @@
-         return localizer.localize(localizableWSIMPORT_NO_SUCH_JAXB_OPTION(arg0));
-     }
- 
-+    public static Localizable localizableWSIMPORT_AUTH_FILE_NOT_FOUND(Object arg0, Object arg1) {
-+        return messageFactory.getMessage("wsimport.authFileNotFound", arg0, arg1);
-+    }
-+
-+    /**
-+     * Authorization file "{0}" not found. If the WSDL access needs Basic Authentication, please provide authorization file with read access at {1} or use -Xauthfile to give the authorization file and on each line provide authorization information using this format : http[s]://user:password@host:port//<url-path>
-+     *
-+     */
-+    public static String WSIMPORT_AUTH_FILE_NOT_FOUND(Object arg0, Object arg1) {
-+        return localizer.localize(localizableWSIMPORT_AUTH_FILE_NOT_FOUND(arg0, arg1));
-+    }
-+
-+    public static Localizable localizableWSIMPORT_DEBUG_MESSAGE(Object arg0) {
-+        return messageFactory.getMessage("wsimport.DebugMessage", arg0);
-+    }
-+
-+    /**
-+     * [DEBUG] {0}
-+     *
-+     */
-+    public static String WSIMPORT_DEBUG_MESSAGE(Object arg0) {
-+        return localizer.localize(localizableWSIMPORT_DEBUG_MESSAGE(arg0));
-+    }
-+
-     public static Localizable localizableWSGEN_COULD_NOT_CREATE_FILE(Object arg0) {
-         return messageFactory.getMessage("wsgen.could.not.create.file", arg0);
-     }
-@@ -413,8 +533,8 @@
-         return localizer.localize(localizableWSGEN_WSDL_ARG_NO_GENWSDL(arg0));
-     }
- 
--    public static Localizable localizableWSGEN_HELP(Object arg0) {
--        return messageFactory.getMessage("wsgen.help", arg0);
-+    public static Localizable localizableWSGEN_HELP(Object arg0, Object arg1, Object arg2) {
-+        return messageFactory.getMessage("wsgen.help", arg0, arg1, arg2);
-     }
- 
-     /**
-@@ -436,10 +556,12 @@
-      *   -s <directory>             specify where to place generated source files
-      *   -verbose                   output messages about what the compiler is doing
-      *   -version                   print version information
--     *   -wsdl[:protocol]           generate a WSDL file.  The protocol is optional.
--     *                              Valid protocols are soap1.1 and Xsoap1.2, the default
--     *                              is soap1.1.  Xsoap1.2 is not standard and can only be
--     *                              used in conjunction with the -extension option
-+     *   -wsdl[:protocol]           generate a WSDL file. The protocol is optional.
-+     *                              Valid protocols are {1},
-+     *                              the default is soap1.1.
-+     *                              The non stanadard protocols {2}
-+     *                              can only be used in conjunction with the
-+     *                              -extension option.
-      *   -servicename <name>        specify the Service name to use in the generated WSDL
-      *                              Used in conjunction with the -wsdl option.
-      *   -portname <name>           specify the Port name to use in the generated WSDL
-@@ -446,8 +568,8 @@
-      *                              Used in conjunction with the -wsdl option.
-      *
-      */
--    public static String WSGEN_HELP(Object arg0) {
--        return localizer.localize(localizableWSGEN_HELP(arg0));
-+    public static String WSGEN_HELP(Object arg0, Object arg1, Object arg2) {
-+        return localizer.localize(localizableWSGEN_HELP(arg0, arg1, arg2));
-     }
- 
-     public static Localizable localizableWSIMPORT_INFO_MESSAGE(Object arg0) {
-@@ -474,6 +596,18 @@
-         return localizer.localize(localizableWSGEN_SOAP_12_WITHOUT_EXTENSION());
-     }
- 
-+    public static Localizable localizableWSIMPORT_ILLEGAL_AUTH_INFO(Object arg0) {
-+        return messageFactory.getMessage("wsimport.ILLEGAL_AUTH_INFO", arg0);
-+    }
-+
-+    /**
-+     * "{0}" is not a valid authorization information format. The format is http[s]://user:password@host:port//<url-path>.
-+     *
-+     */
-+    public static String WSIMPORT_ILLEGAL_AUTH_INFO(Object arg0) {
-+        return localizer.localize(localizableWSIMPORT_ILLEGAL_AUTH_INFO(arg0));
-+    }
-+
-     public static Localizable localizableWSCOMPILE_COMPILATION_FAILED() {
-         return messageFactory.getMessage("wscompile.compilationFailed");
-     }
-@@ -546,6 +680,18 @@
-         return localizer.localize(localizableWSIMPORT_NO_WSDL(arg0));
-     }
- 
-+    public static Localizable localizableWSIMPORT_AUTH_INFO_LINENO(Object arg0, Object arg1) {
-+        return messageFactory.getMessage("wsimport.AUTH_INFO_LINENO", arg0, arg1);
-+    }
-+
-+    /**
-+     * "line {0} of {1}
-+     *
-+     */
-+    public static String WSIMPORT_AUTH_INFO_LINENO(Object arg0, Object arg1) {
-+        return localizer.localize(localizableWSIMPORT_AUTH_INFO_LINENO(arg0, arg1));
-+    }
-+
-     public static Localizable localizableWSGEN_USAGE(Object arg0) {
-         return messageFactory.getMessage("wsgen.usage", arg0);
-     }
---- old/src/share/classes/com/sun/tools/internal/ws/resources/WsdlMessages.java	Tue Aug  4 09:29:09 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/resources/WsdlMessages.java	Tue Aug  4 09:29:08 2009
-@@ -55,7 +55,7 @@
-     }
- 
-     /**
--     * wsdl:binding "{0}" referenced by wsdl:port "{1}", but its not found in the wsdl
-+     * wsdl:binding "{0}" referenced by wsdl:port "{1}", but it's not found in the wsdl
-      *
-      */
-     public static String ENTITY_NOT_FOUND_BINDING(Object arg0, Object arg1) {
-@@ -62,28 +62,30 @@
-         return localizer.localize(localizableENTITY_NOT_FOUND_BINDING(arg0, arg1));
-     }
- 
--    public static Localizable localizablePARSING_PARSE_FAILED() {
--        return messageFactory.getMessage("Parsing.ParseFailed");
-+    public static Localizable localizablePARSING_UNABLE_TO_GET_METADATA(Object arg0, Object arg1) {
-+        return messageFactory.getMessage("parsing.unableToGetMetadata", arg0, arg1);
-     }
- 
-     /**
--     * Failed to parse the WSDL.
-+     * {0}
-      *
-+     * {1}
-+     *
-      */
--    public static String PARSING_PARSE_FAILED() {
--        return localizer.localize(localizablePARSING_PARSE_FAILED());
-+    public static String PARSING_UNABLE_TO_GET_METADATA(Object arg0, Object arg1) {
-+        return localizer.localize(localizablePARSING_UNABLE_TO_GET_METADATA(arg0, arg1));
-     }
- 
--    public static Localizable localizablePARSING_UNABLE_TO_GET_METADATA(Object arg0) {
--        return messageFactory.getMessage("parsing.unableToGetMetadata", arg0);
-+    public static Localizable localizablePARSING_PARSE_FAILED() {
-+        return messageFactory.getMessage("Parsing.ParseFailed");
-     }
- 
-     /**
--     * Unable to get Metadata from: {0}
-+     *  Failed to parse the WSDL.
-      *
-      */
--    public static String PARSING_UNABLE_TO_GET_METADATA(Object arg0) {
--        return localizer.localize(localizablePARSING_UNABLE_TO_GET_METADATA(arg0));
-+    public static String PARSING_PARSE_FAILED() {
-+        return localizer.localize(localizablePARSING_PARSE_FAILED());
-     }
- 
-     public static Localizable localizableVALIDATION_INVALID_PREFIX(Object arg0) {
-@@ -151,7 +153,7 @@
-     }
- 
-     /**
--     * wsdl:portType "{0}" referenced by wsdl:binding "{1}", but its not found in the wsdl
-+     * wsdl:portType "{0}" referenced by wsdl:binding "{1}", but it's not found in the wsdl
-      *
-      */
-     public static String ENTITY_NOT_FOUND_PORT_TYPE(Object arg0, Object arg1) {
-@@ -199,7 +201,7 @@
-     }
- 
-     /**
--     * Both jaxws:version and version are present
-+     *  Both jaxws:version and version are present
-      *
-      */
-     public static String INTERNALIZER_TWO_VERSION_ATTRIBUTES() {
-@@ -212,7 +214,7 @@
- 
-     /**
-      * Invalid WSDL, duplicate parts in a wsdl:message is not allowed.
--     * wsdl:message {0} has duplicated part name: "{1}"
-+     * wsdl:message {0} has a duplicated part name: "{1}"
-      *
-      */
-     public static String VALIDATION_DUPLICATE_PART_NAME(Object arg0, Object arg1) {
-@@ -248,7 +250,7 @@
-     }
- 
-     /**
--     * found unexpected non whitespace text: "{0}"
-+     * found unexpected non-whitespace text: "{0}"
-      *
-      */
-     public static String PARSING_NON_WHITESPACE_TEXT_FOUND(Object arg0) {
-@@ -260,7 +262,7 @@
-     }
- 
-     /**
--     * No target found for the wsdlLocation: {0}
-+     *  No target found for the wsdlLocation: {0}
-      *
-      */
-     public static String INTERNALIZER_TARGET_NOT_FOUND(Object arg0) {
-@@ -344,7 +346,7 @@
-     }
- 
-     /**
--     * JAXWS version attribute must be "2.0"
-+     *  JAXWS version attribute must be "2.0"
-      *
-      */
-     public static String INTERNALIZER_INCORRECT_VERSION() {
-@@ -399,6 +401,20 @@
-         return localizer.localize(localizablePARSING_INCORRECT_ROOT_ELEMENT(arg0, arg1, arg2, arg3));
-     }
- 
-+    public static Localizable localizableTRY_WITH_MEX(Object arg0) {
-+        return messageFactory.getMessage("try.with.mex", arg0);
-+    }
-+
-+    /**
-+     * {0}
-+     *
-+     * retrying with MEX...
-+     *
-+     */
-+    public static String TRY_WITH_MEX(Object arg0) {
-+        return localizer.localize(localizableTRY_WITH_MEX(arg0));
-+    }
-+
-     public static Localizable localizableVALIDATION_MISSING_REQUIRED_ATTRIBUTE(Object arg0, Object arg1) {
-         return messageFactory.getMessage("validation.missingRequiredAttribute", arg0, arg1);
-     }
-@@ -440,7 +456,7 @@
-     }
- 
-     /**
--     * not an external binding file. The root element must be '{'http://java.sun.com/xml/ns/jaxws'}'bindings but it is '{'{0}'}'{1}
-+     *  not an external binding file. The root element must be '{'http://java.sun.com/xml/ns/jaxws'}'bindings but it is '{'{0}'}'{1}
-      *
-      */
-     public static String PARSER_NOT_A_BINDING_FILE(Object arg0, Object arg1) {
-@@ -548,7 +564,7 @@
-     }
- 
-     /**
--     * Unable to parse "{0}" : {1}
-+     *  Unable to parse "{0}" : {1}
-      *
-      */
-     public static String ABSTRACT_REFERENCE_FINDER_IMPL_UNABLE_TO_PARSE(Object arg0, Object arg1) {
-@@ -596,7 +612,7 @@
-     }
- 
-     /**
--     * XPath evaluation of "{0}" results in empty target node
-+     * XPath evaluation of "{0}" results in an empty target node
-      *
-      */
-     public static String INTERNALIZER_X_PATH_EVALUATES_TO_NO_TARGET(Object arg0) {
-@@ -620,7 +636,7 @@
-     }
- 
-     /**
--     * Ignoring customization: "{0}", it has no namespace. It must belong to the customization namespace.
-+     * Ignoring customization: "{0}", because it has no namespace. It must belong to the customization namespace.
-      *
-      */
-     public static String INVALID_CUSTOMIZATION_NAMESPACE(Object arg0) {
-@@ -687,28 +703,28 @@
-         return localizer.localize(localizableVALIDATION_INCORRECT_TARGET_NAMESPACE(arg0, arg1));
-     }
- 
--    public static Localizable localizableENTITY_NOT_FOUND_BY_Q_NAME(Object arg0, Object arg1) {
--        return messageFactory.getMessage("entity.notFoundByQName", arg0, arg1);
-+    public static Localizable localizableENTITY_NOT_FOUND_BY_Q_NAME(Object arg0, Object arg1, Object arg2) {
-+        return messageFactory.getMessage("entity.notFoundByQName", arg0, arg1, arg2);
-     }
- 
-     /**
--     * invalid entity name: "{0}" (in namespace: "{1}")
-+     * {0} "{1}" not found in the wsdl: {2}
-      *
-      */
--    public static String ENTITY_NOT_FOUND_BY_Q_NAME(Object arg0, Object arg1) {
--        return localizer.localize(localizableENTITY_NOT_FOUND_BY_Q_NAME(arg0, arg1));
-+    public static String ENTITY_NOT_FOUND_BY_Q_NAME(Object arg0, Object arg1, Object arg2) {
-+        return localizer.localize(localizableENTITY_NOT_FOUND_BY_Q_NAME(arg0, arg1, arg2));
-     }
- 
--    public static Localizable localizableINVALID_WSDL(Object arg0) {
--        return messageFactory.getMessage("invalid.wsdl", arg0);
-+    public static Localizable localizableINVALID_WSDL(Object arg0, Object arg1, Object arg2, Object arg3) {
-+        return messageFactory.getMessage("invalid.wsdl", arg0, arg1, arg2, arg3);
-     }
- 
-     /**
--     * "{0} does not look like a WSDL document, retrying with MEX..."
-+     * Invalid WSDL {0}, expected {1} found {2} at (line {3})
-      *
-      */
--    public static String INVALID_WSDL(Object arg0) {
--        return localizer.localize(localizableINVALID_WSDL(arg0));
-+    public static String INVALID_WSDL(Object arg0, Object arg1, Object arg2, Object arg3) {
-+        return localizer.localize(localizableINVALID_WSDL(arg0, arg1, arg2, arg3));
-     }
- 
-     public static Localizable localizableVALIDATION_UNSUPPORTED_SCHEMA_FEATURE(Object arg0) {
-@@ -788,7 +804,7 @@
-     }
- 
-     /**
--     * Target node is not an element
-+     *  Target node is not an element
-      *
-      */
-     public static String INTERNALIZER_TARGET_NOT_AN_ELEMENT() {
-@@ -860,7 +876,7 @@
-     }
- 
-     /**
--     * Not a WSI-BP compliant WSDL (R2001, R2004). xsd:import must not import XML Schema definition emmbedded inline within WSDLDocument.
-+     * Not a WSI-BP compliant WSDL (R2001, R2004). xsd:import must not import XML Schema definitions embedded inline within the WSDL document.
-      *
-      */
-     public static String WARNING_WSI_R_2004() {
-@@ -872,7 +888,7 @@
-     }
- 
-     /**
--     * Not a WSI-BP compliant WSDL (R2003). xsd:import must only be used inside xsd:schema element.
-+     * Not a WSI-BP compliant WSDL (R2003). xsd:import must only be used inside xsd:schema elements.
-      *
-      */
-     public static String WARNING_WSI_R_2003() {
-@@ -884,7 +900,7 @@
-     }
- 
-     /**
--     * Not a WSI-BP compliant WSDL (R2002). wsdl:import must not be used to import XML Schema embedded in the WSDL document. Expected wsdl namesapce: {0}, found: {1}
-+     * Not a WSI-BP compliant WSDL (R2002). wsdl:import must not be used to import XML Schema embedded in the WSDL document. Expected wsdl namespace: {0}, found: {1}
-      *
-      */
-     public static String WARNING_WSI_R_2002(Object arg0, Object arg1) {
-@@ -903,18 +919,30 @@
-         return localizer.localize(localizablePARSING_ELEMENT_OR_TYPE_REQUIRED(arg0));
-     }
- 
--    public static Localizable localizableWARNING_WSI_R_2001(Object arg0) {
--        return messageFactory.getMessage("warning.wsi.r2001", arg0);
-+    public static Localizable localizableWARNING_WSI_R_2001() {
-+        return messageFactory.getMessage("warning.wsi.r2001");
-     }
- 
-     /**
--     * Not a WSI-BP compliant WSDL (R2001, R2002). wsdl:import must only import WSDL document. Its trying to import: "{0}"
-+     * Not a WSI-BP compliant WSDL (R2001, R2002). wsdl:import must import only WSDL documents. It's trying to import: "{0}"
-      *
-      */
--    public static String WARNING_WSI_R_2001(Object arg0) {
--        return localizer.localize(localizableWARNING_WSI_R_2001(arg0));
-+    public static String WARNING_WSI_R_2001() {
-+        return localizer.localize(localizableWARNING_WSI_R_2001());
-     }
- 
-+    public static Localizable localizableFILE_NOT_FOUND(Object arg0) {
-+        return messageFactory.getMessage("file.not.found", arg0);
-+    }
-+
-+    /**
-+     * {0} is unreachable
-+     *
-+     */
-+    public static String FILE_NOT_FOUND(Object arg0) {
-+        return localizer.localize(localizableFILE_NOT_FOUND(arg0));
-+    }
-+
-     public static Localizable localizableVALIDATION_INVALID_SIMPLE_TYPE_IN_ELEMENT(Object arg0, Object arg1) {
-         return messageFactory.getMessage("validation.invalidSimpleTypeInElement", arg0, arg1);
-     }
-@@ -944,7 +972,7 @@
-     }
- 
-     /**
--     * JAXWS version attribute must be present
-+     *  JAXWS version attribute must be present
-      *
-      */
-     public static String INTERNALIZER_VERSION_NOT_PRESENT() {
-@@ -951,6 +979,20 @@
-         return localizer.localize(localizableINTERNALIZER_VERSION_NOT_PRESENT());
-     }
- 
-+    public static Localizable localizableFAILED_NOSERVICE(Object arg0) {
-+        return messageFactory.getMessage("failed.noservice", arg0);
-+    }
-+
-+    /**
-+     * failed.noservice=Could not find wsdl:service in the provided WSDL(s):
-+     *
-+     * {0} At least one WSDL with at least one service definition needs to be provided.
-+     *
-+     */
-+    public static String FAILED_NOSERVICE(Object arg0) {
-+        return localizer.localize(localizableFAILED_NOSERVICE(arg0));
-+    }
-+
-     public static Localizable localizablePARSING_TOO_MANY_ELEMENTS(Object arg0, Object arg1, Object arg2) {
-         return messageFactory.getMessage("parsing.tooManyElements", arg0, arg1, arg2);
-     }
-@@ -968,7 +1010,7 @@
-     }
- 
-     /**
--     * "{0}" is not a part of this compilation. Is this a mistake for "{1}"?
-+     *  "{0}" is not a part of this compilation. Is this a mistake for "{1}"?
-      *
-      */
-     public static String INTERNALIZER_INCORRECT_SCHEMA_REFERENCE(Object arg0, Object arg1) {
---- old/src/share/classes/com/sun/tools/internal/ws/resources/configuration.properties	Tue Aug  4 09:29:11 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/resources/configuration.properties	Tue Aug  4 09:29:10 2009
-@@ -25,4 +25,3 @@
- 
- configuration.invalidElement=invalid element \"{2}\" in file \"{0}\" (line {1})
- configuration.notBindingFile=Ignoring: binding file "\"{0}\". It is not a jaxws or a jaxb binding file.
-- 
---- old/src/share/classes/com/sun/tools/internal/ws/resources/generator.properties	Tue Aug  4 09:29:13 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/resources/generator.properties	Tue Aug  4 09:29:13 2009
-@@ -32,4 +32,5 @@
- 
- #IndentingWriter
- generator.indentingwriter.charset.cantencode=WSDL has some characters which native java encoder can''t encode: \"{0}\"
-- 
-+generator.sei.classAlreadyExist=Could not generate SEI, class: {0} already exists. Rename wsdl:portType \"{1}\" using JAX-WS customization
-+generator.service.classAlreadyExist=Could not generate Service, class: {0} already exists. Rename wsdl:Service \"{1}\" using JAX-WS customization
---- old/src/share/classes/com/sun/tools/internal/ws/resources/javacompiler.properties	Tue Aug  4 09:29:15 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/resources/javacompiler.properties	Tue Aug  4 09:29:15 2009
-@@ -29,4 +29,3 @@
- javacompiler.classpath.error={0} is not available in the classpath, requires Sun's JDK version 5.0 or latter.
- javacompiler.nosuchmethod.error=There is no such method {0} available, requires Sun's JDK version 5.0 or latter.
- javacompiler.error=error : {0}.
-- 
---- old/src/share/classes/com/sun/tools/internal/ws/resources/model.properties	Tue Aug  4 09:29:17 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/resources/model.properties	Tue Aug  4 09:29:17 2009
-@@ -58,7 +58,6 @@
- 
- model.uniqueness=uniqueness constraint violation
- model.part.notUnique=parts in wsdl:message \"{0}\", reference \"{1}\", they must reference unique global elements.
--model.parameter.notunique=Failed to generate Java signature: duplicate parameter names {0}. Use JAXWS binding customization to rename the wsdl:part \"{1}\"
- model.exception.notunique=Failed to generate Java signature: duplicate exception names {0}. Use JAXWS binding customization to rename the wsdl:part \"{1}\"
- model.uniqueness.javastructuretype=uniqueness constraint violation, duplicate member \"{0}\" added to JavaStructureType \"{1}\"
- model.parent.type.already.set=parent of type \"{0}\" already set to \"{1}\", new value = \"{2}\"
-@@ -78,15 +77,16 @@
- model.arraywrapper.no.subtypes=LiteralArrayWrapper cannot have subtypes
- model.arraywrapper.no.content.member=LiteralArrayWrapper cannot have a content member
- model.complexType.simpleContent.reservedName=invalid attribute name: "_value" in complexType: \"{0}\", _value is JAXWS reserved name, this name is generated in the generated javabean class to hold content value in the generated javabean class for complexType/simpleContent.
-+model.parameter.notunique.wrapper=Failed to generate Java signature: duplicate parameter name \"{0}\". Try one of these\n\t1. Use JAXWS binding customization to rename the wsdl:part \"{1}\"\n\t2. Run wsimport with -extension switch.\n\t3. This is wrapper style operation, to resolve parameter name conflict, you can also try disabling wrapper style by using <jaxws:enableWrapperStyle>false</jaxws:enableWrapperStyle> wsdl customization.
-+model.parameter.notunique=Failed to generate Java signature: duplicate parameter name \"{0}\". Try one of these\n\t1. Use JAXWS binding customization to rename the wsdl:part \"{1}\"\n\t2. Run wsimport with -extension switch.
- 
--//JAXWS 2.0
-+#JAXWS 2.0
- model.schema.elementNotFound=Element \"{0}\" not found.
- model.schema.jaxbException.message="{0}"
- model.saxparser.exception:{0}\n{1}
- 
- ConsoleErrorReporter.UnknownLocation = \
--	unknown location
-+        unknown location
- 
- ConsoleErrorReporter.LineXOfY = \
--	\ \ line {0} of {1}
-- 
-+        \ \ line {0} of {1}
---- old/src/share/classes/com/sun/tools/internal/ws/resources/modeler.properties	Tue Aug  4 09:29:20 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/resources/modeler.properties	Tue Aug  4 09:29:19 2009
-@@ -65,9 +65,9 @@
- wsdlmodeler.warning.noPortsInService=Service \"{0}\" does not contain any usable ports. try running wsimport with -extension switch.
- wsdlmodeler.warning.noOperationsInPort=Port \"{0}\" does not contain any usable operations
- wsdlmodeler.warning.ignoringNonSOAPPort=ignoring port \"{0}\": not a standard SOAP port. try running wsimport with -extension switch.
--wsdlmodeler.warning.nonSOAPPort=port \"{0}\": not a standard SOAP port. The generated artifacts may not work with JAXWS runtime. 
-+wsdlmodeler.warning.nonSOAPPort=port \"{0}\": not a standard SOAP port. The generated artifacts may not work with JAXWS runtime.
- wsdlmodeler.warning.ignoringNonSOAPPort.noAddress=ignoring port \"{0}\": no SOAP address specified. try running wsimport with -extension switch.
--wsdlmodeler.warning.noSOAPAddress=port \"{0}\" is not a SOAP port, it has no soap:address 
-+wsdlmodeler.warning.noSOAPAddress=port \"{0}\" is not a SOAP port, it has no soap:address
- wsdlmodeler.warning.ignoringSOAPBinding.nonHTTPTransport:ignoring SOAP port \"{0}\": unrecognized transport. try running wsimport with -extension switch.
- 
- #BP1.1 R2705
-@@ -189,7 +189,7 @@
- mimemodeler.invalidMimePart.nameNotAllowed=name attribute on wsdl:part in Operation \"{0}\" is ignored. Its not allowed as per WS-I AP 1.0.
- 
- 
--wsdlmodeler20.rpcenc.not.supported=rpc/encoded wsdl's are not supported in JAXWS 2.0. 
-+wsdlmodeler20.rpcenc.not.supported=rpc/encoded wsdl's are not supported in JAXWS 2.0.
- wsdlmodeler.warning.ignoringOperation.notNCName=Ignoring operation \"{0}\", it has illegal character ''{1}'' in its name. Its rpc-literal operation - jaxws won't be able to serialize it!
- 
- wsdlmodeler.warning.ignoringOperation.javaReservedWordNotAllowed.nonWrapperStyle=Ignoring operation \"{0}\", can''t generate java method. Parameter: part "{2}\" in wsdl:message \"{1}\", is a java keyword. Use customization to change the parameter name or change the wsdl:part name.
-@@ -207,11 +207,12 @@
- wsdlmodeler.warning.ignoringOperation.javaReservedWordNotAllowed.customizedOperationName=Ignoring operation \"{0}\", can''t generate java method ,customized name \"{1}\" of the wsdl:operation is a java keyword.
- wsdlmodeler.invalid.operation.javaReservedWordNotAllowed.customizedOperationName=Invalid operation \"{0}\", can''t generate java method ,customized name \"{1}\" of the wsdl:operation is a java keyword.
- 
--wsdlmodeler.jaxb.javatype.notfound=Schema descriptor {0} in message part \"{1}\" could not be bound to Java!
-+wsdlmodeler.jaxb.javatype.notfound=Schema descriptor {0} in message part \"{1}\" is not defined and could not be bound to Java. Perhaps the schema descriptor {0} is not defined in the schema imported/included in the WSDL. You can either add such imports/includes or run wsimport and provide the schema location using -b switch.
- wsdlmodeler.unsupportedBinding.mime=WSDL MIME binding is not currently supported!
- 
--wsdlmodeler.nonUnique.body=Non unique body parts! In a port, operations must have unique operation signaure on the wire for successful dispatch. In port {0}, Operations \"{1}\" and \"{2}\" have the same request body block {3}
--wsdlmodeler.rpclit.unkownschematype=XML type \"{0}\" could not be resolved, XML to JAVA binding failed! Please check the wsdl:part \"{1}\" in the wsdl:message \"{2}\".    
-+wsdlmodeler.nonUnique.body.error=Non unique body parts! In a port, as per BP 1.1 R2710 operations must have unique operation signaure on the wire for successful dispatch. In port {0}, Operations \"{1}\" and \"{2}\" have the same request body block {3}. Try running wsimport with -extension switch, runtime will try to dispatch using SOAPAction
-+wsdlmodeler.nonUnique.body.warning=Non unique body parts! In a port, as per BP 1.1 R2710 operations must have unique operation signaure on the wire for successful dispatch. In port {0}, Operations \"{1}\" and \"{2}\" have the same request body block {3}. Method dispatching may fail, runtime will try to dispatch using SOAPAction
- 
-+wsdlmodeler.rpclit.unkownschematype=XML type \"{0}\" could not be resolved, XML to JAVA binding failed! Please check the wsdl:part \"{1}\" in the wsdl:message \"{2}\".
-+
- wsdlmodeler.responsebean.notfound=wsimport failed to generate async response bean for operation: {0}
-- 
---- old/src/share/classes/com/sun/tools/internal/ws/resources/processor.properties	Tue Aug  4 09:29:22 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/resources/processor.properties	Tue Aug  4 09:29:21 2009
-@@ -24,4 +24,3 @@
- #
- 
- processor.missing.model=model is missing
-- 
---- old/src/share/classes/com/sun/tools/internal/ws/resources/util.properties	Tue Aug  4 09:29:24 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/resources/util.properties	Tue Aug  4 09:29:24 2009
-@@ -26,4 +26,3 @@
- holder.valuefield.not.found=Could not find the field in the Holder that contains the Holder''s value: {0}
- null.namespace.found=Encountered error in wsdl. Check namespace of element <{0}>
- sax2dom.notsupported.createelement=SAX2DOMEx.DomImplDoesntSupportCreateElementNs: {0}
-- 
---- old/src/share/classes/com/sun/tools/internal/ws/resources/webserviceap.properties	Tue Aug  4 09:29:26 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/resources/webserviceap.properties	Tue Aug  4 09:29:26 2009
-@@ -50,7 +50,7 @@
- webserviceap.oneway.operation.cannot.have.holders=The method {1} of class {0} is annotated @Oneway but contains inout or out paramerters (javax.xml.ws.Holder)
- 
- webserviceap.oneway.operation.cannot.declare.exceptions=The method {1} of class {0} is annotated @Oneway but declares the exception {2}
--  
-+
- webserviceap.cannot.combine.handlerchain.soapmessagehandlers=You cannot specify both HanlderChain and SOAPMessageHandlers annotations
- 
- webserviceap.invalid.handlerchain.file.nohandler-config=The handlerchain file {0} is invalid, it does not contain a handler-config element
-@@ -109,19 +109,19 @@
- 
- webserviceap.mixed.binding.style=Class\: {0} contains mixed bindings.  SOAPBinding.Style.RPC and SOAPBinding.Style.DOCUMENT cannot be mixed.
- 
--webserviceap.endpointinteface.plus.annotation=The @{0} annotation cannot be used in with @javax.jws.WebService.endpointInterface element. 
-+webserviceap.endpointinteface.plus.annotation=The @{0} annotation cannot be used in with @javax.jws.WebService.endpointInterface element.
- 
--webserviceap.endpointinteface.plus.element=The @javax.jws.WebService.{0} element cannot be used in with @javax.jws.WebService.endpointInterface element. 
-+webserviceap.endpointinteface.plus.element=The @javax.jws.WebService.{0} element cannot be used in with @javax.jws.WebService.endpointInterface element.
- 
--webserviceap.non.in.parameters.must.be.holder=Class:\ {0}, method: {1}, parameter: {2} is not WebParam.Mode.IN and is not of type javax.xml.ws.Holder. 
-+webserviceap.non.in.parameters.must.be.holder=Class:\ {0}, method: {1}, parameter: {2} is not WebParam.Mode.IN and is not of type javax.xml.ws.Holder.
- 
--webserviceap.invalid.sei.annotation.element=The @javax.jws.WebService.{0} element cannot be specified on a service endpoint interface. Class\: {1} 
-+webserviceap.invalid.sei.annotation.element=The @javax.jws.WebService.{0} element cannot be specified on a service endpoint interface. Class\: {1}
- 
--webserviceap.invalid.sei.annotation=The @{0} annotation cannot be used on a service endpoint interface. Class\: {1} 
-+webserviceap.invalid.sei.annotation=The @{0} annotation cannot be used on a service endpoint interface. Class\: {1}
- 
- webserviceap.invalid.sei.annotation.element.exclude=The @javax.jws.WebMethod({0}) cannot be used on a service endpoint interface. Class\: {1} method\: {2}
- 
--webserviceap.invalid.webmethod.element.with.exclude=The @javax.jws.WebMethod.{0} element cannot be specified with the @javax.jws.WebMethod.exclude element. Class\: {1} method\: {2} 
-+webserviceap.invalid.webmethod.element.with.exclude=The @javax.jws.WebMethod.{0} element cannot be specified with the @javax.jws.WebMethod.exclude element. Class\: {1} method\: {2}
- 
- webserviceap.doc.bare.no.out=Document/literal bare methods with no return type or OUT/INOUT parameters must be annotated as @Oneway. Class\: {0}, method: {1}
- webserviceap.doc.bare.return.and.out=Document/literal bare methods cannot have a return type and out parameters. Class\: {0}, method: {1}
-@@ -137,15 +137,17 @@
- 
- webserviceap.webservice.method.is.abstract=Classes annotated with @javax.jws.WebService must not have abstract methods. Class\: {0} Method: {1}
- 
--#webserviceap.doc.bare.return.and.out=Document literal bare methods must not have a return value and an OUT/INOUT parameter.  Class\: {0} Method\: {1} 
-+webserviceap.webservice.method.is.static.or.final=Method annotated with @javax.jws.WebMethod must not be static or final. Class\: {0} Method: {1}
- 
-+#webserviceap.doc.bare.return.and.out=Document literal bare methods must not have a return value and an OUT/INOUT parameter.  Class\: {0} Method\: {1}
-+
- webserviceap.webservice.no.default.constructor=Classes annotated with @javax.jws.WebService must have a public default constructor. Class\: {0}
- 
--webserviceap.oneway.and.not.one.in=Document literal bare methods annotated with @javax.jws.Oneway must have one non-header IN parameter.  Class\: {0} Method\: {1} 
-+webserviceap.oneway.and.not.one.in=Document literal bare methods annotated with @javax.jws.Oneway must have one non-header IN parameter.  Class\: {0} Method\: {1}
- 
--webserviceap.doc.bare.no.return.and.no.out=Document literal bare methods that do not have a return value must have a single OUT/INOUT parameter.  Class\: {0} Method\: {1} 
-+webserviceap.doc.bare.no.return.and.no.out=Document literal bare methods that do not have a return value must have a single OUT/INOUT parameter.  Class\: {0} Method\: {1}
- 
--webserviceap.doc.bare.and.no.one.in=Document literal bare methods must have one non-header, IN/INOUT parameter.  Class\: {0} Method\: {1} 
-+webserviceap.doc.bare.and.no.one.in=Document literal bare methods must have one non-header, IN/INOUT parameter.  Class\: {0} Method\: {1}
- 
- webserviceap.method.not.implemented=Methods in an endpointInterface must be implemented in the implementation class.  Interface Class\:{0} Implementation Class\:{1} Method\: {2}
- 
-@@ -152,4 +154,3 @@
- webserviceap.no.package.class.must.have.targetnamespace=@javax.jws.Webservice annotated classes that do not belong to a package must have the @javax.jws.Webservice.targetNamespace element.  Class\: {0}
- 
- webserviceap.webservice.and.webserviceprovider=Classes cannot be annotated with both @javax.jws.WebService and @javax.xml.ws.WebServiceProvider.  Class\: {0}
-- 
---- old/src/share/classes/com/sun/tools/internal/ws/resources/wscompile.properties	Tue Aug  4 09:29:28 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/resources/wscompile.properties	Tue Aug  4 09:29:28 2009
-@@ -44,13 +44,23 @@
- \  -p <pkg>                  specifies the target package\n\
- \  -quiet                    suppress wsimport output\n\
- \  -s <directory>            specify where to place generated source files\n\
--\  -target <version>         generate code as per the given JAXWS specification version.\n\
--\                            version 2.0 will generate compliant code for JAXWS 2.0 spec.\n\
-+\  -target <version>         generate code as per the given JAXWS spec version\n\
-+\                            e.g. 2.0 will generate compliant code for JAXWS 2.0 spec\n\
- \  -verbose                  output messages about what the compiler is doing\n\
- \  -version                  print version information\n\
- \  -wsdllocation <location>  @WebServiceClient.wsdlLocation value\n\
- 
-+wsimport.usage.extensions=\n\
-+\Extensions:\n\
-+\  -XadditionalHeaders         map headers not bound to request or response message to \n\
-+\                              Java method parameters\n\
-+\  -Xauthfile                  file to carry authorization information in the format \n\
-+\                              http://username:password@example.org/stock?wsdl\n\
-+\  -Xdebug                     print debug information\n\
-+\  -Xno-addressing-databinding enable binding of W3C EndpointReferenceType to Java\n\
-+\  -Xnocompile                 do not compile generated Java files\n\
- 
-+
- wsimport.usage.examples=\n\
- \Examples:\n\
- \  wsimport stock.wsdl -b stock.xml -b stock.xjb\n\
-@@ -76,15 +86,18 @@
- \  -s <directory>             specify where to place generated source files\n\
- \  -verbose                   output messages about what the compiler is doing\n\
- \  -version                   print version information\n\
--\  -wsdl[:protocol]           generate a WSDL file.  The protocol is optional.\n\
--\                             Valid protocols are soap1.1 and Xsoap1.2, the default\n\
--\                             is soap1.1.  Xsoap1.2 is not standard and can only be\n\
--\                             used in conjunction with the -extension option\n\
-+\  -wsdl[:protocol]           generate a WSDL file. The protocol is optional.\n\
-+\                             Valid protocols are {1},\n\
-+\                             the default is soap1.1.\n\
-+\                             The non stanadard protocols {2}\n\
-+\                             can only be used in conjunction with the\n\
-+\                             -extension option.\n\
- \  -servicename <name>        specify the Service name to use in the generated WSDL\n\
- \                             Used in conjunction with the -wsdl option.\n\
- \  -portname <name>           specify the Port name to use in the generated WSDL\n\
- \                             Used in conjunction with the -wsdl option.
- 
-+
- wsgen.usage.examples=\n\
- \Examples:\n\
- \  wsgen -cp . example.Stock\n\
-@@ -93,7 +106,7 @@
- wrapperTask.needEndorsed=\
- You are running on JDK6 which comes with JAX-WS 2.0 API, but this tool requires JAX-WS 2.1 API. \
- Use the endorsed standards override mechanism (http://java.sun.com/javase/6/docs/technotes/guides/standards/), \
--or set xendorsed="true" on <{0}>. 
-+or set xendorsed="true" on <{0}>.
- 
- wrapperTask.loading20Api=\
- You are loading JAX-WS 2.0 API from {0} but this tool requires JAX-WS 2.1 API.
-@@ -126,7 +139,8 @@
- wsgen.could.not.create.file="Could not create file: "\{0}\"
- wsgen.missingFile=Missing SEI
- wsgen.soap12.without.extension=The optional protocol \"Xsoap1.2\" must be used in conjunction with the \"-extension\" option.
--wsgen.wsdl.arg.no.genwsdl=The \"{0}\" option can only be in conjunction with the "-wsdl" option. 
-+wsgen.protocol.without.extension=The optional protocol \"{0}\" must be used in conjunction with the \"-extension\" option.
-+wsgen.wsdl.arg.no.genwsdl=The \"{0}\" option can only be in conjunction with the "-wsdl" option.
- wsgen.servicename.missing.namespace=The service name \"{0}\" is missing a namespace.
- wsgen.servicename.missing.localname=The service name \"{0}\" is missing a localname.
- wsgen.portname.missing.namespace=The port name \"{0}\" is missing a namespace.
-@@ -151,17 +165,41 @@
-     Failed to parse "{0}": {1}
- 
- wsimport.ParsingWSDL=parsing WSDL...\n\n
--wsimport.GeneratingCode=generating code...
--
-+wsimport.GeneratingCode=generating code...\n
-+wsimport.CompilingCode=\ncompiling code...\n
- wsimport.ILLEGAL_TARGET_VERSION = \
-     "{0}" is not a valid target version. "2.0" and "2.1" are supported.
- 
-+wsimport.ILLEGAL_AUTH_INFO = \
-+    "{0}" is not a valid authorization information format. The format is http[s]://user:password@host:port//<url-path>.
-+
-+wsimport.readingAuthFile = \
-+  Trying to read authorization file : "{0}"...
-+
-+wsimport.authFileNotFound = \
-+  Authorization file "{0}" not found. If the WSDL access needs Basic Authentication, please provide authorization file with read access at {1} or use -Xauthfile to give the authorization file and on each line provide authorization information using this format : http[s]://user:password@host:port//<url-path>
-+
-+wsimport.authInfoNeeded = \
-+  {0},  "{1}" needs authorization, please provide authorization file with read access at {2} or use -Xauthfile to give the authorization file and on each line provide authorization information using this format : http[s]://user:password@host:port//<url-path>
-+
-+wsimport.AUTH_INFO_LINENO = \
-+  "line {0} of {1}
-+
-+
- wsimport.ErrorMessage = \
--	[ERROR] {0}
-+        [ERROR] {0}
- 
- wsimport.WarningMessage = \
--	[WARNING] {0}
-+        [WARNING] {0}
- 
- wsimport.InfoMessage = \
--	[INFO] {0}
-- 
-+        [INFO] {0}
-+
-+wsimport.DebugMessage = \
-+        [DEBUG] {0}
-+
-+wsimport.httpRedirect = \
-+  Server returned HTTP Status code: "{0}", retrying with "{1}"
-+
-+wsimport.maxRedirectAttempt = \
-+  Can not get a WSDL maximum number of redirects(5) reached
---- old/src/share/classes/com/sun/tools/internal/ws/resources/wsdl.properties	Tue Aug  4 09:29:31 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/resources/wsdl.properties	Tue Aug  4 09:29:30 2009
-@@ -41,7 +41,6 @@
- parsing.unknownNamespacePrefix=undeclared namespace prefix: \"{0}\"
- parsing.invalidURI=invalid URI: {0}
- parsing.ioExceptionWithSystemId=failed to parse document at \"{0}\"
--parsing.unableToGetMetadata= Unable to get Metadata from: {0}
- parsing.ioException=parsing failed: {0}
- parsing.saxExceptionWithSystemId=invalid WSDL file! failed to parse document at \"{0}\"
- parsing.saxException=invalid WSDL file! parsing failed: {0}
-@@ -52,7 +51,7 @@
- parsing.missingRequiredAttribute=missing required attribute \"{1}\" of element \"{0}\"
- parsing.invalidTag=expected element \"{1}\", found \"{0}\"
- parsing.invalidTagNS=Invalid WSDL at {4}: expected element \"{2}\" (in namespace \"{3}\"), found element \"{0}\" (in namespace \"{1}\")
--parsing.nonWhitespaceTextFound=found unexpected non whitespace text: \"{0}\"
-+parsing.nonWhitespaceTextFound=found unexpected non-whitespace text: \"{0}\"
- parsing.elementExpected=unexpected non-element found
- #
- entity.duplicate=duplicate entity: \"{0}\"
-@@ -59,9 +58,9 @@
- entity.duplicateWithType=duplicate \"{0}\" entity: \"{1}\"
- 
- entity.notFoundByID=invalid entity id: \"{0}\"
--entity.notFoundByQName=invalid entity name: \"{0}\" (in namespace: \"{1}\")
--entity.notFound.portType=wsdl:portType \"{0}\" referenced by wsdl:binding \"{1}\", but its not found in the wsdl
--entity.notFound.binding=wsdl:binding \"{0}" referenced by wsdl:port \"{1}\", but its not found in the wsdl
-+entity.notFoundByQName={0} \"{1}\" not found in the wsdl: {2}
-+entity.notFound.portType=wsdl:portType \"{0}\" referenced by wsdl:binding \"{1}\", but it's not found in the wsdl
-+entity.notFound.binding=wsdl:binding \"{0}" referenced by wsdl:port \"{1}\", but it's not found in the wsdl
- 
- #
- validation.missingRequiredAttribute=missing required attribute \"{0}\" of element \"{1}\"
-@@ -71,7 +70,7 @@
- validation.invalidComplexTypeInElement=invalid element: \"{1}\", has named complexType: \"{0}\"
- validation.invalidSimpleTypeInElement=invalid element: \"{1}\", has named simpleType: \"{0}\"
- validation.duplicatedElement=duplicated element: \"{0}\"
--validation.duplicatePartName=Invalid WSDL, duplicate parts in a wsdl:message is not allowed. \nwsdl:message {0} has duplicated part name: \"{1}\"
-+validation.duplicatePartName=Invalid WSDL, duplicate parts in a wsdl:message is not allowed. \nwsdl:message {0} has a duplicated part name: \"{1}\"
- validation.invalidSubEntity=invalid sub-element \"{0}\" of element \"{1}\"
- validation.invalidAttribute=invalid attribute \"{0}\" of element \"{1}\"
- validation.invalidAttributeValue=invalid value \"{1}\" for attribute \"{0}\"
-@@ -88,51 +87,54 @@
- warning.inputOutputEmptyAction=ignoring empty Action in {0} element of \"{1}\" operation, using default instead
- 
- #wsi compliant WSDL warnings
--warning.wsi.r2001=Not a WSI-BP compliant WSDL (R2001, R2002). wsdl:import must only import WSDL document. Its trying to import: \"{0}\"
--warning.wsi.r2002=Not a WSI-BP compliant WSDL (R2002). wsdl:import must not be used to import XML Schema embedded in the WSDL document. Expected wsdl namesapce: {0}, found: {1}
--warning.wsi.r2003=Not a WSI-BP compliant WSDL (R2003). xsd:import must only be used inside xsd:schema element.
--warning.wsi.r2004=Not a WSI-BP compliant WSDL (R2001, R2004). xsd:import must not import XML Schema definition emmbedded inline within WSDLDocument.
-+warning.wsi.r2001=Not a WSI-BP compliant WSDL (R2001, R2002). wsdl:import must import only WSDL documents. It's trying to import: \"{0}\"
-+warning.wsi.r2002=Not a WSI-BP compliant WSDL (R2002). wsdl:import must not be used to import XML Schema embedded in the WSDL document. Expected wsdl namespace: {0}, found: {1}
-+warning.wsi.r2003=Not a WSI-BP compliant WSDL (R2003). xsd:import must only be used inside xsd:schema elements.
-+warning.wsi.r2004=Not a WSI-BP compliant WSDL (R2001, R2004). xsd:import must not import XML Schema definitions embedded inline within the WSDL document.
- 
- #Parser
- Parsing.ParseFailed = \
--	Failed to parse the WSDL.
-+\tFailed to parse the WSDL.
- 
- Parsing.NotAWSDL=Failed to get WSDL components, probably {0} is not a valid WSDL file.
- 
- AbstractReferenceFinderImpl.UnableToParse = \
--	Unable to parse "{0}" : {1}
-+\tUnable to parse "{0}" : {1}
- 
- Parser.NotABindingFile = \
--	not an external binding file. The root element must be '{'http://java.sun.com/xml/ns/jaxws'}'bindings but it is '{'{0}'}'{1}
-+\tnot an external binding file. The root element must be '{'http://java.sun.com/xml/ns/jaxws'}'bindings but it is '{'{0}'}'{1}
- 
- 
- #Internalizer
- Internalizer.TwoVersionAttributes = \
--	Both jaxws:version and version are present
-+\tBoth jaxws:version and version are present
- Internalizer.IncorrectVersion = \
--	JAXWS version attribute must be "2.0"
-+\tJAXWS version attribute must be "2.0"
- 
- Internalizer.VersionNotPresent = \
--	JAXWS version attribute must be present
-+\tJAXWS version attribute must be present
- 
- internalizer.targetNotAnElement= \
--    Target node is not an element
-+\tTarget node is not an element
- internalizer.targetNotFound= \
--    No target found for the wsdlLocation: {0}
-+\tNo target found for the wsdlLocation: {0}
- 
- Internalizer.IncorrectSchemaReference= \
--	"{0}" is not a part of this compilation. Is this a mistake for "{1}"?
-+\t"{0}" is not a part of this compilation. Is this a mistake for "{1}"?
- 
- internalizer.XPathEvaluationError = \
-     XPath error: {0}
- internalizer.XPathEvaluatesToNoTarget = \
--    XPath evaluation of "{0}" results in empty target node
-+    XPath evaluation of "{0}" results in an empty target node
- internalizer.XPathEvaulatesToTooManyTargets = \
-     XPath evaluation of "{0}" results in too many ({1}) target nodes
- internalizer.XPathEvaluatesToNonElement = \
-     XPath evaluation of "{0}" needs to result in an element.
--invalid.customization.namespace=Ignoring customization: \"{0}\", it has no namespace. It must belong to the customization namespace.    
-+invalid.customization.namespace=Ignoring customization: \"{0}\", because it has no namespace. It must belong to the customization namespace.
- 
- invalid.wsdl.with.dooc="Not a WSDL document: {0}, it gives \"{1}\", retrying with MEX..."
--invalid.wsdl="{0} does not look like a WSDL document, retrying with MEX..."
-- 
-+invalid.wsdl=Invalid WSDL {0}, expected {1} found {2} at (line {3})
-+try.with.mex= {0} \n\nretrying with MEX...
-+file.not.found={0} is unreachable
-+parsing.unableToGetMetadata= {0}\n\n{1}
-+failed.noservice=failed.noservice=Could not find wsdl:service in the provided WSDL(s): \n\n{0} At least one WSDL with at least one service definition needs to be provided.
---- old/src/share/classes/com/sun/tools/internal/ws/version.properties	Tue Aug  4 09:29:33 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/version.properties	Tue Aug  4 09:29:33 2009
-@@ -23,7 +23,7 @@
- # have any questions.
- #
- 
--build-id=JAX-WS RI 2.1.1
--build-version=JAX-WS RI 2.1.1
--major-version=2.1.1
-- 
-+#Fri May 15 16:16:14 CEST 2009
-+build-id=JAX-WS RI 2.1.6
-+major-version=2.1.6
-+build-version=JAX-WS RI 2.1.6
---- old/src/share/classes/com/sun/tools/internal/ws/wscompile/AbortException.java	Tue Aug  4 09:29:35 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/wscompile/AbortException.java	Tue Aug  4 09:29:35 2009
-@@ -24,7 +24,6 @@
-  */
- 
- 
--
- package com.sun.tools.internal.ws.wscompile;
- 
- /**
---- old/src/share/classes/com/sun/tools/internal/ws/wscompile/BadCommandLineException.java	Tue Aug  4 09:29:37 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/wscompile/BadCommandLineException.java	Tue Aug  4 09:29:37 2009
-@@ -24,7 +24,6 @@
-  */
- 
- 
--
- package com.sun.tools.internal.ws.wscompile;
- 
- import com.sun.istack.internal.Nullable;
---- old/src/share/classes/com/sun/tools/internal/ws/wscompile/ErrorReceiver.java	Tue Aug  4 09:29:39 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/wscompile/ErrorReceiver.java	Tue Aug  4 09:29:39 2009
-@@ -24,7 +24,6 @@
-  */
- 
- 
--
- package com.sun.tools.internal.ws.wscompile;
- 
- import com.sun.istack.internal.Nullable;
-@@ -126,6 +125,8 @@
-         info( new SAXParseException(msg,null) );
-     }
- 
-+    public abstract void debug(SAXParseException exception);
-+
- //
- //
- // convenience methods for derived classes
-@@ -145,7 +146,7 @@
-           return ModelMessages.CONSOLE_ERROR_REPORTER_LINE_X_OF_Y(line==-1?"?":Integer.toString( line ),
-               getShortName( e.getSystemId()));
-       } else {
--          return ModelMessages.CONSOLE_ERROR_REPORTER_UNKNOWN_LOCATION();
-+          return ""; //for unkown location just return empty string
-       }
-   }
- 
---- old/src/share/classes/com/sun/tools/internal/ws/wscompile/ErrorReceiverFilter.java	Tue Aug  4 09:29:42 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/wscompile/ErrorReceiverFilter.java	Tue Aug  4 09:29:41 2009
-@@ -24,7 +24,6 @@
-  */
- 
- 
--
- package com.sun.tools.internal.ws.wscompile;
- 
- import com.sun.tools.internal.xjc.api.ErrorListener;
-@@ -66,6 +65,10 @@
-         if(core!=null)  core.info(exception);
-     }
- 
-+    public void debug(SAXParseException exception) {
-+
-+    }
-+
-     public void warning(SAXParseException exception) {
-         if(core!=null)  core.warning(exception);
-     }
---- old/src/share/classes/com/sun/tools/internal/ws/wscompile/JavaCompilerHelper.java	Tue Aug  4 09:29:44 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/wscompile/JavaCompilerHelper.java	Tue Aug  4 09:29:43 2009
-@@ -35,6 +35,7 @@
- import java.lang.reflect.Method;
- import java.net.MalformedURLException;
- import java.net.URL;
-+import java.net.URISyntaxException;
- 
- /**
-  * A helper class to invoke javac.
-@@ -43,9 +44,10 @@
-  */
- class JavaCompilerHelper{
-     static File getJarFile(Class clazz) {
-+        URL url = null;
-         try {
--            URL url = ParallelWorldClassLoader.toJarUrl(clazz.getResource('/'+clazz.getName().replace('.','/')+".class"));
--            return new File(url.getPath());   // this code is assuming that url is a file URL
-+            url = ParallelWorldClassLoader.toJarUrl(clazz.getResource('/'+clazz.getName().replace('.','/')+".class"));
-+            return new File(url.toURI());
-         } catch (ClassNotFoundException e) {
-             // if we can't figure out where JAXB/JAX-WS API are, we couldn't have been executing this code.
-             throw new Error(e);
-@@ -52,6 +54,9 @@
-         } catch (MalformedURLException e) {
-             // if we can't figure out where JAXB/JAX-WS API are, we couldn't have been executing this code.
-             throw new Error(e);
-+        } catch (URISyntaxException e) {
-+            // url.toURI() is picky and doesn't like ' ' in URL, so this is the fallback
-+            return new File(url.getPath());
-         }
-     }
- 
---- old/src/share/classes/com/sun/tools/internal/ws/wscompile/Options.java	Tue Aug  4 09:29:46 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/wscompile/Options.java	Tue Aug  4 09:29:46 2009
-@@ -24,7 +24,6 @@
-  */
- 
- 
--
- package com.sun.tools.internal.ws.wscompile;
- 
- import com.sun.tools.internal.ws.resources.WscompileMessages;
-@@ -150,6 +149,10 @@
- 
- 
-     public boolean debug = false;
-+
-+    /**
-+     * -Xdebug - gives complete stack trace
-+     */
-     public boolean debugMode = false;
- 
- 
-@@ -206,7 +209,7 @@
-      * @exception BadCommandLineException
-      *      thrown when there's a problem in the command-line arguments
-      */
--    public final void parseArguments( String[] args ) throws BadCommandLineException {
-+    public void parseArguments( String[] args ) throws BadCommandLineException {
- 
-         for (int i = 0; i < args.length; i++) {
-             if(args[i].length()==0)
---- old/src/share/classes/com/sun/tools/internal/ws/wscompile/WsgenOptions.java	Tue Aug  4 09:29:48 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/wscompile/WsgenOptions.java	Tue Aug  4 09:29:48 2009
-@@ -24,18 +24,20 @@
-  */
- 
- 
--
- package com.sun.tools.internal.ws.wscompile;
- 
- import com.sun.mirror.apt.Filer;
- import com.sun.tools.internal.ws.resources.WscompileMessages;
-+import com.sun.tools.internal.ws.api.WsgenExtension;
-+import com.sun.tools.internal.ws.api.WsgenProtocol;
- import com.sun.xml.internal.ws.api.BindingID;
-+import com.sun.xml.internal.ws.util.ServiceFinder;
-+import com.sun.xml.internal.ws.binding.SOAPBindingImpl;
- 
- import javax.jws.WebService;
- import javax.xml.namespace.QName;
- import java.io.File;
--import java.util.ArrayList;
--import java.util.List;
-+import java.util.*;
- 
- /**
-  * @author Vivek Pandey
-@@ -66,8 +68,10 @@
-      * protocol value
-      */
-     public String protocol = "soap1.1";
--    public String transport;
- 
-+    public Set<String> protocols = new LinkedHashSet<String>();
-+    public Map<String, String> nonstdProtocols = new LinkedHashMap<String, String>();
-+
-     /**
-      * -XwsgenReport
-      */
-@@ -92,8 +96,22 @@
-     private static final String SOAP11 = "soap1.1";
-     public static final String X_SOAP12 = "Xsoap1.2";
- 
-+    public WsgenOptions() {
-+        protocols.add(SOAP11);
-+        protocols.add(X_SOAP12);
-+        nonstdProtocols.put(X_SOAP12, SOAPBindingImpl.X_SOAP12HTTP_BINDING);
-+        ServiceFinder<WsgenExtension> extn = ServiceFinder.find(WsgenExtension.class);
-+        for(WsgenExtension ext : extn) {
-+            Class clazz = ext.getClass();
-+            WsgenProtocol pro = (WsgenProtocol)clazz.getAnnotation(WsgenProtocol.class);
-+            protocols.add(pro.token());
-+            nonstdProtocols.put(pro.token(), pro.lexical());
-+        }
-+    }
-+
-     @Override
-     protected int parseArguments(String[] args, int i) throws BadCommandLineException {
-+
-         int j = super.parseArguments(args, i);
-         if (args[i].equals(SERVICENAME_OPTION)) {
-             serviceName = QName.valueOf(requireArgument(SERVICENAME_OPTION, args, ++i));
-@@ -132,10 +150,8 @@
-                 index = value.indexOf('/');
-                 if (index == -1) {
-                     protocol = value;
--                    transport = HTTP;
-                 } else {
-                     protocol = value.substring(0, index);
--                    transport = value.substring(index + 1);
-                 }
-                 protocolSet = true;
-             }
-@@ -168,13 +184,9 @@
-     public void validate() throws BadCommandLineException {
-         if(nonclassDestDir == null)
-             nonclassDestDir = destDir;
--        if (!protocol.equalsIgnoreCase(SOAP11) &&
--                !protocol.equalsIgnoreCase(X_SOAP12)) {
--            throw new BadCommandLineException(WscompileMessages.WSGEN_INVALID_PROTOCOL(protocol, SOAP11 + ", " + X_SOAP12));
--        }
- 
--        if (transport != null && !transport.equalsIgnoreCase(HTTP)) {
--            throw new BadCommandLineException(WscompileMessages.WSGEN_INVALID_TRANSPORT(transport, HTTP));
-+        if (!protocols.contains(protocol)) {
-+            throw new BadCommandLineException(WscompileMessages.WSGEN_INVALID_PROTOCOL(protocol, protocols));
-         }
- 
-         if (endpoints.isEmpty()) {
-@@ -184,6 +196,10 @@
-             throw new BadCommandLineException(WscompileMessages.WSGEN_SOAP_12_WITHOUT_EXTENSION());
-         }
- 
-+        if (nonstdProtocols.containsKey(protocol) && !isExtensionMode()) {
-+            throw new BadCommandLineException(WscompileMessages.WSGEN_PROTOCOL_WITHOUT_EXTENSION(protocol));
-+        }
-+
-         validateEndpointClass();
-         validateArguments();
-     }
-@@ -245,12 +261,13 @@
-         }
-     }
- 
--    public static BindingID getBindingID(String protocol) {
-+    BindingID getBindingID(String protocol) {
-         if (protocol.equals(SOAP11))
-             return BindingID.SOAP11_HTTP;
-         if (protocol.equals(X_SOAP12))
-             return BindingID.SOAP12_HTTP;
--        return null;
-+        String lexical = nonstdProtocols.get(protocol);
-+        return (lexical != null) ? BindingID.parse(lexical) : null;
-     }
- 
- 
---- old/src/share/classes/com/sun/tools/internal/ws/wscompile/WsgenTool.java	Tue Aug  4 09:29:50 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/wscompile/WsgenTool.java	Tue Aug  4 09:29:50 2009
-@@ -24,7 +24,6 @@
-  */
- 
- 
--
- package com.sun.tools.internal.ws.wscompile;
- 
- import com.sun.mirror.apt.AnnotationProcessor;
-@@ -32,6 +31,8 @@
- import com.sun.mirror.apt.AnnotationProcessorFactory;
- import com.sun.mirror.declaration.AnnotationTypeDeclaration;
- import com.sun.tools.internal.ws.ToolVersion;
-+import com.sun.tools.internal.ws.api.WsgenExtension;
-+import com.sun.tools.internal.ws.api.WsgenProtocol;
- import com.sun.tools.internal.ws.processor.modeler.annotation.AnnotationProcessorContext;
- import com.sun.tools.internal.ws.processor.modeler.annotation.WebServiceAP;
- import com.sun.tools.internal.ws.processor.modeler.wsdl.ConsoleErrorReporter;
-@@ -46,11 +47,13 @@
- import com.sun.xml.internal.ws.api.server.Container;
- import com.sun.xml.internal.ws.api.wsdl.writer.WSDLGeneratorExtension;
- import com.sun.xml.internal.ws.binding.WebServiceFeatureList;
-+import com.sun.xml.internal.ws.binding.SOAPBindingImpl;
- import com.sun.xml.internal.ws.model.AbstractSEIModelImpl;
- import com.sun.xml.internal.ws.model.RuntimeModeler;
- import com.sun.xml.internal.ws.util.ServiceFinder;
- import com.sun.xml.internal.ws.wsdl.writer.WSDLGenerator;
- import com.sun.xml.internal.ws.wsdl.writer.WSDLResolver;
-+import com.sun.istack.internal.tools.ParallelWorldClassLoader;
- import org.xml.sax.SAXParseException;
- 
- import javax.xml.bind.annotation.XmlSeeAlso;
-@@ -110,14 +113,16 @@
-                 return false;
-             }
-         }catch (Options.WeAreDone done){
--            usage(done.getOptions());
-+            usage((WsgenOptions)done.getOptions());
-         }catch (BadCommandLineException e) {
-             if(e.getMessage()!=null) {
-                 System.out.println(e.getMessage());
-                 System.out.println();
-             }
--            usage(e.getOptions());
-+            usage((WsgenOptions)e.getOptions());
-             return false;
-+        }catch(AbortException e){
-+            //error might have been reported
-         }finally{
-             if(!options.keep){
-                 options.removeGeneratedFiles();
-@@ -161,12 +166,27 @@
-         }
-     }
- 
-+    /*
-+     * To take care of JDK6-JDK6u3, where 2.1 API classes are not there
-+     */
-+    private static boolean useBootClasspath(Class clazz) {
-+        try {
-+            ParallelWorldClassLoader.toJarUrl(clazz.getResource('/'+clazz.getName().replace('.','/')+".class"));
-+            return true;
-+        } catch(Exception e) {
-+            return false;
-+        }
-+    }
-+
-+
-     public boolean buildModel(String endpoint, Listener listener) throws BadCommandLineException {
-         final ErrorReceiverFilter errReceiver = new ErrorReceiverFilter(listener);
-         context = new AnnotationProcessorContext();
-         webServiceAP = new WebServiceAP(options, context, errReceiver, out);
- 
--        String[] args = new String[9];
-+        boolean bootCP = useBootClasspath(EndpointReference.class) || useBootClasspath(XmlSeeAlso.class);
-+
-+        String[] args = new String[8 + (bootCP ? 1 :0)];
-         args[0] = "-d";
-         args[1] = options.destDir.getAbsolutePath();
-         args[2] = "-classpath";
-@@ -175,7 +195,9 @@
-         args[5] = options.sourceDir.getAbsolutePath();
-         args[6] = "-XclassesAsDecls";
-         args[7] = endpoint;
--        args[8] = "-Xbootclasspath/p:"+JavaCompilerHelper.getJarFile(EndpointReference.class)+File.pathSeparator+JavaCompilerHelper.getJarFile(XmlSeeAlso.class);
-+        if (bootCP) {
-+            args[8] = "-Xbootclasspath/p:"+JavaCompilerHelper.getJarFile(EndpointReference.class)+File.pathSeparator+JavaCompilerHelper.getJarFile(XmlSeeAlso.class);
-+        }
- 
-         // Workaround for bug 6499165: issue with javac debug option
-         workAroundJavacDebug();
-@@ -195,11 +217,12 @@
-                 throw new BadCommandLineException(WscompileMessages.WSGEN_CLASS_NOT_FOUND(endpoint));
-             }
- 
--            BindingID bindingID = WsgenOptions.getBindingID(options.protocol);
-+            BindingID bindingID = options.getBindingID(options.protocol);
-             if (!options.protocolSet) {
-                 bindingID = BindingID.parse(endpointClass);
-             }
--            RuntimeModeler rtModeler = new RuntimeModeler(endpointClass, options.serviceName, bindingID);
-+            WebServiceFeatureList wsfeatures = new WebServiceFeatureList(endpointClass);
-+            RuntimeModeler rtModeler = new RuntimeModeler(endpointClass, options.serviceName, bindingID, wsfeatures.toArray());
-             rtModeler.setClassLoader(classLoader);
-             if (options.portName != null)
-                 rtModeler.setPortName(options.portName);
-@@ -207,7 +230,7 @@
- 
-             final File[] wsdlFileName = new File[1]; // used to capture the generated WSDL file.
-             final Map<String,File> schemaFiles = new HashMap<String,File>();
--            WebServiceFeatureList wsfeatures = new WebServiceFeatureList(endpointClass);
-+
-             WSDLGenerator wsdlGenerator = new WSDLGenerator(rtModel,
-                     new WSDLResolver() {
-                         private File toFile(String suggestedFilename) {
-@@ -327,8 +350,12 @@
-         }
-     }
- 
--    protected void usage(Options options) {
--        System.out.println(WscompileMessages.WSGEN_HELP("WSGEN"));
-+    protected void usage(WsgenOptions options) {
-+        // Just don't see any point in passing WsgenOptions
-+        // BadCommandLineException also shouldn't have options
-+        if (options == null)
-+            options = this.options;
-+        System.out.println(WscompileMessages.WSGEN_HELP("WSGEN", options.protocols, options.nonstdProtocols.keySet()));
-         System.out.println(WscompileMessages.WSGEN_USAGE_EXAMPLES());
-     }
- 
---- old/src/share/classes/com/sun/tools/internal/ws/wscompile/WsimportListener.java	Tue Aug  4 09:29:53 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/wscompile/WsimportListener.java	Tue Aug  4 09:29:52 2009
-@@ -24,7 +24,6 @@
-  */
- 
- 
--
- package com.sun.tools.internal.ws.wscompile;
- 
- import com.sun.tools.internal.xjc.api.ErrorListener;
-@@ -75,6 +74,8 @@
- 
-     }
- 
-+    public void debug(SAXParseException exception){}
-+
-     /**
-      * wsimport will periodically invoke this method to see if it should cancel a compilation.
-      *
---- old/src/share/classes/com/sun/tools/internal/ws/wscompile/WsimportOptions.java	Tue Aug  4 09:29:55 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/wscompile/WsimportOptions.java	Tue Aug  4 09:29:54 2009
-@@ -24,7 +24,6 @@
-  */
- 
- 
--
- package com.sun.tools.internal.ws.wscompile;
- 
- import com.sun.codemodel.internal.JCodeModel;
-@@ -50,6 +49,7 @@
- import javax.xml.stream.XMLStreamReader;
- import java.io.File;
- import java.io.IOException;
-+import java.net.Authenticator;
- import java.net.MalformedURLException;
- import java.net.URL;
- import java.util.ArrayList;
-@@ -78,11 +78,27 @@
-     public String defaultPackage = null;
- 
-     /**
-+     * -XadditionalHeaders
-+     */
-+    public boolean additionalHeaders;
-+
-+    /**
-+     * Setting disableSSLHostVerification to true disables the SSL Hostname verification while fetching the wsdls.
-+     * -XdisableSSLHostVerification
-+     */
-+    public boolean disableSSLHostnameVerification;
-+
-+    /**
-      * JAXB's {@link SchemaCompiler} to be used for handling the schema portion.
-      * This object is also configured through options.
-      */
-     private SchemaCompiler schemaCompiler = XJC.createSchemaCompiler();
- 
-+    /**
-+     * Authentication file
-+     */
-+    public File authFile;
-+
-     public JCodeModel getCodeModel() {
-         if(codeModel == null)
-             codeModel = new JCodeModel();
-@@ -101,6 +117,50 @@
- 
-     private JCodeModel codeModel;
- 
-+    /**
-+     * This captures jars passed on the commandline and passes them to XJC and puts them in the classpath for compilation
-+     */
-+    public List<String> cmdlineJars = new ArrayList<String>();
-+
-+    /**
-+     * Parses arguments and fill fields of this object.
-+     *
-+     * @exception BadCommandLineException
-+     *      thrown when there's a problem in the command-line arguments
-+     */
-+    @Override
-+    public final void parseArguments( String[] args ) throws BadCommandLineException {
-+
-+        for (int i = 0; i < args.length; i++) {
-+            if(args[i].length()==0)
-+                throw new BadCommandLineException();
-+            if (args[i].charAt(0) == '-') {
-+                int j = parseArguments(args,i);
-+                if(j==0)
-+                    throw new BadCommandLineException(WscompileMessages.WSCOMPILE_INVALID_OPTION(args[i]));
-+                i += (j-1);
-+            } else {
-+                if(args[i].endsWith(".jar")) {
-+
-+                    try {
-+                cmdlineJars.add(args[i]);
-+                schemaCompiler.getOptions().scanEpisodeFile(new File(args[i]));
-+
-+            } catch (com.sun.tools.internal.xjc.BadCommandLineException e) {
-+                //Driver.usage(jaxbOptions,false);
-+                throw new BadCommandLineException(e.getMessage(), e);
-+            }
-+                } else{
-+                    addFile(args[i]);
-+                }
-+            }
-+        }
-+        if(destDir == null)
-+            destDir = new File(".");
-+        if(sourceDir == null)
-+            sourceDir = destDir;
-+    }
-+
-     /** -Xno-addressing-databinding option to disable addressing namespace data binding. This is
-      * experimental switch and will be working as a temporary workaround till
-      * jaxb can provide a better way to selelctively disable compiling of an
-@@ -119,6 +179,12 @@
-         } else if (args[i].equals("-wsdllocation")) {
-             wsdlLocation = requireArgument("-wsdllocation", args, ++i);
-             return 2;
-+        } else if (args[i].equals("-XadditionalHeaders")) {
-+            additionalHeaders = true;
-+            return 1;
-+        } else if (args[i].equals("-XdisableSSLHostnameVerification")) {
-+            disableSSLHostnameVerification = true;
-+            return 1;
-         } else if (args[i].equals("-p")) {
-             defaultPackage = requireArgument("-p", args, ++i);
-             return 2;
-@@ -173,6 +239,10 @@
-                 //Driver.usage(jaxbOptions,false);
-                 throw new BadCommandLineException(e.getMessage(),e);
-             }
-+        } else if (args[i].equals("-Xauthfile")) {
-+            String authfile = requireArgument("-Xauthfile", args, ++i);
-+            authFile = new File(authfile);
-+            return 2;
-         }
- 
-         return 0; // what's this option?
-@@ -182,12 +252,12 @@
-         if (wsdls.isEmpty()) {
-             throw new BadCommandLineException(WscompileMessages.WSIMPORT_MISSING_FILE());
-         }
-+
-         if(wsdlLocation == null){
-             wsdlLocation = wsdls.get(0).getSystemId();
-         }
-     }
- 
--
-     @Override
-     protected void addFile(String arg) throws BadCommandLineException {
-         addFile(arg, wsdls, "*.wsdl");
-@@ -360,5 +430,4 @@
-             }
-         }
-     }
--
- }
---- old/src/share/classes/com/sun/tools/internal/ws/wscompile/WsimportTool.java	Tue Aug  4 09:29:57 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/wscompile/WsimportTool.java	Tue Aug  4 09:29:57 2009
-@@ -24,7 +24,6 @@
-  */
- 
- 
--
- package com.sun.tools.internal.ws.wscompile;
- 
- import com.sun.codemodel.internal.CodeWriter;
-@@ -42,6 +41,7 @@
- import com.sun.tools.internal.xjc.util.NullStream;
- import com.sun.xml.internal.ws.api.server.Container;
- import com.sun.xml.internal.ws.util.ServiceFinder;
-+import com.sun.istack.internal.tools.ParallelWorldClassLoader;
- import org.xml.sax.EntityResolver;
- import org.xml.sax.SAXParseException;
- 
-@@ -53,6 +53,7 @@
- import java.io.PrintStream;
- import java.util.ArrayList;
- import java.util.List;
-+import java.net.Authenticator;
- 
- /**
-  * @author Vivek Pandey
-@@ -76,7 +77,6 @@
-         this.container = container;
-     }
- 
--
-     public boolean run(String[] args) {
-         class Listener extends WsimportListener {
-             ConsoleErrorReporter cer = new ConsoleErrorReporter(out == null ? new PrintStream(new NullStream()) : out);
-@@ -107,6 +107,11 @@
-             }
- 
-             @Override
-+            public void debug(SAXParseException exception) {
-+                cer.debug(exception);
-+            }
-+
-+            @Override
-             public void info(SAXParseException exception) {
-                 cer.info(exception);
-             }
-@@ -132,6 +137,13 @@
-                 if (listener.isCanceled())
-                     throw new AbortException();
-             }
-+
-+            @Override
-+            public void debug(SAXParseException exception){
-+                if(options.debugMode){
-+                    listener.debug(exception);
-+                }
-+            }
-         };
- 
-         for (String arg : args) {
-@@ -151,6 +163,11 @@
-                 if( !options.quiet )
-                     listener.message(WscompileMessages.WSIMPORT_PARSING_WSDL());
- 
-+                //set auth info
-+                //if(options.authFile != null)
-+                    Authenticator.setDefault(new DefaultAuthenticator(receiver, options.authFile));
-+
-+
-                 WSDLModeler wsdlModeler = new WSDLModeler(options, receiver);
-                 Model wsdlModel = wsdlModeler.buildModel();
-                 if (wsdlModel == null) {
-@@ -165,10 +182,13 @@
-                 TJavaGeneratorExtension[] genExtn = ServiceFinder.find(TJavaGeneratorExtension.class).toArray();
-                 CustomExceptionGenerator.generate(wsdlModel,  options, receiver);
-                 SeiGenerator.generate(wsdlModel, options, receiver, genExtn);
-+                if(receiver.hadError()){
-+                    throw new AbortException();
-+                }
-                 ServiceGenerator.generate(wsdlModel, options, receiver);
-                 CodeWriter cw = new WSCodeWriter(options.sourceDir, options);
-                 if (options.verbose)
--                    cw = new ProgressCodeWriter(cw, System.out);
-+                    cw = new ProgressCodeWriter(cw, out);
-                 options.getCodeModel().build(cw);
-             } catch(AbortException e){
-                 //error might have been reported
-@@ -177,7 +197,7 @@
-             }
- 
-             if (!options.nocompile){
--                if(!compileGeneratedClasses(receiver)){
-+                if(!compileGeneratedClasses(receiver, listener)){
-                     listener.message(WscompileMessages.WSCOMPILE_COMPILATION_FAILED());
-                     return false;
-                 }
-@@ -204,7 +224,20 @@
-         this.options.entityResolver = resolver;
-     }
- 
--    protected boolean compileGeneratedClasses(ErrorReceiver receiver){
-+    /*
-+     * To take care of JDK6-JDK6u3, where 2.1 API classes are not there
-+     */
-+    private static boolean useBootClasspath(Class clazz) {
-+        try {
-+            ParallelWorldClassLoader.toJarUrl(clazz.getResource('/'+clazz.getName().replace('.','/')+".class"));
-+            return true;
-+        } catch(Exception e) {
-+            return false;
-+        }
-+    }
-+
-+
-+    protected boolean compileGeneratedClasses(ErrorReceiver receiver, WsimportListener listener){
-         List<String> sourceFiles = new ArrayList<String>();
- 
-         for (File f : options.getGeneratedFiles()) {
-@@ -216,14 +249,18 @@
-         if (sourceFiles.size() > 0) {
-             String classDir = options.destDir.getAbsolutePath();
-             String classpathString = createClasspathString();
--            String[] args = new String[5 + (options.debug ? 1 : 0)
-+            boolean bootCP = useBootClasspath(EndpointReference.class) || useBootClasspath(XmlSeeAlso.class);
-+            String[] args = new String[4 + (bootCP ? 1 : 0) + (options.debug ? 1 : 0)
-                     + sourceFiles.size()];
-             args[0] = "-d";
-             args[1] = classDir;
-             args[2] = "-classpath";
-             args[3] = classpathString;
--            args[4] = "-Xbootclasspath/p:"+JavaCompilerHelper.getJarFile(EndpointReference.class)+File.pathSeparator+JavaCompilerHelper.getJarFile(XmlSeeAlso.class);
--            int baseIndex = 5;
-+            int baseIndex = 4;
-+            if (bootCP) {
-+                args[baseIndex++] = "-Xbootclasspath/p:"+JavaCompilerHelper.getJarFile(EndpointReference.class)+File.pathSeparator+JavaCompilerHelper.getJarFile(XmlSeeAlso.class);
-+            }
-+
-             if (options.debug) {
-                 args[baseIndex++] = "-g";
-             }
-@@ -231,6 +268,15 @@
-                 args[baseIndex + i] = sourceFiles.get(i);
-             }
- 
-+            listener.message(WscompileMessages.WSIMPORT_COMPILING_CODE());
-+            if(options.verbose){
-+                StringBuffer argstr = new StringBuffer();
-+                for(String arg:args){
-+                    argstr.append(arg).append(" ");
-+                }
-+                listener.message("javac "+ argstr.toString());
-+            }
-+
-             return JavaCompilerHelper.compile(args, out, receiver);
-         }
-         //there are no files to compile, so return true?
-@@ -238,11 +284,16 @@
-     }
- 
-     private String createClasspathString() {
--        return System.getProperty("java.class.path");
-+        String classpathStr = System.getProperty("java.class.path");
-+        for(String s: options.cmdlineJars) {
-+            classpathStr = classpathStr+File.pathSeparator+new File(s);
-+        }
-+        return classpathStr;
-     }
- 
-     protected void usage(Options options) {
-         System.out.println(WscompileMessages.WSIMPORT_HELP(WSIMPORT));
-+        System.out.println(WscompileMessages.WSIMPORT_USAGE_EXTENSIONS());
-         System.out.println(WscompileMessages.WSIMPORT_USAGE_EXAMPLES());
-     }
- }
---- old/src/share/classes/com/sun/tools/internal/ws/wsdl/document/Message.java	Tue Aug  4 09:29:59 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/wsdl/document/Message.java	Tue Aug  4 09:29:59 2009
-@@ -53,8 +53,11 @@
-             throw new AbortException();
-         }
- 
--        _partsByName.put(part.getName(), part);
--        _parts.add(part);
-+        if(part.getDescriptor() != null && part.getDescriptorKind() != null) {
-+            _partsByName.put(part.getName(), part);
-+            _parts.add(part);
-+        } else
-+            errorReceiver.warning(part.getLocator(), WsdlMessages.PARSING_ELEMENT_OR_TYPE_REQUIRED(part.getName()));
-     }
- 
-     public Iterator<MessagePart> parts() {
---- old/src/share/classes/com/sun/tools/internal/ws/wsdl/document/jaxws/JAXWSBinding.java	Tue Aug  4 09:30:02 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/wsdl/document/jaxws/JAXWSBinding.java	Tue Aug  4 09:30:01 2009
-@@ -232,15 +232,6 @@
-         this.isProvider = isProvider;
-     }
- 
--    /* (non-Javadoc)
--     * @see Entity#getProperty(java.lang.String)
--     */
--    public Object getProperty(String key) {
--        if(key.equals(JAXWSBindingsConstants.JAXB_BINDINGS))
--            return jaxbBindings;
--        return null;
--    }
--
-     /**
-      * @return Returns the methodName.
-      */
---- old/src/share/classes/com/sun/tools/internal/ws/wsdl/framework/AbstractDocument.java	Tue Aug  4 09:30:04 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/wsdl/framework/AbstractDocument.java	Tue Aug  4 09:30:03 2009
-@@ -134,26 +134,11 @@
-         }
-     }
- 
--    public void undefine(GloballyKnown e) {
--        Map map = getMap(e.getKind());
--        if (e.getName() == null)
--            return;
--        QName name =
--            new QName(e.getDefining().getTargetNamespaceURI(), e.getName());
--
--        if (map.containsKey(name)){
--            errReceiver.error(e.getLocator(), WsdlMessages.ENTITY_NOT_FOUND_BY_Q_NAME(e.getElementName().getLocalPart(), e.getElementName().getNamespaceURI()));
--            throw new AbortException();
--        } else{
--            map.remove(name);
--        }
--    }
--
-     public GloballyKnown find(Kind k, QName name) {
-         Map map = getMap(k);
-         Object result = map.get(name);
-         if (result == null){
--            errReceiver.error(new LocatorImpl(), WsdlMessages.ENTITY_NOT_FOUND_BY_Q_NAME(name.getLocalPart(), name.getNamespaceURI()));
-+            errReceiver.error(null, WsdlMessages.ENTITY_NOT_FOUND_BY_Q_NAME(k.getName(), name, _systemId));
-             throw new AbortException();
-         }
-         return (GloballyKnown) result;
---- old/src/share/classes/com/sun/tools/internal/ws/wsdl/parser/AbstractReferenceFinderImpl.java	Tue Aug  4 09:30:06 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/wsdl/parser/AbstractReferenceFinderImpl.java	Tue Aug  4 09:30:06 2009
-@@ -24,7 +24,6 @@
-  */
- 
- 
--
- package com.sun.tools.internal.ws.wsdl.parser;
- 
- import com.sun.istack.internal.SAXParseException2;
---- old/src/share/classes/com/sun/tools/internal/ws/wsdl/parser/DOMBuilder.java	Tue Aug  4 09:30:08 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/wsdl/parser/DOMBuilder.java	Tue Aug  4 09:30:08 2009
-@@ -24,7 +24,6 @@
-  */
- 
- 
--
- package com.sun.tools.internal.ws.wsdl.parser;
- 
- import com.sun.tools.internal.ws.wsdl.document.jaxws.JAXWSBindingsConstants;
---- old/src/share/classes/com/sun/tools/internal/ws/wsdl/parser/DOMForest.java	Tue Aug  4 09:30:10 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/wsdl/parser/DOMForest.java	Tue Aug  4 09:30:10 2009
-@@ -24,22 +24,23 @@
-  */
- 
- 
--
- package com.sun.tools.internal.ws.wsdl.parser;
- 
-+import com.sun.istack.internal.NotNull;
-+import com.sun.tools.internal.ws.resources.WscompileMessages;
-+import com.sun.tools.internal.ws.wscompile.AbortException;
-+import com.sun.tools.internal.ws.wscompile.DefaultAuthenticator;
- import com.sun.tools.internal.ws.wscompile.ErrorReceiver;
- import com.sun.tools.internal.ws.wscompile.WsimportOptions;
- import com.sun.tools.internal.ws.wsdl.document.schema.SchemaConstants;
--import com.sun.tools.internal.ws.resources.WscompileMessages;
- import com.sun.tools.internal.xjc.reader.internalizer.LocatorTable;
- import com.sun.xml.internal.bind.marshaller.DataWriter;
-+import com.sun.xml.internal.ws.util.JAXWSUtils;
- import org.w3c.dom.Document;
- import org.w3c.dom.Element;
- import org.w3c.dom.NodeList;
- import org.xml.sax.ContentHandler;
--import org.xml.sax.InputSource;
--import org.xml.sax.SAXException;
--import org.xml.sax.XMLReader;
-+import org.xml.sax.*;
- import org.xml.sax.helpers.XMLFilterImpl;
- 
- import javax.xml.parsers.DocumentBuilder;
-@@ -51,17 +52,15 @@
- import javax.xml.transform.TransformerFactory;
- import javax.xml.transform.dom.DOMSource;
- import javax.xml.transform.sax.SAXResult;
-+import javax.net.ssl.HttpsURLConnection;
-+import javax.net.ssl.HostnameVerifier;
-+import javax.net.ssl.SSLSession;
- import java.io.IOException;
-+import java.io.InputStream;
- import java.io.OutputStream;
- import java.io.OutputStreamWriter;
--import java.net.URI;
--import java.net.URISyntaxException;
--import java.util.ArrayList;
--import java.util.HashMap;
--import java.util.HashSet;
--import java.util.List;
--import java.util.Map;
--import java.util.Set;
-+import java.net.*;
-+import java.util.*;
- 
- /**
-  * @author Vivek Pandey
-@@ -134,10 +133,9 @@
-         return inlinedSchemaElements;
-     }
- 
--    public Document parse(InputSource source, boolean root) throws SAXException {
-+    public @NotNull Document parse(InputSource source, boolean root) throws SAXException, IOException {
-         if (source.getSystemId() == null)
-             throw new IllegalArgumentException();
--
-         return parse(source.getSystemId(), source, root);
-     }
- 
-@@ -148,7 +146,7 @@
-      *
-      * @return the parsed DOM document object.
-      */
--    public Document parse(String systemId, boolean root) throws SAXException, IOException {
-+    public Document parse(String systemId, boolean root) throws SAXException, IOException{
- 
-         systemId = normalizeSystemId(systemId);
- 
-@@ -179,13 +177,11 @@
-      *
-      * @return null if there was a parse error. otherwise non-null.
-      */
--    public Document parse(String systemId, InputSource inputSource, boolean root) throws SAXException {
-+    public @NotNull Document parse(String systemId, InputSource inputSource, boolean root) throws SAXException, IOException{
-         Document dom = documentBuilder.newDocument();
- 
-         systemId = normalizeSystemId(systemId);
- 
--        boolean retryMex = false;
--        Exception exception = null;
-         // put into the map before growing a tree, to
-         // prevent recursive reference from causing infinite loop.
-         core.put(systemId, dom);
-@@ -201,8 +197,70 @@
-                 reader.setErrorHandler(errorReceiver);
-             if (options.entityResolver != null)
-                 reader.setEntityResolver(options.entityResolver);
-+
-+            InputStream is = null;
-+            if(inputSource.getByteStream() != null){
-+                is = inputSource.getByteStream();
-+            }
-+            if(is == null){
-+                int redirects=0;
-+                boolean redirect;
-+                URL url = JAXWSUtils.getFileOrURL(inputSource.getSystemId());
-+                URLConnection conn = url.openConnection();
-+                if (conn instanceof HttpsURLConnection) {
-+                    if (options.disableSSLHostnameVerification) {
-+                        ((HttpsURLConnection) conn).setHostnameVerifier(new HttpClientVerifier());
-+                    }
-+                }
-+
-+                do {
-+                    redirect = false;
-+                    try {
-+                        is = conn.getInputStream();
-+                        //is = sun.net.www.protocol.http.HttpURLConnection.openConnectionCheckRedirects(conn);
-+                    } catch (IOException e) {
-+                        if (conn instanceof HttpURLConnection) {
-+                            HttpURLConnection httpConn = ((HttpURLConnection) conn);
-+                            int code = httpConn.getResponseCode();
-+                            if (code == 401) {
-+                                errorReceiver.error(new SAXParseException(WscompileMessages.WSIMPORT_AUTH_INFO_NEEDED(e.getMessage(), systemId, DefaultAuthenticator.defaultAuthfile), null, e));
-+                                throw new AbortException();
-+                            }
-+                            //FOR other code we will retry with MEX
-+                        }
-+                        throw e;
-+                    }
-+
-+                    //handle 302 or 303, JDK does not seem to handle 302 very well.
-+                    //Need to redesign this a bit as we need to throw better error message for IOException in this case
-+                    if (conn instanceof HttpURLConnection) {
-+                        HttpURLConnection httpConn = ((HttpURLConnection) conn);
-+                        int code = httpConn.getResponseCode();
-+                        if (code == 302 || code == 303) {
-+                            //retry with the value in Location header
-+                            List<String> seeOther = httpConn.getHeaderFields().get("Location");
-+                            if (seeOther != null && seeOther.size() > 0) {
-+                                URL newurl = new URL(url, seeOther.get(0));
-+                                if (!newurl.equals(url)){
-+                                    errorReceiver.info(new SAXParseException(WscompileMessages.WSIMPORT_HTTP_REDIRECT(code, seeOther.get(0)), null));
-+                                    url = newurl;
-+                                    httpConn.disconnect();
-+                                    if(redirects >= 5){
-+                                        errorReceiver.error(new SAXParseException(WscompileMessages.WSIMPORT_MAX_REDIRECT_ATTEMPT(), null));
-+                                        throw new AbortException();
-+                                    }
-+                                    conn = url.openConnection();
-+                                    redirects++;
-+                                    redirect = true;
-+                                }
-+                            }
-+                        }
-+                    }
-+                } while (redirect);
-+            }
-+            inputSource.setByteStream(is);
-             reader.parse(inputSource);
--             Element doc = dom.getDocumentElement();
-+            Element doc = dom.getDocumentElement();
-             if (doc == null) {
-                 return null;
-             }
-@@ -211,18 +269,10 @@
-                 inlinedSchemaElements.add((Element) schemas.item(i));
-             }
-         } catch (ParserConfigurationException e) {
--            exception = e;
--        } catch (IOException e) {
--            exception = e;
--        } catch (SAXException e) {
--            exception = e;
-+            errorReceiver.error(e);
-+            throw new SAXException(e.getMessage());
-         }
- 
--        if (exception != null) {
--            errorReceiver.error(WscompileMessages.WSIMPORT_NO_WSDL(systemId), exception);
--            core.remove(systemId);
--            rootDocuments.remove(systemId);
--        }
-         return dom;
-     }
- 
-@@ -236,6 +286,14 @@
-         return externalReferences;
-     }
- 
-+    // overide default SSL HttpClientVerifier to always return true
-+    // effectively overiding Hostname client verification when using SSL
-+    private static class HttpClientVerifier implements HostnameVerifier {
-+        public boolean verify(String s, SSLSession sslSession) {
-+            return true;
-+        }
-+    }
-+
-     public interface Handler extends ContentHandler {
-         /**
-          * Gets the DOM that was built.
---- old/src/share/classes/com/sun/tools/internal/ws/wsdl/parser/DOMForestScanner.java	Tue Aug  4 09:30:13 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/wsdl/parser/DOMForestScanner.java	Tue Aug  4 09:30:12 2009
-@@ -24,7 +24,6 @@
-  */
- 
- 
--
- package com.sun.tools.internal.ws.wsdl.parser;
- 
- import com.sun.xml.internal.bind.unmarshaller.DOMScanner;
---- old/src/share/classes/com/sun/tools/internal/ws/wsdl/parser/InternalizationLogic.java	Tue Aug  4 09:30:15 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/wsdl/parser/InternalizationLogic.java	Tue Aug  4 09:30:14 2009
-@@ -24,7 +24,6 @@
-  */
- 
- 
--
- package com.sun.tools.internal.ws.wsdl.parser;
- 
- import org.w3c.dom.Element;
---- old/src/share/classes/com/sun/tools/internal/ws/wsdl/parser/Internalizer.java	Tue Aug  4 09:30:17 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/wsdl/parser/Internalizer.java	Tue Aug  4 09:30:17 2009
-@@ -33,9 +33,14 @@
- import com.sun.tools.internal.ws.wsdl.document.jaxws.JAXWSBindingsConstants;
- import com.sun.tools.internal.xjc.util.DOMUtils;
- import com.sun.xml.internal.bind.v2.util.EditDistance;
--import com.sun.xml.internal.ws.util.JAXWSUtils;
- import com.sun.xml.internal.ws.util.DOMUtil;
--import org.w3c.dom.*;
-+import com.sun.xml.internal.ws.util.JAXWSUtils;
-+import org.w3c.dom.Attr;
-+import org.w3c.dom.Document;
-+import org.w3c.dom.Element;
-+import org.w3c.dom.NamedNodeMap;
-+import org.w3c.dom.Node;
-+import org.w3c.dom.NodeList;
- import org.xml.sax.SAXParseException;
- 
- import javax.xml.namespace.NamespaceContext;
-@@ -45,11 +50,17 @@
- import javax.xml.xpath.XPathFactory;
- import java.net.MalformedURLException;
- import java.net.URL;
--import java.util.*;
-+import java.util.ArrayList;
-+import java.util.HashMap;
-+import java.util.HashSet;
-+import java.util.Iterator;
-+import java.util.Map;
-+import java.util.Set;
- 
- 
- /**
-  * Internalizes external binding declarations.
-+ *
-  * @author Vivek Pandey
-  */
- public class Internalizer {
-@@ -66,13 +77,13 @@
-         this.errorReceiver = errorReceiver;
-     }
- 
--    public void transform(){
--        Map<Element,Node> targetNodes = new HashMap<Element,Node>();
--        for(Element jaxwsBinding : forest.outerMostBindings){
--            buildTargetNodeMap(jaxwsBinding, jaxwsBinding, targetNodes );
-+    public void transform() {
-+        Map<Element, Node> targetNodes = new HashMap<Element, Node>();
-+        for (Element jaxwsBinding : forest.outerMostBindings) {
-+            buildTargetNodeMap(jaxwsBinding, jaxwsBinding, targetNodes);
-         }
--        for(Element jaxwsBinding : forest.outerMostBindings){
--            move(jaxwsBinding, targetNodes );
-+        for (Element jaxwsBinding : forest.outerMostBindings) {
-+            move(jaxwsBinding, targetNodes);
-         }
-     }
- 
-@@ -79,15 +90,15 @@
-     /**
-      * Validates attributes of a &lt;JAXWS:bindings> element.
-      */
--    private void validate( Element bindings ) {
-+    private void validate(Element bindings) {
-         NamedNodeMap atts = bindings.getAttributes();
--        for( int i=0; i<atts.getLength(); i++ ) {
--            Attr a = (Attr)atts.item(i);
--            if( a.getNamespaceURI()!=null )
-+        for (int i = 0; i < atts.getLength(); i++) {
-+            Attr a = (Attr) atts.item(i);
-+            if (a.getNamespaceURI() != null)
-                 continue;   // all foreign namespace OK.
--            if( a.getLocalName().equals("node") )
-+            if (a.getLocalName().equals("node"))
-                 continue;
--            if( a.getLocalName().equals("wsdlLocation"))
-+            if (a.getLocalName().equals("wsdlLocation"))
-                 continue;
- 
-             // TODO: flag error for this undefined attribute
-@@ -99,7 +110,7 @@
-      * by using the inherited target node, then put
-      * the result into the "result" map.
-      */
--    private void buildTargetNodeMap( Element bindings, Node inheritedTarget, Map<Element, Node> result ) {
-+    private void buildTargetNodeMap(Element bindings, Node inheritedTarget, Map<Element, Node> result) {
-         // start by the inherited target
-         Node target = inheritedTarget;
- 
-@@ -106,22 +117,27 @@
-         validate(bindings); // validate this node
- 
-         // look for @wsdlLocation
--        if( bindings.getAttributeNode("wsdlLocation")!=null ) {
--            String wsdlLocation = bindings.getAttribute("wsdlLocation");
-+        if (isTopLevelBinding(bindings)) {
-+            String wsdlLocation;
-+            if (bindings.getAttributeNode("wsdlLocation") != null) {
-+                wsdlLocation = bindings.getAttribute("wsdlLocation");
- 
--            try {
--                // absolutize this URI.
--                // TODO: use the URI class
--                // TODO: honor xml:base
--                wsdlLocation = new URL(new URL(forest.getSystemId(bindings.getOwnerDocument())),
--                        wsdlLocation ).toExternalForm();
--            } catch( MalformedURLException e ) {
--                wsdlLocation = JAXWSUtils.absolutize(JAXWSUtils.getFileOrURLName(wsdlLocation));
-+                try {
-+                    // absolutize this URI.
-+                    // TODO: use the URI class
-+                    // TODO: honor xml:base
-+                    wsdlLocation = new URL(new URL(forest.getSystemId(bindings.getOwnerDocument())),
-+                            wsdlLocation).toExternalForm();
-+                } catch (MalformedURLException e) {
-+                    wsdlLocation = JAXWSUtils.absolutize(JAXWSUtils.getFileOrURLName(wsdlLocation));
-+                }
-+            } else {
-+                //the node does not have
-+                wsdlLocation = forest.getFirstRootDocument();
-             }
--
--            //target = wsdlDocuments.get(wsdlLocation);
-             target = forest.get(wsdlLocation);
--            if(target==null) {
-+
-+            if (target == null) {
-                 reportError(bindings, WsdlMessages.INTERNALIZER_INCORRECT_SCHEMA_REFERENCE(wsdlLocation, EditDistance.findNearest(wsdlLocation, forest.listSystemIDs())));
-                 return; // abort processing this <JAXWS:bindings>
-             }
-@@ -134,7 +150,7 @@
-         if (element != null && element.getNamespaceURI().equals(Constants.NS_WSDL) && element.getLocalName().equals("definitions")) {
-             //get all schema elements
-             Element type = DOMUtils.getFirstChildElement(element, Constants.NS_WSDL, "types");
--            if(type != null){
-+            if (type != null) {
-                 for (Element schemaElement : DOMUtils.getChildElements(type, Constants.NS_XSD, "schema")) {
-                     if (!schemaElement.hasAttributeNS(Constants.NS_XMLNS, "jaxb")) {
-                         schemaElement.setAttributeNS(Constants.NS_XMLNS, "xmlns:jaxb", JAXWSBindingsConstants.NS_JAXB_BINDINGS);
-@@ -150,45 +166,50 @@
- 
- 
-         boolean hasNode = true;
--        if((isJAXWSBindings(bindings) || isJAXBBindings(bindings)) && bindings.getAttributeNode("node")!=null ) {
-+        if ((isJAXWSBindings(bindings) || isJAXBBindings(bindings)) && bindings.getAttributeNode("node") != null) {
-             target = evaluateXPathNode(bindings, target, bindings.getAttribute("node"), new NamespaceContextImpl(bindings));
--        }else if(isJAXWSBindings(bindings) && (bindings.getAttributeNode("node")==null) && !isTopLevelBinding(bindings)) {
-+        } else
-+        if (isJAXWSBindings(bindings) && (bindings.getAttributeNode("node") == null) && !isTopLevelBinding(bindings)) {
-             hasNode = false;
--        }else if(isGlobalBinding(bindings) && !isWSDLDefinition(target) && isTopLevelBinding(bindings.getParentNode())){
-+        } else
-+        if (isGlobalBinding(bindings) && !isWSDLDefinition(target) && isTopLevelBinding(bindings.getParentNode())) {
-             target = getWSDLDefintionNode(bindings, target);
-         }
- 
-         //if target is null it means the xpath evaluation has some problem,
-         // just return
--        if(target == null)
-+        if (target == null)
-             return;
- 
-         // update the result map
--        if(hasNode)
--            result.put( bindings, target );
-+        if (hasNode)
-+            result.put(bindings, target);
- 
-         // look for child <JAXWS:bindings> and process them recursively
--        Element[] children = getChildElements( bindings);
-+        Element[] children = getChildElements(bindings);
-         for (Element child : children)
-             buildTargetNodeMap(child, target, result);
-     }
- 
--    private Node getWSDLDefintionNode(Node bindings, Node target){
-+    private Node getWSDLDefintionNode(Node bindings, Node target) {
-         return evaluateXPathNode(bindings, target, "wsdl:definitions",
--            new NamespaceContext(){
--                public String getNamespaceURI(String prefix){
--                    return "http://schemas.xmlsoap.org/wsdl/";
--                }
--                public String getPrefix(String nsURI){
--                    throw new UnsupportedOperationException();
--                }
--                public Iterator getPrefixes(String namespaceURI) {
--                    throw new UnsupportedOperationException();
--                }});
-+                new NamespaceContext() {
-+                    public String getNamespaceURI(String prefix) {
-+                        return "http://schemas.xmlsoap.org/wsdl/";
-+                    }
-+
-+                    public String getPrefix(String nsURI) {
-+                        throw new UnsupportedOperationException();
-+                    }
-+
-+                    public Iterator getPrefixes(String namespaceURI) {
-+                        throw new UnsupportedOperationException();
-+                    }
-+                });
-     }
- 
--    private boolean isWSDLDefinition(Node target){
--        if(target == null)
-+    private boolean isWSDLDefinition(Node target) {
-+        if (target == null)
-             return false;
-         String localName = target.getLocalName();
-         String nsURI = target.getNamespaceURI();
-@@ -195,43 +216,41 @@
-         return fixNull(localName).equals("definitions") && fixNull(nsURI).equals("http://schemas.xmlsoap.org/wsdl/");
-     }
- 
--    private boolean isTopLevelBinding(Node node){
--        if(node instanceof Document)
--            node = ((Document)node).getDocumentElement();
--        return ((node != null) && (((Element)node).getAttributeNode("wsdlLocation") != null));
-+    private boolean isTopLevelBinding(Node node) {
-+        return node.getOwnerDocument().getDocumentElement() == node;
-     }
- 
--    private boolean isJAXWSBindings(Node bindings){
-+    private boolean isJAXWSBindings(Node bindings) {
-         return (bindings.getNamespaceURI().equals(JAXWSBindingsConstants.NS_JAXWS_BINDINGS) && bindings.getLocalName().equals("bindings"));
-     }
- 
--    private boolean isJAXBBindings(Node bindings){
-+    private boolean isJAXBBindings(Node bindings) {
-         return (bindings.getNamespaceURI().equals(JAXWSBindingsConstants.NS_JAXB_BINDINGS) && bindings.getLocalName().equals("bindings"));
-     }
- 
--    private boolean isGlobalBinding(Node bindings){
--        if(bindings.getNamespaceURI() == null){
-+    private boolean isGlobalBinding(Node bindings) {
-+        if (bindings.getNamespaceURI() == null) {
-             errorReceiver.warning(forest.locatorTable.getStartLocation((Element) bindings), WsdlMessages.INVALID_CUSTOMIZATION_NAMESPACE(bindings.getLocalName()));
-             return false;
-         }
--        return  (bindings.getNamespaceURI().equals(JAXWSBindingsConstants.NS_JAXWS_BINDINGS) &&
-+        return (bindings.getNamespaceURI().equals(JAXWSBindingsConstants.NS_JAXWS_BINDINGS) &&
-                 (bindings.getLocalName().equals("package") ||
--                bindings.getLocalName().equals("enableAsyncMapping") ||
--                bindings.getLocalName().equals("enableAdditionalSOAPHeaderMapping") ||
--                bindings.getLocalName().equals("enableWrapperStyle") ||
--                bindings.getLocalName().equals("enableMIMEContent")));
-+                        bindings.getLocalName().equals("enableAsyncMapping") ||
-+                        bindings.getLocalName().equals("enableAdditionalSOAPHeaderMapping") ||
-+                        bindings.getLocalName().equals("enableWrapperStyle") ||
-+                        bindings.getLocalName().equals("enableMIMEContent")));
-     }
- 
-     private static Element[] getChildElements(Element parent) {
-         ArrayList<Element> a = new ArrayList<Element>();
-         NodeList children = parent.getChildNodes();
--        for( int i=0; i<children.getLength(); i++ ) {
-+        for (int i = 0; i < children.getLength(); i++) {
-             Node item = children.item(i);
--            if(!(item instanceof Element ))     continue;
-+            if (!(item instanceof Element)) continue;
- 
--            if(JAXWSBindingsConstants.NS_JAXWS_BINDINGS.equals(item.getNamespaceURI()) ||
-+            if (JAXWSBindingsConstants.NS_JAXWS_BINDINGS.equals(item.getNamespaceURI()) ||
-                     JAXWSBindingsConstants.NS_JAXB_BINDINGS.equals(item.getNamespaceURI()))
--                a.add((Element)item);
-+                a.add((Element) item);
-         }
-         return a.toArray(new Element[a.size()]);
-     }
-@@ -240,24 +259,24 @@
-         NodeList nlst;
-         try {
-             xpath.setNamespaceContext(namespaceContext);
--            nlst = (NodeList)xpath.evaluate(expression, target, XPathConstants.NODESET);
-+            nlst = (NodeList) xpath.evaluate(expression, target, XPathConstants.NODESET);
-         } catch (XPathExpressionException e) {
-             reportError((Element) bindings, WsdlMessages.INTERNALIZER_X_PATH_EVALUATION_ERROR(e.getMessage()), e);
-             return null; // abort processing this <jaxb:bindings>
-         }
- 
--        if( nlst.getLength()==0 ) {
-+        if (nlst.getLength() == 0) {
-             reportError((Element) bindings, WsdlMessages.INTERNALIZER_X_PATH_EVALUATES_TO_NO_TARGET(expression));
-             return null; // abort
-         }
- 
--        if( nlst.getLength()!=1 ) {
-+        if (nlst.getLength() != 1) {
-             reportError((Element) bindings, WsdlMessages.INTERNALIZER_X_PATH_EVAULATES_TO_TOO_MANY_TARGETS(expression, nlst.getLength()));
-             return null; // abort
-         }
- 
-         Node rnode = nlst.item(0);
--        if(!(rnode instanceof Element )) {
-+        if (!(rnode instanceof Element)) {
-             reportError((Element) bindings, WsdlMessages.INTERNALIZER_X_PATH_EVALUATES_TO_NON_ELEMENT(expression));
-             return null; // abort
-         }
-@@ -267,9 +286,9 @@
-     /**
-      * Moves JAXWS customizations under their respective target nodes.
-      */
--    private void move( Element bindings, Map<Element, Node> targetNodes ) {
-+    private void move(Element bindings, Map<Element, Node> targetNodes) {
-         Node target = targetNodes.get(bindings);
--        if(target==null)
-+        if (target == null)
-             // this must be the result of an error on the external binding.
-             // recover from the error by ignoring this node
-             return;
-@@ -277,27 +296,27 @@
-         Element[] children = DOMUtils.getChildElements(bindings);
- 
-         for (Element item : children) {
--            if ("bindings".equals(item.getLocalName())){
--            // process child <jaxws:bindings> recursively
-+            if ("bindings".equals(item.getLocalName())) {
-+                // process child <jaxws:bindings> recursively
-                 move(item, targetNodes);
--            }else if(isGlobalBinding(item)){
-+            } else if (isGlobalBinding(item)) {
-                 target = targetNodes.get(item);
--                moveUnder(item,(Element)target);
--            }else {
-+                moveUnder(item, (Element) target);
-+            } else {
-                 if (!(target instanceof Element)) {
-                     return; // abort
-                 }
-                 // move this node under the target
--                moveUnder(item,(Element)target);
-+                moveUnder(item, (Element) target);
-             }
-         }
-     }
- 
--    private boolean isJAXBBindingElement(Element e){
-+    private boolean isJAXBBindingElement(Element e) {
-         return fixNull(e.getNamespaceURI()).equals(JAXWSBindingsConstants.NS_JAXB_BINDINGS);
-     }
- 
--    private boolean isJAXWSBindingElement(Element e){
-+    private boolean isJAXWSBindingElement(Element e) {
-         return fixNull(e.getNamespaceURI()).equals(JAXWSBindingsConstants.NS_JAXWS_BINDINGS);
-     }
- 
-@@ -304,25 +323,22 @@
-     /**
-      * Moves the "decl" node under the "target" node.
-      *
--     * @param decl
--     *      A JAXWS customization element (e.g., &lt;JAXWS:class>)
--     *
--     * @param target
--     *      XML wsdl element under which the declaration should move.
--     *      For example, &lt;xs:element>
-+     * @param decl   A JAXWS customization element (e.g., &lt;JAXWS:class>)
-+     * @param target XML wsdl element under which the declaration should move.
-+     *               For example, &lt;xs:element>
-      */
--    private void moveUnder( Element decl, Element target ) {
-+    private void moveUnder(Element decl, Element target) {
- 
-         //if there is @node on decl and has a child element jaxb:bindings, move it under the target
-         //Element jaxb = getJAXBBindingElement(decl);
--        if(isJAXBBindingElement(decl)){
-+        if (isJAXBBindingElement(decl)) {
-             //add jaxb namespace declaration
--            if(!target.hasAttributeNS(Constants.NS_XMLNS, "jaxb")){
-+            if (!target.hasAttributeNS(Constants.NS_XMLNS, "jaxb")) {
-                 target.setAttributeNS(Constants.NS_XMLNS, "xmlns:jaxb", JAXWSBindingsConstants.NS_JAXB_BINDINGS);
-             }
- 
-             //add jaxb:bindings version info. Lets put it to 1.0, may need to change latter
--            if(!target.hasAttributeNS(JAXWSBindingsConstants.NS_JAXB_BINDINGS, "version")){
-+            if (!target.hasAttributeNS(JAXWSBindingsConstants.NS_JAXB_BINDINGS, "version")) {
-                 target.setAttributeNS(JAXWSBindingsConstants.NS_JAXB_BINDINGS, "jaxb:version", JAXWSBindingsConstants.JAXB_BINDING_VERSION);
-             }
- 
-@@ -334,7 +350,7 @@
-             // it can't support user-defined extensions. This needs more careful thought.
- 
-             //JAXB doesn't allow writing jaxb:extensionbindingPrefix anywhere other than root element so lets write only on <xs:schema>
--            if(target.getLocalName().equals("schema") && target.getNamespaceURI().equals(Constants.NS_XSD)&& !target.hasAttributeNS(JAXWSBindingsConstants.NS_JAXB_BINDINGS, "extensionBindingPrefixes")){
-+            if (target.getLocalName().equals("schema") && target.getNamespaceURI().equals(Constants.NS_XSD) && !target.hasAttributeNS(JAXWSBindingsConstants.NS_JAXB_BINDINGS, "extensionBindingPrefixes")) {
-                 target.setAttributeNS(JAXWSBindingsConstants.NS_JAXB_BINDINGS, "jaxb:extensionBindingPrefixes", "xjc");
-                 target.setAttributeNS(Constants.NS_XMLNS, "xmlns:xjc", JAXWSBindingsConstants.NS_XJC_BINDINGS);
-             }
-@@ -342,9 +358,9 @@
-             //insert xs:annotation/xs:appinfo where in jaxb:binding will be put
-             target = refineSchemaTarget(target);
-             copyInscopeNSAttributes(decl);
--        }else if(isJAXWSBindingElement(decl)){
-+        } else if (isJAXWSBindingElement(decl)) {
-             //add jaxb namespace declaration
--            if(!target.hasAttributeNS(Constants.NS_XMLNS, "JAXWS")){
-+            if (!target.hasAttributeNS(Constants.NS_XMLNS, "JAXWS")) {
-                 target.setAttributeNS(Constants.NS_XMLNS, "xmlns:JAXWS", JAXWSBindingsConstants.NS_JAXWS_BINDINGS);
-             }
- 
-@@ -351,59 +367,59 @@
-             //insert xs:annotation/xs:appinfo where in jaxb:binding will be put
-             target = refineWSDLTarget(target);
-             copyInscopeNSAttributes(decl);
--        }else{
-+        } else {
-             return;
-         }
- 
-         // finally move the declaration to the target node.
--        if( target.getOwnerDocument()!=decl.getOwnerDocument() ) {
-+        if (target.getOwnerDocument() != decl.getOwnerDocument()) {
-             // if they belong to different DOM documents, we need to clone them
--            decl = (Element)target.getOwnerDocument().importNode(decl,true);
-+            decl = (Element) target.getOwnerDocument().importNode(decl, true);
- 
-         }
- 
--        target.appendChild( decl );
-+        target.appendChild(decl);
-     }
- 
-     /**
--     *  Copy in-scope namespace declarations of the decl node
--     *  to the decl node itself so that this move won't change
--     *  the in-scope namespace bindings.
-+     * Copy in-scope namespace declarations of the decl node
-+     * to the decl node itself so that this move won't change
-+     * the in-scope namespace bindings.
-      */
--    private void copyInscopeNSAttributes(Element e){
-+    private void copyInscopeNSAttributes(Element e) {
-         Element p = e;
-         Set<String> inscopes = new HashSet<String>();
--        while(true) {
-+        while (true) {
-             NamedNodeMap atts = p.getAttributes();
--            for( int i=0; i<atts.getLength(); i++ ) {
--                Attr a = (Attr)atts.item(i);
--                if( Constants.NS_XMLNS.equals(a.getNamespaceURI()) ) {
-+            for (int i = 0; i < atts.getLength(); i++) {
-+                Attr a = (Attr) atts.item(i);
-+                if (Constants.NS_XMLNS.equals(a.getNamespaceURI())) {
-                     String prefix;
--                    if( a.getName().indexOf(':')==-1 )  prefix = "";
--                    else                                prefix = a.getLocalName();
-+                    if (a.getName().indexOf(':') == -1) prefix = "";
-+                    else prefix = a.getLocalName();
- 
--                    if( inscopes.add(prefix) && p!=e ) {
-+                    if (inscopes.add(prefix) && p != e) {
-                         // if this is the first time we see this namespace bindings,
-                         // copy the declaration.
-                         // if p==decl, there's no need to. Note that
-                         // we want to add prefix to inscopes even if p==Decl
- 
--                        e.setAttributeNodeNS( (Attr)a.cloneNode(true) );
-+                        e.setAttributeNodeNS((Attr) a.cloneNode(true));
-                     }
-                 }
-             }
- 
--            if( p.getParentNode() instanceof Document )
-+            if (p.getParentNode() instanceof Document)
-                 break;
- 
--            p = (Element)p.getParentNode();
-+            p = (Element) p.getParentNode();
-         }
- 
--        if( !inscopes.contains("") ) {
-+        if (!inscopes.contains("")) {
-             // if the default namespace was undeclared in the context of decl,
-             // it must be explicitly set to "" since the new environment might
-             // have a different default namespace URI.
--            e.setAttributeNS(Constants.NS_XMLNS,"xmlns","");
-+            e.setAttributeNS(Constants.NS_XMLNS, "xmlns", "");
-         }
-     }
- 
-@@ -410,15 +426,15 @@
-     public Element refineSchemaTarget(Element target) {
-         // look for existing xs:annotation
-         Element annotation = DOMUtils.getFirstChildElement(target, Constants.NS_XSD, "annotation");
--        if(annotation==null)
-+        if (annotation == null)
-             // none exists. need to make one
--            annotation = insertXMLSchemaElement( target, "annotation" );
-+            annotation = insertXMLSchemaElement(target, "annotation");
- 
-         // then look for appinfo
--        Element appinfo = DOMUtils.getFirstChildElement(annotation, Constants.NS_XSD, "appinfo" );
--        if(appinfo==null)
-+        Element appinfo = DOMUtils.getFirstChildElement(annotation, Constants.NS_XSD, "appinfo");
-+        if (appinfo == null)
-             // none exists. need to make one
--            appinfo = insertXMLSchemaElement( annotation, "appinfo" );
-+            appinfo = insertXMLSchemaElement(annotation, "appinfo");
- 
-         return appinfo;
-     }
-@@ -426,9 +442,9 @@
-     public Element refineWSDLTarget(Element target) {
-         // look for existing xs:annotation
-         Element JAXWSBindings = DOMUtils.getFirstChildElement(target, JAXWSBindingsConstants.NS_JAXWS_BINDINGS, "bindings");
--        if(JAXWSBindings==null)
-+        if (JAXWSBindings == null)
-             // none exists. need to make one
--            JAXWSBindings = insertJAXWSBindingsElement(target, "bindings" );
-+            JAXWSBindings = insertJAXWSBindingsElement(target, "bindings");
-         return JAXWSBindings;
-     }
- 
-@@ -436,63 +452,63 @@
-      * Creates a new XML Schema element of the given local name
-      * and insert it as the first child of the given parent node.
-      *
--     * @return
--     *      Newly create element.
-+     * @return Newly create element.
-      */
--    private Element insertXMLSchemaElement( Element parent, String localName ) {
-+    private Element insertXMLSchemaElement(Element parent, String localName) {
-         // use the same prefix as the parent node to avoid modifying
-         // the namespace binding.
-         String qname = parent.getTagName();
-         int idx = qname.indexOf(':');
--        if(idx==-1)     qname = localName;
--        else            qname = qname.substring(0,idx+1)+localName;
-+        if (idx == -1) qname = localName;
-+        else qname = qname.substring(0, idx + 1) + localName;
- 
--        Element child = parent.getOwnerDocument().createElementNS( Constants.NS_XSD, qname );
-+        Element child = parent.getOwnerDocument().createElementNS(Constants.NS_XSD, qname);
- 
-         NodeList children = parent.getChildNodes();
- 
--        if( children.getLength()==0 )
-+        if (children.getLength() == 0)
-             parent.appendChild(child);
-         else
--            parent.insertBefore( child, children.item(0) );
-+            parent.insertBefore(child, children.item(0));
- 
-         return child;
-     }
- 
--    private Element insertJAXWSBindingsElement( Element parent, String localName ) {
--        String qname = "JAXWS:"+localName;
-+    private Element insertJAXWSBindingsElement(Element parent, String localName) {
-+        String qname = "JAXWS:" + localName;
- 
--        Element child = parent.getOwnerDocument().createElementNS(JAXWSBindingsConstants.NS_JAXWS_BINDINGS, qname );
-+        Element child = parent.getOwnerDocument().createElementNS(JAXWSBindingsConstants.NS_JAXWS_BINDINGS, qname);
- 
-         NodeList children = parent.getChildNodes();
- 
--        if( children.getLength()==0 )
-+        if (children.getLength() == 0)
-             parent.appendChild(child);
-         else
--            parent.insertBefore( child, children.item(0) );
-+            parent.insertBefore(child, children.item(0));
- 
-         return child;
-     }
- 
--    private static @NotNull String fixNull(@Nullable String s) {
--        if(s==null) return "";
--        else        return s;
-+    private static
-+    @NotNull
-+    String fixNull(@Nullable String s) {
-+        if (s == null) return "";
-+        else return s;
-     }
- 
- 
--    private void reportError( Element errorSource, String formattedMsg ) {
--        reportError( errorSource, formattedMsg, null );
-+    private void reportError(Element errorSource, String formattedMsg) {
-+        reportError(errorSource, formattedMsg, null);
-     }
- 
--    private void reportError( Element errorSource,
--        String formattedMsg, Exception nestedException ) {
-+    private void reportError(Element errorSource,
-+                             String formattedMsg, Exception nestedException) {
- 
--        SAXParseException e = new SAXParseException2( formattedMsg,
--            forest.locatorTable.getStartLocation(errorSource),
--            nestedException );
-+        SAXParseException e = new SAXParseException2(formattedMsg,
-+                forest.locatorTable.getStartLocation(errorSource),
-+                nestedException);
-         errorReceiver.error(e);
-     }
- 
- 
--
- }
---- old/src/share/classes/com/sun/tools/internal/ws/wsdl/parser/MemberSubmissionAddressingExtensionHandler.java	Tue Aug  4 09:30:19 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/wsdl/parser/MemberSubmissionAddressingExtensionHandler.java	Tue Aug  4 09:30:19 2009
-@@ -22,9 +22,6 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
--/*
-- * $Id: MemberSubmissionAddressingExtensionHandler.java,v 1.1.2.6 2006/10/31 19:52:07 vivekp Exp $
-- */
- 
- package com.sun.tools.internal.ws.wsdl.parser;
- 
---- old/src/share/classes/com/sun/tools/internal/ws/wsdl/parser/MetadataFinder.java	Tue Aug  4 09:30:22 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/wsdl/parser/MetadataFinder.java	Tue Aug  4 09:30:21 2009
-@@ -24,9 +24,11 @@
-  */
- 
- 
--
- package com.sun.tools.internal.ws.wsdl.parser;
- 
-+import com.sun.istack.internal.NotNull;
-+import com.sun.istack.internal.Nullable;
-+import com.sun.tools.internal.ws.resources.WscompileMessages;
- import com.sun.tools.internal.ws.resources.WsdlMessages;
- import com.sun.tools.internal.ws.wscompile.ErrorReceiver;
- import com.sun.tools.internal.ws.wscompile.WsimportOptions;
-@@ -38,8 +40,6 @@
- import com.sun.xml.internal.ws.api.wsdl.parser.ServiceDescriptor;
- import com.sun.xml.internal.ws.util.DOMUtil;
- import com.sun.xml.internal.ws.util.ServiceFinder;
--import com.sun.istack.internal.Nullable;
--import com.sun.istack.internal.NotNull;
- import org.w3c.dom.Document;
- import org.w3c.dom.Element;
- import org.w3c.dom.Node;
-@@ -46,16 +46,17 @@
- import org.w3c.dom.NodeList;
- import org.xml.sax.InputSource;
- import org.xml.sax.SAXException;
--import org.xml.sax.helpers.LocatorImpl;
-+import org.xml.sax.SAXParseException;
- 
- import javax.xml.transform.Source;
- import javax.xml.transform.dom.DOMSource;
-+import java.io.FileNotFoundException;
-+import java.io.IOException;
- import java.net.URI;
- import java.net.URISyntaxException;
-+import java.util.HashSet;
- import java.util.List;
- import java.util.Set;
--import java.util.HashSet;
--import java.io.IOException;
- 
- /**
-  * @author Vivek Pandey
-@@ -72,36 +73,47 @@
- 
-     }
- 
--    public void parseWSDL() throws SAXException, IOException {
-+    public void parseWSDL(){
-         // parse source grammars
-         for (InputSource value : options.getWSDLs()) {
-             String systemID = value.getSystemId();
-             errorReceiver.pollAbort();
- 
-+            Document dom ;
-+            Element doc = null;
-+
-+            try {
-             //if there is entity resolver use it
-             if (options.entityResolver != null)
-                 value = options.entityResolver.resolveEntity(null, systemID);
-             if (value == null)
-                 value = new InputSource(systemID);
-+                dom = parse(value, true);
- 
-+                doc = dom.getDocumentElement();
-+                if (doc == null) {
-+                    continue;
-+                }
-+                //if its not a WSDL document, retry with MEX
-+                if (doc.getNamespaceURI() == null || !doc.getNamespaceURI().equals(WSDLConstants.NS_WSDL) || !doc.getLocalName().equals("definitions")) {
-+                    throw new SAXParseException(WsdlMessages.INVALID_WSDL(systemID,
-+                        com.sun.xml.internal.ws.wsdl.parser.WSDLConstants.QNAME_DEFINITIONS, doc.getNodeName(), locatorTable.getStartLocation(doc).getLineNumber()), locatorTable.getStartLocation(doc));
-+                }
-+            } catch(FileNotFoundException e){
-+                errorReceiver.error(WsdlMessages.FILE_NOT_FOUND(systemID), e);
-+                return;
-+            } catch (IOException e) {
-+                doc = getFromMetadataResolver(systemID, e);
-+            } catch (SAXParseException e) {
-+                doc = getFromMetadataResolver(systemID, e);
-+            } catch (SAXException e) {
-+                doc = getFromMetadataResolver(systemID, e);
-+            }
- 
--            Document dom = parse(value, true);
--            if (dom == null)
--                continue;
--            Element doc = dom.getDocumentElement();
-             if (doc == null) {
-                 continue;
-             }
--            //if its not a WSDL document, retry with MEX
--            if (doc.getNamespaceURI() == null || !doc.getNamespaceURI().equals(WSDLConstants.NS_WSDL) || !doc.getLocalName().equals("definitions")) {
--                core.remove(systemID);
--                rootDocuments.remove(systemID);
--                errorReceiver.warning(locatorTable.getStartLocation(doc), WsdlMessages.INVALID_WSDL_WITH_DOOC(systemID, "{" + fixNull(doc.getNamespaceURI()) + "}" + doc.getLocalName()));
--                dom = getFromMetadataResolver(systemID);
--                if(dom == null)
--                    continue;
--                doc = dom.getDocumentElement();
--            }
-+
-             NodeList schemas = doc.getElementsByTagNameNS(SchemaConstants.NS_XSD, "schema");
-             for (int i = 0; i < schemas.getLength(); i++) {
-                 if(!inlinedSchemaElements.contains(schemas.item(i)))
-@@ -137,7 +149,7 @@
-             Document doc = get(location);
-             if(doc!=null){
-                 Element definition = doc.getDocumentElement();
--                if(definition == null)
-+                if(definition == null || definition.getLocalName() == null || definition.getNamespaceURI() == null)
-                     continue;
-                 if(definition.getNamespaceURI().equals(WSDLConstants.NS_WSDL) && definition.getLocalName().equals("definitions")){
-                     rootWsdls.add(location);
-@@ -151,17 +163,17 @@
-                 }
-             }
-         }
-+        //no wsdl with wsdl:service found, throw error
-+        if(rootWSDL == null){
-+            StringBuffer strbuf = new StringBuffer();
-+            for(String str : rootWsdls){
-+                strbuf.append(str);
-+                strbuf.append('\n');
-+            }
-+            errorReceiver.error(null, WsdlMessages.FAILED_NOSERVICE(strbuf.toString()));
-+        }
-     }
- 
--
--
--
--    private String fixNull(String s) {
--        if (s == null) return "";
--        else return s;
--    }
--
--
-     /*
-     * If source and target namespace are also passed in,
-     * then if the mex resolver is found and it cannot get
-@@ -170,10 +182,9 @@
-     * This behavior should only happen when trying a
-     * mex request first.
-     */
--    private Document getFromMetadataResolver(String systemId) {
--
-+    private @Nullable Element getFromMetadataResolver(String systemId, Exception ex) {
-         //try MEX
--        MetaDataResolver resolver = null;
-+        MetaDataResolver resolver;
-         ServiceDescriptor serviceDescriptor = null;
-         for (MetadataResolverFactory resolverFactory : ServiceFinder.find(MetadataResolverFactory.class)) {
-             resolver = resolverFactory.metadataResolver(options.entityResolver);
-@@ -188,14 +199,15 @@
-         }
- 
-         if (serviceDescriptor != null) {
-+            errorReceiver.warning(new SAXParseException(WsdlMessages.TRY_WITH_MEX(ex.getMessage()), null, ex));
-             return parseMetadata(systemId, serviceDescriptor);
-         } else {
--            errorReceiver.error(new LocatorImpl(), WsdlMessages.PARSING_UNABLE_TO_GET_METADATA(systemId));
-+            errorReceiver.error(null, WsdlMessages.PARSING_UNABLE_TO_GET_METADATA(ex.getMessage(), WscompileMessages.WSIMPORT_NO_WSDL(systemId)), ex);
-         }
-         return null;
-     }
- 
--    private Document parseMetadata(String systemId, ServiceDescriptor serviceDescriptor) {
-+    private Element parseMetadata(@NotNull String systemId, @NotNull ServiceDescriptor serviceDescriptor) {
-         List<? extends Source> mexWsdls = serviceDescriptor.getWSDLs();
-         List<? extends Source> mexSchemas = serviceDescriptor.getSchemas();
-         Document root = null;
-@@ -220,8 +232,8 @@
-                     }
-                 }
-                 NodeList nl = doc.getDocumentElement().getElementsByTagNameNS(WSDLConstants.NS_WSDL, "import");
--                if (nl.getLength() > 0) {
--                    Element imp = (Element) nl.item(0);
-+                for(int i = 0; i < nl.getLength(); i++){
-+                    Element imp = (Element) nl.item(i);
-                     String loc = imp.getAttribute("location");
-                     if (loc != null) {
-                         if (!externalReferences.contains(loc))
-@@ -247,6 +259,6 @@
-             //TODO:handle SAXSource
-             //TODO:handler StreamSource
-         }
--        return root;
-+        return root.getDocumentElement();
-     }
- }
---- old/src/share/classes/com/sun/tools/internal/ws/wsdl/parser/NamespaceContextImpl.java	Tue Aug  4 09:30:24 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/wsdl/parser/NamespaceContextImpl.java	Tue Aug  4 09:30:24 2009
-@@ -2,7 +2,7 @@
-  * reserved comment block
-  * DO NOT REMOVE OR ALTER!
-  */
--/*
-+ /*
-  * Portions Copyright 2005-2006 Sun Microsystems, Inc.  All Rights Reserved.
-  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-  *
-@@ -29,6 +29,22 @@
-  * THIS FILE WAS MODIFIED BY SUN MICROSYSTEMS, INC.
-  */
- 
-+/*
-+ * Copyright 1999-2004 The Apache Software Foundation.
-+ *
-+ * Licensed under the Apache License, Version 2.0 (the "License");
-+ * you may not use this file except in compliance with the License.
-+ * You may obtain a copy of the License at
-+ *
-+ *     http://www.apache.org/licenses/LICENSE-2.0
-+ *
-+ * Unless required by applicable law or agreed to in writing, software
-+ * distributed under the License is distributed on an "AS IS" BASIS,
-+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-+ * See the License for the specific language governing permissions and
-+ * limitations under the License.
-+ */
-+
- package com.sun.tools.internal.ws.wsdl.parser;
- 
- import com.sun.xml.internal.bind.v2.WellKnownNamespace;
-@@ -47,21 +63,6 @@
-         this.e = e;
-     }
- 
--    /*
--     * Copyright 1999-2004 The Apache Software Foundation.
--     *
--     * Licensed under the Apache License, Version 2.0 (the "License");
--     * you may not use this file except in compliance with the License.
--     * You may obtain a copy of the License at
--     *
--     *     http://www.apache.org/licenses/LICENSE-2.0
--     *
--     * Unless required by applicable law or agreed to in writing, software
--     * distributed under the License is distributed on an "AS IS" BASIS,
--     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
--     * See the License for the specific language governing permissions and
--     * limitations under the License.
--     */
-     public String getNamespaceURI(String prefix) {
-         Node parent = e;
-         String namespace = null;
---- old/src/share/classes/com/sun/tools/internal/ws/wsdl/parser/VersionChecker.java	Tue Aug  4 09:30:26 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/wsdl/parser/VersionChecker.java	Tue Aug  4 09:30:26 2009
-@@ -24,7 +24,6 @@
-  */
- 
- 
--
- package com.sun.tools.internal.ws.wsdl.parser;
- 
- import com.sun.tools.internal.ws.resources.WsdlMessages;
---- old/src/share/classes/com/sun/tools/internal/ws/wsdl/parser/W3CAddressingExtensionHandler.java	Tue Aug  4 09:30:28 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/wsdl/parser/W3CAddressingExtensionHandler.java	Tue Aug  4 09:30:28 2009
-@@ -22,9 +22,6 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
--/*
-- * $Id: W3CAddressingExtensionHandler.java,v 1.1.2.9 2007/02/06 00:33:38 kohsuke Exp $
-- */
- 
- package com.sun.tools.internal.ws.wsdl.parser;
- 
---- old/src/share/classes/com/sun/tools/internal/ws/wsdl/parser/WSDLInternalizationLogic.java	Tue Aug  4 09:30:31 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/wsdl/parser/WSDLInternalizationLogic.java	Tue Aug  4 09:30:30 2009
-@@ -24,7 +24,6 @@
-  */
- 
- 
--
- package com.sun.tools.internal.ws.wsdl.parser;
- 
- import com.sun.tools.internal.ws.wsdl.document.WSDLConstants;
-@@ -56,9 +55,14 @@
-                     //TODO: add support for importing schema using wsdl:import
-                 }
-                 return atts.getValue("location");
--            }else if(SchemaConstants.NS_XSD.equals(nsURI) && "import".equals(localName)){
-+            }
-+            /*
-+            We don't need to do this anymore, JAXB handles the schema imports, includes etc.
-+
-+            else if(SchemaConstants.NS_XSD.equals(nsURI) && "import".equals(localName)){
-                 return atts.getValue("schemaLocation");
-             }
-+            */
-             return null;
-         }
-     }
---- old/src/share/classes/com/sun/tools/internal/ws/wsdl/parser/WSDLParser.java	Tue Aug  4 09:30:33 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/wsdl/parser/WSDLParser.java	Tue Aug  4 09:30:32 2009
-@@ -29,9 +29,8 @@
- import com.sun.tools.internal.ws.api.wsdl.TWSDLExtensionHandler;
- import com.sun.tools.internal.ws.resources.WsdlMessages;
- import com.sun.tools.internal.ws.util.xml.XmlUtil;
--import com.sun.tools.internal.ws.wscompile.ErrorReceiver;
--import com.sun.tools.internal.ws.wscompile.WsimportOptions;
- import com.sun.tools.internal.ws.wscompile.ErrorReceiverFilter;
-+import com.sun.tools.internal.ws.wscompile.WsimportOptions;
- import com.sun.tools.internal.ws.wsdl.document.Binding;
- import com.sun.tools.internal.ws.wsdl.document.BindingFault;
- import com.sun.tools.internal.ws.wsdl.document.BindingInput;
-@@ -68,11 +67,11 @@
- import org.xml.sax.Locator;
- import org.xml.sax.SAXException;
- 
-+import java.io.IOException;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.Iterator;
- import java.util.Map;
--import java.io.IOException;
- 
- /**
-  * A parser for WSDL documents. This parser is used only at the tool time.
-@@ -135,7 +134,7 @@
-         // parse external binding files
-         for (InputSource value : options.getWSDLBindings()) {
-             errReceiver.pollAbort();
--            Document root = forest.parse(value, true); // TODO: I think this should be false - KK
-+            Document root = forest.parse(value, false);
-             if(root==null)       continue;   // error must have been reported
-             Element binding = root.getDocumentElement();
-             if (!fixNull(binding.getNamespaceURI()).equals(JAXWSBindingsConstants.NS_JAXWS_BINDINGS)
-@@ -168,7 +167,7 @@
-     private WSDLDocument buildWSDLDocument(){
-         /**
-          * Currently we are working off first WSDL document
--         * TODO: add support of creating WSDLDocument from collection of WSDL documents
-+         * TODO: add support of creating WSDLDocument from fromjava.collection of WSDL documents
-          */
- 
-         String location = forest.getRootWSDL();
---- old/src/share/classes/com/sun/tools/internal/ws/wsdl/parser/WhitespaceStripper.java	Tue Aug  4 09:30:35 2009
-+++ new/src/share/classes/com/sun/tools/internal/ws/wsdl/parser/WhitespaceStripper.java	Tue Aug  4 09:30:35 2009
-@@ -24,7 +24,6 @@
-  */
- 
- 
--
- package com.sun.tools.internal.ws.wsdl.parser;
- 
- import com.sun.xml.internal.bind.WhiteSpaceProcessor;
---- old/src/share/classes/com/sun/tools/internal/xjc/Driver.java	Tue Aug  4 09:30:37 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/Driver.java	Tue Aug  4 09:30:37 2009
-@@ -24,6 +24,7 @@
-  */
- package com.sun.tools.internal.xjc;
- 
-+import java.io.File;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.io.OutputStream;
-@@ -101,7 +102,7 @@
- 
-     private static void _main( String[] args ) throws Exception {
-         try {
--            System.exit(run( args, System.err, System.out ));
-+            System.exit(run( args, System.out, System.out ));
-         } catch (BadCommandLineException e) {
-             // there was an error in the command line.
-             // print usage and abort.
-@@ -240,6 +241,8 @@
-                 listener.message(Messages.format(Messages.PARSING_SCHEMA));
-             }
- 
-+            final boolean[] hadWarning = new boolean[1];
-+
-             ErrorReceiver receiver = new ErrorReceiverFilter(listener) {
-                 public void info(SAXParseException exception) {
-                     if(opt.verbose)
-@@ -246,6 +249,7 @@
-                         super.info(exception);
-                 }
-                 public void warning(SAXParseException exception) {
-+                    hadWarning[0] = true;
-                     if(!opt.quiet)
-                         super.warning(exception);
-                 }
-@@ -367,6 +371,15 @@
-                 assert false;
-             }
- 
-+            if(opt.debugMode) {
-+                try {
-+                    new FileOutputStream(new File(opt.targetDir,hadWarning[0]?"hadWarning":"noWarning")).close();
-+                } catch (IOException e) {
-+                    receiver.error(e);
-+                    return -1;
-+                }
-+            }
-+
-             return 0;
-         } catch( StackOverflowError e ) {
-             if(opt.verbose)
---- old/src/share/classes/com/sun/tools/internal/xjc/Language.java	Tue Aug  4 09:30:40 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/Language.java	Tue Aug  4 09:30:39 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc;
- 
- /**
---- old/src/share/classes/com/sun/tools/internal/xjc/MessageBundle.properties	Tue Aug  4 09:30:42 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/MessageBundle.properties	Tue Aug  4 09:30:41 2009
-@@ -24,20 +24,20 @@
- #
- 
- ConsoleErrorReporter.UnknownLocation = \
--	unknown location
--	
-+        unknown location
-+
- ConsoleErrorReporter.LineXOfY = \
--	\ \ line {0} of {1}
-+        \ \ line {0} of {1}
- 
- ConsoleErrorReporter.UnknownFile = \
--	unknown file
--	
-+        unknown file
-+
- Driver.Private.Usage = \
- Usage: xjc [-options ...] <schema file/URL/dir/jar> ... [-b <bindinfo>] ...\n\
- If dir is specified, all schema files in it will be compiled.\n\
- If jar is specified, /META-INF/sun-jaxb.episode binding file will be compiled.\n\
- Options:\n\
--\ \ -debug             :  run in the debug mode\n\
-+\ \ -debug             :  run in debug mode (includes -verbose)\n\
- \ \ -nv                :  do not perform strict validation of the input schema(s)\n\
- \ \ -extension         :  allow vendor extensions - do not strictly follow the\n\
- \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Compatibility Rules and App E.2 from the JAXB Spec\n\
-@@ -106,27 +106,30 @@
- Driver.AddonUsage = \nExtensions:
- 
- Driver.ExperimentalLanguageWarning = \
--	Are you trying to compile {0}? Support for {0} is experimental. \
--	You may enable it by using the {1} option.
-+        Are you trying to compile {0}? Support for {0} is experimental. \
-+        You may enable it by using the {1} option.
- 
- Driver.NonExistentDir = \
-     cowardly refuses to write to a non-existent directory "{0}"
--	
-+
- Driver.MissingRuntimePackageName = \
--	the -use-runtime option is missing a package name
--	
-+        the -use-runtime option is missing a package name
-+
- Driver.MissingModeOperand = \
--	the -mode option is missing an operand
--	
-+        the -mode option is missing an operand
-+
- Driver.MissingCompatibilityOperand = \
--	the -compatibility option is missing an operand
-+        the -compatibility option is missing an operand
- 
-+Driver.MissingOperand = \
-+        an operand is missing
-+
- Driver.MissingProxyHost = \
--	either the -host option is missing an operand \n\
-+        either the -host option is missing an operand \n\
-         or -port was specified but not -host
--	
-+
- Driver.MissingProxyPort = \
--	either the -port option is missing an operand \n\
-+        either the -port option is missing an operand \n\
-         or -host was specified but not -port
- 
- Driver.ILLEGAL_PROXY = \
-@@ -145,77 +148,80 @@
-     "{0}" is not a valid proxy format. The format is [user[:password]@]proxyHost:proxyPort
- 
- Driver.UnrecognizedMode = \
--	unrecognized mode {0}
-+        unrecognized mode {0}
- 
- Driver.UnrecognizedParameter = \
--	unrecognized parameter {0}
--	
-+        unrecognized parameter {0}
-+
- Driver.MissingGrammar = \
--	grammar is not specified
-+        grammar is not specified
- 
- Driver.NotABindingFile = \
--	not an external binding file. The root element must be '{'http://java.sun.com/xml/ns/jaxb'}'bindings but it is '{'{0}'}'{1}
--		
-+        not an external binding file. The root element must be '{'http://java.sun.com/xml/ns/jaxb'}'bindings but it is '{'{0}'}'{1}
-+
- Driver.ParsingSchema = \
--	parsing a schema...
--	
-+        parsing a schema...
-+
- Driver.ParseFailed = \
--	Failed to parse a schema.
-+        Failed to parse a schema.
- 
- Driver.StackOverflow = \
--	Stack overflow. Either you are compiling a large schema that requires more resource, or \
--	XJC has a bug. First, please extend the stack size by using the -Xss JVM option. If this \
--	doesn'''t solve the problem, please use the -debug option to obtain the stack trace and \
--	contact Sun. 
--		
-+        Stack overflow. Either you are compiling a large schema that requires more resources, or \
-+        XJC has a bug. First, please extend the stack size by using the -Xss JVM option. If this \
-+        doesn'''t solve the problem, please use the -debug option to obtain the stack trace and \
-+        contact Sun.
-+
- Driver.CompilingSchema = \
--	compiling a schema...
-+        compiling a schema...
- 
- Driver.FailedToGenerateCode = \
--	Failed to produce code.
-+        Failed to produce code.
- 
--# DO NOT localize the JAXB 2.1.3 in JDK string - it is a token for an ant <replaceFilter>	
-+# DO NOT localize the JAXB 2.1.10 string - it is a token for an ant <replaceFilter>
- Driver.FilePrologComment = \
--	This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vJAXB 2.1.3 in JDK \n\
--	See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> \n\
--	Any modifications to this file will be lost upon recompilation of the source schema. \n\
--	Generated on: {0} \n
-+        This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vJAXB 2.1.10 \n\
-+        See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> \n\
-+        Any modifications to this file will be lost upon recompilation of the source schema. \n\
-+        Generated on: {0} \n
- 
- Driver.Version = \
--	xjc version "JAXB 2.1.3" \n\
--	JavaTM Architecture for XML Binding(JAXB) Reference Implementation, (build JAXB 2.1.3 in JDK)	
-+        xjc version "JAXB 2.1.10" \n\
-+        JavaTM Architecture for XML Binding(JAXB) Reference Implementation, (build JAXB 2.1.10)
- 
--Driver.BuildID = JAXB 2.1.3 in JDK
--	
-+Driver.BuildID = JAXB 2.1.10
-+
-+# for JDK integration - include version in source zip
-+jaxb.jdk.version=2.1.10
-+
- # see java.text.SimpleDateFormat for format syntax
- Driver.DateFormat = \
--	yyyy.MM.dd
-+        yyyy.MM.dd
- 
- # see java.text.SimpleDateFormat for format syntax
- Driver.TimeFormat = \
--	hh:mm:ss a z
-+        hh:mm:ss a z
- 
--# as in: "generated on <date> at <time>"	
-+# as in: "generated on <date> at <time>"
- Driver.At = \
--	at
-+        at
- 
- Driver.ErrorMessage = \
--	[ERROR] {0}
-+        [ERROR] {0}
- 
- Driver.WarningMessage = \
--	[WARNING] {0}
-+        [WARNING] {0}
- 
- Driver.InfoMessage = \
--	[INFO] {0}
-+        [INFO] {0}
- 
- ModelLoader.TooManySchema = \
--	Too many schema files for this schema language. Compile one file at a time.
-+        Too many schema files for this schema language. Compile one file at a time.
- 
- ModelLoader.BindingFileNotSupportedForRNC = \
-     External binding files are not supported for the RELAX NG compact syntax.
- 
- Driver.DefaultVersion = \
--	Defaulting the version to JAXB 2.0
-+        Defaulting the version to JAXB 2.0
- 
- Driver.DefaultPackageWarning = \
-     Default Java package specified.  You will not be able to access the generated code from classes in any other package.
-@@ -227,10 +233,10 @@
-     Failed to parse "{0}": {1}
- 
- Driver.NotAFileNorURL = \
--    "{0}" is neither a file name nor an URL
-+    "{0}" is neither a file name nor a URL
- 
- FIELD_RENDERER_CONFLICT = \
--    "-{0}" and "-{1}" are mutually exclusive since both affect the code generation 
-+    "-{0}" and "-{1}" are mutually exclusive since both affect the code generation
- 
- NAME_CONVERTER_CONFLICT = \
-     "-{0}" and "-{1}" are mutually exclusive since both affect the code generation
-@@ -241,4 +247,3 @@
- PLUGIN_LOAD_FAILURE = \
-     Failure to load a plugin: "{0}". Use the system property ''-Dcom.sun.tools.internal.xjc.Options.findServices=true'' to \
-     diagnose it further
-- 
---- old/src/share/classes/com/sun/tools/internal/xjc/ModelLoader.java	Tue Aug  4 09:30:44 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/ModelLoader.java	Tue Aug  4 09:30:44 2009
-@@ -35,8 +35,8 @@
- import com.sun.tools.internal.xjc.reader.internalizer.DOMForest;
- import com.sun.tools.internal.xjc.reader.internalizer.DOMForestScanner;
- import com.sun.tools.internal.xjc.reader.internalizer.InternalizationLogic;
--import com.sun.tools.internal.xjc.reader.internalizer.VersionChecker;
- import com.sun.tools.internal.xjc.reader.internalizer.SCDBasedBindingSet;
-+import com.sun.tools.internal.xjc.reader.internalizer.VersionChecker;
- import com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler;
- import com.sun.tools.internal.xjc.reader.relaxng.RELAXNGInternalizationLogic;
- import com.sun.tools.internal.xjc.reader.xmlschema.BGMBuilder;
-@@ -489,6 +489,9 @@
- 
-     /**
-      * Parses a {@link DOMForest} into a {@link XSSchemaSet}.
-+     *
-+     * @return
-+     *      null if the parsing failed.
-      */
-     public XSSchemaSet createXSOM(DOMForest forest, SCDBasedBindingSet scdBasedBindingSet) throws SAXException {
-         // set up other parameters to XSOMParser
-@@ -504,7 +507,8 @@
- 
-         XSSchemaSet result = reader.getResult();
- 
--        scdBasedBindingSet.apply(result,errorReceiver);
-+        if(result!=null)
-+            scdBasedBindingSet.apply(result,errorReceiver);
- 
-         return result;
-     }
---- old/src/share/classes/com/sun/tools/internal/xjc/Options.java	Tue Aug  4 09:30:46 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/Options.java	Tue Aug  4 09:30:46 2009
-@@ -33,6 +33,7 @@
- import java.io.PrintWriter;
- import java.io.StringWriter;
- import java.lang.reflect.Array;
-+import java.lang.reflect.InvocationTargetException;
- import java.net.MalformedURLException;
- import java.net.URL;
- import java.net.URLClassLoader;
-@@ -47,6 +48,7 @@
- import java.util.regex.Pattern;
- 
- import com.sun.codemodel.internal.CodeWriter;
-+import com.sun.codemodel.internal.JPackage;
- import com.sun.codemodel.internal.writer.FileCodeWriter;
- import com.sun.codemodel.internal.writer.PrologCodeWriter;
- import com.sun.org.apache.xml.internal.resolver.CatalogManager;
-@@ -129,10 +131,32 @@
-     /**
-      * Generates output for the specified version of the runtime.
-      */
--    public SpecVersion target = SpecVersion.V2_1;
-+    public SpecVersion target = SpecVersion.LATEST;
- 
-+    private boolean is2_2 = true;
- 
--    /** Target direcoty when producing files. */
-+    public Options() {
-+        if (is2_2) {
-+            try {
-+                Class.forName("javax.xml.bind.JAXBPermission");
-+            } catch (ClassNotFoundException cnfe) {
-+                is2_2 = false;
-+            }
-+            if (!is2_2) {
-+                target = SpecVersion.V2_1;
-+            } else {
-+                target = SpecVersion.LATEST;
-+            }
-+        }
-+    }
-+
-+    /**
-+     * Target directory when producing files.
-+     * <p>
-+     * This field is not used when XJC is driven through the XJC API.
-+     * Plugins that need to generate extra files should do so by using
-+     * {@link JPackage#addResourceFile(JResourceFile)}.
-+     */
-     public File targetDir = new File(".");
- 
-     /**
-@@ -437,12 +461,15 @@
-      */
-     public int parseArgument( String[] args, int i ) throws BadCommandLineException {
-         if (args[i].equals("-classpath") || args[i].equals("-cp")) {
--            File file = new File(requireArgument(args[i],args,++i));
--            try {
--                classpaths.add(file.toURL());
--            } catch (MalformedURLException e) {
--                throw new BadCommandLineException(
--                    Messages.format(Messages.NOT_A_VALID_FILENAME,file),e);
-+            String a = requireArgument(args[i], args, ++i);
-+            for (String p : a.split(File.pathSeparator)) {
-+                File file = new File(p);
-+                try {
-+                    classpaths.add(file.toURL());
-+                } catch (MalformedURLException e) {
-+                    throw new BadCommandLineException(
-+                        Messages.format(Messages.NOT_A_VALID_FILENAME,file),e);
-+                }
-             }
-             return 2;
-         }
-@@ -760,6 +787,11 @@
-         if( schemaLanguage==null )
-             schemaLanguage = guessSchemaLanguage();
- 
-+//        if(target==SpecVersion.V2_2 && !isExtensionMode())
-+//            throw new BadCommandLineException(
-+//                "Currently 2.2 is still not finalized yet, so using it requires the -extension switch." +
-+//                "NOTE THAT 2.2 SPEC MAY CHANGE BEFORE IT BECOMES FINAL.");
-+
-         if(pluginLoadFailure!=null)
-             throw new BadCommandLineException(
-                 Messages.format(Messages.PLUGIN_LOAD_FAILURE,pluginLoadFailure));
-@@ -768,7 +800,7 @@
-     /**
-      * Finds the <tt>META-INF/sun-jaxb.episode</tt> file to add as a binding customization.
-      */
--    private void scanEpisodeFile(File jar) throws BadCommandLineException {
-+    public void scanEpisodeFile(File jar) throws BadCommandLineException {
-         try {
-             URLClassLoader ucl = new URLClassLoader(new URL[]{jar.toURL()});
-             Enumeration<URL> resources = ucl.findResources("META-INF/sun-jaxb.episode");
-@@ -787,18 +819,21 @@
-      * Guesses the schema language.
-      */
-     public Language guessSchemaLanguage() {
-+
-         // otherwise, use the file extension.
-         // not a good solution, but very easy.
--        String name = grammars.get(0).getSystemId().toLowerCase();
-+        if ((grammars != null) && (grammars.size() > 0)) {
-+            String name = grammars.get(0).getSystemId().toLowerCase();
- 
--        if (name.endsWith(".rng"))
--            return Language.RELAXNG;
--        if (name.endsWith(".rnc"))
--            return Language.RELAXNG_COMPACT;
--        if (name.endsWith(".dtd"))
--            return Language.DTD;
--        if (name.endsWith(".wsdl"))
--            return Language.WSDL;
-+            if (name.endsWith(".rng"))
-+                return Language.RELAXNG;
-+            if (name.endsWith(".rnc"))
-+                return Language.RELAXNG_COMPACT;
-+            if (name.endsWith(".dtd"))
-+                return Language.DTD;
-+            if (name.endsWith(".wsdl"))
-+                return Language.WSDL;
-+        }
- 
-         // by default, assume XML Schema
-         return Language.XMLSCHEMA;
-@@ -853,6 +888,36 @@
-         // if true, print debug output
-         final boolean debug = com.sun.tools.internal.xjc.util.Util.getSystemProperty(Options.class,"findServices")!=null;
- 
-+        // if we are running on Mustang or Dolphin, use ServiceLoader
-+        // so that we can take advantage of JSR-277 module system.
-+        try {
-+            Class<?> serviceLoader = Class.forName("java.util.ServiceLoader");
-+            if(debug)
-+                System.out.println("Using java.util.ServiceLoader");
-+            Iterable<T> itr = (Iterable<T>)serviceLoader.getMethod("load",Class.class,ClassLoader.class).invoke(null,clazz,classLoader);
-+            List<T> r = new ArrayList<T>();
-+            for (T t : itr)
-+                r.add(t);
-+            return r.toArray((T[])Array.newInstance(clazz,r.size()));
-+        } catch (ClassNotFoundException e) {
-+            // fall through
-+        } catch (IllegalAccessException e) {
-+            Error x = new IllegalAccessError();
-+            x.initCause(e);
-+            throw x;
-+        } catch (InvocationTargetException e) {
-+            Throwable x = e.getTargetException();
-+            if (x instanceof RuntimeException)
-+                throw (RuntimeException) x;
-+            if (x instanceof Error)
-+                throw (Error) x;
-+            throw new Error(x);
-+        } catch (NoSuchMethodException e) {
-+            Error x = new NoSuchMethodError();
-+            x.initCause(e);
-+            throw x;
-+        }
-+
-         String serviceId = "META-INF/services/" + clazz.getName();
- 
-         // used to avoid creating the same instance twice
---- old/src/share/classes/com/sun/tools/internal/xjc/ProgressCodeWriter.java	Tue Aug  4 09:30:49 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/ProgressCodeWriter.java	Tue Aug  4 09:30:48 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc;
- 
- import java.io.File;
---- old/src/share/classes/com/sun/tools/internal/xjc/SchemaCache.java	Tue Aug  4 09:30:51 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/SchemaCache.java	Tue Aug  4 09:30:50 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc;
- 
- import java.lang.reflect.Field;
---- old/src/share/classes/com/sun/tools/internal/xjc/XJCListener.java	Tue Aug  4 09:30:53 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/XJCListener.java	Tue Aug  4 09:30:53 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc;
- 
- import java.io.PrintStream;
---- old/src/share/classes/com/sun/tools/internal/xjc/addon/at_generated/PluginImpl.java	Tue Aug  4 09:30:55 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/addon/at_generated/PluginImpl.java	Tue Aug  4 09:30:55 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.addon.at_generated;
- 
- import java.text.SimpleDateFormat;
---- old/src/share/classes/com/sun/tools/internal/xjc/addon/code_injector/Const.java	Tue Aug  4 09:30:57 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/addon/code_injector/Const.java	Tue Aug  4 09:30:57 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.addon.code_injector;
- 
- /**
---- old/src/share/classes/com/sun/tools/internal/xjc/addon/code_injector/PluginImpl.java	Tue Aug  4 09:30:59 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/addon/code_injector/PluginImpl.java	Tue Aug  4 09:30:59 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.addon.code_injector;
- 
- import java.util.Collections;
---- old/src/share/classes/com/sun/tools/internal/xjc/addon/episode/PluginImpl.java	Tue Aug  4 09:31:02 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/addon/episode/PluginImpl.java	Tue Aug  4 09:31:01 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.addon.episode;
- 
- import java.io.File;
---- old/src/share/classes/com/sun/tools/internal/xjc/addon/episode/package-info.java	Tue Aug  4 09:31:04 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/addon/episode/package-info.java	Tue Aug  4 09:31:04 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- @XmlNamespace(Const.JAXB_NSURI)
- package com.sun.tools.internal.xjc.addon.episode;
- 
---- old/src/share/classes/com/sun/tools/internal/xjc/api/ClassNameAllocator.java	Tue Aug  4 09:31:06 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/api/ClassNameAllocator.java	Tue Aug  4 09:31:06 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.api;
- 
- /**
---- old/src/share/classes/com/sun/tools/internal/xjc/api/J2SJAXBModel.java	Tue Aug  4 09:31:08 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/api/J2SJAXBModel.java	Tue Aug  4 09:31:08 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.api;
- 
- import java.io.IOException;
---- old/src/share/classes/com/sun/tools/internal/xjc/api/Reference.java	Tue Aug  4 09:31:10 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/api/Reference.java	Tue Aug  4 09:31:10 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.api;
- 
- import com.sun.mirror.apt.AnnotationProcessorEnvironment;
---- old/src/share/classes/com/sun/tools/internal/xjc/api/S2JJAXBModel.java	Tue Aug  4 09:31:13 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/api/S2JJAXBModel.java	Tue Aug  4 09:31:12 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.api;
- 
- import java.util.Collection;
---- old/src/share/classes/com/sun/tools/internal/xjc/api/SchemaCompiler.java	Tue Aug  4 09:31:15 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/api/SchemaCompiler.java	Tue Aug  4 09:31:14 2009
-@@ -238,6 +238,10 @@
-      * then tweak settings on it. The updated settings will be used when the
-      * {@link #bind()} method is invoked.
-      *
-+     * <p>
-+     * The returned {@link Options} object is useful for example to specify
-+     * command-line arguments.
-+     *
-      * @since 2.0.2
-      * @deprecated
-      *      This method is not really "deprecated" (in the sense of being removed
---- old/src/share/classes/com/sun/tools/internal/xjc/api/SpecVersion.java	Tue Aug  4 09:31:17 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/api/SpecVersion.java	Tue Aug  4 09:31:17 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.api;
- 
- /**
-@@ -30,7 +31,7 @@
-  * @author Kohsuke Kawaguchi
-  */
- public enum SpecVersion {
--    V2_0, V2_1;
-+    V2_0, V2_1, V2_2;
- 
-     /**
-      * Returns true if this version is equal or later than the given one.
-@@ -40,7 +41,7 @@
-     }
- 
-     /**
--     * Parses "2.0" and "2.1" into the {@link SpecVersion} object.
-+     * Parses "2.0", "2.1", and "2.2" into the {@link SpecVersion} object.
-      *
-      * @return null for parsing failure.
-      */
-@@ -47,11 +48,12 @@
-     public static SpecVersion parse(String token) {
-         if(token.equals("2.0"))
-             return V2_0;
--        else
-         if(token.equals("2.1"))
-             return V2_1;
-+        if(token.equals("2.2"))
-+            return V2_2;
-         return null;
-     }
- 
--    public static final SpecVersion LATEST = V2_1;
-+    public static final SpecVersion LATEST = V2_2;
- }
---- old/src/share/classes/com/sun/tools/internal/xjc/api/TypeAndAnnotation.java	Tue Aug  4 09:31:19 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/api/TypeAndAnnotation.java	Tue Aug  4 09:31:19 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.api;
- 
- import com.sun.codemodel.internal.JAnnotatable;
---- old/src/share/classes/com/sun/tools/internal/xjc/api/impl/j2s/JAXBModelImpl.java	Tue Aug  4 09:31:21 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/api/impl/j2s/JAXBModelImpl.java	Tue Aug  4 09:31:21 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.api.impl.j2s;
- 
- import java.io.IOException;
---- old/src/share/classes/com/sun/tools/internal/xjc/api/impl/j2s/JavaCompilerImpl.java	Tue Aug  4 09:31:24 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/api/impl/j2s/JavaCompilerImpl.java	Tue Aug  4 09:31:23 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.api.impl.j2s;
- 
- import java.util.Collection;
---- old/src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/AbstractMappingImpl.java	Tue Aug  4 09:31:26 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/AbstractMappingImpl.java	Tue Aug  4 09:31:26 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.api.impl.s2j;
- 
- import java.util.ArrayList;
---- old/src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/BeanMappingImpl.java	Tue Aug  4 09:31:28 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/BeanMappingImpl.java	Tue Aug  4 09:31:28 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.api.impl.s2j;
- 
- import java.util.List;
---- old/src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/DowngradingErrorHandler.java	Tue Aug  4 09:31:30 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/DowngradingErrorHandler.java	Tue Aug  4 09:31:30 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.api.impl.s2j;
- 
- import org.xml.sax.ErrorHandler;
---- old/src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/ElementAdapter.java	Tue Aug  4 09:31:33 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/ElementAdapter.java	Tue Aug  4 09:31:32 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.api.impl.s2j;
- 
- import javax.xml.bind.JAXBElement;
---- old/src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/ElementCollectionAdapter.java	Tue Aug  4 09:31:35 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/ElementCollectionAdapter.java	Tue Aug  4 09:31:34 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.api.impl.s2j;
- 
- import java.util.ArrayList;
---- old/src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/ElementMappingImpl.java	Tue Aug  4 09:31:37 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/ElementMappingImpl.java	Tue Aug  4 09:31:37 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.api.impl.s2j;
- 
- import java.util.List;
---- old/src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/ElementSingleAdapter.java	Tue Aug  4 09:31:39 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/ElementSingleAdapter.java	Tue Aug  4 09:31:39 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.api.impl.s2j;
- 
- import javax.xml.bind.JAXBElement;
---- old/src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/PropertyImpl.java	Tue Aug  4 09:31:41 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/PropertyImpl.java	Tue Aug  4 09:31:41 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.api.impl.s2j;
- 
- import javax.xml.namespace.QName;
---- old/src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/SchemaCompilerImpl.java	Tue Aug  4 09:31:44 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/SchemaCompilerImpl.java	Tue Aug  4 09:31:43 2009
-@@ -201,6 +201,11 @@
- //        if(!forest.checkSchemaCorrectness(this))
- //            return null;
- 
-+        // parse all the binding files given via XJC -b options.
-+        // this also takes care of the binding files given in the -episode option.
-+        for (InputSource is : opts.getBindFiles())
-+            parseSchema(is);
-+
-         // internalization
-         SCDBasedBindingSet scdBasedBindingSet = forest.transform(opts.isExtensionMode());
- 
-@@ -283,7 +288,7 @@
- 
-     static {
-         try {
--            NO_CORRECTNESS_CHECK = Boolean.getBoolean(SchemaCompilerImpl.class+".noCorrectnessCheck");
-+            NO_CORRECTNESS_CHECK = Boolean.getBoolean(SchemaCompilerImpl.class.getName()+".noCorrectnessCheck");
-         } catch( Throwable t) {
-             // ignore
-         }
---- old/src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/TypeAndAnnotationImpl.java	Tue Aug  4 09:31:46 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/api/impl/s2j/TypeAndAnnotationImpl.java	Tue Aug  4 09:31:45 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.api.impl.s2j;
- 
- import javax.xml.bind.annotation.XmlAttachmentRef;
---- old/src/share/classes/com/sun/tools/internal/xjc/api/package.html	Tue Aug  4 09:31:48 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/api/package.html	Tue Aug  4 09:31:48 2009
-@@ -58,4 +58,4 @@
- <h2>Implementation Note</h2>
- <p>
- This package shouldn't contain any implementation code.
--</body></html> 
-+</body></html>
---- old/src/share/classes/com/sun/tools/internal/xjc/api/util/APTClassLoader.java	Tue Aug  4 09:31:50 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/api/util/APTClassLoader.java	Tue Aug  4 09:31:50 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.api.util;
- 
- import java.io.ByteArrayOutputStream;
---- old/src/share/classes/com/sun/tools/internal/xjc/api/util/FilerCodeWriter.java	Tue Aug  4 09:31:52 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/api/util/FilerCodeWriter.java	Tue Aug  4 09:31:52 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.api.util;
- 
- import java.io.File;
---- old/src/share/classes/com/sun/tools/internal/xjc/api/util/Messages.properties	Tue Aug  4 09:31:55 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/api/util/Messages.properties	Tue Aug  4 09:31:54 2009
-@@ -25,5 +25,3 @@
- 
- TOOLS_JAR_NOT_FOUND = \
-     JDK''s tools.jar was not found in {0}. Usually this means you are running JRE, not JDK. Please use the java command in JDK 5.0 or later (not JRE.)
-- 
-- 
---- old/src/share/classes/com/sun/tools/internal/xjc/api/util/ToolsJarNotFoundException.java	Tue Aug  4 09:31:57 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/api/util/ToolsJarNotFoundException.java	Tue Aug  4 09:31:56 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.api.util;
- 
- import java.io.File;
---- old/src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlElementRefWriter.java	Tue Aug  4 09:31:59 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/generator/annotation/spec/XmlElementRefWriter.java	Tue Aug  4 09:31:59 2009
-@@ -41,4 +41,6 @@
- 
-     XmlElementRefWriter namespace(String value);
- 
-+    XmlElementRefWriter required(boolean value);
-+
- }
---- old/src/share/classes/com/sun/tools/internal/xjc/generator/bean/BeanGenerator.java	Tue Aug  4 09:32:01 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/generator/bean/BeanGenerator.java	Tue Aug  4 09:32:01 2009
-@@ -101,6 +101,7 @@
- import com.sun.xml.internal.bind.v2.runtime.SwaRefAdapter;
- import com.sun.xml.internal.xsom.XmlString;
- import com.sun.istack.internal.NotNull;
-+import com.sun.tools.internal.xjc.model.CReferencePropertyInfo;
- 
- /**
-  * Generates fields and accessors.
-@@ -456,7 +457,6 @@
-     private void generateClassBody( ClassOutlineImpl cc ) {
-         CClassInfo target = cc.target;
- 
--
-         // if serialization support is turned on, generate
-         // [RESULT]
-         // class ... implements Serializable {
-@@ -509,7 +509,10 @@
-         if(target.isOrdered()) {
-             for(CPropertyInfo p : target.getProperties() ) {
-                 if( ! (p instanceof CAttributePropertyInfo )) {
--                    xtw.propOrder(p.getName(false));
-+                    if (!( (p instanceof CReferencePropertyInfo) &&
-+                           ((CReferencePropertyInfo)p).isDummy())) {
-+                        xtw.propOrder(p.getName(false));
-+                    }
-                 }
-             }
-         } else {
-@@ -730,10 +733,9 @@
-             // none is specified. use the default factory
-             fr = model.options.getFieldRendererFactory().getDefault();
- 
--        FieldOutline field = fr.generate(cc,prop);
-+        FieldOutline field = fr.generate(cc, prop);
-         fields.put(prop,field);
- 
--
-         return field;
-     }
- 
---- old/src/share/classes/com/sun/tools/internal/xjc/generator/bean/DualObjectFactoryGenerator.java	Tue Aug  4 09:32:03 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/generator/bean/DualObjectFactoryGenerator.java	Tue Aug  4 09:32:03 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.generator.bean;
- 
- import com.sun.codemodel.internal.JDefinedClass;
---- old/src/share/classes/com/sun/tools/internal/xjc/generator/bean/ElementOutlineImpl.java	Tue Aug  4 09:32:06 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/generator/bean/ElementOutlineImpl.java	Tue Aug  4 09:32:05 2009
-@@ -22,8 +22,10 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.generator.bean;
- 
-+
- import javax.xml.bind.JAXBElement;
- import javax.xml.namespace.QName;
- 
-@@ -31,6 +33,7 @@
- import com.sun.codemodel.internal.JCodeModel;
- import com.sun.codemodel.internal.JExpr;
- import com.sun.codemodel.internal.JExpression;
-+import com.sun.codemodel.internal.JFieldVar;
- import com.sun.codemodel.internal.JInvocation;
- import com.sun.codemodel.internal.JMethod;
- import com.sun.codemodel.internal.JMod;
-@@ -71,15 +74,24 @@
-             if(ei.getScope()!=null)
-                 scope = parent.getClazz(ei.getScope()).implRef;
-             JExpression scopeClass = scope==null?JExpr._null():scope.dotclass();
-+            JFieldVar valField = implClass.field(JMod.PROTECTED|JMod.FINAL|JMod.STATIC,QName.class,"NAME",createQName(cm,ei.getElementName()));
- 
-             // take this opportunity to generate a constructor in the element class
-             JMethod cons = implClass.constructor(JMod.PUBLIC);
-             cons.body().invoke("super")
--                .arg(implClass.field(JMod.PROTECTED|JMod.FINAL|JMod.STATIC,QName.class,"NAME",createQName(cm,ei.getElementName())))
-+                .arg(valField)
-                 .arg(declaredType)
-                 .arg(scopeClass)
-                 .arg(cons.param(implType,"value"));
- 
-+            // generate no-arg constructor in the element class (bug #391; section 5.6.2 in JAXB spec 2.1)
-+            JMethod noArgCons = implClass.constructor(JMod.PUBLIC);
-+            noArgCons.body().invoke("super")
-+                .arg(valField)
-+                .arg(declaredType)
-+                .arg(scopeClass)
-+                .arg(JExpr._null());
-+
-         }
-     }
- 
---- old/src/share/classes/com/sun/tools/internal/xjc/generator/bean/ImplStructureStrategy.java	Tue Aug  4 09:32:08 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/generator/bean/ImplStructureStrategy.java	Tue Aug  4 09:32:08 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- /*
-  * Use is subject to the license terms.
-  */
---- old/src/share/classes/com/sun/tools/internal/xjc/generator/bean/MessageBundle.properties	Tue Aug  4 09:32:10 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/generator/bean/MessageBundle.properties	Tue Aug  4 09:32:10 2009
-@@ -24,14 +24,14 @@
- #
- 
- METHOD_COLLISION = \
--	The "{0}" method is defined on both "{1}" and "{2}" and is causing a collision.
-+        The "{0}" method is defined on both "{1}" and "{2}" and is causing a collision.
- 
- ERR_UNUSABLE_NAME = \
--	Cannot derive a valid Java identifier from "{0}". Specify a customization to change the name.
-+        Cannot derive a valid Java identifier from "{0}". Specify a customization to change the name.
- 
- ERR_NAME_COLLISION = \
--	Type-safe enum has more than one values that share the same name "{0}". \
--	Use a typesafeEnumMemberName customization to resolve this conflict.
-+        Type-safe enum has more than one values that share the same name "{0}". \
-+        Use a typesafeEnumMemberName customization to resolve this conflict.
- 
- ILLEGAL_CONSTRUCTOR_PARAM = \
-     Illegal constructor parameter {0}
-@@ -40,5 +40,4 @@
-     Two declarations cause a collision in the ObjectFactory class.
- 
- OBJECT_FACTORY_CONFLICT_RELATED = \
--    (Related to above error) This is the other declaration.   
-- 
-+    (Related to above error) This is the other declaration.
---- old/src/share/classes/com/sun/tools/internal/xjc/generator/bean/MethodWriter.java	Tue Aug  4 09:32:12 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/generator/bean/MethodWriter.java	Tue Aug  4 09:32:12 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- /*
-  * Use is subject to the license terms.
-  */
---- old/src/share/classes/com/sun/tools/internal/xjc/generator/bean/ObjectFactoryGeneratorImpl.java	Tue Aug  4 09:32:15 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/generator/bean/ObjectFactoryGeneratorImpl.java	Tue Aug  4 09:32:14 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.generator.bean;
- 
- import java.util.Collection;
-@@ -29,6 +30,7 @@
- import java.util.Map;
- 
- import javax.xml.bind.JAXBException;
-+import javax.xml.bind.annotation.XmlInlineBinaryData;
- import javax.xml.namespace.QName;
- 
- import com.sun.codemodel.internal.JClass;
-@@ -157,7 +159,7 @@
- 
-         JClass scope=null;
-         if(ei.getScope()!=null)
--            scope = outline.getClazz(ei.getScope()).implRef;
-+            scope = outline.getClazz(ei.getScope()).implClass;
- 
- 
-         JMethod m;
-@@ -244,7 +246,10 @@
-         if(ei.getDefaultValue()!=null)
-             xemw.defaultValue(ei.getDefaultValue());
- 
--        // if the element is adapter, put that annotation on the factory method
-+        if(ei.getProperty().inlineBinaryData())
-+            m.annotate(XmlInlineBinaryData.class);
-+
-+                    // if the element is adapter, put that annotation on the factory method
-         outline.generateAdapterIfNecessary(ei.getProperty(),m);
-     }
- 
---- old/src/share/classes/com/sun/tools/internal/xjc/generator/bean/PackageOutlineImpl.java	Tue Aug  4 09:32:17 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/generator/bean/PackageOutlineImpl.java	Tue Aug  4 09:32:16 2009
-@@ -216,6 +216,11 @@
-      * Iterate through the hash map looking for the namespace used
-      * most frequently.  Ties are arbitrarily broken by the order
-      * in which the map keys are iterated over.
-+     *
-+     * <p>
-+     * Because JAX-WS often reassigns the "" namespace URI,
-+     * and when that happens it unintentionally also renames (normally
-+     * unqualified) local elements, prefer non-"" URI when there's a tie.
-      */
-     private String getMostUsedURI(HashMap<String, Integer> map) {
-         String mostPopular = null;
-@@ -228,7 +233,7 @@
-                 mostPopular = uri;
-                 count = uriCount;
-             } else {
--                if (uriCount > count) {
-+                if (uriCount > count || (uriCount==count && mostPopular.equals(""))) {
-                     mostPopular = uri;
-                     count = uriCount;
-                 }
---- old/src/share/classes/com/sun/tools/internal/xjc/generator/bean/PrivateObjectFactoryGenerator.java	Tue Aug  4 09:32:19 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/generator/bean/PrivateObjectFactoryGenerator.java	Tue Aug  4 09:32:19 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.generator.bean;
- 
- import javax.xml.bind.JAXBContext;
---- old/src/share/classes/com/sun/tools/internal/xjc/generator/bean/PublicObjectFactoryGenerator.java	Tue Aug  4 09:32:21 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/generator/bean/PublicObjectFactoryGenerator.java	Tue Aug  4 09:32:21 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.generator.bean;
- 
- import com.sun.codemodel.internal.JPackage;
---- old/src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/AbstractField.java	Tue Aug  4 09:32:23 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/AbstractField.java	Tue Aug  4 09:32:23 2009
-@@ -33,6 +33,7 @@
- import javax.xml.bind.annotation.XmlMixed;
- import javax.xml.bind.annotation.XmlNsForm;
- import javax.xml.bind.annotation.XmlValue;
-+import javax.xml.bind.annotation.XmlInlineBinaryData;
- import javax.xml.namespace.QName;
- 
- import com.sun.codemodel.internal.JAnnotatable;
-@@ -67,6 +68,9 @@
- import com.sun.tools.internal.xjc.outline.FieldAccessor;
- import com.sun.tools.internal.xjc.outline.FieldOutline;
- import com.sun.tools.internal.xjc.reader.TypeUtil;
-+import com.sun.tools.internal.xjc.Options;
-+import com.sun.tools.internal.xjc.api.SpecVersion;
-+import com.sun.xml.internal.bind.api.impl.NameConverter;
- import com.sun.xml.internal.bind.v2.TODO;
- 
- /**
-@@ -148,6 +152,9 @@
-             field.annotate2(XmlSchemaTypeWriter.class)
-                 .name(st.getLocalPart())
-                 .namespace(st.getNamespaceURI());
-+
-+        if(prop.inlineBinaryData())
-+            field.annotate(XmlInlineBinaryData.class);
-     }
- 
-     private void annotateReference(JAnnotatable field) {
-@@ -165,6 +172,8 @@
-             refw.name(e.getElementName().getLocalPart())
-                 .namespace(e.getElementName().getNamespaceURI())
-                 .type(e.getType().toType(outline.parent(),IMPLEMENTATION));
-+            if(getOptions().target.isLaterThan(SpecVersion.V2_2))
-+                refw.required(rp.isRequired());
-         } else
-         if(elements.size()>1) {
-             XmlElementRefsWriter refsw = field.annotate2(XmlElementRefsWriter.class);
-@@ -173,6 +182,8 @@
-                 refw.name(e.getElementName().getLocalPart())
-                     .namespace(e.getElementName().getNamespaceURI())
-                     .type(e.getType().toType(outline.parent(),IMPLEMENTATION));
-+                if(getOptions().target.isLaterThan(SpecVersion.V2_2))
-+                    refw.required(rp.isRequired());
-             }
-         }
- 
-@@ -244,9 +255,15 @@
- 
-         // these values are used to determine how to optimize the generated annotation
-         XmlNsForm formDefault = parent()._package().getElementFormDefault();
--        String mostUsedURI = parent()._package().getMostUsedNamespaceURI();
-         String propName = prop.getName(false);
- 
-+        String enclosingTypeNS;
-+
-+        if(parent().target.getTypeName()==null)
-+            enclosingTypeNS = parent()._package().getMostUsedNamespaceURI();
-+        else
-+            enclosingTypeNS = parent().target.getTypeName().getNamespaceURI();
-+
-         // generate the name property?
-         String generatedName = ctype.getTagName().getLocalPart();
-         if(!generatedName.equals(propName)) {
-@@ -256,7 +273,7 @@
- 
-         // generate the namespace property?
-         String generatedNS = ctype.getTagName().getNamespaceURI();
--        if (((formDefault == XmlNsForm.QUALIFIED) && !generatedNS.equals(mostUsedURI)) ||
-+        if (((formDefault == XmlNsForm.QUALIFIED) && !generatedNS.equals(enclosingTypeNS)) ||
-                 ((formDefault == XmlNsForm.UNQUALIFIED) && !generatedNS.equals(""))) {
-             if(xew == null) xew = getXew(checkWrapper, field);
-             xew.namespace(generatedNS);
-@@ -281,7 +298,7 @@
-         // when generating code for 1.4, the runtime can't infer that ArrayList<Foo> derives
-         // from Collection<Foo> (because List isn't parameterized), so always expclitly
-         // generate @XmlElement(type=...)
--        if( !jtype.equals(exposedType) || (parent().parent().getModel().options.runtime14 && prop.isCollection())) {
-+        if( !jtype.equals(exposedType) || (getOptions().runtime14 && prop.isCollection())) {
-             if(xew == null) xew = getXew(checkWrapper, field);
-             xew.type(jtype);
-         }
-@@ -300,6 +317,13 @@
-         }
-     }
- 
-+    /**
-+     * Gets the {@link Options} in the current compilation context.
-+     */
-+    protected final Options getOptions() {
-+        return parent().parent().getModel().options;
-+    }
-+
-     // ugly hack to lazily create
-     private XmlElementsWriter xesw = null;
- 
-@@ -330,8 +354,9 @@
-         final String generatedName = attName.getLocalPart();
-         final String generatedNS = attName.getNamespaceURI();
- 
-+        // Issue 570; always force generating name="" when do it when globalBindings underscoreBinding is set to non default value
-         // generate name property?
--        if(!generatedName.equals(ap.getName(false))) {
-+        if(!generatedName.equals(ap.getName(false)) || (outline.parent().getModel().getNameConverter() != NameConverter.standard)) {
-             xaw.name(generatedName);
-         }
- 
---- old/src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/AbstractFieldWithVar.java	Tue Aug  4 09:32:26 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/AbstractFieldWithVar.java	Tue Aug  4 09:32:25 2009
-@@ -31,6 +31,7 @@
- import com.sun.codemodel.internal.JMod;
- import com.sun.codemodel.internal.JType;
- import com.sun.codemodel.internal.JVar;
-+import com.sun.tools.internal.xjc.api.SpecVersion;
- import com.sun.tools.internal.xjc.generator.bean.ClassOutlineImpl;
- import com.sun.tools.internal.xjc.model.CPropertyInfo;
- 
-@@ -71,7 +72,13 @@
-      * {@code isXXXX} as the method name.
-      */
-     protected String getGetterMethod() {
--        return (getFieldType().boxify().getPrimitiveType()==codeModel.BOOLEAN?"is":"get")+prop.getName(true);
-+        if (getOptions().target.isLaterThan(SpecVersion.V2_2)) {
-+            return ((getFieldType().isPrimitive() &&
-+                     getFieldType().boxify().getPrimitiveType()==codeModel.BOOLEAN) ?
-+                         "is":"get") + prop.getName(true);
-+        } else {
-+            return (getFieldType().boxify().getPrimitiveType()==codeModel.BOOLEAN?"is":"get")+prop.getName(true);
-+        }
-     }
- 
-     /**
-@@ -98,7 +105,11 @@
-         protected final JFieldRef $ref;
- 
-         public final void toRawValue(JBlock block, JVar $var) {
--            block.assign($var,$target.invoke(getGetterMethod()));
-+            if (getOptions().target.isLaterThan(SpecVersion.V2_2)) {
-+                block.assign($var,$target.invoke(getGetterMethod()));
-+            } else {
-+                block.assign($var,$target.invoke(getGetterMethod()));
-+            }
-         }
- 
-         public final void fromRawValue(JBlock block, String uniqueName, JExpression $var) {
---- old/src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/AbstractListField.java	Tue Aug  4 09:32:28 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/AbstractListField.java	Tue Aug  4 09:32:28 2009
-@@ -45,7 +45,7 @@
-  * its underlying data structure.
-  *
-  * <p>
-- * For performance reaons, the actual list object used to store
-+ * For performance reasons, the actual list object used to store
-  * data is lazily created.
-  *
-  * @author
-@@ -136,7 +136,7 @@
-             .assign(field,newCoreList());
-     }
- 
--    public final JType getRawType() {
-+    public JType getRawType() {
-         return codeModel.ref(List.class).narrow(exposedType.boxify());
-     }
- 
---- old/src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/ArrayField.java	Tue Aug  4 09:32:30 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/ArrayField.java	Tue Aug  4 09:32:30 2009
-@@ -24,10 +24,8 @@
-  */
- package com.sun.tools.internal.xjc.generator.bean.field;
- 
--import java.util.ArrayList;
--import java.util.Arrays;
-+import com.sun.codemodel.internal.JAssignmentTarget;
- import java.util.List;
--
- import com.sun.codemodel.internal.JBlock;
- import com.sun.codemodel.internal.JClass;
- import com.sun.codemodel.internal.JExpr;
-@@ -34,6 +32,7 @@
- import com.sun.codemodel.internal.JExpression;
- import com.sun.codemodel.internal.JForLoop;
- import com.sun.codemodel.internal.JMethod;
-+import com.sun.codemodel.internal.JMod;
- import com.sun.codemodel.internal.JOp;
- import com.sun.codemodel.internal.JType;
- import com.sun.codemodel.internal.JVar;
-@@ -69,12 +68,18 @@
-         }
- 
-         public void toRawValue(JBlock block, JVar $var) {
--            block.assign($var,codeModel.ref(Arrays.class).staticInvoke("asList").arg($target.invoke($getAll)));
-+            block.assign($var,$target.invoke($getAll));
-         }
- 
-         public void fromRawValue(JBlock block, String uniqueName, JExpression $var) {
--            block.invoke($target,$setAll).arg($var.invoke("toArray").arg(JExpr.newArray(exposedType,$var.invoke("size"))));
-+            block.invoke($target,$setAll).arg($var);
-         }
-+
-+        @Override
-+        public JExpression hasSetValue() {
-+            return field.ne(JExpr._null()).cand(field.ref("length").gt(JExpr.lit(0)));
-+        }
-+
-     }
- 
-     private JMethod $setAll;
-@@ -83,20 +88,28 @@
- 
-     ArrayField(ClassOutlineImpl context, CPropertyInfo prop) {
-         super(context,prop,false);
--        generate();
-+        generateArray();
-     }
- 
-+    protected final void generateArray() {
-+        field = outline.implClass.field( JMod.PROTECTED, getCoreListType(), prop.getName(false) );
-+        annotate(field);
-+
-+        // generate the rest of accessors
-+        generateAccessors();
-+    }
-+
-     public void generateAccessors() {
- 
-         MethodWriter writer = outline.createMethodWriter();
-         Accessor acc = create(JExpr._this());
--
-         JVar $idx,$value; JBlock body;
--        JType arrayType = exposedType.array();
- 
-         // [RESULT] T[] getX() {
-         //     if( <var>==null )    return new T[0];
--        //     return (T[]) <var>.toArray(new T[<var>.size()]);
-+        //     T[] retVal = new T[this._return.length] ;
-+        //     System.arraycopy(this._return, 0, "retVal", 0, this._return.length);
-+        //     return (retVal);
-         // }
-         $getAll = writer.declareMethod( exposedType.array(),"get"+prop.getName(true));
-         writer.javadoc().append(prop.javadoc);
-@@ -104,26 +117,13 @@
- 
-         body._if( acc.ref(true).eq(JExpr._null()) )._then()
-             ._return(JExpr.newArray(exposedType,0));
-+        JVar var = body.decl(exposedType.array(), "retVal", JExpr.newArray(implType,acc.ref(true).ref("length")));
-+        body.add(codeModel.ref(System.class).staticInvoke("arraycopy")
-+                        .arg(acc.ref(true)).arg(JExpr.lit(0))
-+                        .arg(var)
-+                        .arg(JExpr.lit(0)).arg(acc.ref(true).ref("length")));
-+        body._return(JExpr.direct("retVal"));
- 
--        if(primitiveType==null) {
--            body._return(JExpr.cast(arrayType,
--                acc.ref(true).invoke("toArray").arg( JExpr.newArray(implType,acc.ref(true).invoke("size")) )));
--        } else {
--            // need to copy them manually to unbox values
--            // [RESULT]
--            // T[] r = new T[<ref>.size()];
--            // for( int i=0; i<r.length; i++ )
--            //     r[i] = unbox(<ref>.get(i));
--            JVar $r = body.decl(exposedType.array(),"r",JExpr.newArray(exposedType, acc.ref(true).invoke("size")));
--            JForLoop loop = body._for();
--            JVar $i = loop.init(codeModel.INT,"__i",JExpr.lit(0));
--            loop.test($i.lt($r.ref("length")));
--            loop.update($i.incr());
--            loop.body().assign( $r.component($i),
--                primitiveType.unwrap(acc.ref(true).invoke("get").arg($i)) );
--            body._return($r);
--        }
--
-         List<Object> returnTypes = listPossibleTypes(prop);
-         writer.javadoc().addReturn().append("array of\n").append(returnTypes);
- 
-@@ -139,26 +139,23 @@
-             ._throw(JExpr._new(codeModel.ref(IndexOutOfBoundsException.class)));
- 
-         writer.javadoc().append(prop.javadoc);
--        $get.body()._return(acc.unbox(acc.ref(true).invoke("get").arg($idx) ));
-+        $get.body()._return(acc.ref(true).component($idx));
- 
-         writer.javadoc().addReturn().append("one of\n").append(returnTypes);
- 
--
-         // [RESULT] int getXLength() {
-         //     if( <var>==null )    throw new IndexOutOfBoundsException();
--        //     return <ref>.size();
-+        //     return <ref>.length;
-         // }
-         JMethod $getLength = writer.declareMethod(codeModel.INT,"get"+prop.getName(true)+"Length");
-         $getLength.body()._if(acc.ref(true).eq(JExpr._null()))._then()
-                 ._return(JExpr.lit(0));
--        $getLength.body()._return(acc.ref(true).invoke("size"));
-+        $getLength.body()._return(acc.ref(true).ref("length"));
- 
--
-         // [RESULT] void setX(ET[] values) {
--        //     clear();
-         //     int len = values.length;
-         //     for( int i=0; i<len; i++ )
--        //         <ref>.add(values[i]);
-+        //         <ref>[i] = values[i];
-         // }
-         $setAll = writer.declareMethod(
-             codeModel.VOID,
-@@ -165,21 +162,27 @@
-             "set"+prop.getName(true));
- 
-         writer.javadoc().append(prop.javadoc);
--
-         $value = writer.addParameter(exposedType.array(),"values");
--        $setAll.body().invoke(acc.ref(false),"clear");
-         JVar $len = $setAll.body().decl(codeModel.INT,"len", $value.ref("length"));
-+
-+        $setAll.body().assign(
-+                (JAssignmentTarget) acc.ref(true),
-+                castToImplTypeArray(JExpr.newArray(
-+                    codeModel.ref(exposedType.erasure().fullName()),
-+                    $len)));
-+
-         JForLoop _for = $setAll.body()._for();
-         JVar $i = _for.init( codeModel.INT, "i", JExpr.lit(0) );
-         _for.test( JOp.lt($i,$len) );
-         _for.update( $i.incr() );
--        _for.body().invoke(acc.ref(true),"add").arg(castToImplType(acc.box($value.component($i))));
-+        _for.body().assign(acc.ref(true).component($i), castToImplType(acc.box($value.component($i))));
- 
-         writer.javadoc().addParam($value)
-             .append("allowed objects are\n")
-             .append(returnTypes);
- 
--        // [RESULT] ET setX(int,ET)
-+        // [RESULT] ET setX(int idx, ET value)
-+        // <ref>[idx] = value
-         JMethod $set = writer.declareMethod(
-             exposedType,
-             "set"+prop.getName(true));
-@@ -189,19 +192,33 @@
-         writer.javadoc().append(prop.javadoc);
- 
-         body = $set.body();
--        body._return( acc.unbox(
--            acc.ref(true).invoke("set").arg($idx).arg(castToImplType(acc.box($value)))));
-+        body._return( JExpr.assign(acc.ref(true).component($idx),
-+                                   castToImplType(acc.box($value))));
- 
-         writer.javadoc().addParam($value)
-             .append("allowed object is\n")
-             .append(returnTypes);
-+
-     }
- 
-+    @Override
-+    public JType getRawType() {
-+        return exposedType.array();
-+    }
-+
-     protected JClass getCoreListType() {
--        return codeModel.ref(ArrayList.class).narrow(exposedType.boxify());
-+        return exposedType.array();
-     }
- 
-     public Accessor create(JExpression targetObject) {
-         return new Accessor(targetObject);
-     }
-+
-+    /**
-+     * Case from {@link #exposedType} to array of {@link #implType} .
-+     */
-+    protected final JExpression castToImplTypeArray( JExpression exp ) {
-+        return JExpr.cast(implType.array(), exp);
-+    }
-+
- }
---- old/src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/ConstFieldRenderer.java	Tue Aug  4 09:32:32 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/ConstFieldRenderer.java	Tue Aug  4 09:32:32 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.generator.bean.field;
- 
- import com.sun.tools.internal.xjc.generator.bean.ClassOutlineImpl;
-@@ -48,7 +49,7 @@
- 
-     public FieldOutline generate(ClassOutlineImpl outline, CPropertyInfo prop) {
-         if(prop.defaultValue.compute(outline.parent())==null)
--            return fallback.generate(outline,prop);
-+            return fallback.generate(outline, prop);
-         else
-             return new ConstField(outline,prop);
-     }
---- old/src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/DefaultFieldRenderer.java	Tue Aug  4 09:32:35 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/DefaultFieldRenderer.java	Tue Aug  4 09:32:34 2009
-@@ -27,8 +27,12 @@
- import java.util.ArrayList;
- 
- import com.sun.tools.internal.xjc.generator.bean.ClassOutlineImpl;
-+import com.sun.tools.internal.xjc.model.CElement;
- import com.sun.tools.internal.xjc.model.CPropertyInfo;
-+import com.sun.tools.internal.xjc.model.CReferencePropertyInfo;
- import com.sun.tools.internal.xjc.outline.FieldOutline;
-+import java.io.Serializable;
-+import java.util.Set;
- 
- /**
-  * Default implementation of the FieldRendererFactory
-@@ -64,7 +68,18 @@
-         return decideRenderer(outline,prop).generate(outline,prop);
-     }
- 
--    private FieldRenderer decideRenderer(ClassOutlineImpl outline,CPropertyInfo prop) {
-+    private FieldRenderer decideRenderer(ClassOutlineImpl outline, CPropertyInfo prop) {
-+
-+        if (prop instanceof CReferencePropertyInfo) {
-+            CReferencePropertyInfo p = (CReferencePropertyInfo)prop;
-+            if (p.isDummy()) {
-+                return frf.getDummyList(outline.parent().getCodeModel().ref(ArrayList.class));
-+            }
-+            if (p.isContent() && (p.isMixedExtendedCust())) {
-+                return frf.getContentList(outline.parent().getCodeModel().ref(ArrayList.class).narrow(Serializable.class));
-+            }
-+        }
-+
-         if(!prop.isCollection()) {
-             // non-collection field
- 
---- old/src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/FieldRenderer.java	Tue Aug  4 09:32:37 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/FieldRenderer.java	Tue Aug  4 09:32:37 2009
-@@ -59,7 +59,7 @@
-      * class, then return {@link FieldOutline} for accessing
-      * the generated field.
-      */
--    public FieldOutline generate( ClassOutlineImpl context, CPropertyInfo prop );
-+    public FieldOutline generate( ClassOutlineImpl context, CPropertyInfo prop);
- 
- //    //
- //    // field renderers
---- old/src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/FieldRendererFactory.java	Tue Aug  4 09:32:39 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/FieldRendererFactory.java	Tue Aug  4 09:32:39 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.generator.bean.field;
- 
- import com.sun.tools.internal.xjc.Options;
-@@ -67,6 +68,12 @@
-     public FieldRenderer getList(JClass coreList) {
-         return new UntypedListFieldRenderer(coreList);
-     }
-+    public FieldRenderer getContentList(JClass coreList) {
-+        return new UntypedListFieldRenderer(coreList, false, true);
-+    }
-+    public FieldRenderer getDummyList(JClass coreList) {
-+        return new UntypedListFieldRenderer(coreList, true, false);
-+    }
-     public FieldRenderer getConst(FieldRenderer fallback) {
-         return new ConstFieldRenderer(fallback);
-     }
---- old/src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/IsSetFieldRenderer.java	Tue Aug  4 09:32:41 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/IsSetFieldRenderer.java	Tue Aug  4 09:32:41 2009
-@@ -56,7 +56,7 @@
- 
-     public FieldOutline generate(ClassOutlineImpl context, CPropertyInfo prop) {
-         return new IsSetField(context,prop,
--            core.generate(context,prop),
-+            core.generate(context, prop),
-             generateUnSetMethod,generateIsSetMethod);
-     }
- }
---- old/src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/MessageBundle.properties	Tue Aug  4 09:32:44 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/MessageBundle.properties	Tue Aug  4 09:32:43 2009
-@@ -28,4 +28,3 @@
- 
- DEFAULT_GETTER_JAVADOC = \
-         Gets the value of the {0} property.
-- 
---- old/src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/Messages.java	Tue Aug  4 09:32:46 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/Messages.java	Tue Aug  4 09:32:45 2009
-@@ -31,7 +31,7 @@
- /**
-  * Message resources
-  */
--enum Messages {
-+public enum Messages {
-     DEFAULT_GETTER_JAVADOC,     // 1 arg
-     DEFAULT_SETTER_JAVADOC,     // 1 arg
-     ;
---- old/src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/SingleField.java	Tue Aug  4 09:32:48 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/SingleField.java	Tue Aug  4 09:32:48 2009
-@@ -131,10 +131,8 @@
-         JBlock body = $set.body();
-         body.assign(JExpr._this().ref(ref()),castToImplType($value));
- 
--        javadoc = prop.javadoc;
--        if(javadoc.length()==0)
--            javadoc = Messages.DEFAULT_SETTER_JAVADOC.format(nc.toVariableName(prop.getName(true)));
--        writer.javadoc().append(javadoc);
-+        // setter always get the default javadoc. See issue #381
-+        writer.javadoc().append(Messages.DEFAULT_SETTER_JAVADOC.format(nc.toVariableName(prop.getName(true))));
-         writer.javadoc().addParam($value)
-             .append("allowed object is\n")
-             .append(possibleTypes);
---- old/src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/SinglePrimitiveAccessField.java	Tue Aug  4 09:32:50 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/SinglePrimitiveAccessField.java	Tue Aug  4 09:32:50 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.generator.bean.field;
- 
- import com.sun.tools.internal.xjc.generator.bean.ClassOutlineImpl;
---- old/src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/UnboxedField.java	Tue Aug  4 09:32:52 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/UnboxedField.java	Tue Aug  4 09:32:52 2009
-@@ -92,10 +92,8 @@
-         JVar $value = writer.addParameter( ptype, "value" );
-         body = $set.body();
-         body.assign(JExpr._this().ref(ref()),$value);
--        javadoc = prop.javadoc;
--        if(javadoc.length()==0)
--            javadoc = Messages.DEFAULT_SETTER_JAVADOC.format(nc.toVariableName(prop.getName(true)));
--        writer.javadoc().append(javadoc);
-+        // setter always get the default javadoc. See issue #381
-+        writer.javadoc().append(Messages.DEFAULT_SETTER_JAVADOC.format(nc.toVariableName(prop.getName(true))));
- 
-     }
- 
---- old/src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/UntypedListFieldRenderer.java	Tue Aug  4 09:32:55 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/generator/bean/field/UntypedListFieldRenderer.java	Tue Aug  4 09:32:54 2009
-@@ -38,12 +38,26 @@
- public final class UntypedListFieldRenderer implements FieldRenderer {
- 
-     private JClass coreList;
-+    private boolean dummy;
-+    private boolean content;
- 
--    protected UntypedListFieldRenderer( JClass coreList ) {
-+    protected UntypedListFieldRenderer( JClass coreList) {
-+        this(coreList, false, false);
-+    }
-+
-+    protected UntypedListFieldRenderer( JClass coreList, boolean dummy, boolean content) {
-         this.coreList = coreList;
-+        this.dummy = dummy;
-+        this.content = content;
-     }
- 
-     public FieldOutline generate(ClassOutlineImpl context, CPropertyInfo prop) {
--        return new UntypedListField(context,prop,coreList);
-+        if (dummy) {
-+            return new DummyListField(context, prop, coreList);
-+        }
-+        if (content) {
-+            return new ContentListField(context, prop, coreList);
-+        }
-+        return new UntypedListField(context, prop, coreList);
-     }
- }
---- old/src/share/classes/com/sun/tools/internal/xjc/generator/package-info.java	Tue Aug  4 09:32:57 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/generator/package-info.java	Tue Aug  4 09:32:56 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- /**
-  * <h1>Code Generator</h1>.
-  *
---- old/src/share/classes/com/sun/tools/internal/xjc/model/AbstractCElement.java	Tue Aug  4 09:32:59 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/model/AbstractCElement.java	Tue Aug  4 09:32:59 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.model;
- 
- import javax.xml.bind.annotation.XmlTransient;
---- old/src/share/classes/com/sun/tools/internal/xjc/model/AbstractCTypeInfoImpl.java	Tue Aug  4 09:33:01 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/model/AbstractCTypeInfoImpl.java	Tue Aug  4 09:33:01 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.model;
- 
- import javax.activation.MimeType;
---- old/src/share/classes/com/sun/tools/internal/xjc/model/AutoClassNameAllocator.java	Tue Aug  4 09:33:03 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/model/AutoClassNameAllocator.java	Tue Aug  4 09:33:03 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.model;
- 
- import java.util.Set;
---- old/src/share/classes/com/sun/tools/internal/xjc/model/CAdapter.java	Tue Aug  4 09:33:06 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/model/CAdapter.java	Tue Aug  4 09:33:05 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.model;
- 
- import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
---- old/src/share/classes/com/sun/tools/internal/xjc/model/CArrayInfo.java	Tue Aug  4 09:33:08 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/model/CArrayInfo.java	Tue Aug  4 09:33:07 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.model;
- 
- import javax.xml.namespace.QName;
-@@ -38,7 +39,12 @@
- import org.xml.sax.Locator;
- 
- /**
-- * TODO: Because s2j doesn't generate the array binding, this is unnecessary.
-+ * Because XJC doesn't generate the array binding, this class will
-+ * never show up in the model constructed by XJC.
-+ *
-+ * <p>
-+ * This class is nevertheless defined to make the type checker happy.
-+ *
-  * @author Kohsuke Kawaguchi
-  */
- public final class CArrayInfo extends AbstractCTypeInfoImpl implements ArrayInfo<NType,NClass>, CNonElement, NType {
---- old/src/share/classes/com/sun/tools/internal/xjc/model/CAttributePropertyInfo.java	Tue Aug  4 09:33:10 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/model/CAttributePropertyInfo.java	Tue Aug  4 09:33:10 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.model;
- 
- import javax.xml.namespace.QName;
---- old/src/share/classes/com/sun/tools/internal/xjc/model/CBuiltinLeafInfo.java	Tue Aug  4 09:33:12 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/model/CBuiltinLeafInfo.java	Tue Aug  4 09:33:12 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.model;
- 
- import java.awt.*;
-@@ -261,7 +262,9 @@
-         }
-     };
-     // XMLGregorianCalendar is mutable, so we can't support default values anyhow.
--    public static final CBuiltinLeafInfo CALENDAR = new NoConstantBuiltin(XMLGregorianCalendar.class,"dateTime");
-+        // For CALENAR we are uses a most unlikely name so as to avoid potential name
-+        // conflicts in the furture.
-+        public static final CBuiltinLeafInfo CALENDAR = new NoConstantBuiltin(XMLGregorianCalendar.class,"\u0000");
-     public static final CBuiltinLeafInfo DURATION = new NoConstantBuiltin(Duration.class,"duration");
- 
-     public static final CBuiltinLeafInfo BIG_INTEGER = new Builtin(BigInteger.class,"integer") {
---- old/src/share/classes/com/sun/tools/internal/xjc/model/CClass.java	Tue Aug  4 09:33:14 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/model/CClass.java	Tue Aug  4 09:33:14 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.model;
- 
- /**
---- old/src/share/classes/com/sun/tools/internal/xjc/model/CClassInfo.java	Tue Aug  4 09:33:16 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/model/CClassInfo.java	Tue Aug  4 09:33:16 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.model;
- 
- import java.util.ArrayList;
-@@ -41,10 +42,15 @@
- import com.sun.codemodel.internal.JCodeModel;
- import com.sun.codemodel.internal.JPackage;
- import com.sun.istack.internal.Nullable;
-+import com.sun.tools.internal.xjc.Language;
-+import com.sun.tools.internal.xjc.Options;
- import com.sun.tools.internal.xjc.model.nav.NClass;
- import com.sun.tools.internal.xjc.model.nav.NType;
- import com.sun.tools.internal.xjc.outline.Aspect;
- import com.sun.tools.internal.xjc.outline.Outline;
-+import com.sun.tools.internal.xjc.reader.Ring;
-+import com.sun.tools.internal.xjc.reader.xmlschema.BGMBuilder;
-+import com.sun.tools.internal.xjc.reader.xmlschema.bindinfo.BIFactoryMethod;
- import com.sun.xml.internal.bind.v2.model.core.ClassInfo;
- import com.sun.xml.internal.bind.v2.model.core.Element;
- import com.sun.xml.internal.xsom.XSComponent;
-@@ -84,6 +90,11 @@
-     private final QName typeName;
- 
-     /**
-+     * Custom {@link #getSqueezedName() squeezed name}, if any.
-+     */
-+    private /*almost final*/ @Nullable String squeezedName;
-+
-+    /**
-      * If this class also gets {@link XmlRootElement}, the class name.
-      */
-     private final @Nullable QName elementName;
-@@ -136,6 +147,16 @@
-         this.typeName = typeName;
-         this.elementName = elementName;
- 
-+        Language schemaLanguage = model.options.getSchemaLanguage();
-+        if ((schemaLanguage != null) &&
-+            (schemaLanguage.equals(Language.XMLSCHEMA) || schemaLanguage.equals(Language.WSDL))) {
-+            BIFactoryMethod factoryMethod = Ring.get(BGMBuilder.class).getBindInfo(source).get(BIFactoryMethod.class);
-+            if(factoryMethod!=null) {
-+                factoryMethod.markAsAcknowledged();
-+                this.squeezedName = factoryMethod.name;
-+            }
-+        }
-+
-         model.add(this);
-     }
- 
-@@ -182,7 +203,7 @@
-      */
-     public boolean inheritsAttributeWildcard() {
-         for( CClassInfo c=getBaseClass(); c!=null; c=c.getBaseClass() ) {
--            if(hasAttributeWildcard)
-+            if(c.hasAttributeWildcard)
-                 return true;
-         }
-         return false;
-@@ -215,6 +236,7 @@
-      */
-     @XmlElement
-     public String getSqueezedName() {
-+        if (squeezedName != null)  return squeezedName;
-         return calcSqueezedName.onBean(this);
-     }
- 
---- old/src/share/classes/com/sun/tools/internal/xjc/model/CClassInfoParent.java	Tue Aug  4 09:33:19 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/model/CClassInfoParent.java	Tue Aug  4 09:33:18 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.model;
- 
- import com.sun.codemodel.internal.JPackage;
---- old/src/share/classes/com/sun/tools/internal/xjc/model/CClassRef.java	Tue Aug  4 09:33:21 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/model/CClassRef.java	Tue Aug  4 09:33:20 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.model;
- 
- import javax.xml.namespace.QName;
---- old/src/share/classes/com/sun/tools/internal/xjc/model/CCustomizable.java	Tue Aug  4 09:33:23 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/model/CCustomizable.java	Tue Aug  4 09:33:23 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.model;
- 
- import com.sun.tools.internal.xjc.Plugin;
---- old/src/share/classes/com/sun/tools/internal/xjc/model/CCustomizations.java	Tue Aug  4 09:33:25 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/model/CCustomizations.java	Tue Aug  4 09:33:25 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.model;
- 
- import java.util.ArrayList;
---- old/src/share/classes/com/sun/tools/internal/xjc/model/CDefaultValue.java	Tue Aug  4 09:33:28 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/model/CDefaultValue.java	Tue Aug  4 09:33:27 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.model;
- 
- import com.sun.codemodel.internal.JExpression;
---- old/src/share/classes/com/sun/tools/internal/xjc/model/CElement.java	Tue Aug  4 09:33:30 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/model/CElement.java	Tue Aug  4 09:33:29 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.model;
- 
- import com.sun.tools.internal.xjc.model.nav.NClass;
---- old/src/share/classes/com/sun/tools/internal/xjc/model/CElementInfo.java	Tue Aug  4 09:33:32 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/model/CElementInfo.java	Tue Aug  4 09:33:31 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.model;
- 
- import java.util.Collection;
-@@ -44,6 +45,10 @@
- import com.sun.tools.internal.xjc.model.nav.NavigatorImpl;
- import com.sun.tools.internal.xjc.outline.Aspect;
- import com.sun.tools.internal.xjc.outline.Outline;
-+import com.sun.tools.internal.xjc.reader.xmlschema.bindinfo.BIInlineBinaryData;
-+import com.sun.tools.internal.xjc.reader.xmlschema.bindinfo.BIFactoryMethod;
-+import com.sun.tools.internal.xjc.reader.xmlschema.BGMBuilder;
-+import com.sun.tools.internal.xjc.reader.Ring;
- import com.sun.xml.internal.bind.v2.model.core.ElementInfo;
- import com.sun.xml.internal.xsom.XSElementDecl;
- import com.sun.xml.internal.xsom.XmlString;
-@@ -100,6 +105,11 @@
-     private CElementPropertyInfo property;
- 
-     /**
-+     * Custom {@link #getSqueezedName() squeezed name}, if any.
-+     */
-+    private /*almost final*/ @Nullable String squeezedName;
-+
-+    /**
-      * Creates an element in the given parent.
-      *
-      * <p>
-@@ -143,10 +153,18 @@
-                 contentType.getExpectedMimeType(),
-                 source,null,getLocator(),true);
-         this.property.setAdapter(contentType.getAdapterUse());
-+        BIInlineBinaryData.handle(source,property);
-         property.getTypes().add(new CTypeRef(contentType.getInfo(),tagName,CTypeRef.getSimpleTypeName(source), true,defaultValue));
-         this.type = NavigatorImpl.createParameterizedType(
-             NavigatorImpl.theInstance.ref(JAXBElement.class),
-             getContentInMemoryType() );
-+
-+        BIFactoryMethod factoryMethod = Ring.get(BGMBuilder.class).getBindInfo(source).get(BIFactoryMethod.class);
-+        if(factoryMethod!=null) {
-+            factoryMethod.markAsAcknowledged();
-+            this.squeezedName = factoryMethod.name;
-+        }
-+
-     }
- 
-     public final String getDefaultValue() {
-@@ -208,6 +226,8 @@
-      */
-     @XmlElement
-     public String getSqueezedName() {
-+        if(squeezedName!=null)  return squeezedName;
-+
-         StringBuilder b = new StringBuilder();
-         CClassInfo s = getScope();
-         if(s!=null)
---- old/src/share/classes/com/sun/tools/internal/xjc/model/CElementPropertyInfo.java	Tue Aug  4 09:33:34 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/model/CElementPropertyInfo.java	Tue Aug  4 09:33:34 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.model;
- 
- import java.util.AbstractList;
---- old/src/share/classes/com/sun/tools/internal/xjc/model/CEnumConstant.java	Tue Aug  4 09:33:36 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/model/CEnumConstant.java	Tue Aug  4 09:33:36 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.model;
- 
- import com.sun.tools.internal.xjc.model.nav.NClass;
---- old/src/share/classes/com/sun/tools/internal/xjc/model/CNonElement.java	Tue Aug  4 09:33:38 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/model/CNonElement.java	Tue Aug  4 09:33:38 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.model;
- 
- import com.sun.tools.internal.xjc.model.nav.NClass;
---- old/src/share/classes/com/sun/tools/internal/xjc/model/CPluginCustomization.java	Tue Aug  4 09:33:41 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/model/CPluginCustomization.java	Tue Aug  4 09:33:40 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.model;
- 
- import com.sun.tools.internal.xjc.Plugin;
---- old/src/share/classes/com/sun/tools/internal/xjc/model/CPropertyInfo.java	Tue Aug  4 09:33:43 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/model/CPropertyInfo.java	Tue Aug  4 09:33:42 2009
-@@ -22,14 +22,15 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.model;
- 
-+import java.lang.annotation.Annotation;
- import java.util.Collection;
- import java.util.Map;
--import java.lang.annotation.Annotation;
- 
--import javax.xml.bind.annotation.XmlTransient;
- import javax.xml.bind.annotation.XmlSchemaType;
-+import javax.xml.bind.annotation.XmlTransient;
- import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
- import javax.xml.namespace.QName;
- 
-@@ -41,12 +42,11 @@
- import com.sun.tools.internal.xjc.model.nav.NClass;
- import com.sun.tools.internal.xjc.model.nav.NType;
- import com.sun.xml.internal.bind.api.impl.NameConverter;
-+import com.sun.xml.internal.bind.v2.WellKnownNamespace;
- import com.sun.xml.internal.bind.v2.model.core.PropertyInfo;
- import com.sun.xml.internal.bind.v2.runtime.RuntimeUtil;
--import com.sun.xml.internal.bind.v2.WellKnownNamespace;
- import com.sun.xml.internal.xsom.XSComponent;
- 
--import org.xml.sax.ErrorHandler;
- import org.xml.sax.Locator;
- 
- /**
-@@ -82,8 +82,13 @@
-     public String javadoc="";
- 
-     /**
--     * Specifies how the field is generated by the backedn.
-+     * Property with {@link @XmlInlineBinaryData}.
-      */
-+    public boolean inlineBinaryData;
-+
-+    /**
-+     * Specifies how the field is generated by the backend.
-+     */
-     @XmlJavaTypeAdapter(RuntimeUtil.ToStringAdapter.class)
-     public FieldRenderer realization;
- 
-@@ -271,11 +276,8 @@
-         return customizations;
-     }
- 
--    /**
--     * @deprecated if you are calling this method directly, there's something wrong.
--     */
-     public boolean inlineBinaryData() {
--        return false;
-+        return inlineBinaryData;
-     }
- 
-     public abstract <V> V accept( CPropertyVisitor<V> visitor );
---- old/src/share/classes/com/sun/tools/internal/xjc/model/CPropertyVisitor.java	Tue Aug  4 09:33:45 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/model/CPropertyVisitor.java	Tue Aug  4 09:33:45 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.model;
- 
- /**
---- old/src/share/classes/com/sun/tools/internal/xjc/model/CReferencePropertyInfo.java	Tue Aug  4 09:33:47 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/model/CReferencePropertyInfo.java	Tue Aug  4 09:33:47 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.model;
- 
- import java.util.Collection;
-@@ -52,6 +53,11 @@
- public final class CReferencePropertyInfo extends CPropertyInfo implements ReferencePropertyInfo<NType,NClass> {
- 
-     /**
-+     * True if this property can never be absent legally.
-+     */
-+    private final boolean required;
-+
-+    /**
-      * List of referenced elements.
-      */
-     private final Set<CElement> elements = new HashSet<CElement>();
-@@ -58,11 +64,18 @@
- 
-     private final boolean isMixed;
-     private WildcardMode wildcard;
-+    private boolean dummy;
-+    private boolean content;
-+    private boolean isMixedExtendedCust = false;
- 
--    public CReferencePropertyInfo(String name, boolean collection, boolean isMixed, XSComponent source,
--                                  CCustomizations customizations, Locator locator) {
--        super(name, collection||isMixed, source, customizations, locator );
-+    public CReferencePropertyInfo(String name, boolean collection, boolean required, boolean isMixed, XSComponent source,
-+                                  CCustomizations customizations, Locator locator, boolean dummy, boolean content, boolean isMixedExtended) {   // 'dummy' and 'content' here for NHIN fix - a hack in order to be able to handle extended mixed types better
-+        super(name, (collection||isMixed) && (!dummy), source, customizations, locator);
-         this.isMixed = isMixed;
-+        this.required = required;
-+        this.dummy = dummy;
-+        this.content = content;
-+        this.isMixedExtendedCust = isMixedExtended;
-     }
- 
-     public Set<? extends CTypeInfo> ref() {
-@@ -108,7 +121,6 @@
-         if(isMixed())
-             r.add(CBuiltinLeafInfo.STRING);
- 
--
-         return r;
-     }
- 
-@@ -120,6 +132,18 @@
-         return isMixed;
-     }
- 
-+    public boolean isDummy() {
-+        return dummy;
-+    }
-+
-+    public boolean isContent() {
-+        return content;
-+    }
-+
-+    public boolean isMixedExtendedCust() {
-+        return isMixedExtendedCust;
-+    }
-+
-     /**
-      * We'll never use a wrapper element in XJC. Always return null.
-      */
-@@ -198,6 +222,10 @@
-         return null;
-     }
- 
-+    public boolean isRequired() {
-+        return required;
-+    }
-+
-     @Override
-     public QName collectElementNames(Map<QName, CPropertyInfo> table) {
-         for (CElement e : elements) {
---- old/src/share/classes/com/sun/tools/internal/xjc/model/CSingleTypePropertyInfo.java	Tue Aug  4 09:33:49 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/model/CSingleTypePropertyInfo.java	Tue Aug  4 09:33:49 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.model;
- 
- import java.util.Collections;
-@@ -30,7 +31,6 @@
- import javax.activation.MimeType;
- import javax.xml.namespace.QName;
- 
--import com.sun.xml.internal.bind.v2.WellKnownNamespace;
- import com.sun.xml.internal.bind.v2.model.core.ID;
- import com.sun.xml.internal.xsom.XSComponent;
- 
---- old/src/share/classes/com/sun/tools/internal/xjc/model/CTypeInfo.java	Tue Aug  4 09:33:52 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/model/CTypeInfo.java	Tue Aug  4 09:33:51 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.model;
- 
- import com.sun.codemodel.internal.JClass;
---- old/src/share/classes/com/sun/tools/internal/xjc/model/CTypeRef.java	Tue Aug  4 09:33:54 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/model/CTypeRef.java	Tue Aug  4 09:33:53 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.model;
- 
- import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
---- old/src/share/classes/com/sun/tools/internal/xjc/model/CValuePropertyInfo.java	Tue Aug  4 09:33:56 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/model/CValuePropertyInfo.java	Tue Aug  4 09:33:56 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.model;
- 
- import javax.xml.namespace.QName;
---- old/src/share/classes/com/sun/tools/internal/xjc/model/CWildcardTypeInfo.java	Tue Aug  4 09:33:58 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/model/CWildcardTypeInfo.java	Tue Aug  4 09:33:58 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.model;
- 
- import com.sun.codemodel.internal.JType;
---- old/src/share/classes/com/sun/tools/internal/xjc/model/ClassNameAllocatorWrapper.java	Tue Aug  4 09:34:00 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/model/ClassNameAllocatorWrapper.java	Tue Aug  4 09:34:00 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.model;
- 
- import com.sun.codemodel.internal.JPackage;
---- old/src/share/classes/com/sun/tools/internal/xjc/model/Model.java	Tue Aug  4 09:34:02 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/model/Model.java	Tue Aug  4 09:34:02 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.model;
- 
- import java.util.Collections;
---- old/src/share/classes/com/sun/tools/internal/xjc/model/Populatable.java	Tue Aug  4 09:34:05 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/model/Populatable.java	Tue Aug  4 09:34:04 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.model;
- 
- import com.sun.tools.internal.xjc.outline.Outline;
---- old/src/share/classes/com/sun/tools/internal/xjc/model/TypeUse.java	Tue Aug  4 09:34:07 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/model/TypeUse.java	Tue Aug  4 09:34:06 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.model;
- 
- import javax.activation.MimeType;
---- old/src/share/classes/com/sun/tools/internal/xjc/model/TypeUseFactory.java	Tue Aug  4 09:34:09 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/model/TypeUseFactory.java	Tue Aug  4 09:34:09 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.model;
- 
- import javax.activation.MimeType;
---- old/src/share/classes/com/sun/tools/internal/xjc/model/TypeUseImpl.java	Tue Aug  4 09:34:11 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/model/TypeUseImpl.java	Tue Aug  4 09:34:11 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.model;
- 
- import javax.activation.MimeType;
---- old/src/share/classes/com/sun/tools/internal/xjc/model/nav/EagerNClass.java	Tue Aug  4 09:34:13 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/model/nav/EagerNClass.java	Tue Aug  4 09:34:13 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.model.nav;
- 
- import java.lang.reflect.Modifier;
---- old/src/share/classes/com/sun/tools/internal/xjc/model/nav/EagerNType.java	Tue Aug  4 09:34:16 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/model/nav/EagerNType.java	Tue Aug  4 09:34:15 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.model.nav;
- 
- import java.lang.reflect.Type;
---- old/src/share/classes/com/sun/tools/internal/xjc/model/nav/NClass.java	Tue Aug  4 09:34:18 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/model/nav/NClass.java	Tue Aug  4 09:34:17 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.model.nav;
- 
- import com.sun.codemodel.internal.JClass;
---- old/src/share/classes/com/sun/tools/internal/xjc/model/nav/NClassByJClass.java	Tue Aug  4 09:34:20 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/model/nav/NClassByJClass.java	Tue Aug  4 09:34:19 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.model.nav;
- 
- import com.sun.codemodel.internal.JClass;
---- old/src/share/classes/com/sun/tools/internal/xjc/model/nav/NParameterizedType.java	Tue Aug  4 09:34:22 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/model/nav/NParameterizedType.java	Tue Aug  4 09:34:22 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.model.nav;
- 
- import com.sun.codemodel.internal.JClass;
---- old/src/share/classes/com/sun/tools/internal/xjc/model/nav/NType.java	Tue Aug  4 09:34:24 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/model/nav/NType.java	Tue Aug  4 09:34:24 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.model.nav;
- 
- import com.sun.codemodel.internal.JType;
---- old/src/share/classes/com/sun/tools/internal/xjc/model/nav/NavigatorImpl.java	Tue Aug  4 09:34:27 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/model/nav/NavigatorImpl.java	Tue Aug  4 09:34:26 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.model.nav;
- 
- import java.lang.reflect.Type;
---- old/src/share/classes/com/sun/tools/internal/xjc/model/package-info.java	Tue Aug  4 09:34:29 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/model/package-info.java	Tue Aug  4 09:34:28 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- /**
-  * Implementation of the {@link com.sun.xml.internal.bind.v2.model.core} package for XJC.
-  *
---- old/src/share/classes/com/sun/tools/internal/xjc/outline/Aspect.java	Tue Aug  4 09:34:31 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/outline/Aspect.java	Tue Aug  4 09:34:30 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.outline;
- 
- import com.sun.tools.internal.xjc.generator.bean.ImplStructureStrategy;
---- old/src/share/classes/com/sun/tools/internal/xjc/outline/ClassOutline.java	Tue Aug  4 09:34:33 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/outline/ClassOutline.java	Tue Aug  4 09:34:33 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- /*
-  * Use is subject to the license terms.
-  */
-@@ -81,7 +82,7 @@
-     /**
-      * The implementation class that shall be used for reference.
-      * <p>
--     * Usually this field holds the same value as the impl method,
-+     * Usually this field holds the same value as the {@link #implClass} method,
-      * but sometimes it holds the user-specified implementation class
-      * when it is specified.
-      * <p>
---- old/src/share/classes/com/sun/tools/internal/xjc/outline/ElementOutline.java	Tue Aug  4 09:34:35 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/outline/ElementOutline.java	Tue Aug  4 09:34:35 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.outline;
- 
- import com.sun.codemodel.internal.JDefinedClass;
---- old/src/share/classes/com/sun/tools/internal/xjc/outline/EnumConstantOutline.java	Tue Aug  4 09:34:37 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/outline/EnumConstantOutline.java	Tue Aug  4 09:34:37 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.outline;
- 
- import com.sun.codemodel.internal.JEnumConstant;
---- old/src/share/classes/com/sun/tools/internal/xjc/outline/EnumOutline.java	Tue Aug  4 09:34:40 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/outline/EnumOutline.java	Tue Aug  4 09:34:39 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.outline;
- 
- import java.util.ArrayList;
---- old/src/share/classes/com/sun/tools/internal/xjc/package-info.java	Tue Aug  4 09:34:42 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/package-info.java	Tue Aug  4 09:34:41 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- /**
-  * <h1>Schema to Java compiler</h1>.
-  *
---- old/src/share/classes/com/sun/tools/internal/xjc/reader/AbstractExtensionBindingChecker.java	Tue Aug  4 09:34:44 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/reader/AbstractExtensionBindingChecker.java	Tue Aug  4 09:34:44 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.reader;
- 
- import java.util.Set;
---- old/src/share/classes/com/sun/tools/internal/xjc/reader/Const.java	Tue Aug  4 09:34:46 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/reader/Const.java	Tue Aug  4 09:34:46 2009
-@@ -24,9 +24,9 @@
-  */
- package com.sun.tools.internal.xjc.reader;
- 
-+import com.sun.xml.internal.bind.v2.WellKnownNamespace;
- 
- 
--
- /**
-  * Useful constant values.
-  *
-@@ -53,4 +53,12 @@
- 
-     /** URI to represent DTD. */
-     public static final String DTD = "DTD";
-+
-+    /**
-+     * Attribute name of the expected media type.
-+     *
-+     * @see WellKnownNamespace#XML_MIME_URI
-+     * @see http://www.w3.org/TR/xml-media-types/
-+     */
-+    public static final String EXPECTED_CONTENT_TYPES = "expectedContentTypes";
- }
---- old/src/share/classes/com/sun/tools/internal/xjc/reader/MessageBundle.properties	Tue Aug  4 09:34:48 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/reader/MessageBundle.properties	Tue Aug  4 09:34:48 2009
-@@ -30,30 +30,30 @@
- 
- 
- ERR_UNDECLARED_PREFIX = \
--	Prefix "{0}" is undeclared
-+        Prefix "{0}" is undeclared
- 
- ERR_UNEXPECTED_EXTENSION_BINDING_PREFIXES = \
--	extensionBindingPrefixes attribute must be declared at the root element
-+        extensionBindingPrefixes attribute must be declared at the root element
- 
- ERR_VENDOR_EXTENSION_DISALLOWED_IN_STRICT_MODE = \
-     vendor extension bindings (jaxb:extensionBindingPrefixes) are not allowed in the strict mode. Use -extension.
- 
- ERR_UNSUPPORTED_EXTENSION = \
--	Unsupported binding namespace "{0}". Perhaps you meant "{1}"?
-+        Unsupported binding namespace "{0}". Perhaps you meant "{1}"?
- 
- ERR_SUPPORTED_EXTENSION_IGNORED = \
--	Binding declaration namespace "{0}" will be ignored because it is \
--	not designated by the jaxb:extensionBindingPrefixes attribute.
-+        Binding declaration namespace "{0}" will be ignored because it is \
-+        not designated by the jaxb:extensionBindingPrefixes attribute.
- 
- ERR_RELEVANT_LOCATION = \
--	The following location is relevant to the above error
-+        The following location is relevant to the above error
- 
- 
- ERR_CLASS_NOT_FOUND = \
--	Unable to find type "{0}". Without knowing the proper inheritance hierarchy of this type, \
--	XJC may fail to generate some signatures correctly. \
--	Make this class available via the -classpath option.
--	
-+        Unable to find type "{0}". Without knowing the proper inheritance hierarchy of this type, \
-+        XJC may fail to generate some signatures correctly. \
-+        Make this class available via the -classpath option.
-+
- DUPLICATE_PROPERTY = \
-     Property "{0}" is already defined. Use &lt;jaxb:property> to resolve this conflict.
- 
-@@ -71,4 +71,3 @@
- 
- ERR_PLUGIN_NOT_ENABLED = \
-     Using "{1}" customizations requires the "-{0}" switch to enable this plug-in.
-- 
---- old/src/share/classes/com/sun/tools/internal/xjc/reader/ModelChecker.java	Tue Aug  4 09:34:51 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/reader/ModelChecker.java	Tue Aug  4 09:34:50 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.reader;
- 
- import java.util.List;
---- old/src/share/classes/com/sun/tools/internal/xjc/reader/RawTypeSet.java	Tue Aug  4 09:34:53 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/reader/RawTypeSet.java	Tue Aug  4 09:34:52 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.reader;
- 
- import java.util.HashSet;
---- old/src/share/classes/com/sun/tools/internal/xjc/reader/Ring.java	Tue Aug  4 09:34:55 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/reader/Ring.java	Tue Aug  4 09:34:55 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.reader;
- 
- import java.lang.reflect.Constructor;
---- old/src/share/classes/com/sun/tools/internal/xjc/reader/dtd/Block.java	Tue Aug  4 09:34:57 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/reader/dtd/Block.java	Tue Aug  4 09:34:57 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.reader.dtd;
- 
- import java.util.LinkedHashSet;
---- old/src/share/classes/com/sun/tools/internal/xjc/reader/dtd/Element.java	Tue Aug  4 09:34:59 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/reader/dtd/Element.java	Tue Aug  4 09:34:59 2009
-@@ -22,6 +22,7 @@
-  * CA 95054 USA or visit www.sun.com if you need additional information or
-  * have any questions.
-  */
-+
- package com.sun.tools.internal.xjc.reader.dtd;
- 
- import java.util.ArrayList;
-@@ -221,7 +222,7 @@
- 
-         switch(contentModelType) {
-         case DTDEventListener.CONTENT_MODEL_ANY:
--            CReferencePropertyInfo rp = new CReferencePropertyInfo("Content",true,true,null,null/*TODO*/,locator);
-+            CReferencePropertyInfo rp = new CReferencePropertyInfo("Content",true,false,true,null,null/*TODO*/,locator, false, false, false);
-             rp.setWildcard(WildcardMode.SKIP);
-             ci.addProperty(rp);
-             return;
---- old/src/share/classes/com/sun/tools/internal/xjc/reader/dtd/MessageBundle.properties	Tue Aug  4 09:35:02 2009
-+++ new/src/share/classes/com/sun/tools/internal/xjc/reader/dtd/MessageBundle.properties	Tue Aug  4 09:35:01 2009
-@@ -24,26 +24,25 @@
- #
-