A bit of rearrangement. Let's have all the actual tracking logic take place in
the launcher and let the Application continue to serve largely as an interface to our configuration information.
This commit is contained in:
@@ -43,7 +43,6 @@ import java.io.InputStreamReader;
|
|||||||
import java.net.MalformedURLException;
|
import java.net.MalformedURLException;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
import java.net.URLClassLoader;
|
import java.net.URLClassLoader;
|
||||||
import java.net.URLConnection;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
@@ -353,17 +352,19 @@ public class Application
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets a cookie for a tracking URL if we have an appropriate property to fetch it from,
|
* Returns the name of our tracking cookie or null if it was not set.
|
||||||
* an appropriate cookie name to assign, and the property is set to non-null.
|
|
||||||
*/
|
*/
|
||||||
public void maybeSetTrackingCookie (URLConnection conn)
|
public String getTrackingCookieName ()
|
||||||
{
|
{
|
||||||
if (_trackingCookieName != null && _trackingCookieProperty != null) {
|
return _trackingCookieName;
|
||||||
String val = System.getProperty(_trackingCookieProperty);
|
}
|
||||||
if (val != null) {
|
|
||||||
conn.setRequestProperty("Cookie", _trackingCookieName + "=" + val);
|
/**
|
||||||
}
|
* Returns the name of our tracking cookie system property or null if it was not set.
|
||||||
}
|
*/
|
||||||
|
public String getTrackingCookieProperty ()
|
||||||
|
{
|
||||||
|
return _trackingCookieProperty;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -853,7 +853,17 @@ public abstract class Getdown extends Thread
|
|||||||
public void run () {
|
public void run () {
|
||||||
try {
|
try {
|
||||||
HttpURLConnection ucon = (HttpURLConnection)_url.openConnection();
|
HttpURLConnection ucon = (HttpURLConnection)_url.openConnection();
|
||||||
_app.maybeSetTrackingCookie(ucon);
|
|
||||||
|
// if we have a tracking cookie configured, configure the request with it
|
||||||
|
if (_app.getTrackingCookieName() != null &&
|
||||||
|
_app.getTrackingCookieProperty() != null) {
|
||||||
|
String val = System.getProperty(_app.getTrackingCookieProperty());
|
||||||
|
if (val != null) {
|
||||||
|
ucon.setRequestProperty("Cookie", _app.getTrackingCookieName() + "=" + val);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// now request our tracking URL and ensure that we get a non-error response
|
||||||
ucon.connect();
|
ucon.connect();
|
||||||
try {
|
try {
|
||||||
if (ucon.getResponseCode() != HttpURLConnection.HTTP_OK) {
|
if (ucon.getResponseCode() != HttpURLConnection.HTTP_OK) {
|
||||||
@@ -863,6 +873,7 @@ public abstract class Getdown extends Thread
|
|||||||
} finally {
|
} finally {
|
||||||
ucon.disconnect();
|
ucon.disconnect();
|
||||||
}
|
}
|
||||||
|
|
||||||
} catch (IOException ioe) {
|
} catch (IOException ioe) {
|
||||||
Log.warning("Failed to report tracking event [url=" + _url +
|
Log.warning("Failed to report tracking event [url=" + _url +
|
||||||
", error=" + ioe + "].");
|
", error=" + ioe + "].");
|
||||||
|
|||||||
Reference in New Issue
Block a user