Pathways and Abstra in Studio
I recently worked on computing a multi-sources collection graph. This has led to some changes/needed refactoring in the Abstra class (in Abstra).
Therefore, the main way to call Abstra (as in AbstraExperiment) is to do so:
if(!AbstraExperiment.START_FROM_COLLECTION_GRAPH && !noResetFirst) {
log.info("--------------------");
log.info("Dataset registration");
log.info("--------------------");
this.createCLInstance(); // create a CL object and register data inside
this.createAbstraInstance(); // create an Abstra instance
this.registerDataInCL();
this.abstraStats.start(StatisticsCollector.total()); // starts stats
long startTime = System.currentTimeMillis();
log.info("Dataset registration done in " + (System.currentTimeMillis() - startTime) + " ms.");
} else {
this.createCLInstance();
this.createAbstraInstance();
this.mapExistingInputs();
}
I can basically do the same in PathwaysExperiment using, super.
instead of this.
and this works well.
Now, when we move to the Studio, the game has changed: we cannot use those methods because they are part of AbstraExperiment, and the Studio does not know about it (and I don't want the Studio to know about it because this is meant for the cmd line only).
So, the logical solution is to move those createCLInstance()
, createAbstraInstance()
, registerDataInCL()
and mapExistingInputs()
to the Abstra
class itself, I guess.