Skip to content

Commit 2040b56

Browse files
authored
Validation improvement (#48)
Validation improvements. PSC code lacks general parameter and argument validation. Using Preconditions to validate arguments. Signed-off-by: Amit-Singh40 <[email protected]>
1 parent c7c1d65 commit 2040b56

22 files changed

+69
-43
lines changed

pravega-sensor-collector/src/main/java/io/pravega/sensor/collector/DeviceDriver.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ public abstract class DeviceDriver extends AbstractService implements AutoClosea
3131
private static final String CREATE_SCOPE_KEY = "CREATE_SCOPE";
3232

3333
public DeviceDriver(DeviceDriverConfig config) {
34-
this.config = Preconditions.checkNotNull(config, "deviceDriverConfig");
34+
this.config = Preconditions.checkNotNull(config, "config");
3535
LOGGER.info("Create Scope: {}", isCreateScope());
3636
}
3737

pravega-sensor-collector/src/main/java/io/pravega/sensor/collector/accelerometer/AccelerometerRawData.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
*/
1010
package io.pravega.sensor.collector.accelerometer;
1111

12+
import com.google.common.base.Preconditions;
1213
import org.apache.commons.codec.binary.Hex;
1314

1415
/**
@@ -18,7 +19,7 @@ public class AccelerometerRawData {
1819
public final byte[] bytes;
1920

2021
public AccelerometerRawData(byte[] bytes) {
21-
this.bytes = bytes;
22+
this.bytes = Preconditions.checkNotNull(bytes, "bytes");
2223
}
2324

2425
@Override

pravega-sensor-collector/src/main/java/io/pravega/sensor/collector/file/FileProcessor.java

+7-5
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import io.pravega.client.stream.Transaction;
1616
import io.pravega.client.stream.TxnFailedException;
1717
import io.pravega.client.stream.impl.ByteArraySerializer;
18+
import io.pravega.keycloak.com.google.common.base.Preconditions;
1819
import io.pravega.sensor.collector.util.EventWriter;
1920
import io.pravega.sensor.collector.util.FileNameWithOffset;
2021
import io.pravega.sensor.collector.util.FileUtils;
@@ -59,11 +60,12 @@ public abstract class FileProcessor {
5960
private final Path movedFilesDirectory;
6061

6162
public FileProcessor(FileConfig config, TransactionStateDB state, EventWriter<byte[]> writer, TransactionCoordinator transactionCoordinator) {
62-
this.config = config;
63-
this.state = state;
64-
this.writer = writer;
65-
this.transactionCoordinator = transactionCoordinator;
66-
this.eventGenerator = getEventGenerator(config);
63+
this.config = Preconditions.checkNotNull(config, "config");
64+
Preconditions.checkNotNull(config.stateDatabaseFileName, "config.stateDatabaseFileName");
65+
this.state = Preconditions.checkNotNull(state, "state");
66+
this.writer = Preconditions.checkNotNull(writer, "writer");
67+
this.transactionCoordinator = Preconditions.checkNotNull(transactionCoordinator, "transactionCoordinator");
68+
this.eventGenerator = Preconditions.checkNotNull(getEventGenerator(config), "eventGenerator");
6769
this.movedFilesDirectory = Paths.get(config.stateDatabaseFileName).getParent();
6870
}
6971

pravega-sensor-collector/src/main/java/io/pravega/sensor/collector/file/csvfile/CsvFileEventGenerator.java

+3-2
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111

1212
import com.fasterxml.jackson.databind.ObjectMapper;
1313
import com.fasterxml.jackson.databind.node.ObjectNode;
14+
import com.google.common.base.Preconditions;
1415
import com.google.common.io.CountingInputStream;
1516
import io.pravega.sensor.collector.file.EventGenerator;
1617
import io.pravega.sensor.collector.util.PravegaWriterEvent;
@@ -41,10 +42,10 @@ public class CsvFileEventGenerator implements EventGenerator {
4142
private final ObjectMapper mapper;
4243

4344
public CsvFileEventGenerator(String routingKey, int maxRecordsPerEvent, ObjectNode eventTemplate, ObjectMapper mapper) {
44-
this.routingKey = routingKey;
45+
this.routingKey = Preconditions.checkNotNull(routingKey, "routingKey");
4546
this.maxRecordsPerEvent = maxRecordsPerEvent;
4647
this.eventTemplate = eventTemplate;
47-
this.mapper = mapper;
48+
this.mapper = Preconditions.checkNotNull(mapper, "objectMapper");
4849
}
4950

5051
public static CsvFileEventGenerator create(String routingKey, int maxRecordsPerEvent, String eventTemplateStr, String writerId) {

pravega-sensor-collector/src/main/java/io/pravega/sensor/collector/file/parquet/ParquetEventGenerator.java

+3-2
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import com.fasterxml.jackson.databind.ObjectMapper;
1414
import com.fasterxml.jackson.databind.node.ObjectNode;
1515
import com.google.common.io.CountingInputStream;
16+
import io.pravega.keycloak.com.google.common.base.Preconditions;
1617
import io.pravega.sensor.collector.file.EventGenerator;
1718
import io.pravega.sensor.collector.util.PravegaWriterEvent;
1819
import org.apache.avro.Schema;
@@ -57,10 +58,10 @@ public class ParquetEventGenerator implements EventGenerator {
5758
private final ObjectMapper mapper;
5859

5960
public ParquetEventGenerator(String routingKey, int maxRecordsPerEvent, ObjectNode eventTemplate, ObjectMapper mapper) {
60-
this.routingKey = routingKey;
61+
this.routingKey = Preconditions.checkNotNull(routingKey, "routingKey");
6162
this.maxRecordsPerEvent = maxRecordsPerEvent;
6263
this.eventTemplate = eventTemplate;
63-
this.mapper = mapper;
64+
this.mapper = Preconditions.checkNotNull(mapper, "objectMapper");
6465
}
6566

6667
public static ParquetEventGenerator create(String routingKey, int maxRecordsPerEvent, String eventTemplateStr, String writerId) {

pravega-sensor-collector/src/main/java/io/pravega/sensor/collector/file/rawfile/RawEventGenerator.java

+3-2
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212

1313
import com.fasterxml.jackson.databind.ObjectMapper;
1414
import com.fasterxml.jackson.databind.node.ObjectNode;
15+
import com.google.common.base.Preconditions;
1516
import com.google.common.io.CountingInputStream;
1617
import io.pravega.sensor.collector.file.EventGenerator;
1718
import io.pravega.sensor.collector.util.PravegaWriterEvent;
@@ -37,9 +38,9 @@ public class RawEventGenerator implements EventGenerator {
3738
private final ObjectMapper mapper;
3839

3940
public RawEventGenerator(String routingKey, ObjectNode eventTemplate, ObjectMapper mapper) {
40-
this.routingKey = routingKey;
41+
this.routingKey = Preconditions.checkNotNull(routingKey, "routingKey");
4142
this.eventTemplate = eventTemplate;
42-
this.mapper = mapper;
43+
this.mapper = Preconditions.checkNotNull(mapper, "objectMapper");
4344
}
4445

4546
public static RawEventGenerator create(String routingKey, String eventTemplateStr, String writerId) {

pravega-sensor-collector/src/main/java/io/pravega/sensor/collector/simple/DataCollectorService.java

+4-3
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
package io.pravega.sensor.collector.simple;
1111

1212
import com.google.common.util.concurrent.AbstractExecutionThreadService;
13+
import io.pravega.keycloak.com.google.common.base.Preconditions;
1314
import org.slf4j.Logger;
1415
import org.slf4j.LoggerFactory;
1516

@@ -28,9 +29,9 @@ public class DataCollectorService<R, S extends Samples> extends AbstractExecutio
2829
private final SimpleDeviceDriver<R, S> driver;
2930

3031
public DataCollectorService(String instanceName, BlockingQueue<R> memoryQueue, SimpleDeviceDriver<R, S> driver) {
31-
this.instanceName = instanceName;
32-
this.memoryQueue = memoryQueue;
33-
this.driver = driver;
32+
this.instanceName = Preconditions.checkNotNull(instanceName, "instanceName");
33+
this.memoryQueue = Preconditions.checkNotNull(memoryQueue, "memoryQueue");
34+
this.driver = Preconditions.checkNotNull(driver, "driver");
3435
}
3536

3637
@Override

pravega-sensor-collector/src/main/java/io/pravega/sensor/collector/simple/MemoryQueueToPersistentQueueService.java

+5-4
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
package io.pravega.sensor.collector.simple;
1111

1212
import com.google.common.util.concurrent.AbstractExecutionThreadService;
13+
import io.pravega.keycloak.com.google.common.base.Preconditions;
1314
import io.pravega.sensor.collector.util.Statistics;
1415
import org.slf4j.Logger;
1516
import org.slf4j.LoggerFactory;
@@ -31,10 +32,10 @@ public class MemoryQueueToPersistentQueueService<R, S extends Samples> extends A
3132
private final int samplesPerEvent;
3233

3334
public MemoryQueueToPersistentQueueService(String instanceName, BlockingQueue<R> memoryQueue, PersistentQueue persistentQueue, SimpleDeviceDriver<R, S> driver, int samplesPerEvent) {
34-
this.instanceName = instanceName;
35-
this.memoryQueue = memoryQueue;
36-
this.persistentQueue = persistentQueue;
37-
this.driver = driver;
35+
this.instanceName = Preconditions.checkNotNull(instanceName, "instanceName");
36+
this.memoryQueue = Preconditions.checkNotNull(memoryQueue, "memoryQueue");
37+
this.persistentQueue = Preconditions.checkNotNull(persistentQueue, "persistentQueue");
38+
this.driver = Preconditions.checkNotNull(driver, "driver");
3839
this.samplesPerEvent = samplesPerEvent;
3940
}
4041

pravega-sensor-collector/src/main/java/io/pravega/sensor/collector/simple/PersistentQueue.java

+3-2
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
*/
1010
package io.pravega.sensor.collector.simple;
1111

12+
import com.google.common.base.Preconditions;
1213
import io.pravega.sensor.collector.util.AutoRollback;
1314
import io.pravega.sensor.collector.util.TransactionCoordinator;
1415
import org.slf4j.Logger;
@@ -48,8 +49,8 @@ public class PersistentQueue implements AutoCloseable {
4849
*/
4950
public PersistentQueue(Connection connection, TransactionCoordinator transactionCoordinator, long capacity) {
5051
try {
51-
this.connection = connection;
52-
this.transactionCoordinator = transactionCoordinator;
52+
this.connection = Preconditions.checkNotNull(connection, "connection");
53+
this.transactionCoordinator = Preconditions.checkNotNull(transactionCoordinator, "transactionCoordinator");
5354
final long initialSize = getDatabaseRecordCount();
5455
LOGGER.info("Persistent queue has {} elements.", initialSize);
5556
final int permits = (int) Long.max(Integer.MIN_VALUE, Long.min(Integer.MAX_VALUE, capacity - initialSize));

pravega-sensor-collector/src/main/java/io/pravega/sensor/collector/simple/PersistentQueueElement.java

+4-2
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
*/
1010
package io.pravega.sensor.collector.simple;
1111

12+
import com.google.common.base.Preconditions;
13+
1214
import java.nio.charset.StandardCharsets;
1315

1416
public class PersistentQueueElement {
@@ -19,8 +21,8 @@ public class PersistentQueueElement {
1921

2022
public PersistentQueueElement(long id, byte[] bytes, String routingKey, long timestamp) {
2123
this.id = id;
22-
this.bytes = bytes;
23-
this.routingKey = routingKey;
24+
this.bytes = Preconditions.checkNotNull(bytes, "bytes");
25+
this.routingKey = Preconditions.checkNotNull(routingKey, "routingKey");
2426
this.timestamp = timestamp;
2527
}
2628

pravega-sensor-collector/src/main/java/io/pravega/sensor/collector/simple/PersistentQueueToPravegaService.java

+4-3
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
package io.pravega.sensor.collector.simple;
1111

1212
import com.google.common.util.concurrent.AbstractExecutionThreadService;
13+
import io.pravega.keycloak.com.google.common.base.Preconditions;
1314
import io.pravega.sensor.collector.util.EventWriter;
1415
import org.slf4j.Logger;
1516
import org.slf4j.LoggerFactory;
@@ -31,9 +32,9 @@ public class PersistentQueueToPravegaService extends AbstractExecutionThreadServ
3132
private final long delayBetweenWriteBatchesMs;
3233

3334
public PersistentQueueToPravegaService(String instanceName, PersistentQueue persistentQueue, EventWriter<byte[]> writer, int maxEventsPerWriteBatch, long delayBetweenWriteBatchesMs) {
34-
this.instanceName = instanceName;
35-
this.persistentQueue = persistentQueue;
36-
this.writer = writer;
35+
this.instanceName = Preconditions.checkNotNull(instanceName, "instanceName");
36+
this.persistentQueue = Preconditions.checkNotNull(persistentQueue, "persistentQueue");
37+
this.writer = Preconditions.checkNotNull(writer, "writer");
3738
this.maxEventsPerWriteBatch = maxEventsPerWriteBatch;
3839
this.delayBetweenWriteBatchesMs = delayBetweenWriteBatchesMs;
3940
}

pravega-sensor-collector/src/main/java/io/pravega/sensor/collector/stateful/DataCollectorService.java

+4-3
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
*
1010
*/
1111
package io.pravega.sensor.collector.stateful;
12+
import com.google.common.base.Preconditions;
1213
import com.google.common.util.concurrent.AbstractExecutionThreadService;
1314

1415
import org.slf4j.Logger;
@@ -28,9 +29,9 @@ public class DataCollectorService<S> extends AbstractExecutionThreadService {
2829

2930
public DataCollectorService(String instanceName, PersistentQueue persistentQueue,
3031
StatefulSensorDeviceDriver<S> driver) {
31-
this.instanceName = instanceName;
32-
this.persistentQueue = persistentQueue;
33-
this.driver = driver;
32+
this.instanceName = Preconditions.checkNotNull(instanceName, "instanceName");
33+
this.persistentQueue = Preconditions.checkNotNull(persistentQueue, "persistentQueue");
34+
this.driver = Preconditions.checkNotNull(driver, "driver");
3435
}
3536

3637
@Override

pravega-sensor-collector/src/main/java/io/pravega/sensor/collector/stateful/PollResponse.java

+3-2
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,16 @@
1111

1212
import java.util.List;
1313

14+
import com.google.common.base.Preconditions;
1415
import io.pravega.sensor.collector.simple.PersistentQueueElement;
1516

1617
public class PollResponse<S> {
1718
public final List<PersistentQueueElement> events;
1819
public final S state;
1920

2021
public PollResponse(List<PersistentQueueElement> events, S state) {
21-
this.events = events;
22-
this.state = state;
22+
this.events = Preconditions.checkNotNull(events, "events");
23+
this.state = Preconditions.checkNotNull(state, "state");
2324
}
2425

2526
@Override

pravega-sensor-collector/src/main/java/io/pravega/sensor/collector/stateful/ReadingState.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
*/
1010
package io.pravega.sensor.collector.stateful;
1111

12+
import io.pravega.keycloak.com.google.common.base.Preconditions;
1213
import org.slf4j.Logger;
1314
import org.slf4j.LoggerFactory;
1415

@@ -25,7 +26,7 @@ public class ReadingState {
2526
private static final Logger LOGGER = LoggerFactory.getLogger(ReadingState.class);
2627
public final Connection connection;
2728
public ReadingState(Connection connection) {
28-
this.connection = connection;
29+
this.connection = Preconditions.checkNotNull(connection, "connection");
2930
try {
3031
try (final Statement statement = connection.createStatement()) {
3132
statement.execute("create table if not exists LastReadingState (" +

pravega-sensor-collector/src/main/java/io/pravega/sensor/collector/util/AutoRollback.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
*/
1010
package io.pravega.sensor.collector.util;
1111

12+
import com.google.common.base.Preconditions;
1213
import org.slf4j.Logger;
1314
import org.slf4j.LoggerFactory;
1415

@@ -25,7 +26,7 @@ public class AutoRollback implements AutoCloseable {
2526
private boolean committed;
2627

2728
public AutoRollback(Connection connection) {
28-
this.connection = connection;
29+
this.connection = Preconditions.checkNotNull(connection, "connection");
2930
}
3031

3132
public void commit() throws SQLException {

pravega-sensor-collector/src/main/java/io/pravega/sensor/collector/util/FileNameWithOffset.java

+3-1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
*/
1010
package io.pravega.sensor.collector.util;
1111

12+
import io.pravega.keycloak.com.google.common.base.Preconditions;
13+
1214
import java.util.Objects;
1315

1416
/**
@@ -25,7 +27,7 @@ public class FileNameWithOffset implements Comparable<FileNameWithOffset> {
2527
public final long offset;
2628

2729
public FileNameWithOffset(String fileName, long offset) {
28-
this.fileName = fileName;
30+
this.fileName = Preconditions.checkNotNull(fileName, "fileName");
2931
this.offset = offset;
3032
}
3133

pravega-sensor-collector/src/main/java/io/pravega/sensor/collector/util/NonTransactionalEventWriter.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
*/
1010
package io.pravega.sensor.collector.util;
1111

12+
import com.google.common.base.Preconditions;
1213
import io.pravega.client.stream.EventStreamWriter;
1314
import io.pravega.client.stream.Transaction;
1415
import io.pravega.client.stream.TxnFailedException;
@@ -27,7 +28,7 @@ public class NonTransactionalEventWriter<T> implements EventWriter<T> {
2728
private final EventStreamWriter<T> writer;
2829

2930
public NonTransactionalEventWriter(EventStreamWriter<T> writer) {
30-
this.writer = writer;
31+
this.writer = Preconditions.checkNotNull(writer, "writer");
3132
}
3233

3334
public void writeEvent(String routingKey, T event) {

pravega-sensor-collector/src/main/java/io/pravega/sensor/collector/util/PersistentId.java

+2
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
*/
1010
package io.pravega.sensor.collector.util;
1111

12+
import com.google.common.base.Preconditions;
1213
import org.slf4j.Logger;
1314
import org.slf4j.LoggerFactory;
1415

@@ -24,6 +25,7 @@ public class PersistentId {
2425
private final UUID persistentId;
2526

2627
public PersistentId(Connection connection) {
28+
Preconditions.checkNotNull(connection, "connection");
2729
try {
2830
try (final Statement statement = connection.createStatement()) {
2931
// Create table if needed.

pravega-sensor-collector/src/main/java/io/pravega/sensor/collector/util/PravegaWriterEvent.java

+4-2
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
*/
1010
package io.pravega.sensor.collector.util;
1111

12+
import com.google.common.base.Preconditions;
13+
1214
/**
1315
* Event generated from file and its sequence number
1416
*/
@@ -18,9 +20,9 @@ public class PravegaWriterEvent {
1820
public final byte[] bytes;
1921

2022
public PravegaWriterEvent(String routingKey, long sequenceNumber, byte[] bytes) {
21-
this.routingKey = routingKey;
23+
this.routingKey = Preconditions.checkNotNull(routingKey, "routingKey");
2224
this.sequenceNumber = sequenceNumber;
23-
this.bytes = bytes;
25+
this.bytes = Preconditions.checkNotNull(bytes, "bytes");
2426
}
2527

2628
@Override

pravega-sensor-collector/src/main/java/io/pravega/sensor/collector/util/TransactionCoordinator.java

+3-2
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
*/
1010
package io.pravega.sensor.collector.util;
1111

12+
import com.google.common.base.Preconditions;
1213
import io.pravega.client.stream.TxnFailedException;
1314
import org.slf4j.Logger;
1415
import org.slf4j.LoggerFactory;
@@ -65,8 +66,8 @@ public class TransactionCoordinator {
6566
private final EventWriter<byte[]> writer;
6667

6768
public TransactionCoordinator(Connection connection, EventWriter<byte[]> writer) {
68-
this.connection = connection;
69-
this.writer = writer;
69+
this.connection = Preconditions.checkNotNull(connection, "connection");
70+
this.writer = Preconditions.checkNotNull(writer, "writer");
7071
try {
7172
try (final Statement statement = connection.createStatement()) {
7273
statement.execute(

0 commit comments

Comments
 (0)