diff --git a/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/googleanalytics/eclipse/AbstractEclipseEnvironment.java b/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/googleanalytics/eclipse/AbstractEclipseEnvironment.java
index 860c763..bedf2da 100644
--- a/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/googleanalytics/eclipse/AbstractEclipseEnvironment.java
+++ b/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/googleanalytics/eclipse/AbstractEclipseEnvironment.java
@@ -10,8 +10,11 @@
******************************************************************************/
package org.jboss.tools.usage.googleanalytics.eclipse;
+import java.io.File;
+import java.net.URL;
import java.util.Random;
+import org.eclipse.core.runtime.Platform;
import org.eclipse.core.runtime.preferences.IEclipsePreferences;
import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.widgets.Display;
@@ -237,10 +240,34 @@ public abstract class AbstractEclipseEnvironment extends AbstractGoogleAnalytics
@Override
public String getUserDefined() {
- return getLinuxDistroNameAndVersion();
+ String pkgs = getInstalledPkgs();
+ if (pkgs != null && !pkgs.isEmpty()) {
+ return getLinuxDistroNameAndVersion() + "|" + pkgs;
+ } else {
+ return getLinuxDistroNameAndVersion();
+ }
}
protected String getLinuxDistroNameAndVersion() {
return LinuxSystem.INSTANCE.getDistroNameAndVersion();
}
+
+ protected String getInstalledPkgs() {
+ StringBuilder pkgs = new StringBuilder();
+ URL installLoc = Platform.getInstallLocation().getURL();
+ File pkgDir = new File(installLoc.getFile(), ".pkgs");
+ if (pkgDir.isDirectory()) {
+ File[] files = pkgDir.listFiles();
+ for (int i = 0; i < files.length; i++) {
+ if (files[i].isFile()) {
+ if (pkgs.length() > 0) {
+ pkgs.append("," + files[i].getName());
+ } else {
+ pkgs.append(files[i].getName());
+ }
+ }
+ }
+ }
+ return pkgs.toString();
+ }
}
\ No newline at end of file
diff --git a/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/internal/preferences/PreferencesMessages.java b/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/internal/preferences/PreferencesMessages.java
index c2b21a1..22bb957 100644
--- a/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/internal/preferences/PreferencesMessages.java
+++ b/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/internal/preferences/PreferencesMessages.java
@@ -26,6 +26,7 @@ public class PreferencesMessages extends NLS {
public static String UsageReportPreferencePage_OperatingSystem;
public static String UsageReportPreferencePage_OperatingSystemVersion;
public static String UsageReportPreferencePage_LinuxDistro;
+ public static String UsageReportPreferencePage_InstalledPkgs;
public static String UsageReportPreferencePage_ProductId;
public static String UsageReportPreferencePage_ProductOwner;
public static String UsageReportPreferencePage_ProductVersion;
diff --git a/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/internal/preferences/UsageReportPreferencePage.java b/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/internal/preferences/UsageReportPreferencePage.java
index 6335b60..34acf6a 100644
--- a/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/internal/preferences/UsageReportPreferencePage.java
+++ b/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/internal/preferences/UsageReportPreferencePage.java
@@ -102,8 +102,13 @@ public class UsageReportPreferencePage extends FieldEditorPreferencePage impleme
appendLabeledValue(PreferencesMessages.UsageReportPreferencePage_OperatingSystemVersion,
eclipseUserAgent.getOSVersion(), builder, styles);
if (eclipseEnvironment.isLinuxDistro()) {
+ String ud[] = eclipseEnvironment.getUserDefined().split("\\|", 2);
appendLabeledValue(PreferencesMessages.UsageReportPreferencePage_LinuxDistro,
- eclipseEnvironment.getUserDefined(), builder, styles);
+ ud[0], builder, styles);
+ if (ud.length > 1) {
+ appendLabeledValue(PreferencesMessages.UsageReportPreferencePage_InstalledPkgs,
+ ud[1], builder, styles);
+ }
}
builder.append(StringUtils.getLineSeparator());
diff --git a/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/internal/preferences/messages.properties b/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/internal/preferences/messages.properties
index a0579f9..fb05fac 100644
--- a/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/internal/preferences/messages.properties
+++ b/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/internal/preferences/messages.properties
@@ -20,6 +20,7 @@ UsageReportPreferencePage_NumberOfUsageHits=Number of usage-hits\:
UsageReportPreferencePage_OperatingSystem=Operating system\:
UsageReportPreferencePage_OperatingSystemVersion=Operating system version\:
UsageReportPreferencePage_LinuxDistro=Linux Distro\:
+UsageReportPreferencePage_InstalledPkgs=Installed packages\:
UsageReportPreferencePage_JvmName=JVM name\:
UsageReportPreferencePage_JvmVersion=JVM version\: