Revision: 6217 http://sourceforge.net/p/jump-pilot/code/6217 Author: michaudm Date: 2020-01-08 22:21:51 +0000 (Wed, 08 Jan 2020) Log Message: ----------- fix a bug related to WMS GetCapability reading (used platform encoding instead of encoding declared in xml)
Modified Paths: -------------- core/trunk/ChangeLog core/trunk/src/com/vividsolutions/wms/AbstractWMSRequest.java core/trunk/src/com/vividsolutions/wms/WMService.java Modified: core/trunk/ChangeLog =================================================================== --- core/trunk/ChangeLog 2020-01-06 12:43:46 UTC (rev 6216) +++ core/trunk/ChangeLog 2020-01-08 22:21:51 UTC (rev 6217) @@ -3,6 +3,10 @@ # 2. make sure that lines break at 80 chars for constricted display situations #<-------------------------------- 80 chars ----------------------------------># +2020-01-08 mmichaud <m.michael.mich...@orange.fr> + * fix a bug related to WMS GetCapability reading (used + platform encoding instead of encoding declared in xml) + 2020-01-04 ede * bugfix #489 "Veneto Region (Italy) WMS service does not work on OpenJump" wms now follows http redirections by default Modified: core/trunk/src/com/vividsolutions/wms/AbstractWMSRequest.java =================================================================== --- core/trunk/src/com/vividsolutions/wms/AbstractWMSRequest.java 2020-01-06 12:43:46 UTC (rev 6216) +++ core/trunk/src/com/vividsolutions/wms/AbstractWMSRequest.java 2020-01-08 22:21:51 UTC (rev 6217) @@ -21,7 +21,6 @@ import com.vividsolutions.jump.util.FileUtil; import com.vividsolutions.jump.workbench.Logger; -import com.vividsolutions.jump.workbench.ui.network.ProxySettingsOptionsPanel; abstract public class AbstractWMSRequest implements WMSRequest { @@ -137,6 +136,21 @@ } /** + * connect and retrieve response as inputStream + * + * @return + * @throws IOException + */ + public InputStream getInputStream() throws IOException { + HttpURLConnection con = getConnection(); + boolean httpOk = con.getResponseCode() == HttpURLConnection.HTTP_OK; + if (!httpOk) + readToError(con); + + return con.getInputStream(); + } + + /** * connect and retrieve response as text * * @return Modified: core/trunk/src/com/vividsolutions/wms/WMService.java =================================================================== --- core/trunk/src/com/vividsolutions/wms/WMService.java 2020-01-06 12:43:46 UTC (rev 6216) +++ core/trunk/src/com/vividsolutions/wms/WMService.java 2020-01-08 22:21:51 UTC (rev 6217) @@ -36,21 +36,13 @@ import static javax.swing.JOptionPane.YES_NO_OPTION; import static javax.swing.JOptionPane.showConfirmDialog; -import java.io.FileNotFoundException; import java.io.IOException; +import java.io.InputStream; import java.net.MalformedURLException; import java.net.URL; -import java.net.URLConnection; -import java.security.KeyManagementException; -import java.security.NoSuchAlgorithmException; -import java.security.cert.X509Certificate; -import java.util.HashSet; -import java.util.Set; import javax.net.ssl.*; -import javax.swing.JOptionPane; -import org.apache.commons.io.IOUtils; import org.openjump.util.UriUtil; import com.vividsolutions.jump.I18N; @@ -146,10 +138,8 @@ String requestUrlString = WMService.legalize(this.serverUrl.toString()) + req; URL requestUrl = new URL(requestUrlString); - URLConnection con = new BasicRequest(this, requestUrl).getConnection(); - - String out = new BasicRequest(this, requestUrl).getText(); - cap = parser.parseCapabilities(this, IOUtils.toInputStream(out) ); + InputStream inputStream = new BasicRequest(this, requestUrl).getInputStream(); + cap = parser.parseCapabilities(this, inputStream); String url1 = cap.getService().getServerUrl(); String url2 = cap.getGetMapURL(); _______________________________________________ Jump-pilot-devel mailing list Jump-pilot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel