[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[equinox-dev] [prov] Director API experiments


Back in August, we had a discussion [1] around changing the director API
(or having a Oracle) to enable scenarios like:
- show the user with what will happen as a result of adding / removing an
IU (e.g. compute the install size, etc.)
- allow for download of the artifacts before doing configuration
- decouple the engine from the director
- ...

Yesterday I finally got to prototype this new API. To avoid disruption, I
created a new class called IDirector2. This new API no longer calls the
Engine but instead returns an array of Operands (see these Operands as a
delta that takes the profile from its current state to what you want it to
be). These Operands can then be used as input to the engine to actually
change the profile, or do some reasoning about them.

In order to excercise this API, I changed the director application and I
also implemented an install / download size. So far so good. Still one
things annoys me: If this API replaces the IDirector API then simple
install scenarios become hard to do programmatically since the engine needs
to be called separately. So there are several possibilities:
- have IDirector and IDirector2 be one
- have the Oracle have the ability of IDirector2 and keep IDirector as is
- replace IDirector with IDirector2 and have an higher API to address the
simple usecases, much like we have the ProvisioningHelpers

What do you think?


[1] http://dev.eclipse.org/mhonarc/lists/equinox-dev/msg02717.html