Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorslewis2011-10-31 05:54:01 +0000
committerslewis2011-10-31 05:54:01 +0000
commita3fd1ffb0cbf2724fc4037caa995caba1ab6c8f0 (patch)
tree1a931a4b7e454ddc882c93a6f197361f588cbfac
parent00bf8b9f8fe0e3a5d716dce371d0f8007cb4b5b5 (diff)
downloadorg.eclipse.ecf-a3fd1ffb0cbf2724fc4037caa995caba1ab6c8f0.tar.gz
org.eclipse.ecf-a3fd1ffb0cbf2724fc4037caa995caba1ab6c8f0.tar.xz
org.eclipse.ecf-a3fd1ffb0cbf2724fc4037caa995caba1ab6c8f0.zip
Added customization params to GenericClientApplication
-rw-r--r--server-side/bundles/org.eclipse.ecf.server.generic/launchconfigs/Generic Client Java App.launch23
-rw-r--r--server-side/bundles/org.eclipse.ecf.server.generic/plugin.xml11
-rw-r--r--server-side/bundles/org.eclipse.ecf.server.generic/src/org/eclipse/ecf/server/generic/app/AbstractGenericClientApplication.java14
-rw-r--r--server-side/bundles/org.eclipse.ecf.server.generic/src/org/eclipse/ecf/server/generic/app/GenericClientApplication.java38
4 files changed, 63 insertions, 23 deletions
diff --git a/server-side/bundles/org.eclipse.ecf.server.generic/launchconfigs/Generic Client Java App.launch b/server-side/bundles/org.eclipse.ecf.server.generic/launchconfigs/Generic Client Java App.launch
index 0d3899612..2f6960d67 100644
--- a/server-side/bundles/org.eclipse.ecf.server.generic/launchconfigs/Generic Client Java App.launch
+++ b/server-side/bundles/org.eclipse.ecf.server.generic/launchconfigs/Generic Client Java App.launch
@@ -1,11 +1,12 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/org.eclipse.ecf.server.generic/src/org/eclipse/ecf/server/generic/app/GenericClientJavaApplication.java"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="1"/>
-</listAttribute>
-<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.ecf.server.generic.app.GenericClientJavaApplication"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.ecf.server.generic"/>
-</launchConfiguration>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.ecf.server.generic/src/org/eclipse/ecf/server/generic/app/GenericClientJavaApplication.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.ecf.server.generic.app.GenericClientJavaApplication"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-clientId something:slewis@composent.com/333334"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.ecf.server.generic"/>
+</launchConfiguration>
diff --git a/server-side/bundles/org.eclipse.ecf.server.generic/plugin.xml b/server-side/bundles/org.eclipse.ecf.server.generic/plugin.xml
index 6233371ca..44fa9bc6d 100644
--- a/server-side/bundles/org.eclipse.ecf.server.generic/plugin.xml
+++ b/server-side/bundles/org.eclipse.ecf.server.generic/plugin.xml
@@ -35,5 +35,16 @@
class="org.eclipse.ecf.server.generic.app.GenericClientApplication"/>
</application>
</extension>
+ <extension
+ id="GenericClientApplication"
+ point="org.eclipse.core.runtime.applications">
+ <application
+ thread="any"
+ visible="true">
+ <run
+ class="org.eclipse.ecf.server.generic.app.GenericClientApplication">
+ </run>
+ </application>
+ </extension>
</plugin>
diff --git a/server-side/bundles/org.eclipse.ecf.server.generic/src/org/eclipse/ecf/server/generic/app/AbstractGenericClientApplication.java b/server-side/bundles/org.eclipse.ecf.server.generic/src/org/eclipse/ecf/server/generic/app/AbstractGenericClientApplication.java
index 9bb89ecf9..7c1ec243e 100644
--- a/server-side/bundles/org.eclipse.ecf.server.generic/src/org/eclipse/ecf/server/generic/app/AbstractGenericClientApplication.java
+++ b/server-side/bundles/org.eclipse.ecf.server.generic/src/org/eclipse/ecf/server/generic/app/AbstractGenericClientApplication.java
@@ -23,6 +23,14 @@ public abstract class AbstractGenericClientApplication {
protected String connectTarget;
protected ISharedObjectContainer clientContainer;
protected int waitTime = 40000;
+ /**
+ * @since 5.1
+ */
+ protected String clientId = null;
+ /**
+ * @since 5.1
+ */
+ protected String password = null;
protected abstract ISharedObjectContainer createContainer() throws ContainerCreateException;
@@ -37,6 +45,12 @@ public abstract class AbstractGenericClientApplication {
waitTime = new Integer(args[i + 1]).intValue();
i++;
}
+ if (args[i].equals("-clientId")) { //$NON-NLS-1$
+ clientId = args[i + 1];
+ }
+ if (args[i].equals("-connectPassword")) { //$NON-NLS-1$
+ password = args[i + 1];
+ }
}
}
diff --git a/server-side/bundles/org.eclipse.ecf.server.generic/src/org/eclipse/ecf/server/generic/app/GenericClientApplication.java b/server-side/bundles/org.eclipse.ecf.server.generic/src/org/eclipse/ecf/server/generic/app/GenericClientApplication.java
index f51b6d392..d14bc8da5 100644
--- a/server-side/bundles/org.eclipse.ecf.server.generic/src/org/eclipse/ecf/server/generic/app/GenericClientApplication.java
+++ b/server-side/bundles/org.eclipse.ecf.server.generic/src/org/eclipse/ecf/server/generic/app/GenericClientApplication.java
@@ -9,11 +9,13 @@
******************************************************************************/
package org.eclipse.ecf.server.generic.app;
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.ecf.core.ContainerCreateException;
+import org.eclipse.ecf.core.*;
+import org.eclipse.ecf.core.identity.ID;
+import org.eclipse.ecf.core.security.IConnectContext;
+import org.eclipse.ecf.core.security.IConnectInitiatorPolicy;
import org.eclipse.ecf.core.sharedobject.ISharedObjectContainer;
import org.eclipse.ecf.internal.server.generic.Activator;
+import org.eclipse.ecf.provider.generic.ClientSOContainer;
import org.eclipse.equinox.app.IApplication;
import org.eclipse.equinox.app.IApplicationContext;
@@ -22,6 +24,8 @@ import org.eclipse.equinox.app.IApplicationContext;
*/
public class GenericClientApplication extends AbstractGenericClientApplication implements IApplication {
+ private static final String GENERIC_CLIENT_CONTAINER_TYPE = "ecf.generic.client"; //$NON-NLS-1$
+
protected final Object appLock = new Object();
protected boolean done = false;
@@ -47,7 +51,24 @@ public class GenericClientApplication extends AbstractGenericClientApplication i
}
protected ISharedObjectContainer createContainer() throws ContainerCreateException {
- return (ISharedObjectContainer) Activator.getDefault().getContainerManager().getContainerFactory().createContainer("ecf.generic.client"); //$NON-NLS-1$
+ IContainerFactory f = Activator.getDefault().getContainerManager().getContainerFactory();
+ ClientSOContainer client = (ClientSOContainer) ((clientId == null) ? f.createContainer(GENERIC_CLIENT_CONTAINER_TYPE) : f.createContainer(GENERIC_CLIENT_CONTAINER_TYPE, clientId));
+ if (password != null) {
+ client.setConnectInitiatorPolicy(new IConnectInitiatorPolicy() {
+ public void refresh() {
+ //nothing
+ }
+
+ public Object createConnectData(IContainer container, ID targetID, IConnectContext context) {
+ return password;
+ }
+
+ public int getConnectTimeout() {
+ return 30000;
+ }
+ });
+ }
+ return client;
}
protected void waitForDone() {
@@ -64,14 +85,7 @@ public class GenericClientApplication extends AbstractGenericClientApplication i
}
protected String[] getArguments(IApplicationContext context) {
- String[] originalArgs = (String[]) context.getArguments().get("application.args"); //$NON-NLS-1$
- if (originalArgs == null)
- return new String[0];
- final List l = new ArrayList();
- for (int i = 0; i < originalArgs.length; i++)
- if (!originalArgs[i].equals("-pdelaunch")) //$NON-NLS-1$
- l.add(originalArgs[i]);
- return (String[]) l.toArray(new String[] {});
+ return (String[]) context.getArguments().get("application.args"); //$NON-NLS-1$
}
}

Back to the top