You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@marmotta.apache.org by wi...@apache.org on 2014/01/18 11:59:14 UTC
[5/5] git commit: MAMOTTA-423: more work on how to approach the fixing
MAMOTTA-423: more work on how to approach the fixing
Project: http://git-wip-us.apache.org/repos/asf/marmotta/repo
Commit: http://git-wip-us.apache.org/repos/asf/marmotta/commit/79613510
Tree: http://git-wip-us.apache.org/repos/asf/marmotta/tree/79613510
Diff: http://git-wip-us.apache.org/repos/asf/marmotta/diff/79613510
Branch: refs/heads/develop
Commit: 79613510c29f87a13baca16322e2da9a8dd8212f
Parents: 9ee949a
Author: Sergio Fernández <wi...@apache.org>
Authored: Sat Jan 18 11:58:51 2014 +0100
Committer: Sergio Fernández <wi...@apache.org>
Committed: Sat Jan 18 11:58:51 2014 +0100
----------------------------------------------------------------------
.../vigsterkr/freebase/fix/FreebaseFixit.java | 24 +++++++++++++-------
.../provider/freebase/FreebaseProvider.java | 22 +++++++++---------
2 files changed, 27 insertions(+), 19 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/marmotta/blob/79613510/libraries/ldclient/ldclient-provider-freebase/src/ext/java/com/github/vigsterkr/freebase/fix/FreebaseFixit.java
----------------------------------------------------------------------
diff --git a/libraries/ldclient/ldclient-provider-freebase/src/ext/java/com/github/vigsterkr/freebase/fix/FreebaseFixit.java b/libraries/ldclient/ldclient-provider-freebase/src/ext/java/com/github/vigsterkr/freebase/fix/FreebaseFixit.java
index 2c83254..60c2f89 100644
--- a/libraries/ldclient/ldclient-provider-freebase/src/ext/java/com/github/vigsterkr/freebase/fix/FreebaseFixit.java
+++ b/libraries/ldclient/ldclient-provider-freebase/src/ext/java/com/github/vigsterkr/freebase/fix/FreebaseFixit.java
@@ -29,9 +29,10 @@
package com.github.vigsterkr.freebase.fix;
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.*;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
@@ -39,6 +40,8 @@ import java.util.regex.Pattern;
public class FreebaseFixit {
+ private static Logger log = LoggerFactory.getLogger(FreebaseFixit.class);
+
private final long line = 0;
/* patterns */
@@ -132,7 +135,7 @@ public class FreebaseFixit {
public static String fixTriplet(String tripletLine) throws Exception {
List<String> triplet = splitToTriplet(tripletLine);
if (triplet.isEmpty())
- throw new Exception("ERROR: Failed to parse the line");
+ throw new Exception("Failed to parse empty line");
String subject = triplet.get(0);
String predicate = triplet.get(1);
@@ -146,11 +149,11 @@ public class FreebaseFixit {
/* fix object */
if (!object.endsWith("."))
- throw new Exception("ERROR: object doesn't end with dot");
+ throw new Exception("Object doesn't end with dot");
object = cleanObject(object);
if (object.length() == 0)
- throw new Exception("ERROR: Unexpected empty object");
+ throw new Exception("Unexpected empty object");
object = fixObject(object);
@@ -158,13 +161,17 @@ public class FreebaseFixit {
}
public static void fix(BufferedReader br) {
+ fix(br, System.out);
+ }
+
+ public static void fix(BufferedReader br, PrintStream out) {
try {
String input;
while((input=br.readLine())!=null){
try {
- System.out.println(fixTriplet(input));
+ out.println(fixTriplet(input));
} catch(Exception e) {
- System.err.println(e.getMessage());
+ log.error(e.getMessage());
}
}
} catch(IOException io) {
@@ -179,4 +186,5 @@ public class FreebaseFixit {
FreebaseFixit fbFix = new FreebaseFixit();
fbFix.fix(br);
}
+
}
http://git-wip-us.apache.org/repos/asf/marmotta/blob/79613510/libraries/ldclient/ldclient-provider-freebase/src/main/java/org/apache/marmotta/ldclient/provider/freebase/FreebaseProvider.java
----------------------------------------------------------------------
diff --git a/libraries/ldclient/ldclient-provider-freebase/src/main/java/org/apache/marmotta/ldclient/provider/freebase/FreebaseProvider.java b/libraries/ldclient/ldclient-provider-freebase/src/main/java/org/apache/marmotta/ldclient/provider/freebase/FreebaseProvider.java
index ed9e9ee..8b7faff 100644
--- a/libraries/ldclient/ldclient-provider-freebase/src/main/java/org/apache/marmotta/ldclient/provider/freebase/FreebaseProvider.java
+++ b/libraries/ldclient/ldclient-provider-freebase/src/main/java/org/apache/marmotta/ldclient/provider/freebase/FreebaseProvider.java
@@ -33,10 +33,8 @@ import org.openrdf.rio.RDFParseException;
import org.openrdf.rio.Rio;
import com.github.vigsterkr.freebase.fix.FreebaseFixit;
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.StringWriter;
+
+import java.io.*;
import java.util.Collections;
import java.util.List;
import java.util.regex.Matcher;
@@ -127,15 +125,17 @@ public class FreebaseProvider extends AbstractHttpProvider {
/**
* Fixes Freebase deficiencies on Turtle serialization
*
- * @param in stream with the raw data
+ * @param is stream with the raw data
* @return fixed stream
*/
- private InputStream fix(InputStream in, String encoding) throws IOException {
- StringWriter writer = new StringWriter();
- IOUtils.copy(in, writer, encoding);
- String raw = writer.toString();
- String fixed = FreebaseFixit.fixObject(raw);
- return new ByteArrayInputStream(fixed.getBytes(encoding));
+ private InputStream fix(InputStream is, String encoding) throws IOException {
+ BufferedReader br = new BufferedReader(new InputStreamReader(is));
+ PipedOutputStream po = new PipedOutputStream();
+ PrintStream ps = new PrintStream(po);
+ FreebaseFixit.fix(br, ps);
+ ps.flush();
+ ps.close();
+ return new PipedInputStream(po);
}
}