SLING-8610 sling-mock: Update to Content Parser 2.0.0
diff --git a/core/pom.xml b/core/pom.xml
index 57359b3..4fbc48c 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -134,8 +134,14 @@
</dependency>
<dependency>
<groupId>org.apache.sling</groupId>
- <artifactId>org.apache.sling.jcr.contentparser</artifactId>
- <version>1.2.6</version>
+ <artifactId>org.apache.sling.contentparser.api</artifactId>
+ <version>2.0.0</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.sling</groupId>
+ <artifactId>org.apache.sling.contentparser.json</artifactId>
+ <version>2.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
diff --git a/core/src/main/java/org/apache/sling/testing/mock/sling/loader/ContentLoader.java b/core/src/main/java/org/apache/sling/testing/mock/sling/loader/ContentLoader.java
index 856a0a5..8f4c403 100644
--- a/core/src/main/java/org/apache/sling/testing/mock/sling/loader/ContentLoader.java
+++ b/core/src/main/java/org/apache/sling/testing/mock/sling/loader/ContentLoader.java
@@ -32,12 +32,11 @@
import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.api.resource.ResourceUtil;
import org.apache.sling.commons.mime.MimeTypeService;
-import org.apache.sling.jcr.contentparser.ContentParser;
-import org.apache.sling.jcr.contentparser.ContentParserFactory;
-import org.apache.sling.jcr.contentparser.ContentType;
-import org.apache.sling.jcr.contentparser.JsonParserFeature;
-import org.apache.sling.jcr.contentparser.ParseException;
-import org.apache.sling.jcr.contentparser.ParserOptions;
+import org.apache.sling.contentparser.api.ContentParser;
+import org.apache.sling.contentparser.api.ParserOptions;
+import org.apache.sling.contentparser.json.JSONParserFeature;
+import org.apache.sling.contentparser.json.JSONParserOptions;
+import org.apache.sling.contentparser.json.internal.JSONContentParser;
import org.apache.sling.testing.mock.sling.ResourceResolverType;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -84,6 +83,7 @@
private final boolean autoCommit;
private final Set<String> ignoredNames;
private final ContentParser jsonParser;
+ private final ParserOptions jsonParserOptions;
/**
* @param resourceResolver Resource resolver
@@ -121,11 +121,13 @@
this.bundleContext = bundleContext;
this.autoCommit = autoCommit;
this.ignoredNames = getIgnoredNamesForResourceResolverType(resourceResolverType);
- this.jsonParser = ContentParserFactory.create(ContentType.JSON, new ParserOptions()
- .detectCalendarValues(true)
- .ignorePropertyNames(this.ignoredNames)
- .ignoreResourceNames(this.ignoredNames)
- .jsonParserFeatures(EnumSet.of(JsonParserFeature.COMMENTS, JsonParserFeature.QUOTE_TICK)));
+ this.jsonParserOptions = new JSONParserOptions()
+ .withFeatures(EnumSet.of(JSONParserFeature.COMMENTS, JSONParserFeature.QUOTE_TICK))
+ .detectCalendarValues(true)
+ .ignorePropertyNames(this.ignoredNames)
+ .ignoreResourceNames(this.ignoredNames);
+ // JSONContentParser is an OSGi service - for sake of simplicity in this mock environment instantiate it directly
+ this.jsonParser = new JSONContentParser();
}
private final Set<String> getIgnoredNamesForResourceResolverType(ResourceResolverType resourceResolverType) {
@@ -220,13 +222,11 @@
}
LoaderContentHandler contentHandler = new LoaderContentHandler(destPath, resourceResolver);
- jsonParser.parse(contentHandler, inputStream);
+ jsonParser.parse(contentHandler, inputStream, jsonParserOptions);
if (autoCommit) {
resourceResolver.commit();
}
return resourceResolver.getResource(destPath);
- } catch (ParseException ex) {
- throw new RuntimeException(ex);
} catch (IOException ex) {
throw new RuntimeException(ex);
}
diff --git a/core/src/main/java/org/apache/sling/testing/mock/sling/loader/LoaderContentHandler.java b/core/src/main/java/org/apache/sling/testing/mock/sling/loader/LoaderContentHandler.java
index 3b44805..4c7c7d4 100644
--- a/core/src/main/java/org/apache/sling/testing/mock/sling/loader/LoaderContentHandler.java
+++ b/core/src/main/java/org/apache/sling/testing/mock/sling/loader/LoaderContentHandler.java
@@ -30,7 +30,7 @@
import org.apache.sling.api.resource.Resource;
import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.api.resource.ResourceUtil;
-import org.apache.sling.jcr.contentparser.ContentHandler;
+import org.apache.sling.contentparser.api.ContentHandler;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;