Hello Wilfried,
As far as I can see your experience is correct, if you make a custom resource
type that is a "special kind of bundle" then you will have the problem that the
BundleHelper will identify your artifact as a bundle. Taken from
BundleHelperImpl.recognize(…):
public String recognize(ArtifactResource artifact) {
/*
* Tries to find out whether this artifact is a bundle by (a) trying to
open it as a jar, (b) trying to extract
* the manifest, and (c) checking whether that manifest contains a
Bundle-SymbolicName header.
*/
But what you state is not 100% true, a jar is only a bundle if it also has a
symbolic name header. Maybe you can use that to your advantage and leave out
that header for your custom content?
Greetings, Marcel
On Oct 21, 2013, at 11:44 , Sibla Wilfried <[email protected]> wrote:
> Hello Marcel,
>
> After reading this topic I would like to make a short remark to this.
>
> I tried to define a custom resource type and also implement a
> ArtifactRecognizer and ArtifactHelper.
>
> First I thought I could implement the resource as a jar file and embed my
> custom content and to recognize my resource by using certain Manifest
> attributes.
> After first tests I had to switch from a jar to a zip archive (used the
> maven-assembly-plugin).
> The reason was that jars including Manifests are catched by the default
> BundleHelper and identified as bundles. Thus not the correct custom resource
> processor is assigned to such a customized resources jar.
> As a consequence the resource processor isn't deployed etc.
>
> Is the experience I made with this correct or are some other mistakes more
> obvious?
>
> Greetings
> Wilfried
>
> -----Ursprüngliche Nachricht-----
> Von: Marcel Offermans [mailto:[email protected]]
> Gesendet: Freitag, 18. Oktober 2013 20:07
> An: [email protected]; ghania ferrag
> Betreff: Re: Uploading a configuration file
>
> Hello Ghania,
>
> I fixed the link and added some documentation that hopefully gets you started
> implementing your own artifact type. Take a look at:
>
> http://ace.apache.org/dev-doc/adding-custom-artifact-types.html
>
> Please let me know what you think and if there's anything we can improve on
> that page.
>
> Greetings, Marcel
>
>
> On Oct 18, 2013, at 6:09 AM, ghania ferrag <[email protected]> wrote:
>
>> Hi Marcel,
>>
>> Thank you very much for your prompt and quick response.For sure, I'll search
>> and read more about the ArtifactHelper and ArtifactRecognizer and implement
>> them to be able to add our configuration files to ACE.
>> For the broken link I was reading the user guide from this link :
>> http://ace.apache.org/user-doc/user-guide.html, and in the section Uploading
>> artifacts, there is a link for adding support for new types of artifacts
>> which is not working.
>>
>> Thank you very much and my best Regards, Ghania
>>
>>
>>
>> ________________________________
>> De : Marcel Offermans <[email protected]> À :
>> [email protected]; ghania ferrag <[email protected]> Envoyé le :
>> jeudi 17 octobre 2013 15h24 Objet : Re: Uploading a configuration file
>>
>>
>> Hello Ghania,
>>
>> On Oct 17, 2013, at 21:14 PM, ghania ferrag <[email protected]> wrote:
>>
>>> When I tried to add configuration files (which are PDF and XML files) an
>>> error is displayed : noting that particular artifact is not uploaded.
>>> In the Apache Ace user guide it said that an artifact is anything from an
>>> OSGi bundle to a configuration file.
>>> How we can upload a configuration file using ACE server UI?
>>
>> Out of the box, ACE supports bundles and XML configuration files that follow
>> the Auto Configuration specification (chapter 115 in the OSGi compendium).
>>
>> If you want to add support for other file types, you need to implement an
>> ArtifactHelper and ArtifactRecognizer and add those to ACE. Furthermore, you
>> need to create a resource processor bundle, add it as an artifact to ACE and
>> then you can add your new files.
>>
>> I really need to find some time to document that more elaborately and come
>> up with an example. For now, the best examples are in the ACE sourcecode.
>>
>>
>>> Also in the Ace user guide, the following link
>>> http://ace.apache.org/dev-doc/adding-artifact-recognizers.html( adding
>>> support for new types of artifacts in ACE ) seems to be broken.
>>
>> On what page exactly did you find that link? I could not find it. You can
>> raise an issue for that so we won't forget to fix it.
>>
>> Greetings, Marcel
>