From cebe009e2eec4cd160570ba51438c5886235b0a7 Mon Sep 17 00:00:00 2001 From: Tom Morris Date: Fri, 16 Mar 2012 16:29:24 +0000 Subject: [PATCH] Convert integers to strings first so that they work as year-only dates if target type is /type/datetime git-svn-id: http://google-refine.googlecode.com/svn/trunk@2476 7d457c2a-affb-35e4-300a-418c747d4874 --- .../transpose/MqlwriteLikeTransposedNodeFactory.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/extensions/freebase/src/com/google/refine/freebase/protograph/transpose/MqlwriteLikeTransposedNodeFactory.java b/extensions/freebase/src/com/google/refine/freebase/protograph/transpose/MqlwriteLikeTransposedNodeFactory.java index 83b3c22ed..7a284e0a2 100644 --- a/extensions/freebase/src/com/google/refine/freebase/protograph/transpose/MqlwriteLikeTransposedNodeFactory.java +++ b/extensions/freebase/src/com/google/refine/freebase/protograph/transpose/MqlwriteLikeTransposedNodeFactory.java @@ -273,7 +273,12 @@ public class MqlwriteLikeTransposedNodeFactory implements TransposedNodeFactory if (obj == null) { obj = new JSONObject(); try { - obj.put(VALUE, node.value); + if ("/type/datetime".equals(node.valueType) && node.value instanceof Long) { + // Special case integers as year-only dates + obj.put(VALUE, node.value.toString()); + } else { + obj.put(VALUE, node.value); + } obj.put(TYPE, node.valueType); if ("/type/text".equals(node.valueType)) { obj.put(LANG, node.lang);