ApiFusion VC import

Import different data from Version Control starts from repository discovery enlisting the files and folders hierarchy.

Import stages:

  1. Edit Import Parameters
  2. Read last import data
  3. Retrival AF hierarchy
  4. Retrival VC repository hierarchy
  5. Traverce over imported hierarchy and Run each selected import routine.
    Repeated until whole hierarchy processed and each routine completed.
  6. Once completed or interrupted the the hierarchy could be saved back to AF
Modules
Import data The import data presented as XML which : Data sections:
Import process UI The VC repository hierarchy is shown as a collapsible tree to observe the each level individually.
The stats on each routine precented as column with completion % computed as ratio of processed counter( with non-zero @end ) to total child couner.
routine could have specific stats like number of module methods/members or help entries. Those will make own sub-section within routine column and compute the completion % against previous import results. If no previous import for routine found, those sections omitted.
RoutinesLoop The processing tick will traverse over import hierarchy and for each node:
  1. find the routine from selection list which does not have a clone within node
  2. skip the routine if count(//routine[@end='0']) >= @activeRoutines limit reached
  3. clone the routine node, set @start
  4. create routine object by MID, passing hierarchy and routine nodes into constructor
  5. for routines with @timeout create the timeout with set @error="timeout" on routine node and call routine.destroy()
  6. call run() method directly if routine is async(has @timeout) in background by setTimeout(0) wrapped by exception handler.
    Upon completion the timeout to be cancelled by invoking destroy()
The need for guard of routine.run() by executing in separate thread TBD. It could be handy for: Once the one of following conditions met the jailed run() execution must be implemented: