1 package compbio.ws.server;
\r
3 import java.net.InetAddress;
\r
4 import java.net.UnknownHostException;
\r
6 import org.apache.log4j.Logger;
\r
8 import compbio.engine.conf.PropertyHelperManager;
\r
9 import compbio.stat.ga.AnalyticsConfigData;
\r
10 import compbio.stat.ga.GoogleAnalyticsTracker;
\r
11 import compbio.util.PropertyHelper;
\r
12 import compbio.util.Util;
\r
13 import compbio.ws.client.Services;
\r
15 public class GAUtils {
\r
17 // MODIFY BEFORE RELEASE!
\r
18 final static String VERSION_TYPE = "WAR";
\r
20 private static final Logger log = Logger.getLogger(GAUtils.class);
\r
22 static PropertyHelper PROP_HELPER = PropertyHelperManager.getPropertyHelper();
\r
24 // compbio.dundee.ac.uk GA tracker
\r
25 private static AnalyticsConfigData config = new AnalyticsConfigData("UA-5356328-1");
\r
27 private static GoogleAnalyticsTracker TRACKER = new GoogleAnalyticsTracker(
\r
30 static final boolean IS_GA_ENABLED = isGoogleAnalyticsEnabled();
\r
32 private static String SERVER_ADDRESS = getServerIP();
\r
34 private static boolean isGoogleAnalyticsEnabled() {
\r
35 String val = PROP_HELPER.getProperty("enable.ga");
\r
36 if (Util.isEmpty(val)) {
\r
40 if ("yes".equalsIgnoreCase(val) || "true".equalsIgnoreCase(val)) {
\r
46 private static String getServerIP() {
\r
47 String IP = "127.0.0.1";
\r
48 if (!anonymizeIP()) {
\r
50 InetAddress localAddrIP = InetAddress.getLocalHost();
\r
51 IP = localAddrIP.getCanonicalHostName();
\r
52 } catch (UnknownHostException ignored) {
\r
58 private static boolean anonymizeIP() {
\r
59 String val = PROP_HELPER.getProperty("anonymize.ip");
\r
60 if (Util.isEmpty(val)) {
\r
63 if ("yes".equalsIgnoreCase(val) || "true".equalsIgnoreCase(val)) {
\r
69 static void reportUsage(Services service) {
\r
70 String service_name = "UNKNOWN";
\r
71 if (service == null) {
\r
72 log.warn("GA: Services was NULL!");
\r
74 service_name = service.toString();
\r
76 TRACKER.trackPageViewFromReferrer("JABAWS/2.0/" + service_name,
\r
77 service_name, "http://www.compbio.dundee.ac.uk",
\r
78 SERVER_ADDRESS, VERSION_TYPE);
\r
79 TRACKER.resetSession();
\r