Author: andy
Date: Fri Mar 23 21:32:59 2012
New Revision: 1304612
URL: http://svn.apache.org/viewvc?rev=1304612&view=rev
Log:
Enable array-level byte buffer operations. Fix fill operation.
Eradicate dependency on empty graph being detectable DatasetGraph tests.
Modified:
incubator/jena/Jena2/ARQ/trunk/src/main/java/org/openjena/atlas/lib/ByteBufferLib.java
incubator/jena/Jena2/ARQ/trunk/src/test/java/com/hp/hpl/jena/sparql/core/DatasetGraphTests.java
Modified:
incubator/jena/Jena2/ARQ/trunk/src/main/java/org/openjena/atlas/lib/ByteBufferLib.java
URL:
http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/main/java/org/openjena/atlas/lib/ByteBufferLib.java?rev=1304612&r1=1304611&r2=1304612&view=diff
==============================================================================
---
incubator/jena/Jena2/ARQ/trunk/src/main/java/org/openjena/atlas/lib/ByteBufferLib.java
(original)
+++
incubator/jena/Jena2/ARQ/trunk/src/main/java/org/openjena/atlas/lib/ByteBufferLib.java
Fri Mar 23 21:32:59 2012
@@ -114,15 +114,15 @@ public class ByteBufferLib
// For non-array versions : beware of overlaps.
final public static void bbcopy(ByteBuffer bb, int src, int dst, int
length, int slotLen)
{
+ if ( src == dst )
+ return ;
+
if ( allowArray && bb.hasArray() )
{
acopyArray(bb, src, dst, length, slotLen) ;
return ;
}
-
- if ( src == dst )
- return ;
-
+
if ( src < dst )
bbcopy1(bb, src, dst, length, slotLen) ;
else
@@ -134,7 +134,7 @@ public class ByteBufferLib
int bDst = dst*slotLen ;
int bSrc = src*slotLen ;
int bLen = length*slotLen ;
-
+ // src < dst so top dst is not in the overlap : work backwards
for ( int i = bLen-1 ; i >= 0 ; i-- )
bb.put(bDst+i, bb.get(bSrc+i)) ;
}
@@ -144,7 +144,6 @@ public class ByteBufferLib
int bDst = dst*slotLen ;
int bSrc = src*slotLen ;
int bLen = length*slotLen ;
-
// src > dst so dst[0] is not in the overlap
for ( int i = 0 ; i < bLen ; i++ )
bb.put(bDst+i, bb.get(bSrc+i)) ;
@@ -189,31 +188,34 @@ public class ByteBufferLib
{
byte[] b = bb.array();
- int OFFSET = bb.arrayOffset() ;
+ int offset = bb.arrayOffset() ;
int bSrc = src*slotLen ;
int bDst = dst*slotLen ;
int bLen = length*slotLen ;
- arraycopy(b, OFFSET+bSrc, b, OFFSET+bDst, bLen) ;
+ arraycopy(b, offset+bSrc, b, offset+bDst, bLen) ;
}
final private static void acopyArray(ByteBuffer bb1, int src, ByteBuffer
bb2, int dst, int length, int slotLen)
{
byte[] b1 = bb1.array();
byte[] b2 = bb2.array();
- int OFFSET1 = bb1.arrayOffset() ;
- int OFFSET2 = bb2.arrayOffset() ;
+ int offset1 = bb1.arrayOffset() ;
+ int offset2 = bb2.arrayOffset() ;
int bSrc = src*slotLen ;
int bDst = dst*slotLen ;
int bLen = length*slotLen ;
- arraycopy(b1, OFFSET1+bSrc, b2, OFFSET2+bDst, bLen) ;
+ arraycopy(b1, offset1+bSrc, b2, offset2+bDst, bLen) ;
}
final private static void afillArray(ByteBuffer bb, int fromIdx, int
toIdx, byte fillValue, int slotLen)
{
- Arrays.fill(bb.array(), fromIdx+bb.arrayOffset(),
toIdx+bb.arrayOffset(), fillValue) ;
+ int offset = bb.arrayOffset() ;
+ int bStart = fromIdx*slotLen ;
+ int bFinish = toIdx*slotLen ;
+ Arrays.fill(bb.array(), bStart+offset, bFinish+offset, fillValue) ;
}
}
Modified:
incubator/jena/Jena2/ARQ/trunk/src/test/java/com/hp/hpl/jena/sparql/core/DatasetGraphTests.java
URL:
http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/test/java/com/hp/hpl/jena/sparql/core/DatasetGraphTests.java?rev=1304612&r1=1304611&r2=1304612&view=diff
==============================================================================
---
incubator/jena/Jena2/ARQ/trunk/src/test/java/com/hp/hpl/jena/sparql/core/DatasetGraphTests.java
(original)
+++
incubator/jena/Jena2/ARQ/trunk/src/test/java/com/hp/hpl/jena/sparql/core/DatasetGraphTests.java
Fri Mar 23 21:32:59 2012
@@ -155,11 +155,11 @@ public abstract class DatasetGraphTests
{
DatasetGraph dsg = emptyDataset() ;
assertNotNull(dsg) ;
- Node g = Node.createURI("g") ;
-
- // Assumes an empty graph is detectable
- dsg.addGraph(g, GraphFactory.createDefaultGraph());
- assertTrue(dsg.containsGraph(g)) ;
+ Node gn = Node.createURI("g") ;
+ Graph g = GraphFactory.createDefaultGraph() ;
+ g.add(SSE.parseTriple("(<s> <p> <o>)")) ; // So the graph is not
empty.
+ dsg.addGraph(gn, g);
+ assertTrue(dsg.containsGraph(gn)) ;
}
// Graph centric operations