aboutsummaryrefslogtreecommitdiff
path: root/src/share/jaxws_classes/com
diff options
context:
space:
mode:
authormkos <none@none>2013-06-12 14:47:09 +0100
committermkos <none@none>2013-06-12 14:47:09 +0100
commit0c0f7ad31630f1c2da67fbeb8c71af34047ee5c2 (patch)
tree0e48efda9fb420ceec85d151c2c17058b95fc642 /src/share/jaxws_classes/com
parentb722ec820281a56a1b4921d9e8b1bbcec2aa9e59 (diff)
downloadjdk8u_jaxws-0c0f7ad31630f1c2da67fbeb8c71af34047ee5c2.tar.gz
8013021: Rebase 8005432 & 8003542 against the latest jdk8/jaxws
8003542: Improve processing of MTOM attachments 8005432: Update access to JAX-WS Reviewed-by: mullan
Diffstat (limited to 'src/share/jaxws_classes/com')
-rw-r--r--src/share/jaxws_classes/com/oracle/webservices/internal/api/databinding/DatabindingModeFeature.java4
-rw-r--r--src/share/jaxws_classes/com/oracle/webservices/internal/api/databinding/ExternalMetadataFeature.java6
-rw-r--r--src/share/jaxws_classes/com/oracle/webservices/internal/api/message/BaseDistributedPropertySet.java1
-rw-r--r--src/share/jaxws_classes/com/oracle/webservices/internal/impl/encoding/StreamDecoderImpl.java1
-rw-r--r--src/share/jaxws_classes/com/oracle/xmlns/internal/webservices/jaxws_databinding/package-info.java1
-rw-r--r--src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle.properties4
-rw-r--r--src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_de.properties4
-rw-r--r--src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_es.properties4
-rw-r--r--src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_fr.properties4
-rw-r--r--src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_it.properties4
-rw-r--r--src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_ja.properties4
-rw-r--r--src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_ko.properties4
-rw-r--r--src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_pt_BR.properties4
-rw-r--r--src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_zh_CN.properties4
-rw-r--r--src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_zh_TW.properties4
-rw-r--r--src/share/jaxws_classes/com/sun/tools/internal/jxc/gen/config/Classes.java110
-rw-r--r--src/share/jaxws_classes/com/sun/tools/internal/jxc/gen/config/Config.java114
-rw-r--r--src/share/jaxws_classes/com/sun/tools/internal/jxc/gen/config/Schema.java142
-rw-r--r--src/share/jaxws_classes/com/sun/tools/internal/ws/version.properties6
-rw-r--r--src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle.properties12
-rw-r--r--src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_de.properties12
-rw-r--r--src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_es.properties12
-rw-r--r--src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_fr.properties12
-rw-r--r--src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_it.properties12
-rw-r--r--src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_ja.properties12
-rw-r--r--src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_ko.properties12
-rw-r--r--src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_pt_BR.properties12
-rw-r--r--src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_zh_CN.properties12
-rw-r--r--src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_zh_TW.properties12
-rw-r--r--src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/ModelBuilder.java13
-rw-r--r--src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/JAXBContextImpl.java15
-rw-r--r--src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/XmlSchemaGenerator.java8
-rw-r--r--src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/CommonResourceBundle.java7
-rw-r--r--src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/Decoder.java14
-rw-r--r--src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/algorithm/BASE64EncodingAlgorithm.java4
-rw-r--r--src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/algorithm/BooleanEncodingAlgorithm.java4
-rw-r--r--src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/algorithm/BuiltInEncodingAlgorithm.java6
-rw-r--r--src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/algorithm/FloatEncodingAlgorithm.java2
-rw-r--r--src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/algorithm/HexadecimalEncodingAlgorithm.java4
-rw-r--r--src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/dom/DOMDocumentParser.java6
-rw-r--r--src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/resources/ResourceBundle.properties2
-rw-r--r--src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/sax/AttributesHolder.java2
-rw-r--r--src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/sax/SAXDocumentParser.java6
-rw-r--r--src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/stax/StAXDocumentParser.java13
-rw-r--r--src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/stax/events/StartElementEvent.java14
-rw-r--r--src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/stax/factory/StAXOutputFactory.java57
-rw-r--r--src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/tools/SAXEventSerializer.java20
-rw-r--r--src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/tools/TransformInputOutput.java4
-rw-r--r--src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/mimepull/DataHead.java4
-rw-r--r--src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/mimepull/MemoryData.java17
-rw-r--r--src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/mimepull/TempFiles.java144
-rw-r--r--src/share/jaxws_classes/com/sun/xml/internal/ws/api/databinding/DatabindingConfig.java36
-rw-r--r--src/share/jaxws_classes/com/sun/xml/internal/ws/api/message/saaj/SAAJFactory.java10
-rw-r--r--src/share/jaxws_classes/com/sun/xml/internal/ws/api/pipe/Fiber.java5
-rw-r--r--src/share/jaxws_classes/com/sun/xml/internal/ws/api/streaming/XMLStreamWriterFactory.java34
-rw-r--r--src/share/jaxws_classes/com/sun/xml/internal/ws/assembler/MetroConfigLoader.java37
-rw-r--r--src/share/jaxws_classes/com/sun/xml/internal/ws/assembler/TubeCreator.java24
-rw-r--r--src/share/jaxws_classes/com/sun/xml/internal/ws/client/MonitorRootClient.java10
-rw-r--r--src/share/jaxws_classes/com/sun/xml/internal/ws/client/SEIPortInfo.java30
-rw-r--r--src/share/jaxws_classes/com/sun/xml/internal/ws/client/WSServiceDelegate.java59
-rw-r--r--src/share/jaxws_classes/com/sun/xml/internal/ws/client/dispatch/DispatchImpl.java4
-rw-r--r--src/share/jaxws_classes/com/sun/xml/internal/ws/client/sei/SEIStub.java4
-rw-r--r--src/share/jaxws_classes/com/sun/xml/internal/ws/client/sei/SyncMethodHandler.java46
-rw-r--r--src/share/jaxws_classes/com/sun/xml/internal/ws/db/DatabindingFactoryImpl.java34
-rw-r--r--src/share/jaxws_classes/com/sun/xml/internal/ws/db/DatabindingImpl.java224
-rw-r--r--src/share/jaxws_classes/com/sun/xml/internal/ws/encoding/MtomCodec.java42
-rw-r--r--src/share/jaxws_classes/com/sun/xml/internal/ws/message/stream/StreamMessage.java33
-rw-r--r--src/share/jaxws_classes/com/sun/xml/internal/ws/model/RuntimeModeler.java19
-rw-r--r--src/share/jaxws_classes/com/sun/xml/internal/ws/model/WrapperBeanGenerator.java22
-rw-r--r--src/share/jaxws_classes/com/sun/xml/internal/ws/model/wsdl/WSDLBoundOperationImpl.java17
-rw-r--r--src/share/jaxws_classes/com/sun/xml/internal/ws/model/wsdl/WSDLOperationImpl.java4
-rw-r--r--src/share/jaxws_classes/com/sun/xml/internal/ws/resources/DispatchMessages.java12
-rw-r--r--src/share/jaxws_classes/com/sun/xml/internal/ws/resources/dispatch.properties3
-rw-r--r--src/share/jaxws_classes/com/sun/xml/internal/ws/server/EndpointFactory.java28
-rw-r--r--src/share/jaxws_classes/com/sun/xml/internal/ws/spi/db/BindingInfo.java11
-rw-r--r--src/share/jaxws_classes/com/sun/xml/internal/ws/spi/db/JAXBWrapperAccessor.java12
-rw-r--r--src/share/jaxws_classes/com/sun/xml/internal/ws/transport/http/HttpAdapter.java119
-rw-r--r--src/share/jaxws_classes/com/sun/xml/internal/ws/util/version.properties6
78 files changed, 1077 insertions, 719 deletions
diff --git a/src/share/jaxws_classes/com/oracle/webservices/internal/api/databinding/DatabindingModeFeature.java b/src/share/jaxws_classes/com/oracle/webservices/internal/api/databinding/DatabindingModeFeature.java
index c4cf116b..5acb939e 100644
--- a/src/share/jaxws_classes/com/oracle/webservices/internal/api/databinding/DatabindingModeFeature.java
+++ b/src/share/jaxws_classes/com/oracle/webservices/internal/api/databinding/DatabindingModeFeature.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. 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
@@ -30,7 +30,7 @@ import java.util.Map;
import javax.xml.ws.WebServiceFeature;
-public class DatabindingModeFeature extends WebServiceFeature {
+public class DatabindingModeFeature extends WebServiceFeature implements com.sun.xml.internal.ws.api.ServiceSharedFeatureMarker {
/**
* Constant value identifying the DatabindingFeature
*/
diff --git a/src/share/jaxws_classes/com/oracle/webservices/internal/api/databinding/ExternalMetadataFeature.java b/src/share/jaxws_classes/com/oracle/webservices/internal/api/databinding/ExternalMetadataFeature.java
index d0c0d87a..ff182cd8 100644
--- a/src/share/jaxws_classes/com/oracle/webservices/internal/api/databinding/ExternalMetadataFeature.java
+++ b/src/share/jaxws_classes/com/oracle/webservices/internal/api/databinding/ExternalMetadataFeature.java
@@ -52,6 +52,7 @@ public class ExternalMetadataFeature extends WebServiceFeature {
private List<String> resourceNames;
private List<File> files;
+ private MetadataReader reader;
private ExternalMetadataFeature() {
}
@@ -88,6 +89,7 @@ public class ExternalMetadataFeature extends WebServiceFeature {
}
public MetadataReader getMetadataReader(ClassLoader classLoader, boolean disableSecureXmlProcessing) {
+ if (reader != null && enabled) return reader;
return enabled ? new ExternalMetadataReader(files, resourceNames, classLoader, true, disableSecureXmlProcessing) : null;
}
@@ -153,5 +155,9 @@ public class ExternalMetadataFeature extends WebServiceFeature {
return this;
}
+ public Builder setReader( MetadataReader r ) {
+ o.reader = r;
+ return this;
+ }
}
}
diff --git a/src/share/jaxws_classes/com/oracle/webservices/internal/api/message/BaseDistributedPropertySet.java b/src/share/jaxws_classes/com/oracle/webservices/internal/api/message/BaseDistributedPropertySet.java
index ab53f057..e4ea2c19 100644
--- a/src/share/jaxws_classes/com/oracle/webservices/internal/api/message/BaseDistributedPropertySet.java
+++ b/src/share/jaxws_classes/com/oracle/webservices/internal/api/message/BaseDistributedPropertySet.java
@@ -22,6 +22,7 @@
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
+
package com.oracle.webservices.internal.api.message;
import com.sun.istack.internal.NotNull;
diff --git a/src/share/jaxws_classes/com/oracle/webservices/internal/impl/encoding/StreamDecoderImpl.java b/src/share/jaxws_classes/com/oracle/webservices/internal/impl/encoding/StreamDecoderImpl.java
index 28b3502c..0ab6a2ea 100644
--- a/src/share/jaxws_classes/com/oracle/webservices/internal/impl/encoding/StreamDecoderImpl.java
+++ b/src/share/jaxws_classes/com/oracle/webservices/internal/impl/encoding/StreamDecoderImpl.java
@@ -22,6 +22,7 @@
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
+
package com.oracle.webservices.internal.impl.encoding;
import java.io.IOException;
diff --git a/src/share/jaxws_classes/com/oracle/xmlns/internal/webservices/jaxws_databinding/package-info.java b/src/share/jaxws_classes/com/oracle/xmlns/internal/webservices/jaxws_databinding/package-info.java
index 457f7e76..e91a138d 100644
--- a/src/share/jaxws_classes/com/oracle/xmlns/internal/webservices/jaxws_databinding/package-info.java
+++ b/src/share/jaxws_classes/com/oracle/xmlns/internal/webservices/jaxws_databinding/package-info.java
@@ -23,7 +23,6 @@
* questions.
*/
-
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.6-SNAPSHOT
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
diff --git a/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle.properties b/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle.properties
index b68f941b..c1805f1f 100644
--- a/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle.properties
+++ b/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle.properties
@@ -30,10 +30,10 @@ BASEDIR_DOESNT_EXIST = \
Non-existent directory: {0}
VERSION = \
- schemagen 2.2.7-b63
+ schemagen 2.2.8-b01
FULLVERSION = \
- schemagen full version "2.2.7-b63"
+ schemagen full version "2.2.8-b01"
USAGE = \
Usage: schemagen [-options ...] <java files> \n\
diff --git a/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_de.properties b/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_de.properties
index 77b472d3..971c1709 100644
--- a/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_de.properties
+++ b/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_de.properties
@@ -27,8 +27,8 @@ UNEXPECTED_NGCC_TOKEN = Nicht erkanntes {0} in Zeile {1} Spalte {2}
BASEDIR_DOESNT_EXIST = Nicht vorhandenes Verzeichnis: {0}
-VERSION = schemagen 2.2.7-b63
+VERSION = schemagen 2.2.8-b01
-FULLVERSION = schemagen vollst\u00E4ndige Version "2.2.7-b63"
+FULLVERSION = schemagen vollst\u00E4ndige Version "2.2.8-b01"
USAGE = Verwendung: schemagen [-options ...] <java files> \nOptionen: \n\\ \\ \\ \\ -d <path> : Gibt an, wo die von Prozessor und javac generierten Klassendateien gespeichert werden sollen\n\\ \\ \\ \\ -cp <path> : Gibt an, wo die vom Benutzer angegebenen Dateien gespeichert sind\n\\ \\ \\ \\ -classpath <path> : Gibt an, wo die vom Benutzer angegebenen Dateien gespeichert sind\n\\ \\ \\ \\ -encoding <encoding> : Gibt die Codierung f\u00FCr die Annotationsverarbeitung/den javac-Aufruf an \n\\ \\ \\ \\ -episode <file> : Generiert Episodendatei f\u00FCr separate Kompilierung\n\\ \\ \\ \\ -version : Zeigt Versionsinformation an\n\\ \\ \\ \\ -fullversion : Zeigt vollst\u00E4ndige Versionsinformationen an\n\\ \\ \\ \\ -help : Zeigt diese Verwendungsmeldung an
diff --git a/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_es.properties b/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_es.properties
index 4281c080..03004726 100644
--- a/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_es.properties
+++ b/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_es.properties
@@ -27,8 +27,8 @@ UNEXPECTED_NGCC_TOKEN = Aparece un {0} inesperado en la l\u00EDnea {1} y la colu
BASEDIR_DOESNT_EXIST = Directorio no existente: {0}
-VERSION = schemagen 2.2.7-b63
+VERSION = schemagen 2.2.8-b01
-FULLVERSION = versi\u00F3n completa de schemagen "2.2.7-b63"
+FULLVERSION = versi\u00F3n completa de schemagen "2.2.8-b01"
USAGE = Sintaxis: schemagen [-options ...] <archivos java> \nOpciones: \n\\ \\ \\ \\ -d <ruta de acceso> : especifique d\u00F3nde se colocan los archivos de clase generados por javac y el procesador\n\\ \\ \\ \\ -cp <ruta de acceso> : especifique d\u00F3nde se encuentran los archivos especificados por el usuario\n\\ \\ \\ \\ -encoding <codificaci\u00F3n> : especifique la codificaci\u00F3n que se va a utilizar para el procesamiento de anotaciones/llamada de javac\n\\ \\ \\ \\ -episode <archivo> : genera un archivo de episodio para una compilaci\u00F3n diferente\n\\ \\ \\ \\ -version : muestra la informaci\u00F3n de la versi\u00F3n\n\\ \\ \\ \\ -fullversion : muestra la informaci\u00F3n completa de la versi\u00F3n\n\\ \\ \\ \\ -help : muestra este mensaje de sintaxis
diff --git a/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_fr.properties b/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_fr.properties
index e72bfd54..b3107ee4 100644
--- a/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_fr.properties
+++ b/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_fr.properties
@@ -27,8 +27,8 @@ UNEXPECTED_NGCC_TOKEN = Un \u00E9l\u00E9ment {0} inattendu appara\u00EEt \u00E0
BASEDIR_DOESNT_EXIST = R\u00E9pertoire {0} inexistant
-VERSION = schemagen 2.2.7-b63
+VERSION = schemagen 2.2.8-b01
-FULLVERSION = version compl\u00E8te de schemagen "2.2.7-b63"
+FULLVERSION = version compl\u00E8te de schemagen "2.2.8-b01"
USAGE = Syntaxe : schemagen [-options ...] <java files> \nOptions : \n\ \ \ \ -d <path> : indiquez o\u00F9 placer les fichiers de classe g\u00E9n\u00E9r\u00E9s par le processeur et le compilateur javac\n\ \ \ \ -cp <path> : indiquez o\u00F9 trouver les fichiers sp\u00E9cifi\u00E9s par l'utilisateur\n\ \ \ \ -classpath <path> : indiquez o\u00F9 trouver les fichiers sp\u00E9cifi\u00E9s par l'utilisateur\n\ \ \ \ -encoding <encoding> : indiquez l'encodage \u00E0 utiliser pour l'appel de javac/traitement de l'annotation \n\ \ \ \ -episode <file> : g\u00E9n\u00E9rez un fichier d'\u00E9pisode pour la compilation s\u00E9par\u00E9e\n\ \ \ \ -version : affichez les informations de version\n\ \ \ \ -fullversion : affichez les informations compl\u00E8tes de version\n\ \ \ \ -help : affichez ce message de syntaxe
diff --git a/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_it.properties b/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_it.properties
index 25a9f06a..0aa7cf4c 100644
--- a/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_it.properties
+++ b/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_it.properties
@@ -27,8 +27,8 @@ UNEXPECTED_NGCC_TOKEN = {0} imprevisto visualizzato sulla riga {1} colonna {2}
BASEDIR_DOESNT_EXIST = Directory non esistente: {0}
-VERSION = schemagen 2.2.7-b63
+VERSION = schemagen 2.2.8-b01
-FULLVERSION = versione completa schemagen "2.2.7-b63"
+FULLVERSION = versione completa schemagen "2.2.8-b01"
USAGE = Uso: schemagen [-options ...] <java files> \nOpzioni: \n\ \ \ \ -d <path> : specifica dove posizionare il processore e i file della classe generata javac\n\ \ \ \ -cp <path> : specifica dove trovare i file specificati dall'utente\n\ \ \ \ -classpath <path> : specifica dove trovare i file specificati dall'utente\n\ \ \ \ -encoding <encoding> : specifica la codifica da usare per l'elaborazione dell'annotazione/richiamo javac \n\ \ \ \ -episode <file> : genera il file di episodio per la compilazione separata\n\ \ \ \ -version : visualizza le informazioni sulla versione\n\ \ \ \ -fullversion : visualizza le informazioni sulla versione completa\n\ \ \ \ -help : visualizza questo messaggio sull'uso
diff --git a/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_ja.properties b/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_ja.properties
index 42dcb002..b8889bb6 100644
--- a/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_ja.properties
+++ b/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_ja.properties
@@ -27,8 +27,8 @@ UNEXPECTED_NGCC_TOKEN = \u4E88\u671F\u3057\u306A\u3044{0}\u304C\u884C{1}\u3001\u
BASEDIR_DOESNT_EXIST = \u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u304C\u5B58\u5728\u3057\u307E\u305B\u3093: {0}
-VERSION = schemagen 2.2.7-b63
+VERSION = schemagen 2.2.8-b01
-FULLVERSION = schemagen\u30D5\u30EB\u30FB\u30D0\u30FC\u30B8\u30E7\u30F3"2.2.7-b63"
+FULLVERSION = schemagen\u30D5\u30EB\u30FB\u30D0\u30FC\u30B8\u30E7\u30F3"2.2.8-b01"
USAGE = \u4F7F\u7528\u65B9\u6CD5: schemagen [-options ...] <java files> \n\u30AA\u30D7\u30B7\u30E7\u30F3: \n\ \ \ \ -d <path> : \u30D7\u30ED\u30BB\u30C3\u30B5\u304A\u3088\u3073javac\u304C\u751F\u6210\u3057\u305F\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u7F6E\u304F\u4F4D\u7F6E\u3092\u6307\u5B9A\u3057\u307E\u3059\n\ \ \ \ -cp <path> : \u30E6\u30FC\u30B6\u30FC\u304C\u6307\u5B9A\u3057\u305F\u30D5\u30A1\u30A4\u30EB\u3092\u691C\u7D22\u3059\u308B\u4F4D\u7F6E\u3092\u6307\u5B9A\u3057\u307E\u3059\n\ \ \ \ -classpath <path> : \u30E6\u30FC\u30B6\u30FC\u304C\u6307\u5B9A\u3057\u305F\u30D5\u30A1\u30A4\u30EB\u3092\u691C\u7D22\u3059\u308B\u4F4D\u7F6E\u3092\u6307\u5B9A\u3057\u307E\u3059\n\ \ \ \ -encoding <encoding> : \u6CE8\u91C8\u51E6\u7406/javac\u547C\u51FA\u3057\u306B\u4F7F\u7528\u3059\u308B\u30A8\u30F3\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0\u3092\u6307\u5B9A\u3057\u307E\u3059\n\ \ \ \ -episode <file> : \u30B3\u30F3\u30D1\u30A4\u30EB\u3054\u3068\u306B\u30A8\u30D4\u30BD\u30FC\u30C9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u751F\u6210\u3057\u307E\u3059\n\ \ \ \ -version : \u30D0\u30FC\u30B8\u30E7\u30F3\u60C5\u5831\u3092\u8868\u793A\u3057\u307E\u3059\n\ \ \ \ -fullversion : \u30D5\u30EB\u30FB\u30D0\u30FC\u30B8\u30E7\u30F3\u60C5\u5831\u3092\u8868\u793A\u3057\u307E\u3059\n\ \ \ \ -help : \u3053\u306E\u4F7F\u7528\u4F8B\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u8868\u793A\u3057\u307E\u3059
diff --git a/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_ko.properties b/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_ko.properties
index 8bc7bf0b..b89650bd 100644
--- a/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_ko.properties
+++ b/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_ko.properties
@@ -27,8 +27,8 @@ UNEXPECTED_NGCC_TOKEN = \uC608\uC0C1\uCE58 \uC54A\uC740 {0}\uC774(\uAC00) {1}\uD
BASEDIR_DOESNT_EXIST = \uC874\uC7AC\uD558\uC9C0 \uC54A\uB294 \uB514\uB809\uD1A0\uB9AC: {0}
-VERSION = schemagen 2.2.7-b63
+VERSION = schemagen 2.2.8-b01
-FULLVERSION = schemagen \uC815\uC2DD \uBC84\uC804 "2.2.7-b63"
+FULLVERSION = schemagen \uC815\uC2DD \uBC84\uC804 "2.2.8-b01"
USAGE = \uC0AC\uC6A9\uBC95: schemagen [-options ...] <java files> \n\uC635\uC158: \n\ \ \ \ -d <path> : \uD504\uB85C\uC138\uC11C \uBC0F javac\uC5D0\uC11C \uC0DD\uC131\uD55C \uD074\uB798\uC2A4 \uD30C\uC77C\uC744 \uBC30\uCE58\uD560 \uC704\uCE58\uB97C \uC9C0\uC815\uD569\uB2C8\uB2E4.\n\ \ \ \ -cp <path> : \uC0AC\uC6A9\uC790\uAC00 \uC9C0\uC815\uD55C \uD30C\uC77C\uC744 \uCC3E\uC744 \uC704\uCE58\uB97C \uC9C0\uC815\uD569\uB2C8\uB2E4.\n\ \ \ \ -classpath <path> : \uC0AC\uC6A9\uC790\uAC00 \uC9C0\uC815\uD55C \uD30C\uC77C\uC744 \uCC3E\uC744 \uC704\uCE58\uB97C \uC9C0\uC815\uD569\uB2C8\uB2E4.\n\ \ \ \ -encoding <encoding> : \uC8FC\uC11D \uCC98\uB9AC/javac \uD638\uCD9C\uC5D0 \uC0AC\uC6A9\uD560 \uC778\uCF54\uB529\uC744 \uC9C0\uC815\uD569\uB2C8\uB2E4. \n\ \ \ \ -episode <file> : \uBCC4\uB3C4 \uCEF4\uD30C\uC77C\uC744 \uC704\uD574 episode \uD30C\uC77C\uC744 \uC0DD\uC131\uD569\uB2C8\uB2E4.\n\ \ \ \ -version : \uBC84\uC804 \uC815\uBCF4\uB97C \uD45C\uC2DC\uD569\uB2C8\uB2E4.\n\ \ \ \ -fullversion : \uC815\uC2DD \uBC84\uC804 \uC815\uBCF4\uB97C \uD45C\uC2DC\uD569\uB2C8\uB2E4.\n\ \ \ \ -help : \uC774 \uC0AC\uC6A9\uBC95 \uBA54\uC2DC\uC9C0\uB97C \uD45C\uC2DC\uD569\uB2C8\uB2E4.
diff --git a/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_pt_BR.properties b/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_pt_BR.properties
index e6339ca7..fc9f8afb 100644
--- a/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_pt_BR.properties
+++ b/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_pt_BR.properties
@@ -27,8 +27,8 @@ UNEXPECTED_NGCC_TOKEN = {0} inesperado aparece na linha {1} coluna {2}
BASEDIR_DOESNT_EXIST = Diret\u00F3rio n\u00E3o existente: {0}
-VERSION = gera\u00E7\u00E3o do esquema 2.2.7-b63
+VERSION = gera\u00E7\u00E3o do esquema 2.2.8-b01
-FULLVERSION = vers\u00E3o completa da gera\u00E7\u00E3o do esquema "2.2.7-b63"
+FULLVERSION = vers\u00E3o completa da gera\u00E7\u00E3o do esquema "2.2.8-b01"
USAGE = Uso: gera\u00E7\u00E3o do esquema [-options ...] <java files> \nOp\u00E7\u00F5es: \n\\ \\ \\ \\ -d <path> : especificar onde colocar o processador e os arquivos da classe gerados por javac\n\\ \\ \\ \\ -cp <path> : especificar onde localizar arquivos especificados pelo usu\u00E1rio\n\\ \\ \\ \\ -classpath <path> : especificar onde localizar os arquivos especificados pelo usu\u00E1rio\n\\ \\ \\ \\ -encoding <encoding> : especificar codifica\u00E7\u00E3o a ser usada para processamento de anota\u00E7\u00E3o/chamada javac \n\\ \\ \\ \\ -episode <file> : gerar arquivo do epis\u00F3dio para compila\u00E7\u00E3o separada\n\\ \\ \\ \\ -version : exibir informa\u00E7\u00F5es da vers\u00E3o\n\\ \\ \\ \\ -fullversion : exibir informa\u00E7\u00F5es da vers\u00E3o completa\n\\ \\ \\ \\ -help : exibir esta mensagem de uso
diff --git a/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_zh_CN.properties b/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_zh_CN.properties
index c059a4fd..4493b23d 100644
--- a/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_zh_CN.properties
+++ b/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_zh_CN.properties
@@ -27,8 +27,8 @@ UNEXPECTED_NGCC_TOKEN = \u5728\u7B2C {1} \u884C, \u7B2C {2} \u5217\u51FA\u73B0\u
BASEDIR_DOESNT_EXIST = \u4E0D\u5B58\u5728\u7684\u76EE\u5F55: {0}
-VERSION = schemagen 2.2.7-b63
+VERSION = schemagen 2.2.8-b01
-FULLVERSION = schemagen \u5B8C\u6574\u7248\u672C "2.2.7-b63"
+FULLVERSION = schemagen \u5B8C\u6574\u7248\u672C "2.2.8-b01"
USAGE = \u7528\u6CD5: schemagen [-options ...] <java files> \n\u9009\u9879: \n\ \ \ \ -d <path> : \u6307\u5B9A\u653E\u7F6E\u5904\u7406\u7A0B\u5E8F\u548C javac \u751F\u6210\u7684\u7C7B\u6587\u4EF6\u7684\u4F4D\u7F6E\n\ \ \ \ -cp <path> : \u6307\u5B9A\u67E5\u627E\u7528\u6237\u6307\u5B9A\u6587\u4EF6\u7684\u4F4D\u7F6E\n\ \ \ \ -classpath <path> : \u6307\u5B9A\u67E5\u627E\u7528\u6237\u6307\u5B9A\u6587\u4EF6\u7684\u4F4D\u7F6E\n\ \ \ \ -encoding <encoding> : \u6307\u5B9A\u7528\u4E8E\u6CE8\u91CA\u5904\u7406/javac \u8C03\u7528\u7684\u7F16\u7801\n\ \ \ \ -episode <file> : \u751F\u6210\u7247\u6BB5\u6587\u4EF6\u4EE5\u4F9B\u5355\u72EC\u7F16\u8BD1\n\ \ \ \ -version : \u663E\u793A\u7248\u672C\u4FE1\u606F\n\ \ \ \ -fullversion : \u663E\u793A\u5B8C\u6574\u7684\u7248\u672C\u4FE1\u606F\n\ \ \ \ -help : \u663E\u793A\u6B64\u7528\u6CD5\u6D88\u606F
diff --git a/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_zh_TW.properties b/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_zh_TW.properties
index 1e73e423..45748f11 100644
--- a/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_zh_TW.properties
+++ b/src/share/jaxws_classes/com/sun/tools/internal/jxc/MessageBundle_zh_TW.properties
@@ -27,8 +27,8 @@ UNEXPECTED_NGCC_TOKEN = \u672A\u9810\u671F\u7684 {0} \u986F\u793A\u65BC\u884C {1
BASEDIR_DOESNT_EXIST = \u4E0D\u5B58\u5728\u7684\u76EE\u9304: {0}
-VERSION = schemagen 2.2.7-b63
+VERSION = schemagen 2.2.8-b01
-FULLVERSION = schemagen \u5B8C\u6574\u7248\u672C "2.2.7-b63"
+FULLVERSION = schemagen \u5B8C\u6574\u7248\u672C "2.2.8-b01"
USAGE = \u7528\u6CD5: schemagen [-options ...] <java files> \n\u9078\u9805: \n\\ \\ \\ \\ -d <path> : \u6307\u5B9A\u8655\u7406\u5668\u4EE5\u53CA javac \u7522\u751F\u7684\u985E\u5225\u6A94\u6848\u653E\u7F6E\u4F4D\u7F6E\n\\ \\ \\ \\ -cp <path> : \u6307\u5B9A\u8981\u5C0B\u627E\u4F7F\u7528\u8005\u6307\u5B9A\u6A94\u6848\u7684\u4F4D\u7F6E\n\\ \\ \\ \\ -classpath <path> : \u6307\u5B9A\u8981\u5C0B\u627E\u4F7F\u7528\u8005\u6307\u5B9A\u6A94\u6848\u7684\u4F4D\u7F6E\n\\ \\ \\ \\ -encoding <encoding> : \u6307\u5B9A\u8981\u7528\u65BC\u8A3B\u89E3\u8655\u7406/javac \u547C\u53EB\u7684\u7DE8\u78BC \n\\ \\ \\ \\ -episode <file> : \u7522\u751F\u7368\u7ACB\u7DE8\u8B6F\u7684\u4E8B\u4EF6 (episode) \u6A94\u6848\n\\ \\ \\ \\ -version : \u986F\u793A\u7248\u672C\u8CC7\u8A0A\n\\ \\ \\ \\ -fullversion : \u986F\u793A\u5B8C\u6574\u7248\u672C\u8CC7\u8A0A\n\\ \\ \\ \\ -help : \u986F\u793A\u6B64\u7528\u6CD5\u8A0A\u606F
diff --git a/src/share/jaxws_classes/com/sun/tools/internal/jxc/gen/config/Classes.java b/src/share/jaxws_classes/com/sun/tools/internal/jxc/gen/config/Classes.java
index b95cf71a..60968c00 100644
--- a/src/share/jaxws_classes/com/sun/tools/internal/jxc/gen/config/Classes.java
+++ b/src/share/jaxws_classes/com/sun/tools/internal/jxc/gen/config/Classes.java
@@ -78,11 +78,6 @@ public class Classes extends NGCCHandler {
$localName = $__local;
$qname = $__qname;
switch($_ngcc_current_state) {
- case 0:
- {
- revertToParentFromEnterElement(this, super._cookie, $__uri, $__local, $__qname, $attrs);
- }
- break;
case 4:
{
$_ngcc_current_state = 3;
@@ -112,6 +107,11 @@ public class Classes extends NGCCHandler {
}
}
break;
+ case 0:
+ {
+ revertToParentFromEnterElement(this, super._cookie, $__uri, $__local, $__qname, $attrs);
+ }
+ break;
case 12:
{
if(($__uri.equals("") && $__local.equals("classes"))) {
@@ -137,11 +137,17 @@ public class Classes extends NGCCHandler {
$localName = $__local;
$qname = $__qname;
switch($_ngcc_current_state) {
- case 8:
+ case 4:
{
- if(($__uri.equals("") && $__local.equals("includes"))) {
+ $_ngcc_current_state = 3;
+ $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+ }
+ break;
+ case 3:
+ {
+ if(($__uri.equals("") && $__local.equals("excludes"))) {
$runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
- $_ngcc_current_state = 2;
+ $_ngcc_current_state = 1;
}
else {
unexpectedLeaveElement($__qname);
@@ -159,22 +165,11 @@ public class Classes extends NGCCHandler {
}
}
break;
- 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 8:
{
- if(($__uri.equals("") && $__local.equals("excludes"))) {
+ if(($__uri.equals("") && $__local.equals("includes"))) {
$runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
- $_ngcc_current_state = 1;
+ $_ngcc_current_state = 2;
}
else {
unexpectedLeaveElement($__qname);
@@ -187,6 +182,11 @@ public class Classes extends NGCCHandler {
$runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
}
break;
+ case 0:
+ {
+ revertToParentFromLeaveElement(this, super._cookie, $__uri, $__local, $__qname);
+ }
+ break;
default:
{
unexpectedLeaveElement($__qname);
@@ -201,11 +201,6 @@ public class Classes extends NGCCHandler {
$localName = $__local;
$qname = $__qname;
switch($_ngcc_current_state) {
- case 0:
- {
- revertToParentFromEnterAttribute(this, super._cookie, $__uri, $__local, $__qname);
- }
- break;
case 4:
{
$_ngcc_current_state = 3;
@@ -218,6 +213,11 @@ public class Classes extends NGCCHandler {
$runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
}
break;
+ case 0:
+ {
+ revertToParentFromEnterAttribute(this, super._cookie, $__uri, $__local, $__qname);
+ }
+ break;
default:
{
unexpectedEnterAttribute($__qname);
@@ -232,11 +232,6 @@ public class Classes extends NGCCHandler {
$localName = $__local;
$qname = $__qname;
switch($_ngcc_current_state) {
- case 0:
- {
- revertToParentFromLeaveAttribute(this, super._cookie, $__uri, $__local, $__qname);
- }
- break;
case 4:
{
$_ngcc_current_state = 3;
@@ -249,6 +244,11 @@ public class Classes extends NGCCHandler {
$runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
}
break;
+ case 0:
+ {
+ revertToParentFromLeaveAttribute(this, super._cookie, $__uri, $__local, $__qname);
+ }
+ break;
default:
{
unexpectedLeaveAttribute($__qname);
@@ -260,25 +260,6 @@ public class Classes extends NGCCHandler {
public void text(String $value) throws SAXException {
int $ai;
switch($_ngcc_current_state) {
- case 9:
- {
- include_content = $value;
- $_ngcc_current_state = 8;
- action2();
- }
- break;
- case 8:
- {
- include_content = $value;
- $_ngcc_current_state = 8;
- action2();
- }
- break;
- case 0:
- {
- revertToParentFromText(this, super._cookie, $value);
- }
- break;
case 4:
{
exclude_content = $value;
@@ -293,6 +274,20 @@ public class Classes extends NGCCHandler {
action0();
}
break;
+ case 9:
+ {
+ include_content = $value;
+ $_ngcc_current_state = 8;
+ action2();
+ }
+ break;
+ case 10:
+ {
+ __text = $value;
+ $_ngcc_current_state = 9;
+ action3();
+ }
+ break;
case 6:
{
__text = $value;
@@ -300,17 +295,22 @@ public class Classes extends NGCCHandler {
action1();
}
break;
+ case 8:
+ {
+ include_content = $value;
+ $_ngcc_current_state = 8;
+ action2();
+ }
+ break;
case 2:
{
$_ngcc_current_state = 1;
$runtime.sendText(super._cookie, $value);
}
break;
- case 10:
+ case 0:
{
- __text = $value;
- $_ngcc_current_state = 9;
- action3();
+ revertToParentFromText(this, super._cookie, $value);
}
break;
}
diff --git a/src/share/jaxws_classes/com/sun/tools/internal/jxc/gen/config/Config.java b/src/share/jaxws_classes/com/sun/tools/internal/jxc/gen/config/Config.java
index 7777f955..f806a817 100644
--- a/src/share/jaxws_classes/com/sun/tools/internal/jxc/gen/config/Config.java
+++ b/src/share/jaxws_classes/com/sun/tools/internal/jxc/gen/config/Config.java
@@ -74,61 +74,61 @@ public class Config extends NGCCHandler {
$localName = $__local;
$qname = $__qname;
switch($_ngcc_current_state) {
- case 1:
+ case 2:
{
if(($__uri.equals("") && $__local.equals("schema"))) {
- NGCCHandler h = new Schema(this, super._source, $runtime, 31, baseDir);
+ NGCCHandler h = new Schema(this, super._source, $runtime, 16, baseDir);
spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
}
else {
- unexpectedEnterElement($__qname);
+ $_ngcc_current_state = 1;
+ $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
}
}
break;
- case 0:
- {
- revertToParentFromEnterElement(this, super._cookie, $__uri, $__local, $__qname, $attrs);
- }
- break;
- case 7:
+ case 8:
{
- if(($ai = $runtime.getAttributeIndex("","baseDir"))>=0) {
- $runtime.consumeAttribute($ai);
- $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+ if(($__uri.equals("") && $__local.equals("config"))) {
+ $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
+ $_ngcc_current_state = 7;
}
else {
unexpectedEnterElement($__qname);
}
}
break;
- case 8:
+ case 4:
{
- if(($__uri.equals("") && $__local.equals("config"))) {
- $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
- $_ngcc_current_state = 7;
+ if(($__uri.equals("") && $__local.equals("classes"))) {
+ NGCCHandler h = new Classes(this, super._source, $runtime, 18);
+ spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
}
else {
unexpectedEnterElement($__qname);
}
}
break;
- case 2:
+ case 0:
+ {
+ revertToParentFromEnterElement(this, super._cookie, $__uri, $__local, $__qname, $attrs);
+ }
+ break;
+ case 1:
{
if(($__uri.equals("") && $__local.equals("schema"))) {
- NGCCHandler h = new Schema(this, super._source, $runtime, 32, baseDir);
+ NGCCHandler h = new Schema(this, super._source, $runtime, 15, baseDir);
spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
}
else {
- $_ngcc_current_state = 1;
- $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+ unexpectedEnterElement($__qname);
}
}
break;
- case 4:
+ case 7:
{
- if(($__uri.equals("") && $__local.equals("classes"))) {
- NGCCHandler h = new Classes(this, super._source, $runtime, 34);
- spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
+ if(($ai = $runtime.getAttributeIndex("","baseDir"))>=0) {
+ $runtime.consumeAttribute($ai);
+ $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
}
else {
unexpectedEnterElement($__qname);
@@ -149,6 +149,17 @@ public class Config extends NGCCHandler {
$localName = $__local;
$qname = $__qname;
switch($_ngcc_current_state) {
+ case 2:
+ {
+ $_ngcc_current_state = 1;
+ $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+ }
+ break;
+ case 0:
+ {
+ revertToParentFromLeaveElement(this, super._cookie, $__uri, $__local, $__qname);
+ }
+ break;
case 1:
{
if(($__uri.equals("") && $__local.equals("config"))) {
@@ -160,11 +171,6 @@ public class Config extends NGCCHandler {
}
}
break;
- case 0:
- {
- revertToParentFromLeaveElement(this, super._cookie, $__uri, $__local, $__qname);
- }
- break;
case 7:
{
if(($ai = $runtime.getAttributeIndex("","baseDir"))>=0) {
@@ -176,12 +182,6 @@ public class Config extends NGCCHandler {
}
}
break;
- case 2:
- {
- $_ngcc_current_state = 1;
- $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
- }
- break;
default:
{
unexpectedLeaveElement($__qname);
@@ -196,6 +196,12 @@ public class Config extends NGCCHandler {
$localName = $__local;
$qname = $__qname;
switch($_ngcc_current_state) {
+ case 2:
+ {
+ $_ngcc_current_state = 1;
+ $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
+ }
+ break;
case 0:
{
revertToParentFromEnterAttribute(this, super._cookie, $__uri, $__local, $__qname);
@@ -211,12 +217,6 @@ public class Config extends NGCCHandler {
}
}
break;
- case 2:
- {
- $_ngcc_current_state = 1;
- $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
- }
- break;
default:
{
unexpectedEnterAttribute($__qname);
@@ -231,11 +231,6 @@ public class Config extends NGCCHandler {
$localName = $__local;
$qname = $__qname;
switch($_ngcc_current_state) {
- case 0:
- {
- revertToParentFromLeaveAttribute(this, super._cookie, $__uri, $__local, $__qname);
- }
- break;
case 2:
{
$_ngcc_current_state = 1;
@@ -252,6 +247,11 @@ public class Config extends NGCCHandler {
}
}
break;
+ case 0:
+ {
+ revertToParentFromLeaveAttribute(this, super._cookie, $__uri, $__local, $__qname);
+ }
+ break;
default:
{
unexpectedLeaveAttribute($__qname);
@@ -263,9 +263,10 @@ public class Config extends NGCCHandler {
public void text(String $value) throws SAXException {
int $ai;
switch($_ngcc_current_state) {
- case 0:
+ case 2:
{
- revertToParentFromText(this, super._cookie, $value);
+ $_ngcc_current_state = 1;
+ $runtime.sendText(super._cookie, $value);
}
break;
case 6:
@@ -275,6 +276,11 @@ public class Config extends NGCCHandler {
action1();
}
break;
+ case 0:
+ {
+ revertToParentFromText(this, super._cookie, $value);
+ }
+ break;
case 7:
{
if(($ai = $runtime.getAttributeIndex("","baseDir"))>=0) {
@@ -283,31 +289,25 @@ public class Config extends NGCCHandler {
}
}
break;
- case 2:
- {
- $_ngcc_current_state = 1;
- $runtime.sendText(super._cookie, $value);
- }
- break;
}
}
public void onChildCompleted(Object result, int cookie, boolean needAttCheck)throws SAXException {
switch(cookie) {
- case 31:
+ case 16:
{
this._schema = ((Schema)result);
action0();
$_ngcc_current_state = 1;
}
break;
- case 34:
+ case 18:
{
this.classes = ((Classes)result);
$_ngcc_current_state = 2;
}
break;
- case 32:
+ case 15:
{
this._schema = ((Schema)result);
action0();
diff --git a/src/share/jaxws_classes/com/sun/tools/internal/jxc/gen/config/Schema.java b/src/share/jaxws_classes/com/sun/tools/internal/jxc/gen/config/Schema.java
index 489de1c9..18de25f4 100644
--- a/src/share/jaxws_classes/com/sun/tools/internal/jxc/gen/config/Schema.java
+++ b/src/share/jaxws_classes/com/sun/tools/internal/jxc/gen/config/Schema.java
@@ -67,6 +67,23 @@ public class Schema extends NGCCHandler {
$localName = $__local;
$qname = $__qname;
switch($_ngcc_current_state) {
+ case 0:
+ {
+ revertToParentFromEnterElement(this, super._cookie, $__uri, $__local, $__qname, $attrs);
+ }
+ break;
+ case 6:
+ {
+ if(($ai = $runtime.getAttributeIndex("","namespace"))>=0) {
+ $runtime.consumeAttribute($ai);
+ $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+ }
+ else {
+ $_ngcc_current_state = 2;
+ $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
+ }
+ }
+ break;
case 2:
{
if(($ai = $runtime.getAttributeIndex("","location"))>=0) {
@@ -90,23 +107,6 @@ public class Schema extends NGCCHandler {
}
}
break;
- case 0:
- {
- revertToParentFromEnterElement(this, super._cookie, $__uri, $__local, $__qname, $attrs);
- }
- break;
- case 6:
- {
- if(($ai = $runtime.getAttributeIndex("","namespace"))>=0) {
- $runtime.consumeAttribute($ai);
- $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
- }
- else {
- $_ngcc_current_state = 2;
- $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
- }
- }
- break;
default:
{
unexpectedEnterElement($__qname);
@@ -121,14 +121,20 @@ public class Schema extends NGCCHandler {
$localName = $__local;
$qname = $__qname;
switch($_ngcc_current_state) {
- case 1:
+ case 0:
{
- if(($__uri.equals("") && $__local.equals("schema"))) {
- $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
- $_ngcc_current_state = 0;
+ revertToParentFromLeaveElement(this, super._cookie, $__uri, $__local, $__qname);
+ }
+ break;
+ case 6:
+ {
+ if(($ai = $runtime.getAttributeIndex("","namespace"))>=0) {
+ $runtime.consumeAttribute($ai);
+ $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
}
else {
- unexpectedLeaveElement($__qname);
+ $_ngcc_current_state = 2;
+ $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
}
}
break;
@@ -144,20 +150,14 @@ public class Schema extends NGCCHandler {
}
}
break;
- case 0:
- {
- revertToParentFromLeaveElement(this, super._cookie, $__uri, $__local, $__qname);
- }
- break;
- case 6:
+ case 1:
{
- if(($ai = $runtime.getAttributeIndex("","namespace"))>=0) {
- $runtime.consumeAttribute($ai);
- $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+ if(($__uri.equals("") && $__local.equals("schema"))) {
+ $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
+ $_ngcc_current_state = 0;
}
else {
- $_ngcc_current_state = 2;
- $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
+ unexpectedLeaveElement($__qname);
}
}
break;
@@ -175,17 +175,6 @@ public class Schema extends NGCCHandler {
$localName = $__local;
$qname = $__qname;
switch($_ngcc_current_state) {
- case 2:
- {
- if(($__uri.equals("") && $__local.equals("location"))) {
- $_ngcc_current_state = 4;
- }
- else {
- $_ngcc_current_state = 1;
- $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
- }
- }
- break;
case 0:
{
revertToParentFromEnterAttribute(this, super._cookie, $__uri, $__local, $__qname);
@@ -202,6 +191,17 @@ public class Schema extends NGCCHandler {
}
}
break;
+ case 2:
+ {
+ if(($__uri.equals("") && $__local.equals("location"))) {
+ $_ngcc_current_state = 4;
+ }
+ else {
+ $_ngcc_current_state = 1;
+ $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
+ }
+ }
+ break;
default:
{
unexpectedEnterAttribute($__qname);
@@ -216,10 +216,9 @@ public class Schema extends NGCCHandler {
$localName = $__local;
$qname = $__qname;
switch($_ngcc_current_state) {
- case 2:
+ case 0:
{
- $_ngcc_current_state = 1;
- $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
+ revertToParentFromLeaveAttribute(this, super._cookie, $__uri, $__local, $__qname);
}
break;
case 7:
@@ -232,6 +231,12 @@ public class Schema extends NGCCHandler {
}
}
break;
+ case 6:
+ {
+ $_ngcc_current_state = 2;
+ $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
+ }
+ break;
case 3:
{
if(($__uri.equals("") && $__local.equals("location"))) {
@@ -242,14 +247,9 @@ public class Schema extends NGCCHandler {
}
}
break;
- case 0:
- {
- revertToParentFromLeaveAttribute(this, super._cookie, $__uri, $__local, $__qname);
- }
- break;
- case 6:
+ case 2:
{
- $_ngcc_current_state = 2;
+ $_ngcc_current_state = 1;
$runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
}
break;
@@ -264,14 +264,25 @@ public class Schema extends NGCCHandler {
public void text(String $value) throws SAXException {
int $ai;
switch($_ngcc_current_state) {
- case 2:
+ case 8:
{
- if(($ai = $runtime.getAttributeIndex("","location"))>=0) {
+ namespace = $value;
+ $_ngcc_current_state = 7;
+ }
+ break;
+ case 0:
+ {
+ revertToParentFromText(this, super._cookie, $value);
+ }
+ break;
+ case 6:
+ {
+ if(($ai = $runtime.getAttributeIndex("","namespace"))>=0) {
$runtime.consumeAttribute($ai);
$runtime.sendText(super._cookie, $value);
}
else {
- $_ngcc_current_state = 1;
+ $_ngcc_current_state = 2;
$runtime.sendText(super._cookie, $value);
}
}
@@ -283,25 +294,14 @@ public class Schema extends NGCCHandler {
action0();
}
break;
- case 8:
- {
- namespace = $value;
- $_ngcc_current_state = 7;
- }
- break;
- case 0:
- {
- revertToParentFromText(this, super._cookie, $value);
- }
- break;
- case 6:
+ case 2:
{
- if(($ai = $runtime.getAttributeIndex("","namespace"))>=0) {
+ if(($ai = $runtime.getAttributeIndex("","location"))>=0) {
$runtime.consumeAttribute($ai);
$runtime.sendText(super._cookie, $value);
}
else {
- $_ngcc_current_state = 2;
+ $_ngcc_current_state = 1;
$runtime.sendText(super._cookie, $value);
}
}
diff --git a/src/share/jaxws_classes/com/sun/tools/internal/ws/version.properties b/src/share/jaxws_classes/com/sun/tools/internal/ws/version.properties
index 0917dd67..5d7ed24b 100644
--- a/src/share/jaxws_classes/com/sun/tools/internal/ws/version.properties
+++ b/src/share/jaxws_classes/com/sun/tools/internal/ws/version.properties
@@ -23,7 +23,7 @@
# questions.
#
-build-id=2.2.9-b13941
-build-version=JAX-WS RI 2.2.9-b13941
+build-id=2.2.9-b14027
+build-version=JAX-WS RI 2.2.9-b14027
major-version=2.2.9
-svn-revision=unknown
+svn-revision=14027
diff --git a/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle.properties b/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle.properties
index 73dc95b4..4e64ca0c 100644
--- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle.properties
+++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle.properties
@@ -171,23 +171,23 @@ Driver.CompilingSchema = \
Driver.FailedToGenerateCode = \
Failed to produce code.
-# DO NOT localize the 2.2.7-b63 string - it is a token for an ant <replaceFilter>
+# DO NOT localize the 2.2.8-b01 string - it is a token for an ant <replaceFilter>
Driver.FilePrologComment = \
- This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.7-b63 \n\
+ This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b01 \n\
See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> \n\
Any modifications to this file will be lost upon recompilation of the source schema. \n\
Generated on: {0} \n
Driver.Version = \
- xjc 2.2.7-b63
+ xjc 2.2.8-b01
Driver.FullVersion = \
- xjc full version "2.2.7-b63-b19"
+ xjc full version "2.2.8-b01-b28"
-Driver.BuildID = 2.2.7-b63
+Driver.BuildID = 2.2.8-b01
# for JDK integration - include version in source zip
-jaxb.jdk.version=2.2.7-b63
+jaxb.jdk.version=2.2.8-b01
# see java.text.SimpleDateFormat for format syntax
# DO NOT LOCALIZE, Format should not be changed, English locale is used to transform this string into a real date.
diff --git a/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_de.properties b/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_de.properties
index f83aa74c..3fee895e 100644
--- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_de.properties
+++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_de.properties
@@ -96,17 +96,17 @@ Driver.CompilingSchema = Ein Schema wird kompiliert ...
Driver.FailedToGenerateCode = Code konnte nicht erzeugt werden.
-# DO NOT localize the 2.2.7-b63 string - it is a token for an ant <replaceFilter>
-Driver.FilePrologComment = Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.7-b63 generiert \nSiehe <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> \n\u00c4nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. \nGeneriert: {0} \n
+# DO NOT localize the 2.2.8-b01 string - it is a token for an ant <replaceFilter>
+Driver.FilePrologComment = Diese Datei wurde mit der JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b01 generiert \nSiehe <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> \n\u00c4nderungen an dieser Datei gehen bei einer Neukompilierung des Quellschemas verloren. \nGeneriert: {0} \n
-Driver.Version = xjc 2.2.7-b63
+Driver.Version = xjc 2.2.8-b01
-Driver.FullVersion = xjc vollst\u00e4ndige Version "2.2.7-b63-b19"
+Driver.FullVersion = xjc vollst\u00e4ndige Version "2.2.8-b01-b28"
-Driver.BuildID = 2.2.7-b63
+Driver.BuildID = 2.2.8-b01
# for JDK integration - include version in source zip
-jaxb.jdk.version=2.2.7-b63
+jaxb.jdk.version=2.2.8-b01
# see java.text.SimpleDateFormat for format syntax
# DO NOT LOCALIZE, Format should not be changed, English locale is used to transform this string into a real date.
diff --git a/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_es.properties b/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_es.properties
index 104d9359..ee3e09df 100644
--- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_es.properties
+++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_es.properties
@@ -96,17 +96,17 @@ Driver.CompilingSchema = Compilando un esquema...
Driver.FailedToGenerateCode = Fallo al producir c\u00f3digo.
-# DO NOT localize the 2.2.7-b63 string - it is a token for an ant <replaceFilter>
-Driver.FilePrologComment = Este archivo ha sido generado por la arquitectura JavaTM para la implantaci\u00f3n de la referencia de enlace (JAXB) XML v2.2.7-b63 \nVisite <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> \nTodas las modificaciones realizadas en este archivo se perder\u00e1n si se vuelve a compilar el esquema de origen. \nGenerado el: {0} \n
+# DO NOT localize the 2.2.8-b01 string - it is a token for an ant <replaceFilter>
+Driver.FilePrologComment = Este archivo ha sido generado por la arquitectura JavaTM para la implantaci\u00f3n de la referencia de enlace (JAXB) XML v2.2.8-b01 \nVisite <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> \nTodas las modificaciones realizadas en este archivo se perder\u00e1n si se vuelve a compilar el esquema de origen. \nGenerado el: {0} \n
-Driver.Version = xjc 2.2.7-b63
+Driver.Version = xjc 2.2.8-b01
-Driver.FullVersion = versi\u00f3n completa de xjc "2.2.7-b63-b19"
+Driver.FullVersion = versi\u00f3n completa de xjc "2.2.8-b01-b28"
-Driver.BuildID = 2.2.7-b63
+Driver.BuildID = 2.2.8-b01
# for JDK integration - include version in source zip
-jaxb.jdk.version=2.2.7-b63
+jaxb.jdk.version=2.2.8-b01
# see java.text.SimpleDateFormat for format syntax
# DO NOT LOCALIZE, Format should not be changed, English locale is used to transform this string into a real date.
diff --git a/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_fr.properties b/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_fr.properties
index c992d94b..d5a8fbba 100644
--- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_fr.properties
+++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_fr.properties
@@ -96,17 +96,17 @@ Driver.CompilingSchema = compilation d'un sch\u00e9ma...
Driver.FailedToGenerateCode = Echec de la production du code.
-# DO NOT localize the 2.2.7-b63 string - it is a token for an ant <replaceFilter>
-Driver.FilePrologComment = Ce fichier a \u00e9t\u00e9 g\u00e9n\u00e9r\u00e9 par l''impl\u00e9mentation de r\u00e9f\u00e9rence JavaTM Architecture for XML Binding (JAXB), v2.2.7-b63 \nVoir <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> \nToute modification apport\u00e9e \u00e0 ce fichier sera perdue lors de la recompilation du sch\u00e9ma source. \nG\u00e9n\u00e9r\u00e9 le : {0} \n
+# DO NOT localize the 2.2.8-b01 string - it is a token for an ant <replaceFilter>
+Driver.FilePrologComment = Ce fichier a \u00e9t\u00e9 g\u00e9n\u00e9r\u00e9 par l''impl\u00e9mentation de r\u00e9f\u00e9rence JavaTM Architecture for XML Binding (JAXB), v2.2.8-b01 \nVoir <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> \nToute modification apport\u00e9e \u00e0 ce fichier sera perdue lors de la recompilation du sch\u00e9ma source. \nG\u00e9n\u00e9r\u00e9 le : {0} \n
-Driver.Version = xjc 2.2.7-b63
+Driver.Version = xjc 2.2.8-b01
-Driver.FullVersion = version compl\u00e8te xjc "2.2.7-b63-b19"
+Driver.FullVersion = version compl\u00e8te xjc "2.2.8-b01-b28"
-Driver.BuildID = 2.2.7-b63
+Driver.BuildID = 2.2.8-b01
# for JDK integration - include version in source zip
-jaxb.jdk.version=2.2.7-b63
+jaxb.jdk.version=2.2.8-b01
# see java.text.SimpleDateFormat for format syntax
# DO NOT LOCALIZE, Format should not be changed, English locale is used to transform this string into a real date.
diff --git a/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_it.properties b/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_it.properties
index 1edbcb84..33441891 100644
--- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_it.properties
+++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_it.properties
@@ -96,17 +96,17 @@ Driver.CompilingSchema = compilazione di uno schema in corso...
Driver.FailedToGenerateCode = Produzione del codice non riuscita.
-# DO NOT localize the 2.2.7-b63 string - it is a token for an ant <replaceFilter>
-Driver.FilePrologComment = Questo file \u00e8 stato generato dall''architettura JavaTM per XML Binding (JAXB) Reference Implementation, v2.2.7-b63 \nVedere <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> \nQualsiasi modifica a questo file andr\u00e0 persa durante la ricompilazione dello schema di origine. \nGenerato il: {0} \n
+# DO NOT localize the 2.2.8-b01 string - it is a token for an ant <replaceFilter>
+Driver.FilePrologComment = Questo file \u00e8 stato generato dall''architettura JavaTM per XML Binding (JAXB) Reference Implementation, v2.2.8-b01 \nVedere <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> \nQualsiasi modifica a questo file andr\u00e0 persa durante la ricompilazione dello schema di origine. \nGenerato il: {0} \n
-Driver.Version = xjc 2.2.7-b63
+Driver.Version = xjc 2.2.8-b01
-Driver.FullVersion = versione completa xjc "2.2.7-b63-b19"
+Driver.FullVersion = versione completa xjc "2.2.8-b01-b28"
-Driver.BuildID = 2.2.7-b63
+Driver.BuildID = 2.2.8-b01
# for JDK integration - include version in source zip
-jaxb.jdk.version=2.2.7-b63
+jaxb.jdk.version=2.2.8-b01
# see java.text.SimpleDateFormat for format syntax
# DO NOT LOCALIZE, Format should not be changed, English locale is used to transform this string into a real date.
diff --git a/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_ja.properties b/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_ja.properties
index bf99b6b0..edd5c648 100644
--- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_ja.properties
+++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_ja.properties
@@ -96,17 +96,17 @@ Driver.CompilingSchema = \u30b9\u30ad\u30fc\u30de\u306e\u30b3\u30f3\u30d1\u30a4\
Driver.FailedToGenerateCode = \u30b3\u30fc\u30c9\u306e\u751f\u6210\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002
-# DO NOT localize the 2.2.7-b63 string - it is a token for an ant <replaceFilter>
-Driver.FilePrologComment = \u3053\u306e\u30d5\u30a1\u30a4\u30eb\u306f\u3001JavaTM Architecture for XML Binding(JAXB) Reference Implementation\u3001v2.2.7-b63\u306b\u3088\u3063\u3066\u751f\u6210\u3055\u308c\u307e\u3057\u305f \n<a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044 \n\u30bd\u30fc\u30b9\u30fb\u30b9\u30ad\u30fc\u30de\u306e\u518d\u30b3\u30f3\u30d1\u30a4\u30eb\u6642\u306b\u3053\u306e\u30d5\u30a1\u30a4\u30eb\u306e\u5909\u66f4\u306f\u5931\u308f\u308c\u307e\u3059\u3002 \n\u751f\u6210\u65e5: {0} \n
+# DO NOT localize the 2.2.8-b01 string - it is a token for an ant <replaceFilter>
+Driver.FilePrologComment = \u3053\u306e\u30d5\u30a1\u30a4\u30eb\u306f\u3001JavaTM Architecture for XML Binding(JAXB) Reference Implementation\u3001v2.2.8-b01\u306b\u3088\u3063\u3066\u751f\u6210\u3055\u308c\u307e\u3057\u305f \n<a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044 \n\u30bd\u30fc\u30b9\u30fb\u30b9\u30ad\u30fc\u30de\u306e\u518d\u30b3\u30f3\u30d1\u30a4\u30eb\u6642\u306b\u3053\u306e\u30d5\u30a1\u30a4\u30eb\u306e\u5909\u66f4\u306f\u5931\u308f\u308c\u307e\u3059\u3002 \n\u751f\u6210\u65e5: {0} \n
-Driver.Version = xjc 2.2.7-b63
+Driver.Version = xjc 2.2.8-b01
-Driver.FullVersion = xjc\u30d5\u30eb\u30fb\u30d0\u30fc\u30b8\u30e7\u30f3"2.2.7-b63-b19"
+Driver.FullVersion = xjc\u30d5\u30eb\u30fb\u30d0\u30fc\u30b8\u30e7\u30f3"2.2.8-b01-b28"
-Driver.BuildID = 2.2.7-b63
+Driver.BuildID = 2.2.8-b01
# for JDK integration - include version in source zip
-jaxb.jdk.version=2.2.7-b63
+jaxb.jdk.version=2.2.8-b01
# see java.text.SimpleDateFormat for format syntax
# DO NOT LOCALIZE, Format should not be changed, English locale is used to transform this string into a real date.
diff --git a/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_ko.properties b/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_ko.properties
index b0ed1684..d493f5bd 100644
--- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_ko.properties
+++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_ko.properties
@@ -96,17 +96,17 @@ Driver.CompilingSchema = \uc2a4\ud0a4\ub9c8\ub97c \ucef4\ud30c\uc77c\ud558\ub294
Driver.FailedToGenerateCode = \ucf54\ub4dc \uc0dd\uc131\uc744 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4.
-# DO NOT localize the 2.2.7-b63 string - it is a token for an ant <replaceFilter>
-Driver.FilePrologComment = \uc774 \ud30c\uc77c\uc740 JAXB(JavaTM Architecture for XML Binding) \ucc38\uc870 \uad6c\ud604 2.2.7-b63 \ubc84\uc804\uc744 \ud1b5\ud574 \uc0dd\uc131\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \n<a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>\ub97c \ucc38\uc870\ud558\uc2ed\uc2dc\uc624. \n\uc774 \ud30c\uc77c\uc744 \uc218\uc815\ud558\uba74 \uc18c\uc2a4 \uc2a4\ud0a4\ub9c8\ub97c \uc7ac\ucef4\ud30c\uc77c\ud560 \ub54c \uc218\uc815 \uc0ac\ud56d\uc774 \uc190\uc2e4\ub429\ub2c8\ub2e4. \n\uc0dd\uc131 \ub0a0\uc9dc: {0} \n
+# DO NOT localize the 2.2.8-b01 string - it is a token for an ant <replaceFilter>
+Driver.FilePrologComment = \uc774 \ud30c\uc77c\uc740 JAXB(JavaTM Architecture for XML Binding) \ucc38\uc870 \uad6c\ud604 2.2.8-b01 \ubc84\uc804\uc744 \ud1b5\ud574 \uc0dd\uc131\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \n<a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>\ub97c \ucc38\uc870\ud558\uc2ed\uc2dc\uc624. \n\uc774 \ud30c\uc77c\uc744 \uc218\uc815\ud558\uba74 \uc18c\uc2a4 \uc2a4\ud0a4\ub9c8\ub97c \uc7ac\ucef4\ud30c\uc77c\ud560 \ub54c \uc218\uc815 \uc0ac\ud56d\uc774 \uc190\uc2e4\ub429\ub2c8\ub2e4. \n\uc0dd\uc131 \ub0a0\uc9dc: {0} \n
-Driver.Version = XJC 2.2.7-b63
+Driver.Version = XJC 2.2.8-b01
-Driver.FullVersion = XJC \uc815\uc2dd \ubc84\uc804 "2.2.7-b63-b19"
+Driver.FullVersion = XJC \uc815\uc2dd \ubc84\uc804 "2.2.8-b01-b28"
-Driver.BuildID = 2.2.7-b63
+Driver.BuildID = 2.2.8-b01
# for JDK integration - include version in source zip
-jaxb.jdk.version=2.2.7-b63
+jaxb.jdk.version=2.2.8-b01
# see java.text.SimpleDateFormat for format syntax
# DO NOT LOCALIZE, Format should not be changed, English locale is used to transform this string into a real date.
diff --git a/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_pt_BR.properties b/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_pt_BR.properties
index 54a4a21a..3ac7a0bf 100644
--- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_pt_BR.properties
+++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_pt_BR.properties
@@ -96,17 +96,17 @@ Driver.CompilingSchema = compilando um esquema...
Driver.FailedToGenerateCode = Falha ao produzir o c\u00f3digo.
-# DO NOT localize the 2.2.7-b63 string - it is a token for an ant <replaceFilter>
-Driver.FilePrologComment = Este arquivo foi gerado pela Arquitetura JavaTM para Implementa\u00e7\u00e3o de Refer\u00eancia (JAXB) de Bind XML, v2.2.7-b63 \nConsulte <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> \nTodas as modifica\u00e7\u00f5es neste arquivo ser\u00e3o perdidas ap\u00f3s a recompila\u00e7\u00e3o do esquema de origem. \nGerado em: {0} \n
+# DO NOT localize the 2.2.8-b01 string - it is a token for an ant <replaceFilter>
+Driver.FilePrologComment = Este arquivo foi gerado pela Arquitetura JavaTM para Implementa\u00e7\u00e3o de Refer\u00eancia (JAXB) de Bind XML, v2.2.8-b01 \nConsulte <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> \nTodas as modifica\u00e7\u00f5es neste arquivo ser\u00e3o perdidas ap\u00f3s a recompila\u00e7\u00e3o do esquema de origem. \nGerado em: {0} \n
-Driver.Version = xjc 2.2.7-b63
+Driver.Version = xjc 2.2.8-b01
-Driver.FullVersion = vers\u00e3o completa de xjc "2.2.7-b63-b19"
+Driver.FullVersion = vers\u00e3o completa de xjc "2.2.8-b01-b28"
-Driver.BuildID = 2.2.7-b63
+Driver.BuildID = 2.2.8-b01
# for JDK integration - include version in source zip
-jaxb.jdk.version=2.2.7-b63
+jaxb.jdk.version=2.2.8-b01
# see java.text.SimpleDateFormat for format syntax
# DO NOT LOCALIZE, Format should not be changed, English locale is used to transform this string into a real date.
diff --git a/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_zh_CN.properties b/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_zh_CN.properties
index d9636417..610bb1e3 100644
--- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_zh_CN.properties
+++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_zh_CN.properties
@@ -96,17 +96,17 @@ Driver.CompilingSchema = \u6b63\u5728\u7f16\u8bd1\u6a21\u5f0f...
Driver.FailedToGenerateCode = \u65e0\u6cd5\u751f\u6210\u4ee3\u7801\u3002
-# DO NOT localize the 2.2.7-b63 string - it is a token for an ant <replaceFilter>
-Driver.FilePrologComment = \u6b64\u6587\u4ef6\u662f\u7531 JavaTM Architecture for XML Binding (JAXB) \u5f15\u7528\u5b9e\u73b0 v2.2.7-b63 \u751f\u6210\u7684\n\u8bf7\u8bbf\u95ee <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> \n\u5728\u91cd\u65b0\u7f16\u8bd1\u6e90\u6a21\u5f0f\u65f6, \u5bf9\u6b64\u6587\u4ef6\u7684\u6240\u6709\u4fee\u6539\u90fd\u5c06\u4e22\u5931\u3002\n\u751f\u6210\u65f6\u95f4: {0} \n
+# DO NOT localize the 2.2.8-b01 string - it is a token for an ant <replaceFilter>
+Driver.FilePrologComment = \u6b64\u6587\u4ef6\u662f\u7531 JavaTM Architecture for XML Binding (JAXB) \u5f15\u7528\u5b9e\u73b0 v2.2.8-b01 \u751f\u6210\u7684\n\u8bf7\u8bbf\u95ee <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> \n\u5728\u91cd\u65b0\u7f16\u8bd1\u6e90\u6a21\u5f0f\u65f6, \u5bf9\u6b64\u6587\u4ef6\u7684\u6240\u6709\u4fee\u6539\u90fd\u5c06\u4e22\u5931\u3002\n\u751f\u6210\u65f6\u95f4: {0} \n
-Driver.Version = xjc 2.2.7-b63
+Driver.Version = xjc 2.2.8-b01
-Driver.FullVersion = xjc \u5b8c\u6574\u7248\u672c "2.2.7-b63-b19"
+Driver.FullVersion = xjc \u5b8c\u6574\u7248\u672c "2.2.8-b01-b28"
-Driver.BuildID = 2.2.7-b63
+Driver.BuildID = 2.2.8-b01
# for JDK integration - include version in source zip
-jaxb.jdk.version=2.2.7-b63
+jaxb.jdk.version=2.2.8-b01
# see java.text.SimpleDateFormat for format syntax
# DO NOT LOCALIZE, Format should not be changed, English locale is used to transform this string into a real date.
diff --git a/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_zh_TW.properties b/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_zh_TW.properties
index e32b9cea..3ed7786c 100644
--- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_zh_TW.properties
+++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/MessageBundle_zh_TW.properties
@@ -96,17 +96,17 @@ Driver.CompilingSchema = \u6b63\u5728\u7de8\u8b6f\u7db1\u8981...
Driver.FailedToGenerateCode = \u7121\u6cd5\u7522\u751f\u7a0b\u5f0f\u78bc.
-# DO NOT localize the 2.2.7-b63 string - it is a token for an ant <replaceFilter>
-Driver.FilePrologComment = \u6b64\u6a94\u6848\u662f\u7531 JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.7-b63 \u6240\u7522\u751f \n\u8acb\u53c3\u95b1 <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> \n\u4e00\u65e6\u91cd\u65b0\u7de8\u8b6f\u4f86\u6e90\u7db1\u8981, \u5c0d\u6b64\u6a94\u6848\u6240\u505a\u7684\u4efb\u4f55\u4fee\u6539\u90fd\u5c07\u6703\u907a\u5931. \n\u7522\u751f\u6642\u9593: {0} \n
+# DO NOT localize the 2.2.8-b01 string - it is a token for an ant <replaceFilter>
+Driver.FilePrologComment = \u6b64\u6a94\u6848\u662f\u7531 JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.8-b01 \u6240\u7522\u751f \n\u8acb\u53c3\u95b1 <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> \n\u4e00\u65e6\u91cd\u65b0\u7de8\u8b6f\u4f86\u6e90\u7db1\u8981, \u5c0d\u6b64\u6a94\u6848\u6240\u505a\u7684\u4efb\u4f55\u4fee\u6539\u90fd\u5c07\u6703\u907a\u5931. \n\u7522\u751f\u6642\u9593: {0} \n
-Driver.Version = xjc 2.2.7-b63
+Driver.Version = xjc 2.2.8-b01
-Driver.FullVersion = xjc \u5b8c\u6574\u7248\u672c "2.2.7-b63-b19"
+Driver.FullVersion = xjc \u5b8c\u6574\u7248\u672c "2.2.8-b01-b28"
-Driver.BuildID = 2.2.7-b63
+Driver.BuildID = 2.2.8-b01
# for JDK integration - include version in source zip
-jaxb.jdk.version=2.2.7-b63
+jaxb.jdk.version=2.2.8-b01
# see java.text.SimpleDateFormat for format syntax
# DO NOT LOCALIZE, Format should not be changed, English locale is used to transform this string into a real date.
diff --git a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/ModelBuilder.java b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/ModelBuilder.java
index 27a60e82..243bc587 100644
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/ModelBuilder.java
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/ModelBuilder.java
@@ -289,12 +289,23 @@ public class ModelBuilder<T,C,F,M> implements ModelBuilderI<T,C,F,M> {
String pkg = nav.getPackageName(clazz);
if (!registries.containsKey(pkg)) {
// insert the package's object factory
- C c = nav.findClass(pkg + ".ObjectFactory", clazz);
+ C c = loadObjectFactory(clazz, pkg);
if (c != null)
addRegistry(c, p);
}
}
+ private C loadObjectFactory(C clazz, String pkg) {
+ C c;
+ try {
+ c = nav.findClass(pkg + ".ObjectFactory", clazz);
+ } catch (SecurityException ignored) {
+ // treat SecurityException in same way as ClassNotFoundException in this case
+ c = null;
+ }
+ return c;
+ }
+
/**
* Getting parametrized classes of {@code JAXBElement<...>} property
* @param p property which parametrized types we will try to get
diff --git a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/JAXBContextImpl.java b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/JAXBContextImpl.java
index 3b56d1d7..4f518cbd 100644
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/JAXBContextImpl.java
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/JAXBContextImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. 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
@@ -894,19 +894,6 @@ public final class JAXBContextImpl extends JAXBRIContext {
}
}
- /**
- * Used for testing.
- */
- public SchemaOutputResolver createTestResolver() {
- return new SchemaOutputResolver() {
- public Result createOutput(String namespaceUri, String suggestedFileName) {
- SAXResult r = new SAXResult(new DefaultHandler());
- r.setSystemId(suggestedFileName);
- return r;
- }
- };
- }
-
@Override
public <T> Binder<T> createBinder(Class<T> domType) {
if(domType==Node.class)
diff --git a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/XmlSchemaGenerator.java b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/XmlSchemaGenerator.java
index b20946b8..30c80801 100644
--- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/XmlSchemaGenerator.java
+++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/XmlSchemaGenerator.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. 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
@@ -278,6 +278,7 @@ public final class XmlSchemaGenerator<T,C,F,M> {
public void add( ElementInfo<T,C> elem ) {
assert elem!=null;
+ @SuppressWarnings("UnusedAssignment")
boolean nillable = false; // default value
QName name = elem.getElementName();
@@ -1162,9 +1163,8 @@ public final class XmlSchemaGenerator<T,C,F,M> {
return true;
}
- // there's a circular reference from an anonymous subtype to a global element
- if ((ci != null) && ((targetTagName != null) && (te.getScope() == null))) {
- if (targetTagName.getLocalPart().equals(tn.getLocalPart())) {
+ if ((ci != null) && ((targetTagName != null) && (te.getScope() == null) && (targetTagName.getNamespaceURI() == null))) {
+ if (targetTagName.equals(tn)) {
return true;
}
}
diff --git a/src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/CommonResourceBundle.java b/src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/CommonResourceBundle.java
index 3252aa19..ad226f47 100644
--- a/src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/CommonResourceBundle.java
+++ b/src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/CommonResourceBundle.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2012, Oracle and/or its affiliates. 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
@@ -35,7 +35,7 @@ import java.util.ResourceBundle;
public class CommonResourceBundle extends AbstractResourceBundle {
public static final String BASE_NAME = "com.sun.xml.internal.fastinfoset.resources.ResourceBundle";
- private static CommonResourceBundle instance = null;
+ private static volatile CommonResourceBundle instance = null;
private static Locale locale = null;
private ResourceBundle bundle = null;
@@ -56,8 +56,7 @@ public class CommonResourceBundle extends AbstractResourceBundle {
//**need to know where to get the locale
//String localeString = CommonProperties.getInstance()
// .getProperty("omar.common.locale");
- String localeString = null;
- locale = parseLocale(localeString);
+ locale = parseLocale(/*localeString*/null);
}
}
diff --git a/src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/Decoder.java b/src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/Decoder.java
index e6602114..23f4dd1c 100644
--- a/src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/Decoder.java
+++ b/src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/Decoder.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2013, Oracle and/or its affiliates. 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
@@ -431,7 +431,7 @@ public abstract class Decoder implements FastInfosetParser {
final int noOfItems = decodeNumberOfItemsOfSequence();
for (int i = 0; i < noOfItems; i++) {
- String URI = decodeNonEmptyOctetStringOnSecondBitAsUtf8String();
+ /*String URI = */decodeNonEmptyOctetStringOnSecondBitAsUtf8String();
decodeNonEmptyOctetStringLengthOnSecondBit();
ensureOctetBufferSize();
@@ -1817,7 +1817,7 @@ public abstract class Decoder implements FastInfosetParser {
second.getChars(0, l2, _charBuffer, l1 + 1);
return new String(_charBuffer, 0, total);
} else {
- StringBuffer b = new StringBuffer(new String(first));
+ StringBuilder b = new StringBuilder(new String(first));
b.append(':');
b.append(second);
return b.toString();
@@ -1992,10 +1992,12 @@ public abstract class Decoder implements FastInfosetParser {
static public boolean isFastInfosetDocument(InputStream s) throws IOException {
// TODO
// Check for <?xml declaration with 'finf' encoding
+ final int headerSize = 4;
- final byte[] header = new byte[4];
- s.read(header);
- if (header[0] != EncodingConstants.BINARY_HEADER[0] ||
+ final byte[] header = new byte[headerSize];
+ final int readBytesCount = s.read(header);
+ if (readBytesCount < headerSize ||
+ header[0] != EncodingConstants.BINARY_HEADER[0] ||
header[1] != EncodingConstants.BINARY_HEADER[1] ||
header[2] != EncodingConstants.BINARY_HEADER[2] ||
header[3] != EncodingConstants.BINARY_HEADER[3]) {
diff --git a/src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/algorithm/BASE64EncodingAlgorithm.java b/src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/algorithm/BASE64EncodingAlgorithm.java
index 4a63d726..e6ac90c5 100644
--- a/src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/algorithm/BASE64EncodingAlgorithm.java
+++ b/src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/algorithm/BASE64EncodingAlgorithm.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2013, Oracle and/or its affiliates. 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
@@ -137,7 +137,7 @@ public class BASE64EncodingAlgorithm extends BuiltInEncodingAlgorithm {
return new byte[0];
}
- StringBuffer encodedValue = removeWhitespace(ch, start, length);
+ StringBuilder encodedValue = removeWhitespace(ch, start, length);
int encodedLength = encodedValue.length();
if (encodedLength == 0) {
return new byte[0];
diff --git a/src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/algorithm/BooleanEncodingAlgorithm.java b/src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/algorithm/BooleanEncodingAlgorithm.java
index 07a8e97a..f50bd8d5 100644
--- a/src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/algorithm/BooleanEncodingAlgorithm.java
+++ b/src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/algorithm/BooleanEncodingAlgorithm.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2013, Oracle and/or its affiliates. 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
@@ -259,7 +259,7 @@ public class BooleanEncodingAlgorithm extends BuiltInEncodingAlgorithm {
* @param array The array
*
*/
- private final boolean[] generateArrayFromList(List array) {
+ private boolean[] generateArrayFromList(List array) {
boolean[] bdata = new boolean[array.size()];
for (int i = 0; i < bdata.length; i++) {
bdata[i] = ((Boolean)array.get(i)).booleanValue();
diff --git a/src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/algorithm/BuiltInEncodingAlgorithm.java b/src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/algorithm/BuiltInEncodingAlgorithm.java
index 829bebcd..0ac52a7a 100644
--- a/src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/algorithm/BuiltInEncodingAlgorithm.java
+++ b/src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/algorithm/BuiltInEncodingAlgorithm.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2013, Oracle and/or its affiliates. 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
@@ -61,8 +61,8 @@ public abstract class BuiltInEncodingAlgorithm implements EncodingAlgorithm {
wl.word(i, cb.length());
}
- public StringBuffer removeWhitespace(char[] ch, int start, int length) {
- StringBuffer buf = new StringBuffer();
+ public StringBuilder removeWhitespace(char[] ch, int start, int length) {
+ StringBuilder buf = new StringBuilder();
int firstNonWS = 0;
int idx = 0;
for (; idx < length; ++idx) {
diff --git a/src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/algorithm/FloatEncodingAlgorithm.java b/src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/algorithm/FloatEncodingAlgorithm.java
index bdd6461b..5399cd8e 100644
--- a/src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/algorithm/FloatEncodingAlgorithm.java
+++ b/src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/algorithm/FloatEncodingAlgorithm.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2013, Oracle and/or its affiliates. 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
diff --git a/src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/algorithm/HexadecimalEncodingAlgorithm.java b/src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/algorithm/HexadecimalEncodingAlgorithm.java
index 9bbec8fc..1f3b7448 100644
--- a/src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/algorithm/HexadecimalEncodingAlgorithm.java
+++ b/src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/algorithm/HexadecimalEncodingAlgorithm.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2013, Oracle and/or its affiliates. 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
@@ -88,7 +88,7 @@ public class HexadecimalEncodingAlgorithm extends BuiltInEncodingAlgorithm {
return new byte[0];
}
- StringBuffer encodedValue = removeWhitespace(ch, start, length);
+ StringBuilder encodedValue = removeWhitespace(ch, start, length);
int encodedLength = encodedValue.length();
if (encodedLength == 0) {
return new byte[0];
diff --git a/src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/dom/DOMDocumentParser.java b/src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/dom/DOMDocumentParser.java
index abddb923..0eb199f9 100644
--- a/src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/dom/DOMDocumentParser.java
+++ b/src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/dom/DOMDocumentParser.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2012, Oracle and/or its affiliates. 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
@@ -272,7 +272,7 @@ public class DOMDocumentParser extends Decoder {
}
if ((_b & EncodingConstants.DOCUMENT_CHARACTER_ENCODING_SCHEME) > 0) {
- String version = decodeCharacterEncodingScheme();
+ /*String version = */decodeCharacterEncodingScheme();
/*
* TODO
* how to report the character encoding scheme?
@@ -280,7 +280,7 @@ public class DOMDocumentParser extends Decoder {
}
if ((_b & EncodingConstants.DOCUMENT_STANDALONE_FLAG) > 0) {
- boolean standalone = (read() > 0) ? true : false ;
+ /*boolean standalone = (*/read()/* > 0) ? true : false*/ ;
/*
* TODO
* how to report the standalone flag?
diff --git a/src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/resources/ResourceBundle.properties b/src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/resources/ResourceBundle.properties
index 2f23d914..bccada9e 100644
--- a/src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/resources/ResourceBundle.properties
+++ b/src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/resources/ResourceBundle.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2012, Oracle and/or its affiliates. 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
diff --git a/src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/sax/AttributesHolder.java b/src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/sax/AttributesHolder.java
index 00846c9b..afca1160 100644
--- a/src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/sax/AttributesHolder.java
+++ b/src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/sax/AttributesHolder.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2013, Oracle and/or its affiliates. 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
diff --git a/src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/sax/SAXDocumentParser.java b/src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/sax/SAXDocumentParser.java
index 8ca856c7..2d44b5f3 100644
--- a/src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/sax/SAXDocumentParser.java
+++ b/src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/sax/SAXDocumentParser.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2013, Oracle and/or its affiliates. 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
@@ -850,7 +850,7 @@ public class SAXDocumentParser extends Decoder implements FastInfosetReader {
}
if ((_b & EncodingConstants.DOCUMENT_CHARACTER_ENCODING_SCHEME) > 0) {
- String characterEncodingScheme = decodeCharacterEncodingScheme();
+ /*String characterEncodingScheme = */decodeCharacterEncodingScheme();
/*
* TODO
* how to report the character encoding scheme?
@@ -858,7 +858,7 @@ public class SAXDocumentParser extends Decoder implements FastInfosetReader {
}
if ((_b & EncodingConstants.DOCUMENT_STANDALONE_FLAG) > 0) {
- boolean standalone = (read() > 0) ? true : false ;
+ /*boolean standalone = (*/read()/* > 0) ? true : false*/ ;
/*
* TODO
* how to report the standalone flag?
diff --git a/src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/stax/StAXDocumentParser.java b/src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/stax/StAXDocumentParser.java
index 25c82f1f..0475d914 100644
--- a/src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/stax/StAXDocumentParser.java
+++ b/src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/stax/StAXDocumentParser.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2013, Oracle and/or its affiliates. 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
@@ -499,7 +499,7 @@ public class StAXDocumentParser extends Decoder
}
}
- private final void popStack() {
+ private void popStack() {
// Pop information off the stack
_qualifiedName = _qNameStack[_stackCount];
_currentNamespaceAIIsStart = _namespaceAIIsStartStack[_stackCount];
@@ -522,8 +522,6 @@ public class StAXDocumentParser extends Decoder
throw new XMLStreamException(CommonResourceBundle.getInstance().getString("message.namespaceURINotMatch", new Object[]{namespaceURI}));
if(localName != null && !localName.equals(getLocalName()))
throw new XMLStreamException(CommonResourceBundle.getInstance().getString("message.localNameNotMatch", new Object[]{localName}));
-
- return;
}
/** Reads the content of a text-only element. Precondition:
@@ -551,7 +549,7 @@ public class StAXDocumentParser extends Decoder
CommonResourceBundle.getInstance().getString("message.mustBeOnSTARTELEMENT"), getLocation());
}
int eventType = getEventType();
- StringBuffer content = new StringBuffer();
+ StringBuilder content = new StringBuilder();
while(eventType != END_ELEMENT ) {
if(eventType == CHARACTERS
|| eventType == CDATA
@@ -1624,6 +1622,11 @@ public class StAXDocumentParser extends Decoder
? decodeIdentifyingNonEmptyStringOnFirstBit(_v.otherURI) : "";
String public_identifier = ((b & EncodingConstants.UNEXPANDED_ENTITY_PUBLIC_IDENTIFIER_FLAG) > 0)
? decodeIdentifyingNonEmptyStringOnFirstBit(_v.otherURI) : "";
+
+ if (logger.isLoggable(Level.FINEST)) {
+ logger.log(Level.FINEST, "processUnexpandedEntityReference: entity_reference_name={0} system_identifier={1}public_identifier={2}",
+ new Object[]{entity_reference_name, system_identifier, public_identifier});
+ }
}
protected final void processCIIEncodingAlgorithm(boolean addToTable) throws FastInfosetException, IOException {
diff --git a/src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/stax/events/StartElementEvent.java b/src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/stax/events/StartElementEvent.java
index a86051f9..6235b7fe 100644
--- a/src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/stax/events/StartElementEvent.java
+++ b/src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/stax/events/StartElementEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2012, Oracle and/or its affiliates. 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
@@ -187,14 +187,16 @@ public class StartElementEvent extends EventBase implements StartElement {
}
public String toString() {
- String s = "<" + nameAsString();
+ final StringBuilder sb = new StringBuilder(64);
+
+ sb.append('<').append(nameAsString());
if(_attributes != null){
Iterator it = this.getAttributes();
Attribute attr = null;
while(it.hasNext()){
attr = (Attribute)it.next();
- s = s + " " + attr.toString();
+ sb.append(' ').append(attr.toString());
}
}
@@ -203,11 +205,11 @@ public class StartElementEvent extends EventBase implements StartElement {
Namespace attr = null;
while(it.hasNext()){
attr = (Namespace)it.next();
- s = s + " " + attr.toString();
+ sb.append(' ').append(attr.toString());
}
}
- s = s + ">";
- return s;
+ sb.append('>');
+ return sb.toString();
}
/** Return this event as String
diff --git a/src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/stax/factory/StAXOutputFactory.java b/src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/stax/factory/StAXOutputFactory.java
index 4c9d393c..5c1ff64d 100644
--- a/src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/stax/factory/StAXOutputFactory.java
+++ b/src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/stax/factory/StAXOutputFactory.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2012, Oracle and/or its affiliates. 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
@@ -69,28 +69,53 @@ public class StAXOutputFactory extends XMLOutputFactory {
}
public XMLStreamWriter createXMLStreamWriter(Result result) throws XMLStreamException {
- if(result instanceof StreamResult){
- StreamResult streamResult = (StreamResult)result;
- if( streamResult.getWriter() != null){
+ if (result instanceof StreamResult) {
+ StreamResult streamResult = (StreamResult) result;
+ if (streamResult.getWriter() != null) {
return createXMLStreamWriter(streamResult.getWriter());
- }else if(streamResult.getOutputStream() != null ){
+ } else if (streamResult.getOutputStream() != null) {
return createXMLStreamWriter(streamResult.getOutputStream());
- }else if(streamResult.getSystemId()!= null){
- try{
- FileWriter writer = new FileWriter(new File(streamResult.getSystemId()));
- return createXMLStreamWriter(writer);
- }catch(IOException ie){
+ } else if (streamResult.getSystemId() != null) {
+ FileWriter writer = null;
+ boolean isError = true;
+
+ try {
+ writer = new FileWriter(new File(streamResult.getSystemId()));
+ final XMLStreamWriter streamWriter = createXMLStreamWriter(writer);
+ isError = false;
+
+ return streamWriter;
+ } catch (IOException ie) {
throw new XMLStreamException(ie);
+ } finally {
+ if (isError && writer != null) {
+ try {
+ writer.close();
+ } catch (IOException ignored) {
+ }
+ }
}
}
- }
- else {
- try{
+ } else {
+ FileWriter writer = null;
+ boolean isError = true;
+
+ try {
//xxx: should we be using FileOutputStream - nb.
- FileWriter writer = new FileWriter(new File(result.getSystemId()));
- return createXMLStreamWriter(writer);
- }catch(IOException ie){
+ writer = new FileWriter(new File(result.getSystemId()));
+ final XMLStreamWriter streamWriter = createXMLStreamWriter(writer);
+ isError = false;
+
+ return streamWriter;
+ } catch (IOException ie) {
throw new XMLStreamException(ie);
+ } finally {
+ if (isError && writer != null) {
+ try {
+ writer.close();
+ } catch (IOException ignored) {
+ }
+ }
}
}
throw new java.lang.UnsupportedOperationException();
diff --git a/src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/tools/SAXEventSerializer.java b/src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/tools/SAXEventSerializer.java
index bfd3109a..0429140a 100644
--- a/src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/tools/SAXEventSerializer.java
+++ b/src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/tools/SAXEventSerializer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2012, Oracle and/or its affiliates. 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
@@ -397,11 +397,27 @@ public class SAXEventSerializer extends DefaultHandler
public int compareTo(Object o) {
try {
return qName.compareTo(((AttributeValueHolder) o).qName);
+ } catch (Exception e) {
+ throw new RuntimeException(CommonResourceBundle.getInstance().getString("message.AttributeValueHolderExpected"));
}
- catch (Exception e) {
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ try {
+ return (o instanceof AttributeValueHolder) &&
+ qName.equals(((AttributeValueHolder) o).qName);
+ } catch (Exception e) {
throw new RuntimeException(CommonResourceBundle.getInstance().getString("message.AttributeValueHolderExpected"));
}
}
+
+ @Override
+ public int hashCode() {
+ int hash = 7;
+ hash = 97 * hash + (this.qName != null ? this.qName.hashCode() : 0);
+ return hash;
+ }
}
}
diff --git a/src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/tools/TransformInputOutput.java b/src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/tools/TransformInputOutput.java
index c1473067..a8c1f306 100644
--- a/src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/tools/TransformInputOutput.java
+++ b/src/share/jaxws_classes/com/sun/xml/internal/fastinfoset/tools/TransformInputOutput.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2012, Oracle and/or its affiliates. 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
@@ -115,7 +115,7 @@ public abstract class TransformInputOutput {
String[] fileSplit = fileStr.split("/");
int diff;
- for(diff = 0; diff<oldwdSplit.length & diff<fileSplit.length; diff++) {
+ for (diff = 0; diff < oldwdSplit.length && diff < fileSplit.length; diff++) {
if (!oldwdSplit[diff].equals(fileSplit[diff])) {
break;
}
diff --git a/src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/mimepull/DataHead.java b/src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/mimepull/DataHead.java
index 826431f6..000e32a4 100644
--- a/src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/mimepull/DataHead.java
+++ b/src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/mimepull/DataHead.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. 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
@@ -103,8 +103,8 @@ final class DataHead {
}
void close() {
+ head = tail = null;
if (dataFile != null) {
- head = tail = null;
dataFile.close();
}
}
diff --git a/src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/mimepull/MemoryData.java b/src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/mimepull/MemoryData.java
index 2aae9106..912b9ca8 100644
--- a/src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/mimepull/MemoryData.java
+++ b/src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/mimepull/MemoryData.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. 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
@@ -78,20 +78,22 @@ final class MemoryData implements Data {
try {
String prefix = config.getTempFilePrefix();
String suffix = config.getTempFileSuffix();
- File dir = config.getTempDir();
- File tempFile = (dir == null)
- ? File.createTempFile(prefix, suffix)
- : File.createTempFile(prefix, suffix, dir);
+ File tempFile = TempFiles.createTempFile(prefix, suffix, config.getTempDir());
+ // delete the temp file when VM exits as a last resort for file clean up
+ tempFile.deleteOnExit();
+ if (LOGGER.isLoggable(Level.FINE)) {
+ LOGGER.log(Level.FINE, "Created temp file = {0}", tempFile);
+ }
// delete the temp file when VM exits as a last resort for file clean up
tempFile.deleteOnExit();
if (LOGGER.isLoggable(Level.FINE)) {LOGGER.log(Level.FINE, "Created temp file = {0}", tempFile);}
dataHead.dataFile = new DataFile(tempFile);
- } catch(IOException ioe) {
+ } catch (IOException ioe) {
throw new MIMEParsingException(ioe);
}
if (dataHead.head != null) {
- for(Chunk c=dataHead.head; c != null; c=c.next) {
+ for (Chunk c = dataHead.head; c != null; c = c.next) {
long pointer = c.data.writeTo(dataHead.dataFile);
c.data = new FileData(dataHead.dataFile, pointer, len);
}
@@ -101,4 +103,5 @@ final class MemoryData implements Data {
return new MemoryData(buf, config);
}
}
+
}
diff --git a/src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/mimepull/TempFiles.java b/src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/mimepull/TempFiles.java
new file mode 100644
index 00000000..797b9b7c
--- /dev/null
+++ b/src/share/jaxws_classes/com/sun/xml/internal/org/jvnet/mimepull/TempFiles.java
@@ -0,0 +1,144 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. 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. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package com.sun.xml.internal.org.jvnet.mimepull;
+
+import java.io.File;
+import java.io.IOException;
+import java.lang.reflect.Array;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+/**
+ * Helper utility to support jdk <= jdk1.6. After jdk1.6 EOL reflection can be removed and API can be used directly.
+ */
+class TempFiles {
+
+ private static final Logger LOGGER = Logger.getLogger(TempFiles.class.getName());
+
+ private static final Class<?> CLASS_FILES;
+ private static final Class<?> CLASS_PATH;
+ private static final Class<?> CLASS_FILE_ATTRIBUTE;
+ private static final Class<?> CLASS_FILE_ATTRIBUTES;
+ private static final Method METHOD_FILE_TO_PATH;
+ private static final Method METHOD_FILES_CREATE_TEMP_FILE;
+ private static final Method METHOD_FILES_CREATE_TEMP_FILE_WITHPATH;
+
+ private static final Method METHOD_PATH_TO_FILE;
+
+ private static boolean useJdk6API;
+
+ static {
+ useJdk6API = isJdk6();
+
+ CLASS_FILES = safeGetClass("java.nio.file.Files");
+ CLASS_PATH = safeGetClass("java.nio.file.Path");
+ CLASS_FILE_ATTRIBUTE = safeGetClass("java.nio.file.attribute.FileAttribute");
+ CLASS_FILE_ATTRIBUTES = safeGetClass("[Ljava.nio.file.attribute.FileAttribute;");
+ METHOD_FILE_TO_PATH = safeGetMethod(File.class, "toPath");
+ METHOD_FILES_CREATE_TEMP_FILE = safeGetMethod(CLASS_FILES, "createTempFile", String.class, String.class, CLASS_FILE_ATTRIBUTES);
+ METHOD_FILES_CREATE_TEMP_FILE_WITHPATH = safeGetMethod(CLASS_FILES, "createTempFile", CLASS_PATH, String.class, String.class, CLASS_FILE_ATTRIBUTES);
+ METHOD_PATH_TO_FILE = safeGetMethod(CLASS_PATH, "toFile");
+ }
+
+ private static boolean isJdk6() {
+ String javaVersion = System.getProperty("java.version");
+ LOGGER.log(Level.FINEST, "Detected java version = {0}", javaVersion);
+ return javaVersion.startsWith("1.6.");
+ }
+
+ private static Class<?> safeGetClass(String className) {
+ // it is jdk 6 or something failed already before
+ if (useJdk6API) return null;
+ try {
+ return Class.forName(className);
+ } catch (ClassNotFoundException e) {
+ LOGGER.log(Level.SEVERE, "Exception cought", e);
+ LOGGER.log(Level.WARNING, "Class {0} not found. Temp files will be created using old java.io API.", className);
+ useJdk6API = true;
+ return null;
+ }
+ }
+
+ private static Method safeGetMethod(Class<?> clazz, String methodName, Class<?>... parameterTypes) {
+ // it is jdk 6 or something failed already before
+ if (useJdk6API) return null;
+ try {
+ return clazz.getMethod(methodName, parameterTypes);
+ } catch (NoSuchMethodException e) {
+ LOGGER.log(Level.SEVERE, "Exception cought", e);
+ LOGGER.log(Level.WARNING, "Method {0} not found. Temp files will be created using old java.io API.", methodName);
+ useJdk6API = true;
+ return null;
+ }
+ }
+
+
+ static Object toPath(File f) throws InvocationTargetException, IllegalAccessException {
+ return METHOD_FILE_TO_PATH.invoke(f);
+ }
+
+ static File toFile(Object path) throws InvocationTargetException, IllegalAccessException {
+ return (File) METHOD_PATH_TO_FILE.invoke(path);
+ }
+
+ static File createTempFile(String prefix, String suffix, File dir) throws IOException {
+
+ if (useJdk6API) {
+ LOGGER.log(Level.FINEST, "Jdk6 detected, temp file (prefix:{0}, suffix:{1}) being created using old java.io API.", new Object[]{prefix, suffix});
+ return File.createTempFile(prefix, suffix, dir);
+
+ } else {
+
+ try {
+ if (dir != null) {
+ Object path = toPath(dir);
+ LOGGER.log(Level.FINEST, "Temp file (path: {0}, prefix:{1}, suffix:{2}) being created using NIO API.", new Object[]{dir.getAbsolutePath(), prefix, suffix});
+ return toFile(METHOD_FILES_CREATE_TEMP_FILE_WITHPATH.invoke(null, path, prefix, suffix, Array.newInstance(CLASS_FILE_ATTRIBUTE, 0)));
+ } else {
+ LOGGER.log(Level.FINEST, "Temp file (prefix:{0}, suffix:{1}) being created using NIO API.", new Object[]{prefix, suffix});
+ return toFile(METHOD_FILES_CREATE_TEMP_FILE.invoke(null, prefix, suffix, Array.newInstance(CLASS_FILE_ATTRIBUTE, 0)));
+ }
+
+ } catch (IllegalAccessException e) {
+ LOGGER.log(Level.SEVERE, "Exception caught", e);
+ LOGGER.log(Level.WARNING, "Error invoking java.nio API, temp file (path: {0}, prefix:{1}, suffix:{2}) being created using old java.io API.",
+ new Object[]{dir != null ? dir.getAbsolutePath() : null, prefix, suffix});
+ return File.createTempFile(prefix, suffix, dir);
+
+ } catch (InvocationTargetException e) {
+ LOGGER.log(Level.SEVERE, "Exception caught", e);
+ LOGGER.log(Level.WARNING, "Error invoking java.nio API, temp file (path: {0}, prefix:{1}, suffix:{2}) being created using old java.io API.",
+ new Object[]{dir != null ? dir.getAbsolutePath() : null, prefix, suffix});
+ return File.createTempFile(prefix, suffix, dir);
+ }
+ }
+
+ }
+
+
+}
diff --git a/src/share/jaxws_classes/com/sun/xml/internal/ws/api/databinding/DatabindingConfig.java b/src/share/jaxws_classes/com/sun/xml/internal/ws/api/databinding/DatabindingConfig.java
index 39bbcdd8..854d9b70 100644
--- a/src/share/jaxws_classes/com/sun/xml/internal/ws/api/databinding/DatabindingConfig.java
+++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/api/databinding/DatabindingConfig.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. 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
@@ -52,18 +52,10 @@ public class DatabindingConfig {
protected Class contractClass;
protected Class endpointClass;
protected Set<Class> additionalValueTypes = new HashSet<Class>();
-// protected Set<SchemaInfo> schemaInfo;
-// protected MappingInfo defaultMappingInfo = new MappingInfo();
-// protected MappingInfo overrideMappingInfo = new MappingInfo();
protected MappingInfo mappingInfo = new MappingInfo();
-// protected Definition wsdl;
protected URL wsdlURL;
protected ClassLoader classLoader;
-// protected QName serviceName;
-// protected BindingID bindingId;
protected Iterable<WebServiceFeature> features;
- //TODO WSBinding isn't it BindingID + features?
- //On the EndpointFactory.createEndpoint path, WSBinding could be created from DeploymentDescriptorParser.createBinding
protected WSBinding wsBinding;
protected WSDLPort wsdlPort;
protected MetadataReader metadataReader;
@@ -71,19 +63,6 @@ public class DatabindingConfig {
protected Source wsdlSource;
protected EntityResolver entityResolver;
-// public MappingInfo getDefaultMappingInfo() {
-// return defaultMappingInfo;
-// }
-// public void setDefaultMappingInfo(MappingInfo defaultMappingInfo) {
-// this.defaultMappingInfo = defaultMappingInfo;
-// }
-// public MappingInfo getOverrideMappingInfo() {
-// return overrideMappingInfo;
-// }
-// public void setOverrideMappingInfo(MappingInfo overrideMappingInfo) {
-// this.overrideMappingInfo = overrideMappingInfo;
-// }
-
public Class getContractClass() {
return contractClass;
}
@@ -114,19 +93,8 @@ public class DatabindingConfig {
public void setClassLoader(ClassLoader classLoader) {
this.classLoader = classLoader;
}
-// public QName getServiceName() {
-// return serviceName;
-// }
-// public void setServiceName(QName serviceName) {
-// this.serviceName = serviceName;
-// }
-// public BindingID getBindingId() {
-// return bindingId;
-// }
-// public void setBindingId(BindingID bindingId) {
-// this.bindingId = bindingId;
-// }
public Iterable<WebServiceFeature> getFeatures() {
+ if (features == null && wsBinding != null) return wsBinding.getFeatures();
return features;
}
public void setFeatures(WebServiceFeature[] features) {
diff --git a/src/share/jaxws_classes/com/sun/xml/internal/ws/api/message/saaj/SAAJFactory.java b/src/share/jaxws_classes/com/sun/xml/internal/ws/api/message/saaj/SAAJFactory.java
index 25203827..a1bd1da3 100644
--- a/src/share/jaxws_classes/com/sun/xml/internal/ws/api/message/saaj/SAAJFactory.java
+++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/api/message/saaj/SAAJFactory.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. 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
@@ -173,7 +173,13 @@ public class SAAJFactory {
* @throws SOAPException if SAAJ processing fails
*/
public static SAAJMessage read(Packet packet) throws SOAPException {
- for (SAAJFactory s : ServiceFinder.find(SAAJFactory.class)) {
+ // Use the Component from the Packet if it exists. Note the logic
+ // in the ServiceFinder is such that find(Class) is not equivalent
+ // to find (Class, null), so the ternary operator is needed.
+ ServiceFinder<SAAJFactory> factories = (packet.component != null ?
+ ServiceFinder.find(SAAJFactory.class, packet.component) :
+ ServiceFinder.find(SAAJFactory.class));
+ for (SAAJFactory s : factories) {
SAAJMessage msg = s.readAsSAAJ(packet);
if (msg != null) return msg;
}
diff --git a/src/share/jaxws_classes/com/sun/xml/internal/ws/api/pipe/Fiber.java b/src/share/jaxws_classes/com/sun/xml/internal/ws/api/pipe/Fiber.java
index 3d7010c7..516da56c 100644
--- a/src/share/jaxws_classes/com/sun/xml/internal/ws/api/pipe/Fiber.java
+++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/api/pipe/Fiber.java
@@ -1027,12 +1027,12 @@ public final class Fiber implements Runnable, Cancelable, ComponentRegistry {
}
try {
- boolean needsToReenter = false;
+ boolean needsToReenter;
do {
// if interceptors are set, go through the interceptors.
if (ints == null) {
this.next = next;
- if (__doRun(isRequireUnlock, ints)) {
+ if (__doRun(isRequireUnlock, null /*ints*/)) {
return true;
}
} else {
@@ -1357,6 +1357,7 @@ public final class Fiber implements Runnable, Cancelable, ComponentRegistry {
*/
public static
@NotNull
+ @SuppressWarnings({"null", "ConstantConditions"})
Fiber current() {
Fiber fiber = CURRENT_FIBER.get();
if (fiber == null)
diff --git a/src/share/jaxws_classes/com/sun/xml/internal/ws/api/streaming/XMLStreamWriterFactory.java b/src/share/jaxws_classes/com/sun/xml/internal/ws/api/streaming/XMLStreamWriterFactory.java
index 66d29c95..51f5da94 100644
--- a/src/share/jaxws_classes/com/sun/xml/internal/ws/api/streaming/XMLStreamWriterFactory.java
+++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/api/streaming/XMLStreamWriterFactory.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. 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
@@ -42,6 +42,7 @@ import java.io.OutputStream;
import java.io.StringWriter;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
+import java.util.logging.Level;
import java.util.logging.Logger;
/**
@@ -53,6 +54,7 @@ import java.util.logging.Logger;
*
* @author Kohsuke Kawaguchi
*/
+@SuppressWarnings("StaticNonFinalUsedInInitialization")
public abstract class XMLStreamWriterFactory {
private static final Logger LOGGER = Logger.getLogger(XMLStreamWriterFactory.class.getName());
@@ -80,8 +82,19 @@ public abstract class XMLStreamWriterFactory {
// this system property can be used to disable the pooling altogether,
// in case someone hits an issue with pooling in the production system.
- if(!Boolean.getBoolean(XMLStreamWriterFactory.class.getName()+".noPool"))
- f = Zephyr.newInstance(xof);
+ if (!Boolean.getBoolean(XMLStreamWriterFactory.class.getName()+".noPool")) {
+ try {
+ Class<?> clazz = xof.createXMLStreamWriter(new StringWriter()).getClass();
+ if (clazz.getName().startsWith("com.sun.xml.internal.stream.")) {
+ f = new Zephyr(xof,clazz);
+ }
+ } catch (XMLStreamException ex) {
+ Logger.getLogger(XMLStreamWriterFactory.class.getName()).log(Level.INFO, null, ex);
+ } catch (NoSuchMethodException ex) {
+ Logger.getLogger(XMLStreamWriterFactory.class.getName()).log(Level.INFO, null, ex);
+ }
+ }
+
if(f==null) {
// is this Woodstox?
if(xof.getClass().getName().equals("com.ctc.wstx.stax.WstxOutputFactory"))
@@ -91,7 +104,9 @@ public abstract class XMLStreamWriterFactory {
f = new Default(xof);
theInstance = f;
- LOGGER.fine("XMLStreamWriterFactory instance is = "+theInstance);
+ if (LOGGER.isLoggable(Level.FINE)) {
+ LOGGER.log(Level.FINE, "XMLStreamWriterFactory instance is = {0}", f);
+ }
}
/**
@@ -165,6 +180,7 @@ public abstract class XMLStreamWriterFactory {
* @param f
* must not be null.
*/
+ @SuppressWarnings({"null", "ConstantConditions"})
public static void set(@NotNull XMLStreamWriterFactory f) {
if(f==null) throw new IllegalArgumentException();
theInstance = f;
@@ -220,10 +236,12 @@ public abstract class XMLStreamWriterFactory {
this.xof = xof;
}
+ @Override
public XMLStreamWriter doCreate(OutputStream out) {
return doCreate(out,"UTF-8");
}
+ @Override
public synchronized XMLStreamWriter doCreate(OutputStream out, String encoding) {
try {
XMLStreamWriter writer = xof.createXMLStreamWriter(out,encoding);
@@ -233,6 +251,7 @@ public abstract class XMLStreamWriterFactory {
}
}
+ @Override
public void doRecycle(XMLStreamWriter r) {
// no recycling
}
@@ -284,10 +303,12 @@ public abstract class XMLStreamWriterFactory {
return sr;
}
+ @Override
public XMLStreamWriter doCreate(OutputStream out) {
return doCreate(out,"UTF-8");
}
+ @Override
public XMLStreamWriter doCreate(OutputStream out, String encoding) {
XMLStreamWriter xsw = fetch();
if(xsw!=null) {
@@ -311,6 +332,7 @@ public abstract class XMLStreamWriterFactory {
return new HasEncodingWriter(xsw, encoding);
}
+ @Override
public void doRecycle(XMLStreamWriter r) {
if (r instanceof HasEncodingWriter) {
r = ((HasEncodingWriter)r).getWriter();
@@ -340,10 +362,12 @@ public abstract class XMLStreamWriterFactory {
this.xof = xof;
}
+ @Override
public XMLStreamWriter doCreate(OutputStream out) {
return doCreate(out, SOAPBindingCodec.UTF8_ENCODING);
}
+ @Override
public XMLStreamWriter doCreate(OutputStream out, String encoding) {
try {
XMLStreamWriter writer = xof.createXMLStreamWriter(out,encoding);
@@ -353,6 +377,7 @@ public abstract class XMLStreamWriterFactory {
}
}
+ @Override
public void doRecycle(XMLStreamWriter r) {
// no recycling
}
@@ -367,6 +392,7 @@ public abstract class XMLStreamWriterFactory {
this.encoding = encoding;
}
+ @Override
public String getEncoding() {
return encoding;
}
diff --git a/src/share/jaxws_classes/com/sun/xml/internal/ws/assembler/MetroConfigLoader.java b/src/share/jaxws_classes/com/sun/xml/internal/ws/assembler/MetroConfigLoader.java
index e945affa..1e33628b 100644
--- a/src/share/jaxws_classes/com/sun/xml/internal/ws/assembler/MetroConfigLoader.java
+++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/assembler/MetroConfigLoader.java
@@ -42,10 +42,13 @@ import javax.xml.bind.Unmarshaller;
import javax.xml.stream.XMLInputFactory;
import javax.xml.ws.WebServiceException;
import java.lang.reflect.Method;
+import java.lang.reflect.ReflectPermission;
import java.net.MalformedURLException;
import java.net.URI;
import java.net.URISyntaxException;
import java.net.URL;
+import java.security.*;
+import java.util.PropertyPermission;
import java.util.logging.Level;
/**
@@ -235,7 +238,7 @@ class MetroConfigLoader {
private static MetroConfig loadMetroConfig(@NotNull URL resourceUrl) {
MetroConfig result = null;
try {
- JAXBContext jaxbContext = JAXBContext.newInstance(MetroConfig.class.getPackage().getName());
+ JAXBContext jaxbContext = createJAXBContext();
Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
XMLInputFactory factory = XmlUtil.newXMLInputFactory(true);
final JAXBElement<MetroConfig> configElement = unmarshaller.unmarshal(factory.createXMLStreamReader(resourceUrl.openStream()), MetroConfig.class);
@@ -246,6 +249,38 @@ class MetroConfigLoader {
return result;
}
+ private static JAXBContext createJAXBContext() throws Exception {
+ if (isJDKInternal()) {
+ // since jdk classes are repackaged, extra privilege is necessary to create JAXBContext
+ return AccessController.doPrivileged(
+ new PrivilegedExceptionAction<JAXBContext>() {
+ @Override
+ public JAXBContext run() throws Exception {
+ return JAXBContext.newInstance(MetroConfig.class.getPackage().getName());
+ }
+ }, createSecurityContext()
+ );
+ } else {
+ // usage from JAX-WS/Metro/Glassfish
+ return JAXBContext.newInstance(MetroConfig.class.getPackage().getName());
+ }
+ }
+
+ private static AccessControlContext createSecurityContext() {
+ PermissionCollection perms = new Permissions();
+ perms.add(new RuntimePermission("accessClassInPackage.com" + ".sun.xml.internal.ws.runtime.config")); // avoid repackaging
+ perms.add(new ReflectPermission("suppressAccessChecks"));
+ return new AccessControlContext(
+ new ProtectionDomain[]{
+ new ProtectionDomain(null, perms),
+ });
+ }
+
+ private static boolean isJDKInternal() {
+ // avoid "string repackaging"
+ return MetroConfigLoader.class.getName().startsWith("com." + "sun.xml.internal.ws");
+ }
+
private static class MetroConfigUrlLoader extends ResourceLoader {
Container container; // TODO remove the field together with the code path using it (see below)
diff --git a/src/share/jaxws_classes/com/sun/xml/internal/ws/assembler/TubeCreator.java b/src/share/jaxws_classes/com/sun/xml/internal/ws/assembler/TubeCreator.java
index ea40e34c..d0e980ce 100644
--- a/src/share/jaxws_classes/com/sun/xml/internal/ws/assembler/TubeCreator.java
+++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/assembler/TubeCreator.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. 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
@@ -45,11 +45,17 @@ final class TubeCreator {
private final String msgDumpPropertyBase;
TubeCreator(TubeFactoryConfig config, ClassLoader tubeFactoryClassLoader) {
+ String className = config.getClassName();
try {
- Class<?> factoryClass = Class.forName(config.getClassName(), true, tubeFactoryClassLoader);
+ Class<?> factoryClass;
+ if (isJDKInternal(className)) {
+ factoryClass = Class.forName(className, true, null);
+ } else {
+ factoryClass = Class.forName(className, true, tubeFactoryClassLoader);
+ }
if (TubeFactory.class.isAssignableFrom(factoryClass)) {
- @SuppressWarnings("unchecked")
// We can suppress "unchecked" warning here as we are checking for the correct type in the if statement above
+ @SuppressWarnings("unchecked")
Class<TubeFactory> typedClass = (Class<TubeFactory>) factoryClass;
this.factory = typedClass.newInstance();
this.msgDumpPropertyBase = this.factory.getClass().getName() + ".dump";
@@ -57,11 +63,11 @@ final class TubeCreator {
throw new RuntimeException(TubelineassemblyMessages.MASM_0015_CLASS_DOES_NOT_IMPLEMENT_INTERFACE(factoryClass.getName(), TubeFactory.class.getName()));
}
} catch (InstantiationException ex) {
- throw LOGGER.logSevereException(new RuntimeException(TubelineassemblyMessages.MASM_0016_UNABLE_TO_INSTANTIATE_TUBE_FACTORY(config.getClassName()), ex), true);
+ throw LOGGER.logSevereException(new RuntimeException(TubelineassemblyMessages.MASM_0016_UNABLE_TO_INSTANTIATE_TUBE_FACTORY(className), ex), true);
} catch (IllegalAccessException ex) {
- throw LOGGER.logSevereException(new RuntimeException(TubelineassemblyMessages.MASM_0016_UNABLE_TO_INSTANTIATE_TUBE_FACTORY(config.getClassName()), ex), true);
+ throw LOGGER.logSevereException(new RuntimeException(TubelineassemblyMessages.MASM_0016_UNABLE_TO_INSTANTIATE_TUBE_FACTORY(className), ex), true);
} catch (ClassNotFoundException ex) {
- throw LOGGER.logSevereException(new RuntimeException(TubelineassemblyMessages.MASM_0017_UNABLE_TO_LOAD_TUBE_FACTORY_CLASS(config.getClassName()), ex), true);
+ throw LOGGER.logSevereException(new RuntimeException(TubelineassemblyMessages.MASM_0017_UNABLE_TO_LOAD_TUBE_FACTORY_CLASS(className), ex), true);
}
}
@@ -90,4 +96,10 @@ final class TubeCreator {
String getMessageDumpPropertyBase() {
return msgDumpPropertyBase;
}
+
+ private boolean isJDKInternal(String className) {
+ // avoid repackaging
+ return className.startsWith("com." + "sun.xml.internal.ws");
+ }
+
}
diff --git a/src/share/jaxws_classes/com/sun/xml/internal/ws/client/MonitorRootClient.java b/src/share/jaxws_classes/com/sun/xml/internal/ws/client/MonitorRootClient.java
index f1580ba6..fdd7c424 100644
--- a/src/share/jaxws_classes/com/sun/xml/internal/ws/client/MonitorRootClient.java
+++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/client/MonitorRootClient.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. 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
@@ -27,20 +27,12 @@ package com.sun.xml.internal.ws.client;
import com.sun.xml.internal.ws.api.server.Container;
import com.sun.xml.internal.ws.model.wsdl.WSDLServiceImpl;
-import java.net.URL;
-import java.util.HashMap;
import java.util.Map;
import javax.xml.namespace.QName;
-import com.sun.org.glassfish.external.amx.AMXGlassfish;
import com.sun.org.glassfish.gmbal.AMXMetadata;
import com.sun.org.glassfish.gmbal.Description;
-import com.sun.org.glassfish.gmbal.InheritedAttribute;
-import com.sun.org.glassfish.gmbal.InheritedAttributes;
import com.sun.org.glassfish.gmbal.ManagedAttribute;
-import com.sun.org.glassfish.gmbal.ManagedData;
import com.sun.org.glassfish.gmbal.ManagedObject;
-import com.sun.org.glassfish.gmbal.ManagedObjectManager;
-import com.sun.org.glassfish.gmbal.ManagedObjectManagerFactory;
import java.net.URL;
/**
diff --git a/src/share/jaxws_classes/com/sun/xml/internal/ws/client/SEIPortInfo.java b/src/share/jaxws_classes/com/sun/xml/internal/ws/client/SEIPortInfo.java
index 90ca08e5..1cba1a11 100644
--- a/src/share/jaxws_classes/com/sun/xml/internal/ws/client/SEIPortInfo.java
+++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/client/SEIPortInfo.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. 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
@@ -33,6 +33,8 @@ import com.sun.xml.internal.ws.binding.SOAPBindingImpl;
import com.sun.xml.internal.ws.binding.WebServiceFeatureList;
import com.sun.xml.internal.ws.model.SOAPSEIModel;
+import javax.xml.ws.WebServiceFeature;
+
/**
* {@link PortInfo} that has {@link SEIModel}.
*
@@ -46,27 +48,37 @@ import com.sun.xml.internal.ws.model.SOAPSEIModel;
* @author Kohsuke Kawaguchi
*/
public final class SEIPortInfo extends PortInfo {
+
public final Class sei;
+
/**
* Model of {@link #sei}.
*/
public final SOAPSEIModel model;
public SEIPortInfo(WSServiceDelegate owner, Class sei, SOAPSEIModel model, @NotNull WSDLPort portModel) {
- super(owner,portModel);
+ super(owner, portModel);
this.sei = sei;
this.model = model;
- assert sei!=null && model!=null;
+ assert sei != null && model != null;
+ }
+
+ @Override
+ public BindingImpl createBinding(WebServiceFeature[] webServiceFeatures, Class<?> portInterface) {
+ BindingImpl binding = super.createBinding(webServiceFeatures, portInterface);
+ return setKnownHeaders(binding);
}
public BindingImpl createBinding(WebServiceFeatureList webServiceFeatures, Class<?> portInterface) {
// not to pass in (BindingImpl) model.getWSBinding()
- BindingImpl bindingImpl = super.createBinding(webServiceFeatures, portInterface, null);
- if(bindingImpl instanceof SOAPBindingImpl) {
- ((SOAPBindingImpl)bindingImpl).setPortKnownHeaders(model.getKnownHeaders());
+ BindingImpl binding = super.createBinding(webServiceFeatures, portInterface, null);
+ return setKnownHeaders(binding);
+ }
+
+ private BindingImpl setKnownHeaders(BindingImpl binding) {
+ if (binding instanceof SOAPBindingImpl) {
+ ((SOAPBindingImpl) binding).setPortKnownHeaders(model.getKnownHeaders());
}
- //Not needed as set above in super.createBinding() call
- //bindingImpl.setFeatures(webServiceFeatures);
- return bindingImpl;
+ return binding;
}
}
diff --git a/src/share/jaxws_classes/com/sun/xml/internal/ws/client/WSServiceDelegate.java b/src/share/jaxws_classes/com/sun/xml/internal/ws/client/WSServiceDelegate.java
index a4567fbe..8b4eaa27 100644
--- a/src/share/jaxws_classes/com/sun/xml/internal/ws/client/WSServiceDelegate.java
+++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/client/WSServiceDelegate.java
@@ -91,8 +91,7 @@ import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Proxy;
import java.net.MalformedURLException;
import java.net.URL;
-import java.security.AccessController;
-import java.security.PrivilegedAction;
+import java.security.*;
import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
@@ -187,7 +186,7 @@ public class WSServiceDelegate extends WSService {
* Multiple {@link ServiceInterceptor}s are aggregated into one.
*/
/*package*/ final @NotNull ServiceInterceptor serviceInterceptor;
-
+ private URL wsdlURL;
public WSServiceDelegate(URL wsdlDocumentLocation, QName serviceName, Class<? extends Service> serviceClass, WebServiceFeature... features) {
this(wsdlDocumentLocation, serviceName, serviceClass, new WebServiceFeatureList(features));
@@ -197,6 +196,7 @@ public class WSServiceDelegate extends WSService {
this(
wsdlDocumentLocation==null ? null : new StreamSource(wsdlDocumentLocation.toExternalForm()),
serviceName,serviceClass, features);
+ wsdlURL = wsdlDocumentLocation;
}
/**
@@ -699,6 +699,39 @@ public class WSServiceDelegate extends WSService {
}
+ private <T> T createProxy(final Class<T> portInterface, final InvocationHandler pis) {
+
+ // When creating the proxy, use a ClassLoader that can load classes
+ // from both the interface class and also from this classes
+ // classloader. This is necessary when this code is used in systems
+ // such as OSGi where the class loader for the interface class may
+ // not be able to load internal JAX-WS classes like
+ // "WSBindingProvider", but the class loader for this class may not
+ // be able to load the interface class.
+ final ClassLoader loader = getDelegatingLoader(portInterface.getClassLoader(),
+ WSServiceDelegate.class.getClassLoader());
+
+ // accessClassInPackage privilege needs to be granted ...
+ RuntimePermission perm = new RuntimePermission("accessClassInPackage.com.sun." + "xml.internal.*");
+ PermissionCollection perms = perm.newPermissionCollection();
+ perms.add(perm);
+
+ return AccessController.doPrivileged(
+ new PrivilegedAction<T>() {
+ @Override
+ public T run() {
+ Object proxy = Proxy.newProxyInstance(loader,
+ new Class[]{portInterface, WSBindingProvider.class, Closeable.class}, pis);
+ return portInterface.cast(proxy);
+ }
+ },
+ new AccessControlContext(
+ new ProtectionDomain[]{
+ new ProtectionDomain(null, perms)
+ })
+ );
+ }
+
private WSDLServiceImpl getWSDLModelfromSEI(final Class sei) {
WebService ws = AccessController.doPrivileged(new PrivilegedAction<WebService>() {
public WebService run() {
@@ -750,7 +783,7 @@ public class WSServiceDelegate extends WSService {
}
}
- private <T> T createEndpointIFBaseProxy(@Nullable WSEndpointReference epr,QName portName, Class<T> portInterface,
+ private <T> T createEndpointIFBaseProxy(@Nullable WSEndpointReference epr, QName portName, Class<T> portInterface,
WebServiceFeatureList webServiceFeatures, SEIPortInfo eif) {
//fail if service doesnt have WSDL
if (wsdlService == null) {
@@ -762,21 +795,11 @@ public class WSServiceDelegate extends WSService {
ClientMessages.INVALID_PORT_NAME(portName,buildWsdlPortNames()));
}
- BindingImpl binding = eif.createBinding(webServiceFeatures,portInterface);
+ BindingImpl binding = eif.createBinding(webServiceFeatures, portInterface);
InvocationHandler pis = getStubHandler(binding, eif, epr);
- // When creating the proxy, use a ClassLoader that can load classes
- // from both the interface class and also from this classes
- // classloader. This is necessary when this code is used in systems
- // such as OSGi where the class loader for the interface class may
- // not be able to load internal JAX-WS classes like
- // "WSBindingProvider", but the class loader for this class may not
- // be able to load the interface class.
- ClassLoader loader =
- getDelegatingLoader(portInterface.getClassLoader(),
- WSServiceDelegate.class.getClassLoader());
- T proxy = portInterface.cast(Proxy.newProxyInstance(loader,
- new Class[]{portInterface, WSBindingProvider.class, Closeable.class}, pis));
+ T proxy = createProxy(portInterface, pis);
+
if (serviceInterceptor != null) {
serviceInterceptor.postCreateProxy((WSBindingProvider)proxy, portInterface);
}
@@ -841,7 +864,7 @@ public class WSServiceDelegate extends WSService {
config.setFeatures(features);
config.setClassLoader(portInterface.getClassLoader());
config.getMappingInfo().setPortName(portName);
-
+ config.setWsdlURL(wsdlURL);
// if ExternalMetadataFeature present, ExternalMetadataReader will be created ...
config.setMetadataReader(getMetadadaReader(features, portInterface.getClassLoader()));
diff --git a/src/share/jaxws_classes/com/sun/xml/internal/ws/client/dispatch/DispatchImpl.java b/src/share/jaxws_classes/com/sun/xml/internal/ws/client/dispatch/DispatchImpl.java
index 72e130a3..5b3f9c1b 100644
--- a/src/share/jaxws_classes/com/sun/xml/internal/ws/client/dispatch/DispatchImpl.java
+++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/client/dispatch/DispatchImpl.java
@@ -386,8 +386,10 @@ public abstract class DispatchImpl<T> extends Stub implements Dispatch<T> {
endpoint = (String) requestContext.get(BindingProvider.ENDPOINT_ADDRESS_PROPERTY);
}
// This is existing before packetTakesPriorityOverRequestContext so leaving in place.
- if (endpoint == null)
+ if (endpoint == null) {
+ if (message.endpointAddress == null) throw new WebServiceException(DispatchMessages.INVALID_NULLARG_URI());
endpoint = message.endpointAddress.toString();
+ }
String pathInfo = null;
String queryString = null;
diff --git a/src/share/jaxws_classes/com/sun/xml/internal/ws/client/sei/SEIStub.java b/src/share/jaxws_classes/com/sun/xml/internal/ws/client/sei/SEIStub.java
index ed4c069b..7a5f0e3a 100644
--- a/src/share/jaxws_classes/com/sun/xml/internal/ws/client/sei/SEIStub.java
+++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/client/sei/SEIStub.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. 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
@@ -88,7 +88,7 @@ public final class SEIStub extends Stub implements InvocationHandler {
// first fill in sychronized versions
for (JavaMethodImpl m : seiModel.getJavaMethods()) {
if (!m.getMEP().isAsync) {
- SyncMethodHandler handler = new SyncMethodHandler(this, m.getMethod());
+ SyncMethodHandler handler = new SyncMethodHandler(this, m);
syncs.put(m.getOperation(), m);
methodHandlers.put(m.getMethod(), handler);
}
diff --git a/src/share/jaxws_classes/com/sun/xml/internal/ws/client/sei/SyncMethodHandler.java b/src/share/jaxws_classes/com/sun/xml/internal/ws/client/sei/SyncMethodHandler.java
index 7a763c42..0f70951f 100644
--- a/src/share/jaxws_classes/com/sun/xml/internal/ws/client/sei/SyncMethodHandler.java
+++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/client/sei/SyncMethodHandler.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. 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
@@ -32,10 +32,13 @@ import com.sun.xml.internal.ws.client.RequestContext;
import com.sun.xml.internal.ws.client.ResponseContextReceiver;
import com.sun.xml.internal.ws.encoding.soap.DeserializationException;
import com.sun.xml.internal.ws.message.jaxb.JAXBMessage;
+import com.sun.xml.internal.ws.model.JavaMethodImpl;
+import com.sun.xml.internal.ws.resources.DispatchMessages;
import javax.xml.bind.JAXBException;
import javax.xml.stream.XMLStreamException;
import javax.xml.ws.Holder;
+import javax.xml.ws.WebServiceException;
import java.lang.reflect.Method;
@@ -60,18 +63,16 @@ import java.lang.reflect.Method;
* @author Kohsuke Kawaguchi
*/
final class SyncMethodHandler extends MethodHandler {
-// private ResponseBuilder responseBuilder;
-
- SyncMethodHandler(SEIStub owner, Method m) {
- super(owner, m);
-// responseBuilder = buildResponseBuilder(method, ValueSetterFactory.SYNC);
+ final boolean isVoid;
+ final boolean isOneway;
+ final JavaMethodImpl javaMethod;
+ SyncMethodHandler(SEIStub owner, JavaMethodImpl jm) {
+ super(owner, jm.getMethod());
+ javaMethod = jm;
+ isVoid = void.class.equals(jm.getMethod().getReturnType());
+ isOneway = jm.getMEP().isOneWay();
}
-// SyncMethodHandler(SEIStub owner, JavaMethodImpl method) {
-// super(owner, method);
-// responseBuilder = buildResponseBuilder(method, ValueSetterFactory.SYNC);
-// }
-
Object invoke(Object proxy, Object[] args) throws Throwable {
return invoke(proxy,args,owner.requestContext,owner);
}
@@ -87,37 +88,32 @@ final class SyncMethodHandler extends MethodHandler {
*/
Object invoke(Object proxy, Object[] args, RequestContext rc, ResponseContextReceiver receiver) throws Throwable {
JavaCallInfo call = owner.databinding.createJavaCallInfo(method, args);
-// Packet req = new Packet(createRequestMessage(args));
Packet req = (Packet) owner.databinding.serializeRequest(call);
// process the message
Packet reply = owner.doProcess(req,rc,receiver);
Message msg = reply.getMessage();
- if(msg ==null)
- // no reply. must have been one-way
+ if(msg == null) {
+ if (!isOneway || !isVoid) {
+ throw new WebServiceException(DispatchMessages.INVALID_RESPONSE());
+ }
return null;
+ }
try {
-// return dbHandler.readResponse(reply, call).getReturnValue();
call = owner.databinding.deserializeResponse(reply, call);
if (call.getException() != null) {
throw call.getException();
} else {
return call.getReturnValue();
}
-// if(msg.isFault()) {
-// SOAPFaultBuilder faultBuilder = SOAPFaultBuilder.create(msg);
-// throw faultBuilder.createException(checkedExceptions);
-// } else {
-// return responseBuilder.readResponse(msg,args);
-// }
} catch (JAXBException e) {
- throw new DeserializationException("failed.to.read.response",e);
+ throw new DeserializationException(DispatchMessages.INVALID_RESPONSE_DESERIALIZATION(), e);
} catch (XMLStreamException e) {
- throw new DeserializationException("failed.to.read.response",e);
+ throw new DeserializationException(DispatchMessages.INVALID_RESPONSE_DESERIALIZATION(),e);
} finally {
- if (reply.transportBackChannel != null)
- reply.transportBackChannel.close();
+ if (reply.transportBackChannel != null)
+ reply.transportBackChannel.close();
}
}
diff --git a/src/share/jaxws_classes/com/sun/xml/internal/ws/db/DatabindingFactoryImpl.java b/src/share/jaxws_classes/com/sun/xml/internal/ws/db/DatabindingFactoryImpl.java
index d4658fa0..f2bcebb9 100644
--- a/src/share/jaxws_classes/com/sun/xml/internal/ws/db/DatabindingFactoryImpl.java
+++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/db/DatabindingFactoryImpl.java
@@ -42,6 +42,7 @@ import org.xml.sax.EntityResolver;
import com.oracle.webservices.internal.api.databinding.Databinding;
import com.oracle.webservices.internal.api.databinding.Databinding.Builder;
import com.oracle.webservices.internal.api.databinding.WSDLGenerator;
+import com.oracle.webservices.internal.api.databinding.DatabindingModeFeature;
import com.sun.xml.internal.ws.api.BindingID;
import com.sun.xml.internal.ws.api.WSBinding;
import com.sun.xml.internal.ws.api.databinding.DatabindingConfig;
@@ -58,13 +59,10 @@ import com.sun.xml.internal.ws.util.ServiceFinder;
*/
public class DatabindingFactoryImpl extends DatabindingFactory {
-// static final String WsRuntimeFactoryProperties = DatabindingProvider.class.getName() + ".properties";
static final String WsRuntimeFactoryDefaultImpl = "com.sun.xml.internal.ws.db.DatabindingProviderImpl";
protected Map<String, Object> properties = new HashMap<String, Object>();
protected DatabindingProvider defaultRuntimeFactory;
-// protected Map<String, DatabindingProvider> runtimeFactories = new HashMap<String, DatabindingProvider>();
-// protected Properties wsRuntimeFactoryMap;
protected List<DatabindingProvider> providers;
static private List<DatabindingProvider> providers() {
@@ -97,11 +95,6 @@ public class DatabindingFactoryImpl extends DatabindingFactory {
if (p.isFor(mode))
provider = p;
} if (provider == null) {
- // if (defaultRuntimeFactory == null) {
- // defaultRuntimeFactory =
- // newRuntimeFactory(WsRuntimeFactoryDefaultImpl);
- // }
- // provider = defaultRuntimeFactory;
provider = new DatabindingProviderImpl();
}
return provider;
@@ -117,33 +110,14 @@ public class DatabindingFactoryImpl extends DatabindingFactory {
return provider.wsdlGen(config);
}
-// DatabindingProvider newRuntimeFactory(String name) {
-// ClassLoader classLoader = classLoader();
-// DatabindingProvider factory = null;
-// try {
-// Class cls = (classLoader != null) ? classLoader.loadClass(name) : Class.forName(name);
-// factory = DatabindingProvider.class.cast(cls.newInstance());
-// } catch (Exception e) {
-// throw new DatabindingException("Unknown DatabindingFactory: " + name, e);
-// }
-// factory.init(properties);
-// return factory;
-// }
-
String databindingMode(DatabindingConfig config) {
-// if ( config.getOverrideMappingInfo() != null &&
-// config.getOverrideMappingInfo().getDatabindingMode() != null)
-// return config.getOverrideMappingInfo().getDatabindingMode();
-// if ( config.getDefaultMappingInfo() != null &&
-// config.getDefaultMappingInfo().getDatabindingMode() != null)
-// return config.getDefaultMappingInfo().getDatabindingMode();
-
if ( config.getMappingInfo() != null &&
config.getMappingInfo().getDatabindingMode() != null)
return config.getMappingInfo().getDatabindingMode();
if ( config.getFeatures() != null) for (WebServiceFeature f : config.getFeatures()) {
- if (f instanceof com.oracle.webservices.internal.api.databinding.DatabindingModeFeature) {
- com.oracle.webservices.internal.api.databinding.DatabindingModeFeature dmf = (com.oracle.webservices.internal.api.databinding.DatabindingModeFeature) f;
+ if (f instanceof DatabindingModeFeature) {
+ DatabindingModeFeature dmf = (DatabindingModeFeature) f;
+ config.properties().putAll(dmf.getProperties());
return dmf.getMode();
}
}
diff --git a/src/share/jaxws_classes/com/sun/xml/internal/ws/db/DatabindingImpl.java b/src/share/jaxws_classes/com/sun/xml/internal/ws/db/DatabindingImpl.java
index d5d99256..745df5f6 100644
--- a/src/share/jaxws_classes/com/sun/xml/internal/ws/db/DatabindingImpl.java
+++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/db/DatabindingImpl.java
@@ -66,58 +66,77 @@ import com.sun.xml.internal.ws.wsdl.OperationDispatcher;
*
* @author shih-chang.chen@oracle.com
*/
-public class DatabindingImpl implements Databinding {
+public final class DatabindingImpl implements Databinding {
AbstractSEIModelImpl seiModel;
- Map<Method, StubHandler> stubHandlers;
+ Map<Method, StubHandler> stubHandlers;
// QNameMap<TieHandler> wsdlOpMap = new QNameMap<TieHandler>();
- Map<JavaMethodImpl, TieHandler> wsdlOpMap = new HashMap<JavaMethodImpl, TieHandler>();
- Map<Method, TieHandler> tieHandlers = new HashMap<Method, TieHandler>();
+ Map<JavaMethodImpl, TieHandler> wsdlOpMap = new HashMap<JavaMethodImpl, TieHandler>();
+ Map<Method, TieHandler> tieHandlers = new HashMap<Method, TieHandler>();
OperationDispatcher operationDispatcher;
OperationDispatcher operationDispatcherNoWsdl;
boolean clientConfig = false;
Codec codec;
MessageContextFactory packetFactory = null;
- public DatabindingImpl(DatabindingProviderImpl p, DatabindingConfig config) {
- RuntimeModeler modeler = new RuntimeModeler(config);
- modeler.setClassLoader(config.getClassLoader());
- seiModel = modeler.buildRuntimeModel();
- WSDLPort wsdlport = config.getWsdlPort();
- packetFactory = new MessageContextFactory(seiModel.getWSBinding().getFeatures());
- clientConfig = isClientConfig(config);
- if ( clientConfig ) initStubHandlers();
- seiModel.setDatabinding(this);
- if (wsdlport != null) freeze(wsdlport);
- if (operationDispatcher == null) operationDispatcherNoWsdl = new OperationDispatcher(null, seiModel.getWSBinding(), seiModel);
+ public DatabindingImpl(DatabindingProviderImpl p, DatabindingConfig config) {
+ RuntimeModeler modeler = new RuntimeModeler(config);
+ modeler.setClassLoader(config.getClassLoader());
+ seiModel = modeler.buildRuntimeModel();
+ WSDLPort wsdlport = config.getWsdlPort();
+ packetFactory = new MessageContextFactory(seiModel.getWSBinding().getFeatures());
+ clientConfig = isClientConfig(config);
+ if (clientConfig) {
+ initStubHandlers();
+ }
+ seiModel.setDatabinding(this);
+ if (wsdlport != null) {
+ freeze(wsdlport);
+ }
+ if (operationDispatcher == null) {
+ operationDispatcherNoWsdl = new OperationDispatcher(null, seiModel.getWSBinding(), seiModel);
+ }
// if(!clientConfig) {
- for(JavaMethodImpl jm: seiModel.getJavaMethods()) if (!jm.isAsync()) {
- TieHandler th = new TieHandler(jm, seiModel.getWSBinding(), packetFactory);
- wsdlOpMap.put(jm, th);
- tieHandlers.put(th.getMethod(), th);
+ for (JavaMethodImpl jm : seiModel.getJavaMethods()) {
+ if (!jm.isAsync()) {
+ TieHandler th = new TieHandler(jm, seiModel.getWSBinding(), packetFactory);
+ wsdlOpMap.put(jm, th);
+ tieHandlers.put(th.getMethod(), th);
+ }
}
// }
+ }
+
+ //TODO isClientConfig
+ private boolean isClientConfig(DatabindingConfig config) {
+ if (config.getContractClass() == null) {
+ return false;
+ }
+ if (!config.getContractClass().isInterface()) {
+ return false;
}
+ return (config.getEndpointClass() == null || config.getEndpointClass().isInterface());
+ }
+ //TODO fix freeze
- //TODO isClientConfig
- private boolean isClientConfig(DatabindingConfig config) {
- if (config.getContractClass() == null) return false;
- if (!config.getContractClass().isInterface()) return false;
- return (config.getEndpointClass() == null || config.getEndpointClass().isInterface());
+ public void freeze(WSDLPort port) {
+ if (clientConfig) {
+ return;
}
- //TODO fix freeze
- public synchronized void freeze(WSDLPort port) {
- if (clientConfig) return;
- if (operationDispatcher != null) return;
+ synchronized(this) {
+ if (operationDispatcher == null) {
operationDispatcher = (port == null) ? null : new OperationDispatcher(port, seiModel.getWSBinding(), seiModel);
+ }
}
+ }
- public SEIModel getModel() {
- return seiModel;
- }
+ public SEIModel getModel() {
+ return seiModel;
+ }
//Refactored from SEIStub
+
private void initStubHandlers() {
- stubHandlers = new HashMap<Method, StubHandler>();
+ stubHandlers = new HashMap<Method, StubHandler>();
Map<ActionBasedOperationSignature, JavaMethodImpl> syncs = new HashMap<ActionBasedOperationSignature, JavaMethodImpl>();
// fill in methodHandlers.
// first fill in sychronized versions
@@ -138,29 +157,33 @@ public class DatabindingImpl implements Databinding {
}
}
- public JavaMethodImpl resolveJavaMethod(Packet req) throws DispatchException {
+ JavaMethodImpl resolveJavaMethod(Packet req) throws DispatchException {
WSDLOperationMapping m = req.getWSDLOperationMapping();
- if (m == null) m = (operationDispatcher != null) ?
- operationDispatcher.getWSDLOperationMapping(req):
- operationDispatcherNoWsdl.getWSDLOperationMapping(req);
+ if (m == null) {
+ synchronized (this) {
+ m = (operationDispatcher != null)
+ ? operationDispatcher.getWSDLOperationMapping(req)
+ : operationDispatcherNoWsdl.getWSDLOperationMapping(req);
+ }
+ }
return (JavaMethodImpl) m.getJavaMethod();
}
- public JavaCallInfo deserializeRequest(Packet req) {
- com.sun.xml.internal.ws.api.databinding.JavaCallInfo call = new com.sun.xml.internal.ws.api.databinding.JavaCallInfo();
- try {
- JavaMethodImpl wsdlOp = resolveJavaMethod(req);
- TieHandler tie = wsdlOpMap.get(wsdlOp);
- call.setMethod(tie.getMethod());
- Object[] args = tie.readRequest(req.getMessage());
- call.setParameters(args);
- } catch (DispatchException e) {
- call.setException(e);
- }
- return call;
+ public JavaCallInfo deserializeRequest(Packet req) {
+ com.sun.xml.internal.ws.api.databinding.JavaCallInfo call = new com.sun.xml.internal.ws.api.databinding.JavaCallInfo();
+ try {
+ JavaMethodImpl wsdlOp = resolveJavaMethod(req);
+ TieHandler tie = wsdlOpMap.get(wsdlOp);
+ call.setMethod(tie.getMethod());
+ Object[] args = tie.readRequest(req.getMessage());
+ call.setParameters(args);
+ } catch (DispatchException e) {
+ call.setException(e);
}
+ return call;
+ }
- public JavaCallInfo deserializeResponse(Packet res, JavaCallInfo call) {
+ public JavaCallInfo deserializeResponse(Packet res, JavaCallInfo call) {
StubHandler stubHandler = stubHandlers.get(call.getMethod());
try {
return stubHandler.readResponse(res, call);
@@ -168,86 +191,97 @@ public class DatabindingImpl implements Databinding {
call.setException(e);
return call;
}
- }
+ }
- public WebServiceFeature[] getFeatures() {
- // TODO Auto-generated method stub
- return null;
- }
+ public WebServiceFeature[] getFeatures() {
+ // TODO Auto-generated method stub
+ return null;
+ }
- public Packet serializeRequest(JavaCallInfo call) {
+ @Override
+ public Packet serializeRequest(JavaCallInfo call) {
StubHandler stubHandler = stubHandlers.get(call.getMethod());
Packet p = stubHandler.createRequestPacket(call);
p.setState(Packet.State.ClientRequest);
return p;
- }
+ }
- public Packet serializeResponse(JavaCallInfo call) {
- Method method = call.getMethod();
- Message message = null;
- if (method != null) {
- TieHandler th = tieHandlers.get(method);
- if (th != null) {
- return th.serializeResponse(call);
- }
- }
- if (call.getException() instanceof DispatchException) {
- message = ((DispatchException)call.getException()).fault;
- }
- Packet p = (Packet)packetFactory.createContext(message);
- p.setState(Packet.State.ServerResponse);
- return p;
+ @Override
+ public Packet serializeResponse(JavaCallInfo call) {
+ Method method = call.getMethod();
+ Message message = null;
+ if (method != null) {
+ TieHandler th = tieHandlers.get(method);
+ if (th != null) {
+ return th.serializeResponse(call);
+ }
}
-
- public ClientCallBridge getClientBridge(Method method) {
- return stubHandlers.get(method);
+ if (call.getException() instanceof DispatchException) {
+ message = ((DispatchException) call.getException()).fault;
}
+ Packet p = (Packet) packetFactory.createContext(message);
+ p.setState(Packet.State.ServerResponse);
+ return p;
+ }
+ @Override
+ public ClientCallBridge getClientBridge(Method method) {
+ return stubHandlers.get(method);
+ }
- public void generateWSDL(WSDLGenInfo info) {
- com.sun.xml.internal.ws.wsdl.writer.WSDLGenerator wsdlGen = new com.sun.xml.internal.ws.wsdl.writer.WSDLGenerator(
- seiModel,
- info.getWsdlResolver(),
- seiModel.getWSBinding(),
- info.getContainer(), seiModel.getEndpointClass(),
- info.isInlineSchemas(),
- info.isSecureXmlProcessingDisabled(),
- info.getExtensions());
+ @Override
+ public void generateWSDL(WSDLGenInfo info) {
+ com.sun.xml.internal.ws.wsdl.writer.WSDLGenerator wsdlGen = new com.sun.xml.internal.ws.wsdl.writer.WSDLGenerator(
+ seiModel,
+ info.getWsdlResolver(),
+ seiModel.getWSBinding(),
+ info.getContainer(), seiModel.getEndpointClass(),
+ info.isInlineSchemas(),
+ info.isSecureXmlProcessingDisabled(),
+ info.getExtensions());
wsdlGen.doGeneration();
- }
+ }
- public EndpointCallBridge getEndpointBridge(Packet req) throws DispatchException {
+ @Override
+ public EndpointCallBridge getEndpointBridge(Packet req) throws DispatchException {
JavaMethodImpl wsdlOp = resolveJavaMethod(req);
- return wsdlOpMap.get(wsdlOp);
- }
-
+ return wsdlOpMap.get(wsdlOp);
+ }
- Codec getCodec() {
- if (codec == null) codec = ((BindingImpl)seiModel.getWSBinding()).createCodec();
- return codec;
+ Codec getCodec() {
+ if (codec == null) {
+ codec = ((BindingImpl) seiModel.getWSBinding()).createCodec();
}
+ return codec;
+ }
- public ContentType encode( Packet packet, OutputStream out ) throws IOException {
+ @Override
+ public ContentType encode(Packet packet, OutputStream out) throws IOException {
return getCodec().encode(packet, out);
}
- public void decode( InputStream in, String ct, Packet p ) throws IOException{
+ @Override
+ public void decode(InputStream in, String ct, Packet p) throws IOException {
getCodec().decode(in, ct, p);
}
+ @Override
public com.oracle.webservices.internal.api.databinding.JavaCallInfo createJavaCallInfo(Method method, Object[] args) {
return new com.sun.xml.internal.ws.api.databinding.JavaCallInfo(method, args);
}
+ @Override
public com.oracle.webservices.internal.api.databinding.JavaCallInfo deserializeResponse(
MessageContext message, com.oracle.webservices.internal.api.databinding.JavaCallInfo call) {
- return deserializeResponse((Packet)message, (JavaCallInfo)call);
+ return deserializeResponse((Packet) message, (JavaCallInfo) call);
}
+ @Override
public com.oracle.webservices.internal.api.databinding.JavaCallInfo deserializeRequest(MessageContext message) {
- return deserializeRequest((Packet)message);
+ return deserializeRequest((Packet) message);
}
+ @Override
public MessageContextFactory getMessageContextFactory() {
return packetFactory;
}
diff --git a/src/share/jaxws_classes/com/sun/xml/internal/ws/encoding/MtomCodec.java b/src/share/jaxws_classes/com/sun/xml/internal/ws/encoding/MtomCodec.java
index af084c5a..e5c10497 100644
--- a/src/share/jaxws_classes/com/sun/xml/internal/ws/encoding/MtomCodec.java
+++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/encoding/MtomCodec.java
@@ -81,8 +81,8 @@ import java.util.UUID;
public class MtomCodec extends MimeCodec {
public static final String XOP_XML_MIME_TYPE = "application/xop+xml";
- private static final String XOP_LOCALNAME = "Include";
- private static final String XOP_NAMESPACEURI = "http://www.w3.org/2004/08/xop/include";
+ public static final String XOP_LOCALNAME = "Include";
+ public static final String XOP_NAMESPACEURI = "http://www.w3.org/2004/08/xop/include";
private final StreamSOAPCodec codec;
private final MTOMFeature mtomFeature;
@@ -171,8 +171,10 @@ public class MtomCodec extends MimeCodec {
bos.write(out);
}
- //now write out the attachments in the message
- writeAttachments(packet.getMessage().getAttachments(),out, boundary);
+ // now write out the attachments in the message that weren't
+ // previously written
+ writeNonMtomAttachments(packet.getMessage().getAttachments(),
+ out, boundary);
//write out the end boundary
writeAsAscii("--"+boundary, out);
@@ -204,7 +206,13 @@ public class MtomCodec extends MimeCodec {
ByteArrayBuffer(@NotNull DataHandler dh, String b) {
this.dh = dh;
- this.contentId = encodeCid();
+ String cid = null;
+ if (dh instanceof StreamingDataHandler) {
+ StreamingDataHandler sdh = (StreamingDataHandler) dh;
+ if (sdh.getHrefCid() != null)
+ cid = sdh.getHrefCid();
+ }
+ this.contentId = cid != null ? cid : encodeCid();
boundary = b;
}
@@ -227,13 +235,27 @@ public class MtomCodec extends MimeCodec {
writeln(out);
}
- private void writeAttachments(AttachmentSet attachments, OutputStream out, String boundary) throws IOException {
- for(Attachment att : attachments){
- //build attachment frame
- writeln("--"+boundary, out);
+ // Compiler warning for not calling close, but cannot call close,
+ // will consume attachment bytes.
+ @SuppressWarnings("resource")
+ private void writeNonMtomAttachments(AttachmentSet attachments,
+ OutputStream out, String boundary) throws IOException {
+
+ for (Attachment att : attachments) {
+
+ DataHandler dh = att.asDataHandler();
+ if (dh instanceof StreamingDataHandler) {
+ StreamingDataHandler sdh = (StreamingDataHandler) dh;
+ // If DataHandler has href Content-ID, it is MTOM, so skip.
+ if (sdh.getHrefCid() != null)
+ continue;
+ }
+
+ // build attachment frame
+ writeln("--" + boundary, out);
writeMimeHeaders(att.getContentType(), att.getContentId(), out);
att.writeTo(out);
- writeln(out); // write \r\n
+ writeln(out); // write \r\n
}
}
diff --git a/src/share/jaxws_classes/com/sun/xml/internal/ws/message/stream/StreamMessage.java b/src/share/jaxws_classes/com/sun/xml/internal/ws/message/stream/StreamMessage.java
index 73f5ddee..6821927b 100644
--- a/src/share/jaxws_classes/com/sun/xml/internal/ws/message/stream/StreamMessage.java
+++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/message/stream/StreamMessage.java
@@ -104,7 +104,9 @@ public class StreamMessage extends AbstractMessageImpl {
* If the creater of this object didn't care about those,
* we use stock values.
*/
- private @NotNull TagInfoset envelopeTag,headerTag,bodyTag;
+ private @NotNull TagInfoset envelopeTag;
+ private @NotNull TagInfoset headerTag;
+ private @NotNull TagInfoset bodyTag;
/**
* Used only for debugging. This records where the message was consumed.
@@ -203,8 +205,7 @@ public class StreamMessage extends AbstractMessageImpl {
throw new IllegalArgumentException("BodyTag TagInfoset cannot be null");
}
this.envelopeTag = envelopeTag;
- this.headerTag = headerTag!=null ? headerTag :
- new TagInfoset(envelopeTag.nsUri,"Header",envelopeTag.prefix,EMPTY_ATTS);
+ this.headerTag = headerTag;
this.bodyTag = bodyTag;
this.bodyPrologue = bodyPrologue;
this.bodyEpilogue = bodyEpilogue;
@@ -391,10 +392,13 @@ public class StreamMessage extends AbstractMessageImpl {
//write headers
MessageHeaders hl = getHeaders();
- if(hl.hasHeaders()){
+ if (hl.hasHeaders() && headerTag == null) headerTag = new TagInfoset(envelopeTag.nsUri,"Header",envelopeTag.prefix,EMPTY_ATTS);
+ if (headerTag != null) {
headerTag.writeStart(writer);
- for(Header h : hl.asList()){
- h.writeTo(writer);
+ if (hl.hasHeaders()){
+ for(Header h : hl.asList()){
+ h.writeTo(writer);
+ }
}
writer.writeEndElement();
}
@@ -527,15 +531,18 @@ public class StreamMessage extends AbstractMessageImpl {
contentHandler.setDocumentLocator(NULL_LOCATOR);
contentHandler.startDocument();
envelopeTag.writeStart(contentHandler);
- headerTag.writeStart(contentHandler);
- if(hasHeaders()) {
- MessageHeaders headers = getHeaders();
- for (Header h : headers.asList()) {
- // shouldn't JDK be smart enough to use array-style indexing for this foreach!?
- h.writeTo(contentHandler,errorHandler);
+ if (hasHeaders() && headerTag == null) headerTag = new TagInfoset(envelopeTag.nsUri,"Header",envelopeTag.prefix,EMPTY_ATTS);
+ if (headerTag != null) {
+ headerTag.writeStart(contentHandler);
+ if (hasHeaders()) {
+ MessageHeaders headers = getHeaders();
+ for (Header h : headers.asList()) {
+ // shouldn't JDK be smart enough to use array-style indexing for this foreach!?
+ h.writeTo(contentHandler,errorHandler);
+ }
}
+ headerTag.writeEnd(contentHandler);
}
- headerTag.writeEnd(contentHandler);
bodyTag.writeStart(contentHandler);
writePayloadTo(contentHandler,errorHandler, true);
bodyTag.writeEnd(contentHandler);
diff --git a/src/share/jaxws_classes/com/sun/xml/internal/ws/model/RuntimeModeler.java b/src/share/jaxws_classes/com/sun/xml/internal/ws/model/RuntimeModeler.java
index 22c9f832..63102d46 100644
--- a/src/share/jaxws_classes/com/sun/xml/internal/ws/model/RuntimeModeler.java
+++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/model/RuntimeModeler.java
@@ -210,20 +210,10 @@ public class RuntimeModeler {
private <T extends Annotation> T getAnnotation(final Class<?> clazz, final Class<T> T) {
return metadataReader.getAnnotation(T, clazz);
-// return AccessController.doPrivileged(new PrivilegedAction<T>() {
-// public T run() {
-// return clazz.getAnnotation(T);
-// }
-// });
}
private <T extends Annotation> T getAnnotation(final Method method, final Class<T> T) {
return metadataReader.getAnnotation(T, method);
-// return AccessController.doPrivileged(new PrivilegedAction<T>() {
-// public T run() {
-// return method.getAnnotation(T);
-// }
-// });
}
private Annotation[] getAnnotations(final Method method) {
@@ -235,11 +225,6 @@ public class RuntimeModeler {
}
private Annotation[][] getParamAnnotations(final Method method) {
return metadataReader.getParameterAnnotations(method);
-// return AccessController.doPrivileged(new PrivilegedAction<Annotation[][]>() {
-// public Annotation[][] run() {
-// return method.getParameterAnnotations();
-// }
-// });
}
private static final Logger logger =
@@ -258,6 +243,7 @@ public class RuntimeModeler {
model.endpointClass = config.getEndpointClass();
model.classLoader = this.classLoader;
model.wsBinding = wsBinding;
+ model.databindingInfo.setWsdlURL(config.getWsdlURL());
model.databindingInfo.properties().putAll(config.properties());
if (model.contractClass == null) model.contractClass = portClass;
if (model.endpointClass == null && !portClass.isInterface()) model.endpointClass = portClass;
@@ -476,11 +462,12 @@ public class RuntimeModeler {
for (Method method : clazz.getMethods()) {
if (!clazz.isInterface()) { // if clazz is SEI, then all methods are web methods
+ if (method.getDeclaringClass() == Object.class) continue;
if (!getBooleanSystemProperty("com.sun.xml.internal.ws.legacyWebMethod")) { // legacy webMethod computation behaviour to be used
if (!isWebMethodBySpec(method, clazz))
continue;
} else {
- if (method.getDeclaringClass() == Object.class || !isWebMethod(method))
+ if (!isWebMethod(method))
continue;
}
}
diff --git a/src/share/jaxws_classes/com/sun/xml/internal/ws/model/WrapperBeanGenerator.java b/src/share/jaxws_classes/com/sun/xml/internal/ws/model/WrapperBeanGenerator.java
index 99eb3351..8f3202e0 100644
--- a/src/share/jaxws_classes/com/sun/xml/internal/ws/model/WrapperBeanGenerator.java
+++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/model/WrapperBeanGenerator.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. 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
@@ -69,10 +69,12 @@ public class WrapperBeanGenerator {
super(annReader, nav, beanMemberFactory);
}
+ @Override
protected java.lang.reflect.Type getSafeType(java.lang.reflect.Type type) {
return type;
}
+ @Override
protected java.lang.reflect.Type getHolderValueType(java.lang.reflect.Type paramType) {
if (paramType instanceof ParameterizedType) {
ParameterizedType p = (ParameterizedType)paramType;
@@ -83,6 +85,7 @@ public class WrapperBeanGenerator {
return null;
}
+ @Override
protected boolean isVoidType(java.lang.reflect.Type type) {
return type == Void.TYPE;
}
@@ -90,6 +93,7 @@ public class WrapperBeanGenerator {
}
private static final class FieldFactory implements BeanMemberFactory<java.lang.reflect.Type, Field> {
+ @Override
public Field createWrapperBeanMember(java.lang.reflect.Type paramType,
String paramName, List<Annotation> jaxb) {
return new Field(paramName, paramType, getASMType(paramType), jaxb);
@@ -257,7 +261,9 @@ public class WrapperBeanGenerator {
static Class createRequestWrapperBean(String className, Method method, QName reqElemName, ClassLoader cl) {
- LOGGER.log(Level.FINE, "Request Wrapper Class : {0}", className);
+ if (LOGGER.isLoggable(Level.FINE)) {
+ LOGGER.log(Level.FINE, "Request Wrapper Class : {0}", className);
+ }
List<Field> requestMembers = RUNTIME_GENERATOR.collectRequestBeanMembers(
method);
@@ -276,7 +282,9 @@ public class WrapperBeanGenerator {
static Class createResponseWrapperBean(String className, Method method, QName resElemName, ClassLoader cl) {
- LOGGER.log(Level.FINE, "Response Wrapper Class : {0}", className);
+ if (LOGGER.isLoggable(Level.FINE)) {
+ LOGGER.log(Level.FINE, "Response Wrapper Class : {0}", className);
+ }
List<Field> responseMembers = RUNTIME_GENERATOR.collectResponseBeanMembers(method);
@@ -346,6 +354,9 @@ public class WrapperBeanGenerator {
return Injector.inject(cl, className, image);
}
+ /**
+ * Note: this class has a natural ordering that is inconsistent with equals.
+ */
private static class Field implements Comparable<Field> {
private final java.lang.reflect.Type reflectType;
private final Type asmType;
@@ -370,10 +381,10 @@ public class WrapperBeanGenerator {
return FieldSignature.vms(reflectType);
}
+ @Override
public int compareTo(Field o) {
return fieldName.compareTo(o.fieldName);
}
-
}
static void write(byte[] b, String className) {
@@ -384,8 +395,7 @@ public class WrapperBeanGenerator {
fo.flush();
fo.close();
} catch (java.io.IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
+ LOGGER.log(Level.INFO, "Error Writing class", e);
}
}
diff --git a/src/share/jaxws_classes/com/sun/xml/internal/ws/model/wsdl/WSDLBoundOperationImpl.java b/src/share/jaxws_classes/com/sun/xml/internal/ws/model/wsdl/WSDLBoundOperationImpl.java
index fd2cd94e..917e5c60 100644
--- a/src/share/jaxws_classes/com/sun/xml/internal/ws/model/wsdl/WSDLBoundOperationImpl.java
+++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/model/wsdl/WSDLBoundOperationImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. 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
@@ -63,7 +63,6 @@ public final class WSDLBoundOperationImpl extends AbstractExtensibleImpl impleme
private final Map<String, WSDLPartImpl> inParts;
private final Map<String, WSDLPartImpl> outParts;
- private final Map<String, WSDLPartImpl> fltParts;
private final List<WSDLBoundFaultImpl> wsdlBoundFaults;
private WSDLOperationImpl operation;
private String soapAction;
@@ -86,15 +85,16 @@ public final class WSDLBoundOperationImpl extends AbstractExtensibleImpl impleme
faultMimeTypes = new HashMap<String, String>();
inParts = new HashMap<String, WSDLPartImpl>();
outParts = new HashMap<String, WSDLPartImpl>();
- fltParts = new HashMap<String, WSDLPartImpl>();
wsdlBoundFaults = new ArrayList<WSDLBoundFaultImpl>();
this.owner = owner;
}
+ @Override
public QName getName(){
return name;
}
+ @Override
public String getSOAPAction() {
return soapAction;
}
@@ -103,6 +103,7 @@ public final class WSDLBoundOperationImpl extends AbstractExtensibleImpl impleme
this.soapAction = soapAction!=null?soapAction:"";
}
+ @Override
public WSDLPartImpl getPart(String partName, Mode mode) {
if(mode==Mode.IN){
return inParts.get(partName);
@@ -147,15 +148,18 @@ public final class WSDLBoundOperationImpl extends AbstractExtensibleImpl impleme
}
// TODO: what's the difference between this and inputParts/outputParts?
+ @Override
public Map<String,WSDLPart> getInParts() {
return Collections.<String,WSDLPart>unmodifiableMap(inParts);
}
+ @Override
public Map<String,WSDLPart> getOutParts() {
return Collections.<String,WSDLPart>unmodifiableMap(outParts);
}
@NotNull
+ @Override
public List<WSDLBoundFaultImpl> getFaults() {
return wsdlBoundFaults;
}
@@ -291,11 +295,13 @@ public final class WSDLBoundOperationImpl extends AbstractExtensibleImpl impleme
return faultMimeTypes.get(part);
}
+ @Override
public WSDLOperationImpl getOperation() {
return operation;
}
+ @Override
public WSDLBoundPortType getBoundPortType() {
return owner;
}
@@ -317,6 +323,7 @@ public final class WSDLBoundOperationImpl extends AbstractExtensibleImpl impleme
this.style = style;
}
+ @Override
public @Nullable QName getReqPayloadName() {
if (emptyRequestPayload)
return null;
@@ -346,6 +353,7 @@ public final class WSDLBoundOperationImpl extends AbstractExtensibleImpl impleme
return null;
}
+ @Override
public @Nullable QName getResPayloadName() {
if (emptyResponsePayload)
return null;
@@ -385,6 +393,7 @@ public final class WSDLBoundOperationImpl extends AbstractExtensibleImpl impleme
* @return non-null for rpclit and null for doclit
* @see RuntimeModeler#processRpcMethod(JavaMethodImpl, String, String, Method)
*/
+ @Override
public String getRequestNamespace(){
return (reqNamespace != null)?reqNamespace:name.getNamespaceURI();
}
@@ -400,6 +409,7 @@ public final class WSDLBoundOperationImpl extends AbstractExtensibleImpl impleme
* @return non-null for rpclit and null for doclit
* @see RuntimeModeler#processRpcMethod(JavaMethodImpl, String, String, Method)
*/
+ @Override
public String getResponseNamespace(){
return (respNamespace!=null)?respNamespace:name.getNamespaceURI();
}
@@ -433,6 +443,7 @@ public final class WSDLBoundOperationImpl extends AbstractExtensibleImpl impleme
/**
* @inheritDoc
*/
+ @Override
public ANONYMOUS getAnonymous() {
return anonymous;
}
diff --git a/src/share/jaxws_classes/com/sun/xml/internal/ws/model/wsdl/WSDLOperationImpl.java b/src/share/jaxws_classes/com/sun/xml/internal/ws/model/wsdl/WSDLOperationImpl.java
index 5f5dd278..5f6532c6 100644
--- a/src/share/jaxws_classes/com/sun/xml/internal/ws/model/wsdl/WSDLOperationImpl.java
+++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/model/wsdl/WSDLOperationImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. 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
@@ -34,9 +34,7 @@ import com.sun.xml.internal.ws.util.QNameMap;
import javax.xml.namespace.QName;
import javax.xml.stream.XMLStreamReader;
import java.util.ArrayList;
-import java.util.HashMap;
import java.util.List;
-import java.util.Map;
/**
* Implementaiton of {@link WSDLOperation}
diff --git a/src/share/jaxws_classes/com/sun/xml/internal/ws/resources/DispatchMessages.java b/src/share/jaxws_classes/com/sun/xml/internal/ws/resources/DispatchMessages.java
index fae39216..933378d8 100644
--- a/src/share/jaxws_classes/com/sun/xml/internal/ws/resources/DispatchMessages.java
+++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/resources/DispatchMessages.java
@@ -51,6 +51,18 @@ public final class DispatchMessages {
return localizer.localize(localizableINVALID_NULLARG_XMLHTTP_REQUEST_METHOD(arg0, arg1));
}
+ public static Localizable localizableINVALID_NULLARG_URI() {
+ return messageFactory.getMessage("invalid.nullarg.uri");
+ }
+
+ /**
+ * Endpoint address URI is not allowed with a null argument
+ *
+ */
+ public static String INVALID_NULLARG_URI() {
+ return localizer.localize(localizableINVALID_NULLARG_URI());
+ }
+
public static Localizable localizableINVALID_SOAPMESSAGE_DISPATCH_MSGMODE(Object arg0, Object arg1) {
return messageFactory.getMessage("invalid.soapmessage.dispatch.msgmode", arg0, arg1);
}
diff --git a/src/share/jaxws_classes/com/sun/xml/internal/ws/resources/dispatch.properties b/src/share/jaxws_classes/com/sun/xml/internal/ws/resources/dispatch.properties
index a1f1ebac..e364d253 100644
--- a/src/share/jaxws_classes/com/sun/xml/internal/ws/resources/dispatch.properties
+++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/resources/dispatch.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1997, 2013, Oracle and/or its affiliates. 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
@@ -26,6 +26,7 @@
invalid.nullarg.soap.msgmode=SOAP/HTTP Binding in {0} is not allowed with a null invocation argument. Must be: {1}
# {0}, {1} - one of: POST, GET, DELETE PUT e.g.: A XML/HTTP request using MessageContext.HTTP_REQUEST_METHOD equals POST with a Null invocation Argument is not allowed. Must be: GET
invalid.nullarg.xmlhttp.request.method=A XML/HTTP request using MessageContext.HTTP_REQUEST_METHOD equals {0} with a Null invocation Argument is not allowed. Must be: {1}
+invalid.nullarg.uri=Endpoint address URI is not allowed with a null argument
invalid.response=No response returned.
invalid.response.deserialization=Failed to deserialize the response.
# {0} - "PAYLOAD", {1} - "MESSAGE"
diff --git a/src/share/jaxws_classes/com/sun/xml/internal/ws/server/EndpointFactory.java b/src/share/jaxws_classes/com/sun/xml/internal/ws/server/EndpointFactory.java
index 271cf59d..3e3bffa2 100644
--- a/src/share/jaxws_classes/com/sun/xml/internal/ws/server/EndpointFactory.java
+++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/server/EndpointFactory.java
@@ -265,7 +265,7 @@ public class EndpointFactory {
terminal = createProviderInvokerTube(implType, binding, invoker, container);
} else {
// Create runtime model for non Provider endpoints
- seiModel = createSEIModel(wsdlPort, implType, serviceName, portName, binding);
+ seiModel = createSEIModel(wsdlPort, implType, serviceName, portName, binding, primaryDoc);
if(binding instanceof SOAPBindingImpl){
//set portKnownHeaders on Binding, so that they can be used for MU processing
((SOAPBindingImpl)binding).setPortKnownHeaders(
@@ -436,37 +436,17 @@ public class EndpointFactory {
private static AbstractSEIModelImpl createSEIModel(WSDLPort wsdlPort,
- Class<?> implType, @NotNull QName serviceName, @NotNull QName portName, WSBinding binding) {
-// RuntimeModeler rap;
-// // Create runtime model for non Provider endpoints
-//
-// // wsdlPort will be null, means we will generate WSDL. Hence no need to apply
-// // bindings or need to look in the WSDL
-// if(wsdlPort == null){
-// rap = new RuntimeModeler(implType,serviceName, binding.getBindingId(), binding.getFeatures().toArray());
-// } else {
-// /*
-// This not needed anymore as wsdlFeatures are merged later anyway
-// and so is the MTOMFeature.
-// applyEffectiveMtomSetting(wsdlPort.getBinding(), binding);
-// */
-// //now we got the Binding so lets build the model
-// rap = new RuntimeModeler(implType, serviceName, (WSDLPortImpl)wsdlPort, binding.getFeatures().toArray());
-// }
-// rap.setClassLoader(implType.getClassLoader());
-// rap.setPortName(portName);
-// return rap.buildRuntimeModel();
+ Class<?> implType, @NotNull QName serviceName, @NotNull QName portName, WSBinding binding,
+ SDDocumentSource primaryWsdl) {
DatabindingFactory fac = DatabindingFactory.newInstance();
DatabindingConfig config = new DatabindingConfig();
config.setEndpointClass(implType);
config.getMappingInfo().setServiceName(serviceName);
config.setWsdlPort(wsdlPort);
config.setWSBinding(binding);
-// config.setFeatures(binding.getFeatures().toArray());
-// config.getMappingInfo().setBindingID(binding.getBindingId());
config.setClassLoader(implType.getClassLoader());
config.getMappingInfo().setPortName(portName);
-
+ if (primaryWsdl != null) config.setWsdlURL(primaryWsdl.getSystemId());
config.setMetadataReader(getExternalMetadatReader(implType, binding));
com.sun.xml.internal.ws.db.DatabindingImpl rt = (com.sun.xml.internal.ws.db.DatabindingImpl)fac.createRuntime(config);
diff --git a/src/share/jaxws_classes/com/sun/xml/internal/ws/spi/db/BindingInfo.java b/src/share/jaxws_classes/com/sun/xml/internal/ws/spi/db/BindingInfo.java
index b30e61fd..22712aa7 100644
--- a/src/share/jaxws_classes/com/sun/xml/internal/ws/spi/db/BindingInfo.java
+++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/spi/db/BindingInfo.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. 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
@@ -25,6 +25,7 @@
package com.sun.xml.internal.ws.spi.db;
+import java.net.URL;
import java.util.Collection;
import java.util.Map;
@@ -47,6 +48,7 @@ public class BindingInfo {
protected ClassLoader classLoader;
private SEIModel seiModel;
+ private URL wsdlURL;
public String getDatabindingMode() {
return databindingMode;
@@ -87,5 +89,10 @@ public class BindingInfo {
public void setClassLoader(ClassLoader classLoader) {
this.classLoader = classLoader;
}
-
+ public URL getWsdlURL() {
+ return wsdlURL;
+ }
+ public void setWsdlURL(URL wsdlURL) {
+ this.wsdlURL = wsdlURL;
+ }
}
diff --git a/src/share/jaxws_classes/com/sun/xml/internal/ws/spi/db/JAXBWrapperAccessor.java b/src/share/jaxws_classes/com/sun/xml/internal/ws/spi/db/JAXBWrapperAccessor.java
index 4db4f12a..248c61c8 100644
--- a/src/share/jaxws_classes/com/sun/xml/internal/ws/spi/db/JAXBWrapperAccessor.java
+++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/spi/db/JAXBWrapperAccessor.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. 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
@@ -43,6 +43,7 @@ import java.util.List;
import javax.xml.bind.JAXBElement;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementRef;
+import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.namespace.QName;
/**
@@ -87,12 +88,19 @@ public class JAXBWrapperAccessor extends WrapperAccessor {
}
HashSet<String> elementLocalNames = new HashSet<String>();
for (Field field : getAllFields(contentClass)) {
+ XmlElementWrapper xmlElemWrapper = field.getAnnotation(XmlElementWrapper.class);
XmlElement xmlElem = field.getAnnotation(XmlElement.class);
XmlElementRef xmlElemRef = field.getAnnotation(XmlElementRef.class);
String fieldName = field.getName().toLowerCase();
String namespace = "";
String localName = field.getName();
- if (xmlElem != null) {
+ if (xmlElemWrapper != null) {
+ namespace = xmlElemWrapper.namespace();
+ if (xmlElemWrapper.name() != null && !xmlElemWrapper.name().equals("")
+ && !xmlElemWrapper.name().equals("##default")) {
+ localName = xmlElemWrapper.name();
+ }
+ }else if (xmlElem != null) {
namespace = xmlElem.namespace();
if (xmlElem.name() != null && !xmlElem.name().equals("")
&& !xmlElem.name().equals("##default")) {
diff --git a/src/share/jaxws_classes/com/sun/xml/internal/ws/transport/http/HttpAdapter.java b/src/share/jaxws_classes/com/sun/xml/internal/ws/transport/http/HttpAdapter.java
index 8ea4fb00..f54a0a4e 100644
--- a/src/share/jaxws_classes/com/sun/xml/internal/ws/transport/http/HttpAdapter.java
+++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/transport/http/HttpAdapter.java
@@ -25,14 +25,34 @@
package com.sun.xml.internal.ws.transport.http;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.OutputStreamWriter;
+import java.io.PrintWriter;
+import java.net.HttpURLConnection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.TreeMap;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.xml.ws.Binding;
+import javax.xml.ws.WebServiceException;
+import javax.xml.ws.http.HTTPBinding;
+
import com.oracle.webservices.internal.api.message.PropertySet;
import com.sun.istack.internal.NotNull;
import com.sun.istack.internal.Nullable;
+import com.sun.xml.internal.ws.api.Component;
+import com.sun.xml.internal.ws.api.EndpointAddress;
import com.sun.xml.internal.ws.api.SOAPVersion;
-import com.sun.xml.internal.ws.api.addressing.NonAnonymousResponseProcessor;
import com.sun.xml.internal.ws.api.addressing.AddressingVersion;
-import com.sun.xml.internal.ws.api.EndpointAddress;
-import com.sun.xml.internal.ws.api.Component;
+import com.sun.xml.internal.ws.api.addressing.NonAnonymousResponseProcessor;
import com.sun.xml.internal.ws.api.ha.HaInfo;
import com.sun.xml.internal.ws.api.message.ExceptionHasMessage;
import com.sun.xml.internal.ws.api.message.Message;
@@ -56,29 +76,13 @@ import com.sun.xml.internal.ws.server.UnsupportedMediaException;
import com.sun.xml.internal.ws.util.ByteArrayBuffer;
import com.sun.xml.internal.ws.util.Pool;
-import javax.xml.ws.Binding;
-import javax.xml.ws.WebServiceException;
-import javax.xml.ws.http.HTTPBinding;
-
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.io.OutputStreamWriter;
-import java.io.PrintWriter;
-import java.net.HttpURLConnection;
-import java.util.*;
-import java.util.Map.Entry;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
/**
- * {@link Adapter} that receives messages in HTTP.
+ * {@link com.sun.xml.internal.ws.api.server.Adapter} that receives messages in HTTP.
*
* <p>
* This object also assigns unique query string (such as "xsd=1") to
- * each {@link SDDocument} so that they can be served by HTTP GET requests.
+ * each {@link com.sun.xml.internal.ws.api.server.SDDocument} so that they can be served by HTTP GET requests.
*
* @author Kohsuke Kawaguchi
* @author Jitendra Kotamraju
@@ -86,10 +90,10 @@ import java.util.logging.Logger;
public class HttpAdapter extends Adapter<HttpAdapter.HttpToolkit> {
/**
- * {@link SDDocument}s keyed by the query string like "?abc".
+ * {@link com.sun.xml.internal.ws.api.server.SDDocument}s keyed by the query string like "?abc".
* Used for serving documents via HTTP GET.
*
- * Empty if the endpoint doesn't have {@link ServiceDefinition}.
+ * Empty if the endpoint doesn't have {@link com.sun.xml.internal.ws.api.server.ServiceDefinition}.
* Read-only.
*/
protected Map<String,SDDocument> wsdls;
@@ -109,7 +113,7 @@ public class HttpAdapter extends Adapter<HttpAdapter.HttpToolkit> {
public final HttpAdapterList<? extends HttpAdapter> owner;
/**
- * Servlet URL pattern with which this {@link HttpAdapter} is associated.
+ * Servlet URL pattern with which this {@link com.sun.xml.internal.ws.transport.http.HttpAdapter} is associated.
*/
public final String urlPattern;
@@ -118,10 +122,10 @@ public class HttpAdapter extends Adapter<HttpAdapter.HttpToolkit> {
protected boolean disableJreplicaCookie = false;
/**
- * Creates a lone {@link HttpAdapter} that does not know of any other
- * {@link HttpAdapter}s.
+ * Creates a lone {@link com.sun.xml.internal.ws.transport.http.HttpAdapter} that does not know of any other
+ * {@link com.sun.xml.internal.ws.transport.http.HttpAdapter}s.
*
- * This is convenient for creating an {@link HttpAdapter} for an environment
+ * This is convenient for creating an {@link com.sun.xml.internal.ws.transport.http.HttpAdapter} for an environment
* where they don't know each other (such as JavaSE deployment.)
*
* @param endpoint web service endpoint
@@ -137,11 +141,14 @@ public class HttpAdapter extends Adapter<HttpAdapter.HttpToolkit> {
* @param endpoint web service endpoint
* @param owner list of related adapters
*/
- protected HttpAdapter(WSEndpoint endpoint, HttpAdapterList<? extends HttpAdapter> owner) {
+ protected HttpAdapter(WSEndpoint endpoint,
+ HttpAdapterList<? extends HttpAdapter> owner) {
this(endpoint,owner,null);
}
- protected HttpAdapter(WSEndpoint endpoint, HttpAdapterList<? extends HttpAdapter> owner, String urlPattern) {
+ protected HttpAdapter(WSEndpoint endpoint,
+ HttpAdapterList<? extends HttpAdapter> owner,
+ String urlPattern) {
super(endpoint);
this.owner = owner;
this.urlPattern = urlPattern;
@@ -184,7 +191,7 @@ public class HttpAdapter extends Adapter<HttpAdapter.HttpToolkit> {
int wsdlnum = 1;
int xsdnum = 1;
- for (Map.Entry<String, SDDocument> e : systemIds.entrySet()) {
+ for (Entry<String, SDDocument> e : systemIds.entrySet()) {
SDDocument sdd = e.getValue();
if (sdd.isWSDL()) {
wsdls.put("wsdl="+(wsdlnum++),sdd);
@@ -231,12 +238,12 @@ public class HttpAdapter extends Adapter<HttpAdapter.HttpToolkit> {
* and "connection" here is an HTTP connection.
*
* <p>
- * To populate a request {@link Packet} with more info,
+ * To populate a request {@link com.sun.xml.internal.ws.api.message.Packet} with more info,
* define {@link com.oracle.webservices.internal.api.message.PropertySet.Property properties} on
* {@link WSHTTPConnection}.
*
* @param connection to receive/send HTTP messages for web service endpoints
- * @throws IOException when I/O errors happen
+ * @throws java.io.IOException when I/O errors happen
*/
public void handle(@NotNull WSHTTPConnection connection) throws IOException {
if (handleGet(connection)) {
@@ -338,7 +345,7 @@ public class HttpAdapter extends Adapter<HttpAdapter.HttpToolkit> {
/**
* Some stacks may send non WS-I BP 1.2 conforming SoapAction.
- * Make sure SOAPAction is quoted as {@link Packet#soapAction} expects quoted soapAction value.
+ * Make sure SOAPAction is quoted as {@link com.sun.xml.internal.ws.api.message.Packet#soapAction} expects quoted soapAction value.
*
* @param soapAction SoapAction HTTP Header
* @return quoted SOAPAction value
@@ -385,7 +392,7 @@ public class HttpAdapter extends Adapter<HttpAdapter.HttpToolkit> {
private void encodePacket(@NotNull Packet packet, @NotNull WSHTTPConnection con, @NotNull Codec codec) throws IOException {
if (isNonAnonymousUri(packet.endpointAddress) && packet.getMessage() != null) {
- try {
+ try {
// Message is targeted to non-anonymous response endpoint.
// After call to non-anonymous processor, typically, packet.getMessage() will be null
// however, processors could use this pattern to modify the response sent on the back-channel,
@@ -413,9 +420,18 @@ public class HttpAdapter extends Adapter<HttpAdapter.HttpToolkit> {
if (con.getStatus() == 0) {
con.setStatus(WSHTTPConnection.ONEWAY);
}
+ OutputStream os = con.getProtocol().contains("1.1") ? con.getOutput() : new Http10OutputStream(con);
+ if (dump || LOGGER.isLoggable(Level.FINER)) {
+ ByteArrayBuffer buf = new ByteArrayBuffer();
+ codec.encode(packet, buf);
+ dump(buf, "HTTP response " + con.getStatus(), con.getResponseHeaders());
+ buf.writeTo(os);
+ } else {
+ codec.encode(packet, os);
+ }
// close the response channel now
try {
- con.getOutput().close(); // no payload
+ os.close(); // no payload
} catch (IOException e) {
throw new WebServiceException(e);
}
@@ -430,10 +446,17 @@ public class HttpAdapter extends Adapter<HttpAdapter.HttpToolkit> {
}
if (isClientErrorStatus(con.getStatus())) {
- OutputStream os = con.getOutput();
- writeClientError(con.getStatus(), os, packet);
- os.close();
- return;
+ OutputStream os = con.getOutput();
+ if (dump || LOGGER.isLoggable(Level.FINER)) {
+ ByteArrayBuffer buf = new ByteArrayBuffer();
+ writeClientError(con.getStatus(), buf, packet);
+ dump(buf, "HTTP response " + con.getStatus(), con.getResponseHeaders());
+ buf.writeTo(os);
+ } else {
+ writeClientError(con.getStatus(), os, packet);
+ }
+ os.close();
+ return;
}
ContentType contentType = codec.getStaticContentType(packet);
@@ -634,6 +657,15 @@ public class HttpAdapter extends Adapter<HttpAdapter.HttpToolkit> {
// no-op
}
+ if (dump || LOGGER.isLoggable(Level.FINER)) {
+ try {
+ ByteArrayBuffer buf = new ByteArrayBuffer();
+ dump(buf, "HTTP response " + con.getStatus(), con.getResponseHeaders());
+ } catch (Exception e) {
+ throw new WebServiceException(e.toString(), e);
+ }
+ }
+
if (output != null) {
try {
output.close(); // no payload
@@ -671,7 +703,7 @@ public class HttpAdapter extends Adapter<HttpAdapter.HttpToolkit> {
try {
packet = head.process(packet, con.getWebServiceContextDelegate(),
packet.transportBackChannel);
- } catch(Exception e) {
+ } catch(Throwable e) {
LOGGER.log(Level.SEVERE, e.getMessage(), e);
if (!con.isClosed()) {
writeInternalServerError(con);
@@ -682,6 +714,9 @@ public class HttpAdapter extends Adapter<HttpAdapter.HttpToolkit> {
encodePacket(packet, con, codec);
} finally {
if (!con.isClosed()) {
+ if (LOGGER.isLoggable(Level.FINE)) {
+ LOGGER.log(Level.FINE, "Closing HTTP Connection with status: {0}", con.getStatus());
+ }
con.close();
}
}
@@ -710,7 +745,7 @@ public class HttpAdapter extends Adapter<HttpAdapter.HttpToolkit> {
* @param con
* The connection to which the data will be sent.
*
- * @throws IOException when I/O errors happen
+ * @throws java.io.IOException when I/O errors happen
*/
public void publishWSDL(@NotNull WSHTTPConnection con) throws IOException {
con.getInput().close();
@@ -800,7 +835,7 @@ public class HttpAdapter extends Adapter<HttpAdapter.HttpToolkit> {
}
}
- private void dump(ByteArrayBuffer buf, String caption, Map<String, List<String>> headers) throws IOException {
+ private static void dump(ByteArrayBuffer buf, String caption, Map<String, List<String>> headers) throws IOException {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
PrintWriter pw = new PrintWriter(baos, true);
pw.println("---["+caption +"]---");
diff --git a/src/share/jaxws_classes/com/sun/xml/internal/ws/util/version.properties b/src/share/jaxws_classes/com/sun/xml/internal/ws/util/version.properties
index 0917dd67..5d7ed24b 100644
--- a/src/share/jaxws_classes/com/sun/xml/internal/ws/util/version.properties
+++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/util/version.properties
@@ -23,7 +23,7 @@
# questions.
#
-build-id=2.2.9-b13941
-build-version=JAX-WS RI 2.2.9-b13941
+build-id=2.2.9-b14027
+build-version=JAX-WS RI 2.2.9-b14027
major-version=2.2.9
-svn-revision=unknown
+svn-revision=14027