src/share/jaxws_classes/com/sun/xml/internal/ws/transport/http/HttpAdapter.java
Print this page
rev 472 : 8036030: Update JAX-WS RI integration to latest version
*** 1,7 ****
/*
! * 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
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
--- 1,7 ----
/*
! * Copyright (c) 1997, 2014, 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
*** 30,44 ****
--- 30,47 ----
import java.io.InputStream;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.HttpURLConnection;
+ import java.util.AbstractMap;
+ import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
+ import java.util.Set;
import java.util.TreeMap;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.xml.ws.Binding;
*** 170,216 ****
/**
* Fill in WSDL map.
*
* @param sdef service definition
*/
! public final void initWSDLMap(ServiceDefinition sdef) {
! this.serviceDefinition = sdef;
! if(sdef==null) {
wsdls = Collections.emptyMap();
revWsdls = Collections.emptyMap();
} else {
! wsdls = new HashMap<String, SDDocument>(); // wsdl=1 --> Doc
// Sort WSDL, Schema documents based on SystemId so that the same
// document gets wsdl=x mapping
Map<String, SDDocument> systemIds = new TreeMap<String, SDDocument>();
! for (SDDocument sdd : sdef) {
! if (sdd == sdef.getPrimary()) { // No sorting for Primary WSDL
! wsdls.put("wsdl", sdd);
! wsdls.put("WSDL", sdd);
} else {
systemIds.put(sdd.getURL().toString(), sdd);
}
}
int wsdlnum = 1;
int xsdnum = 1;
for (Entry<String, SDDocument> e : systemIds.entrySet()) {
SDDocument sdd = e.getValue();
if (sdd.isWSDL()) {
! wsdls.put("wsdl="+(wsdlnum++),sdd);
}
if (sdd.isSchema()) {
! wsdls.put("xsd="+(xsdnum++),sdd);
}
}
! revWsdls = new HashMap<SDDocument,String>(); // Doc --> wsdl=1
for (Entry<String,SDDocument> e : wsdls.entrySet()) {
if (!e.getKey().equals("WSDL")) { // map Doc --> wsdl, not WSDL
! revWsdls.put(e.getValue(),e.getKey());
}
}
}
}
/**
* Returns the "/abc/def/ghi" portion if
--- 173,363 ----
/**
* Fill in WSDL map.
*
* @param sdef service definition
*/
! public final void initWSDLMap(final ServiceDefinition serviceDefinition) {
! this.serviceDefinition = serviceDefinition;
! if(serviceDefinition==null) {
wsdls = Collections.emptyMap();
revWsdls = Collections.emptyMap();
} else {
! wsdls = new AbstractMap<String, SDDocument>() {
! private Map<String, SDDocument> delegate = null;
!
! private synchronized Map<String, SDDocument> delegate() {
! if (delegate != null)
! return delegate;
!
! delegate = new HashMap<String, SDDocument>(); // wsdl=1 --> Doc
// Sort WSDL, Schema documents based on SystemId so that the same
// document gets wsdl=x mapping
Map<String, SDDocument> systemIds = new TreeMap<String, SDDocument>();
! for (SDDocument sdd : serviceDefinition) {
! if (sdd == serviceDefinition.getPrimary()) { // No sorting for Primary WSDL
! delegate.put("wsdl", sdd);
! delegate.put("WSDL", sdd);
} else {
systemIds.put(sdd.getURL().toString(), sdd);
}
}
int wsdlnum = 1;
int xsdnum = 1;
for (Entry<String, SDDocument> e : systemIds.entrySet()) {
SDDocument sdd = e.getValue();
if (sdd.isWSDL()) {
! delegate.put("wsdl="+(wsdlnum++),sdd);
}
if (sdd.isSchema()) {
! delegate.put("xsd="+(xsdnum++),sdd);
! }
! }
!
! return delegate;
! }
!
! @Override
! public void clear() {
! delegate().clear();
! }
!
! @Override
! public boolean containsKey(Object arg0) {
! return delegate().containsKey(arg0);
! }
!
! @Override
! public boolean containsValue(Object arg0) {
! return delegate.containsValue(arg0);
! }
!
! @Override
! public SDDocument get(Object arg0) {
! return delegate().get(arg0);
! }
!
! @Override
! public boolean isEmpty() {
! return delegate().isEmpty();
! }
!
! @Override
! public Set<String> keySet() {
! return delegate().keySet();
}
+
+ @Override
+ public SDDocument put(String arg0, SDDocument arg1) {
+ return delegate().put(arg0, arg1);
}
! @Override
! public void putAll(
! Map<? extends String, ? extends SDDocument> arg0) {
! delegate().putAll(arg0);
! }
!
! @Override
! public SDDocument remove(Object arg0) {
! return delegate().remove(arg0);
! }
!
! @Override
! public int size() {
! return delegate().size();
! }
!
! @Override
! public Collection<SDDocument> values() {
! return delegate().values();
! }
!
! @Override
! public Set<java.util.Map.Entry<String, SDDocument>> entrySet() {
! return delegate().entrySet();
! }
! };
!
! revWsdls = new AbstractMap<SDDocument, String>() {
! private Map<SDDocument, String> delegate = null;
!
! private synchronized Map<SDDocument, String> delegate() {
! if (delegate != null)
! return delegate;
!
! delegate = new HashMap<SDDocument,String>(); // Doc --> wsdl=1
for (Entry<String,SDDocument> e : wsdls.entrySet()) {
if (!e.getKey().equals("WSDL")) { // map Doc --> wsdl, not WSDL
! delegate.put(e.getValue(),e.getKey());
}
}
+
+ return delegate;
+ }
+
+ @Override
+ public void clear() {
+ delegate().clear();
+ }
+
+ @Override
+ public boolean containsKey(Object key) {
+ return delegate().containsKey(key);
+ }
+
+ @Override
+ public boolean containsValue(Object value) {
+ return delegate().containsValue(value);
+ }
+
+ @Override
+ public Set<Entry<SDDocument, String>> entrySet() {
+ return delegate().entrySet();
+ }
+
+ @Override
+ public String get(Object key) {
+ return delegate().get(key);
+ }
+
+ @Override
+ public boolean isEmpty() {
+ // TODO Auto-generated method stub
+ return super.isEmpty();
+ }
+
+ @Override
+ public Set<SDDocument> keySet() {
+ return delegate().keySet();
+ }
+
+ @Override
+ public String put(SDDocument key, String value) {
+ return delegate().put(key, value);
+ }
+
+ @Override
+ public void putAll(Map<? extends SDDocument, ? extends String> m) {
+ delegate().putAll(m);
+ }
+
+ @Override
+ public String remove(Object key) {
+ return delegate().remove(key);
+ }
+
+ @Override
+ public int size() {
+ return delegate().size();
+ }
+
+ @Override
+ public Collection<String> values() {
+ return delegate().values();
+ }
+ };
}
}
/**
* Returns the "/abc/def/ghi" portion if
*** 979,989 ****
--- 1126,1138 ----
LOGGER.log(Level.CONFIG, "Cannot read ''{0}'' property, using defaults.",
new Object[] {HttpAdapter.class.getName() + ".dumpTreshold"});
}
}
try {
+ if (System.getProperty(HttpAdapter.class.getName() + ".publishStatusPage") != null) {
setPublishStatus(Boolean.getBoolean(HttpAdapter.class.getName() + ".publishStatusPage"));
+ }
} catch (SecurityException se) {
if (LOGGER.isLoggable(Level.CONFIG)) {
LOGGER.log(Level.CONFIG, "Cannot read ''{0}'' property, using defaults.",
new Object[] {HttpAdapter.class.getName() + ".publishStatusPage"});
}