You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cz...@apache.org on 2014/10/09 09:52:42 UTC
svn commit: r1630309 - in
/sling/trunk/tooling/support/provisioning-model/src/main/java/org/apache/sling/provisioning/model:
ModelUtility.java io/ModelReader.java
Author: cziegeler
Date: Thu Oct 9 07:52:42 2014
New Revision: 1630309
URL: http://svn.apache.org/r1630309
Log:
Allow comments in configurations
Modified:
sling/trunk/tooling/support/provisioning-model/src/main/java/org/apache/sling/provisioning/model/ModelUtility.java
sling/trunk/tooling/support/provisioning-model/src/main/java/org/apache/sling/provisioning/model/io/ModelReader.java
Modified: sling/trunk/tooling/support/provisioning-model/src/main/java/org/apache/sling/provisioning/model/ModelUtility.java
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/support/provisioning-model/src/main/java/org/apache/sling/provisioning/model/ModelUtility.java?rev=1630309&r1=1630308&r2=1630309&view=diff
==============================================================================
--- sling/trunk/tooling/support/provisioning-model/src/main/java/org/apache/sling/provisioning/model/ModelUtility.java (original)
+++ sling/trunk/tooling/support/provisioning-model/src/main/java/org/apache/sling/provisioning/model/ModelUtility.java Thu Oct 9 07:52:42 2014
@@ -18,6 +18,7 @@ package org.apache.sling.provisioning.mo
import java.io.ByteArrayInputStream;
import java.io.IOException;
+import java.io.LineNumberReader;
import java.io.StringReader;
import java.util.Arrays;
import java.util.Dictionary;
@@ -174,9 +175,26 @@ public abstract class ModelUtility {
}
} else {
// Apache Felix CA format
+ // the raw format might have comments, we have to remove them first
+ final StringBuilder sb = new StringBuilder();
+ try {
+ final LineNumberReader lnr = new LineNumberReader(new StringReader(rawConfig));
+ String line = null;
+ while ((line = lnr.readLine()) != null ) {
+ line = line.trim();
+ if ( line.isEmpty() || line.startsWith("#")) {
+ continue;
+ }
+ sb.append(line);
+ sb.append('\n');
+ }
+ } catch ( final IOException ioe) {
+ throw new IllegalArgumentException("Unable to read configuration properties: " + config, ioe);
+ }
+
ByteArrayInputStream bais = null;
try {
- bais = new ByteArrayInputStream(rawConfig.getBytes("UTF-8"));
+ bais = new ByteArrayInputStream(sb.toString().getBytes("UTF-8"));
@SuppressWarnings("unchecked")
final Dictionary<String, Object> props = ConfigurationHandler.read(bais);
final Enumeration<String> i = props.keys();
Modified: sling/trunk/tooling/support/provisioning-model/src/main/java/org/apache/sling/provisioning/model/io/ModelReader.java
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/support/provisioning-model/src/main/java/org/apache/sling/provisioning/model/io/ModelReader.java?rev=1630309&r1=1630308&r2=1630309&view=diff
==============================================================================
--- sling/trunk/tooling/support/provisioning-model/src/main/java/org/apache/sling/provisioning/model/io/ModelReader.java (original)
+++ sling/trunk/tooling/support/provisioning-model/src/main/java/org/apache/sling/provisioning/model/io/ModelReader.java Thu Oct 9 07:52:42 2014
@@ -110,7 +110,12 @@ public class ModelReader {
// comment?
if ( line.startsWith("#") ) {
- checkConfig();
+ if ( config != null ) {
+ configBuilder.append(line);
+ configBuilder.append('\n');
+
+ continue;
+ }
final String c = line.substring(1).trim();
if ( comment == null ) {
comment = c;