This commit is contained in:
Erik Trimble 2009-08-21 20:16:58 -07:00
commit 3b812e4892
1781 changed files with 73779 additions and 14882 deletions

View File

@ -43,3 +43,4 @@ d22867c5f1b295a0a2b3b4bc8999a2676f6e20c3 jdk7-b64
62109d1b9e7310f29ab51ca6f1d71b899c0ce6b0 jdk7-b66 62109d1b9e7310f29ab51ca6f1d71b899c0ce6b0 jdk7-b66
eb24af1404aec8aa140c4cd4d13d2839b150dd41 jdk7-b67 eb24af1404aec8aa140c4cd4d13d2839b150dd41 jdk7-b67
bca2225b66d78c4bf4d9801f54cac7715a598650 jdk7-b68 bca2225b66d78c4bf4d9801f54cac7715a598650 jdk7-b68
1b662b1ed14eb4ae31d5138a36c433b13d941dc5 jdk7-b69

View File

@ -43,3 +43,4 @@ e01380cd1de4ce048b87d059d238e5ab5e341947 jdk7-b65
6bad5e3fe50337d95b1416d744780d65bc570da6 jdk7-b66 6bad5e3fe50337d95b1416d744780d65bc570da6 jdk7-b66
c4523c6f82048f420bf0d57c4cd47976753b7d2c jdk7-b67 c4523c6f82048f420bf0d57c4cd47976753b7d2c jdk7-b67
e1b972ff53cd58f825791f8ed9b2deffd16e768c jdk7-b68 e1b972ff53cd58f825791f8ed9b2deffd16e768c jdk7-b68
82e6c820c51ac27882b77755d42efefdbf1dcda0 jdk7-b69

View File

@ -32,7 +32,7 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
--- end of LICENSE file --- --- end of LICENSE file ---
%% This notice is provided with respect to ASM, which may be included with this software: %% 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. All rights reserved.
Redistribution and use in source and binary forms, with or without Redistribution and use in source and binary forms, with or without

View File

@ -43,3 +43,4 @@ d20e45cd539f20405ff843652069cfd7550c5ab3 jdk7-b63
a821e059a961bcb02830280d51f6dd030425c066 jdk7-b66 a821e059a961bcb02830280d51f6dd030425c066 jdk7-b66
a12ea7c7b497b4ba7830550095ef633bd6f43971 jdk7-b67 a12ea7c7b497b4ba7830550095ef633bd6f43971 jdk7-b67
5182bcc9c60cac429d1f7988676cec7320752be3 jdk7-b68 5182bcc9c60cac429d1f7988676cec7320752be3 jdk7-b68
8120d308ec4e805c5588b8d9372844d781c4112d jdk7-b69

View File

@ -32,7 +32,7 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
--- end of LICENSE file --- --- end of LICENSE file ---
%% This notice is provided with respect to ASM, which may be included with this software: %% 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. All rights reserved.
Redistribution and use in source and binary forms, with or without Redistribution and use in source and binary forms, with or without

View File

@ -44,3 +44,4 @@ ba313800759b678979434d6da8ed3bf49eb8bea4 jdk7-b65
18f526145aea355a9320b724373386fc2170f183 jdk7-b67 18f526145aea355a9320b724373386fc2170f183 jdk7-b67
d07e68298d4e17ebf93d8299e43fcc3ded26472a jdk7-b68 d07e68298d4e17ebf93d8299e43fcc3ded26472a jdk7-b68
54fd4d9232969ea6cd3d236e5ad276183bb0d423 jdk7-b69 54fd4d9232969ea6cd3d236e5ad276183bb0d423 jdk7-b69
0632c3e615a315ff11e2ab1d64f4d82ff9853461 jdk7-b70

View File

@ -32,7 +32,7 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
--- end of LICENSE file --- --- end of LICENSE file ---
%% This notice is provided with respect to ASM, which may be included with this software: %% 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. All rights reserved.
Redistribution and use in source and binary forms, with or without Redistribution and use in source and binary forms, with or without

View File

@ -43,3 +43,4 @@ a10eec7a1edf536f39b5828d8623054dbc62c2b7 jdk7-b64
22f9d5d5b5fe0f47048f41e6c6e54fee5edad0ec jdk7-b66 22f9d5d5b5fe0f47048f41e6c6e54fee5edad0ec jdk7-b66
a033af8d824a408d3ac602205ecdefc128749e1e jdk7-b67 a033af8d824a408d3ac602205ecdefc128749e1e jdk7-b67
83b2a9331383f9db7a49350d4cb13b7635f6b861 jdk7-b68 83b2a9331383f9db7a49350d4cb13b7635f6b861 jdk7-b68
a4ab0d6ded63bed0fd1e5be55d38090e0ee5efb7 jdk7-b69

View File

@ -32,7 +32,7 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
--- end of LICENSE file --- --- end of LICENSE file ---
%% This notice is provided with respect to ASM, which may be included with this software: %% 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. All rights reserved.
Redistribution and use in source and binary forms, with or without Redistribution and use in source and binary forms, with or without

View File

@ -1027,6 +1027,9 @@ public abstract class XMLScanner
int c = fEntityScanner.peekChar(); int c = fEntityScanner.peekChar();
if (XMLChar.isMarkup(c) || c == ']') { if (XMLChar.isMarkup(c) || c == ']') {
fStringBuffer.append((char)fEntityScanner.scanChar()); fStringBuffer.append((char)fEntityScanner.scanChar());
} else if (c != -1 && isInvalidLiteral(c)) {
reportFatalError("InvalidCharInSystemID",
new Object[] {Integer.toString(c, 16)});
} }
} while (fEntityScanner.scanLiteral(quote, ident) != quote); } while (fEntityScanner.scanLiteral(quote, ident) != quote);
fStringBuffer.append(ident); fStringBuffer.append(ident);

View File

@ -43,3 +43,4 @@ aa22a1be5866a6608ba17a7a443945559409ae0f jdk7-b65
fa8712c099edd5c9a6b3ed9729353738004d388f jdk7-b66 fa8712c099edd5c9a6b3ed9729353738004d388f jdk7-b66
faa13cd4d6cdcfb155da5ed23b0da6e0ed0f9ea8 jdk7-b67 faa13cd4d6cdcfb155da5ed23b0da6e0ed0f9ea8 jdk7-b67
845fa487f0f72a9f232ead8315c0087a477a5a31 jdk7-b68 845fa487f0f72a9f232ead8315c0087a477a5a31 jdk7-b68
3e64fdfb92910e164d1f4b21b147719d5c674254 jdk7-b69

View File

@ -32,7 +32,7 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
--- end of LICENSE file --- --- end of LICENSE file ---
%% This notice is provided with respect to ASM, which may be included with this software: %% 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. All rights reserved.
Redistribution and use in source and binary forms, with or without Redistribution and use in source and binary forms, with or without

View File

@ -22,6 +22,7 @@
* CA 95054 USA or visit www.sun.com if you need additional information or * CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions. * have any questions.
*/ */
package com.sun.codemodel.internal; package com.sun.codemodel.internal;
import java.lang.annotation.Annotation; import java.lang.annotation.Annotation;

View File

@ -199,8 +199,7 @@ public final class JAnnotationUse extends JAnnotationValue {
* *
*/ */
public JAnnotationUse param(String name, Class value){ public JAnnotationUse param(String name, Class value){
addValue(name, new JAnnotationStringValue(JExpr.lit(value.getName()))); return param(name,clazz.owner().ref(value));
return this;
} }
/** /**

View File

@ -22,6 +22,7 @@
* CA 95054 USA or visit www.sun.com if you need additional information or * CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions. * have any questions.
*/ */
package com.sun.codemodel.internal; package com.sun.codemodel.internal;
import java.lang.annotation.Annotation; import java.lang.annotation.Annotation;

View File

@ -111,6 +111,14 @@ public final class JBlock implements JGenerable, JStatement {
return r; 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 * Adds a local variable declaration to this block

View File

@ -22,6 +22,7 @@
* CA 95054 USA or visit www.sun.com if you need additional information or * CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions. * have any questions.
*/ */
package com.sun.codemodel.internal; package com.sun.codemodel.internal;
import java.util.ArrayList; import java.util.ArrayList;
@ -77,7 +78,8 @@ public class JCommentPart extends ArrayList<Object> {
*/ */
protected void format( JFormatter f, String indent ) { protected void format( JFormatter f, String indent ) {
if(!f.isPrinting()) { 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 ) for( Object o : this )
if(o instanceof JClass) if(o instanceof JClass)
f.g((JClass)o); f.g((JClass)o);
@ -97,12 +99,12 @@ public class JCommentPart extends ArrayList<Object> {
while( (idx=s.indexOf('\n'))!=-1 ) { while( (idx=s.indexOf('\n'))!=-1 ) {
String line = s.substring(0,idx); String line = s.substring(0,idx);
if(line.length()>0) if(line.length()>0)
f.p(line); f.p(escape(line));
s = s.substring(idx+1); s = s.substring(idx+1);
f.nl().p(indent); f.nl().p(indent);
} }
if(s.length()!=0) if(s.length()!=0)
f.p(s); f.p(escape(s));
} else } else
if(o instanceof JClass) { if(o instanceof JClass) {
// TODO: this doesn't print the parameterized type properly // TODO: this doesn't print the parameterized type properly
@ -117,4 +119,16 @@ public class JCommentPart extends ArrayList<Object> {
if(!isEmpty()) if(!isEmpty())
f.nl(); 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);
}
}
} }

View File

@ -22,6 +22,7 @@
* CA 95054 USA or visit www.sun.com if you need additional information or * CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions. * have any questions.
*/ */
package com.sun.codemodel.internal; package com.sun.codemodel.internal;
import java.util.Iterator; import java.util.Iterator;

View File

@ -198,8 +198,12 @@ public abstract class JExpr {
char c = s.charAt(i); char c = s.charAt(i);
int j = charEscape.indexOf(c); int j = charEscape.indexOf(c);
if(j>=0) { if(j>=0) {
if((quote=='"' && c=='\'') || (quote=='\'' && c=='"')) {
sb.append(c);
} else {
sb.append('\\'); sb.append('\\');
sb.append(charMacro.charAt(j)); sb.append(charMacro.charAt(j));
}
} else { } else {
// technically Unicode escape shouldn't be done here, // technically Unicode escape shouldn't be done here,
// for it's a lexical level handling. // for it's a lexical level handling.

View File

@ -231,6 +231,7 @@ public class JJavaName {
"(.*)basis","$1bases", "(.*)basis","$1bases",
"(.*)axis","$1axes", "(.*)axis","$1axes",
"(.+)is","$1ises", "(.+)is","$1ises",
"(.+)ss","$1sses",
"(.+)us","$1uses", "(.+)us","$1uses",
"(.+)s","$1s", "(.+)s","$1s",
"(.*)foot","$1feet", "(.*)foot","$1feet",

View File

@ -388,10 +388,11 @@ public class JMethod extends JGenerifiableImpl implements JDeclaration, JAnnotat
f.g(a).nl(); f.g(a).nl();
} }
f.g(mods);
// declare the generics parameters // declare the generics parameters
super.declare(f); super.declare(f);
f.g(mods);
if (!isConstructor()) if (!isConstructor())
f.g(type); f.g(type);
f.id(name).p('(').i(); f.id(name).p('(').i();

View File

@ -98,32 +98,7 @@ public final class JPackage implements JDeclaration, JGenerable, JClassContainer
JPackage(String name, JCodeModel cw) { JPackage(String name, JCodeModel cw) {
this.owner = cw; this.owner = cw;
if (name.equals(".")) { 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); throw new IllegalArgumentException(msg);
} }

View File

@ -22,6 +22,7 @@
* CA 95054 USA or visit www.sun.com if you need additional information or * CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions. * have any questions.
*/ */
package com.sun.codemodel.internal; package com.sun.codemodel.internal;
import java.util.Iterator; import java.util.Iterator;

View File

@ -22,6 +22,7 @@
* CA 95054 USA or visit www.sun.com if you need additional information or * CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions. * have any questions.
*/ */
package com.sun.codemodel.internal; package com.sun.codemodel.internal;
import java.lang.reflect.InvocationHandler; import java.lang.reflect.InvocationHandler;

View File

@ -1,29 +0,0 @@
<!--
Copyright 2005-2006 Sun Microsystems, Inc. All Rights Reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
This code is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 only, as
published by the Free Software Foundation. Sun designates this
particular file as subject to the "Classpath" exception as provided
by Sun in the LICENSE file that accompanied this code.
This code is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
version 2 for more details (a copy is included in the LICENSE file that
accompanied this code).
You should have received a copy of the GNU General Public License version
2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
CA 95054 USA or visit www.sun.com if you need additional information or
have any questions.
-->
<HTML>
<BODY>
Various resource file formats (classes that implement <code>JResourceFile</code>).
</BODY>
</HTML>

View File

@ -22,6 +22,7 @@
* CA 95054 USA or visit www.sun.com if you need additional information or * CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions. * have any questions.
*/ */
/** /**
* <h1>Library for generating Java source code</h1>. * <h1>Library for generating Java source code</h1>.
* *

View File

@ -22,11 +22,10 @@
* CA 95054 USA or visit www.sun.com if you need additional information or * CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions. * have any questions.
*/ */
/* /*
* @(#)$Id: EncoderFactory.java,v 1.3 2005/09/10 19:07:33 kohsuke Exp $ * @(#)$Id: EncoderFactory.java,v 1.3 2005/09/10 19:07:33 kohsuke Exp $
*/ */
package com.sun.codemodel.internal.util; package com.sun.codemodel.internal.util;
import java.lang.reflect.Constructor; import java.lang.reflect.Constructor;

View File

@ -22,11 +22,10 @@
* CA 95054 USA or visit www.sun.com if you need additional information or * CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions. * have any questions.
*/ */
/* /*
* @(#)$Id: MS1252Encoder.java,v 1.2 2005/09/10 19:07:33 kohsuke Exp $ * @(#)$Id: MS1252Encoder.java,v 1.2 2005/09/10 19:07:33 kohsuke Exp $
*/ */
package com.sun.codemodel.internal.util; package com.sun.codemodel.internal.util;
import java.nio.charset.Charset; import java.nio.charset.Charset;

View File

@ -22,6 +22,7 @@
* CA 95054 USA or visit www.sun.com if you need additional information or * CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions. * have any questions.
*/ */
package com.sun.codemodel.internal.writer; package com.sun.codemodel.internal.writer;
import java.io.OutputStream; import java.io.OutputStream;

View File

@ -0,0 +1,33 @@
/*
* Copyright 2005-2006 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Sun designates this
* particular file as subject to the "Classpath" exception as provided
* by Sun in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*/
package com.sun.istack.internal;
/**
*
* @author Martin Grebac
*/
public interface Builder<T> {
T build();
}

View File

@ -25,6 +25,7 @@
package com.sun.istack.internal; package com.sun.istack.internal;
import java.util.concurrent.ConcurrentLinkedQueue; import java.util.concurrent.ConcurrentLinkedQueue;
import java.lang.ref.WeakReference;
/** /**
* Pool of reusable objects that are indistinguishable from each other, * Pool of reusable objects that are indistinguishable from each other,
@ -33,6 +34,7 @@ import java.util.concurrent.ConcurrentLinkedQueue;
* @author Kohsuke Kawaguchi * @author Kohsuke Kawaguchi
*/ */
public interface Pool<T> { public interface Pool<T> {
/** /**
* Gets a new object from the pool. * Gets a new object from the pool.
* *
@ -46,7 +48,6 @@ public interface Pool<T> {
*/ */
void recycle(@NotNull T t); void recycle(@NotNull T t);
/** /**
* Default implementation that uses {@link ConcurrentLinkedQueue} * Default implementation that uses {@link ConcurrentLinkedQueue}
* as the data store. * as the data store.
@ -55,7 +56,10 @@ public interface Pool<T> {
* <p> * <p>
* Don't rely on the fact that this class extends from {@link ConcurrentLinkedQueue}. * 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. * Gets a new object from the pool.
* *
@ -66,9 +70,10 @@ public interface Pool<T> {
* always non-null. * always non-null.
*/ */
public final @NotNull T take() { public final @NotNull T take() {
T t = super.poll(); T t = getQueue().poll();
if(t==null) if(t==null) {
return create(); return create();
}
return t; return t;
} }
@ -76,7 +81,22 @@ public interface Pool<T> {
* Returns an object back to the pool. * Returns an object back to the pool.
*/ */
public final void recycle(T t) { 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;
} }
/** /**

View File

@ -54,12 +54,22 @@ public class XMLStreamReaderToContentHandler {
// if true, when the conversion is completed, leave the cursor to the last // if true, when the conversion is completed, leave the cursor to the last
// event that was fired (such as end element) // event that was fired (such as end element)
private boolean eagerQuit; private final boolean eagerQuit;
/** /**
* If true, not start/endDocument event. * 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 * Construct a new StAX to SAX adapter that will convert a StAX event
@ -69,14 +79,22 @@ public class XMLStreamReaderToContentHandler {
* StAX event source * StAX event source
* @param saxCore * @param saxCore
* SAXevent sink * 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.staxStreamReader = staxCore;
this.saxHandler = saxCore; this.saxHandler = saxCore;
this.eagerQuit = eagerQuit; this.eagerQuit = eagerQuit;
this.fragment = fragment; this.fragment = fragment;
this.inscopeNamespaces = inscopeNamespaces;
assert inscopeNamespaces.length%2 == 0;
} }
/* /*
* @see StAXReaderToContentHandler#bridge() * @see StAXReaderToContentHandler#bridge()
*/ */
@ -100,6 +118,10 @@ public class XMLStreamReaderToContentHandler {
handleStartDocument(); handleStartDocument();
for(int i=0; i < inscopeNamespaces.length; i+=2) {
saxHandler.startPrefixMapping(inscopeNamespaces[i], inscopeNamespaces[i+1]);
}
OUTER: OUTER:
do { do {
// These are all of the events listed in the javadoc for // These are all of the events listed in the javadoc for
@ -156,6 +178,10 @@ public class XMLStreamReaderToContentHandler {
event=staxStreamReader.next(); event=staxStreamReader.next();
} while (depth!=0); } while (depth!=0);
for(int i=0; i < inscopeNamespaces.length; i+=2) {
saxHandler.endPrefixMapping(inscopeNamespaces[i]);
}
handleEndDocument(); handleEndDocument();
} catch (SAXException e) { } catch (SAXException e) {
throw new XMLStreamException2(e); throw new XMLStreamException2(e);

View File

@ -0,0 +1,63 @@
/*
* Copyright 2005-2006 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Sun designates this
* particular file as subject to the "Classpath" exception as provided
* by Sun in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*/
package com.sun.istack.internal.localization;
/**
* Localizable message.
*
* @author WS Development Team
*/
public interface Localizable {
/**
* Gets the key in the resource bundle.
*
* @return
* if this method returns {@link #NOT_LOCALIZABLE},
* that means the message is not localizable, and
* the first item of {@link #getArguments()} array
* holds a String.
*/
public String getKey();
/**
* Returns the arguments for message formatting.
*
* @return
* can be an array of length 0 but never be null.
*/
public Object[] getArguments();
public String getResourceBundleName();
/**
* Special constant that represents a message that
* is not localizable.
*
* <p>
* Use of "new" is to create an unique instance.
*/
public static final String NOT_LOCALIZABLE = new String("\u0000");
}

View File

@ -0,0 +1,56 @@
/*
* Copyright 2005-2006 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Sun designates this
* particular file as subject to the "Classpath" exception as provided
* by Sun in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*/
package com.sun.istack.internal.localization;
/**
* @author WS Development Team
*/
public final class LocalizableMessage implements Localizable {
private final String _bundlename;
private final String _key;
private final Object[] _args;
public LocalizableMessage(String bundlename, String key, Object... args) {
_bundlename = bundlename;
_key = key;
if(args==null)
args = new Object[0];
_args = args;
}
public String getKey() {
return _key;
}
public Object[] getArguments() {
return _args;
}
public String getResourceBundleName() {
return _bundlename;
}
}

View File

@ -23,28 +23,21 @@
* have any questions. * have any questions.
*/ */
package com.sun.xml.internal.ws.addressing.model; package com.sun.istack.internal.localization;
import javax.xml.ws.WebServiceException;
import javax.xml.namespace.QName;
/** /**
* @author Arun Gupta * @author WS Development Team
*/ */
public class InvalidMapException extends WebServiceException { public class LocalizableMessageFactory {
QName name;
QName subsubcode;
public InvalidMapException(QName name, QName subsubcode) { private final String _bundlename;
this.name = name;
this.subsubcode = subsubcode; public LocalizableMessageFactory(String bundlename) {
_bundlename = bundlename;
} }
public QName getMapQName() { public Localizable getMessage(String key, Object... args) {
return name; return new LocalizableMessage(_bundlename, key, args);
} }
public QName getSubsubcode() {
return subsubcode;
}
} }

View File

@ -0,0 +1,149 @@
/*
* Copyright 2005-2006 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Sun designates this
* particular file as subject to the "Classpath" exception as provided
* by Sun in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*/
package com.sun.istack.internal.localization;
import java.text.MessageFormat;
import java.util.HashMap;
import java.util.Locale;
import java.util.MissingResourceException;
import java.util.ResourceBundle;
/**
* Localizes the {@link Localizable} into a message
* by using a configured {@link Locale}.
*
* @author WS Development Team
*/
public class Localizer {
private final Locale _locale;
private final HashMap _resourceBundles;
public Localizer() {
this(Locale.getDefault());
}
public Localizer(Locale l) {
_locale = l;
_resourceBundles = new HashMap();
}
public Locale getLocale() {
return _locale;
}
public String localize(Localizable l) {
String key = l.getKey();
if (key == Localizable.NOT_LOCALIZABLE) {
// this message is not localizable
return (String) l.getArguments()[0];
}
String bundlename = l.getResourceBundleName();
try {
ResourceBundle bundle =
(ResourceBundle) _resourceBundles.get(bundlename);
if (bundle == null) {
try {
bundle = ResourceBundle.getBundle(bundlename, _locale);
} catch (MissingResourceException e) {
// work around a bug in the com.sun.enterprise.deployment.WebBundleArchivist:
// all files with an extension different from .class (hence all the .properties files)
// get copied to the top level directory instead of being in the package where they
// are defined
// so, since we can't find the bundle under its proper name, we look for it under
// the top-level package
int i = bundlename.lastIndexOf('.');
if (i != -1) {
String alternateBundleName =
bundlename.substring(i + 1);
try {
bundle =
ResourceBundle.getBundle(
alternateBundleName,
_locale);
} catch (MissingResourceException e2) {
// give up
return getDefaultMessage(l);
}
}
}
_resourceBundles.put(bundlename, bundle);
}
if (bundle == null) {
return getDefaultMessage(l);
}
if (key == null)
key = "undefined";
String msg;
try {
msg = bundle.getString(key);
} catch (MissingResourceException e) {
// notice that this may throw a MissingResourceException of its own (caught below)
msg = bundle.getString("undefined");
}
// localize all arguments to the given localizable object
Object[] args = l.getArguments();
for (int i = 0; i < args.length; ++i) {
if (args[i] instanceof Localizable)
args[i] = localize((Localizable) args[i]);
}
String message = MessageFormat.format(msg, args);
return message;
} catch (MissingResourceException e) {
return getDefaultMessage(l);
}
}
private String getDefaultMessage(Localizable l) {
String key = l.getKey();
Object[] args = l.getArguments();
StringBuilder sb = new StringBuilder();
sb.append("[failed to localize] ");
sb.append(key);
if (args != null) {
sb.append('(');
for (int i = 0; i < args.length; ++i) {
if (i != 0)
sb.append(", ");
sb.append(String.valueOf(args[i]));
}
sb.append(')');
}
return sb.toString();
}
}

View File

@ -66,10 +66,7 @@ public class AnnotationProcessorFactoryImpl implements AnnotationProcessorFactor
types.add("javax.jws.soap.SOAPBinding"); types.add("javax.jws.soap.SOAPBinding");
types.add("javax.jws.soap.SOAPMessageHandler"); types.add("javax.jws.soap.SOAPMessageHandler");
types.add("javax.jws.soap.SOAPMessageHandlers"); 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.BindingType");
types.add("javax.xml.ws.ParameterIndex");
types.add("javax.xml.ws.RequestWrapper"); types.add("javax.xml.ws.RequestWrapper");
types.add("javax.xml.ws.ResponseWrapper"); types.add("javax.xml.ws.ResponseWrapper");
types.add("javax.xml.ws.ServiceMode"); types.add("javax.xml.ws.ServiceMode");
@ -78,8 +75,6 @@ public class AnnotationProcessorFactoryImpl implements AnnotationProcessorFactor
types.add("javax.xml.ws.WebServiceClient"); types.add("javax.xml.ws.WebServiceClient");
types.add("javax.xml.ws.WebServiceProvider"); types.add("javax.xml.ws.WebServiceProvider");
types.add("javax.xml.ws.WebServiceRef"); types.add("javax.xml.ws.WebServiceRef");
types.add("javax.xml.ws.security.MessageSecurity");
supportedAnnotations = Collections.unmodifiableCollection(types); supportedAnnotations = Collections.unmodifiableCollection(types);
} }

View File

@ -22,6 +22,7 @@
* CA 95054 USA or visit www.sun.com if you need additional information or * CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions. * have any questions.
*/ */
package com.sun.tools.internal.jxc; package com.sun.tools.internal.jxc;
import java.io.File; import java.io.File;

View File

@ -30,8 +30,8 @@ BASEDIR_DOESNT_EXIST = \
Non-existent directory: {0} Non-existent directory: {0}
VERSION = \ VERSION = \
schemagen version "JAXB 2.1.3" \n\ schemagen version "JAXB 2.1.10 in JDK 6" \n\
JavaTM Architecture for XML Binding(JAXB) Reference Implementation, (build JAXB 2.1.3 in JDK) JavaTM Architecture for XML Binding(JAXB) Reference Implementation, (build JAXB 2.1.10 in JDK 6)
USAGE = \ USAGE = \
Usage: schemagen [-options ...] <java files> \n\ Usage: schemagen [-options ...] <java files> \n\
@ -42,4 +42,3 @@ Options: \n\
\ \ \ \ -episode <file> : generate episode file for separate compilation\n\ \ \ \ \ -episode <file> : generate episode file for separate compilation\n\
\ \ \ \ -version : display version information\n\ \ \ \ \ -version : display version information\n\
\ \ \ \ -help : display this usage message \ \ \ \ -help : display this usage message

View File

@ -22,6 +22,7 @@
* CA 95054 USA or visit www.sun.com if you need additional information or * CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions. * have any questions.
*/ */
package com.sun.tools.internal.jxc; package com.sun.tools.internal.jxc;
import java.text.MessageFormat; import java.text.MessageFormat;

View File

@ -22,6 +22,7 @@
* CA 95054 USA or visit www.sun.com if you need additional information or * CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions. * have any questions.
*/ */
package com.sun.tools.internal.jxc; package com.sun.tools.internal.jxc;
import java.io.File; import java.io.File;

View File

@ -0,0 +1,56 @@
/*
* Copyright 2005-2006 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Sun designates this
* particular file as subject to the "Classpath" exception as provided
* by Sun in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* 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.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
/**
* CLI entry point to schemagen that checks for JDK 5.0
* @author Kohsuke Kawaguchi
*/
public class SchemaGeneratorFacade {
public static void main(String[] args) throws Throwable {
try {
ClassLoader cl = SchemaGeneratorFacade.class.getClassLoader();
if(cl==null) cl = ClassLoader.getSystemClassLoader();
Class driver = cl.loadClass("com.sun.tools.internal.jxc.SchemaGenerator");
Method mainMethod = driver.getDeclaredMethod("main", new Class[]{String[].class});
try {
mainMethod.invoke(null,new Object[]{args});
} catch (IllegalAccessException e) {
throw e;
} catch (InvocationTargetException e) {
if(e.getTargetException()!=null)
throw e.getTargetException();
}
} catch (UnsupportedClassVersionError e) {
System.err.println("schemagen requires JDK 5.0 or later. Please download it from http://java.sun.com/j2se/1.5/");
}
}
}

View File

@ -22,6 +22,7 @@
* CA 95054 USA or visit www.sun.com if you need additional information or * CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions. * have any questions.
*/ */
package com.sun.tools.internal.jxc.apt; package com.sun.tools.internal.jxc.apt;
import java.io.File; import java.io.File;

View File

@ -22,6 +22,7 @@
* CA 95054 USA or visit www.sun.com if you need additional information or * CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions. * have any questions.
*/ */
package com.sun.tools.internal.jxc.apt; package com.sun.tools.internal.jxc.apt;
import java.util.Arrays; import java.util.Arrays;

View File

@ -22,6 +22,7 @@
* CA 95054 USA or visit www.sun.com if you need additional information or * CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions. * have any questions.
*/ */
package com.sun.tools.internal.jxc.apt; package com.sun.tools.internal.jxc.apt;
import java.io.File; import java.io.File;

View File

@ -22,6 +22,7 @@
* CA 95054 USA or visit www.sun.com if you need additional information or * CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions. * have any questions.
*/ */
package com.sun.tools.internal.jxc.apt; package com.sun.tools.internal.jxc.apt;
import com.sun.mirror.apt.AnnotationProcessorEnvironment; import com.sun.mirror.apt.AnnotationProcessorEnvironment;

View File

@ -22,6 +22,7 @@
* CA 95054 USA or visit www.sun.com if you need additional information or * CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions. * have any questions.
*/ */
package com.sun.tools.internal.jxc.apt; package com.sun.tools.internal.jxc.apt;
import java.lang.annotation.Annotation; import java.lang.annotation.Annotation;

View File

@ -31,4 +31,3 @@ UNRECOGNIZED_PARAMETER = \
OPERAND_MISSING = \ OPERAND_MISSING = \
Option "{0}" is missing an operand. Option "{0}" is missing an operand.

View File

@ -22,6 +22,7 @@
* CA 95054 USA or visit www.sun.com if you need additional information or * CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions. * have any questions.
*/ */
package com.sun.tools.internal.jxc.apt; package com.sun.tools.internal.jxc.apt;
import java.text.MessageFormat; import java.text.MessageFormat;

View File

@ -22,6 +22,7 @@
* CA 95054 USA or visit www.sun.com if you need additional information or * CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions. * have any questions.
*/ */
package com.sun.tools.internal.jxc.apt; package com.sun.tools.internal.jxc.apt;
import java.io.File; import java.io.File;

View File

@ -22,6 +22,7 @@
* CA 95054 USA or visit www.sun.com if you need additional information or * CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions. * have any questions.
*/ */
package com.sun.tools.internal.jxc.apt; package com.sun.tools.internal.jxc.apt;
import java.io.File; import java.io.File;

View File

@ -75,6 +75,11 @@ public class Classes extends NGCCHandler {
$localName = $__local; $localName = $__local;
$qname = $__qname; $qname = $__qname;
switch($_ngcc_current_state) { switch($_ngcc_current_state) {
case 0:
{
revertToParentFromEnterElement(this, super._cookie, $__uri, $__local, $__qname, $attrs);
}
break;
case 12: case 12:
{ {
if(($__uri == "" && $__local == "classes")) { if(($__uri == "" && $__local == "classes")) {
@ -92,18 +97,6 @@ public class Classes extends NGCCHandler {
$runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs); $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
} }
break; break;
case 2:
{
if(($__uri == "" && $__local == "excludes")) {
$runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
$_ngcc_current_state = 6;
}
else {
$_ngcc_current_state = 1;
$runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
}
}
break;
case 11: case 11:
{ {
if(($__uri == "" && $__local == "includes")) { if(($__uri == "" && $__local == "includes")) {
@ -115,9 +108,16 @@ public class Classes extends NGCCHandler {
} }
} }
break; break;
case 0: case 2:
{ {
revertToParentFromEnterElement(this, super._cookie, $__uri, $__local, $__qname, $attrs); if(($__uri == "" && $__local == "excludes")) {
$runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
$_ngcc_current_state = 6;
}
else {
$_ngcc_current_state = 1;
$runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
}
} }
break; break;
default: default:
@ -133,6 +133,17 @@ public class Classes extends NGCCHandler {
$localName = $__local; $localName = $__local;
$qname = $__qname; $qname = $__qname;
switch($_ngcc_current_state) { 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: case 3:
{ {
if(($__uri == "" && $__local == "excludes")) { if(($__uri == "" && $__local == "excludes")) {
@ -144,29 +155,12 @@ public class Classes extends NGCCHandler {
} }
} }
break; break;
case 4:
{
$_ngcc_current_state = 3;
$runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
}
break;
case 2: case 2:
{ {
$_ngcc_current_state = 1; $_ngcc_current_state = 1;
$runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname); $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
} }
break; break;
case 1:
{
if(($__uri == "" && $__local == "classes")) {
$runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
$_ngcc_current_state = 0;
}
else {
unexpectedLeaveElement($__qname);
}
}
break;
case 8: case 8:
{ {
if(($__uri == "" && $__local == "includes")) { if(($__uri == "" && $__local == "includes")) {
@ -178,9 +172,15 @@ public class Classes extends NGCCHandler {
} }
} }
break; break;
case 0: case 1:
{ {
revertToParentFromLeaveElement(this, super._cookie, $__uri, $__local, $__qname); if(($__uri == "" && $__local == "classes")) {
$runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
$_ngcc_current_state = 0;
}
else {
unexpectedLeaveElement($__qname);
}
} }
break; break;
default: default:
@ -196,6 +196,11 @@ public class Classes extends NGCCHandler {
$localName = $__local; $localName = $__local;
$qname = $__qname; $qname = $__qname;
switch($_ngcc_current_state) { switch($_ngcc_current_state) {
case 0:
{
revertToParentFromEnterAttribute(this, super._cookie, $__uri, $__local, $__qname);
}
break;
case 4: case 4:
{ {
$_ngcc_current_state = 3; $_ngcc_current_state = 3;
@ -208,11 +213,6 @@ public class Classes extends NGCCHandler {
$runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname); $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
} }
break; break;
case 0:
{
revertToParentFromEnterAttribute(this, super._cookie, $__uri, $__local, $__qname);
}
break;
default: default:
{ {
unexpectedEnterAttribute($__qname); unexpectedEnterAttribute($__qname);
@ -226,6 +226,11 @@ public class Classes extends NGCCHandler {
$localName = $__local; $localName = $__local;
$qname = $__qname; $qname = $__qname;
switch($_ngcc_current_state) { switch($_ngcc_current_state) {
case 0:
{
revertToParentFromLeaveAttribute(this, super._cookie, $__uri, $__local, $__qname);
}
break;
case 4: case 4:
{ {
$_ngcc_current_state = 3; $_ngcc_current_state = 3;
@ -238,11 +243,6 @@ public class Classes extends NGCCHandler {
$runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname); $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
} }
break; break;
case 0:
{
revertToParentFromLeaveAttribute(this, super._cookie, $__uri, $__local, $__qname);
}
break;
default: default:
{ {
unexpectedLeaveAttribute($__qname); unexpectedLeaveAttribute($__qname);
@ -253,6 +253,11 @@ public class Classes extends NGCCHandler {
public void text(String $value) throws SAXException { public void text(String $value) throws SAXException {
switch($_ngcc_current_state) { switch($_ngcc_current_state) {
case 0:
{
revertToParentFromText(this, super._cookie, $value);
}
break;
case 9: case 9:
{ {
include_content = $value; include_content = $value;
@ -260,14 +265,14 @@ public class Classes extends NGCCHandler {
action2(); action2();
} }
break; break;
case 3: case 4:
{ {
exclude_content = $value; exclude_content = $value;
$_ngcc_current_state = 3; $_ngcc_current_state = 3;
action0(); action0();
} }
break; break;
case 4: case 3:
{ {
exclude_content = $value; exclude_content = $value;
$_ngcc_current_state = 3; $_ngcc_current_state = 3;
@ -301,11 +306,6 @@ public class Classes extends NGCCHandler {
action1(); action1();
} }
break; break;
case 0:
{
revertToParentFromText(this, super._cookie, $value);
}
break;
} }
} }

View File

@ -70,15 +70,10 @@ public class Config extends NGCCHandler {
$localName = $__local; $localName = $__local;
$qname = $__qname; $qname = $__qname;
switch($_ngcc_current_state) { switch($_ngcc_current_state) {
case 0: case 4:
{ {
revertToParentFromEnterElement(this, super._cookie, $__uri, $__local, $__qname, $attrs); if(($__uri == "" && $__local == "classes")) {
} NGCCHandler h = new Classes(this, super._source, $runtime, 34);
break;
case 1:
{
if(($__uri == "" && $__local == "schema")) {
NGCCHandler h = new Schema(this, super._source, $runtime, 3, baseDir);
spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs); spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
} }
else { else {
@ -97,10 +92,26 @@ public class Config extends NGCCHandler {
} }
} }
break; 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: case 2:
{ {
if(($__uri == "" && $__local == "schema")) { 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); spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
} }
else { else {
@ -120,17 +131,6 @@ public class Config extends NGCCHandler {
} }
} }
break; 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: default:
{ {
unexpectedEnterElement($__qname); unexpectedEnterElement($__qname);
@ -145,11 +145,6 @@ public class Config extends NGCCHandler {
$localName = $__local; $localName = $__local;
$qname = $__qname; $qname = $__qname;
switch($_ngcc_current_state) { switch($_ngcc_current_state) {
case 0:
{
revertToParentFromLeaveElement(this, super._cookie, $__uri, $__local, $__qname);
}
break;
case 1: case 1:
{ {
if(($__uri == "" && $__local == "config")) { if(($__uri == "" && $__local == "config")) {
@ -161,6 +156,11 @@ public class Config extends NGCCHandler {
} }
} }
break; break;
case 0:
{
revertToParentFromLeaveElement(this, super._cookie, $__uri, $__local, $__qname);
}
break;
case 2: case 2:
{ {
$_ngcc_current_state = 1; $_ngcc_current_state = 1;
@ -257,13 +257,6 @@ public class Config extends NGCCHandler {
public void text(String $value) throws SAXException { public void text(String $value) throws SAXException {
int $ai; int $ai;
switch($_ngcc_current_state) { switch($_ngcc_current_state) {
case 6:
{
bd = $value;
$_ngcc_current_state = 5;
action1();
}
break;
case 0: case 0:
{ {
revertToParentFromText(this, super._cookie, $value); revertToParentFromText(this, super._cookie, $value);
@ -283,31 +276,38 @@ public class Config extends NGCCHandler {
} }
} }
break; break;
case 6:
{
bd = $value;
$_ngcc_current_state = 5;
action1();
}
break;
} }
} }
public void onChildCompleted(Object $__result__, int $__cookie__, boolean $__needAttCheck__)throws SAXException { public void onChildCompleted(Object $__result__, int $__cookie__, boolean $__needAttCheck__)throws SAXException {
switch($__cookie__) { switch($__cookie__) {
case 3: case 34:
{
_schema = ((Schema)$__result__);
action0();
$_ngcc_current_state = 1;
}
break;
case 4:
{
_schema = ((Schema)$__result__);
action0();
$_ngcc_current_state = 1;
}
break;
case 6:
{ {
classes = ((Classes)$__result__); classes = ((Classes)$__result__);
$_ngcc_current_state = 2; $_ngcc_current_state = 2;
} }
break; break;
case 31:
{
_schema = ((Schema)$__result__);
action0();
$_ngcc_current_state = 1;
}
break;
case 32:
{
_schema = ((Schema)$__result__);
action0();
$_ngcc_current_state = 1;
}
break;
} }
} }

View File

@ -65,6 +65,23 @@ public class Schema extends NGCCHandler {
$localName = $__local; $localName = $__local;
$qname = $__qname; $qname = $__qname;
switch($_ngcc_current_state) { 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: case 6:
{ {
if(($ai = $runtime.getAttributeIndex("","namespace"))>=0) { if(($ai = $runtime.getAttributeIndex("","namespace"))>=0) {
@ -88,23 +105,6 @@ public class Schema extends NGCCHandler {
} }
} }
break; 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: default:
{ {
unexpectedEnterElement($__qname); unexpectedEnterElement($__qname);
@ -119,23 +119,23 @@ public class Schema extends NGCCHandler {
$localName = $__local; $localName = $__local;
$qname = $__qname; $qname = $__qname;
switch($_ngcc_current_state) { 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.consumeAttribute($ai);
$runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname); $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
} }
else { else {
$_ngcc_current_state = 2; $_ngcc_current_state = 1;
$runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname); $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
} }
} }
break; break;
case 0:
{
revertToParentFromLeaveElement(this, super._cookie, $__uri, $__local, $__qname);
}
break;
case 1: case 1:
{ {
if(($__uri == "" && $__local == "schema")) { if(($__uri == "" && $__local == "schema")) {
@ -147,14 +147,14 @@ public class Schema extends NGCCHandler {
} }
} }
break; break;
case 2: case 6:
{ {
if(($ai = $runtime.getAttributeIndex("","location"))>=0) { if(($ai = $runtime.getAttributeIndex("","namespace"))>=0) {
$runtime.consumeAttribute($ai); $runtime.consumeAttribute($ai);
$runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname); $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
} }
else { else {
$_ngcc_current_state = 1; $_ngcc_current_state = 2;
$runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname); $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
} }
} }
@ -172,17 +172,6 @@ public class Schema extends NGCCHandler {
$localName = $__local; $localName = $__local;
$qname = $__qname; $qname = $__qname;
switch($_ngcc_current_state) { 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: case 0:
{ {
revertToParentFromEnterAttribute(this, super._cookie, $__uri, $__local, $__qname); revertToParentFromEnterAttribute(this, super._cookie, $__uri, $__local, $__qname);
@ -199,6 +188,17 @@ public class Schema extends NGCCHandler {
} }
} }
break; 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: default:
{ {
unexpectedEnterAttribute($__qname); unexpectedEnterAttribute($__qname);
@ -212,17 +212,17 @@ public class Schema extends NGCCHandler {
$localName = $__local; $localName = $__local;
$qname = $__qname; $qname = $__qname;
switch($_ngcc_current_state) { switch($_ngcc_current_state) {
case 6:
{
$_ngcc_current_state = 2;
$runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
}
break;
case 0: case 0:
{ {
revertToParentFromLeaveAttribute(this, super._cookie, $__uri, $__local, $__qname); revertToParentFromLeaveAttribute(this, super._cookie, $__uri, $__local, $__qname);
} }
break; break;
case 2:
{
$_ngcc_current_state = 1;
$runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
}
break;
case 7: case 7:
{ {
if(($__uri == "" && $__local == "namespace")) { if(($__uri == "" && $__local == "namespace")) {
@ -233,6 +233,12 @@ public class Schema extends NGCCHandler {
} }
} }
break; break;
case 6:
{
$_ngcc_current_state = 2;
$runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
}
break;
case 3: case 3:
{ {
if(($__uri == "" && $__local == "location")) { if(($__uri == "" && $__local == "location")) {
@ -243,12 +249,6 @@ public class Schema extends NGCCHandler {
} }
} }
break; break;
case 2:
{
$_ngcc_current_state = 1;
$runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
}
break;
default: default:
{ {
unexpectedLeaveAttribute($__qname); unexpectedLeaveAttribute($__qname);
@ -260,24 +260,6 @@ public class Schema extends NGCCHandler {
public void text(String $value) throws SAXException { public void text(String $value) throws SAXException {
int $ai; int $ai;
switch($_ngcc_current_state) { 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: case 0:
{ {
revertToParentFromText(this, super._cookie, $value); revertToParentFromText(this, super._cookie, $value);
@ -295,6 +277,12 @@ public class Schema extends NGCCHandler {
} }
} }
break; break;
case 8:
{
namespace = $value;
$_ngcc_current_state = 7;
}
break;
case 4: case 4:
{ {
loc = $value; loc = $value;
@ -302,6 +290,18 @@ public class Schema extends NGCCHandler {
action0(); action0();
} }
break; 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;
} }
} }

View File

@ -23,6 +23,8 @@
CA 95054 USA or visit www.sun.com if you need additional information or CA 95054 USA or visit www.sun.com if you need additional information or
have any questions. have any questions.
--> -->
<!-- THIS IS A GENERATED FILE. DO NOT MODIFY. --> <!-- THIS IS A GENERATED FILE. DO NOT MODIFY. -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="config"> <xs:element name="config">

View File

@ -22,6 +22,7 @@
* CA 95054 USA or visit www.sun.com if you need additional information or * CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions. * have any questions.
*/ */
package com.sun.tools.internal.jxc.model.nav; package com.sun.tools.internal.jxc.model.nav;
import java.util.ArrayList; import java.util.ArrayList;
@ -306,7 +307,7 @@ public class APTNavigator implements Navigator<TypeMirror,TypeDeclaration,FieldD
} }
public boolean isInnerClass(TypeDeclaration clazz) { public boolean isInnerClass(TypeDeclaration clazz) {
return clazz.getDeclaringType()!=null; return clazz.getDeclaringType()!=null && !clazz.getModifiers().contains(Modifier.STATIC);
} }
public boolean isArray(TypeMirror t) { public boolean isArray(TypeMirror t) {

View File

@ -55,11 +55,13 @@ public final class Invoker {
static int invoke(String mainClass, String[] args) throws Throwable { static int invoke(String mainClass, String[] args) throws Throwable {
// use the platform default proxy if available. // use the platform default proxy if available.
// see sun.net.spi.DefaultProxySelector for details. // see sun.net.spi.DefaultProxySelector for details.
if(!noSystemProxies) {
try { try {
System.setProperty("java.net.useSystemProxies","true"); System.setProperty("java.net.useSystemProxies","true");
} catch (SecurityException e) { } catch (SecurityException e) {
// failing to set this property isn't fatal // failing to set this property isn't fatal
} }
}
ClassLoader oldcc = Thread.currentThread().getContextClassLoader(); ClassLoader oldcc = Thread.currentThread().getContextClassLoader();
try { try {
@ -220,4 +222,18 @@ public final class Invoker {
"com.sun.xml.internal.bind.", "com.sun.xml.internal.bind.",
"com.sun.xml.internal.ws." "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
}
}
} }

View File

@ -34,6 +34,7 @@ import com.sun.tools.internal.ws.processor.generator.JavaGeneratorExtensionFacad
* *
* @see JavaGeneratorExtensionFacade * @see JavaGeneratorExtensionFacade
* @author Vivek Pandey * @author Vivek Pandey
* @deprecated This class is deprecated, will be removed in JAX-WS 2.2 RI.
*/ */
public abstract class TJavaGeneratorExtension { public abstract class TJavaGeneratorExtension {
/** /**

View File

@ -0,0 +1,43 @@
/*
* Copyright 2005-2006 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Sun designates this
* particular file as subject to the "Classpath" exception as provided
* by Sun in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*/
package com.sun.tools.internal.ws.api;
/**
* Allows to customize wsgen behaviour using this extension.
* The extension implementations are found using service
* discovery mechanism i.e. JAX-WS tooltime locates
* {@link WsgenExtension}s through the
* <tt>META-INF/services/com.sun.tools.internal.ws.api.WsgenExtension</tt>
* files.
*
* {@link WsgenProtocol} annotation can be specified on the
* extensions to extend -wsdl[:protocol] behaviour.
*
* @author Jitendra Kotamraju
* @since JAX-WS RI 2.1.6
* @see WsgenProtocol
*/
public abstract class WsgenExtension {
}

View File

@ -0,0 +1,52 @@
/*
* Copyright 2005-2006 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Sun designates this
* particular file as subject to the "Classpath" exception as provided
* by Sun in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*/
package com.sun.tools.internal.ws.api;
import java.lang.annotation.*;
/**
* Allows to extend protocol for wsgen's wsdl[:protocol] switch.
* This annotation must be specified on {@link WsgenExtension}
* implementations.
*
* @author Jitendra Kotamraju
* @since JAX-WS RI 2.1.6
*/
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface WsgenProtocol {
/**
* Token for wsgen -wsdl[:protocol]
* @return
*/
String token();
/**
* The corresponding lexical string used to create BindingID
* @return
*/
String lexical();
}

View File

@ -32,6 +32,8 @@ import javax.xml.namespace.QName;
* A WSDL element or attribute that can be extended. * A WSDL element or attribute that can be extended.
* *
* @author Vivek Pandey * @author Vivek Pandey
* @deprecated This interface is deprecated, will be removed in JAX-WS 2.2 RI.
*
*/ */
public interface TWSDLExtensible { public interface TWSDLExtensible {
/** /**

View File

@ -29,6 +29,7 @@ package com.sun.tools.internal.ws.api.wsdl;
* A WSDL extension * A WSDL extension
* *
* @author Vivek Pandey * @author Vivek Pandey
* @deprecated This interface is deprecated, will be removed in JAX-WS 2.2 RI.
*/ */
public interface TWSDLExtension { public interface TWSDLExtension {
/** /**

View File

@ -33,6 +33,7 @@ import org.w3c.dom.Element;
* with it for the WSDL extensibility elements thats not already defined in the WSDL 1.1 spec, such as SOAP or MIME. * 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 * @author Vivek Pandey
* @deprecated This class is deprecated, will be removed in JAX-WS 2.2 RI.
*/ */
public abstract class TWSDLExtensionHandler { public abstract class TWSDLExtensionHandler {
/** /**

View File

@ -33,6 +33,7 @@ import java.util.Map;
* Abstracts wsdl:portType/wsdl:operation * Abstracts wsdl:portType/wsdl:operation
* *
* @author Vivek Pandey * @author Vivek Pandey
* @deprecated This interface is deprecated, will be removed in JAX-WS 2.2 RI.
*/ */
public interface TWSDLOperation extends TWSDLExtensible{ public interface TWSDLOperation extends TWSDLExtensible{
/** /**

View File

@ -33,6 +33,7 @@ import org.xml.sax.Locator;
* it can be latter used by other extensions to resolve the namespaces. * it can be latter used by other extensions to resolve the namespaces.
* *
* @author Vivek Pandey * @author Vivek Pandey
* @deprecated This interface is deprecated, will be removed in JAX-WS 2.2 RI.
*/ */
public interface TWSDLParserContext { public interface TWSDLParserContext {

View File

@ -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. * This document describes the tools included with JAX-WS 2.0.1.
* *
* {@DotDiagram * {@DotDiagram
@ -42,22 +42,24 @@
// libraries // libraries
node [style=filled,color=lightblue]; 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 // aps
# node [style=filled,color=lightpink]; # node [style=filled,color=lightpink];
# "JAX-WS"; tools; runtime; SPI; "Annotation Processor"; # "JAX-WS"; tools; runtime; SPI; "Annotation Processor";
"Apt ANT Task" -> APT; "Apt ANT Task" -> APT;
"WsGen ANT Task" -> wsgen -> CompileTool; "WsGen ANT Task" -> wsgen -> WsgenTool;
"WsImport ANT Task" -> wsimport -> CompileTool; "WsImport ANT Task" -> wsimport -> WsimportTool;
CompileTool -> APT -> WSAP -> WebServiceAP; WsgenTool -> APT -> WSAP -> WebServiceAP;
CompileTool -> Processor -> Modeler; WsimportTool -> WSDLModeler;
Processor -> ProcessorActions; WSDLModeler->WSDLParser;
CompileTool -> WebServiceAP; WSDLModeler->"JAXB XJC APIs"
WsimportTool->SeiGenerator->CodeModel;
Modeler -> WSDLModeler; WsimportTool->ServiceGenerator->CodeModel;
WsimportTool->ExceptionGenerator->CodeModel;
WebServiceAP->CodeModel
} }
* } * }
* <div align=right> * <div align=right>

View File

@ -156,12 +156,14 @@ public abstract class GeneratorBase
return comments; return comments;
} }
protected JDefinedClass getClass(String className, ClassType type) { protected JDefinedClass getClass(String className, ClassType type) throws JClassAlreadyExistsException {
JDefinedClass cls; JDefinedClass cls;
try { try {
cls = cm._class(className, type); cls = cm._class(className, type);
} catch (JClassAlreadyExistsException e){ } catch (JClassAlreadyExistsException e){
cls = cm._getClass(className); cls = cm._getClass(className);
if(cls == null)
throw e;
} }
return cls; return cls;
} }

View File

@ -36,7 +36,11 @@ import com.sun.tools.internal.ws.processor.model.jaxb.JAXBTypeAndAnnotation;
import com.sun.tools.internal.ws.wscompile.ErrorReceiver; import com.sun.tools.internal.ws.wscompile.ErrorReceiver;
import com.sun.tools.internal.ws.wscompile.Options; import com.sun.tools.internal.ws.wscompile.Options;
import com.sun.tools.internal.ws.wscompile.WsimportOptions; 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.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.WebMethod;
import javax.jws.WebParam; import javax.jws.WebParam;
@ -48,6 +52,8 @@ import javax.xml.ws.Holder;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import org.xml.sax.Locator;
public class SeiGenerator extends GeneratorBase{ public class SeiGenerator extends GeneratorBase{
private String serviceNS; private String serviceNS;
private TJavaGeneratorExtension extension; private TJavaGeneratorExtension extension;
@ -83,10 +89,22 @@ public class SeiGenerator extends GeneratorBase{
} }
JDefinedClass cls = getClass(className, ClassType.INTERFACE); JDefinedClass cls = null;
if (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; return;
}
// If the class has methods it has already been defined // If the class has methods it has already been defined
// so skip it. // so skip it.
if (!cls.methods().isEmpty()) if (!cls.methods().isEmpty())
@ -441,15 +459,7 @@ public class SeiGenerator extends GeneratorBase{
if (port.isProvider()) { if (port.isProvider()) {
return; // Not generating for Provider based endpoint return; // Not generating for Provider based endpoint
} }
try {
write(port); write(port);
} catch (Exception e) {
throw new GeneratorException(
"generator.nestedGeneratorError",
e);
}
} }
private void register(TJavaGeneratorExtension h) { private void register(TJavaGeneratorExtension h) {

View File

@ -29,11 +29,13 @@ import com.sun.codemodel.internal.*;
import com.sun.tools.internal.ws.processor.model.Model; 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.Port;
import com.sun.tools.internal.ws.processor.model.Service; 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.processor.model.java.JavaInterface;
import com.sun.tools.internal.ws.wscompile.ErrorReceiver; import com.sun.tools.internal.ws.wscompile.ErrorReceiver;
import com.sun.tools.internal.ws.wscompile.Options; import com.sun.tools.internal.ws.wscompile.Options;
import com.sun.tools.internal.ws.wscompile.WsimportOptions; import com.sun.tools.internal.ws.wscompile.WsimportOptions;
import com.sun.tools.internal.ws.resources.GeneratorMessages; 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.bind.api.JAXBRIContext;
import com.sun.xml.internal.ws.util.JAXWSUtils; import com.sun.xml.internal.ws.util.JAXWSUtils;
@ -42,31 +44,30 @@ import javax.xml.ws.WebEndpoint;
import javax.xml.ws.WebServiceClient; import javax.xml.ws.WebServiceClient;
import javax.xml.ws.WebServiceFeature; import javax.xml.ws.WebServiceFeature;
import java.io.IOException; import java.io.IOException;
import java.io.File;
import java.net.MalformedURLException; import java.net.MalformedURLException;
import java.net.URL; import java.net.URL;
import java.util.logging.Logger;
import org.xml.sax.Locator;
/** /**
*
* @author WS Development Team * @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 serviceGenerator = new ServiceGenerator(model, options, receiver);
serviceGenerator.doGeneration(); serviceGenerator.doGeneration();
} }
private ServiceGenerator(Model model, WsimportOptions options, ErrorReceiver receiver) { private ServiceGenerator(Model model, WsimportOptions options, ErrorReceiver receiver) {
super(model, options, receiver); super(model, options, receiver);
} }
private JInvocation createURL(URL url) {
return JExpr._new(cm.ref(URL.class)).arg(url.toExternalForm());
}
@Override @Override
public void visit(Service service) { public void visit(Service service) {
try {
JavaInterface intf = service.getJavaInterface(); JavaInterface intf = service.getJavaInterface();
String className = Names.customJavaTypeClassName(intf); String className = Names.customJavaTypeClassName(intf);
if (donotOverride && GeneratorUtil.classExists(options, className)) { if (donotOverride && GeneratorUtil.classExists(options, className)) {
@ -74,12 +75,22 @@ public class ServiceGenerator extends GeneratorBase{
return; return;
} }
JDefinedClass cls = getClass(className, ClassType.CLASS); JDefinedClass cls;
try {
cls = getClass(className, ClassType.CLASS);
} catch (JClassAlreadyExistsException e) {
receiver.error(service.getLocator(), GeneratorMessages.GENERATOR_SERVICE_CLASS_ALREADY_EXIST(className, service.getName()));
return;
}
cls._extends(javax.xml.ws.Service.class); cls._extends(javax.xml.ws.Service.class);
String serviceFieldName = JAXBRIContext.mangleNameToClassName(service.getName().getLocalPart()).toUpperCase(); String serviceFieldName = JAXBRIContext.mangleNameToClassName(service.getName().getLocalPart()).toUpperCase();
String wsdlLocationName = serviceFieldName+"_WSDL_LOCATION"; String wsdlLocationName = serviceFieldName + "_WSDL_LOCATION";
JFieldVar urlField = cls.field(JMod.PRIVATE|JMod.STATIC|JMod.FINAL, URL.class, wsdlLocationName); JFieldVar urlField = cls.field(JMod.PRIVATE | JMod.STATIC | JMod.FINAL, URL.class, wsdlLocationName);
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")));
JClass qNameCls = cm.ref(QName.class); JClass qNameCls = cm.ref(QName.class);
JInvocation inv; JInvocation inv;
inv = JExpr._new(qNameCls); inv = JExpr._new(qNameCls);
@ -88,19 +99,23 @@ public class ServiceGenerator extends GeneratorBase{
JBlock staticBlock = cls.init(); JBlock staticBlock = cls.init();
URL url = new URL(JAXWSUtils.absolutize(JAXWSUtils.getFileOrURLName(wsdlLocation))); JVar urlVar = staticBlock.decl(cm.ref(URL.class), "url", JExpr._null());
JVar urlVar = staticBlock.decl(cm.ref(URL.class),"url", JExpr._null());
JTryBlock tryBlock = staticBlock._try(); JTryBlock tryBlock = staticBlock._try();
tryBlock.body().assign(urlVar, createURL(url)); 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)); JCatchBlock catchBlock = tryBlock._catch(cm.ref(MalformedURLException.class));
catchBlock.param("e"); catchBlock.param("e");
catchBlock.body().directStatement("e.printStackTrace();");
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());");
staticBlock.assign(urlField, urlVar); staticBlock.assign(urlField, urlVar);
//write class comment - JAXWS warning //write class comment - JAXWS warning
JDocComment comment = cls.javadoc(); JDocComment comment = cls.javadoc();
if(service.getJavaDoc() != null){ if (service.getJavaDoc() != null) {
comment.add(service.getJavaDoc()); comment.add(service.getJavaDoc());
comment.add("\n\n"); comment.add("\n\n");
} }
@ -115,7 +130,7 @@ public class ServiceGenerator extends GeneratorBase{
constructor.body().directStatement("super(wsdlLocation, serviceName);"); constructor.body().directStatement("super(wsdlLocation, serviceName);");
constructor = cls.constructor(JMod.PUBLIC); constructor = cls.constructor(JMod.PUBLIC);
constructor.body().directStatement("super("+wsdlLocationName+", new QName(\""+service.getName().getNamespaceURI()+"\", \""+service.getName().getLocalPart()+"\"));"); constructor.body().directStatement("super(" + wsdlLocationName + ", new QName(\"" + service.getName().getNamespaceURI() + "\", \"" + service.getName().getLocalPart() + "\"));");
//@WebService //@WebService
JAnnotationUse webServiceClientAnn = cls.annotate(cm.ref(WebServiceClient.class)); JAnnotationUse webServiceClientAnn = cls.annotate(cm.ref(WebServiceClient.class));
@ -124,79 +139,79 @@ public class ServiceGenerator extends GeneratorBase{
//@HandlerChain //@HandlerChain
writeHandlerConfig(Names.customJavaTypeClassName(service.getJavaInterface()), cls, options); writeHandlerConfig(Names.customJavaTypeClassName(service.getJavaInterface()), cls, options);
for (Port port: service.getPorts()) { for (Port port : service.getPorts()) {
if (port.isProvider()) { if (port.isProvider()) {
continue; // No getXYZPort() for porvider based endpoint continue; // No getXYZPort() for porvider based endpoint
} }
//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() //write getXyzPort()
writeDefaultGetPort(port, cls); writeDefaultGetPort(port, retType, cls);
//write getXyzPort(WebServicesFeature...) //write getXyzPort(WebServicesFeature...)
if(options.target.isLaterThan(Options.Target.V2_1)) if (options.target.isLaterThan(Options.Target.V2_1))
writeGetPort(port, cls); writeGetPort(port, retType, cls);
}
} catch (IOException e) {
receiver.error(e);
} }
} }
private void writeGetPort(Port port, JDefinedClass cls) { private void writeGetPort(Port port, JType retType, JDefinedClass cls) {
JType retType = getClass(port.getJavaInterface().getName(), ClassType.INTERFACE);
JMethod m = cls.method(JMod.PUBLIC, retType, port.getPortGetter()); JMethod m = cls.method(JMod.PUBLIC, retType, port.getPortGetter());
JDocComment methodDoc = m.javadoc(); JDocComment methodDoc = m.javadoc();
if(port.getJavaDoc() != null) if (port.getJavaDoc() != null)
methodDoc.add(port.getJavaDoc()); methodDoc.add(port.getJavaDoc());
JCommentPart ret = methodDoc.addReturn(); JCommentPart ret = methodDoc.addReturn();
JCommentPart paramDoc = methodDoc.addParam("features"); JCommentPart paramDoc = methodDoc.addParam("features");
paramDoc.append("A list of "); 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."); 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"); m.varParam(WebServiceFeature.class, "features");
JBlock body = m.body(); JBlock body = m.body();
StringBuffer statement = new StringBuffer("return ("); StringBuffer statement = new StringBuffer("return ");
statement.append(retType.name()); statement.append("super.getPort(new QName(\"").append(port.getName().getNamespaceURI()).append("\", \"").append(port.getName().getLocalPart()).append("\"), ");
statement.append(")super.getPort(new QName(\"").append(port.getName().getNamespaceURI()).append("\", \"").append(port.getName().getLocalPart()).append("\"), ");
statement.append(retType.name()); statement.append(retType.name());
statement.append(".class, features);"); statement.append(".class, features);");
body.directStatement(statement.toString()); body.directStatement(statement.toString());
writeWebEndpoint(port, m); writeWebEndpoint(port, m);
} }
private void writeDefaultGetPort(Port port, JDefinedClass cls) { private void writeDefaultGetPort(Port port, JType retType, JDefinedClass cls) {
JType retType = getClass(port.getJavaInterface().getName(), ClassType.INTERFACE);
String portGetter = port.getPortGetter(); String portGetter = port.getPortGetter();
JMethod m = cls.method(JMod.PUBLIC, retType, portGetter); JMethod m = cls.method(JMod.PUBLIC, retType, portGetter);
JDocComment methodDoc = m.javadoc(); JDocComment methodDoc = m.javadoc();
if(port.getJavaDoc() != null) if (port.getJavaDoc() != null)
methodDoc.add(port.getJavaDoc()); methodDoc.add(port.getJavaDoc());
JCommentPart ret = methodDoc.addReturn(); JCommentPart ret = methodDoc.addReturn();
ret.add("returns "+retType.name()); ret.add("returns " + retType.name());
JBlock body = m.body(); JBlock body = m.body();
StringBuffer statement = new StringBuffer("return ("); StringBuffer statement = new StringBuffer("return ");
statement.append(retType.name()); statement.append("super.getPort(new QName(\"").append(port.getName().getNamespaceURI()).append("\", \"").append(port.getName().getLocalPart()).append("\"), ");
statement.append(")super.getPort(new QName(\"").append(port.getName().getNamespaceURI()).append("\", \"").append(port.getName().getLocalPart()).append("\"), ");
statement.append(retType.name()); statement.append(retType.name());
statement.append(".class);"); statement.append(".class);");
body.directStatement(statement.toString()); body.directStatement(statement.toString());
writeWebEndpoint(port, m); 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) { private void writeWebServiceClientAnnotation(Service service, JAnnotationUse wsa) {
String serviceName = service.getName().getLocalPart(); String serviceName = service.getName().getLocalPart();
String serviceNS= service.getName().getNamespaceURI(); String serviceNS = service.getName().getNamespaceURI();
wsa.param("name", serviceName); wsa.param("name", serviceName);
wsa.param("targetNamespace", serviceNS); wsa.param("targetNamespace", serviceNS);
wsa.param("wsdlLocation", wsdlLocation); wsa.param("wsdlLocation", wsdlLocation);

View File

@ -22,9 +22,6 @@
* CA 95054 USA or visit www.sun.com if you need additional information or * CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions. * 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; package com.sun.tools.internal.ws.processor.generator;

View File

@ -26,6 +26,7 @@
package com.sun.tools.internal.ws.processor.model; package com.sun.tools.internal.ws.processor.model;
import com.sun.tools.internal.ws.processor.model.java.JavaInterface; 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.document.soap.SOAPStyle;
import com.sun.tools.internal.ws.wsdl.framework.Entity; import com.sun.tools.internal.ws.wsdl.framework.Entity;
@ -174,4 +175,5 @@ public class Port extends ModelObject {
private String _address; private String _address;
private String _serviceImplName; private String _serviceImplName;
private Map<String, Operation> operationsByName = new HashMap<String, Operation>(); private Map<String, Operation> operationsByName = new HashMap<String, Operation>();
public Map<QName, PortType> portTypes = new HashMap<QName, PortType>();
} }

View File

@ -27,6 +27,7 @@ package com.sun.tools.internal.ws.processor.model.java;
import com.sun.tools.internal.ws.resources.ModelMessages; import com.sun.tools.internal.ws.resources.ModelMessages;
import com.sun.tools.internal.ws.wscompile.ErrorReceiver; 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 com.sun.tools.internal.ws.processor.model.Parameter;
import java.util.ArrayList; import java.util.ArrayList;
@ -42,12 +43,14 @@ public class JavaMethod {
private final String name; private final String name;
private final List<JavaParameter> parameters = new ArrayList<JavaParameter>(); private final List<JavaParameter> parameters = new ArrayList<JavaParameter>();
private final List<String> exceptions = new ArrayList<String>(); private final List<String> exceptions = new ArrayList<String>();
private final WsimportOptions options;
private JavaType returnType; private JavaType returnType;
public JavaMethod(String name, ErrorReceiver receiver) { public JavaMethod(String name, WsimportOptions options, ErrorReceiver receiver) {
this.name = name; this.name = name;
this.returnType = null; this.returnType = null;
this.errorReceiver = receiver; this.errorReceiver = receiver;
this.options = options;
} }
public String getName() { public String getName() {
@ -83,11 +86,20 @@ public class JavaMethod {
public void addParameter(JavaParameter param) { public void addParameter(JavaParameter param) {
// verify that this member does not already exist // verify that this member does not already exist
if (hasParameter(param.getName())) { if (hasParameter(param.getName())) {
errorReceiver.error(param.getParameter().getLocator(), ModelMessages.MODEL_PARAMETER_NOTUNIQUE(param.getName(), param.getParameter().getEntityName())); if(options.isExtensionMode()){
param.setName(getUniqueName(param.getName()));
}else{
Parameter duplicParam = getParameter(param.getName()); 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())); errorReceiver.error(duplicParam.getLocator(), ModelMessages.MODEL_PARAMETER_NOTUNIQUE(param.getName(), duplicParam.getEntityName()));
}
return; return;
} }
}
parameters.add(param); parameters.add(param);
} }
@ -106,4 +118,12 @@ public class JavaMethod {
public Iterator<String> getExceptions() { public Iterator<String> getExceptions() {
return exceptions.iterator(); return exceptions.iterator();
} }
private String getUniqueName(String param){
int parmNum = 0;
while(hasParameter(param)){
param = param + Integer.toString(parmNum++);
}
return param;
}
} }

View File

@ -71,11 +71,11 @@ public class JAXBType extends AbstractType{
} }
public boolean isUnwrappable(){ public boolean isUnwrappable(){
return getJaxbMapping().getWrapperStyleDrilldown() != null; return jaxbMapping != null && jaxbMapping.getWrapperStyleDrilldown() != null;
} }
public boolean hasWrapperChildren(){ public boolean hasWrapperChildren(){
return (getWrapperChildren().size() > 0) ? true : false; return wrapperChildren.size() > 0;
} }
public boolean isLiteralType() { public boolean isLiteralType() {

View File

@ -210,6 +210,7 @@ public class WebServiceAP implements AnnotationProcessor, ModelBuilder, WebServi
public void onError(String message) { public void onError(String message) {
if (messager != null) { if (messager != null) {
messager.printError(message); messager.printError(message);
throw new AbortException();
} else { } else {
throw new ModelerException(message); throw new ModelerException(message);
} }

View File

@ -441,10 +441,21 @@ public abstract class WebServiceVisitor extends SimpleDeclarationVisitor impleme
protected boolean shouldProcessMethod(MethodDeclaration method, WebMethod webMethod) { protected boolean shouldProcessMethod(MethodDeclaration method, WebMethod webMethod) {
builder.log("should process method: "+method.getSimpleName()+" hasWebMethods: "+ hasWebMethods+" "); 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) { if (hasWebMethods && webMethod == null) {
builder.log("webMethod == null"); builder.log("webMethod == null");
return false; 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 || boolean retval = (endpointReferencesInterface ||
method.getDeclaringType().equals(typeDecl) || method.getDeclaringType().equals(typeDecl) ||
(method.getDeclaringType().getAnnotation(WebService.class) != null)); (method.getDeclaringType().getAnnotation(WebService.class) != null));
@ -474,10 +485,6 @@ public abstract class WebServiceVisitor extends SimpleDeclarationVisitor impleme
builder.onError(classDecl.getPosition(), WebserviceapMessages.localizableWEBSERVICEAP_WEBSERVICE_CLASS_IS_ABSTRACT(classDecl.getQualifiedName())); builder.onError(classDecl.getPosition(), WebserviceapMessages.localizableWEBSERVICEAP_WEBSERVICE_CLASS_IS_ABSTRACT(classDecl.getQualifiedName()));
return false; 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; boolean hasDefaultConstructor = false;
for (ConstructorDeclaration constructor : classDecl.getConstructors()) { for (ConstructorDeclaration constructor : classDecl.getConstructors()) {
if (constructor.getModifiers().contains(Modifier.PUBLIC) && if (constructor.getModifiers().contains(Modifier.PUBLIC) &&
@ -487,6 +494,11 @@ public abstract class WebServiceVisitor extends SimpleDeclarationVisitor impleme
} }
} }
if (!hasDefaultConstructor && !isStateful) { 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())); builder.onError(classDecl.getPosition(), WebserviceapMessages.localizableWEBSERVICEAP_WEBSERVICE_NO_DEFAULT_CONSTRUCTOR(classDecl.getQualifiedName()));
return false; return false;
} }
@ -578,7 +590,7 @@ public abstract class WebServiceVisitor extends SimpleDeclarationVisitor impleme
} }
ClassType superClass = classDecl.getSuperclass(); 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 false;
} }
return true; return true;
@ -596,11 +608,13 @@ public abstract class WebServiceVisitor extends SimpleDeclarationVisitor impleme
if (!hasWebMethods && (webMethod !=null) && webMethod.exclude()) { if (!hasWebMethods && (webMethod !=null) && webMethod.exclude()) {
return true; 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)) { if (typeDecl instanceof ClassDeclaration && method.getModifiers().contains(Modifier.ABSTRACT)) {
builder.onError(method.getPosition(), WebserviceapMessages.localizableWEBSERVICEAP_WEBSERVICE_METHOD_IS_ABSTRACT(typeDecl.getQualifiedName(), method.getSimpleName())); builder.onError(method.getPosition(), WebserviceapMessages.localizableWEBSERVICEAP_WEBSERVICE_METHOD_IS_ABSTRACT(typeDecl.getQualifiedName(), method.getSimpleName()));
return false; return false;
} }
*/
if (!isLegalType(method.getReturnType())) { if (!isLegalType(method.getReturnType())) {
builder.onError(method.getPosition(), WebserviceapMessages.localizableWEBSERVICEAP_METHOD_RETURN_TYPE_CANNOT_IMPLEMENT_REMOTE(typeDecl.getQualifiedName(), builder.onError(method.getPosition(), WebserviceapMessages.localizableWEBSERVICEAP_METHOD_RETURN_TYPE_CANNOT_IMPLEMENT_REMOTE(typeDecl.getQualifiedName(),
method.getSimpleName(), method.getSimpleName(),
@ -750,7 +764,12 @@ public abstract class WebServiceVisitor extends SimpleDeclarationVisitor impleme
protected boolean isLegalType(TypeMirror type) { protected boolean isLegalType(TypeMirror type) {
if (!(type instanceof DeclaredType)) if (!(type instanceof DeclaredType))
return true; 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) { protected ParameterDeclaration getOutParameter(MethodDeclaration method) {

View File

@ -127,8 +127,10 @@ public class WebServiceWrapperGenerator extends WebServiceVisitor {
boolean beanGenerated = false; boolean beanGenerated = false;
for (ReferenceType thrownType : method.getThrownTypes()) { for (ReferenceType thrownType : method.getThrownTypes()) {
ClassDeclaration typeDecl = ((ClassType)thrownType).getDeclaration(); ClassDeclaration typeDecl = ((ClassType)thrownType).getDeclaration();
if (typeDecl == null) if (typeDecl == null){
builder.onError(WebserviceapMessages.WEBSERVICEAP_COULD_NOT_FIND_TYPEDECL(thrownType.toString(), context.getRound())); builder.onError(WebserviceapMessages.WEBSERVICEAP_COULD_NOT_FIND_TYPEDECL(thrownType.toString(), context.getRound()));
return false;
}
boolean tmp = generateExceptionBean(typeDecl, beanPackage); boolean tmp = generateExceptionBean(typeDecl, beanPackage);
beanGenerated = beanGenerated || tmp; beanGenerated = beanGenerated || tmp;
} }
@ -195,7 +197,7 @@ public class WebServiceWrapperGenerator extends WebServiceVisitor {
if (resWrapper.targetNamespace().length() > 0) if (resWrapper.targetNamespace().length() > 0)
resNamespace = resWrapper.targetNamespace(); resNamespace = resWrapper.targetNamespace();
} }
canOverwriteResponse = builder.canOverWriteClass(requestClassName); canOverwriteResponse = builder.canOverWriteClass(responseClassName);
if (!canOverwriteResponse) { if (!canOverwriteResponse) {
builder.log("Class " + responseClassName + " exists. Not overwriting."); builder.log("Class " + responseClassName + " exists. Not overwriting.");
} }
@ -593,7 +595,7 @@ public class WebServiceWrapperGenerator extends WebServiceVisitor {
return; return;
String accessorName =JAXBRIContext.mangleNameToPropertyName(paramName); 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); JType propType = getType(paramType);
JMethod m = cls.method(JMod.PUBLIC, propType, getterPrefix+ accessorName); JMethod m = cls.method(JMod.PUBLIC, propType, getterPrefix+ accessorName);
JDocComment methodDoc = m.javadoc(); JDocComment methodDoc = m.javadoc();

View File

@ -57,6 +57,8 @@ public class ConsoleErrorReporter extends ErrorReceiver {
print(WscompileMessages.WSIMPORT_ERROR_MESSAGE(e.getMessage()), e); print(WscompileMessages.WSIMPORT_ERROR_MESSAGE(e.getMessage()), e);
} }
public void fatalError(SAXParseException e) { public void fatalError(SAXParseException e) {
if(debug) if(debug)
e.printStackTrace(); e.printStackTrace();
@ -76,6 +78,11 @@ public class ConsoleErrorReporter extends ErrorReceiver {
print(WscompileMessages.WSIMPORT_INFO_MESSAGE(e.getMessage()), e); 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) { private void print(String message, SAXParseException e) {
output.println(message); output.println(message);
output.println(getLocationString(e)); output.println(getLocationString(e));

View File

@ -28,6 +28,7 @@ import com.sun.tools.internal.ws.processor.generator.Names;
import static com.sun.tools.internal.ws.processor.modeler.wsdl.WSDLModelerBase.getExtensionOfType; 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.ErrorReceiver;
import com.sun.tools.internal.ws.wscompile.WsimportOptions; 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.*;
import com.sun.tools.internal.ws.wsdl.document.jaxws.JAXWSBinding; import com.sun.tools.internal.ws.wsdl.document.jaxws.JAXWSBinding;
import com.sun.tools.internal.ws.wsdl.document.schema.SchemaKinds; import com.sun.tools.internal.ws.wsdl.document.schema.SchemaKinds;
@ -101,7 +102,7 @@ public class PseudoSchemaBuilder {
is.setSystemId(sysId+(i + 1)); is.setSystemId(sysId+(i + 1));
} }
//add w3c EPR binding //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())); InputSource is = new InputSource(new ByteArrayInputStream(w3ceprSchemaBinding.getBytes()));
is.setSystemId(sysId+(++i +1)); is.setSystemId(sysId+(++i +1));
b.schemas.add(is); b.schemas.add(is);

View File

@ -74,7 +74,7 @@ import java.io.IOException;
public class WSDLModeler extends WSDLModelerBase { public class WSDLModeler extends WSDLModelerBase {
//map of wsdl:operation QName to <soapenv:Body> child, as per BP it must be unique in a port //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 final QName VOID_BODYBLOCK = new QName("");
private ClassNameCollector classNameCollector; private ClassNameCollector classNameCollector;
private final String explicitDefaultPackage; private final String explicitDefaultPackage;
@ -334,11 +334,12 @@ public class WSDLModeler extends WSDLModelerBase {
|| (!soapBinding.getTransport().equals( || (!soapBinding.getTransport().equals(
SOAPConstants.URI_SOAP_TRANSPORT_HTTP) && !soapBinding.getTransport().equals( SOAPConstants.URI_SOAP_TRANSPORT_HTTP) && !soapBinding.getTransport().equals(
SOAP12Constants.URI_SOAP_TRANSPORT_HTTP)))) { SOAP12Constants.URI_SOAP_TRANSPORT_HTTP)))) {
warning(wsdlPort, ModelerMessages.WSDLMODELER_WARNING_IGNORING_SOAP_BINDING_NON_HTTP_TRANSPORT(wsdlPort.getName()));
if (!options.isExtensionMode()) { if (!options.isExtensionMode()) {
// cannot deal with non-HTTP ports // cannot deal with non-HTTP ports
warning(wsdlPort, ModelerMessages.WSDLMODELER_WARNING_IGNORING_SOAP_BINDING_NON_HTTP_TRANSPORT(wsdlPort.getName()));
return false; return false;
} }
} }
/** /**
@ -679,8 +680,13 @@ public class WSDLModeler extends WSDLModelerBase {
if (soapStyle == SOAPStyle.RPC) { if (soapStyle == SOAPStyle.RPC) {
if (soapRequestBody.isEncoded()) { if (soapRequestBody.isEncoded()) {
if(options.isExtensionMode()){
warning(soapRequestBody, ModelerMessages.WSDLMODELER_20_RPCENC_NOT_SUPPORTED());
processNonSOAPOperation();
}else{
error(soapRequestBody, ModelerMessages.WSDLMODELER_20_RPCENC_NOT_SUPPORTED()); error(soapRequestBody, ModelerMessages.WSDLMODELER_20_RPCENC_NOT_SUPPORTED());
} }
}
return processLiteralSOAPOperation(StyleAndUse.RPC_LITERAL); return processLiteralSOAPOperation(StyleAndUse.RPC_LITERAL);
} }
// document style // document style
@ -815,18 +821,69 @@ public class WSDLModeler extends WSDLModelerBase {
QName body = VOID_BODYBLOCK; QName body = VOID_BODYBLOCK;
QName opName = null; QName opName = null;
Operation thatOp;
if (bb.hasNext()) { if (bb.hasNext()) {
body = bb.next().getName(); body = bb.next().getName();
opName = uniqueBodyBlocks.get(body); thatOp = uniqueBodyBlocks.get(body);
} else { } else {
//there is no body block //there is no body block
body = VOID_BODYBLOCK; body = VOID_BODYBLOCK;
opName = uniqueBodyBlocks.get(VOID_BODYBLOCK); thatOp = uniqueBodyBlocks.get(VOID_BODYBLOCK);
}
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);
}
}
} }
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());
} }
// faults with duplicate names // faults with duplicate names
@ -848,6 +905,7 @@ public class WSDLModeler extends WSDLModelerBase {
return info.operation; return info.operation;
} }
private boolean validateParameterName(List<Parameter> params) { private boolean validateParameterName(List<Parameter> params) {
if (options.isExtensionMode()) if (options.isExtensionMode())
return true; return true;
@ -1460,6 +1518,19 @@ public class WSDLModeler extends WSDLModelerBase {
return null; 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) { private List<MessagePart> getHeaderPartsFromMessage(Message message, boolean isInput) {
List<MessagePart> headerParts = new ArrayList<MessagePart>(); List<MessagePart> headerParts = new ArrayList<MessagePart>();
Iterator<MessagePart> parts = message.parts(); Iterator<MessagePart> parts = message.parts();
@ -1490,19 +1561,6 @@ public class WSDLModeler extends WSDLModelerBase {
return null; 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) { private List<MessagePart> getHeaderParts(boolean isInput) {
TWSDLExtensible ext; TWSDLExtensible ext;
if (isInput) { if (isInput) {
@ -2247,6 +2305,10 @@ public class WSDLModeler extends WSDLModelerBase {
(QName) port.getProperty( (QName) port.getProperty(
ModelProperties.PROPERTY_WSDL_PORT_TYPE_NAME); ModelProperties.PROPERTY_WSDL_PORT_TYPE_NAME);
PortType pt = (PortType) document.find(Kinds.PORT_TYPE, portTypeName); 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); JAXWSBinding jaxwsCust = (JAXWSBinding) getExtensionOfType(pt, JAXWSBinding.class);
if (jaxwsCust != null && jaxwsCust.getClassName() != null) { if (jaxwsCust != null && jaxwsCust.getClassName() != null) {
CustomName name = jaxwsCust.getClassName(); CustomName name = jaxwsCust.getClassName();
@ -2271,7 +2333,7 @@ public class WSDLModeler extends WSDLModelerBase {
private void createJavaMethodForAsyncOperation(Port port, Operation operation, private void createJavaMethodForAsyncOperation(Port port, Operation operation,
JavaInterface intf) { JavaInterface intf) {
String candidateName = getJavaNameForOperation(operation); String candidateName = getJavaNameForOperation(operation);
JavaMethod method = new JavaMethod(candidateName, errReceiver); JavaMethod method = new JavaMethod(candidateName, options, errReceiver);
Request request = operation.getRequest(); Request request = operation.getRequest();
Iterator requestBodyBlocks = request.getBodyBlocks(); Iterator requestBodyBlocks = request.getBodyBlocks();
Block requestBlock = Block requestBlock =
@ -2338,7 +2400,7 @@ public class WSDLModeler extends WSDLModelerBase {
return; return;
} }
String candidateName = getJavaNameForOperation(operation); String candidateName = getJavaNameForOperation(operation);
JavaMethod method = new JavaMethod(candidateName, errReceiver); JavaMethod method = new JavaMethod(candidateName, options, errReceiver);
Request request = operation.getRequest(); Request request = operation.getRequest();
Parameter returnParam = (Parameter) operation.getProperty(WSDL_RESULT_PARAMETER); Parameter returnParam = (Parameter) operation.getProperty(WSDL_RESULT_PARAMETER);
if (returnParam != null) { if (returnParam != null) {
@ -2718,7 +2780,7 @@ public class WSDLModeler extends WSDLModelerBase {
private void reportError(Entity entity, private void reportError(Entity entity,
String formattedMsg, Exception nestedException ) { String formattedMsg, Exception nestedException ) {
Locator locator = (entity == null)?NULL_LOCATOR:entity.getLocator(); Locator locator = (entity == null)?null:entity.getLocator();
SAXParseException e = new SAXParseException2( formattedMsg, SAXParseException e = new SAXParseException2( formattedMsg,
locator, locator,

View File

@ -288,24 +288,12 @@ public abstract class WSDLModelerBase implements Modeler {
private boolean validateMimeContentPartNames(List<MIMEContent> mimeContents) { private boolean validateMimeContentPartNames(List<MIMEContent> mimeContents) {
//validate mime:content(s) in the mime:part as per R2909 //validate mime:content(s) in the mime:part as per R2909
for (MIMEContent mimeContent : mimeContents) { for (MIMEContent mimeContent : mimeContents) {
String mimeContnetPart = null; String mimeContnetPart;
if(mimeContnetPart == null) {
mimeContnetPart = getMimeContentPartName(mimeContent); mimeContnetPart = getMimeContentPartName(mimeContent);
if(mimeContnetPart == null) { if(mimeContnetPart == null) {
warning(mimeContent, ModelerMessages.MIMEMODELER_INVALID_MIME_CONTENT_MISSING_PART_ATTRIBUTE(info.operation.getName().getLocalPart())); warning(mimeContent, ModelerMessages.MIMEMODELER_INVALID_MIME_CONTENT_MISSING_PART_ATTRIBUTE(info.operation.getName().getLocalPart()));
return false; 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;
}
}
} }
return true; return true;
} }
@ -386,6 +374,9 @@ public abstract class WSDLModelerBase implements Modeler {
protected String getRequestNamespaceURI(SOAPBody body) { protected String getRequestNamespaceURI(SOAPBody body) {
String namespaceURI = body.getNamespace(); String namespaceURI = body.getNamespace();
if (namespaceURI == null) { if (namespaceURI == null) {
if(options.isExtensionMode()){
return info.modelPort.getName().getNamespaceURI();
}
// the WSDL document is invalid // the WSDL document is invalid
// at least, that's my interpretation of section 3.5 of the WSDL 1.1 spec! // 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())); error(body, ModelerMessages.WSDLMODELER_INVALID_BINDING_OPERATION_INPUT_SOAP_BODY_MISSING_NAMESPACE(info.bindingOperation.getName()));
@ -396,6 +387,9 @@ public abstract class WSDLModelerBase implements Modeler {
protected String getResponseNamespaceURI(SOAPBody body) { protected String getResponseNamespaceURI(SOAPBody body) {
String namespaceURI = body.getNamespace(); String namespaceURI = body.getNamespace();
if (namespaceURI == null) { if (namespaceURI == null) {
if(options.isExtensionMode()){
return info.modelPort.getName().getNamespaceURI();
}
// the WSDL document is invalid // the WSDL document is invalid
// at least, that's my interpretation of section 3.5 of the WSDL 1.1 spec! // 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())); error(body, ModelerMessages.WSDLMODELER_INVALID_BINDING_OPERATION_OUTPUT_SOAP_BODY_MISSING_NAMESPACE(info.bindingOperation.getName()));
@ -703,14 +697,14 @@ public abstract class WSDLModelerBase implements Modeler {
if(numPasses > 1) if(numPasses > 1)
return; return;
if(entity == null) if(entity == null)
errReceiver.warning(NULL_LOCATOR, message); errReceiver.warning(null, message);
else else
errReceiver.warning(entity.getLocator(), message); errReceiver.warning(entity.getLocator(), message);
} }
protected void error(Entity entity, String message){ protected void error(Entity entity, String message){
if(entity == null) if(entity == null)
errReceiver.error(NULL_LOCATOR, message); errReceiver.error(null, message);
else else
errReceiver.error(entity.getLocator(), message); errReceiver.error(entity.getLocator(), message);
throw new AbortException(); throw new AbortException();

View File

@ -80,8 +80,10 @@ public class ClassNameCollector extends ExtendedModelVisitor
protected void preVisit(Service service) throws Exception { protected void preVisit(Service service) throws Exception {
registerClassName( registerClassName(
((JavaInterface)service.getJavaInterface()).getName()); ((JavaInterface)service.getJavaInterface()).getName());
registerClassName( // We don't generate Impl classes, commenting it out.
((JavaInterface)service.getJavaInterface()).getImpl()); // Otherwise, it would cause naming conflicts
//registerClassName(
// ((JavaInterface)service.getJavaInterface()).getImpl());
} }
protected void processPort11x(Port port){ protected void processPort11x(Port port){

View File

@ -38,6 +38,30 @@ public final class GeneratorMessages {
private final static LocalizableMessageFactory messageFactory = new LocalizableMessageFactory("com.sun.tools.internal.ws.resources.generator"); private final static LocalizableMessageFactory messageFactory = new LocalizableMessageFactory("com.sun.tools.internal.ws.resources.generator");
private final static Localizer localizer = new Localizer(); 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) { public static Localizable localizableGENERATOR_NESTED_GENERATOR_ERROR(Object arg0) {
return messageFactory.getMessage("generator.nestedGeneratorError", arg0); return messageFactory.getMessage("generator.nestedGeneratorError", arg0);
} }

View File

@ -255,18 +255,6 @@ public final class ModelMessages {
return localizer.localize(localizableMODEL_SAXPARSER_EXCEPTION(arg0, arg1)); 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) { public static Localizable localizableMODEL_DUPLICATE_FAULTMESSAGE(Object arg0) {
return messageFactory.getMessage("model.duplicate.faultmessage", arg0); return messageFactory.getMessage("model.duplicate.faultmessage", arg0);
} }
@ -536,7 +524,9 @@ public final class ModelMessages {
} }
/** /**
* 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) { public static String MODEL_PARAMETER_NOTUNIQUE(Object arg0, Object arg1) {
@ -639,6 +629,21 @@ public final class ModelMessages {
return localizer.localize(localizableMODEL_IMPORTER_INVALID_LITERAL(arg0)); 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) { public static Localizable localizableMODEL_SCHEMA_NOT_IMPLEMENTED(Object arg0) {
return messageFactory.getMessage("model.schema.notImplemented", arg0); return messageFactory.getMessage("model.schema.notImplemented", arg0);
} }

View File

@ -331,7 +331,7 @@ public final class ModelerMessages {
} }
/** /**
* 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) { public static String WSDLMODELER_JAXB_JAVATYPE_NOTFOUND(Object arg0, Object arg1) {
@ -590,6 +590,18 @@ public final class ModelerMessages {
return localizer.localize(localizableWSDLMODELER_WARNING_IGNORING_OPERATION_CANNOT_HANDLE_BODY_PARTS_ATTRIBUTE(arg0)); 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) { public static Localizable localizableWSDLMODELER_WARNING_IGNORING_SOAP_BINDING_MIXED_STYLE(Object arg0) {
return messageFactory.getMessage("wsdlmodeler.warning.ignoringSOAPBinding.mixedStyle", arg0); return messageFactory.getMessage("wsdlmodeler.warning.ignoringSOAPBinding.mixedStyle", arg0);
} }
@ -818,18 +830,6 @@ public final class ModelerMessages {
return localizer.localize(localizableWSDLMODELER_INVALID_BINDING_OPERATION_MULTIPLE_MATCHING_OPERATIONS(arg0, arg1)); 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) { 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); return messageFactory.getMessage("wsdlmodeler.warning.ignoringHeader.cant.resolve.message", arg0, arg1);
} }
@ -1238,6 +1238,18 @@ public final class ModelerMessages {
return localizer.localize(localizableWSDLMODELER_WARNING_IGNORING_HEADER_FAULT_NOT_FOUND(arg0, arg1, arg2)); 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) { 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); return messageFactory.getMessage("wsdlmodeler.invalid.operation.javaReservedWordNotAllowed.wrapperStyle", arg0, arg1, arg2);
} }

View File

@ -62,6 +62,30 @@ public final class WscompileMessages {
return localizer.localize(localizableWSGEN_CLASS_NOT_FOUND(arg0)); 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() { public static Localizable localizableWSGEN_USAGE_EXAMPLES() {
return messageFactory.getMessage("wsgen.usage.examples"); return messageFactory.getMessage("wsgen.usage.examples");
} }
@ -142,6 +166,27 @@ public final class WscompileMessages {
return localizer.localize(localizableWSIMPORT_MISSING_FILE()); 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) { public static Localizable localizableWSIMPORT_USAGE(Object arg0) {
return messageFactory.getMessage("wsimport.usage", arg0); return messageFactory.getMessage("wsimport.usage", arg0);
} }
@ -221,8 +266,8 @@ public final class WscompileMessages {
* -p <pkg> specifies the target package * -p <pkg> specifies the target package
* -quiet suppress wsimport output * -quiet suppress wsimport output
* -s <directory> specify where to place generated source files * -s <directory> specify where to place generated source files
* -target <version> generate code as per the given JAXWS specification version. * -target <version> generate code as per the given JAXWS spec version
* version 2.0 will generate compliant code for JAXWS 2.0 spec. * e.g. 2.0 will generate compliant code for JAXWS 2.0 spec
* -verbose output messages about what the compiler is doing * -verbose output messages about what the compiler is doing
* -version print version information * -version print version information
* -wsdllocation <location> @WebServiceClient.wsdlLocation value * -wsdllocation <location> @WebServiceClient.wsdlLocation value
@ -245,6 +290,44 @@ public final class WscompileMessages {
return localizer.localize(localizableWSCOMPILE_ERROR(arg0)); 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) { public static Localizable localizableWSGEN_NO_WEBSERVICES_CLASS(Object arg0) {
return messageFactory.getMessage("wsgen.no.webservices.class", arg0); return messageFactory.getMessage("wsgen.no.webservices.class", arg0);
} }
@ -281,6 +364,18 @@ public final class WscompileMessages {
return localizer.localize(localizableWSCOMPILE_INFO(arg0)); 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) { public static Localizable localizableWSIMPORT_WARNING_MESSAGE(Object arg0) {
return messageFactory.getMessage("wsimport.WarningMessage", arg0); return messageFactory.getMessage("wsimport.WarningMessage", arg0);
} }
@ -324,6 +419,7 @@ public final class WscompileMessages {
/** /**
* generating code... * generating code...
* *
*
*/ */
public static String WSIMPORT_GENERATING_CODE() { public static String WSIMPORT_GENERATING_CODE() {
return localizer.localize(localizableWSIMPORT_GENERATING_CODE()); return localizer.localize(localizableWSIMPORT_GENERATING_CODE());
@ -389,6 +485,30 @@ public final class WscompileMessages {
return localizer.localize(localizableWSIMPORT_NO_SUCH_JAXB_OPTION(arg0)); 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) { public static Localizable localizableWSGEN_COULD_NOT_CREATE_FILE(Object arg0) {
return messageFactory.getMessage("wsgen.could.not.create.file", arg0); return messageFactory.getMessage("wsgen.could.not.create.file", arg0);
} }
@ -413,8 +533,8 @@ public final class WscompileMessages {
return localizer.localize(localizableWSGEN_WSDL_ARG_NO_GENWSDL(arg0)); return localizer.localize(localizableWSGEN_WSDL_ARG_NO_GENWSDL(arg0));
} }
public static Localizable localizableWSGEN_HELP(Object arg0) { public static Localizable localizableWSGEN_HELP(Object arg0, Object arg1, Object arg2) {
return messageFactory.getMessage("wsgen.help", arg0); return messageFactory.getMessage("wsgen.help", arg0, arg1, arg2);
} }
/** /**
@ -437,17 +557,19 @@ public final class WscompileMessages {
* -verbose output messages about what the compiler is doing * -verbose output messages about what the compiler is doing
* -version print version information * -version print version information
* -wsdl[:protocol] generate a WSDL file. The protocol is optional. * -wsdl[:protocol] generate a WSDL file. The protocol is optional.
* Valid protocols are soap1.1 and Xsoap1.2, the default * Valid protocols are {1},
* is soap1.1. Xsoap1.2 is not standard and can only be * the default is soap1.1.
* used in conjunction with the -extension option * 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 * -servicename <name> specify the Service name to use in the generated WSDL
* Used in conjunction with the -wsdl option. * Used in conjunction with the -wsdl option.
* -portname <name> specify the Port name to use in the generated WSDL * -portname <name> specify the Port name to use in the generated WSDL
* Used in conjunction with the -wsdl option. * Used in conjunction with the -wsdl option.
* *
*/ */
public static String WSGEN_HELP(Object arg0) { public static String WSGEN_HELP(Object arg0, Object arg1, Object arg2) {
return localizer.localize(localizableWSGEN_HELP(arg0)); return localizer.localize(localizableWSGEN_HELP(arg0, arg1, arg2));
} }
public static Localizable localizableWSIMPORT_INFO_MESSAGE(Object arg0) { public static Localizable localizableWSIMPORT_INFO_MESSAGE(Object arg0) {
@ -474,6 +596,18 @@ public final class WscompileMessages {
return localizer.localize(localizableWSGEN_SOAP_12_WITHOUT_EXTENSION()); 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() { public static Localizable localizableWSCOMPILE_COMPILATION_FAILED() {
return messageFactory.getMessage("wscompile.compilationFailed"); return messageFactory.getMessage("wscompile.compilationFailed");
} }
@ -546,6 +680,18 @@ public final class WscompileMessages {
return localizer.localize(localizableWSIMPORT_NO_WSDL(arg0)); 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) { public static Localizable localizableWSGEN_USAGE(Object arg0) {
return messageFactory.getMessage("wsgen.usage", arg0); return messageFactory.getMessage("wsgen.usage", arg0);
} }

View File

@ -55,13 +55,27 @@ public final class WsdlMessages {
} }
/** /**
* 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) { public static String ENTITY_NOT_FOUND_BINDING(Object arg0, Object arg1) {
return localizer.localize(localizableENTITY_NOT_FOUND_BINDING(arg0, arg1)); return localizer.localize(localizableENTITY_NOT_FOUND_BINDING(arg0, arg1));
} }
public static Localizable localizablePARSING_UNABLE_TO_GET_METADATA(Object arg0, Object arg1) {
return messageFactory.getMessage("parsing.unableToGetMetadata", arg0, arg1);
}
/**
* {0}
*
* {1}
*
*/
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_PARSE_FAILED() { public static Localizable localizablePARSING_PARSE_FAILED() {
return messageFactory.getMessage("Parsing.ParseFailed"); return messageFactory.getMessage("Parsing.ParseFailed");
} }
@ -74,18 +88,6 @@ public final class WsdlMessages {
return localizer.localize(localizablePARSING_PARSE_FAILED()); return localizer.localize(localizablePARSING_PARSE_FAILED());
} }
public static Localizable localizablePARSING_UNABLE_TO_GET_METADATA(Object arg0) {
return messageFactory.getMessage("parsing.unableToGetMetadata", arg0);
}
/**
* Unable to get Metadata from: {0}
*
*/
public static String PARSING_UNABLE_TO_GET_METADATA(Object arg0) {
return localizer.localize(localizablePARSING_UNABLE_TO_GET_METADATA(arg0));
}
public static Localizable localizableVALIDATION_INVALID_PREFIX(Object arg0) { public static Localizable localizableVALIDATION_INVALID_PREFIX(Object arg0) {
return messageFactory.getMessage("validation.invalidPrefix", arg0); return messageFactory.getMessage("validation.invalidPrefix", arg0);
} }
@ -151,7 +153,7 @@ public final class WsdlMessages {
} }
/** /**
* 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) { public static String ENTITY_NOT_FOUND_PORT_TYPE(Object arg0, Object arg1) {
@ -212,7 +214,7 @@ public final class WsdlMessages {
/** /**
* Invalid WSDL, duplicate parts in a wsdl:message is not allowed. * 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) { public static String VALIDATION_DUPLICATE_PART_NAME(Object arg0, Object arg1) {
@ -248,7 +250,7 @@ public final class WsdlMessages {
} }
/** /**
* found unexpected non whitespace text: "{0}" * found unexpected non-whitespace text: "{0}"
* *
*/ */
public static String PARSING_NON_WHITESPACE_TEXT_FOUND(Object arg0) { public static String PARSING_NON_WHITESPACE_TEXT_FOUND(Object arg0) {
@ -399,6 +401,20 @@ public final class WsdlMessages {
return localizer.localize(localizablePARSING_INCORRECT_ROOT_ELEMENT(arg0, arg1, arg2, arg3)); 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) { public static Localizable localizableVALIDATION_MISSING_REQUIRED_ATTRIBUTE(Object arg0, Object arg1) {
return messageFactory.getMessage("validation.missingRequiredAttribute", arg0, arg1); return messageFactory.getMessage("validation.missingRequiredAttribute", arg0, arg1);
} }
@ -596,7 +612,7 @@ public final class WsdlMessages {
} }
/** /**
* 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) { public static String INTERNALIZER_X_PATH_EVALUATES_TO_NO_TARGET(Object arg0) {
@ -620,7 +636,7 @@ public final class WsdlMessages {
} }
/** /**
* 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) { public static String INVALID_CUSTOMIZATION_NAMESPACE(Object arg0) {
@ -687,28 +703,28 @@ public final class WsdlMessages {
return localizer.localize(localizableVALIDATION_INCORRECT_TARGET_NAMESPACE(arg0, arg1)); return localizer.localize(localizableVALIDATION_INCORRECT_TARGET_NAMESPACE(arg0, arg1));
} }
public static Localizable localizableENTITY_NOT_FOUND_BY_Q_NAME(Object arg0, Object arg1) { public static Localizable localizableENTITY_NOT_FOUND_BY_Q_NAME(Object arg0, Object arg1, Object arg2) {
return messageFactory.getMessage("entity.notFoundByQName", arg0, arg1); 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) { 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)); return localizer.localize(localizableENTITY_NOT_FOUND_BY_Q_NAME(arg0, arg1, arg2));
} }
public static Localizable localizableINVALID_WSDL(Object arg0) { public static Localizable localizableINVALID_WSDL(Object arg0, Object arg1, Object arg2, Object arg3) {
return messageFactory.getMessage("invalid.wsdl", arg0); 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) { public static String INVALID_WSDL(Object arg0, Object arg1, Object arg2, Object arg3) {
return localizer.localize(localizableINVALID_WSDL(arg0)); return localizer.localize(localizableINVALID_WSDL(arg0, arg1, arg2, arg3));
} }
public static Localizable localizableVALIDATION_UNSUPPORTED_SCHEMA_FEATURE(Object arg0) { public static Localizable localizableVALIDATION_UNSUPPORTED_SCHEMA_FEATURE(Object arg0) {
@ -860,7 +876,7 @@ public final class WsdlMessages {
} }
/** /**
* 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() { public static String WARNING_WSI_R_2004() {
@ -872,7 +888,7 @@ public final class WsdlMessages {
} }
/** /**
* 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() { public static String WARNING_WSI_R_2003() {
@ -884,7 +900,7 @@ public final class WsdlMessages {
} }
/** /**
* 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) { public static String WARNING_WSI_R_2002(Object arg0, Object arg1) {
@ -903,16 +919,28 @@ public final class WsdlMessages {
return localizer.localize(localizablePARSING_ELEMENT_OR_TYPE_REQUIRED(arg0)); return localizer.localize(localizablePARSING_ELEMENT_OR_TYPE_REQUIRED(arg0));
} }
public static Localizable localizableWARNING_WSI_R_2001(Object arg0) { public static Localizable localizableWARNING_WSI_R_2001() {
return messageFactory.getMessage("warning.wsi.r2001", arg0); 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) { public static String WARNING_WSI_R_2001() {
return localizer.localize(localizableWARNING_WSI_R_2001(arg0)); 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) { public static Localizable localizableVALIDATION_INVALID_SIMPLE_TYPE_IN_ELEMENT(Object arg0, Object arg1) {
@ -951,6 +979,20 @@ public final class WsdlMessages {
return localizer.localize(localizableINTERNALIZER_VERSION_NOT_PRESENT()); 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) { public static Localizable localizablePARSING_TOO_MANY_ELEMENTS(Object arg0, Object arg1, Object arg2) {
return messageFactory.getMessage("parsing.tooManyElements", arg0, arg1, arg2); return messageFactory.getMessage("parsing.tooManyElements", arg0, arg1, arg2);
} }

View File

@ -25,4 +25,3 @@
configuration.invalidElement=invalid element \"{2}\" in file \"{0}\" (line {1}) 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. configuration.notBindingFile=Ignoring: binding file "\"{0}\". It is not a jaxws or a jaxb binding file.

View File

@ -32,4 +32,5 @@ generator.internal.error.should.not.happen=internal error (should not happen): {
#IndentingWriter #IndentingWriter
generator.indentingwriter.charset.cantencode=WSDL has some characters which native java encoder can''t encode: \"{0}\" 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

View File

@ -29,4 +29,3 @@
javacompiler.classpath.error={0} is not available in the classpath, requires Sun's JDK version 5.0 or latter. 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.nosuchmethod.error=There is no such method {0} available, requires Sun's JDK version 5.0 or latter.
javacompiler.error=error : {0}. javacompiler.error=error : {0}.

View File

@ -58,7 +58,6 @@ model.schema.invalidWildcard.allCompositor=xsd:all compositor not supported for
model.uniqueness=uniqueness constraint violation model.uniqueness=uniqueness constraint violation
model.part.notUnique=parts in wsdl:message \"{0}\", reference \"{1}\", they must reference unique global elements. 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.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.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}\" model.parent.type.already.set=parent of type \"{0}\" already set to \"{1}\", new value = \"{2}\"
@ -78,8 +77,10 @@ model.arraywrapper.no.parent=LiteralArrayWrapper cannot have a parent type
model.arraywrapper.no.subtypes=LiteralArrayWrapper cannot have subtypes model.arraywrapper.no.subtypes=LiteralArrayWrapper cannot have subtypes
model.arraywrapper.no.content.member=LiteralArrayWrapper cannot have a content member 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.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.elementNotFound=Element \"{0}\" not found.
model.schema.jaxbException.message="{0}" model.schema.jaxbException.message="{0}"
model.saxparser.exception:{0}\n{1} model.saxparser.exception:{0}\n{1}
@ -89,4 +90,3 @@ ConsoleErrorReporter.UnknownLocation = \
ConsoleErrorReporter.LineXOfY = \ ConsoleErrorReporter.LineXOfY = \
\ \ line {0} of {1} \ \ line {0} of {1}

View File

@ -207,11 +207,12 @@ wsdlmodeler.invalid.operation.javaReservedWordNotAllowed.operationName=Invalid o
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.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.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.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.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.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} wsdlmodeler.responsebean.notfound=wsimport failed to generate async response bean for operation: {0}

View File

@ -24,4 +24,3 @@
# #
processor.missing.model=model is missing processor.missing.model=model is missing

View File

@ -26,4 +26,3 @@
holder.valuefield.not.found=Could not find the field in the Holder that contains the Holder''s value: {0} 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}> null.namespace.found=Encountered error in wsdl. Check namespace of element <{0}>
sax2dom.notsupported.createelement=SAX2DOMEx.DomImplDoesntSupportCreateElementNs: {0} sax2dom.notsupported.createelement=SAX2DOMEx.DomImplDoesntSupportCreateElementNs: {0}

View File

@ -137,6 +137,8 @@ webserviceap.webservice.class.is.innerclass.not.static=Inner classes annotated w
webserviceap.webservice.method.is.abstract=Classes annotated with @javax.jws.WebService must not have abstract methods. Class\: {0} Method: {1} webserviceap.webservice.method.is.abstract=Classes annotated with @javax.jws.WebService must not have abstract methods. 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.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.webservice.no.default.constructor=Classes annotated with @javax.jws.WebService must have a public default constructor. Class\: {0}
@ -152,4 +154,3 @@ webserviceap.method.not.implemented=Methods in an endpointInterface must be impl
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.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} webserviceap.webservice.and.webserviceprovider=Classes cannot be annotated with both @javax.jws.WebService and @javax.xml.ws.WebServiceProvider. Class\: {0}

View File

@ -44,12 +44,22 @@ wsimport.help=\nUsage: {0} [options] <WSDL_URI>\n\n\
\ -p <pkg> specifies the target package\n\ \ -p <pkg> specifies the target package\n\
\ -quiet suppress wsimport output\n\ \ -quiet suppress wsimport output\n\
\ -s <directory> specify where to place generated source files\n\ \ -s <directory> specify where to place generated source files\n\
\ -target <version> generate code as per the given JAXWS specification version.\n\ \ -target <version> generate code as per the given JAXWS spec version\n\
\ version 2.0 will generate compliant code for JAXWS 2.0 spec.\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\ \ -verbose output messages about what the compiler is doing\n\
\ -version print version information\n\ \ -version print version information\n\
\ -wsdllocation <location> @WebServiceClient.wsdlLocation value\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\ wsimport.usage.examples=\n\
\Examples:\n\ \Examples:\n\
@ -77,14 +87,17 @@ wsgen.help=\nUsage: {0} [options] <SEI>\n\n\
\ -verbose output messages about what the compiler is doing\n\ \ -verbose output messages about what the compiler is doing\n\
\ -version print version information\n\ \ -version print version information\n\
\ -wsdl[:protocol] generate a WSDL file. The protocol is optional.\n\ \ -wsdl[:protocol] generate a WSDL file. The protocol is optional.\n\
\ Valid protocols are soap1.1 and Xsoap1.2, the default\n\ \ Valid protocols are {1},\n\
\ is soap1.1. Xsoap1.2 is not standard and can only be\n\ \ the default is soap1.1.\n\
\ used in conjunction with the -extension option\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\ \ -servicename <name> specify the Service name to use in the generated WSDL\n\
\ Used in conjunction with the -wsdl option.\n\ \ Used in conjunction with the -wsdl option.\n\
\ -portname <name> specify the Port name to use in the generated WSDL\n\ \ -portname <name> specify the Port name to use in the generated WSDL\n\
\ Used in conjunction with the -wsdl option. \ Used in conjunction with the -wsdl option.
wsgen.usage.examples=\n\ wsgen.usage.examples=\n\
\Examples:\n\ \Examples:\n\
\ wsgen -cp . example.Stock\n\ \ wsgen -cp . example.Stock\n\
@ -126,6 +139,7 @@ wsgen.class.not.found=Class not found: \"{0}\"
wsgen.could.not.create.file="Could not create file: "\{0}\" wsgen.could.not.create.file="Could not create file: "\{0}\"
wsgen.missingFile=Missing SEI wsgen.missingFile=Missing SEI
wsgen.soap12.without.extension=The optional protocol \"Xsoap1.2\" must be used in conjunction with the \"-extension\" option. wsgen.soap12.without.extension=The optional protocol \"Xsoap1.2\" must be used in conjunction with the \"-extension\" 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.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.namespace=The service name \"{0}\" is missing a namespace.
wsgen.servicename.missing.localname=The service name \"{0}\" is missing a localname. wsgen.servicename.missing.localname=The service name \"{0}\" is missing a localname.
@ -151,11 +165,27 @@ wsimport.FailedToParse = \
Failed to parse "{0}": {1} Failed to parse "{0}": {1}
wsimport.ParsingWSDL=parsing WSDL...\n\n wsimport.ParsingWSDL=parsing WSDL...\n\n
wsimport.GeneratingCode=generating code... wsimport.GeneratingCode=generating code...\n
wsimport.CompilingCode=\ncompiling code...\n
wsimport.ILLEGAL_TARGET_VERSION = \ wsimport.ILLEGAL_TARGET_VERSION = \
"{0}" is not a valid target version. "2.0" and "2.1" are supported. "{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 = \ wsimport.ErrorMessage = \
[ERROR] {0} [ERROR] {0}
@ -165,3 +195,11 @@ wsimport.WarningMessage = \
wsimport.InfoMessage = \ 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

View File

@ -41,7 +41,6 @@ parsing.unknownImportedDocumentType=imported document is of unknown type: {0}
parsing.unknownNamespacePrefix=undeclared namespace prefix: \"{0}\" parsing.unknownNamespacePrefix=undeclared namespace prefix: \"{0}\"
parsing.invalidURI=invalid URI: {0} parsing.invalidURI=invalid URI: {0}
parsing.ioExceptionWithSystemId=failed to parse document at \"{0}\" parsing.ioExceptionWithSystemId=failed to parse document at \"{0}\"
parsing.unableToGetMetadata= Unable to get Metadata from: {0}
parsing.ioException=parsing failed: {0} parsing.ioException=parsing failed: {0}
parsing.saxExceptionWithSystemId=invalid WSDL file! failed to parse document at \"{0}\" parsing.saxExceptionWithSystemId=invalid WSDL file! failed to parse document at \"{0}\"
parsing.saxException=invalid WSDL file! parsing failed: {0} parsing.saxException=invalid WSDL file! parsing failed: {0}
@ -52,16 +51,16 @@ parsing.factoryConfigException=invalid WSDL file! parsing failed: {0}
parsing.missingRequiredAttribute=missing required attribute \"{1}\" of element \"{0}\" parsing.missingRequiredAttribute=missing required attribute \"{1}\" of element \"{0}\"
parsing.invalidTag=expected element \"{1}\", found \"{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.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 parsing.elementExpected=unexpected non-element found
# #
entity.duplicate=duplicate entity: \"{0}\" entity.duplicate=duplicate entity: \"{0}\"
entity.duplicateWithType=duplicate \"{0}\" entity: \"{1}\" entity.duplicateWithType=duplicate \"{0}\" entity: \"{1}\"
entity.notFoundByID=invalid entity id: \"{0}\" entity.notFoundByID=invalid entity id: \"{0}\"
entity.notFoundByQName=invalid entity name: \"{0}\" (in namespace: \"{1}\") entity.notFoundByQName={0} \"{1}\" not found in the wsdl: {2}
entity.notFound.portType=wsdl:portType \"{0}\" referenced by wsdl:binding \"{1}\", but its not found in the wsdl 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 its 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}\" validation.missingRequiredAttribute=missing required attribute \"{0}\" of element \"{1}\"
@ -71,7 +70,7 @@ validation.invalidElement=invalid element: \"{0}\"
validation.invalidComplexTypeInElement=invalid element: \"{1}\", has named complexType: \"{0}\" validation.invalidComplexTypeInElement=invalid element: \"{1}\", has named complexType: \"{0}\"
validation.invalidSimpleTypeInElement=invalid element: \"{1}\", has named simpleType: \"{0}\" validation.invalidSimpleTypeInElement=invalid element: \"{1}\", has named simpleType: \"{0}\"
validation.duplicatedElement=duplicated element: \"{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.invalidSubEntity=invalid sub-element \"{0}\" of element \"{1}\"
validation.invalidAttribute=invalid attribute \"{0}\" of element \"{1}\" validation.invalidAttribute=invalid attribute \"{0}\" of element \"{1}\"
validation.invalidAttributeValue=invalid value \"{1}\" for attribute \"{0}\" validation.invalidAttributeValue=invalid value \"{1}\" for attribute \"{0}\"
@ -88,51 +87,54 @@ warning.faultEmptyAction=ignoring empty Action in \"{0}\" {1} element of \"{2}\"
warning.inputOutputEmptyAction=ignoring empty Action in {0} element of \"{1}\" operation, using default instead warning.inputOutputEmptyAction=ignoring empty Action in {0} element of \"{1}\" operation, using default instead
#wsi compliant WSDL warnings #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.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 namesapce: {0}, found: {1} 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 element. 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 definition emmbedded inline within WSDLDocument. 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 #Parser
Parsing.ParseFailed = \ 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. Parsing.NotAWSDL=Failed to get WSDL components, probably {0} is not a valid WSDL file.
AbstractReferenceFinderImpl.UnableToParse = \ AbstractReferenceFinderImpl.UnableToParse = \
Unable to parse "{0}" : {1} \tUnable to parse "{0}" : {1}
Parser.NotABindingFile = \ 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
Internalizer.TwoVersionAttributes = \ Internalizer.TwoVersionAttributes = \
Both jaxws:version and version are present \tBoth jaxws:version and version are present
Internalizer.IncorrectVersion = \ Internalizer.IncorrectVersion = \
JAXWS version attribute must be "2.0" \tJAXWS version attribute must be "2.0"
Internalizer.VersionNotPresent = \ Internalizer.VersionNotPresent = \
JAXWS version attribute must be present \tJAXWS version attribute must be present
internalizer.targetNotAnElement= \ internalizer.targetNotAnElement= \
Target node is not an element \tTarget node is not an element
internalizer.targetNotFound= \ internalizer.targetNotFound= \
No target found for the wsdlLocation: {0} \tNo target found for the wsdlLocation: {0}
Internalizer.IncorrectSchemaReference= \ 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 = \ internalizer.XPathEvaluationError = \
XPath error: {0} XPath error: {0}
internalizer.XPathEvaluatesToNoTarget = \ internalizer.XPathEvaluatesToNoTarget = \
XPath evaluation of "{0}" results in empty target node XPath evaluation of "{0}" results in an empty target node
internalizer.XPathEvaulatesToTooManyTargets = \ internalizer.XPathEvaulatesToTooManyTargets = \
XPath evaluation of "{0}" results in too many ({1}) target nodes XPath evaluation of "{0}" results in too many ({1}) target nodes
internalizer.XPathEvaluatesToNonElement = \ internalizer.XPathEvaluatesToNonElement = \
XPath evaluation of "{0}" needs to result in an element. 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.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.

View File

@ -23,7 +23,7 @@
# have any questions. # have any questions.
# #
build-id=JAX-WS RI 2.1.1 #Fri May 15 16:16:14 CEST 2009
build-version=JAX-WS RI 2.1.1 build-id=JAX-WS RI 2.1.6
major-version=2.1.1 major-version=2.1.6
build-version=JAX-WS RI 2.1.6

View File

@ -24,7 +24,6 @@
*/ */
package com.sun.tools.internal.ws.wscompile; package com.sun.tools.internal.ws.wscompile;
/** /**

View File

@ -0,0 +1,64 @@
/*
* Copyright 2005-2006 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Sun designates this
* particular file as subject to the "Classpath" exception as provided
* by Sun in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*/
package com.sun.tools.internal.ws.wscompile;
import com.sun.istack.internal.NotNull;
import java.net.URL;
/**
* Represents authorization information needed by {@link com.sun.tools.internal.ws.wscompile.DefaultAuthenticator} to
* authenticate wsimport to access the wsdl.
*
* @author Vivek Pandey
*/
public final class AuthInfo {
private final String user;
private final String password;
private final URL url;
public AuthInfo(@NotNull URL url, @NotNull String user, @NotNull String password){
this.url = url;
this.user = user;
this.password = password;
}
public String getUser() {
return user;
}
public String getPassword() {
return password;
}
/**
* Returns if the requesting host and port are associated with this {@link AuthInfo}
*/
public boolean matchingHost(@NotNull URL requestingURL) {
return requestingURL.equals(url);
}
}

Some files were not shown because too many files have changed in this diff Show More