Author: [email protected]
Date: Mon Aug 22 12:03:15 2011
New Revision: 1336

Log:
AMDATU-399 extended client capabilities and mojos. Work in progress

Added:
   
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ImportModelMojo.java
   
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/ResourceMap.java
   sandbox/bdekruijff/amdatu-maven-plugin/src/test/resources/
   sandbox/bdekruijff/amdatu-maven-plugin/src/test/resources/model.json
Modified:
   
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ClassHeadersMojo.java
   
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/DeployBundleMojo.java
   
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ExportModelMojo.java
   
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/AceClient.java
   
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/AceClientException.java
   
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/AceClientWorkspace.java
   
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/AbstractAssociation.java
   
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/AbstractAssociationBuilder.java
   
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/AbstractBuilder.java
   
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/AbstractResource.java
   
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/Artifact.java
   
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/Artifact2Feature.java
   
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/Artifact2FeatureBuilder.java
   
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/ArtifactBuilder.java
   
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/Distribution.java
   
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/Distribution2Target.java
   
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/Distribution2TargetBuilder.java
   
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/DistributionBuilder.java
   
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/Feature.java
   
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/Feature2Distribution.java
   
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/Feature2DistributionBuilder.java
   
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/FeatureBuilder.java
   
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/Model.java
   
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/Resource.java
   
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/Target.java
   
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/TargetBuilder.java
   sandbox/bdekruijff/amdatu-maven-plugin/src/main/resources/classheader.txt
   
sandbox/bdekruijff/amdatu-maven-plugin/src/test/java/org/amdatu/maven/MyMojoTest.java

Modified: 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ClassHeadersMojo.java
==============================================================================
--- 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ClassHeadersMojo.java
 (original)
+++ 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ClassHeadersMojo.java
 Mon Aug 22 12:03:15 2011
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- package org.amdatu.maven;
+package org.amdatu.maven;
 
 import java.io.File;
 import java.io.IOException;

Modified: 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/DeployBundleMojo.java
==============================================================================
--- 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/DeployBundleMojo.java
 (original)
+++ 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/DeployBundleMojo.java
 Mon Aug 22 12:03:15 2011
@@ -13,23 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- package org.amdatu.maven;
-
-/*
- * Copyright 2001-2005 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+package org.amdatu.maven;
 
 import java.net.MalformedURLException;
 import java.util.Map;
@@ -52,7 +36,6 @@
 
     /**
      * @parameter default-value="${project.artifact}"
-     * @required
      * @readonly
      */
     private org.apache.maven.artifact.Artifact artifact;
@@ -60,7 +43,7 @@
     /**
      * Amdatu REST client endpoint
      * 
-     * @parameter
+     * @parameter expression=${amdatuServer}
      * @required
      */
     private String amdatuServer;
@@ -82,6 +65,20 @@
     private String artifactDescription;
 
     /**
+     * Artifact URL
+     * 
+     * @parameter expression="${artifactURL}"
+     */
+    private String artifactURL;
+
+    /**
+     * Artifact URL
+     * 
+     * @parameter expression="${artifactProcessor}" default-value=""
+     */
+    private String artifactProcessor;
+
+    /**
      * Bundle-Name
      * 
      * @parameter default-value="${project.name}
@@ -121,6 +118,22 @@
 
     public void execute() throws MojoExecutionException {
 
+        String artifactUrlToUse = null;
+        if (artifactURL != null) {
+            artifactUrlToUse = artifactURL;
+        }
+        else if (artifact != null) {
+            try {
+                artifactUrlToUse = 
artifact.getFile().toURI().toURL().toString();
+            }
+            catch (MalformedURLException e) {
+                throw new MojoExecutionException(e.getMessage(), e);
+            }
+        }
+        else {
+            throw new MojoExecutionException("Could not determine 
artifactUrl");
+        }
+
         AceClientWorkspace workspace = null;
         try {
             AceClient client = new AceClient(amdatuServer);
@@ -128,8 +141,8 @@
                             .isBundle()
                             .setName(artifactName)
                             .setDescription(artifactDescription)
-                            
.setUrl(artifact.getFile().toURI().toURL().toString())
-                            .setProcessorPid("")
+                            .setUrl(artifactUrlToUse)
+                            .setProcessorPid(artifactProcessor)
                             .setBundleName(bundleName)
                             .setBundleSymbolicName(bundleSymbolicName)
                             
.setBundleVersion(bundleVersion.replace("-SNAPSHOT", "." + 
System.currentTimeMillis()));
@@ -154,9 +167,6 @@
         catch (AceClientException e) {
             throw new MojoExecutionException(e.getMessage(), e);
         }
-        catch (MalformedURLException e) {
-            throw new MojoExecutionException(e.getMessage(), e);
-        }
         finally {
             if (workspace != null) {
                 try {

Modified: 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ExportModelMojo.java
==============================================================================
--- 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ExportModelMojo.java
  (original)
+++ 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ExportModelMojo.java
  Mon Aug 22 12:03:15 2011
@@ -13,12 +13,16 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- package org.amdatu.maven;
+package org.amdatu.maven;
+
+import java.io.File;
+import java.io.IOException;
 
 import org.amdatu.maven.ace.AceClient;
 import org.amdatu.maven.ace.AceClientException;
 import org.amdatu.maven.ace.AceClientWorkspace;
 import org.amdatu.maven.ace.model.Model;
+import org.apache.commons.io.FileUtils;
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 
@@ -32,24 +36,46 @@
     /**
      * Amdatu REST client endpoint
      * 
-     * @parameter
+     * @parameter expression="${amdatuServer}"
      * @required
      */
     private String amdatuServer;
 
+    /**
+     * Output filename for model
+     * 
+     * @parameter expression="${outputFile}"
+     */
+    private File outputFile;
+
+    /**
+     * @parameter expression="${project.build.directory}"
+     */
+    private File targetDirectory;
+
     public void execute() throws MojoExecutionException {
 
         AceClient client = new AceClient(amdatuServer);
         AceClientWorkspace workspace = null;
         try {
+            if (outputFile == null) {
+                outputFile = new File(targetDirectory, "amdatuModelExport-" + 
System.currentTimeMillis() + ".json");
+            }
+            outputFile.getAbsoluteFile().getParentFile().mkdirs();
+            outputFile.createNewFile();
+
             workspace = client.createNewWorkspace();
             Model model = workspace.export();
 
-            getLog().info(client.toJson(model));
+            FileUtils.writeStringToFile(outputFile, client.toJson(model));
+            getLog().info("Exported Amdatu provisioning model to " + 
outputFile.getAbsolutePath());
         }
         catch (AceClientException e) {
             throw new MojoExecutionException(e.getMessage(), e);
         }
+        catch (IOException e) {
+            throw new MojoExecutionException(e.getMessage(), e);
+        }
         finally {
             if (workspace != null) {
                 try {

Added: 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ImportModelMojo.java
==============================================================================
--- (empty file)
+++ 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ImportModelMojo.java
  Mon Aug 22 12:03:15 2011
@@ -0,0 +1,108 @@
+/*
+ * Copyright (c) 2010, 2011 The Amdatu Foundation
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.amdatu.maven;
+
+import java.io.File;
+import java.io.IOException;
+
+import org.amdatu.maven.ace.AceClient;
+import org.amdatu.maven.ace.AceClientException;
+import org.amdatu.maven.ace.AceClientWorkspace;
+import org.amdatu.maven.ace.model.Artifact;
+import org.amdatu.maven.ace.model.Artifact2Feature;
+import org.amdatu.maven.ace.model.Distribution;
+import org.amdatu.maven.ace.model.Distribution2Target;
+import org.amdatu.maven.ace.model.Feature;
+import org.amdatu.maven.ace.model.Feature2Distribution;
+import org.amdatu.maven.ace.model.Model;
+import org.apache.commons.io.FileUtils;
+import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.MojoExecutionException;
+
+/**
+ * Goal that imports an Amdatu provisioning model into a configured Amdatu 
client endpoint.
+ * 
+ * @goal importModel
+ * @requiresProject false
+ */
+public class ImportModelMojo extends AbstractMojo {
+
+    /**
+     * Amdatu REST client endpoint
+     * 
+     * @parameter expression="${amdatuServer}"
+     * @required
+     */
+    private String amdatuServer;
+
+    /**
+     * Input filename for model
+     * 
+     * @parameter expression="${inputFile}"
+     * @required
+     */
+    private File inputFile;
+
+    /**
+     * Override flag
+     * 
+     * @parameter expression="${override}"
+     */
+    private boolean override;
+
+    public void execute() throws MojoExecutionException {
+
+        AceClient client = new AceClient(amdatuServer);
+        AceClientWorkspace workspace = null;
+        try {
+            String json = FileUtils.readFileToString(inputFile);
+            Model model = client.fromJson(json, Model.class);
+
+            workspace = client.createNewWorkspace();
+            if(override){
+                workspace.deleteResources(Artifact.class);
+                workspace.deleteResources(Feature.class);
+                workspace.deleteResources(Distribution.class);
+//                w.deleteResources(Target.class);
+                workspace.deleteResources(Artifact2Feature.class);
+                workspace.deleteResources(Feature2Distribution.class);
+                workspace.deleteResources(Distribution2Target.class);
+            }
+            workspace.importModel(model);
+            workspace.commit();
+            workspace.remove();
+            workspace = null;
+
+            getLog().info("Imported Amdatu provisioning model from " + 
inputFile.getAbsolutePath());
+        }
+        catch (AceClientException e) {
+            throw new MojoExecutionException(e.getMessage(), e);
+        }
+        catch (IOException e) {
+            throw new MojoExecutionException(e.getMessage(), e);
+        }
+        finally {
+            if (workspace != null) {
+                try {
+                    workspace.remove();
+                }
+                catch (AceClientException e) {
+                    throw new MojoExecutionException(e.getMessage(), e);
+                }
+            }
+        }
+    }
+}

Modified: 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/AceClient.java
==============================================================================
--- 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/AceClient.java
    (original)
+++ 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/AceClient.java
    Mon Aug 22 12:03:15 2011
@@ -13,10 +13,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- package org.amdatu.maven.ace;
+package org.amdatu.maven.ace;
 
 import java.io.IOException;
 import java.io.UnsupportedEncodingException;
+import java.lang.reflect.Type;
 import java.net.HttpURLConnection;
 import java.net.MalformedURLException;
 import java.net.URL;
@@ -24,6 +25,7 @@
 import java.net.URLEncoder;
 import java.util.LinkedList;
 import java.util.List;
+import java.util.Map;
 
 import org.amdatu.maven.ace.model.AbstractResource;
 import org.amdatu.maven.ace.model.Artifact;
@@ -32,16 +34,49 @@
 import org.amdatu.maven.ace.model.Distribution2Target;
 import org.amdatu.maven.ace.model.Feature;
 import org.amdatu.maven.ace.model.Feature2Distribution;
+import org.amdatu.maven.ace.model.Resource;
+import org.amdatu.maven.ace.model.ResourceMap;
 import org.amdatu.maven.ace.model.Target;
 
 import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
+import com.google.gson.JsonArray;
+import com.google.gson.JsonDeserializationContext;
+import com.google.gson.JsonDeserializer;
+import com.google.gson.JsonElement;
+import com.google.gson.JsonObject;
+import com.google.gson.JsonParseException;
 
 /**
  * Main class of the Ace Client that creates workspaces and provide utility 
methods.
  */
 public class AceClient {
 
+    class ResourceMapDeserializer implements JsonDeserializer<Map<String, 
List<AbstractResource>>> {
+
+        public ResourceMap deserialize(JsonElement json, Type typeOfT,
+            JsonDeserializationContext context) throws JsonParseException {
+
+            JsonObject object = json.getAsJsonObject();
+            ResourceMap map = new ResourceMap();
+            for (Class<? extends AbstractResource> c : 
AceClient.RESOURCES_CLASSES) {
+
+                String path = c.getAnnotation(Resource.class).path();
+                JsonElement je = object.get(path);
+                List<AbstractResource> entries = new 
LinkedList<AbstractResource>();
+
+                if (je != null) {
+                    JsonArray ja = je.getAsJsonArray();
+                    for (int i = 0; i < ja.size(); i++) {
+                        entries.add((AbstractResource) 
context.deserialize(ja.get(i), c));
+                    }
+                }
+                map.put(path, entries);
+            }
+            return map;
+        }
+    }
+
     public static final List<Class<? extends AbstractResource>> 
RESOURCES_CLASSES =
         new LinkedList<Class<? extends AbstractResource>>();
 
@@ -63,6 +98,7 @@
         m_gson = new GsonBuilder()
                     .disableHtmlEscaping()
                     .setPrettyPrinting()
+                    .registerTypeAdapter(ResourceMap.class, new 
ResourceMapDeserializer())
                     .create();
     }
 

Modified: 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/AceClientException.java
==============================================================================
--- 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/AceClientException.java
   (original)
+++ 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/AceClientException.java
   Mon Aug 22 12:03:15 2011
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- package org.amdatu.maven.ace;
+package org.amdatu.maven.ace;
 
 /**
  * Generic exception thrown when anything goes wrong during execution in the 
Ace Client.

Modified: 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/AceClientWorkspace.java
==============================================================================
--- 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/AceClientWorkspace.java
   (original)
+++ 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/AceClientWorkspace.java
   Mon Aug 22 12:03:15 2011
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- package org.amdatu.maven.ace;
+package org.amdatu.maven.ace;
 
 import java.io.BufferedReader;
 import java.io.DataOutputStream;

Modified: 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/AbstractAssociation.java
==============================================================================
--- 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/AbstractAssociation.java
    (original)
+++ 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/AbstractAssociation.java
    Mon Aug 22 12:03:15 2011
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- package org.amdatu.maven.ace.model;
+package org.amdatu.maven.ace.model;
 
 public abstract class AbstractAssociation extends AbstractResource {
 

Modified: 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/AbstractAssociationBuilder.java
==============================================================================
--- 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/AbstractAssociationBuilder.java
     (original)
+++ 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/AbstractAssociationBuilder.java
     Mon Aug 22 12:03:15 2011
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- package org.amdatu.maven.ace.model;
+package org.amdatu.maven.ace.model;
 
 import static 
org.amdatu.maven.ace.model.AbstractAssociation.ATTR_LEFTCARDINALITY;
 import static org.amdatu.maven.ace.model.AbstractAssociation.ATTR_LEFTENDPOINT;

Modified: 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/AbstractBuilder.java
==============================================================================
--- 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/AbstractBuilder.java
        (original)
+++ 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/AbstractBuilder.java
        Mon Aug 22 12:03:15 2011
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- package org.amdatu.maven.ace.model;
+package org.amdatu.maven.ace.model;
 
 import org.amdatu.maven.ace.AceClientException;
 

Modified: 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/AbstractResource.java
==============================================================================
--- 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/AbstractResource.java
       (original)
+++ 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/AbstractResource.java
       Mon Aug 22 12:03:15 2011
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- package org.amdatu.maven.ace.model;
+package org.amdatu.maven.ace.model;
 
 import java.util.HashMap;
 import java.util.Map;

Modified: 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/Artifact.java
==============================================================================
--- 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/Artifact.java
       (original)
+++ 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/Artifact.java
       Mon Aug 22 12:03:15 2011
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- package org.amdatu.maven.ace.model;
+package org.amdatu.maven.ace.model;
 
 @Resource(path = "artifact")
 public class Artifact extends AbstractResource {

Modified: 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/Artifact2Feature.java
==============================================================================
--- 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/Artifact2Feature.java
       (original)
+++ 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/Artifact2Feature.java
       Mon Aug 22 12:03:15 2011
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- package org.amdatu.maven.ace.model;
+package org.amdatu.maven.ace.model;
 
 @Resource(path = "artifact2feature")
 public class Artifact2Feature extends AbstractAssociation {

Modified: 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/Artifact2FeatureBuilder.java
==============================================================================
--- 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/Artifact2FeatureBuilder.java
        (original)
+++ 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/Artifact2FeatureBuilder.java
        Mon Aug 22 12:03:15 2011
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- package org.amdatu.maven.ace.model;
+package org.amdatu.maven.ace.model;
 
 import static 
org.amdatu.maven.ace.model.AbstractAssociation.ATTR_LEFTCARDINALITY;
 import static org.amdatu.maven.ace.model.AbstractAssociation.ATTR_LEFTENDPOINT;

Modified: 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/ArtifactBuilder.java
==============================================================================
--- 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/ArtifactBuilder.java
        (original)
+++ 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/ArtifactBuilder.java
        Mon Aug 22 12:03:15 2011
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- package org.amdatu.maven.ace.model;
+package org.amdatu.maven.ace.model;
 
 import static org.amdatu.maven.ace.model.Artifact.ATTR_BUNDLE_NAME;
 import static org.amdatu.maven.ace.model.Artifact.ATTR_BUNDLE_SYMBOLICNAME;

Modified: 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/Distribution.java
==============================================================================
--- 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/Distribution.java
   (original)
+++ 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/Distribution.java
   Mon Aug 22 12:03:15 2011
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- package org.amdatu.maven.ace.model;
+package org.amdatu.maven.ace.model;
 
 
 @Resource(path="distribution")

Modified: 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/Distribution2Target.java
==============================================================================
--- 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/Distribution2Target.java
    (original)
+++ 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/Distribution2Target.java
    Mon Aug 22 12:03:15 2011
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- package org.amdatu.maven.ace.model;
+package org.amdatu.maven.ace.model;
 
 
 @Resource(path = "distribution2target")

Modified: 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/Distribution2TargetBuilder.java
==============================================================================
--- 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/Distribution2TargetBuilder.java
     (original)
+++ 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/Distribution2TargetBuilder.java
     Mon Aug 22 12:03:15 2011
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- package org.amdatu.maven.ace.model;
+package org.amdatu.maven.ace.model;
 
 import org.amdatu.maven.ace.AceClientException;
 

Modified: 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/DistributionBuilder.java
==============================================================================
--- 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/DistributionBuilder.java
    (original)
+++ 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/DistributionBuilder.java
    Mon Aug 22 12:03:15 2011
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- package org.amdatu.maven.ace.model;
+package org.amdatu.maven.ace.model;
 
 import static org.amdatu.maven.ace.model.Distribution.ATTR_DESCRIPTION;
 import static org.amdatu.maven.ace.model.Distribution.ATTR_NAME;

Modified: 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/Feature.java
==============================================================================
--- 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/Feature.java
        (original)
+++ 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/Feature.java
        Mon Aug 22 12:03:15 2011
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- package org.amdatu.maven.ace.model;
+package org.amdatu.maven.ace.model;
 
 @Resource(path = "feature")
 public class Feature extends AbstractResource {

Modified: 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/Feature2Distribution.java
==============================================================================
--- 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/Feature2Distribution.java
   (original)
+++ 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/Feature2Distribution.java
   Mon Aug 22 12:03:15 2011
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- package org.amdatu.maven.ace.model;
+package org.amdatu.maven.ace.model;
 
 
 @Resource(path = "feature2distribution")

Modified: 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/Feature2DistributionBuilder.java
==============================================================================
--- 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/Feature2DistributionBuilder.java
    (original)
+++ 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/Feature2DistributionBuilder.java
    Mon Aug 22 12:03:15 2011
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- package org.amdatu.maven.ace.model;
+package org.amdatu.maven.ace.model;
 
 import org.amdatu.maven.ace.AceClientException;
 

Modified: 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/FeatureBuilder.java
==============================================================================
--- 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/FeatureBuilder.java
 (original)
+++ 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/FeatureBuilder.java
 Mon Aug 22 12:03:15 2011
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- package org.amdatu.maven.ace.model;
+package org.amdatu.maven.ace.model;
 
 import static org.amdatu.maven.ace.model.Feature.ATTR_DESCRIPTION;
 import static org.amdatu.maven.ace.model.Feature.ATTR_NAME;

Modified: 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/Model.java
==============================================================================
--- 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/Model.java
  (original)
+++ 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/Model.java
  Mon Aug 22 12:03:15 2011
@@ -13,13 +13,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- package org.amdatu.maven.ace.model;
+package org.amdatu.maven.ace.model;
 
 import java.lang.reflect.Array;
-import java.util.HashMap;
 import java.util.LinkedList;
 import java.util.List;
-import java.util.Map;
 
 import org.amdatu.maven.ace.AceClient;
 import org.amdatu.maven.ace.AceClientException;
@@ -29,7 +27,7 @@
  */
 public class Model {
 
-    private Map<String, List<AbstractResource>> resources = new 
HashMap<String, List<AbstractResource>>();
+    private ResourceMap resources = new ResourceMap();
 
     public Model() {
         for (Class<? extends AbstractResource> c : 
AceClient.RESOURCES_CLASSES) {

Modified: 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/Resource.java
==============================================================================
--- 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/Resource.java
       (original)
+++ 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/Resource.java
       Mon Aug 22 12:03:15 2011
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- package org.amdatu.maven.ace.model;
+package org.amdatu.maven.ace.model;
 
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;

Added: 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/ResourceMap.java
==============================================================================
--- (empty file)
+++ 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/ResourceMap.java
    Mon Aug 22 12:03:15 2011
@@ -0,0 +1,9 @@
+package org.amdatu.maven.ace.model;
+
+import java.util.HashMap;
+import java.util.List;
+
+public class ResourceMap extends HashMap<String, List<AbstractResource>> {
+
+    private static final long serialVersionUID = 571618547256039425L;
+}

Modified: 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/Target.java
==============================================================================
--- 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/Target.java
 (original)
+++ 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/Target.java
 Mon Aug 22 12:03:15 2011
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- package org.amdatu.maven.ace.model;
+package org.amdatu.maven.ace.model;
 
 @Resource(path = "target")
 public class Target extends AbstractResource {

Modified: 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/TargetBuilder.java
==============================================================================
--- 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/TargetBuilder.java
  (original)
+++ 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/java/org/amdatu/maven/ace/model/TargetBuilder.java
  Mon Aug 22 12:03:15 2011
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- package org.amdatu.maven.ace.model;
+package org.amdatu.maven.ace.model;
 
 import static org.amdatu.maven.ace.model.Target.ATTR_ID;
 

Modified: 
sandbox/bdekruijff/amdatu-maven-plugin/src/main/resources/classheader.txt
==============================================================================
--- sandbox/bdekruijff/amdatu-maven-plugin/src/main/resources/classheader.txt   
(original)
+++ sandbox/bdekruijff/amdatu-maven-plugin/src/main/resources/classheader.txt   
Mon Aug 22 12:03:15 2011
@@ -13,4 +13,3 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- 
\ No newline at end of file

Modified: 
sandbox/bdekruijff/amdatu-maven-plugin/src/test/java/org/amdatu/maven/MyMojoTest.java
==============================================================================
--- 
sandbox/bdekruijff/amdatu-maven-plugin/src/test/java/org/amdatu/maven/MyMojoTest.java
       (original)
+++ 
sandbox/bdekruijff/amdatu-maven-plugin/src/test/java/org/amdatu/maven/MyMojoTest.java
       Mon Aug 22 12:03:15 2011
@@ -13,29 +13,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
- package org.amdatu.maven;
-
-/*
- * Copyright 2001-2005 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+package org.amdatu.maven;
 
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
 import java.io.StringWriter;
-import java.util.List;
 
 import org.amdatu.maven.ace.AceClient;
 import org.amdatu.maven.ace.AceClientException;
@@ -51,7 +34,7 @@
 import org.amdatu.maven.ace.model.Feature2Distribution;
 import org.amdatu.maven.ace.model.Feature2DistributionBuilder;
 import org.amdatu.maven.ace.model.FeatureBuilder;
-import org.amdatu.maven.ace.model.Target;
+import org.amdatu.maven.ace.model.Model;
 import org.apache.commons.io.IOUtils;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.junit.Ignore;
@@ -59,15 +42,35 @@
 
 public class MyMojoTest {
 
+    @Ignore
+    @Test
+    public void testImportExport() throws Exception {
+
+        AceClient c = new AceClient("http://localhost:8080/client/work";);
+        AceClientWorkspace w = c.createNewWorkspace();
+        Model m = w.export();
+        w.remove();
+        
+        String s = c.toJson(m);
+        System.err.println(s);
+        
+        Model m2 = c.fromJson(s, Model.class);
+        String s2 = c.toJson(m2);
+        System.err.println(s2);
+    }
+    
+    
+    @Ignore
     @Test
     public void testResource() {
 
-        InputStream is = 
ClassHeadersMojo.class.getClassLoader().getResourceAsStream("classheader.txt");
+        InputStream is = 
ClassHeadersMojo.class.getClassLoader().getResourceAsStream("model.json");
         try {
             StringWriter writer = new StringWriter();
             InputStreamReader reader = new InputStreamReader(is);
             IOUtils.copy(reader, writer);
-            System.err.println(writer.toString());
+            AceClient c = new AceClient("http://localhost:8080/client/work";);
+            c.fromJson(writer.toString(), Model.class);
         }
         catch (IOException e) {
             // TODO Auto-generated catch block
@@ -84,7 +87,7 @@
         w.deleteResources(Artifact.class);
         w.deleteResources(Feature.class);
         w.deleteResources(Distribution.class);
-        w.deleteResources(Target.class);
+//        w.deleteResources(Target.class);
         w.deleteResources(Artifact2Feature.class);
         w.deleteResources(Feature2Distribution.class);
         w.deleteResources(Distribution2Target.class);

Added: sandbox/bdekruijff/amdatu-maven-plugin/src/test/resources/model.json
==============================================================================
--- (empty file)
+++ sandbox/bdekruijff/amdatu-maven-plugin/src/test/resources/model.json        
Mon Aug 22 12:03:15 2011
@@ -0,0 +1,403 @@
+{
+  "resources": {
+    "artifact2feature": [
+      {
+        "attributes": {
+          "leftEndpoint": 
"(&(Bundle-SymbolicName=osgi.cmpn)(Bundle-Version=4.2.0.200908310645))",
+          "rightEndpoint": "(&(name=Amdatu Core))"
+        },
+        "tags": {}
+      },
+      {
+        "attributes": {
+          "leftEndpoint": 
"(&(Bundle-SymbolicName=org.apache.felix.shell)(Bundle-Version=1.4.2))",
+          "rightEndpoint": "(&(name=Amdatu Core))"
+        },
+        "tags": {}
+      },
+      {
+        "attributes": {
+          "leftEndpoint": 
"(&(Bundle-SymbolicName=org.apache.felix.shell.tui)(Bundle-Version=1.4.1))",
+          "rightEndpoint": "(&(name=Amdatu Core))"
+        },
+        "tags": {}
+      }
+    ],
+    "artifact": [
+      {
+        "attributes": {
+          "artifactName": "OSGi R42 Compendium",
+          "mimetype": "application/vnd.osgi.bundle",
+          "Bundle-Name": "OSGi R42 Compendium",
+          "a": "b",
+          "Bundle-SymbolicName": "osgi.cmpn",
+          "Bundle-Version": "4.2.0.200908310645",
+          "url": 
"http://repo1.maven.org/maven2/org/osgi/org.osgi.compendium/4.2.0/org.osgi.compendium-4.2.0.jar";,
+          "processorPid": "",
+          "artifactDescription": "Compendium interfaces"
+        },
+        "tags": {
+          "generated": "true"
+        }
+      },
+      {
+        "attributes": {
+          "artifactName": "Apache Felix Shell",
+          "mimetype": "application/vnd.osgi.bundle",
+          "Bundle-Name": "Apache Felix Shell",
+          "Bundle-SymbolicName": "org.apache.felix.shell",
+          "Bundle-Version": "1.4.2",
+          "url": 
"http://repo1.maven.org/maven2/org/apache/felix/org.apache.felix.shell/1.4.2/org.apache.felix.shell-1.4.2.jar";,
+          "processorPid": "",
+          "artifactDescription": "shell service"
+        },
+        "tags": {
+          "generated": "true"
+        }
+      },
+      {
+        "attributes": {
+          "artifactName": "Apache Felix Shell TUI",
+          "mimetype": "application/vnd.osgi.bundle",
+          "Bundle-Name": "Apache Felix Shell TUI",
+          "Bundle-SymbolicName": "org.apache.felix.shell.tui",
+          "Bundle-Version": "1.4.1",
+          "url": 
"http://repo1.maven.org/maven2/org/apache/felix/org.apache.felix.shell.tui/1.4.1/org.apache.felix.shell.tui-1.4.1.jar";,
+          "processorPid": "",
+          "artifactDescription": "shell service tui"
+        },
+        "tags": {
+          "generated": "true"
+        }
+      },
+      {
+        "attributes": {
+          "mimetype": "application/vnd.osgi.bundle",
+          "artifactName": "Amdatu Web - Dispatcher",
+          "Bundle-Name": "Amdatu Web - Dispatcher",
+          "Bundle-SymbolicName": "org.amdatu.web.dispatcher",
+          "Bundle-Version": "0.2.1.1312475106071",
+          "url": 
"file:/C:/bramk/Amdatu/svn/amdatu-trunk/amdatu-web/dispatcher/target/org.amdatu.web.dispatcher-0.2.1-SNAPSHOT.jar",
+          "processorPid": "",
+          "artifactDescription": "Provides a Dispatcher implementation"
+        },
+        "tags": {
+          "generated": "true"
+        }
+      },
+      {
+        "attributes": {
+          "test1": "hello",
+          "artifactName": "Amdatu Web - Dispatcher",
+          "mimetype": "application/vnd.osgi.bundle",
+          "Bundle-Name": "Amdatu Web - Dispatcher",
+          "Bundle-SymbolicName": "org.amdatu.web.dispatcher",
+          "tag1": "taggy",
+          "Bundle-Version": "0.2.1.1312475702364",
+          "test2": "world",
+          "url": 
"file:/C:/bramk/Amdatu/svn/amdatu-trunk/amdatu-web/dispatcher/target/org.amdatu.web.dispatcher-0.2.1-SNAPSHOT.jar",
+          "processorPid": "",
+          "artifactDescription": "Provides a Dispatcher implementation"
+        },
+        "tags": {
+          "generated": "true"
+        }
+      },
+      {
+        "attributes": {
+          "test1": "hello",
+          "artifactName": "Amdatu Web - Dispatcher",
+          "mimetype": "application/vnd.osgi.bundle",
+          "Bundle-Name": "Amdatu Web - Dispatcher",
+          "Bundle-SymbolicName": "org.amdatu.web.dispatcher",
+          "tag1": "taggy",
+          "Bundle-Version": "0.2.1.1312476025656",
+          "test2": "world",
+          "url": 
"file:/C:/bramk/Amdatu/svn/amdatu-trunk/amdatu-web/dispatcher/target/org.amdatu.web.dispatcher-0.2.1-SNAPSHOT.jar",
+          "processorPid": "",
+          "artifactDescription": "Provides a Dispatcher implementation"
+        },
+        "tags": {
+          "generated": "true"
+        }
+      },
+      {
+        "attributes": {
+          "test1": "hello",
+          "artifactName": "Amdatu Web - Dispatcher",
+          "mimetype": "application/vnd.osgi.bundle",
+          "Bundle-Name": "Amdatu Web - Dispatcher",
+          "Bundle-SymbolicName": "org.amdatu.web.dispatcher",
+          "Bundle-Version": "0.2.1.1312476128668",
+          "test2": "world",
+          "url": 
"file:/C:/bramk/Amdatu/svn/amdatu-trunk/amdatu-web/dispatcher/target/org.amdatu.web.dispatcher-0.2.1-SNAPSHOT.jar",
+          "processorPid": "",
+          "artifactDescription": "Provides a Dispatcher implementation"
+        },
+        "tags": {
+          "generated": "true",
+          "tag1": "taggy"
+        }
+      },
+      {
+        "attributes": {
+          "test1": "hello",
+          "artifactName": "Amdatu Web - Dispatcher",
+          "mimetype": "application/vnd.osgi.bundle",
+          "Bundle-Name": "Amdatu Web - Dispatcher",
+          "Bundle-SymbolicName": "org.amdatu.web.dispatcher",
+          "Bundle-Version": "0.2.1.1312477900571",
+          "test2": "world",
+          "url": 
"file:/C:/bramk/Amdatu/svn/amdatu-trunk/amdatu-web/dispatcher/target/org.amdatu.web.dispatcher-0.2.1-SNAPSHOT.jar",
+          "processorPid": "",
+          "artifactDescription": "Provides a Dispatcher implementation"
+        },
+        "tags": {
+          "generated": "true",
+          "tag1": "taggy"
+        }
+      },
+      {
+        "attributes": {
+          "test1": "hello",
+          "artifactName": "Amdatu Web - Dispatcher",
+          "mimetype": "application/vnd.osgi.bundle",
+          "Bundle-Name": "Amdatu Web - Dispatcher",
+          "Bundle-SymbolicName": "org.amdatu.web.dispatcher",
+          "Bundle-Version": "0.2.1.1312488513379",
+          "test2": "world",
+          "url": 
"file:/C:/bramk/Amdatu/svn/amdatu-trunk/amdatu-web/dispatcher/target/org.amdatu.web.dispatcher-0.2.1-SNAPSHOT.jar",
+          "processorPid": "",
+          "artifactDescription": "Provides a Dispatcher implementation"
+        },
+        "tags": {
+          "generated": "true",
+          "tag1": "taggy"
+        }
+      },
+      {
+        "attributes": {
+          "test1": "hello",
+          "artifactName": "Amdatu Web - Dispatcher",
+          "mimetype": "application/vnd.osgi.bundle",
+          "Bundle-Name": "Amdatu Web - Dispatcher",
+          "Bundle-SymbolicName": "org.amdatu.web.dispatcher",
+          "Bundle-Version": "0.2.1.1312490161376",
+          "test2": "world",
+          "url": 
"file:/C:/bramk/Amdatu/svn/amdatu-trunk/amdatu-web/dispatcher/target/org.amdatu.web.dispatcher-0.2.1-SNAPSHOT.jar",
+          "processorPid": "",
+          "artifactDescription": "Provides a Dispatcher implementation"
+        },
+        "tags": {
+          "generated": "true",
+          "tag1": "taggy"
+        }
+      },
+      {
+        "attributes": {
+          "test1": "hello",
+          "artifactName": "Amdatu Web - Dispatcher",
+          "mimetype": "application/vnd.osgi.bundle",
+          "Bundle-Name": "Amdatu Web - Dispatcher",
+          "Bundle-SymbolicName": "org.amdatu.web.dispatcher",
+          "Bundle-Version": "0.2.1.1312490239248",
+          "test2": "world",
+          "url": 
"file:/C:/bramk/Amdatu/svn/amdatu-trunk/amdatu-web/dispatcher/target/org.amdatu.web.dispatcher-0.2.1-SNAPSHOT.jar",
+          "processorPid": "",
+          "artifactDescription": "Provides a Dispatcher implementation"
+        },
+        "tags": {
+          "generated": "true",
+          "tag1": "taggy"
+        }
+      },
+      {
+        "attributes": {
+          "test1": "hello",
+          "artifactName": "Amdatu Web - Dispatcher",
+          "mimetype": "application/vnd.osgi.bundle",
+          "Bundle-Name": "Amdatu Web - Dispatcher",
+          "Bundle-SymbolicName": "org.amdatu.web.dispatcher",
+          "Bundle-Version": "0.2.1.1312490344043",
+          "test2": "world",
+          "url": 
"file:/C:/bramk/Amdatu/svn/amdatu-trunk/amdatu-web/dispatcher/target/org.amdatu.web.dispatcher-0.2.1-SNAPSHOT.jar",
+          "processorPid": "",
+          "artifactDescription": "Provides a Dispatcher implementation"
+        },
+        "tags": {
+          "generated": "true",
+          "tag1": "taggy"
+        }
+      },
+      {
+        "attributes": {
+          "test1": "hello",
+          "artifactName": "Amdatu Web - Dispatcher",
+          "mimetype": "application/vnd.osgi.bundle",
+          "Bundle-Name": "Amdatu Web - Dispatcher",
+          "Bundle-SymbolicName": "org.amdatu.web.dispatcher",
+          "Bundle-Version": "0.2.1.1312490489225",
+          "test2": "world",
+          "url": 
"file:/C:/bramk/Amdatu/svn/amdatu-trunk/amdatu-web/dispatcher/target/org.amdatu.web.dispatcher-0.2.1-SNAPSHOT.jar",
+          "processorPid": "",
+          "artifactDescription": "Provides a Dispatcher implementation"
+        },
+        "tags": {
+          "generated": "true",
+          "tag1": "taggy"
+        }
+      },
+      {
+        "attributes": {
+          "test1": "hello",
+          "artifactName": "Amdatu Web - Dispatcher",
+          "mimetype": "application/vnd.osgi.bundle",
+          "Bundle-Name": "Amdatu Web - Dispatcher",
+          "Bundle-SymbolicName": "org.amdatu.web.dispatcher",
+          "Bundle-Version": "0.2.1.1312490497460",
+          "test2": "world",
+          "url": 
"file:/C:/bramk/Amdatu/svn/amdatu-trunk/amdatu-web/dispatcher/target/org.amdatu.web.dispatcher-0.2.1-SNAPSHOT.jar",
+          "processorPid": "",
+          "artifactDescription": "Provides a Dispatcher implementation"
+        },
+        "tags": {
+          "generated": "true",
+          "tag1": "taggy"
+        }
+      },
+      {
+        "attributes": {
+          "test1": "hello",
+          "artifactName": "Amdatu Web - Dispatcher",
+          "mimetype": "application/vnd.osgi.bundle",
+          "Bundle-Name": "Amdatu Web - Dispatcher",
+          "Bundle-SymbolicName": "org.amdatu.web.dispatcher",
+          "Bundle-Version": "0.2.1.1312490524442",
+          "test2": "world",
+          "url": 
"file:/C:/bramk/Amdatu/svn/amdatu-trunk/amdatu-web/dispatcher/target/org.amdatu.web.dispatcher-0.2.1-SNAPSHOT.jar",
+          "processorPid": "",
+          "artifactDescription": "Provides a Dispatcher implementation"
+        },
+        "tags": {
+          "generated": "true",
+          "tag1": "taggy"
+        }
+      },
+      {
+        "attributes": {
+          "test1": "hello",
+          "artifactName": "Amdatu Web - Dispatcher",
+          "mimetype": "application/vnd.osgi.bundle",
+          "Bundle-Name": "Amdatu Web - Dispatcher",
+          "Bundle-SymbolicName": "org.amdatu.web.dispatcher",
+          "Bundle-Version": "0.2.1.1312490567622",
+          "test2": "world",
+          "url": 
"file:/C:/bramk/Amdatu/svn/amdatu-trunk/amdatu-web/dispatcher/target/org.amdatu.web.dispatcher-0.2.1-SNAPSHOT.jar",
+          "processorPid": "",
+          "artifactDescription": "Provides a Dispatcher implementation"
+        },
+        "tags": {
+          "generated": "true",
+          "tag1": "taggy"
+        }
+      },
+      {
+        "attributes": {
+          "test1": "hello",
+          "artifactName": "Amdatu Web - Dispatcher",
+          "mimetype": "application/vnd.osgi.bundle",
+          "Bundle-Name": "Amdatu Web - Dispatcher",
+          "Bundle-SymbolicName": "org.amdatu.web.dispatcher",
+          "Bundle-Version": "0.2.1.1312490609260",
+          "test2": "world",
+          "url": 
"file:/C:/bramk/Amdatu/svn/amdatu-trunk/amdatu-web/dispatcher/target/org.amdatu.web.dispatcher-0.2.1-SNAPSHOT.jar",
+          "processorPid": "",
+          "artifactDescription": "Provides a Dispatcher implementation"
+        },
+        "tags": {
+          "generated": "true",
+          "tag1": "taggy"
+        }
+      },
+      {
+        "attributes": {
+          "test1": "hello",
+          "artifactName": "Amdatu Web - Dispatcher",
+          "mimetype": "application/vnd.osgi.bundle",
+          "Bundle-Name": "Amdatu Web - Dispatcher",
+          "Bundle-SymbolicName": "org.amdatu.web.dispatcher",
+          "Bundle-Version": "0.2.1.1312490692641",
+          "test2": "world",
+          "url": 
"file:/C:/bramk/Amdatu/svn/amdatu-trunk/amdatu-web/dispatcher/target/org.amdatu.web.dispatcher-0.2.1-SNAPSHOT.jar",
+          "processorPid": "",
+          "artifactDescription": "Provides a Dispatcher implementation"
+        },
+        "tags": {
+          "generated": "true",
+          "tag1": "taggy"
+        }
+      },
+      {
+        "attributes": {
+          "test1": "hello",
+          "artifactName": "Amdatu Web - Dispatcher",
+          "mimetype": "application/vnd.osgi.bundle",
+          "Bundle-Name": "Amdatu Web - Dispatcher",
+          "Bundle-SymbolicName": "org.amdatu.web.dispatcher",
+          "Bundle-Version": "0.2.1.1312491272930",
+          "test2": "world",
+          "url": 
"file:/C:/bramk/Amdatu/svn/amdatu-trunk/amdatu-web/dispatcher/target/org.amdatu.web.dispatcher-0.2.1-SNAPSHOT.jar",
+          "processorPid": "",
+          "artifactDescription": "Provides a Dispatcher implementation"
+        },
+        "tags": {
+          "generated": "true",
+          "tag1": "taggy"
+        }
+      }
+    ],
+    "feature2distribution": [
+      {
+        "attributes": {
+          "leftEndpoint": "(&(name=Amdatu Core))",
+          "rightEndpoint": "(&(name=Amdatu Platform))"
+        },
+        "tags": {}
+      }
+    ],
+    "target": [],
+    "distribution2target": [
+      {
+        "attributes": {
+          "leftEndpoint": "(&(name=Amdatu Platform))",
+          "rightEndpoint": "(&(id=ama-x5))",
+          "rightCardinality": "2147483647",
+          "leftCardinality": "2147483647"
+        },
+        "tags": {}
+      }
+    ],
+    "feature": [
+      {
+        "attributes": {
+          "description": "components and configuration",
+          "name": "Amdatu Core"
+        },
+        "tags": {
+          "generated": "true"
+        }
+      }
+    ],
+    "distribution": [
+      {
+        "attributes": {
+          "description": "amdatu platform",
+          "name": "Amdatu Platform"
+        },
+        "tags": {
+          "generated": "true"
+        }
+      }
+    ]
+  }
+}
\ No newline at end of file
_______________________________________________
Amdatu-commits mailing list
[email protected]
http://lists.amdatu.org/mailman/listinfo/amdatu-commits

Reply via email to