Author: [email protected]
Date: Wed May 23 16:11:15 2012
New Revision: 2395

Log:
Added distribution support

Modified:
   
trunk/amdatu-ams-populator/src/main/java/org/amdatu/ams/populator/AmsFeature.java

Modified: 
trunk/amdatu-ams-populator/src/main/java/org/amdatu/ams/populator/AmsFeature.java
==============================================================================
--- 
trunk/amdatu-ams-populator/src/main/java/org/amdatu/ams/populator/AmsFeature.java
   (original)
+++ 
trunk/amdatu-ams-populator/src/main/java/org/amdatu/ams/populator/AmsFeature.java
   Wed May 23 16:11:15 2012
@@ -122,6 +122,20 @@
                     System.err.println("Could not install '" + file.getName() 
+ "'");
                 }
             }
+
+            // Case 3: .tenant files (Amdatu tenants)
+            if (file.getName().endsWith(".tenant")) {
+                try {
+                    System.out.println("Installing tenant '" + file.getName() 
+ "'");
+                    installTenant(file);
+                }
+                catch (IOException e) {
+                    System.err.println("Could not read '" + file.getName() + 
"'");
+                }
+                catch (AceClientException e) {
+                    System.err.println("Could not install '" + file.getName() 
+ "'");
+                }
+            }
         }
     }
 
@@ -179,11 +193,24 @@
                 .setConfigFileName(file.getName())
                 .setName(name)
                 .setProcessorPid(m_configProcessorPid);
-        if (name.endsWith(".tenant")) {
-            builder.setProcessorPid(m_tenantProcessorPid);
-            builder.setAttribute("mimetype", 
"application/vnd.amdatu.tenantconf");
-            builder.setAttribute(TENANT_PID_KEY, getTenantPid(file));
-        }
+        m_configNames.add(file.getName());
+        Artifact artifact = builder.build();
+        m_workspace.createResource(artifact);
+    }
+
+    private void installTenant(File file) throws IOException, 
AceClientException {
+        String fileName = 
file.getName().substring(file.getName().lastIndexOf('/') + 1);
+        String name = "tenant " + fileName.substring(0, 
Math.min(fileName.lastIndexOf('.'), fileName.length()));
+        ArtifactBuilder builder =
+            new ArtifactBuilder()
+                .isConfig()
+                .setUrl(file.toURI().toString())
+                .setConfigFileName(file.getName())
+                .setName(name)
+                .setProcessorPid(m_configProcessorPid);
+        builder.setProcessorPid(m_tenantProcessorPid);
+        builder.setAttribute("mimetype", "application/vnd.amdatu.tenantconf");
+        builder.setAttribute(TENANT_PID_KEY, getTenantPid(file));
         m_configNames.add(file.getName());
         Artifact artifact = builder.build();
         m_workspace.createResource(artifact);
_______________________________________________
Amdatu-commits mailing list
[email protected]
http://lists.amdatu.org/mailman/listinfo/amdatu-commits

Reply via email to