diff --git a/pom.xml b/pom.xml
index dd976ba7..51ad5158 100644
--- a/pom.xml
+++ b/pom.xml
@@ -21,7 +21,7 @@
org.cirdles
ET_Redux
ET_Redux
- 3.6.90
+ 3.6.91
Successor to U-Pb_Redux
https://cirdles.org
2006
@@ -119,7 +119,7 @@
com.thoughtworks.xstream
xstream
- 1.4.14
+ 1.4.15
javax.help
diff --git a/src/main/java/org/earthtime/archivingTools/URIHelper.java b/src/main/java/org/earthtime/archivingTools/URIHelper.java
index 248dae8a..cf612b6f 100644
--- a/src/main/java/org/earthtime/archivingTools/URIHelper.java
+++ b/src/main/java/org/earthtime/archivingTools/URIHelper.java
@@ -33,6 +33,7 @@
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;
+import javax.net.ssl.HttpsURLConnection;
import javax.swing.JOptionPane;
import javax.xml.XMLConstants;
import javax.xml.parsers.DocumentBuilder;
@@ -64,6 +65,45 @@ public class URIHelper {
public URIHelper() {
}
+ /**
+ *
+ * @param fileURI
+ * @return
+ */
+ public static InputStream getInputStreamFromHttpsURI(String fileURI) {
+ URL url;
+ HttpsURLConnection urlConn = null;
+
+ InputStream retval = null;
+ try {
+
+ url = new URL(fileURI);
+
+ urlConn = (HttpsURLConnection) url.openConnection();
+
+ urlConn.setDoInput(true);
+ urlConn.setUseCaches(false);
+ // Feb 2021 started throwing 403 so used advice from
+ // https://stackoverflow.com/questions/13670692/403-forbidden-with-java-but-not-web-browser
+ urlConn.setRequestProperty(
+ "User-Agent",
+ "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11");
+
+ // july 2019
+ urlConn.setConnectTimeout(10000);
+ urlConn.setReadTimeout(10000);
+
+ retval = urlConn.getInputStream();
+
+ } catch (IOException iOException) {
+// JOptionPane.showMessageDialog(null,
+// new String[]{"Error reaching server: "//
+// + iOException.getMessage()});
+ }
+
+ return retval;
+ }
+
/**
*
* @param fileURI
@@ -137,7 +177,13 @@ public static BufferedReader getBufferedReader(String filename)
Reader inReader = null;
try {
- if (filename.startsWith("http")) {
+ if (filename.startsWith("https")) {
+ try {
+ inReader = new InputStreamReader(getInputStreamFromHttpsURI(filename));
+ reader = new BufferedReader(inReader);
+ } catch (Exception e) {
+ }
+ } else if (filename.startsWith("http")) {
try {
inReader = new InputStreamReader(getInputStreamFromURI(filename));
reader = new BufferedReader(inReader);
diff --git a/src/main/java/org/earthtime/dataDictionaries/SampleRegistries.java b/src/main/java/org/earthtime/dataDictionaries/SampleRegistries.java
index 15b2f1bd..9d67aee0 100644
--- a/src/main/java/org/earthtime/dataDictionaries/SampleRegistries.java
+++ b/src/main/java/org/earthtime/dataDictionaries/SampleRegistries.java
@@ -35,7 +35,7 @@ public enum SampleRegistries {
/**
*
*/
- GeochronID( "GeochronID", "GCH", "http://www.geochron.org/igsnexists.php?igsn=");// "http://www.geochronid.org/display.php?geochronid=" ),
+ GeochronID( "GeochronID", "GCH", "https://www.geochron.org/igsnexists.php?igsn=");// "http://www.geochronid.org/display.php?geochronid=" ),
//EARTHTIME_ID( "EARTHTIME-ID", "ERT", "" );
diff --git a/src/test/java/org/earthtime/dataDictionaries/SampleRegistriesTest.java b/src/test/java/org/earthtime/dataDictionaries/SampleRegistriesTest.java
index 82a5e6f4..8ff6c1a9 100644
--- a/src/test/java/org/earthtime/dataDictionaries/SampleRegistriesTest.java
+++ b/src/test/java/org/earthtime/dataDictionaries/SampleRegistriesTest.java
@@ -44,13 +44,13 @@ public class SampleRegistriesTest {
*/
@Test
public void test_constructor_0(){
- System.out.println("Testing SampleRegistries's enumerations and getters.");
+ System.out.println("Testing SampleRegistries' enumerations and getters.");
//Tests if values are correct for all enumerations, and tests the getters as well. You cannot instantiate new inumerations.
SampleRegistries ave=SampleRegistries.GeochronID;
assertEquals("GeochronID",ave.getName());
assertEquals("GCH",ave.getCode());
- assertEquals("http://www.geochron.org/igsnexists.php?igsn=",ave.getConnectionString());
+ assertEquals("https://www.geochron.org/igsnexists.php?igsn=",ave.getConnectionString());
ave=SampleRegistries.SESAR;
assertEquals("SESAR",ave.getName());