- graph.claimLiteral(graphFile, gf.HasFiledata, data);\r
- graph.claimLiteral(graphFile, gf.LastModified, 0L);\r
+ if (USE_RANDOM_ACCESS_BINARY) {\r
+ Resource fileData = graph.getPossibleObject(graphFile, gf.HasFiledata);\r
+ if (fileData == null) {\r
+ Layer0 l0 = Layer0.getInstance(graph);\r
+ ClusteringSupport cs = graph.getService(ClusteringSupport.class);\r
+ fileData = graph.newResource(cs.createCluster());\r
+ graph.claim(fileData, l0.InstanceOf, l0.ByteArray);\r
+ graph.claim(graphFile, gf.HasFiledata, fileData);\r
+ graph.createRandomAccessBinary(fileData, Bindings.BYTE_ARRAY.type(), data);\r
+ } else {\r
+ InputStream input = new ByteArrayInputStream(data);\r
+ LiteralFileUtil.copyStreamToRandomAccessBinary(graph, input, fileData);\r
+ }\r
+ } else {\r
+ graph.claimLiteral(graphFile, gf.HasFiledata, data);\r
+ }\r
+ graph.claimLiteral(graphFile, gf.LastModified, System.currentTimeMillis());\r