Hello Matthew,

On Aug 6, 2013, at 21:50 PM, Matthew Bishop <[email protected]> wrote:

> I just started looking into Ace and have set up several artifacts, features
> and distributions using the web UI. I have added a target, then Stored
> everything.

> Next I want to see what ace stores on disk. The reason for this is I want
> to know how declarative it is, and if the saved data can be generated from
> some way other than the API and the UI.

> So where are the definitions stored? I cannot locate them anywhere, and
> before I download the source and start spelunking I wanted to ask the group.

The data is stored in the bundle cache. More specifically, in the bundle cache 
of the repository implementation (org.apache.ace.repository.impl). It is 
possible to locate this cache on disk, and you will find binary blobs there. 
They are gzip'ed, and if you unpack them you will discover XML data.

In theory, you can edit that data directly, but I would strongly discourage 
that as this is an internal format that we have and in the future will change 
if necessary. Really your best bet is to manipulate this data through one of 
the three clients we have:

 - Web UI (you already stated you don't want to use that)
 - REST client API (a set of REST endpoints)
 - GoGo Shell client API (a set of commands for the built-in GoGo shell)

All of these build on a set of Java Client APIs.

If you want some kind of declarative format for specifying the data you want to 
put in ACE, my suggestion would be to define such a format and then write some 
code to take that format and put it in ACE using the Java client API (probably 
taking one of the three existing clients as an example).

However, perhaps you should explain your use case a bit more before I start 
giving the wrong advice. :)

Greetings, Marcel

Reply via email to