Author: cziegeler
Date: Tue Aug 15 12:36:00 2017
New Revision: 1805071

URL: http://svn.apache.org/viewvc?rev=1805071&view=rev
Log:
Add support for repoinit

Modified:
    
sling/whiteboard/cziegeler/feature-modelconverter/src/main/java/org/apache/sling/feature/modelconverter/impl/Main.java

Modified: 
sling/whiteboard/cziegeler/feature-modelconverter/src/main/java/org/apache/sling/feature/modelconverter/impl/Main.java
URL: 
http://svn.apache.org/viewvc/sling/whiteboard/cziegeler/feature-modelconverter/src/main/java/org/apache/sling/feature/modelconverter/impl/Main.java?rev=1805071&r1=1805070&r2=1805071&view=diff
==============================================================================
--- 
sling/whiteboard/cziegeler/feature-modelconverter/src/main/java/org/apache/sling/feature/modelconverter/impl/Main.java
 (original)
+++ 
sling/whiteboard/cziegeler/feature-modelconverter/src/main/java/org/apache/sling/feature/modelconverter/impl/Main.java
 Tue Aug 15 12:36:00 2017
@@ -46,6 +46,7 @@ import org.apache.sling.feature.KeyValue
 import org.apache.sling.feature.support.ArtifactHandler;
 import org.apache.sling.feature.support.ArtifactManager;
 import org.apache.sling.feature.support.ArtifactManagerConfig;
+import org.apache.sling.feature.support.FeatureUtil;
 import org.apache.sling.feature.support.json.ApplicationJSONWriter;
 import org.apache.sling.feature.support.json.FeatureJSONWriter;
 import org.apache.sling.provisioning.model.Artifact;
@@ -59,6 +60,7 @@ import org.apache.sling.provisioning.mod
 import org.apache.sling.provisioning.model.ModelUtility.ResolverOptions;
 import org.apache.sling.provisioning.model.ModelUtility.VariableResolver;
 import org.apache.sling.provisioning.model.RunMode;
+import org.apache.sling.provisioning.model.Section;
 import org.apache.sling.provisioning.model.Traceable;
 import org.apache.sling.provisioning.model.io.ModelReader;
 import org.osgi.framework.Constants;
@@ -218,9 +220,7 @@ public class Main {
 
         // TODO - parse launchpad base to get sling.properties
         // hard coded for now
-        app.setFramework(new ArtifactId("org.apache.felix",
-                "org.apache.felix.framework",
-                "5.6.4", null, null));
+        app.setFramework(FeatureUtil.getFelixFrameworkId(null));
         
app.getFrameworkProperties().put(Constants.FRAMEWORK_SYSTEMPACKAGES_EXTRA, 
"org.apache.sling.launchpad.api;version=\"1.2.0\"");
         return app;
     }
@@ -230,7 +230,7 @@ public class Main {
             final Configurations configurations,
             final Extensions extensions,
             final KeyValueMap properties) {
-        Extension cpExtension = extensions.getByName("content-packages");
+        Extension cpExtension = 
extensions.getByName(Extension.NAME_CONTENT_PACKAGES);
         for(final RunMode runMode : feature.getRunModes() ) {
             if ( !ModelConstants.FEATURE_LAUNCHPAD.equals(feature.getName()) ) 
{
                 for(final ArtifactGroup group : runMode.getArtifactGroups()) {
@@ -244,7 +244,7 @@ public class Main {
 
                         if ( newArtifact.getId().getType().equals("zip") ) {
                             if ( cpExtension == null ) {
-                                cpExtension = new 
Extension(ExtensionType.ARTIFACTS, "content-packages", true);
+                                cpExtension = new 
Extension(ExtensionType.ARTIFACTS, Extension.NAME_CONTENT_PACKAGES, true);
                                 extensions.add(cpExtension);
                             }
                             cpExtension.getArtifacts().add(newArtifact);
@@ -280,6 +280,17 @@ public class Main {
                 properties.put(prop.getKey(), prop.getValue());
             }
         }
+        Extension repoExtension = 
extensions.getByName(Extension.NAME_REPOINIT);
+        for(final Section sect : feature.getAdditionalSections("repoinit")) {
+            final String text = sect.getContents();
+            if ( repoExtension == null ) {
+                repoExtension = new Extension(ExtensionType.TEXT, 
Extension.NAME_REPOINIT, true);
+                extensions.add(repoExtension);
+                repoExtension.setText(text);
+            } else {
+                repoExtension.setText(repoExtension.getText() + "\n\n" + text);
+            }
+        }
     }
 
     private static void writeApplication(final Application app, final String 
out) {


Reply via email to