Skip to content

VariantSyncPlugin

jeremiaheinle edited this page Apr 9, 2021 · 14 revisions

VariantSyncPlugin{ ConfigurationProjectManager }

Besides being the activator class for the plugin, VariantSyncPlugin is a central class with a lot of static methods that gets called throughout the Project, to receive and update Information. Thus VariantSyncPlugin provides multiple functions.

One important function of the VariatnSyncPlugin is, that it gives access to the main datastructure elements of the current ConfigurationProject. These are the MappingManager, FeatureContextManager, PatchesManager. It does so via the ConfigurationProjectManager.

An other important Function of the VariatnSyncPlugin is the propagation of Events throughout the project. VariatnSyncPlugin has a list of IEventListeners. To throw an Event, classes can call the static method fireEvent which gets called to propagate IVariantSyncEvents and FeatureIdeEvents. VariatnSyncPlugin then passes the Events to IEventsListeners after it receives one.

VariatnSyncPlugin provides an interface to access the eclipse ITextEditor, IWorkbenchWindow and Shell. And handles other UI related task like connecting the PartAdapter to the Workbench.

Another important class closely connected to the VariantSyncPlugin is ConfigurationProjectManager.

The ConfigurationProjectManager does the initial task of searching through the workspace, to find the FeatureIDEproject(IFeatureProject) and the product variants (IProject). Then it creates a ConfiguaritionPoject and stores it in a HashMap, which relates IFeatureProject and ConfiguaritionPoject. ConfiguaritionPoject stores a single IFeatureProject and a List of IProjects.

Clone this wiki locally