Author: adietish
Date: 2010-08-17 03:41:44 -0400 (Tue, 17 Aug 2010)
New Revision: 24203
Modified:
trunk/usage/plugins/org.jboss.tools.usage/JBoss Usage Reporter.launch
trunk/usage/plugins/org.jboss.tools.usage/build.properties
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/googleanalytics/Tracker.java
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/util/BundleUtils.java
Log:
Modified: trunk/usage/plugins/org.jboss.tools.usage/JBoss Usage Reporter.launch
===================================================================
--- trunk/usage/plugins/org.jboss.tools.usage/JBoss Usage Reporter.launch 2010-08-17
07:33:18 UTC (rev 24202)
+++ trunk/usage/plugins/org.jboss.tools.usage/JBoss Usage Reporter.launch 2010-08-17
07:41:44 UTC (rev 24203)
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
+<?xml version="1.0" encoding="UTF-8"?>
<launchConfiguration type="org.eclipse.pde.ui.RuntimeWorkbench">
<booleanAttribute key="append.args" value="true"/>
<booleanAttribute key="askclear" value="true"/>
@@ -17,14 +17,15 @@
<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
<listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
</listAttribute>
-<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER"
value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.launching.macosx.MacOSXType/JVM
1.6.0"/>
+<stringAttribute key="org.eclipse.jdt.launching.JAVA_COMMAND"
value="java"/>
+<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER"
value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS"
value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl
${target.nl}"/>
<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER"
value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
<booleanAttribute key="pde.generated.config" value="false"/>
<stringAttribute key="pde.version" value="3.3"/>
<stringAttribute key="product"
value="com.jboss.jbds.product.product"/>
-<stringAttribute key="selected_target_plugins"
value="org.eclipse.osgi@-1:true,org.eclipse.core.runtime.compatibility.auth@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.junit4@default:default,org.hamcrest.core@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.jface.databinding@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.ui.cocoa@default:false,org.eclipse.equinox.registry@default:default,org.eclipse.jface@default:default,org.eclipse.equinox.common@2:true,com.ibm.icu@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.help@default:default,org.eclipse.core.expressions@default:default,org.eclipse.swt@default:default,org.junit*4.8.1.v4_8_1_v20100427-1100@default:default,org.eclipse.core.contenttype@default:default,org.eclipse!
.swt.cocoa.macosx.x86_64@default:false,org.eclipse.core.commands@default:default,javax.servlet@default:default,org.eclipse.osgi.services@default:default,org.eclipse.core.runtime@default:true,org.eclipse.core.jobs@default:default,org.eclipse.ui@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.equinox.security@default:default,org.jboss.tools.xulrunner.initializer@default:false,org.eclipse.jface@default:default,org.eclipse.swt.cocoa.macosx@default:false,org.eclipse.osgi,org.eclipse.ui.workbench@default:default,org.eclipse.core.databinding@default:default,org.eclipse.equinox.common@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.core.runtime@default:true,org.eclipse.ui@default:default,org.eclipse.jface.text@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.core.runtime.compatibility.auth@default:default,javax.transaction@default:false,org.eclipse.core.contenttype@default:default,javax.servlet@default:default,org.eclipse.equinox.p2.artifact.repository@default:default,com.ibm.icu@default:default,org.eclipse.core.filesystem@default:default,org.eclipse.core.resources@default:default,org.eclipse.equinox.!
p2.metadata.repository@default:default,org.eclipse.ecf.ssl@default:false,org.eclipse.core.commands@default:default,org.eclipse.ant.core@default:default,org.junit4@default:default,org.eclipse.core.net@default:default,org.eclipse.ecf.provider.filetransfer.ssl@default:false,org.eclipse.core.resources.compatibility@default:false,org.eclipse.equinox.concurrent@default:default,org.eclipse.ecf@default:default,org.eclipse.text@default:default,org.hamcrest.core@default:default,org.eclipse.core.variables@default:default,org.eclipse.ecf.identity@default:default,org.eclipse.swt@default:default,org.eclipse.osgi.services@default:default,org.eclipse.equinox.app@default:default,org.eclipse.ui.ide@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.help@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.ecf.provider.filetransfer@default:default,org.eclipse.ui.cocoa@default:false,org.eclipse.j!
face.databinding@default:default,org.eclipse.equinox.transform!
s.hook@d
efault:false,org.eclipse.core.filesystem.macosx@default:false,org.eclipse.ecf.filetransfer@default:default,org.eclipse.equinox.security.macosx@default:false,org.eclipse.equinox.p2.repository@default:default,org.eclipse.core.jobs@default:default,org.eclipse.ui.forms@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.ui.views@default:default,org.eclipse.equinox.p2.jarprocessor@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.core.runtime.compatibility.registry@default:false"/>
+<stringAttribute key="selected_workspace_plugins"
value="org.jboss.tools.usage.test@default:default,org.jboss.tools.usage@default:default"/>
<booleanAttribute key="show_selected_only" value="false"/>
<booleanAttribute key="tracing" value="false"/>
<booleanAttribute key="useCustomFeatures" value="false"/>
Modified: trunk/usage/plugins/org.jboss.tools.usage/build.properties
===================================================================
--- trunk/usage/plugins/org.jboss.tools.usage/build.properties 2010-08-17 07:33:18 UTC
(rev 24202)
+++ trunk/usage/plugins/org.jboss.tools.usage/build.properties 2010-08-17 07:41:44 UTC
(rev 24203)
@@ -2,4 +2,15 @@
output.. = bin/
bin.includes = META-INF/,\
.,\
- plugin.xml
+ plugin.xml,\
+ about.html,\
+ bin/
+src.includes = .classpath,\
+ .project,\
+ .settings/,\
+ JBoss Usage Reporter.launch,\
+ META-INF/,\
+ about.html,\
+ build.properties,\
+ plugin.xml,\
+ src/
Modified:
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/googleanalytics/Tracker.java
===================================================================
---
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/googleanalytics/Tracker.java 2010-08-17
07:33:18 UTC (rev 24202)
+++
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/googleanalytics/Tracker.java 2010-08-17
07:41:44 UTC (rev 24203)
@@ -18,10 +18,10 @@
import org.jboss.tools.usage.internal.HttpGetMethod;
/**
- * Reports (tracks) data to google analytics
+ * Reports (tracks) usage
*
* @author Andre Dietisheim
- * @see <a
+ * @see based on <a
*
href="http://jgoogleAnalytics.googlecode.com">http://jgoogleAnalytics.googlecode.com</a>
*/
public class Tracker implements ITracker {
Modified:
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/util/BundleUtils.java
===================================================================
---
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/util/BundleUtils.java 2010-08-17
07:33:18 UTC (rev 24202)
+++
trunk/usage/plugins/org.jboss.tools.usage/src/org/jboss/tools/usage/util/BundleUtils.java 2010-08-17
07:41:44 UTC (rev 24203)
@@ -20,17 +20,41 @@
public class BundleUtils {
- public static List<Bundle> getBundles(String symbolicNameRegex, BundleContext
bundleContext) {
+ /**
+ * Returns the bundles among the available ones that match the given filter.
+ *
+ * @param filter
+ * the filter to match the available bundles against
+ * @param bundleContext
+ * the bundle context
+ * @return the bundles that match the given filter
+ */
+ public static List<Bundle> getBundles(IBundleEntryFilter filter, BundleContext
bundleContext) {
List<Bundle> bundleList = new ArrayList<Bundle>();
- BundleSymbolicNameFilter symbolicNameFilter = new
BundleSymbolicNameFilter(symbolicNameRegex);
for (Bundle bundle : bundleContext.getBundles()) {
- if (symbolicNameFilter.matches(bundle)) {
+ if (filter.matches(bundle)) {
bundleList.add(bundle);
}
}
return bundleList;
}
+ /**
+ * Returns the bundles that have a symbolic name that match the given regex.
+ *
+ * @param bundleSymbolicNameRegex
+ * the symbolic name regex to match.
+ * @param bundleContext
+ * the bundle context
+ * @return the bundles
+ */
+ public static List<Bundle> getBundles(String bundleSymbolicNameRegex,
BundleContext bundleContext) {
+ return getBundles(new BundleSymbolicNameFilter(bundleSymbolicNameRegex),
bundleContext);
+ }
+
+ /**
+ * A filter that matches bundles against a given symbolic name regex.
+ */
public static class BundleSymbolicNameFilter implements IBundleEntryFilter {
private Pattern pattern;
@@ -48,7 +72,51 @@
}
+ /**
+ * A filter that applies several given filters
+ */
+ public static class CompositeFilter implements IBundleEntryFilter {
+
+ private IBundleEntryFilter filters[];
+
+ /**
+ * Instantiates a new composite filter that applies several given
+ * filters.
+ *
+ * @param filters
+ * the filters
+ */
+ public CompositeFilter(IBundleEntryFilter[] filters) {
+ this.filters = filters;
+ }
+
+ /**
+ * Applies the filters this composite filter has. All filters have to
+ * match so that the filter says the given bundle matches.
+ */
+ @Override
+ public boolean matches(Bundle bundle) {
+ for (IBundleEntryFilter filter : filters) {
+ if (!filter.matches(bundle)) {
+ return false;
+ }
+ }
+ return true;
+ }
+ }
+
+ /**
+ * The Interface IBundleEntryFilter.
+ */
public static interface IBundleEntryFilter {
+
+ /**
+ * Matches.
+ *
+ * @param bundle
+ * the bundle
+ * @return true, if successful
+ */
public boolean matches(Bundle bundle);
}
}