Bug 533299 - No Template Model Migration

Added a string replacement based migration for the view.ecore namespace
URI for template models. The migrations are added to the ViewEditorPart
and the TemplateModelEditorPart.

ViewEditorPart:
* If the view model needs migration and the user decides to migrate it,
prompt the user afterwards whether he wants to search the workplace for
template models that need migration

TemplateEditorPart:
* Check whether the opened template model needs migration. If yes,
prompt the user whether (s)he wants to migrate
* If the opened template model is migrated, prompt the user whether the
workspace should be analyzed for other template models.

General:
* Added a WorkspaceUtil that provides a utility method to search the
workspace for all files of a given ending
* Add A TemplateModelMigrationUtil that gives access to a
TemplateModelWorkspaceMigrator
* TemplateModelWorkspaceMigrator: allows to check whether a template
model needs migration and to perform the migration
* TemplateModelWorkspaceMigrator implementation: Currently uses string
based migration => in the future should be replaced with an Edapt
migration
* ViewNsMigrationUtil: Allows to migrate a view ecore name space uri by
string replacement: the file's NS URI is compared to the NS URI of the
current view ecore version registered in the package registry. If the
URIs differ the one in the file is replaced with the one from the
pacakge registry. Added tests cases for this

NOTE: These changes should be refactored in the future:
* TemplateModelMigrationUtil, TemlateModelWorkspaceMigrator are part of
the view.migrator bundle
* The logic for checking for migrating files in the workspace is
duplicated between the view and the template editor (except for
searching for model files, this is in WorkspaceUtil in the ide.util
bundle)
* The view model and the template model migration are completely
separated from each other. Additionally, the template model migration is
only based on string substitution.
* The migration should be refactored to have a based Edapt migrator and
(if necessary) subclasses with specific details for view and template
models. The basic Edapt migrator should be located in a common migration
bundle.
* The workspace migration should be centralized in a common workspace
migration bundle and check for all "EMF Forms" models (currently view
and template).

Change-Id: Ia8ee600cc43837095d5451f8d557d37448763ec5
Signed-off-by: Lucas Koehler <lkoehler@eclipsesource.com>
37 files changed