Code Search for Developers
 
 
  

ConnectProjectToServerAction.java from MASE: Agile Software Engineering at Krugle


Show ConnectProjectToServerAction.java syntax highlighted

package ca.ucalgary.cpsc.ebe.fitClipse.actions;

import org.eclipse.core.internal.resources.Project;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.QualifiedName;
import org.eclipse.jface.action.IAction;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.IActionDelegate;
import org.eclipse.ui.PlatformUI;

import ca.ucalgary.cpsc.ebe.fitClipse.connector.IServerConnector;
import ca.ucalgary.cpsc.ebe.fitClipse.connector.ServerConfiguration;
import ca.ucalgary.cpsc.ebe.fitClipse.connector.ServerConnectorFactory;
import ca.ucalgary.cpsc.ebe.fitClipse.ui.testHierarchy.TestHierarchyController;
import ca.ucalgary.cpsc.ebe.fitClipse.ui.testHierarchy.TestHierarchyView;

public class ConnectProjectToServerAction implements IActionDelegate {
	ISelection selection = null;

	public void run(IAction action) {
		try {
			if (selection instanceof IStructuredSelection) {
				IStructuredSelection ss = (IStructuredSelection) selection;
				if (ss.getFirstElement().getClass() == Project.class) {
					IProject project = (IProject) (ss.getFirstElement());
					login(project);
					TestHierarchyView testView = TestHierarchyController
							.getTestHierarchyView();
					testView.refreshView();
				} else {
					return;
				}
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	public void selectionChanged(IAction action, ISelection selection) {
		this.selection = selection;
	}

	public void login(IProject project) {
		ServerConfiguration config = ServerConfiguration.getInstance();
		try {
			config.setWebPath(project.getPersistentProperty(new QualifiedName(
					"ca.ucalgary.cpsc.ebe.fitClipse", "server.webPath")));
			config.setHost(project.getPersistentProperty(new QualifiedName(
					"ca.ucalgary.cpsc.ebe.fitClipse", "server.host")));
//			config.setBeanPort(project.getPersistentProperty(new QualifiedName(
//					"ca.ucalgary.cpsc.ebe.fitClipse", "server.beanPort")));
			config.setWebPort(project.getPersistentProperty(new QualifiedName(
					"ca.ucalgary.cpsc.ebe.fitClipse", "server.webPort")));
			config.setUsername(project.getPersistentProperty(new QualifiedName(
					"ca.ucalgary.cpsc.ebe.fitClipse", "server.username")));
			config.setPassword(project.getPersistentProperty(new QualifiedName(
					"ca.ucalgary.cpsc.ebe.fitClipse", "server.password")));
			config.setProjectNameSpace(project
					.getPersistentProperty(new QualifiedName(
							"ca.ucalgary.cpsc.ebe.fitClipse",
							"project.namespace")));
			config.setServerType(project
					.getPersistentProperty(new QualifiedName(
							"ca.ucalgary.cpsc.ebe.fitClipse", "server.type")));
			IServerConnector sc = ServerConnectorFactory.getServerInstance(config);
			if(sc==null){
				Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow()
				.getShell();
				MessageDialog.openError(shell, "Error", "Unable to connect to server: "
						+ config.getHost() + ":" + config.getWebPort()
						+ " is unreachable.");
			}
			
		} catch (Exception e) {
			e.printStackTrace();
			return;
		}
	}
}




See more files for this project here

MASE: Agile Software Engineering

The MASE project investigates methods to support the coordination and executable acceptance testing of software projects. Keywords: Agile methods, distributed teams, Extreme Programming. See http://ebe.cpsc.ucalgary.ca/ebe for more information.

Project homepage: http://sourceforge.net/projects/mase
Programming language(s): Java,XML
License: other

  CheckAsFitProjectAction.java
  ConnectProjectToServerAction.java