You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by pa...@apache.org on 2017/05/23 23:14:17 UTC
svn commit: r1795978 - in /sling/trunk/bundles/jcr/contentloader: pom.xml
src/main/java/org/apache/sling/jcr/contentloader/internal/readers/JsonReader.java
Author: pauls
Date: Tue May 23 23:14:17 2017
New Revision: 1795978
URL: http://svn.apache.org/viewvc?rev=1795978&view=rev
Log:
SLING-6876: Use JsonTicksConverter inlined from JCR Content Parser to improve tick handling.
Modified:
sling/trunk/bundles/jcr/contentloader/pom.xml
sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/readers/JsonReader.java
Modified: sling/trunk/bundles/jcr/contentloader/pom.xml
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/contentloader/pom.xml?rev=1795978&r1=1795977&r2=1795978&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/contentloader/pom.xml (original)
+++ sling/trunk/bundles/jcr/contentloader/pom.xml Tue May 23 23:14:17 2017
@@ -76,7 +76,8 @@
org.xmlpull.v1
</Private-Package>
<Embed-Dependency>
- kxml2
+ kxml2,
+ org.apache.sling.jcr.contentparser;inline="org/apache/sling/jcr/contentparser/impl/JsonTicksConverter.class"
</Embed-Dependency>
</instructions>
</configuration>
@@ -181,6 +182,18 @@
<scope>provided</scope>
</dependency>
<dependency>
+ <groupId>org.apache.sling</groupId>
+ <artifactId>org.apache.sling.jcr.contentparser</artifactId>
+ <version>1.1.1-SNAPSHOT</version>
+ <scope>provided</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>*</groupId>
+ <artifactId>*</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
<!-- for security content loader (users/groups/acls) -->
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.jcr.base</artifactId>
Modified: sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/readers/JsonReader.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/readers/JsonReader.java?rev=1795978&r1=1795977&r2=1795978&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/readers/JsonReader.java (original)
+++ sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/readers/JsonReader.java Tue May 23 23:14:17 2017
@@ -46,6 +46,7 @@ import org.apache.felix.scr.annotations.
import org.apache.felix.scr.annotations.Service;
import org.apache.sling.jcr.contentloader.ContentCreator;
import org.apache.sling.jcr.contentloader.ContentReader;
+import static org.apache.sling.jcr.contentparser.impl.JsonTicksConverter.tickToDoubleQuote;
/**
* The <code>JsonReader</code> Parses a Json document on content load and creates the
@@ -466,39 +467,4 @@ public class JsonReader implements Conte
//do the work.
contentCreator.createAce(principalID, grantedPrivileges, deniedPrivileges, order);
}
-
- private static String tickToDoubleQuote(String input) {
- char[] output = new char[input.length()];
- boolean quoted = false;
- boolean escaped = false;
- for (int i = 0; i < output.length;i++) {
- char in = input.charAt(i);
- if (!quoted)
- {
- if (in == '\'') {
- in = '"';
- }
- else if (in == '"') {
- quoted = true;
- }
- }
- else {
- if (!escaped) {
- if (in == '"') {
- quoted = false;
- }
- else if (in == '\\') {
- escaped = true;
- }
- }
- else
- {
- escaped = false;
- }
- }
- output[i] = in;
- }
- return new String(output);
- }
-
}