Author: adietish
Date: 2010-09-15 12:37:08 -0400 (Wed, 15 Sep 2010)
New Revision: 24946
Added:
trunk/usage/tests/org.jboss.tools.usage.test/src/org/jboss/tools/usage/test/HttpRemotePropertiesTest.java
Modified:
trunk/usage/plugins/org.jboss.tools.usage/JBoss Usage Reporter.launch
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/preferences/GlobalUsageSettings.java
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/reporting/UsageReport.java
trunk/usage/tests/org.jboss.tools.usage.test/GlobalUsageSettingsTest.launch
trunk/usage/tests/org.jboss.tools.usage.test/UsageTestSuite.launch
trunk/usage/tests/org.jboss.tools.usage.test/src/org/jboss/tools/usage/test/GlobalUsageSettingsTest.java
trunk/usage/tests/org.jboss.tools.usage.test/src/org/jboss/tools/usage/test/UsageTestSuite.java
Log:
[JBIDE-6953] renamed key to be identical in sys properties and in the remote properties
(global kill-switch), separated tests for GlobalUsageSettings/HttpRemoteProperties,
unified enablement query (no separate checks for local and remote enablement)
Modified: trunk/usage/plugins/org.jboss.tools.usage/JBoss Usage Reporter.launch
===================================================================
--- trunk/usage/plugins/org.jboss.tools.usage/JBoss Usage Reporter.launch 2010-09-15
16:35:19 UTC (rev 24945)
+++ trunk/usage/plugins/org.jboss.tools.usage/JBoss Usage Reporter.launch 2010-09-15
16:37:08 UTC (rev 24946)
@@ -7,7 +7,7 @@
<stringAttribute key="bootstrap" value=""/>
<stringAttribute key="checked" value="[NONE]"/>
<booleanAttribute key="clearConfig" value="true"/>
-<booleanAttribute key="clearws" value="false"/>
+<booleanAttribute key="clearws" value="true"/>
<booleanAttribute key="clearwslog" value="false"/>
<stringAttribute key="configLocation"
value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/JBoss Usage
Reporter"/>
<booleanAttribute key="default" value="true"/>
@@ -22,6 +22,7 @@
<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER"
value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS"
value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl}
-console -consolelog -pluginCustomization
${workspace_loc}/../runtime-EclipseApplication/usage.properties -debug"/>
<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER"
value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS"
value="-Dusage_reporting_enabled=false"/>
<booleanAttribute key="pde.generated.config" value="false"/>
<stringAttribute key="pde.version" value="3.3"/>
<stringAttribute key="product"
value="org.eclipse.platform.ide"/>
Modified:
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/preferences/GlobalUsageSettings.java
===================================================================
---
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/preferences/GlobalUsageSettings.java 2010-09-15
16:35:19 UTC (rev 24945)
+++
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/preferences/GlobalUsageSettings.java 2010-09-15
16:37:08 UTC (rev 24946)
@@ -26,21 +26,19 @@
private static final String REMOTEPROPS_URL =
"http://anonsvn.jboss.org/repos/jbosstools/workspace/usage/usage.properties";
//$NON-NLS-1$
- public static final String REMOTEPROPS_ALLINSTANCES_ENABLED_KEY =
"usage_allinstances_enabled="; //$NON-NLS-1$
-
- private static final boolean REMOTEPROPS_ALLINSTANCES_ENABLED_DEFAULT = false;
-
- /** the delimiter that delimits the key/value-pairs */
- private static final char VALUE_DELIMITER = '\n';
-
/**
* system property that enables/disables reporting for current eclipse
* instance
*/
- public static final String SYSPROPS_INSTANCE_ENABLED_KEY =
"usage_instance_enabled"; //$NON-NLS-1$
+ public static final String USAGE_REPORTING_ENABLED_KEY =
"usage_reporting_enabled"; //$NON-NLS-1$
- private static final boolean SYSPROPS_INSTANCE_ENABLED_KEY_DEFAULT = true;
+ public static final String REMOTEPROPS_USAGE_REPORTING_ENABLED_KEY =
USAGE_REPORTING_ENABLED_KEY + "="; //$NON-NLS-1$
+ private static final boolean USAGE_REPORTING_ENABLED_DEFAULT = true;
+
+ /** the delimiter that delimits the key/value-pairs */
+ private static final char VALUE_DELIMITER = '\n';
+
private HttpRemotePropertiesProvider remoteMap;
public GlobalUsageSettings(Plugin plugin) {
@@ -48,31 +46,53 @@
REMOTEPROPS_URL
, VALUE_DELIMITER
, plugin
- , REMOTEPROPS_ALLINSTANCES_ENABLED_KEY);
+ , REMOTEPROPS_USAGE_REPORTING_ENABLED_KEY);
}
/**
- * Returns <code>true</code> if reporting is enabled for all instances
+ * Returns <code>true</code> if usage reporting is turned on.
*
+ * @return true, if is reporting enabled
+ */
+ public boolean isReportingEnabled() {
+ return isInstanceReportingEnabled() && isAllInstancesReportingEnabled();
+ }
+
+ /**
+ * Returns <code>true</code> if reporting is enabled for all instances. The
+ * appropriate setting is queried in a remote properties file at {@link
#REMOTEPROPS_URL}. The key is {@link #REMOTEPROPS_ALLINSTANCES_ENABLED_DEFAULT}
+ *
* @return <code>true, if the remote peer is set to enabled
*
* @see #REMOTEPROPS_URL
* @see #REMOTEPROPS_ALLINSTANCES_ENABLED_KEY
*/
- public boolean isAllInstancesReportingEnabled() {
+ private boolean isAllInstancesReportingEnabled() {
try {
Map<String, String> valueMap = remoteMap.getValueMap();
- String isEnabled = valueMap.get(REMOTEPROPS_ALLINSTANCES_ENABLED_KEY);
+ String isEnabled = valueMap.get(REMOTEPROPS_USAGE_REPORTING_ENABLED_KEY);
+ if (isEnabled == null) {
+ return USAGE_REPORTING_ENABLED_DEFAULT;
+ }
+
return Boolean.valueOf(isEnabled);
} catch (Exception e) {
- return REMOTEPROPS_ALLINSTANCES_ENABLED_DEFAULT;
+ return USAGE_REPORTING_ENABLED_DEFAULT;
}
}
- public boolean isInstanceReportingEnabled() {
+ /**
+ * Returns <code>true</code> if is reporting is enabled for this eclipse
+ * instance.
+ *
+ * @return true, if this instance shall report usage
+ *
+ * @see #SYSPROPS_INSTANCE_ENABLED_KEY
+ */
+ private boolean isInstanceReportingEnabled() {
return Boolean.valueOf(
- System.getProperty(SYSPROPS_INSTANCE_ENABLED_KEY,
- String.valueOf(SYSPROPS_INSTANCE_ENABLED_KEY_DEFAULT)));
+ System.getProperty(USAGE_REPORTING_ENABLED_KEY,
+ String.valueOf(USAGE_REPORTING_ENABLED_DEFAULT)));
}
protected HttpRemotePropertiesProvider createRemoteMap(String url, char valueDelimiter,
Plugin plugin,
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-15
16:35:19 UTC (rev 24945)
+++
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/reporting/UsageReport.java 2010-09-15
16:37:08 UTC (rev 24946)
@@ -106,8 +106,7 @@
return Status.CANCEL_STATUS;
}
monitor.beginTask(ReportingMessages.UsageReport_Querying_Enablement, 2);
- if (globalSettings.isInstanceReportingEnabled()
- && globalSettings.isAllInstancesReportingEnabled()) {
+ if (globalSettings.isReportingEnabled()) {
if (monitor.isCanceled()) {
return Status.CANCEL_STATUS;
}
Modified: trunk/usage/tests/org.jboss.tools.usage.test/GlobalUsageSettingsTest.launch
===================================================================
--- trunk/usage/tests/org.jboss.tools.usage.test/GlobalUsageSettingsTest.launch 2010-09-15
16:35:19 UTC (rev 24945)
+++ trunk/usage/tests/org.jboss.tools.usage.test/GlobalUsageSettingsTest.launch 2010-09-15
16:37:08 UTC (rev 24946)
@@ -12,7 +12,7 @@
<booleanAttribute key="clearwslog" value="false"/>
<stringAttribute key="configLocation"
value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
<booleanAttribute key="default" value="false"/>
-<stringAttribute key="deselected_workspace_plugins"
value="org.jboss.tools.common.text.xml,org.jboss.tools.common.meta.ui,org.jboss.tools.ui.bot.ext,org.jboss.tools.common,org.jboss.tools.common.verification.ui.test,org.jboss.tools.common.projecttemplates,org.jboss.tools.common.el.core,org.jboss.tools.common.verification.ui,org.jboss.tools.common.gef,org.jboss.tools.common.test,org.jboss.tools.common.verification.test,org.jboss.tools.common.verification,org.jboss.tools.common.model,org.jboss.tools.gwt.ui,org.jboss.tools.common.model.ui.capabilities,org.jboss.tools.common.resref.core,org.jboss.tools.common.ui,org.jboss.tools.common.el.ui,org.jboss.tools.common.text.ext,org.jboss.tools.gwt.core,org.jboss.tools.common.resref.ui,org.jboss.tools.ui.bot.ext.test,org.jboss.tools.common.model.ui.test,org.jboss.tools.common.el.core.test,org.jboss.tools.common.model.ui,org.jboss.tools.tests,org.jboss.tools.common.model.test"/>
+<stringAttribute key="deselected_workspace_plugins"
value="org.jboss.tools.gwt.core,org.jboss.tools.gwt.ui,org.jboss.tools.common"/>
<booleanAttribute key="includeOptional" value="true"/>
<stringAttribute key="location"
value="${workspace_loc}/../junit-workspace"/>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
@@ -22,8 +22,8 @@
<listEntry value="1"/>
</listAttribute>
<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
+<listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
-<listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
</listAttribute>
<stringAttribute key="org.eclipse.jdt.junit.CONTAINER"
value=""/>
<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR"
value="false"/>
@@ -37,8 +37,8 @@
<stringAttribute key="pde.version" value="3.3"/>
<stringAttribute key="product"
value="com.jboss.jbds.product.product"/>
<booleanAttribute key="run_in_ui_thread" value="true"/>
-<stringAttribute key="selected_target_plugins"
value="org.eclipse.jface.text@default:default,org.eclipse.ui.ide.application@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.help@default:default,org.eclipse.equinox.concurrent@default:default,org.eclipse.ltk.ui.refactoring@default:default,com.ibm.icu@default:default,ch.qos.logback.classic@default:default,org.eclipse.ui.editors@default:default,org.eclipse.swt.cocoa.macosx.x86_64@default:false,org.junit4@default:default,javax.mail@default:default,org.eclipse.core.filesystem.macosx@default:false,org.eclipse.ui.intro@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.ecf.provider.filetransfer.ssl@default:false,org.eclipse.team.ui@default:default,org.eclipse.core.runtime@default:true,org.eclipse.ui.navigator.resources@default:default,org.eclipse.help.base@default:default,org.eclipse.ui.navigator@default:default,org.eclipse.swtbot.ant.optional.junit4@default:false,org.eclipse!
.swt@default:default,org.eclipse.equinox.common@2:true,org.eclipse.net4j.jms.api@default:default,org.eclipse.equinox.security@default:default,org.eclipse.core.resources@default:default,org.eclipse.core.expressions@default:default,org.apache.lucene.analysis@default:default,org.eclipse.jface@default:default,org.eclipse.ecf.filetransfer@default:default,org.eclipse.ecf@default:default,org.eclipse.update.configurator@3:true,org.eclipse.equinox.p2.repository@default:default,org.apache.jasper@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.p2.jarprocessor@default:default,org.eclipse.equinox.http.jetty@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.p2.metadata@default:default,org.mortbay.jetty.server@default:default,javax.servlet.jsp@default:default,org.eclipse.core.runtime.compatibility@default:default,org.eclipse.core.variables@default:default,org.eclipse.help.ui@default:default,org.eclipse.equinox.http.servlet!
@default:default,org.eclipse.core.filesystem@default:default,o!
rg.mortb
ay.jetty.util@default:default,org.eclipse.ui.ide@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.core.filebuffers@default:default,org.eclipse.ltk.core.refactoring@default:default,org.apache.commons.el@default:default,org.eclipse.equinox.app@default:default,org.eclipse.osgi@-1:true,org.eclipse.ui.views@default:default,org.eclipse.team.core@default:default,javax.activation@default:default,org.apache.commons.logging*1.0.4.v201005080501@default:default,javax.servlet@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.equinox.p2.engine@default:default,org.slf4j.api@default:default,org.eclipse.ant.core@default:default,org.eclipse.compare.core@default:default,org.hamcrest.core@default:default,org.eclipse.core.runtime.compatibility.auth@default:default,ch.qos.logback.slf4j@default:false,org.eclipse.equinox.security.macosx@default:fals!
e,org.eclipse.ecf.identity@default:default,org.eclipse.ui.views.properties.tabbed@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ecf.ssl@default:false,org.junit*4.8.1.v4_8_1_v20100427-1100@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.ui.cheatsheets@default:default,org.eclipse.ui.cocoa@default:false,org.eclipse.osgi.services@default:default,org.eclipse.ui@default:default,org.eclipse.ui.forms@default:default,org.eclipse.compare@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.text@default:default,org.eclipse.core.databinding.property@default:default,ch.qos.logback.core@default:default,org.eclipse.core.net@default:default,org.eclipse.ui.workbench.texteditor@default:default,org.apache.lucene@default:default,org.eclipse.ui.intro.universal@default:default,org.eclipse.equinox.p2.artifact.repository@default:default,org.apache.ant@default:default,org.eclipse.core.jobs@default:default,org.eclipse.e!
cf.provider.filetransfer@default:default"/>
-<stringAttribute key="selected_workspace_plugins"
value="org.jboss.tools.usage@default:default,org.jboss.tools.usage.test@default:default"/>
+<stringAttribute key="selected_target_plugins"
value="org.eclipse.ui.intro.universal@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.net4j.jms.api@default:default,org.junit*4.8.1.v4_8_1_v20100427-1100@default:default,javax.mail@default:default,org.junit4@default:default,org.eclipse.ui.views.properties.tabbed@default:default,org.eclipse.ecf.filetransfer@default:default,org.eclipse.help.base@default:default,org.eclipse.compare@default:default,org.eclipse.osgi@-1:true,org.eclipse.ecf.ssl@default:false,org.eclipse.core.databinding@default:default,org.eclipse.equinox.app@default:default,org.eclipse.update.configurator@3:true,org.eclipse.jface@default:default,org.eclipse.ui.editors@default:default,org.eclipse.text@default:default,org.eclipse.equinox.http.jetty@default:default,org.apache.jasper@default:default,ch.qos.logback.slf4j@default:false,org.eclipse.ui.cheatsheets@default:default,org.eclipse.core.runtime.compatibility.auth@default:default,o!
rg.eclipse.core.filesystem@default:default,org.eclipse.ui.workbench.texteditor@default:default,org.eclipse.core.commands@default:default,org.eclipse.equinox.security.macosx@default:false,org.eclipse.team.core@default:default,org.eclipse.core.filebuffers@default:default,org.eclipse.help.ui@default:default,org.eclipse.jface.text@default:default,org.eclipse.equinox.p2.jarprocessor@default:default,org.eclipse.core.contenttype@default:default,org.apache.commons.logging*1.0.4.v201005080501@default:default,org.slf4j.api@default:default,org.apache.commons.el@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.swt.cocoa.macosx.x86_64@default:false,ch.qos.logback.classic@default:default,org.eclipse.core.runtime@default:true,ch.qos.logback.core@default:default,org.eclipse.core.filesystem.macosx@default:false,org.eclipse.ecf@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui@default:default,org.eclipse.ui.forms@default:default,org.!
eclipse.ui.ide@default:default,org.eclipse.swtbot.ant.optional!
.junit4@
default:false,org.eclipse.ui.ide.application@default:default,org.eclipse.ecf.provider.filetransfer@default:default,org.eclipse.ecf.provider.filetransfer.ssl@default:false,org.eclipse.equinox.http.servlet@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.apache.lucene.analysis@default:default,org.eclipse.equinox.p2.artifact.repository@default:default,javax.activation@default:default,org.eclipse.compare.core@default:default,com.ibm.icu@default:default,org.eclipse.ltk.core.refactoring@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.equinox.p2.repository@default:default,org.eclipse.core.expressions@default:default,org.hamcrest.core@default:default,org.eclipse.swt@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.p2.engine@default:default,org.eclipse.ecf.identity@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.ui.navigato!
r@default:default,org.eclipse.core.net@default:default,org.eclipse.equinox.registry@default:default,org.mortbay.jetty.util@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.osgi.services@default:default,org.eclipse.jface.databinding@default:default,javax.servlet.jsp@default:default,org.apache.lucene@default:default,org.eclipse.equinox.concurrent@default:default,org.eclipse.ui.intro@default:default,org.eclipse.ui.cocoa@default:false,org.eclipse.ui.navigator.resources@default:default,org.eclipse.ant.core@default:default,org.eclipse.equinox.security@default:default,org.eclipse.team.ui@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.core.variables@default:default,org.eclipse.ltk.ui.refactoring@default:default,org.apache.ant@default:default,org.eclipse.core.jobs@default:default,org.mortbay.jetty.server@default:default,org.eclipse.help@default:default,org.eclipse.core.resources@default:default,org.eclipse.core.runtime.compatibility@defau!
lt:default,javax.servlet@default:default"/>
+<stringAttribute key="selected_workspace_plugins"
value="org.jboss.tools.usage.test@default:default,org.jboss.tools.xulrunner.initializer@default:false,org.jboss.tools.usage@default:default"/>
<booleanAttribute key="show_selected_only" value="false"/>
<stringAttribute key="templateConfig"
value="${workspace_loc:org.jboss.tools.usage/config.ini}"/>
<booleanAttribute key="tracing" value="false"/>
Modified: trunk/usage/tests/org.jboss.tools.usage.test/UsageTestSuite.launch
===================================================================
--- trunk/usage/tests/org.jboss.tools.usage.test/UsageTestSuite.launch 2010-09-15 16:35:19
UTC (rev 24945)
+++ trunk/usage/tests/org.jboss.tools.usage.test/UsageTestSuite.launch 2010-09-15 16:37:08
UTC (rev 24946)
@@ -12,7 +12,7 @@
<booleanAttribute key="clearwslog" value="false"/>
<stringAttribute key="configLocation"
value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
<booleanAttribute key="default" value="false"/>
-<stringAttribute key="deselected_workspace_plugins"
value="org.jboss.tools.gwt.ui,org.jboss.tools.gwt.core"/>
+<stringAttribute key="deselected_workspace_plugins"
value="org.jboss.tools.gwt.core,org.jboss.tools.gwt.ui"/>
<booleanAttribute key="includeOptional" value="true"/>
<stringAttribute key="location"
value="${workspace_loc}/../junit-workspace"/>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
@@ -37,8 +37,8 @@
<stringAttribute key="pde.version" value="3.3"/>
<stringAttribute key="product"
value="com.jboss.jbds.product.product"/>
<booleanAttribute key="run_in_ui_thread" value="true"/>
-<stringAttribute key="selected_target_plugins"
value="org.eclipse.osgi.services@default:default,org.eclipse.core.commands@default:default,javax.servlet@default:default,org.eclipse.core.runtime@default:true,org.eclipse.equinox.registry@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.ui.cocoa@default:false,org.eclipse.core.jobs@default:default,org.eclipse.core.databinding.observable@default:default,org.junit4@default:default,org.eclipse.ui.workbench@default:default,org.junit*4.8.1.v4_8_1_v20100427-1100@default:default,org.eclipse.jface@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.swt.cocoa.macosx.x86_64@default:false,org.eclipse.equinox.common@2:true,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.app@default:default,org.eclipse.jface.databinding@default:default,org.hamcrest.core@default:default,org.eclipse.ui@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.!
runtime.compatibility.auth@default:default,org.eclipse.osgi@-1:true,org.eclipse.swt@default:default,org.eclipse.core.databinding@default:default,com.ibm.icu@default:default,org.eclipse.help@default:default,org.eclipse.core.databinding.property@default:default"/>
-<stringAttribute key="selected_workspace_plugins"
value="org.jboss.tools.usage@default:default,org.jboss.tools.usage.test@default:default,org.jboss.tools.xulrunner.initializer@default:false"/>
+<stringAttribute key="selected_target_plugins"
value="org.eclipse.help@default:default,org.eclipse.core.jobs@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.ui@default:default,org.eclipse.core.runtime.compatibility.auth@default:default,org.eclipse.osgi.services@default:default,org.eclipse.jface@default:default,org.eclipse.core.runtime@default:true,com.ibm.icu@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.osgi@-1:true,org.junit*4.8.1.v4_8_1_v20100427-1100@default:default,org.eclipse.ui.cocoa@default:false,javax.servlet@default:default,org.hamcrest.core@default:default,org.eclipse!
.swt.cocoa.macosx.x86_64@default:false,org.eclipse.jface.databinding@default:default,org.eclipse.equinox.common@2:true,org.eclipse.core.commands@default:default,org.junit4@default:default,org.eclipse.swt@default:default,org.eclipse.equinox.app@default:default"/>
+<stringAttribute key="selected_workspace_plugins"
value="org.jboss.tools.common@default:default,org.jboss.tools.usage.test@default:default,org.jboss.tools.usage@default:default,org.jboss.tools.xulrunner.initializer@default:false"/>
<booleanAttribute key="show_selected_only" value="false"/>
<booleanAttribute key="tracing" value="false"/>
<booleanAttribute key="useCustomFeatures" value="false"/>
Modified:
trunk/usage/tests/org.jboss.tools.usage.test/src/org/jboss/tools/usage/test/GlobalUsageSettingsTest.java
===================================================================
---
trunk/usage/tests/org.jboss.tools.usage.test/src/org/jboss/tools/usage/test/GlobalUsageSettingsTest.java 2010-09-15
16:35:19 UTC (rev 24945)
+++
trunk/usage/tests/org.jboss.tools.usage.test/src/org/jboss/tools/usage/test/GlobalUsageSettingsTest.java 2010-09-15
16:37:08 UTC (rev 24946)
@@ -30,56 +30,81 @@
*/
public class GlobalUsageSettingsTest {
+ /**
+ * <ul>
+ * <li>sys prop: <code>not set</code></li>
+ * <li>remote prop: <code>not set</code></li>
+ * </ul>
+ *
+ * <p>
+ * <code>enabled</code>
+ * <p>
+ */
@Test
- public void canExtractEnabledValue() throws IOException {
- GlobalUsageSettingsFake reportSettings = new GlobalUsageSettingsFake("true",
"", "");
- assertTrue(reportSettings.isAllInstancesReportingEnabled());
+ public void reportingIsENABLEDIfSysPropIsNOTSETAndRemotePropIsNOTSET() throws
IOException {
+ GlobalUsageSettingsFake reportEnablement = new GlobalUsageSettingsFake("");
+ assertTrue(reportEnablement.isReportingEnabled());
}
+ /**
+ * <ul>
+ * <li>sys prop: <code>false</code></li>
+ * <li>remote prop: <code>not set</code></li>
+ * </ul>
+ *
+ * <p>
+ * <code>disabled</code>
+ * <p>
+ */
@Test
- public void canExtractDisabledValue() throws IOException {
- GlobalUsageSettingsFake reportSettings = new GlobalUsageSettingsFake("false",
"", "");
- assertFalse(reportSettings.isAllInstancesReportingEnabled());
+ public void instanceReportingIsDISABLEDIfSysPropIsFALSEAndRemotePropIsNOTSET() throws
IOException {
+ System.setProperty(GlobalUsageSettings.USAGE_REPORTING_ENABLED_KEY,
Boolean.FALSE.toString());
+ GlobalUsageSettingsFake reportEnablement = new GlobalUsageSettingsFake("");
+ assertFalse(reportEnablement.isReportingEnabled());
}
+ /**
+ * <ul>
+ * <li>sys prop: <code>true</code></li>
+ * <li>remote prop: <code>false</code></li>
+ * </ul>
+ *
+ * <p>
+ * <code>disabled</code>
+ * <p>
+ */
@Test
- public void canExtractDisabledOutUndefinedValue() throws IOException {
- GlobalUsageSettingsFake reportEnablement = new
GlobalUsageSettingsFake("Rubbish", "", "");
- assertFalse(reportEnablement.isAllInstancesReportingEnabled());
+ public void instanceReportingIsENABLEDIfSysPropIsTRUEAndRemotePropIsFALSE() throws
IOException {
+ System.setProperty(GlobalUsageSettings.USAGE_REPORTING_ENABLED_KEY,
Boolean.TRUE.toString());
+ GlobalUsageSettingsFake reportEnablement = new
GlobalUsageSettingsFake("false");
+ assertFalse(reportEnablement.isReportingEnabled());
}
+ /**
+ * <ul>
+ * <li>sys prop: <code>not set</code></li>
+ * <li>remote prop: <code>false</code></li>
+ * </ul>
+ *
+ * <p>
+ * <code>disabled</code>
+ * <p>
+ */
@Test
- public void instanceReportingIsEnabledIfSysPropIsNotSet() throws IOException {
- GlobalUsageSettingsFake reportEnablement = new GlobalUsageSettingsFake("",
"", "");
- assertTrue(reportEnablement.isInstanceReportingEnabled());
+ public void instanceReportingIsENABLEDIfSysPropIsNOTSETAndRemotePropIsTRUE() throws
IOException {
+ GlobalUsageSettingsFake reportEnablement = new GlobalUsageSettingsFake("");
+ System.setProperty(GlobalUsageSettings.USAGE_REPORTING_ENABLED_KEY,
Boolean.FALSE.toString());
+ assertFalse(reportEnablement.isReportingEnabled());
}
- @Test
- public void instanceReportingIsDisabledIfSysPropIsFalse() throws IOException {
- GlobalUsageSettingsFake reportEnablement = new GlobalUsageSettingsFake("",
"", "");
- System.setProperty(GlobalUsageSettings.SYSPROPS_INSTANCE_ENABLED_KEY,
Boolean.FALSE.toString());
- assertFalse(reportEnablement.isInstanceReportingEnabled());
- }
-
- @Test
- public void instanceReportingIsEnabledIfSysPropIsTrue() throws IOException {
- GlobalUsageSettingsFake reportEnablement = new GlobalUsageSettingsFake("",
"", "");
- System.setProperty(GlobalUsageSettings.SYSPROPS_INSTANCE_ENABLED_KEY,
Boolean.TRUE.toString());
- assertTrue(reportEnablement.isInstanceReportingEnabled());
- }
-
private class GlobalUsageSettingsFake extends GlobalUsageSettings {
- private String allInstancesEnabledValue;
- private String integerValue;
- private String stringValue;
+ private String usageReportingEnabled;
- public GlobalUsageSettingsFake(String allInstancesEnabledValue, String dummyValue,
String anotherValue)
+ public GlobalUsageSettingsFake(String usageReportingEnabled)
throws IOException {
super(JBossToolsUsageTestActivator.getDefault());
- this.allInstancesEnabledValue = allInstancesEnabledValue;
- this.stringValue = dummyValue;
- this.integerValue = anotherValue;
+ this.usageReportingEnabled = usageReportingEnabled;
}
@Override
@@ -89,21 +114,18 @@
@Override
protected InputStreamReader request(HttpURLConnection urlConnection)
throws UnsupportedEncodingException {
- return new InputStreamReader(new ByteArrayInputStream(
- getRemotePropertiesRawData(
- allInstancesEnabledValue
- , stringValue
- , integerValue).getBytes())
+ return new InputStreamReader(
+ new
ByteArrayInputStream(getRemotePropertiesRawData(usageReportingEnabled).getBytes())
, "UTF-8");
}
};
}
}
- private String getRemotePropertiesRawData(String enablementValue, String dummyValue,
String integerValue) {
+ private String getRemotePropertiesRawData(String enablementValue) {
return "some rubbish at the beginning..."
- + GlobalUsageSettings.REMOTEPROPS_ALLINSTANCES_ENABLED_KEY
+ + GlobalUsageSettings.REMOTEPROPS_USAGE_REPORTING_ENABLED_KEY
+ enablementValue
+ "\n"
+ "#"
@@ -115,6 +137,6 @@
public void isPageAccessible() throws IOException {
GlobalUsageSettings reportEnablement = new
GlobalUsageSettings(JBossToolsUsageTestActivator
.getDefault());
- System.err.println("Usage reporting is globally \"" +
reportEnablement.isAllInstancesReportingEnabled() + "\"");
+ System.err.println("Usage reporting is globally \"" +
reportEnablement.isReportingEnabled() + "\"");
}
}
Added:
trunk/usage/tests/org.jboss.tools.usage.test/src/org/jboss/tools/usage/test/HttpRemotePropertiesTest.java
===================================================================
---
trunk/usage/tests/org.jboss.tools.usage.test/src/org/jboss/tools/usage/test/HttpRemotePropertiesTest.java
(rev 0)
+++
trunk/usage/tests/org.jboss.tools.usage.test/src/org/jboss/tools/usage/test/HttpRemotePropertiesTest.java 2010-09-15
16:37:08 UTC (rev 24946)
@@ -0,0 +1,80 @@
+/*******************************************************************************
+ * 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.test;
+
+import static org.junit.Assert.assertEquals;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.UnsupportedEncodingException;
+import java.net.HttpURLConnection;
+
+import org.jboss.tools.usage.http.HttpRemotePropertiesProvider;
+import org.junit.Test;
+
+/**
+ * Test for the global usage report settings. All tests are disabled yet,
+ * implementation's unfortunately still buggy.
+ */
+public class HttpRemotePropertiesTest {
+
+ private static final String KEY = "usage_reporting_enabled="; //$NON-NLS-1$
+
+ /** the delimiter that delimits the key/value-pairs */
+ private static final char VALUE_DELIMITER = '\n';
+
+ @Test
+ public void canExtractTrueValue() throws IOException {
+ HttpRemotePropertiesProvider propertiesProvider =
createHttpPropertiesProvider("true", "", "",
VALUE_DELIMITER, KEY);
+ assertEquals("true", propertiesProvider.getValueMap().get(KEY));
+ }
+
+ @Test
+ public void canExtractFalseValue() throws IOException {
+ HttpRemotePropertiesProvider propertiesProvider =
createHttpPropertiesProvider("false", "", "",
VALUE_DELIMITER, KEY);
+ assertEquals("false", propertiesProvider.getValueMap().get(KEY));
+ }
+
+ @Test
+ public void canExtractRubbish() throws IOException {
+ HttpRemotePropertiesProvider propertiesProvider =
createHttpPropertiesProvider("Rubbish", "", "",
VALUE_DELIMITER, KEY);
+ assertEquals("Rubbish", propertiesProvider.getValueMap().get(KEY));
+ }
+
+ private HttpRemotePropertiesProvider createHttpPropertiesProvider(final String
booleanValue,
+ final String stringValue, final String anotherValue, char valueDelimiter, String...
keys) {
+
+ return new HttpRemotePropertiesProvider("http://dummy", valueDelimiter,
+ JBossToolsUsageTestActivator.getDefault(), keys) {
+ @Override
+ protected InputStreamReader request(HttpURLConnection urlConnection)
+ throws UnsupportedEncodingException {
+ return new InputStreamReader(new ByteArrayInputStream(
+ getRemotePropertiesRawData(
+ booleanValue
+ , stringValue
+ , anotherValue).getBytes())
+ , "UTF-8");
+ }
+ };
+ }
+
+ private String getRemotePropertiesRawData(String enablementValue, String dummyValue,
String integerValue) {
+
+ return "some rubbish at the beginning..."
+ + KEY
+ + enablementValue
+ + "\n"
+ + "#"
+ + "some rubbish at the end";
+ }
+}
Property changes on:
trunk/usage/tests/org.jboss.tools.usage.test/src/org/jboss/tools/usage/test/HttpRemotePropertiesTest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified:
trunk/usage/tests/org.jboss.tools.usage.test/src/org/jboss/tools/usage/test/UsageTestSuite.java
===================================================================
---
trunk/usage/tests/org.jboss.tools.usage.test/src/org/jboss/tools/usage/test/UsageTestSuite.java 2010-09-15
16:35:19 UTC (rev 24945)
+++
trunk/usage/tests/org.jboss.tools.usage.test/src/org/jboss/tools/usage/test/UsageTestSuite.java 2010-09-15
16:37:08 UTC (rev 24946)
@@ -24,6 +24,7 @@
EclipseUserAgentTest.class,
ReportingEclipseEnvironmentTest.class,
JBossToolsComponentsTest.class,
+ HttpRemotePropertiesTest.class,
GlobalUsageSettingsTest.class,
JBossToolsUsageIntegrationTest.class })
public class UsageTestSuite {