Author: gnodet
Date: Tue Sep 21 11:35:01 2010
New Revision: 999325

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

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

Modified: karaf/branches/karaf-2.0.x/assembly/pom.xml
URL: 
http://svn.apache.org/viewvc/karaf/branches/karaf-2.0.x/assembly/pom.xml?rev=999325&r1=999324&r2=999325&view=diff
==============================================================================
--- karaf/branches/karaf-2.0.x/assembly/pom.xml (original)
+++ karaf/branches/karaf-2.0.x/assembly/pom.xml Tue Sep 21 11:35:01 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/branches/karaf-2.0.x/assembly/src/main/descriptors/unix-bin.xml
URL: 
http://svn.apache.org/viewvc/karaf/branches/karaf-2.0.x/assembly/src/main/descriptors/unix-bin.xml?rev=999325&r1=999324&r2=999325&view=diff
==============================================================================
--- karaf/branches/karaf-2.0.x/assembly/src/main/descriptors/unix-bin.xml 
(original)
+++ karaf/branches/karaf-2.0.x/assembly/src/main/descriptors/unix-bin.xml Tue 
Sep 21 11:35:01 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/branches/karaf-2.0.x/assembly/src/main/filtered-resources/etc/org.apache.karaf.features.cfg
URL: 
http://svn.apache.org/viewvc/karaf/branches/karaf-2.0.x/assembly/src/main/filtered-resources/etc/org.apache.karaf.features.cfg?rev=999325&r1=999324&r2=999325&view=diff
==============================================================================
--- 
karaf/branches/karaf-2.0.x/assembly/src/main/filtered-resources/etc/org.apache.karaf.features.cfg
 (original)
+++ 
karaf/branches/karaf-2.0.x/assembly/src/main/filtered-resources/etc/org.apache.karaf.features.cfg
 Tue Sep 21 11:35:01 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/branches/karaf-2.0.x/assembly/src/main/filtered-resources/etc/startup.properties
URL: 
http://svn.apache.org/viewvc/karaf/branches/karaf-2.0.x/assembly/src/main/filtered-resources/etc/startup.properties?rev=999325&r1=999324&r2=999325&view=diff
==============================================================================
--- 
karaf/branches/karaf-2.0.x/assembly/src/main/filtered-resources/etc/startup.properties
 (original)
+++ 
karaf/branches/karaf-2.0.x/assembly/src/main/filtered-resources/etc/startup.properties
 Tue Sep 21 11:35:01 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/branches/karaf-2.0.x/assembly/src/main/filtered-resources/features.xml
URL: 
http://svn.apache.org/viewvc/karaf/branches/karaf-2.0.x/assembly/src/main/filtered-resources/features.xml?rev=999325&r1=999324&r2=999325&view=diff
==============================================================================
--- 
karaf/branches/karaf-2.0.x/assembly/src/main/filtered-resources/features.xml 
(original)
+++ 
karaf/branches/karaf-2.0.x/assembly/src/main/filtered-resources/features.xml 
Tue Sep 21 11:35:01 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/branches/karaf-2.0.x/pom.xml
URL: 
http://svn.apache.org/viewvc/karaf/branches/karaf-2.0.x/pom.xml?rev=999325&r1=999324&r2=999325&view=diff
==============================================================================
--- karaf/branches/karaf-2.0.x/pom.xml (original)
+++ karaf/branches/karaf-2.0.x/pom.xml Tue Sep 21 11:35:01 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/branches/karaf-2.0.x/shell/config/pom.xml
URL: 
http://svn.apache.org/viewvc/karaf/branches/karaf-2.0.x/shell/config/pom.xml?rev=999325&r1=999324&r2=999325&view=diff
==============================================================================
--- karaf/branches/karaf-2.0.x/shell/config/pom.xml (original)
+++ karaf/branches/karaf-2.0.x/shell/config/pom.xml Tue Sep 21 11:35:01 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/branches/karaf-2.0.x/shell/config/src/main/java/org/apache/karaf/shell/config/UpdateCommand.java
URL: 
http://svn.apache.org/viewvc/karaf/branches/karaf-2.0.x/shell/config/src/main/java/org/apache/karaf/shell/config/UpdateCommand.java?rev=999325&r1=999324&r2=999325&view=diff
==============================================================================
--- 
karaf/branches/karaf-2.0.x/shell/config/src/main/java/org/apache/karaf/shell/config/UpdateCommand.java
 (original)
+++ 
karaf/branches/karaf-2.0.x/shell/config/src/main/java/org/apache/karaf/shell/config/UpdateCommand.java
 Tue Sep 21 11:35:01 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 {


Reply via email to