GraphExecutor class?

Hello,

For our developments, we’ve made our own RunGraph class. We’ve been using the GraphExecutor class introduced in cloverETL engine 2.4, in order to, well, run the graphs.
It seems to have disappeared from the newest version, 2.5.
I have looked through the change log, but didn’t see anything about this.

Has another class replaced it? Which classes have a method for calling the runGraph() method to run the engine?

Same question for the class CloverURLStreamHandlerFactory, which seems to have been removed in the latest version too.

It changed greatly between the various versions,
I had to track its various versions,
it has been carrying out the internal structure of the optimization and therefore not compatible between different versions.

Yes, the graph launching procedure was essentially reimplemented due clover server needs (check it out at http://www.cloveretl.org/clover-server/). Unfortunately public change log doesn’t usually contain implementation updates. Please, revise your code according our runGraph main class.

I have prepared small extract from the runGraph launcher:

//clover engine initialization
EngineInitializer.initEngine(pluginsRootDirectory, configFileName, logHost);
//build graph from xml
TransformationGraph graph = TransformationGraphXMLReaderWriter.loadGraph(in, runtimeContext.getAdditionalProperties());
//prepare default runtime context
GraphRuntimeContext runtimeContext = new GraphRuntimeContext();
//initialize graph
EngineInitializer.initGraph(graph, runtimeContext);
//prepare simple thread manager
IThreadManager threadManager = new SimpleThreadManager();
//prepare watchdog for running graph
WatchDog watchDog = new WatchDog(graph, runtimeContext);
//launch graph
Future futureResult = threadManager.executeWatchDog(watchDog);
//wait for result
Result result = futureResult.get();
//release all graph resources
graph.free();