Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorslewis2005-06-11 07:04:58 +0000
committerslewis2005-06-11 07:04:58 +0000
commit9278f738d269387ccd7cfae68be9710e36353ffa (patch)
treedabdc556a2fbca0a5b8b27361c9af762eee1405f
parentd088a557096f1cf6a3cb15bf192f947ecc8f2a6d (diff)
downloadorg.eclipse.ecf-9278f738d269387ccd7cfae68be9710e36353ffa.tar.gz
org.eclipse.ecf-9278f738d269387ccd7cfae68be9710e36353ffa.tar.xz
org.eclipse.ecf-9278f738d269387ccd7cfae68be9710e36353ffa.zip
Updates to allow server creation and discovery container creation upon startup of example client plugin
-rw-r--r--examples/bundles/org.eclipse.ecf.example.collab/META-INF/MANIFEST.MF5
-rw-r--r--examples/bundles/org.eclipse.ecf.example.collab/launchconfigs/ECF Example Collab Client 1.launch82
-rw-r--r--examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ClientPlugin.java115
-rw-r--r--examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/DiscoveryStartup.java129
-rw-r--r--examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ServerStartup.java109
-rw-r--r--examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ServerStartup.xml5
-rw-r--r--examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/ClientPreferencePage.java1
7 files changed, 357 insertions, 89 deletions
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/META-INF/MANIFEST.MF b/examples/bundles/org.eclipse.ecf.example.collab/META-INF/MANIFEST.MF
index 307380482..3c05dbf2a 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/META-INF/MANIFEST.MF
+++ b/examples/bundles/org.eclipse.ecf.example.collab/META-INF/MANIFEST.MF
@@ -15,8 +15,9 @@ Require-Bundle: org.eclipse.ui,
org.eclipse.jface.text,
org.eclipse.ecf.presence,
org.eclipse.ecf.ui,
- org.eclipse.ecf.discovery
-Export-Package: org.eclipse.ecf.example.collab.share, org.eclipse.ecf.example.collab.share.url, org.eclipse.ecf.example.collab.share.io
+ org.eclipse.ecf.discovery,
+ org.eclipse.ecf.provider
+Export-Package: org.eclipse.ecf.example.collab, org.eclipse.ecf.example.collab.share, org.eclipse.ecf.example.collab.share.url, org.eclipse.ecf.example.collab.share.io
Eclipse-AutoStart: true
Provide-Package: org.eclipse.ecf.example.collab
DynamicImport-Package: org.eclipse.ecf.presence, org.eclipse.ecf.presence.impl
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/launchconfigs/ECF Example Collab Client 1.launch b/examples/bundles/org.eclipse.ecf.example.collab/launchconfigs/ECF Example Collab Client 1.launch
index 93c9c302e..124cd6bf9 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/launchconfigs/ECF Example Collab Client 1.launch
+++ b/examples/bundles/org.eclipse.ecf.example.collab/launchconfigs/ECF Example Collab Client 1.launch
@@ -8,37 +8,37 @@
<stringAttribute key="location2" value="C:\eclipse3.1m4\eclipse\second-runtime-workspace"/>
<mapAttribute key="tracingOptions">
<mapEntry key="org.eclipse.ecf.example.collab/debug/urlsharedobject" value="false"/>
-<mapEntry key="org.eclipse.ecf.provider.xmpp/debug/xmppsharedobject" value="true"/>
<mapEntry key="org.eclipse.team.cvs.core/syncchangeevents" value="false"/>
+<mapEntry key="org.eclipse.ecf.provider.xmpp/debug/xmppsharedobject" value="true"/>
<mapEntry key="org.eclipse.ecf.provider.xmpp/debug/smackconnection" value="true"/>
<mapEntry key="org.eclipse.help.webapp/debug/workingsets" value="false"/>
-<mapEntry key="org.eclipse.ecf.example.collab/debug" value="true"/>
<mapEntry key="org.eclipse.core.runtime/strings" value="false"/>
+<mapEntry key="org.eclipse.ecf.example.collab/debug" value="true"/>
<mapEntry key="org.eclipse.core.runtime/loader/debug/filter/loader" value="*"/>
<mapEntry key="org.eclipse.core.runtime/loader/debug/actions" value="false"/>
<mapEntry key="org.eclipse.core.runtime/timing/shutdown" value="false"/>
-<mapEntry key="org.eclipse.jface.text/debug/ContentAssistSubjectAdapters" value="false"/>
<mapEntry key="org.eclipse.core.runtime/url/debug/connect" value="false"/>
+<mapEntry key="org.eclipse.jface.text/debug/ContentAssistSubjectAdapters" value="false"/>
<mapEntry key="org.eclipse.core.resources/restore/markers" value="false"/>
<mapEntry key="org.eclipse.core.resources/build/needbuild" value="false"/>
<mapEntry key="org.eclipse.ui/trace/graphics" value="false"/>
<mapEntry key="org.eclipse.jdt.core/debug/resolution" value="false"/>
-<mapEntry key="org.eclipse.update.configurator/debug" value="false"/>
<mapEntry key="org.eclipse.team.cvs.ssh/ssh_protocol" value="false"/>
+<mapEntry key="org.eclipse.update.configurator/debug" value="false"/>
<mapEntry key="org.eclipse.ecf.provider/debug/filter" value="*"/>
<mapEntry key="org.eclipse.osgi/monitor/activation" value="false"/>
<mapEntry key="org.eclipse.core.runtime/registry/debug" value="false"/>
<mapEntry key="org.eclipse.osgi/debug/packages" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug" value="false"/>
<mapEntry key="org.eclipse.ui/debug/showSystemJobs" value="false"/>
+<mapEntry key="org.eclipse.core.runtime/loader/debug" value="false"/>
<mapEntry key="org.eclipse.core.resources/monitor/listeners" value="false"/>
<mapEntry key="org.eclipse.ant.core/debug" value="true"/>
<mapEntry key="org.eclipse.core.runtime/loader/debug/prefixes" value="false"/>
<mapEntry key="org.eclipse.core.runtime/url/debug" value="false"/>
<mapEntry key="org.eclipse.osgi/monitor/classes" value="false"/>
<mapEntry key="org.eclipse.update.core/debug" value="true"/>
-<mapEntry key="org.eclipse.core.runtime/debug/context" value="false"/>
<mapEntry key="org.eclipse.osgi/eclipseadaptor/converter/debug" value="false"/>
+<mapEntry key="org.eclipse.core.runtime/debug/context" value="false"/>
<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug/platformadmin" value="false"/>
<mapEntry key="org.eclipse.help.ui/debug/embeddedBrowser" value="false"/>
<mapEntry key="org.eclipse.ui/debug/swtdebug" value="false"/>
@@ -49,14 +49,14 @@
<mapEntry key="org.eclipse.ecf/debug" value="true"/>
<mapEntry key="org.eclipse.ui/trace/keyBindings" value="false"/>
<mapEntry key="org.eclipse.ui.intro/trace/printHTML" value="false"/>
-<mapEntry key="org.eclipse.jdt.ui/debug/TypeConstraints" value="false"/>
<mapEntry key="org.eclipse.core.runtime/registry/debug/dump" value=""/>
+<mapEntry key="org.eclipse.jdt.ui/debug/TypeConstraints" value="false"/>
<mapEntry key="org.eclipse.jdt.core/debug/javadelta/verbose" value="false"/>
<mapEntry key="org.eclipse.jdt.core/debug" value="true"/>
<mapEntry key="org.eclipse.core.expressions/tracePropertyResolving" value="false"/>
<mapEntry key="org.eclipse.core.resources/restore" value="false"/>
-<mapEntry key="org.eclipse.ecf.ui/debug/flag" value="true"/>
<mapEntry key="org.eclipse.ecf/debug/filter" value="*"/>
+<mapEntry key="org.eclipse.ecf.ui/debug/flag" value="true"/>
<mapEntry key="org.eclipse.osgi/trace/filename" value="runtime.traces"/>
<mapEntry key="org.eclipse.update.core/debug/web" value="false"/>
<mapEntry key="org.eclipse.ecf.example.collab/debug/progsharedobject" value="false"/>
@@ -64,8 +64,8 @@
<mapEntry key="org.eclipse.ecf.provider.xmpp/debug/flag" value="true"/>
<mapEntry key="org.eclipse.core.runtime/registry/debug/resolve" value="false"/>
<mapEntry key="org.eclipse.osgi/debug" value="false"/>
-<mapEntry key="org.eclipse.osgi/trace/activation" value="false"/>
<mapEntry key="org.eclipse.core.resources/build/delta" value="false"/>
+<mapEntry key="org.eclipse.osgi/trace/activation" value="false"/>
<mapEntry key="org.eclipse.jdt.core/debug/search" value="false"/>
<mapEntry key="org.eclipse.ecf/debug/idfactory" value="false"/>
<mapEntry key="org.eclipse.ecf/debug/connectionfactory" value="false"/>
@@ -80,15 +80,15 @@
<mapEntry key="org.eclipse.update.core/debug/configuration" value="false"/>
<mapEntry key="org.eclipse.ecf/debug/factoryinit" value="true"/>
<mapEntry key="org.eclipse.ui/trace/part.activate" value="false"/>
-<mapEntry key="org.eclipse.help.ui/debug/infopop" value="false"/>
-<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug/platformadmin/resolver" value="false"/>
<mapEntry key="org.eclipse.osgi/trace/filters" value="trace.properties"/>
+<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug/platformadmin/resolver" value="false"/>
+<mapEntry key="org.eclipse.help.ui/debug/infopop" value="false"/>
<mapEntry key="org.eclipse.core.runtime/registry/debug/events/extension" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/hierarchy" value="false"/>
<mapEntry key="org.eclipse.help.webapp/debug" value="true"/>
+<mapEntry key="org.eclipse.jdt.core/debug/hierarchy" value="false"/>
<mapEntry key="org.eclipse.ecf.example.collab/debug/transactionsharedobject" value="true"/>
-<mapEntry key="org.eclipse.team.cvs.core/debug" value="false"/>
<mapEntry key="org.eclipse.core.resources/refresh" value="false"/>
+<mapEntry key="org.eclipse.team.cvs.core/debug" value="false"/>
<mapEntry key="org.eclipse.team.core/backgroundevents" value="false"/>
<mapEntry key="org.eclipse.jdt.core/debug/cpresolution" value="false"/>
<mapEntry key="org.eclipse.team.cvs.core/threading" value="false"/>
@@ -96,12 +96,12 @@
<mapEntry key="org.eclipse.ecf.example.collab/debug/flag" value="true"/>
<mapEntry key="org.eclipse.update.core/debug/warning" value="false"/>
<mapEntry key="org.eclipse.core.resources/save" value="false"/>
-<mapEntry key="org.eclipse.ui/debug/internalerror/openDialog" value="false"/>
<mapEntry key="org.eclipse.update.core/debug/install" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/jobs/errorondeadlock" value="false"/>
+<mapEntry key="org.eclipse.ui/debug/internalerror/openDialog" value="false"/>
<mapEntry key="org.eclipse.ecf.provider/debug/flag" value="true"/>
-<mapEntry key="org.eclipse.core.resources/debug" value="false"/>
+<mapEntry key="org.eclipse.core.runtime/jobs/errorondeadlock" value="false"/>
<mapEntry key="org.eclipse.help.ui/debug/embeddedBrowser/inprocess" value="false"/>
+<mapEntry key="org.eclipse.core.resources/debug" value="false"/>
<mapEntry key="org.eclipse.ecf.provider.xmpp/debug" value="true"/>
<mapEntry key="org.eclipse.update.core/debug/parsing" value="false"/>
<mapEntry key="org.eclipse.core.resources/restore/syncinfo" value="false"/>
@@ -121,31 +121,31 @@
<mapEntry key="org.eclipse.ecf.ui/debug/filter" value="*"/>
<mapEntry key="org.eclipse.ecf.provider/debug/basesharedobject" value="false"/>
<mapEntry key="org.eclipse.osgi/debug/services" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.ssh/debug" value="false"/>
<mapEntry key="org.eclipse.core.runtime/loader/debug/activateplugin" value="false"/>
+<mapEntry key="org.eclipse.team.cvs.ssh/debug" value="false"/>
<mapEntry key="org.eclipse.core.resources/monitor/builders" value="false"/>
<mapEntry key="org.eclipse.ui/trace/handlers.verbose" value="false"/>
<mapEntry key="org.eclipse.core.resources/save/markers" value="false"/>
-<mapEntry key="org.eclipse.ecf.provider.xmpp/debug/filter" value="*"/>
-<mapEntry key="org.eclipse.osgi/debug/startlevel" value="false"/>
<mapEntry key="org.eclipse.update.core/debug/installhandler" value="false"/>
+<mapEntry key="org.eclipse.osgi/debug/startlevel" value="false"/>
+<mapEntry key="org.eclipse.ecf.provider.xmpp/debug/filter" value="*"/>
<mapEntry key="org.eclipse.ecf.provider/debug/gmm" value="false"/>
<mapEntry key="org.eclipse.osgi/monitor/resources" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/selection" value="false"/>
<mapEntry key="org.eclipse.jdt.core/debug/javadelta" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/workbench.restore" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore/tree" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/selection" value="false"/>
<mapEntry key="org.eclipse.core.resources/preferences" value="false"/>
+<mapEntry key="org.eclipse.core.resources/restore/tree" value="false"/>
+<mapEntry key="org.eclipse.ui/trace/workbench.restore" value="false"/>
<mapEntry key="org.eclipse.ui/trace/part.create" value="false"/>
<mapEntry key="org.eclipse.help/debug/protocols" value="false"/>
<mapEntry key="org.eclipse.core.resources/restore/snapshots" value="false"/>
-<mapEntry key="org.eclipse.help.base/debug/search" value="false"/>
<mapEntry key="org.eclipse.core.resources/natures" value="false"/>
+<mapEntry key="org.eclipse.help.base/debug/search" value="false"/>
<mapEntry key="org.eclipse.team.cvs.core/dirtycaching" value="false"/>
<mapEntry key="org.eclipse.core.runtime/loader/debug/filter/native" value="*"/>
<mapEntry key="org.eclipse.jdt.core/debug/zipaccess" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/url/debug/cachecopy" value="false"/>
<mapEntry key="org.eclipse.core.runtime/loader/debug/properties" value="false"/>
+<mapEntry key="org.eclipse.core.runtime/url/debug/cachecopy" value="false"/>
<mapEntry key="org.eclipse.core.runtime/loader/debug/create" value="false"/>
<mapEntry key="org.eclipse.ui/trace/include.timings" value="true"/>
<mapEntry key="org.eclipse.ui/trace/keyBindings.verbose" value="false"/>
@@ -156,15 +156,15 @@
<mapEntry key="org.eclipse.osgi/debug/events" value="false"/>
<mapEntry key="org.eclipse.core.runtime/compatibility/debug" value="false"/>
<mapEntry key="org.eclipse.ecf.provider/debug/sharedobjectcontext" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/prefixes/success" value="false"/>
<mapEntry key="org.eclipse.osgi/debug/monitorbundles" value="false"/>
+<mapEntry key="org.eclipse.core.runtime/loader/debug/prefixes/success" value="false"/>
<mapEntry key="org.eclipse.pde.build/debug" value="false"/>
<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug/location" value="false"/>
-<mapEntry key="org.eclipse.ecf.provider/debug/sharedobjectwrapper" value="false"/>
<mapEntry key="org.eclipse.ui/trace/contexts.verbose" value="false"/>
+<mapEntry key="org.eclipse.ecf.provider/debug/sharedobjectwrapper" value="false"/>
<mapEntry key="org.eclipse.help.base/debug" value="true"/>
-<mapEntry key="org.eclipse.core.runtime/jobs" value="false"/>
<mapEntry key="org.eclipse.core.runtime/debug/pluginstopper" value="false"/>
+<mapEntry key="org.eclipse.core.runtime/jobs" value="false"/>
<mapEntry key="org.eclipse.ecf.provider.xmpp/debug/smackdebug" value="true"/>
<mapEntry key="org.eclipse.ui/trace/workbench.start" value="false"/>
<mapEntry key="org.eclipse.core.runtime/contenttypes/debug" value="false"/>
@@ -173,8 +173,8 @@
<mapEntry key="org.eclipse.ecf.provider/debug/connectionping" value="false"/>
<mapEntry key="org.eclipse.ui/trace/contexts" value="false"/>
<mapEntry key="org.eclipse.core.resources/build/invoking" value="false"/>
-<mapEntry key="org.eclipse.ui/debug/uijob.longwarning" value="false"/>
<mapEntry key="org.eclipse.core.runtime/loader/debug/failure" value="false"/>
+<mapEntry key="org.eclipse.ui/debug/uijob.longwarning" value="false"/>
<mapEntry key="org.eclipse.update.core/debug/type" value="false"/>
<mapEntry key="org.eclipse.ui/trace/page.listeners" value="false"/>
<mapEntry key="org.eclipse.ui/debug/job.stale" value="false"/>
@@ -184,36 +184,36 @@
<mapEntry key="org.eclipse.ui.intro/debug" value="true"/>
<mapEntry key="org.eclipse.jdt.core/debug/completion" value="false"/>
<mapEntry key="org.eclipse.jdt.debug.ui/debug" value="true"/>
-<mapEntry key="org.eclipse.debug.core/debug" value="true"/>
<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug" value="false"/>
+<mapEntry key="org.eclipse.debug.core/debug" value="true"/>
<mapEntry key="org.eclipse.help/debug" value="true"/>
<mapEntry key="org.eclipse.ui/trace/perspective" value="false"/>
<mapEntry key="org.eclipse.ui/debug" value="false"/>
<mapEntry key="org.eclipse.jdt.core/debug/indexmanager" value="false"/>
<mapEntry key="org.eclipse.osgi/debug/packageadmin" value="false"/>
<mapEntry key="org.eclipse.osgi/debug/loader" value="false"/>
-<mapEntry key="org.eclipse.ecf.provider/debug/container" value="true"/>
<mapEntry key="org.eclipse.core.resources/build/failure" value="false"/>
+<mapEntry key="org.eclipse.ecf.provider/debug/container" value="true"/>
<mapEntry key="org.eclipse.ui/trace/handlers" value="false"/>
<mapEntry key="org.eclipse.ecf.ui/debug" value="true"/>
<mapEntry key="org.eclipse.core.resources/save/tree" value="false"/>
<mapEntry key="org.eclipse.core.runtime/config/debug" value="false"/>
-<mapEntry key="org.eclipse.help.ui/debug" value="true"/>
<mapEntry key="org.eclipse.osgi/trace/classLoading" value="false"/>
+<mapEntry key="org.eclipse.help.ui/debug" value="true"/>
<mapEntry key="org.eclipse.core.resources/restore/metainfo" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save/mastertable" value="false"/>
<mapEntry key="org.eclipse.debug.ui/debug" value="true"/>
+<mapEntry key="org.eclipse.core.resources/save/mastertable" value="false"/>
<mapEntry key="org.eclipse.jdt.debug/debug" value="true"/>
<mapEntry key="org.eclipse.core.runtime/debug" value="false"/>
<mapEntry key="org.eclipse.ui/trace/handlers.verbose.commandId" value=""/>
-<mapEntry key="org.eclipse.osgi/debug/filter" value="false"/>
<mapEntry key="org.eclipse.jdt.core/debug/buffermanager" value="false"/>
-<mapEntry key="org.eclipse.jdt.ui/debug/ASTProvider" value="false"/>
+<mapEntry key="org.eclipse.osgi/debug/filter" value="false"/>
<mapEntry key="org.eclipse.ui/trace/part.listeners" value="false"/>
+<mapEntry key="org.eclipse.jdt.ui/debug/ASTProvider" value="false"/>
<mapEntry key="org.eclipse.core.runtime/loader/debug/success" value="false"/>
-<mapEntry key="org.eclipse.ecf.example.collab/debug/filter" value="*"/>
-<mapEntry key="org.eclipse.ui.intro/trace/logInfo" value="true"/>
<mapEntry key="org.eclipse.core.resources/restore/mastertable" value="false"/>
+<mapEntry key="org.eclipse.ui.intro/trace/logInfo" value="true"/>
+<mapEntry key="org.eclipse.ecf.example.collab/debug/filter" value="*"/>
<mapEntry key="org.eclipse.core.runtime/loader/debug/filter/class" value="*"/>
<mapEntry key="org.eclipse.ecf.provider/debug" value="true"/>
<mapEntry key="org.eclipse.core.runtime/preferences/debug" value="false"/>
@@ -224,21 +224,21 @@
<stringAttribute key="checked" value="org.eclipse.ecf.provider.xmpp"/>
<booleanAttribute key="includeFragments" value="false"/>
<stringAttribute key="configLocation" value=""/>
-<booleanAttribute key="clearws" value="false"/>
+<booleanAttribute key="clearws" value="true"/>
<stringAttribute key="location1" value="C:\eclipse3.1m4\eclipse\runtime-workspace"/>
<stringAttribute key="templateConfig" value=""/>
-<stringAttribute key="vmargs" value=""/>
<booleanAttribute key="default" value="true"/>
+<stringAttribute key="vmargs" value=""/>
<booleanAttribute key="clearConfig" value="true"/>
<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
<booleanAttribute key="useDefaultConfigArea" value="true"/>
-<booleanAttribute key="useDefaultConfig" value="true"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
<stringAttribute key="progargs" value=""/>
+<booleanAttribute key="useDefaultConfig" value="true"/>
<booleanAttribute key="askclear" value="true"/>
+<booleanAttribute key="includeOptional" value="true"/>
<mapAttribute key="org.eclipse.debug.core.environmentVariables">
<mapEntry key="smack.debugEnabled" value="true"/>
</mapAttribute>
-<booleanAttribute key="includeOptional" value="true"/>
<stringAttribute key="location0" value="C:\eclipse3.1m4\eclipse\runtime-workspace"/>
</launchConfiguration>
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ClientPlugin.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ClientPlugin.java
index 181b7a8b2..3063d648c 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ClientPlugin.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ClientPlugin.java
@@ -1,13 +1,13 @@
/****************************************************************************
-* Copyright (c) 2004 Composent, Inc. and others.
-* All rights reserved. This program and the accompanying materials
-* are 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:
-* Composent, Inc. - initial API and implementation
-*****************************************************************************/
+ * Copyright (c) 2004 Composent, Inc. and others.
+ * All rights reserved. This program and the accompanying materials
+ * are 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:
+ * Composent, Inc. - initial API and implementation
+ *****************************************************************************/
package org.eclipse.ecf.example.collab;
@@ -28,34 +28,36 @@ import org.osgi.framework.BundleContext;
/**
* The main plugin class to be used in the desktop.
*/
-public class ClientPlugin extends AbstractUIPlugin implements ClientPluginConstants {
+public class ClientPlugin extends AbstractUIPlugin implements
+ ClientPluginConstants {
- public static final String PLUGIN_ID = "org.eclipse.ecf.example.collab";
-
- //The shared instance.
+ public static final String PLUGIN_ID = "org.eclipse.ecf.example.collab";
+
+ // The shared instance.
private static ClientPlugin plugin;
- //Resource bundle.
+
+ // Resource bundle.
private ResourceBundle resourceBundle;
-
private static String appShareBinPath;
private static URL pluginLocation;
-
private ImageRegistry registry = null;
-
private FontRegistry fontRegistry = null;
+
+ private ServerStartup serverStartup = null;
- public static String getAppShareBinPath() {
- return appShareBinPath;
- }
public static URL getPluginTopLocation() {
return pluginLocation;
}
+
public static void log(String message) {
- getDefault().getLog().log(new Status(IStatus.OK, PLUGIN_ID, IStatus.OK, message, null));
+ getDefault().getLog().log(
+ new Status(IStatus.OK, PLUGIN_ID, IStatus.OK, message, null));
}
public static void log(String message, Throwable e) {
- getDefault().getLog().log(new Status(IStatus.ERROR, PLUGIN_ID, IStatus.OK, "Caught exception", e));
+ getDefault().getLog().log(
+ new Status(IStatus.ERROR, PLUGIN_ID, IStatus.OK,
+ "Caught exception", e));
}
/**
@@ -68,17 +70,18 @@ public class ClientPlugin extends AbstractUIPlugin implements ClientPluginConsta
/*
* The the plugin preferences to automatically define defaults.
*/
- /*ClientPreferencePage prefs = new ClientPreferencePage();
- prefs.performDefaults();
- prefs.dispose();*/
+ /*
+ * ClientPreferencePage prefs = new ClientPreferencePage();
+ * prefs.performDefaults(); prefs.dispose();
+ */
}
-
/**
* This method is called upon plug-in activation
*/
public void start(BundleContext context) throws Exception {
super.start(context);
+ serverStartup = new ServerStartup();
}
/**
@@ -88,35 +91,56 @@ public class ClientPlugin extends AbstractUIPlugin implements ClientPluginConsta
super.stop(context);
plugin = null;
resourceBundle = null;
+ if (serverStartup != null) {
+ serverStartup.dispose();
+ serverStartup = null;
+ }
}
-
+
public FontRegistry getFontRegistry() {
return this.fontRegistry;
}
-
+
public Shell getActiveShell() {
return this.getWorkbench().getDisplay().getActiveShell();
}
-
-
- /* (non-Javadoc)
+
+ /*
+ * (non-Javadoc)
+ *
* @see org.eclipse.ui.plugin.AbstractUIPlugin#createImageRegistry()
*/
protected ImageRegistry createImageRegistry() {
registry = super.createImageRegistry();
-
-
- registry.put(ClientPluginConstants.DECORATION_PROJECT, PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_FOLDER));
- registry.put(ClientPluginConstants.DECORATION_USER, AbstractUIPlugin.imageDescriptorFromPlugin("org.eclipse.ecf.example.collab", "icons/presence_member.gif").createImage());
- registry.put(ClientPluginConstants.DECORATION_TIME, PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_TOOL_FORWARD));
- registry.put(ClientPluginConstants.DECORATION_TASK, PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_ELEMENT));
-
- registry.put(ClientPluginConstants.DECORATION_SEND , PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_TOOL_UNDO));
- registry.put(ClientPluginConstants.DECORATION_RECEIVE , PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_TOOL_REDO));
- registry.put(ClientPluginConstants.DECORATION_PRIVATE , PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJS_WARN_TSK));
- registry.put(ClientPluginConstants.DECORATION_SYSTEM_MESSAGE , PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJS_INFO_TSK));
+
+ registry.put(ClientPluginConstants.DECORATION_PROJECT, PlatformUI
+ .getWorkbench().getSharedImages().getImage(
+ ISharedImages.IMG_OBJ_FOLDER));
+ registry.put(ClientPluginConstants.DECORATION_USER, AbstractUIPlugin
+ .imageDescriptorFromPlugin("org.eclipse.ecf.example.collab",
+ "icons/presence_member.gif").createImage());
+ registry.put(ClientPluginConstants.DECORATION_TIME, PlatformUI
+ .getWorkbench().getSharedImages().getImage(
+ ISharedImages.IMG_TOOL_FORWARD));
+ registry.put(ClientPluginConstants.DECORATION_TASK, PlatformUI
+ .getWorkbench().getSharedImages().getImage(
+ ISharedImages.IMG_OBJ_ELEMENT));
+
+ registry.put(ClientPluginConstants.DECORATION_SEND, PlatformUI
+ .getWorkbench().getSharedImages().getImage(
+ ISharedImages.IMG_TOOL_UNDO));
+ registry.put(ClientPluginConstants.DECORATION_RECEIVE, PlatformUI
+ .getWorkbench().getSharedImages().getImage(
+ ISharedImages.IMG_TOOL_REDO));
+ registry.put(ClientPluginConstants.DECORATION_PRIVATE, PlatformUI
+ .getWorkbench().getSharedImages().getImage(
+ ISharedImages.IMG_OBJS_WARN_TSK));
+ registry.put(ClientPluginConstants.DECORATION_SYSTEM_MESSAGE,
+ PlatformUI.getWorkbench().getSharedImages().getImage(
+ ISharedImages.IMG_OBJS_INFO_TSK));
return registry;
}
+
/**
* Returns the shared instance.
*/
@@ -125,8 +149,8 @@ public class ClientPlugin extends AbstractUIPlugin implements ClientPluginConsta
}
/**
- * Returns the string from the plugin's resource bundle,
- * or 'key' if not found.
+ * Returns the string from the plugin's resource bundle, or 'key' if not
+ * found.
*/
public static String getResourceString(String key) {
ResourceBundle bundle = ClientPlugin.getDefault().getResourceBundle();
@@ -143,7 +167,8 @@ public class ClientPlugin extends AbstractUIPlugin implements ClientPluginConsta
public ResourceBundle getResourceBundle() {
try {
if (resourceBundle == null)
- resourceBundle = ResourceBundle.getBundle("org.eclipse.ecf.example.collab.ClientPluginResources");
+ resourceBundle = ResourceBundle
+ .getBundle("org.eclipse.ecf.example.collab.ClientPluginResources");
} catch (MissingResourceException x) {
resourceBundle = null;
}
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/DiscoveryStartup.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/DiscoveryStartup.java
new file mode 100644
index 000000000..23f3ff9bc
--- /dev/null
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/DiscoveryStartup.java
@@ -0,0 +1,129 @@
+package org.eclipse.ecf.example.collab;
+
+import java.net.InetAddress;
+import java.net.URI;
+import java.util.Properties;
+
+import org.eclipse.ecf.core.ISharedObjectContainer;
+import org.eclipse.ecf.core.SharedObjectContainerFactory;
+import org.eclipse.ecf.core.identity.ID;
+import org.eclipse.ecf.core.identity.ServiceID;
+import org.eclipse.ecf.discovery.IDiscoveryContainer;
+import org.eclipse.ecf.discovery.IServiceEvent;
+import org.eclipse.ecf.discovery.IServiceTypeListener;
+import org.eclipse.ecf.discovery.ServiceInfo;
+
+public class DiscoveryStartup {
+
+ public static final String DISCOVERY_CONTAINER = "org.eclipse.ecf.provider.jmdns.container.JmDNS";
+ public static final String TCPSERVER_DISCOVERY_TYPE = "_http._tcp._local.";
+
+ static IDiscoveryContainer discovery = null;
+
+ public static IDiscoveryContainer getDefault() {
+ return discovery;
+ }
+
+ public DiscoveryStartup() {
+ setupDiscovery();
+ }
+
+ public void dispose() {
+ unregisterServerType();
+ }
+ protected void setupDiscovery() {
+ try {
+ ISharedObjectContainer container = SharedObjectContainerFactory
+ .makeSharedObjectContainer(DISCOVERY_CONTAINER);
+ discovery = (IDiscoveryContainer) container
+ .getAdapter(IDiscoveryContainer.class);
+ if (discovery != null) {
+ setupDiscoveryContainer(discovery);
+ container.joinGroup(new ServiceID(TCPSERVER_DISCOVERY_TYPE, null),null);
+ //registerServerType();
+ }
+ else {
+ ClientPlugin.log("No discovery container available");
+ }
+ } catch (Exception e) {
+ ClientPlugin.log("Exception creating discovery container",e);
+ }
+
+ }
+
+ protected void setupDiscoveryContainer(final IDiscoveryContainer dc) {
+ dc.addServiceTypeListener(new IServiceTypeListener() {
+ public void serviceTypeAdded(IServiceEvent event) {
+ System.out.println("serviceTypeAdded("+event.getServiceInfo());
+ //ServiceID svcID = event.getServiceInfo().getServiceID();
+ /*
+ dc.addServiceListener(event.getServiceInfo().getServiceID(),
+ new IServiceListener() {
+ public void serviceAdded(IServiceEvent event) {
+ System.out.println("serviceAdded(" + event.getServiceInfo());
+ log("serviceAdded(" + event.getServiceInfo());
+ dc.requestServiceInfo(event.getServiceInfo()
+ .getServiceID(), 3000);
+ }
+
+ public void serviceRemoved(IServiceEvent event) {
+ System.out.println("serviceRemoved(" + event.getServiceInfo());
+ log("serviceRemoved(" + event.getServiceInfo());
+ }
+
+ public void serviceResolved(IServiceEvent event) {
+ System.out.println("serviceResolved(" + event.getServiceInfo());
+ log("serviceResolved(" + event.getServiceInfo());
+ }
+ });
+ dc.registerServiceType(svcID);
+ */
+ }
+ });
+
+ }
+
+ public static void unregisterServerType() {
+ if (discovery != null) {
+ discovery.unregisterAllServices();
+ }
+ }
+ public static void registerServer(ID id) {
+ if (discovery != null) {
+ // Make service info
+ String name = id.getName();
+ try {
+ URI uri = id.toURI();
+ String path = uri.getPath();
+ Properties props = new Properties();
+ props.setProperty("id", name);
+ props.setProperty("passwordrequired", "false");
+ props.setProperty("defaultuser", "guest");
+ props.setProperty("path", path);
+ // Get localhost InetAddress
+ InetAddress host = InetAddress.getByName(uri.getHost());
+ int port = uri.getPort();
+ ServiceID svcID = new ServiceID(TCPSERVER_DISCOVERY_TYPE,"foo");
+ ServiceInfo svcinfo = new ServiceInfo(host, svcID, port, 0,
+ 0, props);
+ // Then register service
+ System.out.println("registering serviceinfo "+svcinfo);
+ discovery.registerService(svcinfo);
+ } catch (Exception e) {
+ ClientPlugin.log("Exception registering server " + name, e);
+ }
+ }
+ }
+
+ public static void unregisterServer(ISharedObjectContainer container) {
+
+ }
+
+ public static void registerServerType() {
+ if (discovery != null) {
+ discovery.registerServiceType(TCPSERVER_DISCOVERY_TYPE);
+ }
+ }
+
+
+}
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ServerStartup.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ServerStartup.java
new file mode 100644
index 000000000..237e27067
--- /dev/null
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ServerStartup.java
@@ -0,0 +1,109 @@
+package org.eclipse.ecf.example.collab;
+
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.eclipse.ecf.core.identity.ID;
+import org.eclipse.ecf.core.identity.IDFactory;
+import org.eclipse.ecf.core.identity.IDInstantiationException;
+import org.eclipse.ecf.provider.app.Connector;
+import org.eclipse.ecf.provider.app.NamedGroup;
+import org.eclipse.ecf.provider.app.ServerConfigParser;
+import org.eclipse.ecf.provider.generic.SOContainerConfig;
+import org.eclipse.ecf.provider.generic.TCPServerSOContainer;
+import org.eclipse.ecf.provider.generic.TCPServerSOContainerGroup;
+
+public class ServerStartup {
+
+ static TCPServerSOContainerGroup serverGroups[] = null;
+ static final String SERVER_FILE_NAME = "ServerStartup.xml";
+
+ static List servers = new ArrayList();
+
+ public ServerStartup() {
+ try {
+ InputStream ins = this.getClass().getResourceAsStream(SERVER_FILE_NAME);
+ if (ins != null) {
+ createServers(ins);
+ }
+ } catch (Exception e) {
+ ClientPlugin.log("Exception in ServerStartup initialization",e);
+ }
+
+ }
+
+ public void dispose() {
+ destroyServers();
+ }
+ protected synchronized void destroyServers() {
+ if (servers != null) {
+ for (Iterator i = servers.iterator(); i.hasNext();) {
+ TCPServerSOContainer s = (TCPServerSOContainer) i.next();
+ DiscoveryStartup.unregisterServer(s);
+ if (s != null) {
+ try {
+ s.dispose(5000);
+ } catch (Exception e) {
+ ClientPlugin.log("Exception destroying server "
+ + s.getConfig().getID());
+ }
+ }
+ }
+ servers.clear();
+ servers = null;
+ }
+
+ if (serverGroups != null) {
+ for (int i = 0; i < serverGroups.length; i++) {
+ serverGroups[i].takeOffTheAir();
+ }
+ serverGroups = null;
+ }
+ }
+
+ protected synchronized void createServers(InputStream ins) throws Exception {
+ ServerConfigParser scp = new ServerConfigParser();
+ List connectors = scp.load(ins);
+ if (connectors != null) {
+ serverGroups = new TCPServerSOContainerGroup[connectors.size()];
+ int j = 0;
+ for (Iterator i = connectors.iterator(); i.hasNext();) {
+ Connector connect = (Connector) i.next();
+ serverGroups[j] = makeServerGroup(connect.getHostname(),
+ connect.getPort());
+ List groups = connect.getGroups();
+
+ for (Iterator g = groups.iterator(); g.hasNext();) {
+ NamedGroup group = (NamedGroup) g.next();
+ TCPServerSOContainer cont = makeServerContainer(group
+ .getIDForGroup(), serverGroups[j], group.getName(),
+ connect.getTimeout());
+ DiscoveryStartup.registerServer(cont.getConfig().getID());
+ servers.add(cont);
+ }
+ serverGroups[j].putOnTheAir();
+ ClientPlugin.log("Server listening on local port: "+serverGroups[j].getPort()+" with path "+serverGroups[j].getName());
+ j++;
+ }
+ }
+
+ }
+
+ protected TCPServerSOContainerGroup makeServerGroup(String name, int port) {
+ TCPServerSOContainerGroup group = new TCPServerSOContainerGroup(name,
+ port);
+ return group;
+ }
+
+ protected TCPServerSOContainer makeServerContainer(String id,
+ TCPServerSOContainerGroup group, String path, int keepAlive)
+ throws IDInstantiationException {
+ ID newServerID = IDFactory.makeStringID(id);
+ ClientPlugin.log("Created server " + newServerID);
+ SOContainerConfig config = new SOContainerConfig(newServerID);
+ return new TCPServerSOContainer(config, group, path, keepAlive);
+ }
+
+}
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ServerStartup.xml b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ServerStartup.xml
new file mode 100644
index 000000000..61399a028
--- /dev/null
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ServerStartup.xml
@@ -0,0 +1,5 @@
+<server>
+ <connector protocol="ecftcp" hostname="localhost" port="3282" timeout="10000">
+ <group name="server"/>
+ </connector>
+</server> \ No newline at end of file
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/ClientPreferencePage.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/ClientPreferencePage.java
index 1b384de58..d03a7c130 100644
--- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/ClientPreferencePage.java
+++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/ClientPreferencePage.java
@@ -26,7 +26,6 @@ public class ClientPreferencePage extends FieldEditorPreferencePage implements
* @see org.eclipse.jface.preference.PreferencePage#performDefaults()
*/
protected void performDefaults() {
- // TODO Auto-generated method stub
super.performDefaults();
this.getPreferenceStore().setDefault(ClientPlugin.PREF_USE_CHAT_WINDOW, false);

Back to the top