blob: 1aeee89838e225f10cfae4d0ba14a1129e6fd214 [file] [log] [blame]
/*******************************************************************************
******************************************************************************/
package org.apache.taverna.activities.externaltool.menu;
import java.awt.Desktop;
import java.awt.event.ActionEvent;
import java.io.IOException;
import java.net.URI;
import javax.swing.AbstractAction;
import javax.swing.Action;
import javax.swing.Icon;
import javax.swing.JOptionPane;
import org.apache.taverna.ui.menu.AbstractMenuAction;
import org.apache.log4j.Logger;
/**
* This class adds the feedback item to the context menu of every use case
* activity.
*
* @author Hajo Nils Krabbenhoeft
*/
public class FeedbackMenuAction extends AbstractMenuAction {
private static Logger logger = Logger.getLogger(FeedbackMenuAction.class);
private static final URI feedbackSection = URI.create("http://taverna.sf.net/2009/contextMenu/configure");
public FeedbackMenuAction() {
super(feedbackSection, 51);
}
protected Action createAction() {
// final ImageIcon icon = KnowARCConfigurationFactory.getConfiguration().getIcon();
return new SendFeedbackAction("Send Feedback...", null);
}
private final class SendFeedbackAction extends AbstractAction {
private static final long serialVersionUID = 1L;
private static final String errTitle = "Could not open web browser for feedback:";
private static final String feedbackUrl = "http://www.taverna.org.uk/about/contact-us/feedback?product=ExternalToolService";
private SendFeedbackAction(String name, Icon icon) {
super(name, icon);
}
public void actionPerformed(ActionEvent e) {
if (Desktop.isDesktopSupported()) {
try {
Desktop.getDesktop().browse(URI.create(feedbackUrl));
} catch (IOException e1) {
JOptionPane.showMessageDialog(null, feedbackUrl + "\n" + e1.getLocalizedMessage(), errTitle, JOptionPane.ERROR_MESSAGE);
}
} else {
JOptionPane.showMessageDialog(null, "Go to " + feedbackUrl, errTitle, JOptionPane.ERROR_MESSAGE);
}
}
}
}