Author: adietish
Date: 2010-10-01 04:59:37 -0400 (Fri, 01 Oct 2010)
New Revision: 25383
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/eclipse/AbstractEclipseEnvironment.java
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/googleanalytics/eclipse/LinuxSystem.java
Log:
[JBIDE-7208] centos detection fixed
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-10-01
07:11:25 UTC (rev 25382)
+++
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/googleanalytics/GoogleAnalyticsUrlStrategy.java 2010-10-01
08:59:37 UTC (rev 25383)
@@ -35,9 +35,6 @@
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 IGoogleAnalyticsParameters googleParameters;
public GoogleAnalyticsUrlStrategy(IGoogleAnalyticsParameters googleAnalyticsParameters)
{
@@ -45,56 +42,7 @@
}
public String build(IFocusPoint focusPoint) throws UnsupportedEncodingException {
- /*
- * Google Analytics for Android:
- *
- String str = "";
- if (paramEvent.action != null)
- str = paramEvent.action;
- if (!(str.startsWith("/")))
- str = "/" + str;
- str = encode(str);
- Locale localLocale = Locale.getDefault();
- StringBuilder localStringBuilder = new StringBuilder();
- localStringBuilder.append("/__utm.gif");
- localStringBuilder.append("?utmwv=4.3");
- localStringBuilder.append("&utmn=").append(paramEvent.randomVal);
- localStringBuilder.append("&utmcs=UTF-8");
- localStringBuilder.append(String.format("&utmsr=%dx%d", new Object[] {
- Integer.valueOf(paramEvent.screenWidth)
- , Integer.valueOf(paramEvent.screenHeight) }));
- localStringBuilder.append(String.format("&utmul=%s-%s", new Object[] {
- localLocale.getLanguage()
- , localLocale.getCountry() }));
- localStringBuilder.append("&utmp=").append(str);
- localStringBuilder.append("&utmac=").append(paramEvent.accountId);
- localStringBuilder.append("&utmcc=").append(
- getEscapedCookieString(paramEvent, paramString));
- return localStringBuilder.toString();
-
- *
- * getEscapedCookieString:
- *
- StringBuilder localStringBuilder = new StringBuilder();
- localStringBuilder.append("__utma=");
- localStringBuilder.append("999").append(".");
- localStringBuilder.append(paramEvent.userId).append(".");
- localStringBuilder.append(paramEvent.timestampFirst).append(".");
- localStringBuilder.append(paramEvent.timestampPrevious).append(".");
- localStringBuilder.append(paramEvent.timestampCurrent).append(".");
- localStringBuilder.append(paramEvent.visits);
- if (paramString != null)
- {
- localStringBuilder.append("+__utmz=");
- localStringBuilder.append("999").append(".");
- localStringBuilder.append(paramEvent.timestampFirst).append(".");
- localStringBuilder.append("1.1.");
- localStringBuilder.append(paramString);
- }
- return encode(localStringBuilder.toString());
- */
-
StringBuilder builder = new StringBuilder(TRACKING_URL)
.append(IGoogleAnalyticsParameters.URL_PARAM_DELIMITER);
appendParameter(IGoogleAnalyticsParameters.PARAM_TRACKING_CODE_VERSION,
@@ -213,7 +161,7 @@
+ googleParameters.getUserDefined())
.appendTo(builder);
- builder.append(IGoogleAnalyticsParameters.SEMICOLON);
+// builder.append(IGoogleAnalyticsParameters.SEMICOLON);
return HttpEncodingUtils.checkedEncodeUtf8(builder.toString());
}
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-10-01
07:11:25 UTC (rev 25382)
+++
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/googleanalytics/eclipse/AbstractEclipseEnvironment.java 2010-10-01
08:59:37 UTC (rev 25383)
@@ -180,7 +180,7 @@
}
protected String getLinuxDistroNameAndVersion() {
- return LinuxSystem.getDistroNameAndVersion();
+ return LinuxSystem.INSTANCE.getDistroNameAndVersion();
}
}
Modified:
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/googleanalytics/eclipse/LinuxSystem.java
===================================================================
---
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/googleanalytics/eclipse/LinuxSystem.java 2010-10-01
07:11:25 UTC (rev 25382)
+++
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/googleanalytics/eclipse/LinuxSystem.java 2010-10-01
08:59:37 UTC (rev 25383)
@@ -18,29 +18,31 @@
public class LinuxSystem {
+ public static final LinuxSystem INSTANCE = new LinuxSystem();
+
/**
- * @see <a
href="http://linuxmafia.com/faq/Admin/release-files.html">
- * an extensive list of release file locations</a>
- *
+ * @see <a
href="http://linuxmafia.com/faq/Admin/release-files.html">
an
+ * extensive list of release file locations</a>
+ *
* @see <a
*
href="http://superuser.com/questions/11008/how-do-i-find-out-what-ve...
* release-file strings</a>
*/
- public static final LinuxDistro CENTOS = new LinuxDistro("CentOS",
"/etc/redhat-release");
- 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 YELLOWDOG = new LinuxDistro("YellowDog",
"/etc/yellowdog-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 final LinuxDistro CENTOS = new CentOSDistro("CentOS",
"/etc/redhat-release");
+ public final LinuxDistro DEBIAN = new LinuxDistro("Debian",
"/etc/debian_version");
+ public final LinuxDistro FEDORA = new LinuxDistro("Fedora",
"/etc/fedora-release");
+ public final LinuxDistro GENTOO = new LinuxDistro("Gentoo",
"/etc/gentoo-release");
+ public final LinuxDistro YELLOWDOG = new LinuxDistro("YellowDog",
"/etc/yellowdog-release");
+ public final LinuxDistro KNOPPIX = new LinuxDistro("Knoppix",
"knoppix_version");
+ public final LinuxDistro MANDRAKE = new LinuxDistro("Mandrake",
"/etc/mandrake-release");
+ public final LinuxDistro MANDRIVA = new LinuxDistro("Mandriva",
"/etc/mandriva-release");
+ public final LinuxDistro PLD = new LinuxDistro("PLD",
"/etc/pld-release");
+ public final LinuxDistro REDHAT = new LinuxDistro("RedHat",
"/etc/redhat-release");
+ public final LinuxDistro SLACKWARE = new LinuxDistro("Slackware",
"/etc/slackware-version");
+ public final LinuxDistro SUSE = new LinuxDistro("SUSE",
"/etc/SuSE-release");
+ public final LinuxDistro UBUNTU = new LinuxDistro("Ubuntu",
"/etc/lsb-release");
- private static final LinuxDistro[] ALL = new LinuxDistro[] {
+ private final LinuxDistro[] ALL = new LinuxDistro[] {
CENTOS,
DEBIAN,
FEDORA,
@@ -56,9 +58,9 @@
YELLOWDOG
};
- public static LinuxDistro getDistro() {
+ public LinuxDistro getDistro() {
for (LinuxDistro distro : ALL) {
- if (distro.currentSysIsDistro()) {
+ if (distro.isDistro()) {
return distro;
}
}
@@ -66,7 +68,7 @@
}
- public static String getDistroNameAndVersion() {
+ public String getDistroNameAndVersion() {
LinuxDistro distro = getDistro();
if (distro != null) {
return distro.getNameAndVersion();
@@ -74,9 +76,30 @@
return "";
}
}
+
+ protected class CentOSDistro extends LinuxDistro {
+ private static final String CENTOS_NAME = "CentOS";
- public static class LinuxDistro {
+ protected CentOSDistro(String name, String releaseFilePath) {
+ super(name, releaseFilePath);
+ }
+ @Override
+ protected boolean isDistro() {
+ try {
+ boolean fileExists = super.isDistro();
+ if (fileExists) {
+ String content = getDistroFileContent(releaseFilePath);
+ return content != null && content.indexOf(CENTOS_NAME) >= 0;
+ }
+ } catch (IOException e) {
+ }
+ return false;
+ }
+ }
+
+ public class LinuxDistro {
+
/**
* The pattern to match the contents of the release-file -
* /etc/fedora-release etc. Attention: Ubuntu has multi-line release
@@ -84,7 +107,7 @@
*/
private final Pattern VERSION_REGEX = Pattern.compile("([0-9.]+)");
- private final String releaseFilePath;
+ protected final String releaseFilePath;
private String name;
protected LinuxDistro(String name, String releaseFilePath) {
@@ -92,8 +115,8 @@
this.releaseFilePath = releaseFilePath;
}
- private boolean currentSysIsDistro() {
- return new File(releaseFilePath).exists();
+ protected boolean isDistro() {
+ return exists(releaseFilePath);
}
public String getName() {
@@ -113,21 +136,29 @@
}
public String getNameAndVersion() {
- return new StringBuilder().append(getName()).append(getVersion()).toString();
+ return new StringBuilder().append(getName()).append("
").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();
+
+ public String getReleaseFilePath() {
+ return releaseFilePath;
}
}
+
+ protected boolean exists(String releaseFilePath) {
+ return new File(releaseFilePath).exists();
+ }
+
+ 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();
+ }
}