Author: adietish
Date: 2010-08-24 05:57:15 -0400 (Tue, 24 Aug 2010)
New Revision: 24375
Modified:
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/googleanalytics/GoogleAnalyticsCookie.java
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/googleanalytics/GoogleAnalyticsUrlStrategy.java
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/googleanalytics/IGoogleAnalyticsParameters.java
trunk/usage/tests/org.jboss.tools.usage.test/src/org/jboss/tools/usage/test/JBossToolsUsageIntegrationTest.java
Log:
[JBIDE-6881] added session cookies
Modified:
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/googleanalytics/GoogleAnalyticsCookie.java
===================================================================
---
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/googleanalytics/GoogleAnalyticsCookie.java 2010-08-24
09:11:16 UTC (rev 24374)
+++
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/googleanalytics/GoogleAnalyticsCookie.java 2010-08-24
09:57:15 UTC (rev 24375)
@@ -16,15 +16,15 @@
private CharSequence value;
private String identifier;
- private char delimiter;
+ private char[] delimiters;
- public GoogleAnalyticsCookie(String identifier, CharSequence value, char delimiter) {
+ public GoogleAnalyticsCookie(String identifier, CharSequence value, char... delimiters)
{
Assert.isTrue(identifier != null && identifier.length() > 0);
Assert.isTrue(value != null && value.length() > 0);
this.identifier = identifier;
this.value = value;
- this.delimiter = delimiter;
+ this.delimiters = delimiters;
}
public GoogleAnalyticsCookie(String identifier, CharSequence value) {
@@ -35,7 +35,7 @@
builder.append(identifier)
.append(IGoogleAnalyticsParameters.EQUALS_SIGN)
.append(value);
- if (delimiter != (char) -1) {
+ for (char delimiter : delimiters) {
builder.append(delimiter);
}
}
Modified:
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/googleanalytics/GoogleAnalyticsUrlStrategy.java
===================================================================
---
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/googleanalytics/GoogleAnalyticsUrlStrategy.java 2010-08-24
09:11:16 UTC (rev 24374)
+++
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/googleanalytics/GoogleAnalyticsUrlStrategy.java 2010-08-24
09:57:15 UTC (rev 24375)
@@ -27,14 +27,16 @@
* @see <a
*
href="http://code.google.com/apis/analytics/docs/concepts/gaConcepts...
* Set By Google Analytics</a>
- *
- * @see <a
href="http://www.morevisibility.com/analyticsblog/from-__utma-to-__u...
__utma to __utmz (Google Analytics Cookies)</a>
+ *
+ * @see <a
+ *
href="http://www.morevisibility.com/analyticsblog/from-__utma-to-__u...
+ * __utma to __utmz (Google Analytics Cookies)</a>
*/
public class GoogleAnalyticsUrlStrategy implements IURLBuildingStrategy {
private static final String TRACKING_URL =
"http://www.google-analytics.com/__utm.gif";
-// private static final int VISITS = -1;
+ // private static final int VISITS = -1;
private IGoogleAnalyticsParameters googleParameters;
@@ -114,22 +116,32 @@
appendParameter(IGoogleAnalyticsParameters.PARAM_PAGE_REQUEST,
focusPoint.getContentURI(), builder);
appendParameter(IGoogleAnalyticsParameters.PARAM_ACCOUNT_NAME,
googleParameters.getAccountName(), builder);
- appendParameter(IGoogleAnalyticsParameters.PARAM_COOKIES, getCookies(focusPoint),
builder);
+ appendParameter(IGoogleAnalyticsParameters.PARAM_COOKIES, getCookies(), builder);
appendParameter(IGoogleAnalyticsParameters.PARAM_GAQ, "1", false, builder);
googleParameters.visit();
-
+
return builder.toString();
}
- private String getCookies(FocusPoint focusPoint) {
+ /**
+ * Returns the google analytics cookies. These cookies determines user
+ * identity, session identity etc.
+ *
+ * @return the cookies
+ *
+ * @see <a
+ *
href="http://www.analyticsexperts.com/google-analytics/information-a...
+ * about the utmLinker and the __utma, __utmb and __utmc cookies</a>
+ */
+ private String getCookies() {
StringBuilder builder = new StringBuilder();
/**
* unique visitor id cookie has to be unique per eclipse installation
*/
-// String timeStamp = "-1"; //String.valueOf(System.currentTimeMillis());
-
+ // String timeStamp = "-1";
+ // //String.valueOf(System.currentTimeMillis());
new GoogleAnalyticsCookie(IGoogleAnalyticsParameters.PARAM_COOKIES_UNIQUE_VISITOR_ID,
new StringBuilder().append("999.")
.append(googleParameters.getUserId()).append(IGoogleAnalyticsParameters.DOT)
@@ -141,13 +153,19 @@
IGoogleAnalyticsParameters.PLUS_SIGN)
.appendTo(builder);
- new GoogleAnalyticsCookie(IGoogleAnalyticsParameters.PARAM_COOKIES_REFERRAL_TYPE,
- new StringBuilder()
- .append("999.")
- .append(googleParameters.getFirstVisit())
- .append(IGoogleAnalyticsParameters.DOT)
- .append("1.1."))
- .appendTo(builder);
+ new GoogleAnalyticsCookie(IGoogleAnalyticsParameters.PARAM_COOKIES_SESSION,
+ new StringBuilder()
+ .append("1"),
+ IGoogleAnalyticsParameters.SEMICOLON
+ , IGoogleAnalyticsParameters.PLUS_SIGN)
+ .appendTo(builder);
+
+ new GoogleAnalyticsCookie(IGoogleAnalyticsParameters.PARAM_COOKIES_BROWSERSESSION,
+ new StringBuilder()
+ .append("1"),
+ IGoogleAnalyticsParameters.SEMICOLON
+ , IGoogleAnalyticsParameters.PLUS_SIGN)
+ .appendTo(builder);
new GoogleAnalyticsCookie(IGoogleAnalyticsParameters.PARAM_COOKIES_UTMCSR,
"(direct)",
@@ -160,14 +178,14 @@
.appendTo(builder);
new GoogleAnalyticsCookie(IGoogleAnalyticsParameters.PARAM_COOKIES_UTMCMD,
- "(none)",
+ "(none)",
IGoogleAnalyticsParameters.PIPE)
.appendTo(builder);
new GoogleAnalyticsCookie(IGoogleAnalyticsParameters.PARAM_COOKIES_KEYWORD,
googleParameters.getKeyword())
- .appendTo(builder);
-
+ .appendTo(builder);
+
builder.append(IGoogleAnalyticsParameters.SEMICOLON);
return EncodingUtils.checkedEncodeUtf8(builder.toString());
Modified:
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/googleanalytics/IGoogleAnalyticsParameters.java
===================================================================
---
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/googleanalytics/IGoogleAnalyticsParameters.java 2010-08-24
09:11:16 UTC (rev 24374)
+++
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/googleanalytics/IGoogleAnalyticsParameters.java 2010-08-24
09:57:15 UTC (rev 24375)
@@ -37,6 +37,8 @@
public static final String PARAM_HOST_NAME = "utmhn";
public static final String PARAM_COOKIES = "utmcc";
public static final String PARAM_COOKIES_UNIQUE_VISITOR_ID = "__utma";
+ public static final String PARAM_COOKIES_SESSION = "__utmb";
+ public static final String PARAM_COOKIES_BROWSERSESSION = "__utmc";
public static final String PARAM_REFERRAL = "utmr";
public static final String PARAM_TRACKING_CODE_VERSION = "utmwv";
@@ -50,7 +52,6 @@
public static final String PARAM_REPEAT_CAMPAIGN_VISIT = "utmcr";
public static final String PARAM_PAGE_TITLE = "utmdt";
public static final String PARAM_GAQ = "gaq";
- public static final String PARAM_COOKIES_REFERRAL_TYPE = "__utmz";
public static final String PARAM_COOKIES_UTMCSR = "utmcsr";
public static final String PARAM_COOKIES_UTMCCN = "utmccn";
public static final String PARAM_COOKIES_UTMCMD = "utmcmd";
Modified:
trunk/usage/tests/org.jboss.tools.usage.test/src/org/jboss/tools/usage/test/JBossToolsUsageIntegrationTest.java
===================================================================
---
trunk/usage/tests/org.jboss.tools.usage.test/src/org/jboss/tools/usage/test/JBossToolsUsageIntegrationTest.java 2010-08-24
09:11:16 UTC (rev 24374)
+++
trunk/usage/tests/org.jboss.tools.usage.test/src/org/jboss/tools/usage/test/JBossToolsUsageIntegrationTest.java 2010-08-24
09:57:15 UTC (rev 24375)
@@ -52,8 +52,8 @@
tracker = getTracker(getEclipseEnvironmentInstance());
tracker.trackSynchronously(focusPoint);
String newUserId = getUserId(tracker.getTrackingUrl());
+
assertTrue(newUserId != null);
-
assertEquals(userId, newUserId);
}
@@ -66,11 +66,11 @@
tracker = getTracker(createEclipseEnvironment());
FocusPoint focusPoint =
createFocusPoint("testDifferentUserIdOnDifferentEclipseInstance"
- + +System.currentTimeMillis());
+ + System.currentTimeMillis());
tracker.trackSynchronously(focusPoint);
String newUserId = getUserId(tracker.getTrackingUrl());
+
assertTrue(newUserId != null);
-
assertTrue(!userId.equals(newUserId));
}