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(config);
\r
29 static final boolean IS_GA_ENABLED = isGoogleAnalyticsEnabled();
\r
31 private static String SERVER_ADDRESS = getServerIP();
\r
33 private static boolean isGoogleAnalyticsEnabled() {
\r
34 String val = PROP_HELPER.getProperty("enable.ga");
\r
35 if (Util.isEmpty(val)) {
\r
39 if ("yes".equalsIgnoreCase(val) || "true".equalsIgnoreCase(val)) {
\r
45 private static String getServerIP() {
\r
46 String IP = "127.0.0.1";
\r
47 if (!anonymizeIP()) {
\r
49 InetAddress localAddrIP = InetAddress.getLocalHost();
\r
50 IP = localAddrIP.getCanonicalHostName();
\r
51 } catch (UnknownHostException ignored) {
\r
57 private static boolean anonymizeIP() {
\r
58 String val = PROP_HELPER.getProperty("anonymize.ip");
\r
59 if (Util.isEmpty(val)) {
\r
62 if ("yes".equalsIgnoreCase(val) || "true".equalsIgnoreCase(val)) {
\r
68 static void reportUsage(Services service) {
\r
69 String service_name = "UNKNOWN";
\r
70 if (service == null) {
\r
71 log.warn("GA: Services was NULL!");
\r
73 service_name = service.toString();
\r
75 String jabaws = "JABAWS/" + service.getJabawsVersion() + "/" + service_name;
\r
76 TRACKER.trackPageViewFromReferrer(jabaws, service_name, "http://www.compbio.dundee.ac.uk", SERVER_ADDRESS, VERSION_TYPE);
\r
77 TRACKER.resetSession();
\r
80 static void reportUsage(Services service, String CLIENT_ADDRESS) {
\r
81 String service_name = "UNKNOWN";
\r
82 if (service == null) {
\r
83 log.warn("GA: Services was NULL!");
\r
85 service_name = service.toString();
\r
87 String jabaws = "JABAWS/" + service.getJabawsVersion() + "/" + service_name;
\r
88 TRACKER.trackPageViewFromReferrer(jabaws, service_name, "http://www.compbio.dundee.ac.uk", CLIENT_ADDRESS, VERSION_TYPE);
\r
89 TRACKER.resetSession();
\r