01: /*
02:
03: Derby - Class org.apache.derby.ui.actions.StartAction
04:
05: Licensed to the Apache Software Foundation (ASF) under one or more
06: contributor license agreements. See the NOTICE file distributed with
07: this work for additional information regarding copyright ownership.
08: The ASF licenses this file to you under the Apache License, Version 2.0
09: (the "License"); you may not use this file except in compliance with
10: the License. You may obtain a copy of the License at
11:
12: http://www.apache.org/licenses/LICENSE-2.0
13:
14: Unless required by applicable law or agreed to in writing, software
15: distributed under the License is distributed on an "AS IS" BASIS,
16: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17: See the License for the specific language governing permissions and
18: limitations under the License.
19:
20: */
21:
22: package org.apache.derby.ui.actions;
23:
24: import org.apache.derby.ui.common.CommonNames;
25: import org.apache.derby.ui.common.Messages;
26: import org.apache.derby.ui.util.DerbyServerUtils;
27: import org.eclipse.core.resources.IProject;
28: import org.eclipse.core.runtime.CoreException;
29: import org.eclipse.jdt.core.IJavaProject;
30: import org.eclipse.jface.action.IAction;
31: import org.eclipse.jface.dialogs.MessageDialog;
32: import org.eclipse.jface.viewers.ISelection;
33: import org.eclipse.swt.widgets.Shell;
34: import org.eclipse.ui.IObjectActionDelegate;
35: import org.eclipse.ui.IWorkbenchPart;
36:
37: ;
38:
39: public class StartAction implements IObjectActionDelegate {
40:
41: private IJavaProject currentJavaProject;
42: private IProject currentProject;
43:
44: public StartAction() {
45: super ();
46: }
47:
48: public void setActivePart(IAction action, IWorkbenchPart targetPart) {
49: }
50:
51: public void run(IAction action) {
52: try {
53: if (currentJavaProject != null) {
54: currentProject = currentJavaProject.getProject();
55: }
56: DerbyServerUtils.getDefault().startDerbyServer(
57: currentProject);
58:
59: } catch (CoreException e) {
60: Shell shell = new Shell();
61: MessageDialog.openInformation(shell,
62: CommonNames.PLUGIN_NAME, Messages.D_NS_START_ERROR
63: + org.apache.derby.ui.util.SelectionUtil
64: .getStatusMessages(e));
65: }
66: }
67:
68: public void selectionChanged(IAction action, ISelection selection) {
69: currentJavaProject = org.apache.derby.ui.util.SelectionUtil
70: .findSelectedJavaProject(selection);
71:
72: if (currentJavaProject == null) {
73: currentProject = org.apache.derby.ui.util.SelectionUtil
74: .findSelectedProject(selection);
75: }
76:
77: }
78:
79: }
|