Hi Marcel,

Marcel Offermans wrote:
Hello John,

On Jan 29, 2010, at 0:52 , John E. Conlon wrote:

Marcel Offermans wrote:
No, I meant adding the resource processor bundle to the list of bundles you 
want installed on the target.

I thought you may have meant this, but if one does add it to the list of bundles, how 
will ACE distinguish this 'Customizer bundle'  from others bundle resources that are part 
of the Deployment Package?  Will need to specify this somehow as a 
"DeploymentPackage-Customizer: true".

If you stick to the spec, then "customizer bundles" don't provide any mandatory 
metadata to recognize them.
When you say 'mandatory metadata' I think you must be referring to the customizer 'bundle's MANIFEST.MF' versus the Deployment Packages MANIFEST.MF. Right?
 However, for ACE we decided that it would be very convenient if a user could 
just drop it in, so we add a header of the following form:

 Deployment-ProvidesResourceProcessor: org.osgi.deployment.rp.autoconf

(in this example for a processor that can process resources tagged with that 
PID)
Makes sense. Took a look to see if there was anything special in the MANIFEST.MF for the org.apache.felix.deployment.rp.autoconf-0.1.0-SNAPSHOT.jar and I see only the header DeploymentPackage-Customizer: true

Which is interesting because that header is for the Deployment Packages MANIFEST.MF, but not is not required by the spec to be in the actual bundle MANIFEST.MF.
I also guess that since it does not have a

Deployment-ProvidesResourceProcessor: org.osgi.deployment.rp.autoconf

it is something that the ACE team has just not gotten around to adding as of yet.
Also same question for other customizers.  How to distinguish them from bundles 
that are part of the list?

Same as well for 'processed resources'.  How to tell ACE their resource 
processor's pid?

There are a couple of other bits that we have to add to ACE to make this whole 
process work. You have to provide an implementation of both ArtifactRecognizer 
and ArtifactHelper, which provide support services to the client.
This must be where the decoration/annotation of the resources will come in.
As said before by Angelo, the current UI does not expose enough features yet to 
make it work.

Some background information about this can be found on the following page:

http://incubator.apache.org/ace/object-graph-in-client.html


Thanks that helps.
(Seems to me that it should work because it is not associated with a
foriegn deployment package it is just installed normally on the framework. )
As far as I understood it, it has to be in the same DP, but it's been a while 
since I read the spec. Could you point me to the part of the spec that states 
that?

Deployment Admin 114.16.4
"Bundles exporting the service may arrive in
the deployment package (customizers) or may be preregistered (they are
installed prevoiusly). Resource processors has to define the service.pid
standard OSGi service property which should be a unique string."

Thanks, that's a bug.

Actually I sort of like it as a Customizer Bundle although, it makes the 
Deployment Package larger.

Indeed, but it does make the whole process more flexible.
Agree.
There was one other subtlety that did not work but would be nice if it did. 
Auto Configuration Specification 115.4.4

"The OCD elements that are referred from an Object element can be contained
in the Autoconf resource, or they can come from the Meta Type service.
The reference takes place through the ocdref attribute of the Object
element. The Autoconf Resource Processor must first match this name to
any OCD elements in the Autoconf resources. If the reference cannot be
found in this file, it must consult the Meta Type service (if present) for the
bundle that is associated with the PID that is configured."

I am using Meta Type for my bundles.  But could not remove my OCD element to 
let it find the one on the bundle.  When I try and load a Deployment Package 
with this defaulting autoconf.xml I get thrown a Null Pointer and the load 
fails.   May be some other kind of edge thing here because it is further 
complicated by my using ManagedServiceFactories.  I am content with it work as 
it is though.

Feel free to report this as an enhancement. Probably the issue tracker for 
Apache Felix is the best place as that's where the code resides.

Will do.

thanks again,
John

Reply via email to