Skip to content

Commit ed03434

Browse files
tpietzschcmhulbert
authored andcommitted
Make getDatasetAccess() protected and createDatasetAccess() private
createDatasetAccess() can be private because we don't override it anywhere. (Maybe we did previously in n5-zarr?) getDatasetAccess() has to be protected for tests only. It is better for tests to use the canonical DatasetAccess instead of creating a separate one, as they did before using createDatasetAccess()
1 parent 01d1e39 commit ed03434

7 files changed

Lines changed: 42 additions & 37 deletions

File tree

src/main/java/org/janelia/saalfeldlab/n5/DatasetAttributes.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,7 @@ public DatasetAttributes(
189189
this(dimensions, blockSize, dataType, new DataCodecInfo[0]);
190190
}
191191

192-
protected DatasetAccess<?> createDatasetAccess() {
192+
private DatasetAccess<?> createDatasetAccess() {
193193

194194
final int m = nestingDepth(blockCodecInfo);
195195

@@ -210,7 +210,7 @@ protected DatasetAccess<?> createDatasetAccess() {
210210

211211
BlockCodecInfo currentBlockCodecInfo = blockCodecInfo;
212212
DataCodecInfo[] currentDataCodecInfos = dataCodecInfos;
213-
213+
214214
DatasetCodecInfo[] datasetCodecInfos = this.datasetCodecInfos;
215215

216216
final NestedGrid grid = new NestedGrid(blockSizes, dimensions);
@@ -323,9 +323,9 @@ public DataType getDataType() {
323323
*
324324
* @return the {@code DatasetAccess} for this dataset
325325
*/
326-
<T> DatasetAccess<T> getDatasetAccess() {
326+
protected <T> DatasetAccess<T> getDatasetAccess() {
327327

328-
return (DatasetAccess<T>)access;
328+
return (DatasetAccess<T>) access;
329329
}
330330

331331
/**

src/test/java/org/janelia/saalfeldlab/n5/codec/BlockCodecTests.java

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,6 @@
4949
import org.janelia.saalfeldlab.n5.ShortArrayDataBlock;
5050
import org.janelia.saalfeldlab.n5.codec.BytesCodecTests.BitShiftBytesCodec;
5151
import org.janelia.saalfeldlab.n5.shard.DatasetAccess;
52-
import org.janelia.saalfeldlab.n5.shard.DatasetAccessTest;
5352
import org.janelia.saalfeldlab.n5.shard.PositionValueAccess;
5453
import org.janelia.saalfeldlab.n5.shard.TestPositionValueAccess;
5554
import org.junit.Test;
@@ -146,15 +145,15 @@ public void testEmptyBlock() throws Exception {
146145
final int[] blockSize = {0, 0};
147146
final long[] gridPosition = {0, 0};
148147
final N5BlockCodecInfo blockCodecInfo = new N5BlockCodecInfo();
149-
final DatasetAccessTest.TestDatasetAttributes attributes = new DatasetAccessTest.TestDatasetAttributes(
148+
final TestDatasetAttributes attributes = new TestDatasetAttributes(
150149
new long[]{64, 64},
151150
new int[]{8, 8},
152151
DataType.UINT8,
153152
blockCodecInfo,
154153
new RawCompression());
155154

156155
final PositionValueAccess store = new TestPositionValueAccess();
157-
DatasetAccess access = attributes.datasetAccess();
156+
DatasetAccess access = attributes.getDatasetAccess();
158157

159158
// Test encode/decode
160159
final ByteArrayDataBlock emptyBlock = new ByteArrayDataBlock(blockSize, gridPosition, new byte[0]);
@@ -315,5 +314,18 @@ private static void assertDataEquals(DataBlock<?> expected, DataBlock<?> actual)
315314
}
316315
}
317316

317+
public static class TestDatasetAttributes extends DatasetAttributes {
318+
319+
public TestDatasetAttributes(long[] dimensions, int[] outerBlockSize, DataType dataType, BlockCodecInfo blockCodecInfo,
320+
DataCodecInfo... dataCodecInfos) {
321+
322+
super(dimensions, outerBlockSize, dataType, blockCodecInfo, dataCodecInfos);
323+
}
324+
325+
@Override // to make this accessible for the test
326+
protected <T> DatasetAccess<T> getDatasetAccess() {
327+
return super.getDatasetAccess();
328+
}
329+
}
318330

319331
}

src/test/java/org/janelia/saalfeldlab/n5/shard/DatasetAccessTest.java

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ public void setup() {
9393
new RawCompression()
9494
);
9595

96-
datasetAccess = attributes.datasetAccess();
96+
datasetAccess = attributes.getDatasetAccess();
9797
}
9898

9999

@@ -243,12 +243,10 @@ public TestDatasetAttributes(long[] dimensions, int[] outerBlockSize, DataType d
243243
super(dimensions, outerBlockSize, dataType, blockCodecInfo, dataCodecInfos);
244244
}
245245

246-
public DatasetAccess datasetAccess() {
247-
248-
// to make this accessible for the test
249-
return createDatasetAccess();
246+
@Override // to make this accessible for the test
247+
protected <T> DatasetAccess<T> getDatasetAccess() {
248+
return super.getDatasetAccess();
250249
}
251-
252250
}
253251

254252
}

src/test/java/org/janelia/saalfeldlab/n5/shard/WriteRegionTest.java

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ public static void main(String[] args) {
8888
c2,
8989
new RawCompression());
9090

91-
final DatasetAccess<byte[]> datasetAccess = attributes.datasetAccess();
91+
final DatasetAccess<byte[]> datasetAccess = attributes.getDatasetAccess();
9292
final PositionValueAccess store = new TestPositionValueAccess();
9393

9494
// ---------------------------------------------------------------
@@ -175,7 +175,7 @@ public void testWriteRegionSharded() {
175175
c1,
176176
new RawCompression());
177177

178-
final DatasetAccess<byte[]> datasetAccess = attributes.datasetAccess();
178+
final DatasetAccess<byte[]> datasetAccess = attributes.getDatasetAccess();
179179
final PositionValueAccess store = new TestPositionValueAccess();
180180

181181
final int[] dataBlockSize = c1.getInnerBlockSize();
@@ -227,12 +227,10 @@ public TestDatasetAttributes(long[] dimensions, int[] outerBlockSize, DataType d
227227
super(dimensions, outerBlockSize, dataType, blockCodecInfo, dataCodecInfos);
228228
}
229229

230-
public DatasetAccess datasetAccess() {
231-
232-
// to make this accessible for the test
233-
return createDatasetAccess();
230+
@Override // to make this accessible for the test
231+
protected <T> DatasetAccess<T> getDatasetAccess() {
232+
return super.getDatasetAccess();
234233
}
235-
236234
}
237235

238236
}

src/test/java/org/janelia/saalfeldlab/n5/shard/WriteShardTest.java

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ public static void main(String[] args) {
8181
c1,
8282
new RawCompression());
8383

84-
final DatasetAccess<int[]> datasetAccess = attributes.datasetAccess();
84+
final DatasetAccess<int[]> datasetAccess = attributes.getDatasetAccess();
8585
final PositionValueAccess store = new TestPositionValueAccess();
8686

8787
// 0 1 2 3 4 5 6
@@ -146,7 +146,7 @@ public void testShardDatasetAccess() {
146146
c1,
147147
new RawCompression());
148148

149-
final DatasetAccess<int[]> datasetAccess = attributes.datasetAccess();
149+
final DatasetAccess<int[]> datasetAccess = attributes.getDatasetAccess();
150150
final PositionValueAccess store = new TestPositionValueAccess();
151151

152152
// 0 1 2 3 4 5 6
@@ -184,7 +184,7 @@ public void testWriteNullBlockRemovesShard() throws Exception {
184184
c1,
185185
new RawCompression());
186186

187-
final DatasetAccess<int[]> datasetAccess = attributes.datasetAccess();
187+
final DatasetAccess<int[]> datasetAccess = attributes.getDatasetAccess();
188188
final PositionValueAccess store = new TestPositionValueAccess();
189189
final long[] shardKey = {1};
190190

@@ -302,10 +302,9 @@ public TestDatasetAttributes(long[] dimensions, int[] outerBlockSize, DataType d
302302
super(dimensions, outerBlockSize, dataType, blockCodecInfo, dataCodecInfos);
303303
}
304304

305-
public DatasetAccess datasetAccess() {
306-
307-
// to make this accessible for the test
308-
return createDatasetAccess();
305+
@Override // to make this accessible for the test
306+
protected <T> DatasetAccess<T> getDatasetAccess() {
307+
return super.getDatasetAccess();
309308
}
310309
}
311310
}

src/test/java/org/janelia/saalfeldlab/n5/shard/WriteShardTest2.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ public static void main(String[] args) {
7373
c1,
7474
new RawCompression());
7575

76-
final DatasetAccess<int[]> datasetAccess = attributes.datasetAccess();
76+
final DatasetAccess<int[]> datasetAccess = attributes.getDatasetAccess();
7777
final PositionValueAccess store = new TestPositionValueAccess();
7878

7979
// 0 1 2 3 4 5 6
@@ -129,10 +129,9 @@ public TestDatasetAttributes(long[] dimensions, int[] outerBlockSize, DataType d
129129
super(dimensions, outerBlockSize, dataType, blockCodecInfo, dataCodecInfos);
130130
}
131131

132-
public DatasetAccess datasetAccess() {
133-
134-
// to make this accessible for the test
135-
return createDatasetAccess();
132+
@Override // to make this accessible for the test
133+
protected <T> DatasetAccess<T> getDatasetAccess() {
134+
return super.getDatasetAccess();
136135
}
137136
}
138137
}

src/test/java/org/janelia/saalfeldlab/n5/shard/WriteShardTestTruncate.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ public static void main(String[] args) {
7373
c1,
7474
new RawCompression());
7575

76-
final DatasetAccess<int[]> datasetAccess = attributes.datasetAccess();
76+
final DatasetAccess<int[]> datasetAccess = attributes.getDatasetAccess();
7777
final PositionValueAccess store = new TestPositionValueAccess();
7878

7979
// 0 1 2 3 4 5 6
@@ -137,10 +137,9 @@ public TestDatasetAttributes(long[] dimensions, int[] outerBlockSize, DataType d
137137
super(dimensions, outerBlockSize, dataType, blockCodecInfo, dataCodecInfos);
138138
}
139139

140-
public DatasetAccess datasetAccess() {
141-
142-
// to make this accessible for the test
143-
return createDatasetAccess();
140+
@Override // to make this accessible for the test
141+
protected <T> DatasetAccess<T> getDatasetAccess() {
142+
return super.getDatasetAccess();
144143
}
145144
}
146145
}

0 commit comments

Comments
 (0)