package dk.statsbiblioteket.medieplatform.autonomous;
import dk.statsbiblioteket.medieplatform.autonomous.iterator.common.TreeIterator;
import dk.statsbiblioteket.medieplatform.autonomous.iterator.filesystem.transforming.TransformingIteratorForFileSystems;
import java.io.File;
import java.net.URISyntaxException;
import java.util.Arrays;
import java.util.Properties;
import java.util.regex.Pattern;
public class MockupIteratorSuper extends SampleRunnableComponent {
/**
* Constructor matching super. Super requires a properties to be able to initialise the tree iterator, if needed.
* If you do not need the tree iterator, ignore properties.
*
* You can use properties for your own stuff as well
*
* @param properties properties
*/
public MockupIteratorSuper(Properties properties) {
super(properties);
}
/**
* We override this method to be able to inject our own tree iterator
*
* @param batch the batch to iterate on
*
* @return a tree iterator
*/
@Override
protected TreeIterator createIterator(Batch batch) {
File dataDir;
try {
dataDir = new File(
Thread.currentThread()
.getContextClassLoader()
.getResource("badTree/file1.txt")
.toURI()).getParentFile();
} catch (URISyntaxException e) {
throw new RuntimeException("Failed to find datafiles", e);
}
return new TransformingIteratorForFileSystems(dataDir, Pattern.quote("-"),
TransformingIteratorForFileSystems.DATA_FILE_PATTERN_JP2_VALUE,
TransformingIteratorForFileSystems.CHECKSUM_POSTFIX_DEFAULT_VALUE,
Arrays.asList(
TransformingIteratorForFileSystems.IGNORED_FILES_DEFAULT_VALUE.split(",")));
}
}