/******************************************************************************* * Copyright (c) 2009 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.server.generic.app; import org.eclipse.ecf.core.ContainerConnectException; import org.eclipse.ecf.core.ContainerCreateException; import org.eclipse.ecf.core.identity.IDFactory; import org.eclipse.ecf.core.sharedobject.ISharedObjectContainer; import org.eclipse.ecf.provider.generic.TCPServerSOContainer; /** * @since 3.0 */ 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; protected void processArguments(String[] args) { connectTarget = TCPServerSOContainer.getDefaultServerURL(); for (int i = 0; i < args.length; i++) { if (args[i].equals("-connectTarget")) { //$NON-NLS-1$ connectTarget = args[i + 1]; i++; } if (args[i].equals("-waitTime")) { //$NON-NLS-1$ 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]; } } } protected void initialize() throws ContainerCreateException { clientContainer = createContainer(); } protected void connect() throws ContainerConnectException { clientContainer.connect(IDFactory.getDefault().createStringID(connectTarget), null); } protected void dispose() { if (clientContainer != null) { clientContainer.dispose(); clientContainer = null; } } }