diff options
author | slewis | 2011-10-31 05:54:01 +0000 |
---|---|---|
committer | slewis | 2011-10-31 05:54:01 +0000 |
commit | a3fd1ffb0cbf2724fc4037caa995caba1ab6c8f0 (patch) | |
tree | 1a931a4b7e454ddc882c93a6f197361f588cbfac | |
parent | 00bf8b9f8fe0e3a5d716dce371d0f8007cb4b5b5 (diff) | |
download | org.eclipse.ecf-a3fd1ffb0cbf2724fc4037caa995caba1ab6c8f0.tar.gz org.eclipse.ecf-a3fd1ffb0cbf2724fc4037caa995caba1ab6c8f0.tar.xz org.eclipse.ecf-a3fd1ffb0cbf2724fc4037caa995caba1ab6c8f0.zip |
Added customization params to GenericClientApplication
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$ } } |