| package org.apache.taverna.activities.externaltool.actions; |
| /* |
| * Licensed to the Apache Software Foundation (ASF) under one or more |
| * contributor license agreements. See the NOTICE file distributed with |
| * this work for additional information regarding copyright ownership. |
| * The ASF licenses this file to You under the Apache License, Version 2.0 |
| * (the "License"); you may not use this file except in compliance with |
| * the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| import java.awt.Frame; |
| import java.awt.event.ActionEvent; |
| |
| import javax.swing.Action; |
| |
| import org.apache.taverna.activities.externaltool.ExternalToolActivity; |
| import org.apache.taverna.activities.externaltool.ExternalToolActivityConfigurationBean; |
| import org.apache.taverna.activities.externaltool.views.ExternalToolConfigView; |
| import org.apache.taverna.scufl2.api.activity.Activity; |
| import org.apache.taverna.servicedescriptions.ServiceDescriptionRegistry; |
| import org.apache.taverna.workbench.activityicons.ActivityIconManager; |
| import org.apache.taverna.workbench.edits.EditManager; |
| import org.apache.taverna.workbench.file.FileManager; |
| import org.apache.taverna.workbench.ui.actions.activity.ActivityConfigurationAction; |
| import org.apache.taverna.workbench.ui.views.contextualviews.activity.ActivityConfigurationDialog; |
| |
| /** |
| * This class implements an ActivityConfigurationAction to configure the ExternalToolActivity |
| * plugin. The configuration action is called "Configure ToolDesc invocation" and is implemented in |
| * the KnowARCConfigurationDialog inside the knowarc-tooldescs maven artifact. |
| * |
| * @author Hajo Nils Krabbenhoeft |
| */ |
| @SuppressWarnings("serial") |
| public class ExternalToolActivityConfigureAction extends |
| ActivityConfigurationAction {// <ExternalToolActivity, ExternalToolActivityConfigurationBean> { |
| |
| private final Frame owner; |
| private final EditManager editManager; |
| private final FileManager fileManager; |
| |
| public ExternalToolActivityConfigureAction(Activity activity, Frame owner, |
| EditManager editManager, FileManager fileManager, ActivityIconManager activityIconManager, ServiceDescriptionRegistry serviceDescriptionRegistry) { |
| super(activity, activityIconManager, serviceDescriptionRegistry); |
| this.editManager = editManager; |
| this.fileManager = fileManager; |
| putValue(Action.NAME, "Configure tool invocation"); |
| this.owner = owner; |
| } |
| |
| public void actionPerformed(ActionEvent e) { |
| /* |
| * if (getActivity().getConfiguration() instanceof |
| * RegisteredExternalToolActivityConfigurationBean) { new KnowARCConfigurationDialog(owner, |
| * false, KnowARCConfigurationFactory.getConfiguration()).setVisible(true); } else |
| */{ |
| ActivityConfigurationDialog currentDialog = ActivityConfigurationAction |
| .getDialog(getActivity()); |
| if (currentDialog != null) { |
| currentDialog.toFront(); |
| return; |
| } |
| final ExternalToolConfigView externalToolConfigView = new ExternalToolConfigView( |
| getActivity()); |
| |
| final ActivityConfigurationDialog dialog = new ActivityConfigurationDialog(getActivity(), externalToolConfigView, editManager); |
| |
| ActivityConfigurationAction.setDialog(getActivity(), dialog, fileManager); |
| } |
| } |
| } |