+
+ /**
+ * SCL java binding cannot make difference between methods that have two versions, one with Read/WriteGraph, and one without.
+ * Hence we have to introduce a set of methods which have no alternate versions.
+ */
+
+
+ public static void writeDataToGraphSCLhack(WriteGraph graph, File file, Resource graphFile) throws IOException, DatabaseException{
+ writeDataToGraph(graph, file, graphFile);
+
+ }
+
+ public static File toTempFileSCLhack(ReadGraph graph, Resource res)throws DatabaseException {
+ return toTempFile(graph, res);
+ }
+
+ public static void writeDataToFileSCLhack(ReadGraph graph, Resource res, File file) throws DatabaseException, IOException {
+ writeDataToFile(graph, res, file);
+ }
+
+ public static void toGraphSCLhack(WriteGraph graph, String filename, Resource graphFile) throws DatabaseException, IOException {
+ toGraph(graph, filename, graphFile);
+ }
+
+
+ public static byte[] getData(ReadGraph graph, Resource graphFile) throws DatabaseException{
+ GraphFileResource GF = GraphFileResource.getInstance(graph);
+ Resource fileData = graph.getSingleObject(graphFile, GF.HasFiledata);
+ TransferableGraphSupport tgs = graph.getService(TransferableGraphSupport.class);
+ InputStream input = tgs.getValueStream(graph, fileData);
+ DataInputStream di = new DataInputStream(input);
+ try {
+ int length = di.readInt();
+ byte[] content = new byte[length];
+ di.read(content);
+ return content;
+ } catch (IOException e) {
+ Logger.defaultLogError(e);
+ }
+ return null;
+ }
+
+ public static String getDataAsString(ReadGraph graph, Resource graphFile) throws DatabaseException{
+ byte[] content = getData(graph, graphFile);
+ String s = new String(content);
+ return s;
+ }
+