blob: 1637f6cea0658bd961e8c7352fd55cb151328a7b [file] [log] [blame]
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);
}
}
}