/******************************************************************************* * Copyright (c) 2004 Composent, Inc. 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.tutorial.actions; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Status; import org.eclipse.core.runtime.jobs.Job; import org.eclipse.ecf.core.util.ECFException; import org.eclipse.ecf.tutorial.Activator; import org.eclipse.ecf.tutorial.scribbleshare.ScribbleClient; import org.eclipse.jface.action.IAction; import org.eclipse.jface.viewers.ISelection; import org.eclipse.ui.IWorkbenchWindow; import org.eclipse.ui.IWorkbenchWindowActionDelegate; public class StartClientAction implements IWorkbenchWindowActionDelegate { IWorkbenchWindow window = null; public void run(IAction action) { ClientConnectJob job = new ClientConnectJob("ECF connect job"); job.schedule(); } public void selectionChanged(IAction action, ISelection selection) { } public void dispose() { } public void init(IWorkbenchWindow window) { this.window = window; } public class ClientConnectJob extends Job { public ClientConnectJob(String name) { super(name); } public IStatus run(IProgressMonitor pm) { try { createAndConnectClient(); return new Status(IStatus.OK, Activator.getDefault() .getBundle().getSymbolicName(), 15000, "Connected", null); } catch (Exception e) { return new Status(IStatus.ERROR, Activator.getDefault() .getBundle().getSymbolicName(), 15555, "Could not connect\n\n" + e.getMessage() + "\nSee stack trace in Error Log", e); } } } protected void createAndConnectClient() throws ECFException { // Client1 client = new Client1(); // Client2 client = new Client2(); // Client3 client = new Client4(); // Client4 client = new Client4(); // DsClient1 client = new DsClient1(); // DsClient2 client = new DsClient2(); ScribbleClient client = new ScribbleClient(); client.createAndConnect(); } }