You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ro...@apache.org on 2017/10/20 14:41:01 UTC
[sling-org-apache-sling-jcr-contentparser] 02/38: SLING-6592 remove
parse(File) method from API
This is an automated email from the ASF dual-hosted git repository.
rombert pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-jcr-contentparser.git
commit 3f0bcb340a830b319806096b5348b6946d7a4e1a
Author: Stefan Seifert <ss...@apache.org>
AuthorDate: Tue Mar 14 10:57:31 2017 +0000
SLING-6592 remove parse(File) method from API
git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1786876 13f79535-47bb-0310-9956-ffa450edef68
---
.../apache/sling/jcr/contentparser/ContentParser.java | 10 ----------
.../jcr/contentparser/impl/JcrXmlContentParser.java | 9 ---------
.../sling/jcr/contentparser/impl/JsonContentParser.java | 9 ---------
.../jcr/contentparser/impl/JcrXmlContentParserTest.java | 11 ++++++-----
.../jcr/contentparser/impl/JsonContentParserTest.java | 17 +++++++++--------
.../apache/sling/jcr/contentparser/impl/TestUtils.java | 12 ++++++++++++
6 files changed, 27 insertions(+), 41 deletions(-)
diff --git a/src/main/java/org/apache/sling/jcr/contentparser/ContentParser.java b/src/main/java/org/apache/sling/jcr/contentparser/ContentParser.java
index cb6d013..1d9595a 100644
--- a/src/main/java/org/apache/sling/jcr/contentparser/ContentParser.java
+++ b/src/main/java/org/apache/sling/jcr/contentparser/ContentParser.java
@@ -18,7 +18,6 @@
*/
package org.apache.sling.jcr.contentparser;
-import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.util.Map;
@@ -30,15 +29,6 @@ import java.util.Map;
public interface ContentParser {
/**
- * Parse content file.
- * @param file File
- * @return Content
- * @throws IOException When I/O error occurs.
- * @throws ParseException When parsing error occurs.
- */
- Map<String,Object> parse(File file) throws IOException, ParseException;
-
- /**
* Parse content.
* @param is Stream with serialized content
* @return Content as Map
diff --git a/src/main/java/org/apache/sling/jcr/contentparser/impl/JcrXmlContentParser.java b/src/main/java/org/apache/sling/jcr/contentparser/impl/JcrXmlContentParser.java
index dde8c16..2af30e7 100644
--- a/src/main/java/org/apache/sling/jcr/contentparser/impl/JcrXmlContentParser.java
+++ b/src/main/java/org/apache/sling/jcr/contentparser/impl/JcrXmlContentParser.java
@@ -18,8 +18,6 @@
*/
package org.apache.sling.jcr.contentparser.impl;
-import java.io.File;
-import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;
@@ -56,13 +54,6 @@ public final class JcrXmlContentParser implements ContentParser {
}
@Override
- public Map<String,Object> parse(File file) throws IOException, ParseException {
- try (FileInputStream fis = new FileInputStream(file)) {
- return parse(fis);
- }
- }
-
- @Override
public Map<String,Object> parse(InputStream is) throws IOException, ParseException {
try {
XmlHandler xmlHandler = new XmlHandler();
diff --git a/src/main/java/org/apache/sling/jcr/contentparser/impl/JsonContentParser.java b/src/main/java/org/apache/sling/jcr/contentparser/impl/JsonContentParser.java
index b070701..a17e91e 100644
--- a/src/main/java/org/apache/sling/jcr/contentparser/impl/JsonContentParser.java
+++ b/src/main/java/org/apache/sling/jcr/contentparser/impl/JsonContentParser.java
@@ -18,8 +18,6 @@
*/
package org.apache.sling.jcr.contentparser.impl;
-import java.io.File;
-import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Calendar;
@@ -59,13 +57,6 @@ public final class JsonContentParser implements ContentParser {
}
@Override
- public Map<String,Object> parse(File file) throws IOException, ParseException {
- try (FileInputStream fis = new FileInputStream(file)) {
- return parse(fis);
- }
- }
-
- @Override
public Map<String,Object> parse(InputStream is) throws IOException, ParseException {
try (JsonReader reader = jsonReaderFactory.createReader(is)) {
return toMap(reader.readObject());
diff --git a/src/test/java/org/apache/sling/jcr/contentparser/impl/JcrXmlContentParserTest.java b/src/test/java/org/apache/sling/jcr/contentparser/impl/JcrXmlContentParserTest.java
index d99a025..1faaf4e 100644
--- a/src/test/java/org/apache/sling/jcr/contentparser/impl/JcrXmlContentParserTest.java
+++ b/src/test/java/org/apache/sling/jcr/contentparser/impl/JcrXmlContentParserTest.java
@@ -19,6 +19,7 @@
package org.apache.sling.jcr.contentparser.impl;
import static org.apache.sling.jcr.contentparser.impl.TestUtils.getDeep;
+import static org.apache.sling.jcr.contentparser.impl.TestUtils.parse;
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
@@ -55,7 +56,7 @@ public class JcrXmlContentParserTest {
@Test
public void testParseJcrXml() throws Exception {
ContentParser underTest = ContentParserFactory.create(ContentType.JCR_XML);
- Map<String,Object> content = underTest.parse(file);
+ Map<String,Object> content = parse(underTest, file);
assertNotNull(content);
assertEquals("app:Page", content.get("jcr:primaryType"));
assertEquals("app:PageContent", ((Map<String,Object>)content.get("jcr:content")).get("jcr:primaryType"));
@@ -65,13 +66,13 @@ public class JcrXmlContentParserTest {
public void testParseInvalidJcrXml() throws Exception {
file = new File("src/test/resources/invalid-test/invalid.jcr.xml");
ContentParser underTest = ContentParserFactory.create(ContentType.JCR_XML);
- underTest.parse(file);
+ parse(underTest, file);
}
@Test
public void testDataTypes() throws Exception {
ContentParser underTest = ContentParserFactory.create(ContentType.JCR_XML);
- Map<String,Object> content = underTest.parse(file);
+ Map<String,Object> content = parse(underTest, file);
Map<String,Object> props = getDeep(content, "jcr:content");
assertEquals("en", props.get("jcr:title"));
@@ -104,7 +105,7 @@ public class JcrXmlContentParserTest {
ContentParser underTest = ContentParserFactory.create(ContentType.JCR_XML, new ParserOptions()
.ignoreResourceNames(ImmutableSet.of("teaserbar", "aside"))
.ignorePropertyNames(ImmutableSet.of("longProp", "jcr:title")));
- Map<String,Object> content = underTest.parse(file);
+ Map<String,Object> content = parse(underTest, file);
Map<String,Object> props = getDeep(content, "jcr:content");
assertEquals("HOME", props.get("navTitle"));
@@ -120,7 +121,7 @@ public class JcrXmlContentParserTest {
@Ignore
public void testSameNamePropertyAndSubResource() throws Exception {
ContentParser underTest = ContentParserFactory.create(ContentType.JCR_XML);
- Map<String,Object> content = underTest.parse(file);
+ Map<String,Object> content = parse(underTest, file);
Map<String,Object> props = getDeep(content, "jcr:content/teaserbar");
// teaserbaritem is a direct property as well as a sub resource
assertEquals("test", props.get("teaserbaritem"));
diff --git a/src/test/java/org/apache/sling/jcr/contentparser/impl/JsonContentParserTest.java b/src/test/java/org/apache/sling/jcr/contentparser/impl/JsonContentParserTest.java
index a98757a..3aa9531 100644
--- a/src/test/java/org/apache/sling/jcr/contentparser/impl/JsonContentParserTest.java
+++ b/src/test/java/org/apache/sling/jcr/contentparser/impl/JsonContentParserTest.java
@@ -19,6 +19,7 @@
package org.apache.sling.jcr.contentparser.impl;
import static org.apache.sling.jcr.contentparser.impl.TestUtils.getDeep;
+import static org.apache.sling.jcr.contentparser.impl.TestUtils.parse;
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
@@ -52,7 +53,7 @@ public class JsonContentParserTest {
@Test
public void testPageJcrPrimaryType() throws Exception {
ContentParser underTest = ContentParserFactory.create(ContentType.JSON);
- Map<String, Object> content = underTest.parse(file);
+ Map<String, Object> content = parse(underTest, file);
assertEquals("app:Page", content.get("jcr:primaryType"));
}
@@ -60,7 +61,7 @@ public class JsonContentParserTest {
@Test
public void testDataTypes() throws Exception {
ContentParser underTest = ContentParserFactory.create(ContentType.JSON);
- Map<String, Object> content = underTest.parse(file);
+ Map<String, Object> content = parse(underTest, file);
Map<String, Object> props = getDeep(content, "toolbar/profiles/jcr:content");
assertEquals(true, props.get("hideInNav"));
@@ -77,7 +78,7 @@ public class JsonContentParserTest {
@Test
public void testContentProperties() throws Exception {
ContentParser underTest = ContentParserFactory.create(ContentType.JSON);
- Map<String, Object> content = underTest.parse(file);
+ Map<String, Object> content = parse(underTest, file);
Map<String, Object> props = getDeep(content, "jcr:content/header");
assertEquals("/content/dam/sample/header.png", props.get("imageReference"));
@@ -87,7 +88,7 @@ public class JsonContentParserTest {
public void testCalendar() throws Exception {
ContentParser underTest = ContentParserFactory.create(ContentType.JSON,
new ParserOptions().detectCalendarValues(true));
- Map<String, Object> content = underTest.parse(file);
+ Map<String, Object> content = parse(underTest, file);
Map<String, Object> props = getDeep(content, "jcr:content");
@@ -108,7 +109,7 @@ public class JsonContentParserTest {
@Test
public void testUTF8Chars() throws Exception {
ContentParser underTest = ContentParserFactory.create(ContentType.JSON);
- Map<String, Object> content = underTest.parse(file);
+ Map<String, Object> content = parse(underTest, file);
Map<String, Object> props = getDeep(content, "jcr:content");
@@ -119,7 +120,7 @@ public class JsonContentParserTest {
public void testParseInvalidJson() throws Exception {
file = new File("src/test/resources/invalid-test/invalid.json");
ContentParser underTest = ContentParserFactory.create(ContentType.JSON);
- Map<String, Object> content = underTest.parse(file);
+ Map<String, Object> content = parse(underTest, file);
assertNull(content);
}
@@ -127,7 +128,7 @@ public class JsonContentParserTest {
public void testParseInvalidJsonWithObjectList() throws Exception {
file = new File("src/test/resources/invalid-test/contentWithObjectList.json");
ContentParser underTest = ContentParserFactory.create(ContentType.JSON);
- Map<String, Object> content = underTest.parse(file);
+ Map<String, Object> content = parse(underTest, file);
assertNull(content);
}
@@ -136,7 +137,7 @@ public class JsonContentParserTest {
ContentParser underTest = ContentParserFactory.create(ContentType.JSON,
new ParserOptions().ignoreResourceNames(ImmutableSet.of("header", "newslist"))
.ignorePropertyNames(ImmutableSet.of("jcr:title")));
- Map<String, Object> content = underTest.parse(file);
+ Map<String, Object> content = parse(underTest, file);
Map<String, Object> props = getDeep(content, "jcr:content");
assertEquals("Sample Homepage", props.get("pageTitle"));
diff --git a/src/test/java/org/apache/sling/jcr/contentparser/impl/TestUtils.java b/src/test/java/org/apache/sling/jcr/contentparser/impl/TestUtils.java
index bd3bb10..f91c5ee 100644
--- a/src/test/java/org/apache/sling/jcr/contentparser/impl/TestUtils.java
+++ b/src/test/java/org/apache/sling/jcr/contentparser/impl/TestUtils.java
@@ -18,9 +18,14 @@
*/
package org.apache.sling.jcr.contentparser.impl;
+import java.io.BufferedInputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
import java.util.Map;
import org.apache.commons.lang3.StringUtils;
+import org.apache.sling.jcr.contentparser.ContentParser;
public final class TestUtils {
@@ -45,4 +50,11 @@ public final class TestUtils {
}
}
+ public static Map<String,Object> parse(ContentParser contentParser, File file) throws IOException {
+ try (FileInputStream fis = new FileInputStream(file);
+ BufferedInputStream bis = new BufferedInputStream(fis)) {
+ return contentParser.parse(bis);
+ }
+ }
+
}
--
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.