blob: 33541e6bb296e3bfc4a48cb31ea4afb265812f10 [file] [log] [blame]
/**
*
*/
package net.sf.taverna.t2.activities.wsdl.menu;
import java.io.IOException;
import java.net.URI;
import java.util.Map;
import javax.swing.Action;
import javax.wsdl.WSDLException;
import javax.xml.parsers.ParserConfigurationException;
import net.sf.taverna.t2.activities.wsdl.actions.AbstractAddXMLSplitterAction;
import net.sf.taverna.t2.activities.wsdl.actions.AddXMLOutputSplitterAction;
import net.sf.taverna.t2.workbench.activitytools.AbstractConfigureActivityMenuAction;
import net.sf.taverna.t2.workbench.edits.EditManager;
import net.sf.taverna.t2.workbench.selection.SelectionManager;
import net.sf.taverna.wsdl.parser.TypeDescriptor;
import net.sf.taverna.wsdl.parser.UnknownOperationException;
import org.jdom.JDOMException;
import org.xml.sax.SAXException;
/**
* @author alanrw
*/
public abstract class AddXMLOutputSplitterMenuAction extends AbstractConfigureActivityMenuAction {
private static final String ADD_XML_OUTPUT_SPLITTER = "Add XML Output Splitter";
private EditManager editManager;
private SelectionManager selectionManager;
public AddXMLOutputSplitterMenuAction(URI activityType) {
super(activityType);
}
@Override
protected Action createAction() {
AddXMLOutputSplitterAction configAction = new AddXMLOutputSplitterAction(
findActivity(), null, editManager, selectionManager);
Map<String, TypeDescriptor> descriptors;
try {
descriptors = configAction.getTypeDescriptors();
} catch (UnknownOperationException | IOException | ParserConfigurationException
| WSDLException | SAXException | JDOMException e) {
return null;
}
if (!AbstractAddXMLSplitterAction.filterDescriptors(descriptors).isEmpty()) {
configAction.putValue(Action.NAME, ADD_XML_OUTPUT_SPLITTER);
addMenuDots(configAction);
return configAction;
} else {
return null;
}
}
public void setEditManager(EditManager editManager) {
this.editManager = editManager;
}
public void setSelectionManager(SelectionManager selectionManager) {
this.selectionManager = selectionManager;
}
}