This is an automated email from the ASF dual-hosted git repository. rombert pushed a commit to annotated tag org.apache.sling.provisioning.model-1.0.0 in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-provisioning-model.git
commit bbe9bcd89cbfed6a053942039a518e7bb0b886b4 Author: Carsten Ziegeler <cziege...@apache.org> AuthorDate: Thu Oct 9 07:52:42 2014 +0000 Allow comments in configurations git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/tooling/support/provisioning-model@1630309 13f79535-47bb-0310-9956-ffa450edef68 --- .../sling/provisioning/model/ModelUtility.java | 20 +++++++++++++++++++- .../sling/provisioning/model/io/ModelReader.java | 7 ++++++- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/apache/sling/provisioning/model/ModelUtility.java b/src/main/java/org/apache/sling/provisioning/model/ModelUtility.java index cb711a9..82c129f 100644 --- a/src/main/java/org/apache/sling/provisioning/model/ModelUtility.java +++ b/src/main/java/org/apache/sling/provisioning/model/ModelUtility.java @@ -18,6 +18,7 @@ package org.apache.sling.provisioning.model; 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(); diff --git a/src/main/java/org/apache/sling/provisioning/model/io/ModelReader.java b/src/main/java/org/apache/sling/provisioning/model/io/ModelReader.java index 5fa2f7e..8786a13 100644 --- a/src/main/java/org/apache/sling/provisioning/model/io/ModelReader.java +++ b/src/main/java/org/apache/sling/provisioning/model/io/ModelReader.java @@ -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; -- To stop receiving notification emails like this one, please contact "commits@sling.apache.org" <commits@sling.apache.org>.