Author: adietish
Date: 2010-09-28 07:08:18 -0400 (Tue, 28 Sep 2010)
New Revision: 25250
Added:
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/googleanalytics/IJBossToolsEclipseEnvironment.java
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/reporting/JBossToolsEclipseEnvironment.java
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/tracker/internal/SuffixFocusPoint.java
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/util/DateUtils.java
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/util/StringUtils.java
Removed:
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/reporting/ReportingEclipseEnvironment.java
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/tracker/internal/EclipseIDETrackerFactory.java
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/tracker/internal/JBossToolsFocusPoint.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/IGoogleAnalyticsParameters.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/reporting/UsageReport.java
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/tracker/internal/FocusPoint.java
trunk/usage/tests/org.jboss.tools.usage.test/src/org/jboss/tools/usage/test/GoogleAnalyticsUrlStrategyTest.java
trunk/usage/tests/org.jboss.tools.usage.test/src/org/jboss/tools/usage/test/JBossToolsFocusPointTest.java
trunk/usage/tests/org.jboss.tools.usage.test/src/org/jboss/tools/usage/test/JBossToolsTestsFocusPoint.java
trunk/usage/tests/org.jboss.tools.usage.test/src/org/jboss/tools/usage/test/fakes/ReportingEclipseEnvironmentFake.java
Log:
[7144] started to implement Google Analytics parameters reporting
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-28
09:23:38 UTC (rev 25249)
+++
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/googleanalytics/AbstractGoogleAnalyticsParameters.java 2010-09-28
11:08:18 UTC (rev 25250)
@@ -12,7 +12,6 @@
import org.jboss.tools.usage.IHumanReadable;
-
/**
* @author Andre Dietisheim
*/
@@ -35,8 +34,10 @@
public String getAccountName() {
return accountName;
}
-
+
public String getHostname() {
return hostName;
}
+
+ public abstract String toHumanReadable();
}
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-28
09:23:38 UTC (rev 25249)
+++
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/googleanalytics/IGoogleAnalyticsParameters.java 2010-09-28
11:08:18 UTC (rev 25250)
@@ -92,7 +92,7 @@
public long getVisitCount();
/**
- * Tells that a visit was triggered. The
+ * Signals that a visit was executed. The
* consequence is that visit timestamps and visit counters get updated
*
* @see #getLastVisit()
Added:
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/googleanalytics/IJBossToolsEclipseEnvironment.java
===================================================================
---
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/googleanalytics/IJBossToolsEclipseEnvironment.java
(rev 0)
+++
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/googleanalytics/IJBossToolsEclipseEnvironment.java 2010-09-28
11:08:18 UTC (rev 25250)
@@ -0,0 +1,6 @@
+package org.jboss.tools.usage.googleanalytics;
+
+public interface IJBossToolsEclipseEnvironment extends IGoogleAnalyticsParameters {
+
+ public String getJBossToolsVersion();
+}
Property changes on:
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/googleanalytics/IJBossToolsEclipseEnvironment.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-28
09:23:38 UTC (rev 25249)
+++
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/googleanalytics/eclipse/EclipseUserAgent.java 2010-09-28
11:08:18 UTC (rev 25250)
@@ -16,6 +16,7 @@
import org.eclipse.core.runtime.Platform;
import org.jboss.tools.usage.IHumanReadable;
import org.jboss.tools.usage.googleanalytics.IUserAgent;
+import org.jboss.tools.usage.util.StringUtils;
import org.osgi.framework.Bundle;
/**
@@ -23,8 +24,6 @@
*/
public class EclipseUserAgent implements IUserAgent, IHumanReadable {
- private static final String LINE_SEPARATOR_KEY = "line.separator";
-
public static final char JAVA_LOCALE_DELIMITER = '_';
private static final String ECLIPSE_RUNTIME_BULDEID =
"org.eclipse.core.runtime"; //$NON-NLS-1$
@@ -96,26 +95,22 @@
StringBuilder builder = new StringBuilder();
builder.append("product id: ")
.append(getApplicationName())
- .append(getLineSeparator())
+ .append(StringUtils.getLineSeparator())
.append("product version: ")
.append( getApplicationVersion())
- .append(getLineSeparator())
+ .append(StringUtils.getLineSeparator())
.append("operatign system: ")
.append(getOS())
- .append(getLineSeparator())
+ .append(StringUtils.getLineSeparator())
.append("operating system version: ")
.append(getOSVersion())
- .append(getLineSeparator())
+ .append(StringUtils.getLineSeparator())
.append("locale: ")
.append(getBrowserLanguage())
- .append(getLineSeparator());
+ .append(StringUtils.getLineSeparator());
return builder.toString();
}
- private String getLineSeparator() {
- return System.getProperty(LINE_SEPARATOR_KEY);
- }
-
protected String getOS() {
return Platform.getOS();
}
Copied:
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/reporting/JBossToolsEclipseEnvironment.java
(from rev 25248,
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/reporting/ReportingEclipseEnvironment.java)
===================================================================
---
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/reporting/JBossToolsEclipseEnvironment.java
(rev 0)
+++
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/reporting/JBossToolsEclipseEnvironment.java 2010-09-28
11:08:18 UTC (rev 25250)
@@ -0,0 +1,103 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Red Hat, Inc.
+ * 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.reporting;
+
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.Collection;
+import java.util.Date;
+
+import org.eclipse.core.runtime.IBundleGroupProvider;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.core.runtime.preferences.IEclipsePreferences;
+import org.jboss.tools.usage.googleanalytics.IJBossToolsEclipseEnvironment;
+import org.jboss.tools.usage.googleanalytics.eclipse.AbstractEclipseEnvironment;
+import org.jboss.tools.usage.internal.JBossToolsUsageActivator;
+import org.jboss.tools.usage.util.DateUtils;
+import org.jboss.tools.usage.util.StringUtils;
+
+/**
+ * @author Andre Dietisheim
+ */
+public class JBossToolsEclipseEnvironment extends AbstractEclipseEnvironment implements
IJBossToolsEclipseEnvironment {
+
+ private static final char JBOSS_COMPONENTS_DELIMITER = '-';
+
+ private static final DateFormat DATE_FORMAT =
SimpleDateFormat.getDateTimeInstance(DateFormat.MEDIUM,
+ DateFormat.SHORT);
+
+ public JBossToolsEclipseEnvironment(String accountName, String hostName,
IEclipsePreferences preferences) {
+ super(accountName, hostName, preferences);
+ }
+
+ @Override
+ public String getKeyword() {
+ Collection<String> jbossComponentNames =
JBossToolsComponents.getComponentIds(getBundleGroupProviders());
+ return bundleGroupsToKeywordString(jbossComponentNames);
+ }
+
+ protected IBundleGroupProvider[] getBundleGroupProviders() {
+ return Platform.getBundleGroupProviders();
+ }
+
+ private String bundleGroupsToKeywordString(Collection<String> jbossComponentNames)
{
+ char delimiter = JBOSS_COMPONENTS_DELIMITER;
+ StringBuilder builder = new StringBuilder();
+ for (String componentName : jbossComponentNames) {
+ builder.append(componentName)
+ .append(delimiter);
+ }
+ return builder.toString();
+ }
+
+ public String getJBossToolsVersion() {
+ return JBossToolsUsageActivator.getDefault().getBundle().getVersion().toString();
+ }
+
+ @Override
+ public String toHumanReadable() {
+ StringBuilder builder = new StringBuilder();
+
+ builder.append("JBoss Tools Version: ")
+ .append(getJBossToolsVersion())
+ .append(StringUtils.getLineSeparator());
+
+ builder.append("JBoss Tools Components: ")
+ .append(getKeyword())
+ .append(StringUtils.getLineSeparator());
+
+ builder.append("Number of Visits: ")
+ .append(getVisitCount())
+ .append(StringUtils.getLineSeparator());
+
+ builder.append("First Visit: ")
+ .append(getFormattedDate(getFirstVisit()))
+ .append(StringUtils.getLineSeparator());
+
+ builder.append("Last Visit: ")
+ .append(getFormattedDate(getLastVisit()))
+ .append(StringUtils.getLineSeparator());
+
+ builder.append("Google Analytics Account: ")
+ .append(getAccountName())
+ .append(StringUtils.getLineSeparator());
+ return builder.toString();
+ }
+
+ private String getFormattedDate(String dateString) {
+ Date date = DateUtils.checkedParseDateString(dateString);
+ if (date != null) {
+ return DATE_FORMAT.format(date);
+ } else {
+ return "";
+ }
+ }
+}
Deleted:
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/reporting/ReportingEclipseEnvironment.java
===================================================================
---
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/reporting/ReportingEclipseEnvironment.java 2010-09-28
09:23:38 UTC (rev 25249)
+++
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/reporting/ReportingEclipseEnvironment.java 2010-09-28
11:08:18 UTC (rev 25250)
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 Red Hat, Inc.
- * 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.reporting;
-
-import java.util.Collection;
-
-import org.eclipse.core.runtime.IBundleGroupProvider;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.preferences.IEclipsePreferences;
-import org.jboss.tools.usage.googleanalytics.eclipse.AbstractEclipseEnvironment;
-
-/**
- * @author Andre Dietisheim
- */
-public class ReportingEclipseEnvironment extends AbstractEclipseEnvironment {
-
- private static final char JBOSS_COMPONENTS_DELIMITER = '-';
-
- public ReportingEclipseEnvironment(String accountName, String hostName,
IEclipsePreferences preferences) {
- super(accountName, hostName, preferences);
- }
-
- @Override
- public String getKeyword() {
- Collection<String> jbossComponentNames =
JBossToolsComponents.getComponentIds(getBundleGroupProviders());
- return bundleGroupsToKeywordString(jbossComponentNames );
- }
-
- protected IBundleGroupProvider[] getBundleGroupProviders() {
- return Platform.getBundleGroupProviders();
- }
-
- private String bundleGroupsToKeywordString(Collection<String> jbossComponentNames)
{
- char delimiter = JBOSS_COMPONENTS_DELIMITER;
- StringBuilder builder = new StringBuilder();
- for (String componentName : jbossComponentNames) {
- builder.append(componentName)
- .append(delimiter);
- }
- return builder.toString();
- }
-}
Modified:
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/reporting/UsageReport.java
===================================================================
---
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/reporting/UsageReport.java 2010-09-28
09:23:38 UTC (rev 25249)
+++
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/reporting/UsageReport.java 2010-09-28
11:08:18 UTC (rev 25250)
@@ -19,14 +19,22 @@
import org.eclipse.jface.window.Window;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.progress.UIJob;
+import org.jboss.tools.usage.googleanalytics.GoogleAnalyticsUrlStrategy;
+import org.jboss.tools.usage.googleanalytics.IJBossToolsEclipseEnvironment;
+import org.jboss.tools.usage.http.HttpGetRequest;
+import org.jboss.tools.usage.internal.JBDSUtils;
import org.jboss.tools.usage.internal.JBossToolsUsageActivator;
import org.jboss.tools.usage.preferences.GlobalUsageSettings;
import org.jboss.tools.usage.preferences.UsageReportPreferences;
+import org.jboss.tools.usage.preferences.UsageReportPreferencesUtils;
import org.jboss.tools.usage.tracker.IFocusPoint;
+import org.jboss.tools.usage.tracker.ILoggingAdapter;
import org.jboss.tools.usage.tracker.ITracker;
-import org.jboss.tools.usage.tracker.internal.EclipseIDETrackerFactory;
+import org.jboss.tools.usage.tracker.IURLBuildingStrategy;
import org.jboss.tools.usage.tracker.internal.FocusPoint;
-import org.jboss.tools.usage.tracker.internal.JBossToolsFocusPoint;
+import org.jboss.tools.usage.tracker.internal.PluginLogger;
+import org.jboss.tools.usage.tracker.internal.SuffixFocusPoint;
+import org.jboss.tools.usage.tracker.internal.Tracker;
import org.jboss.tools.usage.util.StatusUtils;
import org.osgi.service.prefs.BackingStoreException;
@@ -39,8 +47,11 @@
private GlobalUsageSettings globalSettings;
+ private IJBossToolsEclipseEnvironment eclipseEnvironment;
+
public UsageReport() {
- focusPoint = new JBossToolsFocusPoint("tools") //$NON-NLS-1$
+ eclipseEnvironment = createEclipseEnvironment();
+ focusPoint = new SuffixFocusPoint("tools",
eclipseEnvironment.getJBossToolsVersion()) //$NON-NLS-1$
.setChild(new FocusPoint("usage") //$NON-NLS-1$
.setChild(new FocusPoint("action") //$NON-NLS-1$
.setChild(new FocusPoint("wsstartup")))); //$NON-NLS-1$
@@ -76,11 +87,38 @@
private void doReport() {
if (UsageReportPreferences.isEnabled()) {
- ITracker tracker = EclipseIDETrackerFactory.INSTANCE.create();
+ IURLBuildingStrategy urlBuildingStrategy = new
GoogleAnalyticsUrlStrategy(eclipseEnvironment);
+ ILoggingAdapter loggingAdapter = new
PluginLogger(JBossToolsUsageActivator.getDefault());
+ ITracker tracker = new Tracker(
+ urlBuildingStrategy
+ , new HttpGetRequest(eclipseEnvironment.getUserAgent(), loggingAdapter)
+ , loggingAdapter);
tracker.trackAsynchronously(focusPoint);
}
}
-
+
+ private IJBossToolsEclipseEnvironment createEclipseEnvironment() {
+ return new JBossToolsEclipseEnvironment(
+ getGoogleAnalyticsAccount(), getGoogleAnalyticsHostname(),
+ UsageReportPreferencesUtils.getPreferences());
+ }
+
+ private String getGoogleAnalyticsAccount() {
+ if (JBDSUtils.isJBDS()) {
+ return ReportingMessages.UsageReport_GoogleAnalytics_Account_JBDS;
+ } else {
+ return ReportingMessages.UsageReport_GoogleAnalytics_Account;
+ }
+ }
+
+ private String getGoogleAnalyticsHostname() {
+ if (JBDSUtils.isJBDS()) {
+ return ReportingMessages.UsageReport_HostName_JBDS;
+ } else {
+ return ReportingMessages.UsageReport_HostName;
+ }
+ }
+
private class ReportingJob extends Job {
private ReportingJob() {
super(ReportingMessages.UsageReport_Reporting_Usage);
Deleted:
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/tracker/internal/EclipseIDETrackerFactory.java
===================================================================
---
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/tracker/internal/EclipseIDETrackerFactory.java 2010-09-28
09:23:38 UTC (rev 25249)
+++
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/tracker/internal/EclipseIDETrackerFactory.java 2010-09-28
11:08:18 UTC (rev 25250)
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 Red Hat, Inc.
- * 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.tracker.internal;
-
-import org.jboss.tools.usage.googleanalytics.GoogleAnalyticsUrlStrategy;
-import org.jboss.tools.usage.googleanalytics.IGoogleAnalyticsParameters;
-import org.jboss.tools.usage.http.HttpGetRequest;
-import org.jboss.tools.usage.internal.JBDSUtils;
-import org.jboss.tools.usage.internal.JBossToolsUsageActivator;
-import org.jboss.tools.usage.preferences.UsageReportPreferencesUtils;
-import org.jboss.tools.usage.reporting.ReportingEclipseEnvironment;
-import org.jboss.tools.usage.reporting.ReportingMessages;
-import org.jboss.tools.usage.tracker.ILoggingAdapter;
-import org.jboss.tools.usage.tracker.ITracker;
-import org.jboss.tools.usage.tracker.IURLBuildingStrategy;
-
-public class EclipseIDETrackerFactory {
-
- public static final EclipseIDETrackerFactory INSTANCE = new EclipseIDETrackerFactory();
-
- public ITracker create() {
- IGoogleAnalyticsParameters eclipseEnvironment = createEclipseEnvironment();
- IURLBuildingStrategy urlBuildingStrategy = new
GoogleAnalyticsUrlStrategy(eclipseEnvironment);
- ILoggingAdapter loggingAdapter = new
PluginLogger(JBossToolsUsageActivator.getDefault());
- return new Tracker(
- urlBuildingStrategy
- , new HttpGetRequest(eclipseEnvironment.getUserAgent(), loggingAdapter)
- , loggingAdapter);
- }
-
- private IGoogleAnalyticsParameters createEclipseEnvironment() {
- return new ReportingEclipseEnvironment(getGoogleAnalyticsAccount(),
getGoogleAnalyticsHostname(), UsageReportPreferencesUtils.getPreferences());
- }
-
- private String getGoogleAnalyticsAccount() {
- if (JBDSUtils.isJBDS()) {
- return ReportingMessages.UsageReport_GoogleAnalytics_Account_JBDS;
- } else {
- return ReportingMessages.UsageReport_GoogleAnalytics_Account;
- }
- }
-
- private String getGoogleAnalyticsHostname() {
- if (JBDSUtils.isJBDS()) {
- return ReportingMessages.UsageReport_HostName_JBDS;
- } else {
- return ReportingMessages.UsageReport_HostName;
- }
- }
-}
Modified:
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/tracker/internal/FocusPoint.java
===================================================================
---
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/tracker/internal/FocusPoint.java 2010-09-28
09:23:38 UTC (rev 25249)
+++
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/tracker/internal/FocusPoint.java 2010-09-28
11:08:18 UTC (rev 25250)
@@ -66,13 +66,21 @@
protected void appendContentURI(StringBuilder builder, IFocusPoint focusPoint) {
IFocusPoint parentFocuPoint = focusPoint.getChild();
- builder.append(URI_SEPARATOR);
- builder.append(focusPoint.getName());
+ appendToURI(focusPoint.getName(), builder);
if (parentFocuPoint != null) {
appendContentURI(builder, parentFocuPoint);
}
}
+
+ protected void appendToURI(String toAppend, StringBuilder builder) {
+ builder.append(URI_SEPARATOR);
+ builder.append(toAppend);
+ }
+ protected void appendToTitle(String toAppend, StringBuilder builder) {
+ builder.append(TITLE_SEPARATOR);
+ builder.append(toAppend);
+ }
/* (non-Javadoc)
* @see org.jboss.tools.usage.tracker.internal.IFocusPoint#getTitle()
*/
Deleted:
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/tracker/internal/JBossToolsFocusPoint.java
===================================================================
---
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/tracker/internal/JBossToolsFocusPoint.java 2010-09-28
09:23:38 UTC (rev 25249)
+++
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/tracker/internal/JBossToolsFocusPoint.java 2010-09-28
11:08:18 UTC (rev 25250)
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 Red Hat, Inc.
- * 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.tracker.internal;
-
-import org.jboss.tools.usage.internal.JBossToolsUsageActivator;
-import org.jboss.tools.usage.util.HttpEncodingUtils;
-
-/**
- * A focus point that always reports the current jboss tools version as last
- * component.
- */
-public class JBossToolsFocusPoint extends FocusPoint {
-
- public JBossToolsFocusPoint(String name) {
- super(name);
- }
-
- @Override
- public String getURI() {
- StringBuilder builder = new StringBuilder();
- appendContentURI(builder, this);
- appendJBossToolsVersion(builder, URI_SEPARATOR);
- return HttpEncodingUtils.checkedEncodeUtf8(builder.toString());
- }
-
- protected void appendJBossToolsVersion(StringBuilder builder, String separator) {
- builder.append(separator);
- builder.append(getJBossToolsVersion());
- }
-
- @Override
- public String getTitle() {
- StringBuilder builder = new StringBuilder();
- appendContentTitle(builder, this);
- appendJBossToolsVersion(builder, TITLE_SEPARATOR);
- return HttpEncodingUtils.checkedEncodeUtf8(builder.toString());
- }
-
- protected String getJBossToolsVersion() {
- return JBossToolsUsageActivator.getDefault().getBundle().getVersion().toString();
- }
-}
Copied:
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/tracker/internal/SuffixFocusPoint.java
(from rev 25249,
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/tracker/internal/JBossToolsFocusPoint.java)
===================================================================
---
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/tracker/internal/SuffixFocusPoint.java
(rev 0)
+++
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/tracker/internal/SuffixFocusPoint.java 2010-09-28
11:08:18 UTC (rev 25250)
@@ -0,0 +1,43 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Red Hat, Inc.
+ * 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.tracker.internal;
+
+import org.jboss.tools.usage.util.HttpEncodingUtils;
+
+/**
+ * A focus point that always reports the current jboss tools version as last
+ * component.
+ */
+public class SuffixFocusPoint extends FocusPoint {
+
+ private String suffix;
+
+ public SuffixFocusPoint(String name, String suffix) {
+ super(name);
+ this.suffix = suffix;
+ }
+
+ @Override
+ public String getURI() {
+ StringBuilder builder = new StringBuilder();
+ appendContentURI(builder, this);
+ appendToURI(suffix, builder);
+ return HttpEncodingUtils.checkedEncodeUtf8(builder.toString());
+ }
+
+ @Override
+ public String getTitle() {
+ StringBuilder builder = new StringBuilder();
+ appendContentTitle(builder, this);
+ appendToTitle(suffix, builder);
+ return HttpEncodingUtils.checkedEncodeUtf8(builder.toString());
+ }
+}
Property changes on:
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/tracker/internal/SuffixFocusPoint.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/util/DateUtils.java
===================================================================
---
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/util/DateUtils.java
(rev 0)
+++
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/util/DateUtils.java 2010-09-28
11:08:18 UTC (rev 25250)
@@ -0,0 +1,33 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Red Hat, Inc.
+ * 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.util;
+
+import java.text.DateFormat;
+import java.text.ParseException;
+import java.util.Date;
+
+
+public class DateUtils {
+
+ private DateUtils() {
+ }
+
+ private static final DateFormat DATE_FORMAT = DateFormat.getDateTimeInstance();
+
+ public static Date checkedParseDateString(String date) {
+ try {
+ return DATE_FORMAT.parse(date);
+ } catch (ParseException e) {
+ return null;
+ }
+ }
+
+}
Property changes on:
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/util/DateUtils.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/util/StringUtils.java
===================================================================
---
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/util/StringUtils.java
(rev 0)
+++
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/util/StringUtils.java 2010-09-28
11:08:18 UTC (rev 25250)
@@ -0,0 +1,24 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Red Hat, Inc.
+ * 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.util;
+
+
+public class StringUtils {
+
+ private static final String LINE_SEPARATOR_KEY = "line.separator";
+
+ public StringUtils() {
+ }
+
+ public static String getLineSeparator() {
+ return System.getProperty(LINE_SEPARATOR_KEY);
+ }
+}
Property changes on:
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/util/StringUtils.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified:
trunk/usage/tests/org.jboss.tools.usage.test/src/org/jboss/tools/usage/test/GoogleAnalyticsUrlStrategyTest.java
===================================================================
---
trunk/usage/tests/org.jboss.tools.usage.test/src/org/jboss/tools/usage/test/GoogleAnalyticsUrlStrategyTest.java 2010-09-28
09:23:38 UTC (rev 25249)
+++
trunk/usage/tests/org.jboss.tools.usage.test/src/org/jboss/tools/usage/test/GoogleAnalyticsUrlStrategyTest.java 2010-09-28
11:08:18 UTC (rev 25250)
@@ -70,7 +70,6 @@
assertTrue(areEqualParameterValues(IGoogleAnalyticsParameters.PARAM_PAGE_REQUEST, url,
targetUrl));
assertTrue(areEqualParameterValues(IGoogleAnalyticsParameters.PARAM_ACCOUNT_NAME, url,
targetUrl));
assertTrue(areEqualParameterValues(IGoogleAnalyticsParameters.PARAM_FLASH_VERSION, url,
targetUrl));
- assertTrue(areEqualParameterValues(IGoogleAnalyticsParameters.PARAM_AD_CONTENT, url,
targetUrl));
assertTrue(hasCookieValue("__utma", url));
assertTrue(hasCookieValue("__utmz", url));
Modified:
trunk/usage/tests/org.jboss.tools.usage.test/src/org/jboss/tools/usage/test/JBossToolsFocusPointTest.java
===================================================================
---
trunk/usage/tests/org.jboss.tools.usage.test/src/org/jboss/tools/usage/test/JBossToolsFocusPointTest.java 2010-09-28
09:23:38 UTC (rev 25249)
+++
trunk/usage/tests/org.jboss.tools.usage.test/src/org/jboss/tools/usage/test/JBossToolsFocusPointTest.java 2010-09-28
11:08:18 UTC (rev 25250)
@@ -10,11 +10,12 @@
******************************************************************************/
package org.jboss.tools.usage.test;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
import org.jboss.tools.usage.tracker.IFocusPoint;
import org.jboss.tools.usage.tracker.internal.FocusPoint;
-import org.jboss.tools.usage.tracker.internal.JBossToolsFocusPoint;
+import org.jboss.tools.usage.tracker.internal.SuffixFocusPoint;
import org.jboss.tools.usage.util.HttpEncodingUtils;
import org.junit.Test;
@@ -58,15 +59,10 @@
+ JBOSS_TOOLS_VERSION, title);
}
- private static class JBossToolsFocusPointFake extends JBossToolsFocusPoint {
+ private static class JBossToolsFocusPointFake extends SuffixFocusPoint {
public JBossToolsFocusPointFake(String name) {
- super(name);
+ super(name, JBOSS_TOOLS_VERSION);
}
-
- @Override
- protected String getJBossToolsVersion() {
- return JBOSS_TOOLS_VERSION;
- }
}
}
Modified:
trunk/usage/tests/org.jboss.tools.usage.test/src/org/jboss/tools/usage/test/JBossToolsTestsFocusPoint.java
===================================================================
---
trunk/usage/tests/org.jboss.tools.usage.test/src/org/jboss/tools/usage/test/JBossToolsTestsFocusPoint.java 2010-09-28
09:23:38 UTC (rev 25249)
+++
trunk/usage/tests/org.jboss.tools.usage.test/src/org/jboss/tools/usage/test/JBossToolsTestsFocusPoint.java 2010-09-28
11:08:18 UTC (rev 25250)
@@ -10,19 +10,25 @@
******************************************************************************/
package org.jboss.tools.usage.test;
+import org.jboss.tools.usage.internal.JBossToolsUsageActivator;
import org.jboss.tools.usage.tracker.internal.FocusPoint;
-import org.jboss.tools.usage.tracker.internal.JBossToolsFocusPoint;
+import org.jboss.tools.usage.tracker.internal.SuffixFocusPoint;
/**
* @author Andre Dietisheim
*/
-public class JBossToolsTestsFocusPoint extends JBossToolsFocusPoint {
+public class JBossToolsTestsFocusPoint extends SuffixFocusPoint {
public JBossToolsTestsFocusPoint(String childFocusPoint) {
- super("tools");
+ super("tools", getJBossToolsVersion());
setChild(new FocusPoint("usage")
.setChild(new FocusPoint("tests")
.setChild(new FocusPoint(childFocusPoint))));
}
+ public static String getJBossToolsVersion() {
+ return JBossToolsUsageActivator.getDefault().getBundle().getVersion().toString();
+ }
+
+
}
Modified:
trunk/usage/tests/org.jboss.tools.usage.test/src/org/jboss/tools/usage/test/fakes/ReportingEclipseEnvironmentFake.java
===================================================================
---
trunk/usage/tests/org.jboss.tools.usage.test/src/org/jboss/tools/usage/test/fakes/ReportingEclipseEnvironmentFake.java 2010-09-28
09:23:38 UTC (rev 25249)
+++
trunk/usage/tests/org.jboss.tools.usage.test/src/org/jboss/tools/usage/test/fakes/ReportingEclipseEnvironmentFake.java 2010-09-28
11:08:18 UTC (rev 25250)
@@ -12,12 +12,12 @@
import org.eclipse.core.runtime.preferences.IEclipsePreferences;
import org.jboss.tools.usage.googleanalytics.IUserAgent;
-import org.jboss.tools.usage.reporting.ReportingEclipseEnvironment;
+import org.jboss.tools.usage.reporting.JBossToolsEclipseEnvironment;
/**
* @author Andre Dietisheim
*/
-public class ReportingEclipseEnvironmentFake extends ReportingEclipseEnvironment {
+public class ReportingEclipseEnvironmentFake extends JBossToolsEclipseEnvironment {
public static final String GANALYTICS_ACCOUNTNAME = "UA-17645367-1";
public static final String HOSTNAME = "jboss.org";