The whole Bootstrap mechanism should be reviewed. There are currently multiple places where bootstrap is used:
- Bootstrapper (used to bootstrap data when installing webapp)
- BootstrapTasks (they use the deprecated ModuleUtil methods)
All of them here and there do the same thing but do not use a common API, e.g. to:
- resolve the target node out of the filename
- not all support tar.gz files instead of xml files
Also the usage of the ImportUUIDBehavior is sometime inconsistent used. We should probably use ImportUUIDBehavior.IMPORT_UUID_COLLISION_THROW as a default behaviour.
In general we should introduce a main BootstrapUtil class that is commonly used by all classes mentioned above.