Rename parser methods

source -> from
target -> into


Project: http://git-wip-us.apache.org/repos/asf/commons-rdf/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-rdf/commit/577614d0
Tree: http://git-wip-us.apache.org/repos/asf/commons-rdf/tree/577614d0
Diff: http://git-wip-us.apache.org/repos/asf/commons-rdf/diff/577614d0

Branch: refs/heads/fluent-parser
Commit: 577614d0c1ac5330f109de9ad8231077a66cc316
Parents: 921965d
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Wed Feb 14 18:40:58 2018 +0000
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Wed Feb 14 19:00:43 2018 +0000

----------------------------------------------------------------------
 .../org/apache/commons/rdf/api/io/Parsed.java   |  4 +-
 .../apache/commons/rdf/api/io/ParserSource.java |  2 +-
 .../apache/commons/rdf/api/io/ParserTarget.java |  2 +-
 .../rdf/rdf4j/experimental/RDF4JParserTest.java |  2 +-
 .../commons/rdf/simple/io/DatasetTarget.java    |  2 +-
 .../commons/rdf/simple/io/GraphTarget.java      |  2 +-
 .../apache/commons/rdf/simple/io/IRISource.java |  2 +-
 .../rdf/simple/io/ImplicitDatasetTarget.java    |  4 +-
 .../rdf/simple/io/InputStreamSource.java        |  2 +-
 .../apache/commons/rdf/simple/io/ParseJob.java  | 24 +++---
 .../commons/rdf/simple/io/ParsedImpl.java       |  4 +-
 .../commons/rdf/simple/io/ParserBuilder.java    | 13 +--
 .../rdf/simple/io/ParserFactoryImpl.java        | 85 +++++++++++++++++---
 .../commons/rdf/simple/io/PathSource.java       |  2 +-
 .../rdf/simple/io/ParserFactoryTest.java        | 63 ++++++++++++---
 15 files changed, 155 insertions(+), 58 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/577614d0/api/src/main/java/org/apache/commons/rdf/api/io/Parsed.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/commons/rdf/api/io/Parsed.java 
b/api/src/main/java/org/apache/commons/rdf/api/io/Parsed.java
index 753eda1..b252e44 100644
--- a/api/src/main/java/org/apache/commons/rdf/api/io/Parsed.java
+++ b/api/src/main/java/org/apache/commons/rdf/api/io/Parsed.java
@@ -20,7 +20,7 @@ package org.apache.commons.rdf.api.io;
 public interface Parsed<T, S> {
     long count();
 
-    ParserSource<S> source();
+    ParserSource<S> from();
 
-    ParserTarget<T> target();
+    ParserTarget<T> into();
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/577614d0/api/src/main/java/org/apache/commons/rdf/api/io/ParserSource.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/commons/rdf/api/io/ParserSource.java 
b/api/src/main/java/org/apache/commons/rdf/api/io/ParserSource.java
index 7aa5dee..259688e 100644
--- a/api/src/main/java/org/apache/commons/rdf/api/io/ParserSource.java
+++ b/api/src/main/java/org/apache/commons/rdf/api/io/ParserSource.java
@@ -27,7 +27,7 @@ import org.apache.commons.rdf.api.IRI;
  *
  */
 public interface ParserSource<S> {
-    S source();   
+    S src();   
     InputStream inputStream() throws IOException;
     Optional<IRI> iri();
 }

http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/577614d0/api/src/main/java/org/apache/commons/rdf/api/io/ParserTarget.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/commons/rdf/api/io/ParserTarget.java 
b/api/src/main/java/org/apache/commons/rdf/api/io/ParserTarget.java
index a2ef4aa..8898643 100644
--- a/api/src/main/java/org/apache/commons/rdf/api/io/ParserTarget.java
+++ b/api/src/main/java/org/apache/commons/rdf/api/io/ParserTarget.java
@@ -26,7 +26,7 @@ import org.apache.commons.rdf.api.Quad;
  */
 @FunctionalInterface
 public interface ParserTarget<T> extends Consumer<Quad> {
-    default T target() {
+    default T dest() {
         return null;// unknown
     }
 }

http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/577614d0/rdf4j/src/test/java/org/apache/commons/rdf/rdf4j/experimental/RDF4JParserTest.java
----------------------------------------------------------------------
diff --git 
a/rdf4j/src/test/java/org/apache/commons/rdf/rdf4j/experimental/RDF4JParserTest.java
 
b/rdf4j/src/test/java/org/apache/commons/rdf/rdf4j/experimental/RDF4JParserTest.java
index 4a0200f..106d2c3 100644
--- 
a/rdf4j/src/test/java/org/apache/commons/rdf/rdf4j/experimental/RDF4JParserTest.java
+++ 
b/rdf4j/src/test/java/org/apache/commons/rdf/rdf4j/experimental/RDF4JParserTest.java
@@ -46,7 +46,7 @@ public class RDF4JParserTest {
         IRI exampleLicense = rdf.createIRI("http://example.com/LICENSE";);
 
         Dataset ds = new 
RDF4JParserFactory().syntax(RDFSyntax.JSONLD).rdf(rdf).base(base)
-                
.source(getClass().getResourceAsStream("/example-rdf/example.jsonld")).parse().target().target();
+                
.source(getClass().getResourceAsStream("/example-rdf/example.jsonld")).parse().dest().dest();
 
         // default graph
         try (Stream<? extends Quad> s = ds.stream()) {

http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/577614d0/simple/src/main/java/org/apache/commons/rdf/simple/io/DatasetTarget.java
----------------------------------------------------------------------
diff --git 
a/simple/src/main/java/org/apache/commons/rdf/simple/io/DatasetTarget.java 
b/simple/src/main/java/org/apache/commons/rdf/simple/io/DatasetTarget.java
index e8535d7..8be990d 100644
--- a/simple/src/main/java/org/apache/commons/rdf/simple/io/DatasetTarget.java
+++ b/simple/src/main/java/org/apache/commons/rdf/simple/io/DatasetTarget.java
@@ -18,7 +18,7 @@ public class DatasetTarget implements ParserTarget<Dataset> {
     }
     
     @Override
-    public Dataset target() {
+    public Dataset dest() {
         return dataset;
     }
 

http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/577614d0/simple/src/main/java/org/apache/commons/rdf/simple/io/GraphTarget.java
----------------------------------------------------------------------
diff --git 
a/simple/src/main/java/org/apache/commons/rdf/simple/io/GraphTarget.java 
b/simple/src/main/java/org/apache/commons/rdf/simple/io/GraphTarget.java
index 458c169..4be3586 100644
--- a/simple/src/main/java/org/apache/commons/rdf/simple/io/GraphTarget.java
+++ b/simple/src/main/java/org/apache/commons/rdf/simple/io/GraphTarget.java
@@ -20,7 +20,7 @@ public class GraphTarget implements ParserTarget<Graph> {
     }
     
     @Override
-    public Graph target() {
+    public Graph dest() {
         return graph;
     }
 

http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/577614d0/simple/src/main/java/org/apache/commons/rdf/simple/io/IRISource.java
----------------------------------------------------------------------
diff --git 
a/simple/src/main/java/org/apache/commons/rdf/simple/io/IRISource.java 
b/simple/src/main/java/org/apache/commons/rdf/simple/io/IRISource.java
index 9b251b0..1d63583 100644
--- a/simple/src/main/java/org/apache/commons/rdf/simple/io/IRISource.java
+++ b/simple/src/main/java/org/apache/commons/rdf/simple/io/IRISource.java
@@ -18,7 +18,7 @@ public final class IRISource implements ParserSource<IRI> {
     }
 
     @Override
-    public IRI source() {
+    public IRI src() {
         return source;
     }
 

http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/577614d0/simple/src/main/java/org/apache/commons/rdf/simple/io/ImplicitDatasetTarget.java
----------------------------------------------------------------------
diff --git 
a/simple/src/main/java/org/apache/commons/rdf/simple/io/ImplicitDatasetTarget.java
 
b/simple/src/main/java/org/apache/commons/rdf/simple/io/ImplicitDatasetTarget.java
index 00be95e..35c6cf7 100644
--- 
a/simple/src/main/java/org/apache/commons/rdf/simple/io/ImplicitDatasetTarget.java
+++ 
b/simple/src/main/java/org/apache/commons/rdf/simple/io/ImplicitDatasetTarget.java
@@ -16,7 +16,7 @@ public class ImplicitDatasetTarget implements 
ParserTarget<Dataset> {
     }
     
     @Override
-    public Dataset target() {
+    public Dataset dest() {
         if (target == null) {
             synchronized (this) {
                 // Make sure we only make it once
@@ -30,6 +30,6 @@ public class ImplicitDatasetTarget implements 
ParserTarget<Dataset> {
 
     @Override
     public void accept(Quad t) {
-        target().add(t);        
+        dest().add(t);        
     }
 }

http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/577614d0/simple/src/main/java/org/apache/commons/rdf/simple/io/InputStreamSource.java
----------------------------------------------------------------------
diff --git 
a/simple/src/main/java/org/apache/commons/rdf/simple/io/InputStreamSource.java 
b/simple/src/main/java/org/apache/commons/rdf/simple/io/InputStreamSource.java
index 2682176..8fc0dd8 100644
--- 
a/simple/src/main/java/org/apache/commons/rdf/simple/io/InputStreamSource.java
+++ 
b/simple/src/main/java/org/apache/commons/rdf/simple/io/InputStreamSource.java
@@ -15,7 +15,7 @@ public class InputStreamSource implements 
ParserSource<InputStream> {
     }
 
     @Override
-    public InputStream source() {
+    public InputStream src() {
         return source;
     }
     

http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/577614d0/simple/src/main/java/org/apache/commons/rdf/simple/io/ParseJob.java
----------------------------------------------------------------------
diff --git 
a/simple/src/main/java/org/apache/commons/rdf/simple/io/ParseJob.java 
b/simple/src/main/java/org/apache/commons/rdf/simple/io/ParseJob.java
index eab29c9..79442c9 100644
--- a/simple/src/main/java/org/apache/commons/rdf/simple/io/ParseJob.java
+++ b/simple/src/main/java/org/apache/commons/rdf/simple/io/ParseJob.java
@@ -52,7 +52,7 @@ final class MutableParseJob implements ParseJob, Cloneable {
         return Objects.requireNonNull(impl);
     }
     public ImmutableParseJob freeze() {
-        return new FrozenParseJob(this);
+        return new FrozenParseJob(impl, source, syntax, target, rdf, options);
     }
     @Override
     public RDF rdf() {
@@ -182,18 +182,16 @@ final class FrozenParseJob extends ImmutableParseJobImpl 
implements ImmutablePar
     private final RDF rdf;
     private final Map<Option, Object> options;
 
-    public FrozenParseJob(ParseJob parseJob) {
-        this(parseJob.impl(), parseJob.source(), 
parseJob.syntax().orElse(null), 
-               parseJob.target(), parseJob.rdf(), parseJob.optionsAsMap());
-    }
-    public FrozenParseJob(ParserImplementation impl, ParserSource source, 
RDFSyntax syntax, ParserTarget target, RDF rdf,
-            Map<Option, Object> options) {
+    public FrozenParseJob(ParserImplementation impl, ParserSource source, 
RDFSyntax syntax, 
+                             ParserTarget target, RDF rdf, Map<Option, Object> 
options) {
         this.impl = Objects.requireNonNull(impl);
-        this.source =  Objects.requireNonNull(source);
+        // null -> Optional.empty() 
         this.syntax = Optional.ofNullable(syntax);
-        this.target = Objects.requireNonNull(target);
-        this.rdf = Objects.requireNonNull(rdf);
-        // shallow copy of options
+        // fields may be null (not yet set)
+        this.source =  source;
+        this.target = target;
+        this.rdf = rdf;
+        // shallow copy of options (can't be null)
         this.options = Collections.unmodifiableMap(new 
LinkedHashMap<>(options));
     }
     @Override
@@ -206,11 +204,11 @@ final class FrozenParseJob extends ImmutableParseJobImpl 
implements ImmutablePar
     }
     @Override
     public ParserSource source() {
-        return source;
+        return Objects.requireNonNull(source, "source not set");
     }
     @Override
     public ParserTarget target() {
-        return target;
+        return Objects.requireNonNull(target, "target not set");
     }
     @Override
     public Optional<RDFSyntax> syntax() {

http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/577614d0/simple/src/main/java/org/apache/commons/rdf/simple/io/ParsedImpl.java
----------------------------------------------------------------------
diff --git 
a/simple/src/main/java/org/apache/commons/rdf/simple/io/ParsedImpl.java 
b/simple/src/main/java/org/apache/commons/rdf/simple/io/ParsedImpl.java
index 3beed15..f93c551 100644
--- a/simple/src/main/java/org/apache/commons/rdf/simple/io/ParsedImpl.java
+++ b/simple/src/main/java/org/apache/commons/rdf/simple/io/ParsedImpl.java
@@ -22,12 +22,12 @@ public class ParsedImpl<T,S> implements Parsed<T, S> {
     }
     
     @Override
-    public ParserSource<S> source() {
+    public ParserSource<S> from() {
         return source;
     }
 
     @Override
-    public ParserTarget<T> target() {
+    public ParserTarget<T> into() {
         return target;
     }
 

http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/577614d0/simple/src/main/java/org/apache/commons/rdf/simple/io/ParserBuilder.java
----------------------------------------------------------------------
diff --git 
a/simple/src/main/java/org/apache/commons/rdf/simple/io/ParserBuilder.java 
b/simple/src/main/java/org/apache/commons/rdf/simple/io/ParserBuilder.java
index bb3eec7..9dc5eb9 100644
--- a/simple/src/main/java/org/apache/commons/rdf/simple/io/ParserBuilder.java
+++ b/simple/src/main/java/org/apache/commons/rdf/simple/io/ParserBuilder.java
@@ -12,16 +12,16 @@ import org.apache.commons.rdf.api.Graph;
 import org.apache.commons.rdf.api.IRI;
 import org.apache.commons.rdf.api.RDF;
 import org.apache.commons.rdf.api.RDFSyntax;
-import org.apache.commons.rdf.api.io.Async;
-import org.apache.commons.rdf.api.io.NeedSourceBased;
-import org.apache.commons.rdf.api.io.NeedSourceOrBase;
-import org.apache.commons.rdf.api.io.NeedTargetOrRDF;
+import org.apache.commons.rdf.api.fluentparser.Async;
+import org.apache.commons.rdf.api.fluentparser.NeedSourceBased;
+import org.apache.commons.rdf.api.fluentparser.NeedSourceOrBase;
+import org.apache.commons.rdf.api.fluentparser.NeedTargetOrRDF;
+import org.apache.commons.rdf.api.fluentparser.OptionalTarget;
+import org.apache.commons.rdf.api.fluentparser.Sync;
 import org.apache.commons.rdf.api.io.Option;
-import org.apache.commons.rdf.api.io.OptionalTarget;
 import org.apache.commons.rdf.api.io.Parsed;
 import org.apache.commons.rdf.api.io.ParserSource;
 import org.apache.commons.rdf.api.io.ParserTarget;
-import org.apache.commons.rdf.api.io.Sync;
 import org.apache.commons.rdf.api.io.Option.RequiredOption;
 
 @SuppressWarnings({ "rawtypes", "unchecked" })
@@ -62,6 +62,7 @@ public final class ParserBuilder implements NeedTargetOrRDF, 
NeedSourceBased, Sy
 
     @Override
     public NeedSourceBased<Dataset> base(IRI iri) {
+        // FIXME: Only do implicitTarget if target() can't be retrieved
         return newState(implicitTarget().withOption(BaseOption.BASE, iri));
     }
 

http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/577614d0/simple/src/main/java/org/apache/commons/rdf/simple/io/ParserFactoryImpl.java
----------------------------------------------------------------------
diff --git 
a/simple/src/main/java/org/apache/commons/rdf/simple/io/ParserFactoryImpl.java 
b/simple/src/main/java/org/apache/commons/rdf/simple/io/ParserFactoryImpl.java
index e5df228..a80b5bb 100644
--- 
a/simple/src/main/java/org/apache/commons/rdf/simple/io/ParserFactoryImpl.java
+++ 
b/simple/src/main/java/org/apache/commons/rdf/simple/io/ParserFactoryImpl.java
@@ -1,21 +1,34 @@
 package org.apache.commons.rdf.simple.io;
 
+import java.nio.file.Path;
+import java.util.Set;
+
 import org.apache.commons.rdf.api.Dataset;
 import org.apache.commons.rdf.api.Graph;
+import org.apache.commons.rdf.api.IRI;
 import org.apache.commons.rdf.api.RDF;
 import org.apache.commons.rdf.api.RDFSyntax;
-import org.apache.commons.rdf.api.io.NeedSourceOrBase;
-import org.apache.commons.rdf.api.io.NeedTargetOrRDF;
-import org.apache.commons.rdf.api.io.OptionalTarget;
+import org.apache.commons.rdf.api.fluentparser.NeedSourceBased;
+import org.apache.commons.rdf.api.fluentparser.NeedSourceOrBase;
+import org.apache.commons.rdf.api.fluentparser.NeedTargetOrRDF;
+import org.apache.commons.rdf.api.fluentparser.OptionalTarget;
+import org.apache.commons.rdf.api.fluentparser.Sync;
+import org.apache.commons.rdf.api.io.Option;
 import org.apache.commons.rdf.api.io.ParserFactory;
+import org.apache.commons.rdf.api.io.ParserSource;
 import org.apache.commons.rdf.api.io.ParserTarget;
 
 public class ParserFactoryImpl implements ParserFactory {
 
-    private ParserImplementation impl;
+    private final ParserImplementation impl;
+    private final RDF rdf;
+    private final Set<RDFSyntax> syntaxes;
 
-    public ParserFactoryImpl(ParserImplementation impl) {
+    public ParserFactoryImpl(final RDF rdf, final ParserImplementation impl, 
+                                final Set<RDFSyntax> syntaxes) {
+        this.rdf = rdf;
         this.impl = impl;
+        this.syntaxes = syntaxes;
     }
     
     @Override
@@ -31,22 +44,70 @@ public class ParserFactoryImpl implements ParserFactory {
     @SuppressWarnings("unchecked")
     @Override
     public <T> NeedSourceOrBase<T> target(ParserTarget<T> target) {
-        return new ParserBuilder(mutableState().withTarget(target));
+        return new ParserBuilder(createMutableState().withTarget(target));
+    }
+
+    private ParseJob createMutableState() {
+        return new MutableParseJob().withImplementation(impl).withRDF(rdf);
+    }
+
+    private ParseJob createImmutableMutableState() {
+        return new DefaultParseJob().withImplementation(impl).withRDF(rdf);
+    }
+    
+    @Override
+    public NeedTargetOrRDF syntax(RDFSyntax syntax) {
+        return new ParserBuilder(createMutableState().withSyntax(syntax));
+    }
+
+    @Override
+    public Set<RDFSyntax> supportedSyntaxes() {
+        return syntaxes;
+    }
+
+    @Override
+    public ParserBuilder build() {
+        return new ParserBuilder(createImmutableMutableState());
     }
 
     @SuppressWarnings("unchecked")
     @Override
-    public OptionalTarget<Dataset> rdf(RDF rdf) {
-        return new ParserBuilder(mutableState().withRDF(rdf));
+    public <V> OptionalTarget<Dataset> option(Option<V> o, V v) {
+        return new ParserBuilder(createMutableState()).option(o, v);
     }
 
-    private ParseJob mutableState() {
-        return new MutableParseJob().withImplementation(impl);
+    @Override
+    public NeedSourceBased<Dataset> base(IRI iri) {
+        return new ParserBuilder(createMutableState()).base(iri);
     }
 
     @Override
-    public NeedTargetOrRDF syntax(RDFSyntax syntax) {
-        return new ParserBuilder(mutableState().withSyntax(syntax));
+    public NeedSourceBased<Dataset> base(String iri) {
+        return new ParserBuilder(createMutableState()).base(iri);
+    }
+
+    @SuppressWarnings("unchecked")
+    @Override
+    public Sync<Dataset, IRI> source(IRI iri) {
+        return new ParserBuilder(createMutableState()).source(iri);
+    }
+
+    @SuppressWarnings("unchecked")
+    @Override
+    public Sync<Dataset, Path> source(Path path) {
+        return new ParserBuilder(createMutableState()).source(path);
+    }
+
+    @SuppressWarnings("unchecked")
+    @Override
+    public <S> Sync<Dataset, S> source(ParserSource<S> source) {
+        return new ParserBuilder(createMutableState()).source(source);
+    }
+
+    @SuppressWarnings("unchecked")
+    @Override
+    public Sync<Dataset, IRI> source(String iri) {
+        return new ParserBuilder(createMutableState()).source(iri);
     }
 
 }

http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/577614d0/simple/src/main/java/org/apache/commons/rdf/simple/io/PathSource.java
----------------------------------------------------------------------
diff --git 
a/simple/src/main/java/org/apache/commons/rdf/simple/io/PathSource.java 
b/simple/src/main/java/org/apache/commons/rdf/simple/io/PathSource.java
index 25fdd0a..384c4bd 100644
--- a/simple/src/main/java/org/apache/commons/rdf/simple/io/PathSource.java
+++ b/simple/src/main/java/org/apache/commons/rdf/simple/io/PathSource.java
@@ -21,7 +21,7 @@ public class PathSource implements ParserSource<Path> {
     }
 
     @Override
-    public Path source() {
+    public Path src() {
         return source;
     }
 

http://git-wip-us.apache.org/repos/asf/commons-rdf/blob/577614d0/simple/src/test/java/org/apache/commons/rdf/simple/io/ParserFactoryTest.java
----------------------------------------------------------------------
diff --git 
a/simple/src/test/java/org/apache/commons/rdf/simple/io/ParserFactoryTest.java 
b/simple/src/test/java/org/apache/commons/rdf/simple/io/ParserFactoryTest.java
index 1377c2f..6b32f70 100644
--- 
a/simple/src/test/java/org/apache/commons/rdf/simple/io/ParserFactoryTest.java
+++ 
b/simple/src/test/java/org/apache/commons/rdf/simple/io/ParserFactoryTest.java
@@ -1,30 +1,67 @@
 package org.apache.commons.rdf.simple.io;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotEquals;
+
 import java.io.InputStream;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.Collections;
+import java.util.Map;
+import java.util.Set;
 import java.util.concurrent.Future;
 
 import org.apache.commons.rdf.api.Dataset;
+import org.apache.commons.rdf.api.Graph;
+import org.apache.commons.rdf.api.RDF;
 import org.apache.commons.rdf.api.RDFSyntax;
-import org.apache.commons.rdf.api.io.Async;
-import org.apache.commons.rdf.api.io.OptionalTarget;
+import org.apache.commons.rdf.api.fluentparser.Async;
+import org.apache.commons.rdf.api.fluentparser.NeedSourceBased;
+import org.apache.commons.rdf.api.fluentparser.Sync;
+import org.apache.commons.rdf.api.io.Option;
 import org.apache.commons.rdf.api.io.Parsed;
 import org.apache.commons.rdf.api.io.ParserFactory;
+import org.apache.commons.rdf.api.io.ParserSource;
+import org.apache.commons.rdf.api.io.ParserTarget;
 import org.apache.commons.rdf.simple.SimpleRDF;
 import org.junit.Test;
 
-public class ParserFactoryTest {
+public class ParserFactoryTest implements ParserImplementation {
     @Test
     public void testName() throws Exception {
-        ParserFactory f = new ParserFactoryImpl((a,b,c,d,e) -> 1);
-        InputStream is = getClass().getResourceAsStream("Fred");
-        OptionalTarget<Dataset> p = f.rdf(new SimpleRDF());
-        Dataset ds = p.source("hello").parse().target().target();
-        
-        
-        Async<Dataset, InputStream> g = f.syntax(RDFSyntax.JSONLD).rdf(new 
SimpleRDF()).base("http://example.com/";).source(is).async();
-        
+        SimpleRDF rdf = new SimpleRDF();
+        Set<RDFSyntax> s = Collections.emptySet();
+        ParserFactory f = new ParserFactoryImpl(rdf, this, s);
+        // 
+        NeedSourceBased<Graph> reusable = 
f.target(rdf.createGraph()).base("sd").build();
+        // 
+        Sync<Graph, Path> src1 = reusable.source(Paths.get("/tmp/file1.ttl"));
+        Sync<Graph, Path> src2 = 
reusable.source(Paths.get("/tmp/file2.jsonld"));
+        Parsed<Graph, Path> src1Parsed = src1.parse();
+        Parsed<Graph, Path> src2Parsed = src2.parse();
+        Graph g1 = src1Parsed.into().dest();
+        Graph g2 = src2Parsed.into().dest();
+        assertEquals(g1, g2);
+        Path p1 = src1Parsed.from().src();
+        Path p2 = src2Parsed.from().src();
+        assertNotEquals(p1, p2);
+                
+                
+        Dataset ds = f.source("hello").parse().into().dest();
+        Async<Dataset, InputStream> g;
+        try (InputStream is = getClass().getResourceAsStream("Fred")) {
+            //f.base("fred").source(is).async().parseAsync().get().target();
+            g = f.syntax(RDFSyntax.JSONLD).rdf(new 
SimpleRDF()).base("http://example.com/";).source(is).async();
+        }
         Future<Parsed<Dataset, InputStream>> x = g.parseAsync();
-        Parsed<Dataset, InputStream> p2 = x.get();    
-        System.out.println(p2.count());
+        Parsed<Dataset, InputStream> p3 = x.get();    
+        System.out.println(p3.count());
+    }
+
+    @Override
+    public long parse(ParserSource source, RDFSyntax rdfSyntax, ParserTarget 
target, RDF rdf,
+            Map<Option, Object> options) {
+        
+        return 0;
     }
 }

Reply via email to