/** * Creates a new instance. */ public ServerStateReader() { sequenceFormatter = new ReplicationSequenceFormatter(9, 3); }
private File getDataFile(long sequenceNumber) { return new File(dataDirectory, sequenceFormatter.getFormattedName(sequenceNumber, ".osc.gz")); }
/** * Tests that a sequence is formatted correctly when no format is defined. */ @Test public void testMinimalFormat() { final int minimumLength = 0; final int groupingLength = 0; final long sequenceNumber = 100; String formattedSequenceNumber; formattedSequenceNumber = new ReplicationSequenceFormatter(minimumLength, groupingLength).getFormattedName(sequenceNumber, ".osc.gz"); Assert.assertEquals("The formatted sequence number is incorrect.", "100.osc.gz", formattedSequenceNumber); }
/** * Tests that a number can be formatted correctly when using a simple 0 padded format. */ @Test public void testFixedFormat() { final int minimumLength = 9; final int groupingLength = 0; final long sequenceNumber = 100; String formattedSequenceNumber; formattedSequenceNumber = new ReplicationSequenceFormatter(minimumLength, groupingLength).getFormattedName(sequenceNumber, ".osc.gz"); Assert.assertEquals("The formatted sequence number is incorrect.", "000000100.osc.gz", formattedSequenceNumber); }
/** * Tests that a number can be formatted correctly when including path separators with no fixed width. */ @Test public void testMinimalPathFormat() { final int minimumLength = 0; final int groupingLength = 3; final long sequenceNumber = 1000; String formattedSequenceNumber; formattedSequenceNumber = new ReplicationSequenceFormatter(minimumLength, groupingLength).getFormattedName(sequenceNumber, ".osc.gz"); Assert.assertEquals("The formatted sequence number is incorrect.", "1/000.osc.gz", formattedSequenceNumber); }
private File getStateFile(long sequenceNumber) { return new File(dataDirectory, sequenceFormatter.getFormattedName(sequenceNumber, ".state.txt")); }
/** * Creates a new instance. */ public ServerStateReader() { sequenceFormatter = new ReplicationSequenceFormatter(9, 3); }
/** * Tests that a number can be formatted correctly when including path separators and a fixed width. */ @Test public void testFixedPathFormat() { final int minimumLength = 9; final int groupingLength = 3; final long sequenceNumber = 100; String formattedSequenceNumber; formattedSequenceNumber = new ReplicationSequenceFormatter(minimumLength, groupingLength).getFormattedName(sequenceNumber, ".osc.gz"); Assert.assertEquals("The formatted sequence number is incorrect.", "000/000/100.osc.gz", formattedSequenceNumber); } }
/** * Retrieves the specified state from the server. * * @param baseUrl * The url of the directory containing change files. * @param sequenceNumber * The sequence number of the state to be retrieved from the server. * @return The state. */ public ReplicationState getServerState(URL baseUrl, long sequenceNumber) { return getServerState(baseUrl, sequenceFormatter.getFormattedName(sequenceNumber, SEQUENCE_STATE_FILE_SUFFIX)); }
/** * Creates a new instance. * * @param control * Provides the Netty handlers with access to the controller. * @param dataDirectory * The directory containing the replication data files. */ public ReplicationDataServerHandler(SequenceServerControl control, File dataDirectory) { super(control); this.dataDirectory = dataDirectory; sequenceFormatter = new ReplicationSequenceFormatter(9, 3); }
File finalStateFile = new File(workingDir2, new ReplicationSequenceFormatter(9, 3).getFormattedName( sequenceCount, ".state.txt")); timerStart = System.currentTimeMillis();
/** * Retrieves the specified state from the server. * * @param baseUrl * The url of the directory containing change files. * @param sequenceNumber * The sequence number of the state to be retrieved from the server. * @return The state. */ public ReplicationState getServerState(URL baseUrl, long sequenceNumber) { return getServerState(baseUrl, sequenceFormatter.getFormattedName(sequenceNumber, SEQUENCE_STATE_FILE_SUFFIX)); }
/** * Creates a new instance. * * @param minimumLength * The minimum length file sequence string to generate. For example, setting a length * of 2 will generate sequence numbers from "00" to "99". * @param groupingLength * The number of characters to write before separating with a '/' character. Used for * creating sequence numbers to be written to files in a nested directory structure. * @param workingDirectory * The directory from which to base all created files. */ public ReplicationFileSequenceFormatter(File workingDirectory, int minimumLength, int groupingLength) { this.workingDirectory = workingDirectory; sequenceFormatter = new ReplicationSequenceFormatter(minimumLength, groupingLength); }
File formattedPath; fileName = sequenceFormatter.getFormattedName(sequenceNumber, fileNameSuffix);
/** * Creates a new instance. * * @param minimumLength * The minimum length file sequence string to generate. For example, setting a length * of 2 will generate sequence numbers from "00" to "99". * @param groupingLength * The number of characters to write before separating with a '/' character. Used for * creating sequence numbers to be written to files in a nested directory structure. * @param workingDirectory * The directory from which to base all created files. */ public ReplicationFileSequenceFormatter(File workingDirectory, int minimumLength, int groupingLength) { this.workingDirectory = workingDirectory; sequenceFormatter = new ReplicationSequenceFormatter(minimumLength, groupingLength); }
File formattedPath; fileName = sequenceFormatter.getFormattedName(sequenceNumber, fileNameSuffix);
/** * Creates a new instance. * * @param workingDirectory * The directory containing configuration and tracking files. */ public BaseReplicationDownloader(File workingDirectory) { this.workingDirectory = workingDirectory; sequenceFormatter = new ReplicationSequenceFormatter(9, 3); serverStateReader = new ServerStateReader(); }
downloadReplicationFile(sequenceFormatter.getFormattedName(sequenceNumber, ".osc.gz"), baseUrl);
/** * Creates a new instance. * * @param workingDirectory * The directory containing configuration and tracking files. */ public BaseReplicationDownloader(File workingDirectory) { this.workingDirectory = workingDirectory; sequenceFormatter = new ReplicationSequenceFormatter(9, 3); serverStateReader = new ServerStateReader(); }
downloadReplicationFile(sequenceFormatter.getFormattedName(sequenceNumber, ".osc.gz"), baseUrl);