svn commit: r1017299 - /websites/production/felix/content/
Author: pauls Date: Fri Aug 25 21:33:03 2017 New Revision: 1017299 Log: Publishing svnmucc operation to felix site by pauls Added: websites/production/felix/content/ - copied from r1017298, websites/staging/felix/trunk/content/
svn commit: r1806239 - in /felix/site/trunk/content: downloads.list news.mdtext
Author: pauls Date: Fri Aug 25 21:32:01 2017 New Revision: 1806239 URL: http://svn.apache.org/viewvc?rev=1806239=rev Log: CMS commit to felix by pauls Modified: felix/site/trunk/content/downloads.list felix/site/trunk/content/news.mdtext Modified: felix/site/trunk/content/downloads.list URL: http://svn.apache.org/viewvc/felix/site/trunk/content/downloads.list?rev=1806239=1806238=1806239=diff == --- felix/site/trunk/content/downloads.list (original) +++ felix/site/trunk/content/downloads.list Fri Aug 25 21:32:01 2017 @@ -12,7 +12,7 @@ # # (1) Felix Framework Distribution version -framework|5.6.6 +framework|5.6.8 # # (2) Subprojects @@ -39,7 +39,7 @@ Dependency Manager 4|org.apache.felix.de Deployment Admin|org.apache.felix.deploymentadmin|0.9.10|||changelog.txt Event Admin|org.apache.felix.eventadmin|1.4.8 File Install|org.apache.felix.fileinstall|3.6.0|||doc/changelog.txt -Framework|org.apache.felix.framework|5.6.6|||doc/changelog.txt +Framework|org.apache.felix.framework|5.6.8|||doc/changelog.txt Framework Security|org.apache.felix.framework.security|2.6.0|||doc/changelog.txt Gogo Runtime|org.apache.felix.gogo.runtime|1.0.6|project||doc/changelog.txt Gogo JLine|org.apache.felix.gogo.jline|1.0.6|project||doc/changelog.txt @@ -81,7 +81,7 @@ junit4osgi - swing gui|org.apache.felix. Lightweight HTTP Service Core|org.apache.felix.httplite.core|0.1.4|project||doc/changelog.txt Lightweight HTTP Service Complete|org.apache.felix.httplite.complete|0.1.4|project||doc/changelog.txt Log|org.apache.felix.log|1.0.1|project||doc/changelog.txt -Main|org.apache.felix.main|5.6.6|project||doc/changelog.txt +Main|org.apache.felix.main|5.6.8|project||doc/changelog.txt Metatype|org.apache.felix.metatype|1.1.2 OSGi OBR service API|org.osgi.service.obr|1.0.2|project||doc/changelog.txt Preferences|org.apache.felix.prefs|1.1.0 Modified: felix/site/trunk/content/news.mdtext URL: http://svn.apache.org/viewvc/felix/site/trunk/content/news.mdtext?rev=1806239=1806238=1806239=diff == --- felix/site/trunk/content/news.mdtext (original) +++ felix/site/trunk/content/news.mdtext Fri Aug 25 21:32:01 2017 @@ -1,5 +1,6 @@ Title: News +* Apache Felix Framework 5.6.8 released (August 25th, 2017) * Apache Felix Config Admin 1.8.16 (August 7th, 2017) * Apache Felix Framework 5.6.6 released (July 31st, 2017) * Apache Felix Http Jetty 3.4.4 (July 14th, 2017)
svn commit: r1017298 - in /websites/staging/felix/trunk/content: ./ downloads.html news.html
Author: buildbot Date: Fri Aug 25 21:32:45 2017 New Revision: 1017298 Log: Staging update by buildbot for felix Modified: websites/staging/felix/trunk/content/ (props changed) websites/staging/felix/trunk/content/downloads.html websites/staging/felix/trunk/content/news.html Propchange: websites/staging/felix/trunk/content/ -- --- cms:source-revision (original) +++ cms:source-revision Fri Aug 25 21:32:45 2017 @@ -1 +1 @@ -1805157 +1806239 Modified: websites/staging/felix/trunk/content/downloads.html == --- websites/staging/felix/trunk/content/downloads.html (original) +++ websites/staging/felix/trunk/content/downloads.html Fri Aug 25 21:32:45 2017 @@ -159,8 +159,8 @@ h2:hover > .headerlink, h3:hover > .head Felix Framework Distribution -5.6.6 (http://svn.apache.org/repos/asf/felix/releases/org.apache.felix.main.distribution-5.6.6/doc/;>changes) -tar.gz (http://www.apache.org/dist/felix/org.apache.felix.main.distribution-5.6.6.tar.gz.asc;>asc, http://www.apache.org/dist/felix/org.apache.felix.main.distribution-5.6.6.tar.gz.md5;>md5) zip (http://www.apache.org/dist/felix/org.apache.felix.main.distribution-5.6.6.zip.asc;>asc, http://www.apache.org/dist/felix/org.apache.felix.main.distribution-5.6.6.zip.md5;>md5) +5.6.8 (http://svn.apache.org/repos/asf/felix/releases/org.apache.felix.main.distribution-5.6.8/doc/;>changes) +tar.gz (http://www.apache.org/dist/felix/org.apache.felix.main.distribution-5.6.8.tar.gz.asc;>asc, http://www.apache.org/dist/felix/org.apache.felix.main.distribution-5.6.8.tar.gz.md5;>md5) zip (http://www.apache.org/dist/felix/org.apache.felix.main.distribution-5.6.8.zip.asc;>asc, http://www.apache.org/dist/felix/org.apache.felix.main.distribution-5.6.8.zip.md5;>md5) @@ -249,9 +249,9 @@ h2:hover > .headerlink, h3:hover > .head Framework -5.6.6 (http://svn.apache.org/repos/asf/felix/releases/org.apache.felix.framework-5.6.6/doc/changelog.txt;>changes) -jar (http://www.apache.org/dist/felix/org.apache.felix.framework-5.6.6.jar.asc;>asc, http://www.apache.org/dist/felix/org.apache.felix.framework-5.6.6.jar.md5;>md5) -tar.gz (http://www.apache.org/dist/felix/org.apache.felix.framework-5.6.6-source-release.tar.gz.asc;>asc, http://www.apache.org/dist/felix/org.apache.felix.framework-5.6.6-source-release.tar.gz.md5;>md5) zip (http://www.apache.org/dist/felix/org.apache.felix.framework-5.6.6-source-release.zip.asc;>asc, http://www.apache.org/dist/felix/org.apache.felix.framework-5.6.6-source-release.zip.md5;>md5) +5.6.8 (http://svn.apache.org/repos/asf/felix/releases/org.apache.felix.framework-5.6.8/doc/changelog.txt;>changes) +jar (http://www.apache.org/dist/felix/org.apache.felix.framework-5.6.8.jar.asc;>asc, http://www.apache.org/dist/felix/org.apache.felix.framework-5.6.8.jar.md5;>md5) +tar.gz (http://www.apache.org/dist/felix/org.apache.felix.framework-5.6.8-source-release.tar.gz.asc;>asc, http://www.apache.org/dist/felix/org.apache.felix.framework-5.6.8-source-release.tar.gz.md5;>md5) zip (http://www.apache.org/dist/felix/org.apache.felix.framework-5.6.8-source-release.zip.asc;>asc, http://www.apache.org/dist/felix/org.apache.felix.framework-5.6.8-source-release.zip.md5;>md5) Gogo Command @@ -489,9 +489,9 @@ h2:hover > .headerlink, h3:hover > .head Main -5.6.6 (http://svn.apache.org/repos/asf/felix/releases/org.apache.felix.main-5.6.6/doc/changelog.txt;>changes) -jar (http://www.apache.org/dist/felix/org.apache.felix.main-5.6.6.jar.asc;>asc, http://www.apache.org/dist/felix/org.apache.felix.main-5.6.6.jar.md5;>md5) -tar.gz (http://www.apache.org/dist/felix/org.apache.felix.main-5.6.6-project.tar.gz.asc;>asc, http://www.apache.org/dist/felix/org.apache.felix.main-5.6.6-project.tar.gz.md5;>md5) zip (http://www.apache.org/dist/felix/org.apache.felix.main-5.6.6-project.zip.asc;>asc, http://www.apache.org/dist/felix/org.apache.felix.main-5.6.6-project.zip.md5;>md5) +5.6.8 (http://svn.apache.org/repos/asf/felix/releases/org.apache.felix.main-5.6.8/doc/changelog.txt;>changes) +jar (http://www.apache.org/dist/felix/org.apache.felix.main-5.6.8.jar.asc;>asc, http://www.apache.org/dist/felix/org.apache.felix.main-5.6.8.jar.md5;>md5) +tar.gz (http://www.apache.org/dist/felix/org.apache.felix.main-5.6.8-project.tar.gz.asc;>asc, http://www.apache.org/dist/felix/org.apache.felix.main-5.6.8-project.tar.gz.md5;>md5) zip (http://www.apache.org/dist/felix/org.apache.felix.main-5.6.8-project.zip.asc;>asc, http://www.apache.org/dist/felix/org.apache.felix.main-5.6.8-project.zip.md5;>md5) Metatype @@ -805,7 +805,7 @@ the http://archive.apache.org/d -Rev. 1804288 by cziegeler on Mon, 7 Aug 2017 05:59:38 + +Rev. 1806239 by pauls on Fri, 25 Aug 2017 21:32:01 + Apache Felix, Felix, Apache, the Apache feather logo, and the
svn commit: r21305 - /release/felix/
Author: pauls Date: Fri Aug 25 21:28:53 2017 New Revision: 21305 Log: Add Apache Felix Framework 5.6.8 and related subproject releases. Added: release/felix/org.apache.felix.framework-5.6.8-source-release.tar.gz (with props) release/felix/org.apache.felix.framework-5.6.8-source-release.tar.gz.asc release/felix/org.apache.felix.framework-5.6.8-source-release.tar.gz.md5 release/felix/org.apache.felix.framework-5.6.8-source-release.tar.gz.sha1 release/felix/org.apache.felix.framework-5.6.8-source-release.zip (with props) release/felix/org.apache.felix.framework-5.6.8-source-release.zip.asc release/felix/org.apache.felix.framework-5.6.8-source-release.zip.md5 release/felix/org.apache.felix.framework-5.6.8-source-release.zip.sha1 release/felix/org.apache.felix.framework-5.6.8-sources.jar (with props) release/felix/org.apache.felix.framework-5.6.8-sources.jar.asc release/felix/org.apache.felix.framework-5.6.8-sources.jar.md5 release/felix/org.apache.felix.framework-5.6.8-sources.jar.sha1 release/felix/org.apache.felix.framework-5.6.8.jar (with props) release/felix/org.apache.felix.framework-5.6.8.jar.asc release/felix/org.apache.felix.framework-5.6.8.jar.md5 release/felix/org.apache.felix.framework-5.6.8.jar.sha1 release/felix/org.apache.felix.framework-5.6.8.pom release/felix/org.apache.felix.framework-5.6.8.pom.asc release/felix/org.apache.felix.framework-5.6.8.pom.md5 release/felix/org.apache.felix.framework-5.6.8.pom.sha1 release/felix/org.apache.felix.main-5.6.8-javadoc.jar (with props) release/felix/org.apache.felix.main-5.6.8-javadoc.jar.asc release/felix/org.apache.felix.main-5.6.8-javadoc.jar.md5 release/felix/org.apache.felix.main-5.6.8-javadoc.jar.sha1 release/felix/org.apache.felix.main-5.6.8-source-release.tar.gz (with props) release/felix/org.apache.felix.main-5.6.8-source-release.tar.gz.asc release/felix/org.apache.felix.main-5.6.8-source-release.tar.gz.md5 release/felix/org.apache.felix.main-5.6.8-source-release.tar.gz.sha1 release/felix/org.apache.felix.main-5.6.8-source-release.zip (with props) release/felix/org.apache.felix.main-5.6.8-source-release.zip.asc release/felix/org.apache.felix.main-5.6.8-source-release.zip.md5 release/felix/org.apache.felix.main-5.6.8-source-release.zip.sha1 release/felix/org.apache.felix.main-5.6.8-sources.jar (with props) release/felix/org.apache.felix.main-5.6.8-sources.jar.asc release/felix/org.apache.felix.main-5.6.8-sources.jar.md5 release/felix/org.apache.felix.main-5.6.8-sources.jar.sha1 release/felix/org.apache.felix.main-5.6.8.jar (with props) release/felix/org.apache.felix.main-5.6.8.jar.asc release/felix/org.apache.felix.main-5.6.8.jar.md5 release/felix/org.apache.felix.main-5.6.8.jar.sha1 release/felix/org.apache.felix.main-5.6.8.pom release/felix/org.apache.felix.main-5.6.8.pom.asc release/felix/org.apache.felix.main-5.6.8.pom.md5 release/felix/org.apache.felix.main-5.6.8.pom.sha1 release/felix/org.apache.felix.main.distribution-5.6.8-source-release.tar.gz (with props) release/felix/org.apache.felix.main.distribution-5.6.8-source-release.tar.gz.asc release/felix/org.apache.felix.main.distribution-5.6.8-source-release.tar.gz.md5 release/felix/org.apache.felix.main.distribution-5.6.8-source-release.tar.gz.sha1 release/felix/org.apache.felix.main.distribution-5.6.8-source-release.zip (with props) release/felix/org.apache.felix.main.distribution-5.6.8-source-release.zip.asc release/felix/org.apache.felix.main.distribution-5.6.8-source-release.zip.md5 release/felix/org.apache.felix.main.distribution-5.6.8-source-release.zip.sha1 release/felix/org.apache.felix.main.distribution-5.6.8.pom release/felix/org.apache.felix.main.distribution-5.6.8.pom.asc release/felix/org.apache.felix.main.distribution-5.6.8.pom.md5 release/felix/org.apache.felix.main.distribution-5.6.8.pom.sha1 release/felix/org.apache.felix.main.distribution-5.6.8.tar.gz (with props) release/felix/org.apache.felix.main.distribution-5.6.8.tar.gz.asc release/felix/org.apache.felix.main.distribution-5.6.8.tar.gz.md5 release/felix/org.apache.felix.main.distribution-5.6.8.tar.gz.sha1 release/felix/org.apache.felix.main.distribution-5.6.8.zip (with props) release/felix/org.apache.felix.main.distribution-5.6.8.zip.asc release/felix/org.apache.felix.main.distribution-5.6.8.zip.md5 release/felix/org.apache.felix.main.distribution-5.6.8.zip.sha1 Removed: release/felix/org.apache.felix.framework-5.6.6-source-release.tar.gz release/felix/org.apache.felix.framework-5.6.6-source-release.tar.gz.asc release/felix/org.apache.felix.framework-5.6.6-source-release.tar.gz.md5 release/felix/org.apache.felix.framework-5.6.6-source-release.tar.gz.sha1
svn commit: r1806174 - /felix/trunk/osgi-r7/configurator/src/main/java/org/apache/felix/configurator/impl/json/JSONUtil.java
Author: cziegeler Date: Fri Aug 25 13:49:21 2017 New Revision: 1806174 URL: http://svn.apache.org/viewvc?rev=1806174=rev Log: Add json conversion of property values Modified: felix/trunk/osgi-r7/configurator/src/main/java/org/apache/felix/configurator/impl/json/JSONUtil.java Modified: felix/trunk/osgi-r7/configurator/src/main/java/org/apache/felix/configurator/impl/json/JSONUtil.java URL: http://svn.apache.org/viewvc/felix/trunk/osgi-r7/configurator/src/main/java/org/apache/felix/configurator/impl/json/JSONUtil.java?rev=1806174=1806173=1806174=diff == --- felix/trunk/osgi-r7/configurator/src/main/java/org/apache/felix/configurator/impl/json/JSONUtil.java (original) +++ felix/trunk/osgi-r7/configurator/src/main/java/org/apache/felix/configurator/impl/json/JSONUtil.java Fri Aug 25 13:49:21 2017 @@ -39,8 +39,10 @@ import java.util.Set; import javax.json.Json; import javax.json.JsonArray; +import javax.json.JsonArrayBuilder; import javax.json.JsonNumber; import javax.json.JsonObject; +import javax.json.JsonObjectBuilder; import javax.json.JsonReader; import javax.json.JsonString; import javax.json.JsonStructure; @@ -239,7 +241,14 @@ public class JSONUtil { try { Object convertedVal = converter.convert(pid, value, typeInfo); if ( convertedVal == null ) { -convertedVal = value.toString(); +JsonStructure json = build(value); +if ( json == null ) { +convertedVal = value.toString(); +} else { +final StringWriter writer = new StringWriter(); +Json.createWriter(writer).write(json); +convertedVal = writer.toString(); +} } properties.put(key, convertedVal); } catch ( final IOException io ) { @@ -260,6 +269,52 @@ public class JSONUtil { return configurations; } +private static JsonStructure build(final Object value) { +if ( value instanceof List ) { +@SuppressWarnings("unchecked") +final List list = (List)value; +final JsonArrayBuilder builder = Json.createArrayBuilder(); +for(final Object obj : list) { +if ( obj instanceof String ) { +builder.add(obj.toString()); +} else if ( obj instanceof Long ) { +builder.add((Long)obj); +} else if ( obj instanceof Double ) { +builder.add((Double)obj); +} else if (obj instanceof Boolean ) { +builder.add((Boolean)obj); +} else if ( obj instanceof Map ) { +builder.add(build(obj)); +} else if ( obj instanceof List ) { +builder.add(build(obj)); +} + +} +return builder.build(); +} else if ( value instanceof Map ) { +@SuppressWarnings("unchecked") +final Mapmap = (Map )value; +final JsonObjectBuilder builder = Json.createObjectBuilder(); +for(final Map.Entry entry : map.entrySet()) { +if ( entry.getValue() instanceof String ) { +builder.add(entry.getKey(), entry.getValue().toString()); +} else if ( entry.getValue() instanceof Long ) { +builder.add(entry.getKey(), (Long)entry.getValue()); +} else if ( entry.getValue() instanceof Double ) { +builder.add(entry.getKey(), (Double)entry.getValue()); +} else if ( entry.getValue() instanceof Boolean ) { +builder.add(entry.getKey(), (Boolean)entry.getValue()); +} else if ( entry.getValue() instanceof Map ) { +builder.add(entry.getKey(), build(entry.getValue())); +} else if ( entry.getValue() instanceof List ) { +builder.add(entry.getKey(), build(entry.getValue())); +} +} +return builder.build(); +} +return null; +} + /** * Parse a JSON content * @param name The name of the file
svn commit: r1806160 - in /felix/trunk/converter: persister/ persister/src/main/java/org/apache/felix/persister/impl/ persister/src/test/java/org/apache/felix/persister/impl/ schematizer/ schematizer/
Author: dleangen Date: Fri Aug 25 11:23:09 2017 New Revision: 1806160 URL: http://svn.apache.org/viewvc?rev=1806160=rev Log: Refactored serializer package Added: felix/trunk/converter/serializer/src/main/java/org/apache/felix/serializer/Deserializing.java (contents, props changed) - copied, changed from r1806159, felix/trunk/converter/serializer/src/main/java/org/osgi/service/serializer/Deserializing.java felix/trunk/converter/serializer/src/main/java/org/apache/felix/serializer/Parser.java (contents, props changed) - copied, changed from r1806159, felix/trunk/converter/serializer/src/main/java/org/osgi/service/serializer/Parser.java felix/trunk/converter/serializer/src/main/java/org/apache/felix/serializer/Serializer.java (contents, props changed) - copied, changed from r1806159, felix/trunk/converter/serializer/src/main/java/org/osgi/service/serializer/Serializer.java felix/trunk/converter/serializer/src/main/java/org/apache/felix/serializer/Serializing.java (contents, props changed) - copied, changed from r1806159, felix/trunk/converter/serializer/src/main/java/org/osgi/service/serializer/Serializing.java felix/trunk/converter/serializer/src/main/java/org/apache/felix/serializer/Writer.java (contents, props changed) - copied, changed from r1806159, felix/trunk/converter/serializer/src/main/java/org/osgi/service/serializer/Writer.java felix/trunk/converter/serializer/src/main/java/org/apache/felix/serializer/WriterFactory.java (contents, props changed) - copied, changed from r1806159, felix/trunk/converter/serializer/src/main/java/org/osgi/service/serializer/WriterFactory.java felix/trunk/converter/serializer/src/main/java/org/apache/felix/serializer/package-info.java (contents, props changed) - copied, changed from r1806159, felix/trunk/converter/serializer/src/main/java/org/osgi/service/serializer/package-info.java Removed: felix/trunk/converter/serializer/src/main/java/org/osgi/service/serializer/Deserializing.java felix/trunk/converter/serializer/src/main/java/org/osgi/service/serializer/Parser.java felix/trunk/converter/serializer/src/main/java/org/osgi/service/serializer/Serializer.java felix/trunk/converter/serializer/src/main/java/org/osgi/service/serializer/Serializing.java felix/trunk/converter/serializer/src/main/java/org/osgi/service/serializer/Writer.java felix/trunk/converter/serializer/src/main/java/org/osgi/service/serializer/WriterFactory.java felix/trunk/converter/serializer/src/main/java/org/osgi/service/serializer/package-info.java Modified: felix/trunk/converter/persister/pom.xml felix/trunk/converter/persister/src/main/java/org/apache/felix/persister/impl/Activator.java felix/trunk/converter/persister/src/main/java/org/apache/felix/persister/impl/PersisterFactoryService.java felix/trunk/converter/persister/src/main/java/org/apache/felix/persister/impl/StandardPersister.java felix/trunk/converter/persister/src/test/java/org/apache/felix/persister/impl/InMemoryPersisterTest.java felix/trunk/converter/schematizer/pom.xml felix/trunk/converter/schematizer/src/main/java/org/apache/felix/schematizer/impl/Activator.java felix/trunk/converter/serializer/pom.xml felix/trunk/converter/serializer/src/main/java/org/apache/felix/serializer/impl/Activator.java felix/trunk/converter/serializer/src/main/java/org/apache/felix/serializer/impl/json/DebugJsonWriter.java felix/trunk/converter/serializer/src/main/java/org/apache/felix/serializer/impl/json/DefaultJsonParser.java felix/trunk/converter/serializer/src/main/java/org/apache/felix/serializer/impl/json/DefaultJsonWriter.java felix/trunk/converter/serializer/src/main/java/org/apache/felix/serializer/impl/json/JsonDeserializingImpl.java felix/trunk/converter/serializer/src/main/java/org/apache/felix/serializer/impl/json/JsonSerializerImpl.java felix/trunk/converter/serializer/src/main/java/org/apache/felix/serializer/impl/json/JsonSerializingImpl.java felix/trunk/converter/serializer/src/main/java/org/apache/felix/serializer/impl/json/JsonWriterFactory.java felix/trunk/converter/serializer/src/main/java/org/apache/felix/serializer/impl/yaml/DefaultYamlParser.java felix/trunk/converter/serializer/src/main/java/org/apache/felix/serializer/impl/yaml/DefaultYamlWriter.java felix/trunk/converter/serializer/src/main/java/org/apache/felix/serializer/impl/yaml/YamlDeserializingImpl.java felix/trunk/converter/serializer/src/main/java/org/apache/felix/serializer/impl/yaml/YamlSerializerImpl.java felix/trunk/converter/serializer/src/main/java/org/apache/felix/serializer/impl/yaml/YamlSerializingImpl.java felix/trunk/converter/serializer/src/main/java/org/apache/felix/serializer/impl/yaml/YamlWriterFactory.java
svn commit: r1806158 - in /felix/trunk/converter/serializer/src: main/java/org/apache/felix/serializer/impl/json/ main/java/org/apache/felix/serializer/impl/yaml/ main/java/org/osgi/service/serializer
Author: dleangen Date: Fri Aug 25 11:22:45 2017 New Revision: 1806158 URL: http://svn.apache.org/viewvc?rev=1806158=rev Log: [FELIX-5412] Added ability to determine the order of the keys to help with readability and debugging Modified: felix/trunk/converter/serializer/src/main/java/org/apache/felix/serializer/impl/json/DebugJsonWriter.java felix/trunk/converter/serializer/src/main/java/org/apache/felix/serializer/impl/json/DefaultJsonWriter.java felix/trunk/converter/serializer/src/main/java/org/apache/felix/serializer/impl/json/JsonWriterFactory.java felix/trunk/converter/serializer/src/main/java/org/apache/felix/serializer/impl/yaml/YamlWriterFactory.java felix/trunk/converter/serializer/src/main/java/org/osgi/service/serializer/WriterFactory.java felix/trunk/converter/serializer/src/test/java/org/apache/felix/serializer/impl/json/JsonBackingObjectSerializationTest.java Modified: felix/trunk/converter/serializer/src/main/java/org/apache/felix/serializer/impl/json/DebugJsonWriter.java URL: http://svn.apache.org/viewvc/felix/trunk/converter/serializer/src/main/java/org/apache/felix/serializer/impl/json/DebugJsonWriter.java?rev=1806158=1806157=1806158=diff == --- felix/trunk/converter/serializer/src/main/java/org/apache/felix/serializer/impl/json/DebugJsonWriter.java (original) +++ felix/trunk/converter/serializer/src/main/java/org/apache/felix/serializer/impl/json/DebugJsonWriter.java Fri Aug 25 11:22:45 2017 @@ -19,6 +19,8 @@ package org.apache.felix.serializer.impl import java.lang.reflect.Array; import java.util.ArrayList; import java.util.Collection; +import java.util.Collections; +import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.Set; @@ -31,21 +33,23 @@ import org.osgi.util.converter.Converter public class DebugJsonWriter implements Writer { -private final Converter converter; +private Converter converter; +private final MaporderingRules; private final boolean ignoreNull = false; private final int indentation = 2; -public DebugJsonWriter(Converter c) { +public DebugJsonWriter(Converter c, Map rules) { converter = c; +orderingRules = rules; } @Override public String write(Object obj) { -return encode(obj, 0).trim(); +return encode(obj, "/", 0).trim(); } @SuppressWarnings("rawtypes") -private String encode(Object obj, int level) { +private String encode(Object obj, String path, int level) { if (obj == null) { return ignoreNull ? "" : "null"; } @@ -53,13 +57,14 @@ public class DebugJsonWriter implements if (obj instanceof String) { return "\"" + (String)obj + "\""; } else if (obj instanceof Map) { -return encodeMap((Map) obj, level); +return encodeMap(orderMap((Map)obj, path), path, level); } else if (obj instanceof Collection) { -return encodeCollection((Collection) obj, level); +return encodeCollection((Collection) obj, path, level); } else if (obj instanceof DTO) { -return encodeMap(converter.convert(obj).sourceAsDTO().to(Map.class), level); +Map converted = converter.convert(obj).sourceAsDTO().to(Map.class); +return encodeMap(orderMap(converted, path), path, level); } else if (obj.getClass().isArray()) { -return encodeCollection(asCollection(obj), level); +return encodeCollection(asCollection(obj), path, level); } else if (obj instanceof Number) { return obj.toString(); } else if (obj instanceof Boolean) { @@ -69,6 +74,40 @@ public class DebugJsonWriter implements return "\"" + converter.convert(obj).to(String.class) + "\""; } +@SuppressWarnings( { "unchecked", "rawtypes" } ) +private Map orderMap(Map unordered, String path) { +Map ordered = (orderingRules.containsKey(path)) ? new LinkedHashMap<>() : new TreeMap<>(); +List keys = (orderingRules.containsKey(path)) ? orderingRules.get(path) : new ArrayList<>(unordered.keySet()); +for (String key : keys) { +String itemPath = (path.endsWith("/")) ? path + key : path + "/" + key; +Object value = unordered.get(key); +if (value instanceof Map) +ordered.put(key, orderMap((Map)value, itemPath)); +else if(value instanceof Collection) +ordered.put(key, orderCollectionItems((Collection)value, itemPath)); +else +ordered.put(key, value); +} + +return ordered; +} + +@SuppressWarnings( { "unchecked", "rawtypes" } ) +private List orderCollectionItems(Collection unordered, String path) { +List ordered = new ArrayList<>(); +for (Object obj:
svn commit: r1806159 - in /felix/trunk/converter/serializer/src/main/java/org/apache/felix/serializer/impl: json/JsonSerializerImpl.java yaml/YamlSerializerImpl.java
Author: dleangen Date: Fri Aug 25 11:22:51 2017 New Revision: 1806159 URL: http://svn.apache.org/viewvc?rev=1806159=rev Log: Fixed a small oversight Modified: felix/trunk/converter/serializer/src/main/java/org/apache/felix/serializer/impl/json/JsonSerializerImpl.java felix/trunk/converter/serializer/src/main/java/org/apache/felix/serializer/impl/yaml/YamlSerializerImpl.java Modified: felix/trunk/converter/serializer/src/main/java/org/apache/felix/serializer/impl/json/JsonSerializerImpl.java URL: http://svn.apache.org/viewvc/felix/trunk/converter/serializer/src/main/java/org/apache/felix/serializer/impl/json/JsonSerializerImpl.java?rev=1806159=1806158=1806159=diff == --- felix/trunk/converter/serializer/src/main/java/org/apache/felix/serializer/impl/json/JsonSerializerImpl.java (original) +++ felix/trunk/converter/serializer/src/main/java/org/apache/felix/serializer/impl/json/JsonSerializerImpl.java Fri Aug 25 11:22:51 2017 @@ -27,7 +27,7 @@ import org.osgi.util.converter.Converter import org.osgi.util.converter.Converters; import org.osgi.util.converter.TypeReference; -public class JsonSerializerImpl implements Serializer { +public class JsonSerializerImpl implements Serializer, Serializer.JsonSerializer { private final Converter converter = Converters.standardConverter(); private final Parser parser = new DefaultJsonParser(); private final Writer writer = new DefaultJsonWriter(converter); Modified: felix/trunk/converter/serializer/src/main/java/org/apache/felix/serializer/impl/yaml/YamlSerializerImpl.java URL: http://svn.apache.org/viewvc/felix/trunk/converter/serializer/src/main/java/org/apache/felix/serializer/impl/yaml/YamlSerializerImpl.java?rev=1806159=1806158=1806159=diff == --- felix/trunk/converter/serializer/src/main/java/org/apache/felix/serializer/impl/yaml/YamlSerializerImpl.java (original) +++ felix/trunk/converter/serializer/src/main/java/org/apache/felix/serializer/impl/yaml/YamlSerializerImpl.java Fri Aug 25 11:22:51 2017 @@ -27,7 +27,7 @@ import org.osgi.util.converter.Converter import org.osgi.util.converter.Converters; import org.osgi.util.converter.TypeReference; -public class YamlSerializerImpl implements Serializer { +public class YamlSerializerImpl implements Serializer, Serializer.YamlSerializer { private final Converter converter = Converters.standardConverter(); private final Parser parser = new DefaultYamlParser(); private final Writer writer = new DefaultYamlWriter(converter);
svn commit: r1806157 - in /felix/trunk/converter: persister/src/main/java/org/apache/felix/persister/impl/ schematizer/src/test/java/org/apache/felix/serializer/impl/json/ serializer/src/main/java/org
Author: dleangen Date: Fri Aug 25 11:22:37 2017 New Revision: 1806157 URL: http://svn.apache.org/viewvc?rev=1806157=rev Log: [FELIX-5412] Pretty format not implemented in JSON serializer Added: felix/trunk/converter/serializer/src/main/java/org/apache/felix/serializer/impl/json/DebugJsonWriter.java - copied, changed from r1806124, felix/trunk/converter/serializer/src/main/java/org/apache/felix/serializer/impl/yaml/YamlSerializingImpl.java felix/trunk/converter/serializer/src/main/java/org/apache/felix/serializer/impl/json/DefaultJsonParser.java - copied, changed from r1806124, felix/trunk/converter/serializer/src/main/java/org/apache/felix/serializer/impl/json/DefaultParser.java felix/trunk/converter/serializer/src/main/java/org/apache/felix/serializer/impl/json/DefaultJsonWriter.java - copied, changed from r1806124, felix/trunk/converter/serializer/src/main/java/org/apache/felix/serializer/impl/json/JsonSerializingImpl.java felix/trunk/converter/serializer/src/main/java/org/apache/felix/serializer/impl/json/JsonWriterFactory.java (contents, props changed) - copied, changed from r1806124, felix/trunk/converter/serializer/src/main/java/org/apache/felix/serializer/impl/json/DefaultParser.java felix/trunk/converter/serializer/src/main/java/org/apache/felix/serializer/impl/yaml/DefaultYamlParser.java - copied, changed from r1806124, felix/trunk/converter/serializer/src/main/java/org/apache/felix/serializer/impl/yaml/DefaultParser.java felix/trunk/converter/serializer/src/main/java/org/apache/felix/serializer/impl/yaml/DefaultYamlWriter.java - copied, changed from r1806124, felix/trunk/converter/serializer/src/main/java/org/apache/felix/serializer/impl/yaml/YamlSerializingImpl.java felix/trunk/converter/serializer/src/main/java/org/apache/felix/serializer/impl/yaml/YamlWriterFactory.java (contents, props changed) - copied, changed from r1806124, felix/trunk/converter/serializer/src/main/java/org/apache/felix/serializer/impl/yaml/DefaultParser.java felix/trunk/converter/serializer/src/main/java/org/osgi/service/serializer/Writer.java (with props) felix/trunk/converter/serializer/src/main/java/org/osgi/service/serializer/WriterFactory.java (with props) Removed: felix/trunk/converter/serializer/src/main/java/org/apache/felix/serializer/impl/json/DefaultParser.java felix/trunk/converter/serializer/src/main/java/org/apache/felix/serializer/impl/yaml/DefaultParser.java Modified: felix/trunk/converter/persister/src/main/java/org/apache/felix/persister/impl/StandardPersister.java felix/trunk/converter/schematizer/src/test/java/org/apache/felix/serializer/impl/json/JsonDeserializationTest.java felix/trunk/converter/serializer/src/main/java/org/apache/felix/serializer/impl/Activator.java felix/trunk/converter/serializer/src/main/java/org/apache/felix/serializer/impl/json/JsonDeserializingImpl.java felix/trunk/converter/serializer/src/main/java/org/apache/felix/serializer/impl/json/JsonSerializerImpl.java felix/trunk/converter/serializer/src/main/java/org/apache/felix/serializer/impl/json/JsonSerializingImpl.java felix/trunk/converter/serializer/src/main/java/org/apache/felix/serializer/impl/yaml/YamlDeserializingImpl.java felix/trunk/converter/serializer/src/main/java/org/apache/felix/serializer/impl/yaml/YamlSerializerImpl.java felix/trunk/converter/serializer/src/main/java/org/apache/felix/serializer/impl/yaml/YamlSerializingImpl.java felix/trunk/converter/serializer/src/main/java/org/osgi/service/serializer/Deserializing.java felix/trunk/converter/serializer/src/main/java/org/osgi/service/serializer/Serializer.java felix/trunk/converter/serializer/src/main/java/org/osgi/service/serializer/Serializing.java felix/trunk/converter/serializer/src/test/java/org/apache/felix/serializer/impl/json/JsonBackingObjectSerializationTest.java felix/trunk/converter/serializer/src/test/java/org/apache/felix/serializer/impl/json/JsonParserTest.java felix/trunk/converter/serializer/src/test/java/org/apache/felix/serializer/impl/json/JsonSerializerTest.java felix/trunk/converter/serializer/src/test/java/org/apache/felix/serializer/impl/yaml/YamlSerializerTest.java Modified: felix/trunk/converter/persister/src/main/java/org/apache/felix/persister/impl/StandardPersister.java URL: http://svn.apache.org/viewvc/felix/trunk/converter/persister/src/main/java/org/apache/felix/persister/impl/StandardPersister.java?rev=1806157=1806156=1806157=diff == --- felix/trunk/converter/persister/src/main/java/org/apache/felix/persister/impl/StandardPersister.java (original) +++ felix/trunk/converter/persister/src/main/java/org/apache/felix/persister/impl/StandardPersister.java Fri Aug 25 11:22:37 2017 @@ -40,7 +40,7 @@ public class StandardPersister implem @Override