Author: adietish
Date: 2010-09-30 09:21:39 -0400 (Thu, 30 Sep 2010)
New Revision: 25324
Added:
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/googleanalytics/eclipse/CurrentLinuxDistro.java
Modified:
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/googleanalytics/AbstractGoogleAnalyticsParameters.java
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/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/googleanalytics/eclipse/AbstractEclipseEnvironment.java
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/googleanalytics/eclipse/EclipseUserAgent.java
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/googleanalytics/eclipse/IEclipseUserAgent.java
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/googleanalytics/eclipse/ILinuxDistro.java
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/internal/reporting/UsageReport.java
Log:
[JBIDE-7208] implementation finished. Need to make sure all linux variants get detected
correctly and GA gets the hit (GA should, tested that)
Modified:
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/googleanalytics/AbstractGoogleAnalyticsParameters.java
===================================================================
---
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/googleanalytics/AbstractGoogleAnalyticsParameters.java 2010-09-30
13:05:45 UTC (rev 25323)
+++
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/googleanalytics/AbstractGoogleAnalyticsParameters.java 2010-09-30
13:21:39 UTC (rev 25324)
@@ -19,11 +19,17 @@
private String accountName;
private String hostName;
private String referral;
+ private String userDefined;
public AbstractGoogleAnalyticsParameters(String accountName, String hostName, String
referral) {
+ this(accountName, hostName, referral, null);
+ }
+
+ public AbstractGoogleAnalyticsParameters(String accountName, String hostName, String
referral, String userDefined) {
this.accountName = accountName;
this.hostName = hostName;
this.referral = referral;
+ this.userDefined = userDefined;
}
public String getReferral() {
@@ -37,4 +43,8 @@
public String getHostname() {
return hostName;
}
+
+ public String getUserDefined() {
+ return userDefined;
+ }
}
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-09-30
13:05:45 UTC (rev 25323)
+++
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/googleanalytics/GoogleAnalyticsCookie.java 2010-09-30
13:21:39 UTC (rev 25324)
@@ -10,7 +10,6 @@
******************************************************************************/
package org.jboss.tools.usage.googleanalytics;
-
/**
* @author Andre Dietisheim
*/
@@ -30,6 +29,14 @@
this(identifier, value, (char) -1);
}
+ /**
+ * Appends the identifier and the value of this cookie to the given
+ * <code>StringBuilder</code>. If no value is present
<code>null</code>,
+ * nothing is appended.
+ *
+ * @param builder
+ * the builder
+ */
public void appendTo(StringBuilder builder) {
if (identifier != null && identifier.length() > 0 && value != null
&& value.length() > 0) {
builder.append(identifier)
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-09-30
13:05:45 UTC (rev 25323)
+++
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/googleanalytics/GoogleAnalyticsUrlStrategy.java 2010-09-30
13:21:39 UTC (rev 25324)
@@ -119,7 +119,7 @@
appendParameter(IGoogleAnalyticsParameters.PARAM_ACCOUNT_NAME,
googleParameters.getAccountName(), builder);
appendParameter(IGoogleAnalyticsParameters.PARAM_COOKIES, getCookies(), builder);
appendParameter(IGoogleAnalyticsParameters.PARAM_GAQ, "1", false, builder);
-
+
googleParameters.visit(); // update visit timestamps and count
return builder.toString();
@@ -162,19 +162,21 @@
.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_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)",
@@ -191,6 +193,10 @@
IGoogleAnalyticsParameters.PIPE)
.appendTo(builder);
+ new GoogleAnalyticsCookie(IGoogleAnalyticsParameters.PARAM_COOKIES_USERDEFINED,
+ googleParameters.getUserDefined())
+ .appendTo(builder);
+
new GoogleAnalyticsCookie(IGoogleAnalyticsParameters.PARAM_COOKIES_KEYWORD,
googleParameters.getKeyword())
.appendTo(builder);
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-09-30
13:05:45 UTC (rev 25323)
+++
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/googleanalytics/IGoogleAnalyticsParameters.java 2010-09-30
13:21:39 UTC (rev 25324)
@@ -38,6 +38,11 @@
public static final String PARAM_COOKIES_SESSION = "__utmb";
public static final String PARAM_COOKIES_BROWSERSESSION = "__utmc";
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";
+ public static final String PARAM_COOKIES_KEYWORD = "utmctr";
+ public static final String PARAM_COOKIES_USERDEFINED = "__utmv";
public static final String PARAM_REFERRAL = "utmr";
public static final String PARAM_TRACKING_CODE_VERSION = "utmwv";
@@ -52,10 +57,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_UTMCSR = "utmcsr";
- public static final String PARAM_COOKIES_UTMCCN = "utmccn";
- public static final String PARAM_COOKIES_UTMCMD = "utmcmd";
- public static final String PARAM_COOKIES_KEYWORD = "utmctr";
public static final String PARAM_AD_CONTENT = "utm_content";
public static final String VALUE_TRACKING_CODE_VERSION = "4.7.2";
@@ -102,4 +103,11 @@
public void visit();
public String getFlashVersion();
+
+ /**
+ * Returns a user defined value that may be queried in Google Analytics.
+ *
+ * @return a user defined value
+ */
+ public String getUserDefined();
}
Modified:
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/googleanalytics/eclipse/AbstractEclipseEnvironment.java
===================================================================
---
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/googleanalytics/eclipse/AbstractEclipseEnvironment.java 2010-09-30
13:05:45 UTC (rev 25323)
+++
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/googleanalytics/eclipse/AbstractEclipseEnvironment.java 2010-09-30
13:21:39 UTC (rev 25324)
@@ -25,7 +25,8 @@
/**
* @author Andre Dietisheim
*/
-public abstract class AbstractEclipseEnvironment extends
AbstractGoogleAnalyticsParameters implements IEclipseEnvironment {
+public abstract class AbstractEclipseEnvironment extends
AbstractGoogleAnalyticsParameters implements
+ IEclipseEnvironment {
private static final String SYSPROP_JAVA_VERSION = "java.version";
@@ -168,8 +169,18 @@
private String getJavaVersion() {
return System.getProperty(SYSPROP_JAVA_VERSION);
}
-
+
public IEclipseUserAgent getEclipseUserAgent() {
return eclipseUserAgent;
}
+
+ @Override
+ public String getUserDefined() {
+ return getLinuxDistroNameAndVersion();
+ }
+
+ protected String getLinuxDistroNameAndVersion() {
+ return CurrentLinuxDistro.getNameAndVersion();
+ }
+
}
Added:
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/googleanalytics/eclipse/CurrentLinuxDistro.java
===================================================================
---
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/googleanalytics/eclipse/CurrentLinuxDistro.java
(rev 0)
+++
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/googleanalytics/eclipse/CurrentLinuxDistro.java 2010-09-30
13:21:39 UTC (rev 25324)
@@ -0,0 +1,127 @@
+/*******************************************************************************
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.usage.googleanalytics.eclipse;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileReader;
+import java.io.IOException;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+public class CurrentLinuxDistro {
+
+ public static final LinuxDistro DEBIAN = new LinuxDistro("Debian",
"/etc/debian_version");
+ public static final LinuxDistro FEDORA = new LinuxDistro("Fedora",
"/etc/fedora-release");
+ public static final LinuxDistro GENTOO = new LinuxDistro("Gentoo",
"/etc/gentoo-release");
+ public static final LinuxDistro KNOPPIX = new LinuxDistro("Knoppix",
"knoppix_version");
+ public static final LinuxDistro MANDRAKE = new LinuxDistro("Mandrake",
"/etc/mandrake-release");
+ public static final LinuxDistro MANDRIVA = new LinuxDistro("Mandriva",
"/etc/mandriva-release");
+ public static final LinuxDistro PLD = new LinuxDistro("PLD",
"/etc/pld-release");
+ public static final LinuxDistro REDHAT = new LinuxDistro("RedHat",
"/etc/redhat-release");
+ public static final LinuxDistro SLACKWARE = new LinuxDistro("Slackware",
"/etc/slackware-version");
+ public static final LinuxDistro SUSE = new LinuxDistro("SUSE",
"/etc/SuSE-release");
+ public static final LinuxDistro UBUNTU = new LinuxDistro("Ubuntu",
"/etc/lsb-release");
+ public static final LinuxDistro YELLOWDOG = new LinuxDistro("YellowDog",
"/etc/yellowdog-release");
+
+ private static final LinuxDistro[] ALL = new LinuxDistro[] {
+ DEBIAN,
+ FEDORA,
+ GENTOO,
+ KNOPPIX,
+ MANDRAKE,
+ MANDRIVA,
+ PLD,
+ REDHAT,
+ SLACKWARE,
+ SUSE,
+ UBUNTU,
+ YELLOWDOG
+ };
+
+ public static LinuxDistro getDistro() {
+ for (LinuxDistro distro : ALL) {
+ if (distro.currentSysIsDistro()) {
+ return distro;
+ }
+ }
+ return null;
+
+ }
+
+ public static String getNameAndVersion() {
+ LinuxDistro distro = getDistro();
+ if (distro != null) {
+ return distro.getNameAndVersion();
+ } else {
+ return "";
+ }
+ }
+
+ public static class LinuxDistro {
+
+ /**
+ * The pattern to match the contents of the release-file -
+ * /etc/fedora-release etc. Attention: Ubuntu has multi-line release
+ * file
+ *
+ * @see <a
+ *
href="http://superuser.com/questions/11008/how-do-i-find-out-what-ve...
+ * strings</a>
+ */
+ private final Pattern VERSION_REGEX = Pattern.compile("([0-9.]+)");
+
+ private final String releaseFilePath;
+ private String name;
+
+ private LinuxDistro(String name, String releaseFilePath) {
+ this.name = name;
+ this.releaseFilePath = releaseFilePath;
+ }
+
+ private boolean currentSysIsDistro() {
+ return new File(releaseFilePath).exists();
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ private String getVersion() {
+ try {
+ String distroString = getDistroFileContent(releaseFilePath);
+ Matcher matcher = VERSION_REGEX.matcher(distroString);
+ if (matcher.find()) {
+ return matcher.group(1);
+ }
+ } catch (IOException e) {
+ }
+ return "";
+ }
+
+ private String getNameAndVersion() {
+ return new StringBuilder().append(getName()).append(getVersion()).toString();
+ }
+
+ protected String getDistroFileContent(String filePath) throws IOException {
+ int charachtersToRead = 1024;
+ StringBuilder builder = new StringBuilder(charachtersToRead);
+ BufferedReader reader = new BufferedReader(new FileReader(filePath));
+ char[] buf = new char[charachtersToRead];
+ int charRead = 0;
+ while ((charRead = reader.read(buf)) != -1 && builder.length() <
charachtersToRead) {
+ String readData = String.valueOf(buf, 0, charRead);
+ builder.append(readData);
+ }
+ reader.close();
+ return builder.toString();
+ }
+ }
+}
Property changes on:
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/googleanalytics/eclipse/CurrentLinuxDistro.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified:
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/googleanalytics/eclipse/EclipseUserAgent.java
===================================================================
---
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/googleanalytics/eclipse/EclipseUserAgent.java 2010-09-30
13:05:45 UTC (rev 25323)
+++
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/googleanalytics/eclipse/EclipseUserAgent.java 2010-09-30
13:21:39 UTC (rev 25324)
@@ -95,22 +95,9 @@
}
public String getOSVersion() {
- if (!Platform.OS_LINUX.equals(getOS())) {
- return System.getProperty(PROP_OS_VERSION);
- } else {
- return getLinuxDistro();
- }
+ return System.getProperty(PROP_OS_VERSION);
}
- protected String getLinuxDistro() {
- for (ILinuxDistro distro : ILinuxDistro.ALL) {
- if (distro.isDistro()) {
- return distro.getNameAndVersion();
- }
- }
- return "";
- }
-
private String getUserAgentPattern(String os) {
String userAgentPattern = ""; //$NON-NLS-1$
if (Platform.OS_LINUX.equals(os)) {
@@ -151,5 +138,4 @@
}
}
-
}
Modified:
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/googleanalytics/eclipse/IEclipseUserAgent.java
===================================================================
---
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/googleanalytics/eclipse/IEclipseUserAgent.java 2010-09-30
13:05:45 UTC (rev 25323)
+++
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/googleanalytics/eclipse/IEclipseUserAgent.java 2010-09-30
13:21:39 UTC (rev 25324)
@@ -16,9 +16,9 @@
*/
public interface IEclipseUserAgent {
- public abstract String getBrowserLanguage();
+ public String getBrowserLanguage();
- public abstract String getOS();
+ public String getOS();
/**
* Returns the version of the operating system this jre is currently running
@@ -29,10 +29,10 @@
* @see <a
href="http://lopica.sourceforge.net/os.html">list of os
versions
* and os names</a>
*/
- public abstract String getOSVersion();
+ public String getOSVersion();
- public abstract String getApplicationName();
+ public String getApplicationName();
- public abstract String getApplicationVersion();
+ public String getApplicationVersion();
}
\ No newline at end of file
Modified:
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/googleanalytics/eclipse/ILinuxDistro.java
===================================================================
---
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/googleanalytics/eclipse/ILinuxDistro.java 2010-09-30
13:05:45 UTC (rev 25323)
+++
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/googleanalytics/eclipse/ILinuxDistro.java 2010-09-30
13:21:39 UTC (rev 25324)
@@ -18,36 +18,58 @@
public interface ILinuxDistro {
- public static final ILinuxDistro DEBIAN = new LinuxDistro("Debian",
"/etc/debian_version");
- public static final ILinuxDistro FEDORA = new LinuxDistro("Fedora",
"/etc/fedora-release");
- public static final ILinuxDistro GENTOO = new LinuxDistro("Gentoo",
"/etc/gentoo-release");
- public static final ILinuxDistro KNOPPIX = new LinuxDistro("Knoppix",
"knoppix_version");
- public static final ILinuxDistro MANDRAKE = new LinuxDistro("Mandrake",
"/etc/mandrake-release");
- public static final ILinuxDistro MANDRIVA = new LinuxDistro("Mandriva",
"/etc/mandriva-release");
- public static final ILinuxDistro PLD = new LinuxDistro("PLD",
"/etc/pld-release");
- public static final ILinuxDistro REDHAT = new LinuxDistro("RedHat",
"/etc/redhat-release");
- public static final ILinuxDistro SLACKWARE = new LinuxDistro("Slackware",
"/etc/slackware-version");
- public static final ILinuxDistro SUSE = new LinuxDistro("SUSE",
"/etc/SuSE-release");
- public static final ILinuxDistro UBUNTU = new LinuxDistro("Ubuntu",
"/etc/lsb-release");
- public static final ILinuxDistro YELLOWDOG = new LinuxDistro("YellowDog",
"/etc/yellowdog-release");
+ public class CurrentDistro {
- public static final ILinuxDistro[] ALL = new ILinuxDistro[] {
- DEBIAN,
- FEDORA,
- GENTOO,
- KNOPPIX,
- MANDRAKE,
- MANDRIVA,
- PLD,
- REDHAT,
- SLACKWARE,
- SUSE,
- UBUNTU,
- YELLOWDOG
- };
+ public static final ILinuxDistro DEBIAN = new LinuxDistro("Debian",
"/etc/debian_version");
+ public static final ILinuxDistro FEDORA = new LinuxDistro("Fedora",
"/etc/fedora-release");
+ public static final ILinuxDistro GENTOO = new LinuxDistro("Gentoo",
"/etc/gentoo-release");
+ public static final ILinuxDistro KNOPPIX = new LinuxDistro("Knoppix",
"knoppix_version");
+ public static final ILinuxDistro MANDRAKE = new LinuxDistro("Mandrake",
"/etc/mandrake-release");
+ public static final ILinuxDistro MANDRIVA = new LinuxDistro("Mandriva",
"/etc/mandriva-release");
+ public static final ILinuxDistro PLD = new LinuxDistro("PLD",
"/etc/pld-release");
+ public static final ILinuxDistro REDHAT = new LinuxDistro("RedHat",
"/etc/redhat-release");
+ public static final ILinuxDistro SLACKWARE = new LinuxDistro("Slackware",
"/etc/slackware-version");
+ public static final ILinuxDistro SUSE = new LinuxDistro("SUSE",
"/etc/SuSE-release");
+ public static final ILinuxDistro UBUNTU = new LinuxDistro("Ubuntu",
"/etc/lsb-release");
+ public static final ILinuxDistro YELLOWDOG = new LinuxDistro("YellowDog",
"/etc/yellowdog-release");
+
+ private static final ILinuxDistro[] ALL = new ILinuxDistro[] {
+ DEBIAN,
+ FEDORA,
+ GENTOO,
+ KNOPPIX,
+ MANDRAKE,
+ MANDRIVA,
+ PLD,
+ REDHAT,
+ SLACKWARE,
+ SUSE,
+ UBUNTU,
+ YELLOWDOG
+ };
+
+ public ILinuxDistro getDistro() {
+ for (ILinuxDistro distro : ALL) {
+ if (distro.currentSysIsDistro()) {
+ return distro;
+ }
+ }
+ return null;
- public boolean isDistro();
+ }
+
+ public String getNameAndVersion() {
+ ILinuxDistro distro = getDistro();
+ if (distro != null) {
+ return distro.getName();
+ } else {
+ return "";
+ }
+ }
+ }
+ public boolean currentSysIsDistro();
+
public String getName();
public String getVersion();
@@ -75,7 +97,7 @@
this.releaseFilePath = releaseFilePath;
}
- public boolean isDistro() {
+ public boolean currentSysIsDistro() {
return new File(releaseFilePath).exists();
}
Modified:
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/internal/reporting/UsageReport.java
===================================================================
---
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/internal/reporting/UsageReport.java 2010-09-30
13:05:45 UTC (rev 25323)
+++
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/internal/reporting/UsageReport.java 2010-09-30
13:21:39 UTC (rev 25324)
@@ -83,6 +83,10 @@
}
}
+ /**
+ * Reports the usage of the current JBoss Tools / JBoss Developer Studio
+ * installation.
+ */
private void doReport() {
if (UsageReportPreferences.isEnabled()) {
IURLBuildingStrategy urlBuildingStrategy = new
GoogleAnalyticsUrlStrategy(eclipseEnvironment);