svn commit: r1017299 - /websites/production/felix/content/

2017-08-25 Thread pauls
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

2017-08-25 Thread pauls
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

2017-08-25 Thread buildbot
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/

2017-08-25 Thread pauls
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

2017-08-25 Thread cziegeler
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 Map map = (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/

2017-08-25 Thread dleangen
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

2017-08-25 Thread dleangen
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 Map orderingRules;
 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

2017-08-25 Thread dleangen
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

2017-08-25 Thread dleangen
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