knowing/Knowing — Issue #19: Redesign IEvaluateService
Author: muuki88
Created: 2011-12-23 15:30:42+00:00
State: open

### Task

Redesign _Interface_ and implementation in order to achieve

* Easier evaluation
* More decoupled services

### Implementation

_IEvaluateService_ should provide the following methods:

```scala

/* chooses the first UIFactory bind and fitting to the _DataProcessingUnit.*/
@throws(classOf[Exception])
def evaluate(dpu: IDataProcessingUnit, execPath: URI): ActorRef

/** Choose UIFactory by ID */
@throws(classOf[Exception])
def evaluate(dpu: IDataProcessingUnit, execPath: URI,
uiFactoryId: String,
input: MutableMap[String, InputStream],
output: MutableMap[String, OutputStream]): ActorRef

/** Provide UIFactory */
@throws(classOf[Exception])
def evaluate(dpu: IDataProcessingUnit, execPath: URI,
ui: UIFactory[_],
input: MutableMap[String, InputStream],
output: MutableMap[String, OutputStream]): ActorRef

```

### Additional Information

@see ticket #18