Skip to content

Commit

Permalink
Replace Google Analytics tracking component
Browse files Browse the repository at this point in the history
  • Loading branch information
my-flow committed Jan 17, 2016
1 parent 61ad18b commit 1337bc0
Show file tree
Hide file tree
Showing 8 changed files with 57 additions and 55 deletions.
10 changes: 5 additions & 5 deletions .classpath
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,6 @@
<classpathentry kind="src" path="src/test/java"/>
<classpathentry kind="src" path="src/main/resources"/>
<classpathentry kind="src" path="src/test/resources"/>
<classpathentry kind="lib" path="lib/JGoogleAnalyticsTracker-1.2.0.jar" sourcepath="/Users/fbreunig/.m2/repository/com/dmurph/JGoogleAnalyticsTracker/1.2.0/JGoogleAnalyticsTracker-1.2.0-sources.jar">
<attributes>
<attribute name="javadoc_location" value="http://www.dmurph.com/jgoogleanalyticstracker/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="lib/commons-lang-2.6.jar">
<attributes>
<attribute name="javadoc_location" value="https://commons.apache.org/proper/commons-lang/javadocs/api-2.6/"/>
Expand Down Expand Up @@ -54,6 +49,11 @@
<attribute name="javadoc_location" value="jar:platform:/resource/PayPalImporter/lib/jgoodies-forms-1.10-javadoc.jar!/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="lib/google-analytics-java-1.1.2.jar">
<attributes>
<attribute name="javadoc_location" value="https://brsanthu.github.io/google-analytics-java/javadocs/"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
<classpathentry kind="lib" path="lib/jmockit-1.5.jar"/>
<classpathentry kind="lib" path="lib/jmockit-coverage-1.5.jar"/>
Expand Down
16 changes: 12 additions & 4 deletions build.xml
Original file line number Diff line number Diff line change
Expand Up @@ -43,11 +43,13 @@
<pathelement path="${lib}/commons-lang-2.6.jar"/>
<pathelement path="${lib}/commons-lang3-3.4.jar"/>
<pathelement path="${lib}/commons-configuration-1.10.jar"/>
<pathelement path="${lib}/httpcore-4.3.jar"/>
<pathelement path="${lib}/httpclient-4.3.jar"/>
<pathelement path="${lib}/jcip-annotations-1.0.jar"/>
<pathelement path="${lib}/jgoodies-common-1.9.0.jar"/>
<pathelement path="${lib}/jgoodies-forms-1.10.jar"/>
<pathelement path="${lib}/jgoodies-validation-2.5.1.jar"/>
<pathelement path="${lib}/JGoogleAnalyticsTracker-1.2.0.jar"/>
<pathelement path="${lib}/google-analytics-java-1.1.2.jar"/>
<pathelement path="${lib}/merchantsdk-2.14.117.jar"/>
<pathelement path="${lib}/paypal-core-paypalimporter-1.7.0.jar"/>
<pathelement path="${lib}/prompt.jar"/>
Expand All @@ -61,12 +63,14 @@
<pathelement path="${lib}/commons-lang3-3.4.jar"/>
<pathelement path="${lib}/commons-logging-1.2.jar"/>
<pathelement path="${lib}/dropbox-java-sdk-1.5.jar"/>
<pathelement path="${lib}/httpcore-4.3.jar"/>
<pathelement path="${lib}/httpclient-4.3.jar"/>
<pathelement path="${lib}/java-hamcrest-2.0.0.0.jar"/>
<pathelement path="${lib}/jcip-annotations-1.0.jar"/>
<pathelement path="${lib}/jgoodies-common-1.9.0.jar"/>
<pathelement path="${lib}/jgoodies-forms-1.10.jar"/>
<pathelement path="${lib}/jgoodies-validation-2.5.1.jar"/>
<pathelement path="${lib}/JGoogleAnalyticsTracker-1.2.0.jar"/>
<pathelement path="${lib}/google-analytics-java-1.1.2.jar"/>
<pathelement path="${lib}/jmockit-coverage-1.5.jar"/>
<pathelement path="${lib}/jmockit-1.5.jar"/>
<pathelement path="${lib}/junit-4.12.jar"/>
Expand Down Expand Up @@ -169,12 +173,14 @@
<include name="commons-lang-2.6.jar"/>
<include name="commons-lang3-3.4.jar"/>
<include name="commons-configuration-1.10.jar"/>
<include name="httpcore-4.3.jar"/>
<include name="httpclient-4.3.jar"/>
<include name="jcip-annotations-1.0.jar"/>
<include name="jgoodies-common-1.9.0.jar"/>
<include name="jgoodies-forms-1.10.jar"/>
<include name="jgoodies-validation-2.5.1.jar"/>
<include name="commons-logging-1.2.jar"/>
<include name="JGoogleAnalyticsTracker-1.2.0.jar"/>
<include name="google-analytics-java-1.1.2.jar"/>
<include name="merchantsdk-2.14.117.jar"/>
<include name="paypal-core-paypalimporter-1.7.0.jar"/>
<include name="prompt.jar"/>
Expand Down Expand Up @@ -218,6 +224,8 @@
<rule pattern="com.jgoodies.**"
result="com.moneydance.modules.features.paypalimporter.jgoodies.@1"/>

<rule pattern="org.apache.http.**"
result="com.moneydance.modules.features.paypalimporter.apache.http.@1"/>
</jarjar>

<move file="${jar.file}" tofile="${build}/paypalimporter.jar"/>
Expand Down Expand Up @@ -369,7 +377,7 @@
<doctitle><![CDATA[<h1>PayPal Importer for Moneydance</h1>]]></doctitle>
<link href="http://download.oracle.com/javase/6/docs/api/"/>
<link href="http://moneydance.com/dev/apidoc/"/>
<link href="http://www.dmurph.com/jgoogleanalyticstracker/"/>
<link href="https://brsanthu.github.io/google-analytics-java/javadocs/"/>
<link href="http://www.slf4j.org/apidocs/"/>
<link href="http://commons.apache.org/configuration/apidocs/"/>
<link href="https://commons.apache.org/proper/commons-lang/javadocs/api-3.4/"/>
Expand Down
Binary file removed lib/JGoogleAnalyticsTracker-1.2.0.jar
Binary file not shown.
Binary file added lib/google-analytics-java-1.1.2.jar
Binary file not shown.
Binary file added lib/httpclient-4.3.jar
Binary file not shown.
Binary file added lib/httpcore-4.3.jar
Binary file not shown.
2 changes: 2 additions & 0 deletions proguard.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@
-dontwarn com.paypal.**
-dontwarn com.moneydance.modules.features.paypalimporter.jgoodies.**
-dontnote com.moneydance.modules.features.paypalimporter.jgoodies.**
-dontwarn com.moneydance.modules.features.paypalimporter.apache.http.**
-dontnote com.moneydance.modules.features.paypalimporter.apache.http.**

-dontoptimize
-dontobfuscate
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,14 @@

package com.moneydance.modules.features.paypalimporter.util;

import com.dmurph.tracking.AnalyticsConfigData;
import com.dmurph.tracking.JGoogleAnalyticsTracker;
import com.dmurph.tracking.JGoogleAnalyticsTracker.GoogleAnalyticsVersion;
import com.brsanthu.googleanalytics.EventHit;
import com.brsanthu.googleanalytics.GoogleAnalytics;
import com.brsanthu.googleanalytics.GoogleAnalyticsConfig;

import java.net.Authenticator;
import java.net.InetSocketAddress;
import java.net.PasswordAuthentication;
import java.net.Proxy;
import java.net.SocketAddress;

import org.apache.commons.lang3.StringUtils;

/**
* A facade for dispatching Google Analytics tracking information.
Expand All @@ -23,7 +22,7 @@ public final class Tracker {
private final String fullVersion;
private final String build;

private final JGoogleAnalyticsTracker analyticsTracker;
private final GoogleAnalytics analyticsTracker;

Tracker(final int argBuild,
final String argExtensionName,
Expand All @@ -32,55 +31,48 @@ public final class Tracker {
this.fullVersion = String.format("Moneydance %s", argFullVersion);
this.build = String.format("%s v%d", argExtensionName, argBuild);

if (!Proxy.NO_PROXY.equals(Tracker.getProxy())) {
JGoogleAnalyticsTracker.setProxy(Tracker.getProxy());
Settings settings = Helper.INSTANCE.getSettings();
boolean enabled = StringUtils.isNotEmpty(settings.getTrackingCode());

GoogleAnalyticsConfig config = new GoogleAnalyticsConfig();
config.setEnabled(enabled);

final Preferences prefs = Helper.INSTANCE.getPreferences();
if (prefs.hasProxy()) {
config.setProxyHost(prefs.getProxyHost());
config.setProxyPort(prefs.getProxyPort());

if (prefs.hasProxyAuthentication()) {
config.setProxyUserName(prefs.getProxyUsername());
config.setProxyPassword(prefs.getProxyPassword());
Authenticator.setDefault(new Authenticator() {
@Override
protected PasswordAuthentication
getPasswordAuthentication() {
return new PasswordAuthentication(
prefs.getProxyUsername(),
prefs.getProxyPassword().toCharArray());
}
});
}
}
AnalyticsConfigData config = new AnalyticsConfigData(argTrackingCode);
this.analyticsTracker = new JGoogleAnalyticsTracker(
config,
GoogleAnalyticsVersion.V_4_7_2);
this.analyticsTracker = new GoogleAnalytics(config, argTrackingCode);
}

public void track(final EventName eventName) {
this.analyticsTracker.trackEvent(
this.analyticsTracker.postAsync(new EventHit(
this.fullVersion,
eventName.toString(),
this.build);
this.build,
null));
}

public void track(final String eventName) {
this.analyticsTracker.trackEvent(
this.analyticsTracker.postAsync(new EventHit(
this.fullVersion,
eventName,
this.build);
}

private static Proxy getProxy() {
final Preferences prefs = Helper.INSTANCE.getPreferences();
if (!prefs.hasProxy()) {
return Proxy.NO_PROXY;
}

final SocketAddress socketAddress = new InetSocketAddress(
prefs.getProxyHost(),
prefs.getProxyPort());

boolean authProxy = prefs.hasProxyAuthentication();

Proxy.Type proxyType = Proxy.Type.HTTP;

if (authProxy) {
proxyType = Proxy.Type.SOCKS;
Authenticator.setDefault(new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(
prefs.getProxyUsername(),
prefs.getProxyPassword().toCharArray());
}
});
}
return new Proxy(proxyType, socketAddress);
this.build,
null));
}

/**
Expand All @@ -96,7 +88,7 @@ public enum EventName {

private final String eventString;

private EventName(final String argEventString) {
EventName(final String argEventString) {
this.eventString = argEventString;
}

Expand Down

0 comments on commit 1337bc0

Please sign in to comment.