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
\r
23 .getPropertyHelper();
\r
25 // compbio.dundee.ac.uk GA tracker
\r
26 private static AnalyticsConfigData config = new AnalyticsConfigData(
\r
29 private static GoogleAnalyticsTracker TRACKER = new GoogleAnalyticsTracker(
\r
32 static final boolean IS_GA_ENABLED = isGoogleAnalyticsEnabled();
\r
34 private static String SERVER_ADDRESS = getServerIP();
\r
36 private static boolean isGoogleAnalyticsEnabled() {
\r
37 String val = PROP_HELPER.getProperty("enable.ga");
\r
38 if (Util.isEmpty(val)) {
\r
42 if ("yes".equalsIgnoreCase(val) || "true".equalsIgnoreCase(val)) {
\r
48 private static String getServerIP() {
\r
49 String IP = "127.0.0.1";
\r
50 if (!anonymizeIP()) {
\r
52 InetAddress localAddrIP = InetAddress.getLocalHost();
\r
53 IP = localAddrIP.getCanonicalHostName();
\r
54 } catch (UnknownHostException ignored) {
\r
60 private static boolean anonymizeIP() {
\r
61 String val = PROP_HELPER.getProperty("anonymize.ip");
\r
62 if (Util.isEmpty(val)) {
\r
65 if ("yes".equalsIgnoreCase(val) || "true".equalsIgnoreCase(val)) {
\r
71 static void reportUsage(Services service) {
\r
72 String service_name = "UNKNOWN";
\r
73 if (service == null) {
\r
74 log.warn("GA: Services was NULL!");
\r
76 service_name = service.toString();
\r
78 TRACKER.trackPageViewFromReferrer("JABAWS/2.0/" + service_name,
\r
79 service_name, "http://www.compbio.dundee.ac.uk",
\r
80 SERVER_ADDRESS, VERSION_TYPE);
\r
81 TRACKER.resetSession();
\r