/* * WorkflowWithoutCosima.java * * Version 1.0 Jun 17, 2008 * * Copyright notice * * Brief description * * (c) 2008 by dbreuer */ package de.fhkoeln.cosima.workflow; import java.util.Iterator; import javax.media.MediaException; import de.fhkoeln.cosima.messaging.MessageQueue; import de.fhkoeln.cosima.workflow.WorkflowElement.Input; /** * This a first try {@link WorkflowEngine} implementation. It shouldn't be used any more. * * @author Dirk Breuer * @version 1.0 Jun 17, 2008 * */ @Deprecated public class WorkflowWithoutCosima { private final SimpleWorkflowDefinition workflowDefinition; private final MessageQueue messageQueue; /** * Constructor documentation comment. * * @param workflowDefinition */ public WorkflowWithoutCosima(SimpleWorkflowDefinition workflowDefinition, MessageQueue messageQueue) { this.workflowDefinition = workflowDefinition; this.messageQueue = messageQueue; } public void run() throws InterruptedException, MediaException { while (workflowDefinition.hasNextElements()) { for (Iterator<WorkflowElement> iterator = workflowDefinition .getNextElements().iterator(); iterator.hasNext();) { WorkflowElement element = iterator.next(); System.out.println("Current Workflow item: " + element.getUri()); // Constructor<AbstractComponent> abstractComponentConstructor; // AbstractComponent abstractComponent; // // try { // // abstractComponentConstructor = element.getElementClass() // .getConstructor(MessageQueue.class, String[].class); // abstractComponent = (AbstractComponent) abstractComponentConstructor // .newInstance(this.messageQueue, element.getInputKeys()); for (Input input : element.getInput()) { if (input.getData() != null) this.messageQueue.pushMessage(input.getUri(), input.getData()); } // abstractComponent.run(); // } catch (SecurityException e) { // e.printStackTrace(); // } catch (NoSuchMethodException e) { // e.printStackTrace(); // } catch (ClassNotFoundException e) { // e.printStackTrace(); // } catch (IllegalArgumentException e) { // e.printStackTrace(); // } catch (InstantiationException e) { // e.printStackTrace(); // } catch (IllegalAccessException e) { // e.printStackTrace(); // } catch (InvocationTargetException e) { // e.printStackTrace(); // } } } } }