Remove JNI use on Windows now that we deleted gwt-ll.dll
Change-Id: I06be29b1434d6140fc423cdb0ed78d41e3fbe902
diff --git a/dev/core/src/com/google/gwt/dev/shell/CheckForUpdates.java b/dev/core/src/com/google/gwt/dev/shell/CheckForUpdates.java
index 67a65b4..5ac6c00 100644
--- a/dev/core/src/com/google/gwt/dev/shell/CheckForUpdates.java
+++ b/dev/core/src/com/google/gwt/dev/shell/CheckForUpdates.java
@@ -19,7 +19,6 @@
import com.google.gwt.core.ext.TreeLogger.HelpInfo;
import com.google.gwt.dev.About;
import com.google.gwt.dev.GwtVersion;
-import com.google.gwt.dev.shell.ie.CheckForUpdatesIE6;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
@@ -40,7 +39,6 @@
import java.net.URL;
import java.net.URLConnection;
import java.util.Date;
-import java.util.Locale;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.FutureTask;
@@ -56,7 +54,7 @@
* Orchestrates a best-effort attempt to find out if a new version of GWT is
* available.
*/
-public class CheckForUpdates {
+public final class CheckForUpdates {
/**
* Returns the result of an update check.
@@ -78,7 +76,6 @@
// System properties used by CheckForUpdates
protected static final String PROPERTY_DEBUG_HTTP_GET = "gwt.debugLowLevelHttpGet";
- protected static final String PROPERTY_FORCE_NONNATIVE = "gwt.forceVersionCheckNonNative";
protected static final String PROPERTY_PREFS_NAME = "gwt.prefsPathName";
protected static final String PROPERTY_QUERY_URL = "gwt.forceVersionCheckURL";
@@ -158,12 +155,7 @@
public static CheckForUpdates createUpdateChecker(TreeLogger logger,
String entryPoint) {
- // Windows has a custom implementation to handle proxies.
- if (System.getProperty("os.name").toLowerCase(Locale.ROOT).contains("win")) {
- return new CheckForUpdatesIE6(logger, entryPoint);
- } else {
- return new CheckForUpdates(logger, entryPoint);
- }
+ return new CheckForUpdates(logger, entryPoint);
}
public static void logUpdateAvailable(TreeLogger logger,
@@ -312,7 +304,7 @@
// See if new version is available.
//
String url = queryURL + "?v=" + myVersion.toString() + "&id="
- + firstLaunch + "&r=" + About.getGwtSvnRev();
+ + firstLaunch + "&r=" + About.getGwtGitRev();
if (entryPoint != null) {
url += "&e=" + entryPoint;
}
@@ -321,17 +313,8 @@
// Do the HTTP GET.
//
- byte[] response;
String fullUserAgent = makeUserAgent();
- if (System.getProperty(PROPERTY_FORCE_NONNATIVE) == null) {
- // Use subclass.
- //
- response = doHttpGet(branch, fullUserAgent, url);
- } else {
- // Use the pure Java version, but it probably doesn't work with proxies.
- //
- response = httpGetNonNative(branch, fullUserAgent, url);
- }
+ byte[] response = doHttpGet(branch, fullUserAgent, url);
if (response == null || response.length == 0) {
// Problem. Quietly fail.
@@ -354,32 +337,7 @@
return null;
}
- /**
- * Default implementation just uses the platform-independent method. A
- * subclass should override this method for platform-dependent proxy handling,
- * for example.
- *
- * @param branch TreeLogger to use
- * @param userAgent user agent string to send in request
- * @param url URL to fetch
- * @return byte array of response, or null if an error
- */
- protected byte[] doHttpGet(TreeLogger branch, String userAgent, String url) {
- return httpGetNonNative(branch, userAgent, url);
- }
-
- /**
- * This default implementation uses regular Java HTTP, which doesn't deal with
- * proxies automagically. See the IE6 subclasses for an implementation that
- * does deal with proxies.
- *
- * @param branch TreeLogger to use
- * @param userAgent user agent string to send in request
- * @param url URL to fetch
- * @return byte array of response, or null if an error
- */
- protected byte[] httpGetNonNative(TreeLogger branch, String userAgent,
- String url) {
+ private byte[] doHttpGet(TreeLogger branch, String userAgent, String url) {
Throwable caught;
InputStream is = null;
try {
diff --git a/dev/core/src/com/google/gwt/dev/shell/ie/CheckForUpdatesIE6.java b/dev/core/src/com/google/gwt/dev/shell/ie/CheckForUpdatesIE6.java
deleted file mode 100644
index cf6fe14..0000000
--- a/dev/core/src/com/google/gwt/dev/shell/ie/CheckForUpdatesIE6.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright 2007 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-package com.google.gwt.dev.shell.ie;
-
-import com.google.gwt.core.ext.TreeLogger;
-import com.google.gwt.dev.shell.CheckForUpdates;
-
-/**
- * IE6 implementation of the update checker.
- */
-public class CheckForUpdatesIE6 extends CheckForUpdates {
-
- public CheckForUpdatesIE6(TreeLogger logger, String entryPoint) {
- super(logger, entryPoint);
- }
-
- @Override
- protected byte[] doHttpGet(TreeLogger branch, String userAgent, String url) {
- if (LowLevelIE6.init()) {
- return LowLevelIE6.httpGet(branch, userAgent, url,
- System.getProperty(PROPERTY_DEBUG_HTTP_GET) != null);
- } else {
- return super.doHttpGet(branch, userAgent, url);
- }
- }
-
-}
diff --git a/dev/core/src/com/google/gwt/dev/shell/ie/LowLevelIE6.java b/dev/core/src/com/google/gwt/dev/shell/ie/LowLevelIE6.java
deleted file mode 100644
index bd1d8e4..0000000
--- a/dev/core/src/com/google/gwt/dev/shell/ie/LowLevelIE6.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Copyright 2006 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-package com.google.gwt.dev.shell.ie;
-
-import com.google.gwt.core.ext.TreeLogger;
-import com.google.gwt.util.tools.Utility;
-
-import java.io.File;
-import java.io.IOException;
-
-/**
- * Various low-level helper methods for dealing with COM and such.
- */
-class LowLevelIE6 {
-
- private static boolean sInitialized = false;
-
- /**
- * Does an HTTP GET that works with Windows proxy settings. Set the system
- * property <code>gwt.debugLowLevelHttpGet</code> to print failure status
- * codes to stderr.
- *
- * @param userAgent the user-agent to specify for the GET
- * @param url the absolute URL to GET
- * @return the bytes of the full response (including headers), or
- * <code>null</code> if there's a problem
- */
- public static byte[] httpGet(TreeLogger branch, String userAgent, String url,
- boolean debugFlag) {
- if (!init()) {
- return null;
- }
- byte[][] out = new byte[1][];
- int status = _httpGet(userAgent, url, out);
- if (status == 0) {
- return out[0];
- } else {
- if (debugFlag) {
- branch.log(TreeLogger.ERROR, "GET failed with status " + status
- + " for " + url);
- }
- return null;
- }
- }
-
- public static synchronized boolean init() {
- if (!sInitialized) {
- File lib = new File(Utility.getInstallPath(), "gwt-ll.dll");
- if (!lib.exists()) {
- return false;
- }
- try {
- // Try to make canonical.
- System.load(lib.getCanonicalPath());
- } catch (IOException e) {
- return false;
- } catch (UnsatisfiedLinkError e) {
- return false;
- }
- sInitialized = true;
- }
- return true;
- }
-
- // CHECKSTYLE_OFF
- // out must be an array of size 1 to receive the array answer
- private static native int _httpGet(String userAgent, String url, byte[][] out);
-
- // CHECKSTYLE_ON
-
- /**
- * Not instantiable.
- */
- private LowLevelIE6() {
- }
-}