You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by ff...@apache.org on 2010/08/12 12:28:06 UTC

svn commit: r984712 - in /karaf/trunk: ./ assembly/ assembly/src/main/descriptors/ assembly/src/main/filtered-resources/ assembly/src/main/filtered-resources/etc/ shell/config/ shell/config/src/main/java/org/apache/karaf/shell/config/

Author: ffang
Date: Thu Aug 12 10:28:05 2010
New Revision: 984712

URL: http://svn.apache.org/viewvc?rev=984712&view=rev
Log:
[KARAF-140] Modifying properties and saving them via the Config Console removes comments in the original file

Modified:
    karaf/trunk/assembly/pom.xml
    karaf/trunk/assembly/src/main/descriptors/unix-bin.xml
    karaf/trunk/assembly/src/main/filtered-resources/etc/org.apache.karaf.features.cfg
    karaf/trunk/assembly/src/main/filtered-resources/etc/startup.properties
    karaf/trunk/assembly/src/main/filtered-resources/features.xml
    karaf/trunk/pom.xml
    karaf/trunk/shell/config/pom.xml
    karaf/trunk/shell/config/src/main/java/org/apache/karaf/shell/config/UpdateCommand.java

Modified: karaf/trunk/assembly/pom.xml
URL: http://svn.apache.org/viewvc/karaf/trunk/assembly/pom.xml?rev=984712&r1=984711&r2=984712&view=diff
==============================================================================
--- karaf/trunk/assembly/pom.xml (original)
+++ karaf/trunk/assembly/pom.xml Thu Aug 12 10:28:05 2010
@@ -480,6 +480,32 @@
                     </execution>
                 </executions>
             </plugin>
+            <plugin>
+                <groupId>org.apache.karaf.tooling</groupId>
+                <artifactId>features-maven-plugin</artifactId>
+                <version>${project.version}</version>
+                <executions>
+                    <execution>
+                        <id>add-features-to-repo</id>
+                        <phase>generate-resources</phase>
+                        <goals>
+                            <goal>add-features-to-repo</goal>
+                        </goals>
+                        <configuration>
+                            <descriptors>
+                                <descriptor>file:${basedir}/target/classes/features.xml</descriptor>
+                            </descriptors>
+                            <features>
+                                <feature>config</feature>
+                                <feature>ssh</feature>
+                                <feature>management</feature>
+                            </features>
+                            <repository>target/features-repo</repository>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+
         </plugins>
     </build>
 

Modified: karaf/trunk/assembly/src/main/descriptors/unix-bin.xml
URL: http://svn.apache.org/viewvc/karaf/trunk/assembly/src/main/descriptors/unix-bin.xml?rev=984712&r1=984711&r2=984712&view=diff
==============================================================================
--- karaf/trunk/assembly/src/main/descriptors/unix-bin.xml (original)
+++ karaf/trunk/assembly/src/main/descriptors/unix-bin.xml Thu Aug 12 10:28:05 2010
@@ -100,7 +100,10 @@
             <directory>target/dependencies</directory>
             <outputDirectory>/</outputDirectory>
         </fileSet>
-
+        <fileSet>
+          <directory>target/features-repo</directory>
+          <outputDirectory>system</outputDirectory>
+        </fileSet>
     </fileSets>
 
     <files>

Modified: karaf/trunk/assembly/src/main/filtered-resources/etc/org.apache.karaf.features.cfg
URL: http://svn.apache.org/viewvc/karaf/trunk/assembly/src/main/filtered-resources/etc/org.apache.karaf.features.cfg?rev=984712&r1=984711&r2=984712&view=diff
==============================================================================
--- karaf/trunk/assembly/src/main/filtered-resources/etc/org.apache.karaf.features.cfg (original)
+++ karaf/trunk/assembly/src/main/filtered-resources/etc/org.apache.karaf.features.cfg Thu Aug 12 10:28:05 2010
@@ -25,4 +25,4 @@ featuresRepositories=mvn:org.apache.kara
 #
 # Comma separated list of features to install at startup
 #
-featuresBoot=ssh,management
+featuresBoot=config,ssh,management

Modified: karaf/trunk/assembly/src/main/filtered-resources/etc/startup.properties
URL: http://svn.apache.org/viewvc/karaf/trunk/assembly/src/main/filtered-resources/etc/startup.properties?rev=984712&r1=984711&r2=984712&view=diff
==============================================================================
--- karaf/trunk/assembly/src/main/filtered-resources/etc/startup.properties (original)
+++ karaf/trunk/assembly/src/main/filtered-resources/etc/startup.properties Thu Aug 12 10:28:05 2010
@@ -42,7 +42,6 @@ org/apache/karaf/deployer/org.apache.kar
 org/apache/karaf/deployer/org.apache.karaf.deployer.features/${project.version}/org.apache.karaf.deployer.features-${project.version}.jar=30
 org/apache/karaf/shell/org.apache.karaf.shell.osgi/${project.version}/org.apache.karaf.shell.osgi-${project.version}.jar=30
 org/apache/karaf/shell/org.apache.karaf.shell.log/${project.version}/org.apache.karaf.shell.log-${project.version}.jar=30
-org/apache/karaf/shell/org.apache.karaf.shell.config/${project.version}/org.apache.karaf.shell.config-${project.version}.jar=30
 org/apache/karaf/shell/org.apache.karaf.shell.packages/${project.version}/org.apache.karaf.shell.packages-${project.version}.jar=30
 org/apache/karaf/shell/org.apache.karaf.shell.commands/${project.version}/org.apache.karaf.shell.commands-${project.version}.jar=30
 org/apache/karaf/shell/org.apache.karaf.shell.dev/${project.version}/org.apache.karaf.shell.dev-${project.version}.jar=30

Modified: karaf/trunk/assembly/src/main/filtered-resources/features.xml
URL: http://svn.apache.org/viewvc/karaf/trunk/assembly/src/main/filtered-resources/features.xml?rev=984712&r1=984711&r2=984712&view=diff
==============================================================================
--- karaf/trunk/assembly/src/main/filtered-resources/features.xml (original)
+++ karaf/trunk/assembly/src/main/filtered-resources/features.xml Thu Aug 12 10:28:05 2010
@@ -44,6 +44,17 @@
         <bundle>mvn:org.apache.karaf.shell/org.apache.karaf.shell.obr/${project.version}</bundle>
         <bundle>mvn:org.apache.karaf.features/org.apache.karaf.features.obr/${project.version}</bundle>
     </feature>
+    <feature name="config" version="${project.version}">
+        <bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-configuration/${commons-configuration.version}</bundle>
+        <bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-beanutils/${commons-beanutils.version}</bundle>
+        <bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-codec/${commons-codec.version}</bundle>
+        <bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-jxpath/${commons-jxpath.version}</bundle>
+        <bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-digester/${commons-digester.version}</bundle>
+        <bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-lang/${commons-lang.version}</bundle>
+        <bundle>mvn:commons-collections/commons-collections/${commons-collections.version}</bundle>
+        <bundle>mvn:org.apache.geronimo.specs/geronimo-servlet_2.5_spec/${geronimo.servlet.version}</bundle>
+        <bundle>mvn:org.apache.karaf.shell/org.apache.karaf.shell.config/${project.version}</bundle>
+    </feature>
     <feature name="http" version="${project.version}">
         <config name="org.ops4j.pax.web">
             org.osgi.service.http.port=8181

Modified: karaf/trunk/pom.xml
URL: http://svn.apache.org/viewvc/karaf/trunk/pom.xml?rev=984712&r1=984711&r2=984712&view=diff
==============================================================================
--- karaf/trunk/pom.xml (original)
+++ karaf/trunk/pom.xml Thu Aug 12 10:28:05 2010
@@ -101,6 +101,14 @@
         <aopalliance.version>1.0_3</aopalliance.version>
         <cglib.version>2.1_3_4</cglib.version>
         <commons.logging.version>1.1.1</commons.logging.version>
+        <commons-configuration.version>1.4_1-SNAPSHOT</commons-configuration.version>
+        <commons-beanutils.version>1.8.2_1-SNAPSHOT</commons-beanutils.version>
+        <commons-codec.version>1.3_2</commons-codec.version>
+        <commons-jxpath.version>1.2_4-SNAPSHOT</commons-jxpath.version>
+        <commons-collections.version>3.2.1</commons-collections.version>
+        <commons-digester.version>1.8_1-SNAPSHOT</commons-digester.version>
+        <commons-lang.version>2.4_3</commons-lang.version>
+        <geronimo.servlet.version>1.1.2</geronimo.servlet.version>
         <depends.maven.plugin.version>1.0</depends.maven.plugin.version>
         <easymock.version>2.4</easymock.version>
         <equinox.version>3.6.0.v20100517</equinox.version>
@@ -596,6 +604,11 @@
                 <version>${commons.logging.version}</version>
             </dependency>
             <dependency>
+                <groupId>org.apache.servicemix.bundles</groupId>
+                <artifactId>org.apache.servicemix.bundles.commons-configuration</artifactId>
+                <version>${commons-configuration.version}</version>
+            </dependency>
+            <dependency>
                 <groupId>org.apache.maven.artifact</groupId>
                 <artifactId>maven-artifact</artifactId>
                 <version>3.0-alpha-1</version>

Modified: karaf/trunk/shell/config/pom.xml
URL: http://svn.apache.org/viewvc/karaf/trunk/shell/config/pom.xml?rev=984712&r1=984711&r2=984712&view=diff
==============================================================================
--- karaf/trunk/shell/config/pom.xml (original)
+++ karaf/trunk/shell/config/pom.xml Thu Aug 12 10:28:05 2010
@@ -45,7 +45,10 @@
             <groupId>org.apache.karaf.shell</groupId>
             <artifactId>org.apache.karaf.shell.console</artifactId>
         </dependency>
-
+        <dependency>
+            <groupId>org.apache.servicemix.bundles</groupId>
+            <artifactId>org.apache.servicemix.bundles.commons-configuration</artifactId>
+        </dependency>
         <dependency>
             <groupId>org.apache.felix</groupId>
             <artifactId>org.osgi.core</artifactId>

Modified: karaf/trunk/shell/config/src/main/java/org/apache/karaf/shell/config/UpdateCommand.java
URL: http://svn.apache.org/viewvc/karaf/trunk/shell/config/src/main/java/org/apache/karaf/shell/config/UpdateCommand.java?rev=984712&r1=984711&r2=984712&view=diff
==============================================================================
--- karaf/trunk/shell/config/src/main/java/org/apache/karaf/shell/config/UpdateCommand.java (original)
+++ karaf/trunk/shell/config/src/main/java/org/apache/karaf/shell/config/UpdateCommand.java Thu Aug 12 10:28:05 2010
@@ -22,6 +22,7 @@ import java.util.Dictionary;
 import java.util.Enumeration;
 import java.util.Properties;
 
+import org.apache.commons.configuration.PropertiesConfiguration;
 import org.apache.felix.gogo.commands.Option;
 import org.osgi.service.cm.Configuration;
 import org.osgi.service.cm.ConfigurationAdmin;
@@ -48,21 +49,17 @@ public class UpdateCommand extends Confi
         if (props == null) {
             System.err.println("No configuration is being edited. Run the edit command first");
         } else if (!bypassStorage && storage != null) {
-            Properties p = new Properties();
+        	String pid = (String) this.session.get(PROPERTY_CONFIG_PID);
+        	File storageFile = new File(storage, pid + ".cfg");
+            PropertiesConfiguration p = new PropertiesConfiguration(storageFile);
             for (Enumeration keys = props.keys(); keys.hasMoreElements();) {
                 Object key = keys.nextElement();
                 if (!"service.pid".equals(key) && !"felix.fileinstall.filename".equals(key)) {
-                    p.put(key, props.get(key));
+                    p.setProperty((String) key, props.get(key));
                 }
             }
             storage.mkdirs();
-            String pid = (String) this.session.get(PROPERTY_CONFIG_PID);
-            FileOutputStream os = new FileOutputStream(new File(storage, pid + ".cfg"));
-            try {
-                p.store(os, null);
-            } finally {
-                os.close();
-            }
+            p.save();
             this.session.put(PROPERTY_CONFIG_PID, null);
             this.session.put(PROPERTY_CONFIG_PROPS, null);
         } else {