diff --git a/datastream-client/src/main/java/com/linkedin/datastream/BaseRestClientFactory.java b/datastream-client/src/main/java/com/linkedin/datastream/BaseRestClientFactory.java index f3b0fb3a3..a603d52d1 100644 --- a/datastream-client/src/main/java/com/linkedin/datastream/BaseRestClientFactory.java +++ b/datastream-client/src/main/java/com/linkedin/datastream/BaseRestClientFactory.java @@ -152,7 +152,7 @@ private static String getKey(String uri, Map httpConfig) { * shutdown, hence it is okay for us to make the threads daemon. */ private class DaemonNamedThreadFactory extends NamedThreadFactory { - public DaemonNamedThreadFactory(String name) { + DaemonNamedThreadFactory(String name) { super(name + " " + StringUtils.substringAfterLast(_logger.getName(), ".")); } diff --git a/datastream-client/src/main/java/com/linkedin/datastream/DatastreamRestClientFactory.java b/datastream-client/src/main/java/com/linkedin/datastream/DatastreamRestClientFactory.java index 9ddf7b96b..7a88170f6 100644 --- a/datastream-client/src/main/java/com/linkedin/datastream/DatastreamRestClientFactory.java +++ b/datastream-client/src/main/java/com/linkedin/datastream/DatastreamRestClientFactory.java @@ -23,6 +23,10 @@ * DatastreamRestClient, without doing a major refactoring of the code. */ public final class DatastreamRestClientFactory { + + private DatastreamRestClientFactory() { + } + private static final Logger LOG = LoggerFactory.getLogger(DatastreamRestClientFactory.class); private static final BaseRestClientFactory FACTORY = new BaseRestClientFactory<>(DatastreamRestClient.class, LOG); diff --git a/datastream-client/src/main/java/com/linkedin/diagnostics/ServerComponentHealthRestClientFactory.java b/datastream-client/src/main/java/com/linkedin/diagnostics/ServerComponentHealthRestClientFactory.java index c7775088d..ec8e3c25e 100644 --- a/datastream-client/src/main/java/com/linkedin/diagnostics/ServerComponentHealthRestClientFactory.java +++ b/datastream-client/src/main/java/com/linkedin/diagnostics/ServerComponentHealthRestClientFactory.java @@ -21,6 +21,10 @@ * Factory class for obtaining {@link ServerComponentHealthRestClient} objects. */ public final class ServerComponentHealthRestClientFactory { + + private ServerComponentHealthRestClientFactory() { + } + private static final Logger LOG = LoggerFactory.getLogger(DatastreamRestClientFactory.class); private static final BaseRestClientFactory FACTORY = new BaseRestClientFactory<>(ServerComponentHealthRestClient.class, LOG); diff --git a/datastream-common/src/main/java/com/linkedin/datastream/common/AvroMessageEncoderUtil.java b/datastream-common/src/main/java/com/linkedin/datastream/common/AvroMessageEncoderUtil.java index f6c9372be..f39c102f6 100644 --- a/datastream-common/src/main/java/com/linkedin/datastream/common/AvroMessageEncoderUtil.java +++ b/datastream-common/src/main/java/com/linkedin/datastream/common/AvroMessageEncoderUtil.java @@ -25,7 +25,11 @@ /** * Utility class to simplify Avro message encoding */ -public class AvroMessageEncoderUtil { +public final class AvroMessageEncoderUtil { + + private AvroMessageEncoderUtil() { + } + public static final byte MAGIC_BYTE = 0x0; /** diff --git a/datastream-common/src/main/java/com/linkedin/datastream/common/BrooklinEnvelopeMetadataConstants.java b/datastream-common/src/main/java/com/linkedin/datastream/common/BrooklinEnvelopeMetadataConstants.java index 1515869b0..b09238795 100644 --- a/datastream-common/src/main/java/com/linkedin/datastream/common/BrooklinEnvelopeMetadataConstants.java +++ b/datastream-common/src/main/java/com/linkedin/datastream/common/BrooklinEnvelopeMetadataConstants.java @@ -8,7 +8,10 @@ /** * Constants used in the metadata field of {@link BrooklinEnvelope} */ -public class BrooklinEnvelopeMetadataConstants { +public final class BrooklinEnvelopeMetadataConstants { + + private BrooklinEnvelopeMetadataConstants() { + } /** * Codes to identify the different data change operations diff --git a/datastream-common/src/main/java/com/linkedin/datastream/common/DatastreamMetadataConstants.java b/datastream-common/src/main/java/com/linkedin/datastream/common/DatastreamMetadataConstants.java index efcc226d8..ea426541c 100644 --- a/datastream-common/src/main/java/com/linkedin/datastream/common/DatastreamMetadataConstants.java +++ b/datastream-common/src/main/java/com/linkedin/datastream/common/DatastreamMetadataConstants.java @@ -8,7 +8,10 @@ /** * Various well known config keys used in datastream metadata. */ -public class DatastreamMetadataConstants { +public final class DatastreamMetadataConstants { + + private DatastreamMetadataConstants() { + } /** * Represents whether the datastream has an User managed destination (a.k.a BYOT - Bring your own topic) diff --git a/datastream-common/src/main/java/com/linkedin/datastream/common/JsonUtils.java b/datastream-common/src/main/java/com/linkedin/datastream/common/JsonUtils.java index bc96fa7c7..ee0560db9 100644 --- a/datastream-common/src/main/java/com/linkedin/datastream/common/JsonUtils.java +++ b/datastream-common/src/main/java/com/linkedin/datastream/common/JsonUtils.java @@ -32,6 +32,10 @@ * for checking the */ public final class JsonUtils { + + private JsonUtils() { + } + private static final Logger LOG = LoggerFactory.getLogger(JsonUtils.class.getName()); private static final ObjectMapper MAPPER = new ObjectMapper(); diff --git a/datastream-common/src/main/java/com/linkedin/datastream/common/ReflectionUtils.java b/datastream-common/src/main/java/com/linkedin/datastream/common/ReflectionUtils.java index fd53d1b7c..4fb24fecf 100644 --- a/datastream-common/src/main/java/com/linkedin/datastream/common/ReflectionUtils.java +++ b/datastream-common/src/main/java/com/linkedin/datastream/common/ReflectionUtils.java @@ -18,7 +18,11 @@ /** * Utility class to simplify usage of Java reflection. */ -public class ReflectionUtils { +public final class ReflectionUtils { + + private ReflectionUtils() { + } + private static final Logger LOG = LoggerFactory.getLogger(ReflectionUtils.class); private static final Class[][] COMPATIBLE_TYPES = { diff --git a/datastream-common/src/main/java/com/linkedin/datastream/common/databases/dbreader/DatabaseChunkedReaderMetrics.java b/datastream-common/src/main/java/com/linkedin/datastream/common/databases/dbreader/DatabaseChunkedReaderMetrics.java index a3101bc66..b1c3d36f1 100644 --- a/datastream-common/src/main/java/com/linkedin/datastream/common/databases/dbreader/DatabaseChunkedReaderMetrics.java +++ b/datastream-common/src/main/java/com/linkedin/datastream/common/databases/dbreader/DatabaseChunkedReaderMetrics.java @@ -52,7 +52,7 @@ class DatabaseChunkedReaderMetrics extends BrooklinMetrics { * @param source Aggregate metrics for source .i.e. at the Database table level * @param key Metrics at the reader level, identified by key */ - public DatabaseChunkedReaderMetrics(String source, String key) { + DatabaseChunkedReaderMetrics(String source, String key) { super(CLASS_NAME, key); _source = source; diff --git a/datastream-common/src/main/java/com/linkedin/datastream/connectors/CommonConnectorMetrics.java b/datastream-common/src/main/java/com/linkedin/datastream/connectors/CommonConnectorMetrics.java index e670dfce9..4eeac2799 100644 --- a/datastream-common/src/main/java/com/linkedin/datastream/connectors/CommonConnectorMetrics.java +++ b/datastream-common/src/main/java/com/linkedin/datastream/connectors/CommonConnectorMetrics.java @@ -68,7 +68,7 @@ static class EventProcMetrics extends BrooklinMetrics { final Meter _aggregatedErrorRate; final Meter _aggregatedProcessingAboveThreshold; - public EventProcMetrics(String className, String key) { + EventProcMetrics(String className, String key) { super(className, key); _lastEventReceivedTime = Instant.now(); _eventsProcessedRate = DYNAMIC_METRICS_MANAGER.registerMetric(_className, _key, EVENTS_PROCESSED_RATE, @@ -139,7 +139,7 @@ static class PollMetrics extends BrooklinMetrics { final Counter _aggregatedClientPollOverTimeout; final Counter _aggregatedClientPollIntervalOverSessionTimeout; - public PollMetrics(String className, String key) { + PollMetrics(String className, String key) { super(className, key); _numPolls = DYNAMIC_METRICS_MANAGER.registerMetric(_className, _key, NUM_POLLS, Meter.class); _eventCountsPerPoll = DYNAMIC_METRICS_MANAGER.registerMetric(_className, _key, EVENT_COUNTS_PER_POLL, @@ -203,7 +203,7 @@ static class PartitionMetrics extends BrooklinMetrics { private final AtomicLong _numPartitions; private final AtomicLong _numStuckPartitions; - public PartitionMetrics(String className, String key) { + PartitionMetrics(String className, String key) { super(className, key); _fullMetricsKey = MetricRegistry.name(_className, _key); _rebalanceRate = DYNAMIC_METRICS_MANAGER.registerMetric(_className, _key, REBALANCE_RATE, Meter.class); diff --git a/datastream-common/src/main/java/com/linkedin/datastream/kafka/KafkaDatastreamMetadataConstants.java b/datastream-common/src/main/java/com/linkedin/datastream/kafka/KafkaDatastreamMetadataConstants.java index 2fffeb24c..ba3cfc21a 100644 --- a/datastream-common/src/main/java/com/linkedin/datastream/kafka/KafkaDatastreamMetadataConstants.java +++ b/datastream-common/src/main/java/com/linkedin/datastream/kafka/KafkaDatastreamMetadataConstants.java @@ -8,7 +8,10 @@ /** * Metadata constants that are specific to Kafka (or Kafka MirrorMaker) datastreams. */ -public class KafkaDatastreamMetadataConstants { +public final class KafkaDatastreamMetadataConstants { + + private KafkaDatastreamMetadataConstants() { + } // Can be used by the transport provider to send to a particular Kafka cluster public static final String DESTINATION_KAFKA_BROKERS = "system.destination.KafkaBrokers"; diff --git a/datastream-common/src/main/java/com/linkedin/datastream/metrics/DynamicMetricsManager.java b/datastream-common/src/main/java/com/linkedin/datastream/metrics/DynamicMetricsManager.java index 39ef431e2..ec8062507 100644 --- a/datastream-common/src/main/java/com/linkedin/datastream/metrics/DynamicMetricsManager.java +++ b/datastream-common/src/main/java/com/linkedin/datastream/metrics/DynamicMetricsManager.java @@ -28,7 +28,7 @@ /** * Manages dynamic metrics and supports creating/updating metrics on the fly. */ -public class DynamicMetricsManager { +public final class DynamicMetricsManager { static final String NO_KEY_PLACEHOLDER = "NO_KEY"; private static final Logger LOG = LoggerFactory.getLogger(DynamicMetricsManager.class); private static DynamicMetricsManager _instance = null; diff --git a/datastream-common/src/main/java/com/linkedin/datastream/metrics/JmxReporterFactory.java b/datastream-common/src/main/java/com/linkedin/datastream/metrics/JmxReporterFactory.java index 6f83f4d4b..695895948 100644 --- a/datastream-common/src/main/java/com/linkedin/datastream/metrics/JmxReporterFactory.java +++ b/datastream-common/src/main/java/com/linkedin/datastream/metrics/JmxReporterFactory.java @@ -21,7 +21,11 @@ * A factory for {@link JmxReporter} objects that generates metrics whose * names are decided according to {@link BrooklinObjectNameFactory}. */ -public class JmxReporterFactory { +public final class JmxReporterFactory { + + private JmxReporterFactory() { + } + private static final ObjectNameFactory OBJECT_NAME_FACTORY = new BrooklinObjectNameFactory(); /** diff --git a/datastream-common/src/main/java/com/linkedin/datastream/metrics/ResettableGauge.java b/datastream-common/src/main/java/com/linkedin/datastream/metrics/ResettableGauge.java index 50c3e8ef7..d0f72a1c1 100644 --- a/datastream-common/src/main/java/com/linkedin/datastream/metrics/ResettableGauge.java +++ b/datastream-common/src/main/java/com/linkedin/datastream/metrics/ResettableGauge.java @@ -18,10 +18,10 @@ class ResettableGauge implements Gauge { private Supplier _supplier; - public ResettableGauge() { + ResettableGauge() { } - public ResettableGauge(Supplier supplier) { + ResettableGauge(Supplier supplier) { _supplier = supplier; } diff --git a/datastream-file-connector/src/main/java/com/linkedin/datastream/connectors/file/FileProcessor.java b/datastream-file-connector/src/main/java/com/linkedin/datastream/connectors/file/FileProcessor.java index fa4bb3e1e..ae117a0f4 100644 --- a/datastream-file-connector/src/main/java/com/linkedin/datastream/connectors/file/FileProcessor.java +++ b/datastream-file-connector/src/main/java/com/linkedin/datastream/connectors/file/FileProcessor.java @@ -50,7 +50,7 @@ class FileProcessor implements Runnable { private boolean _cancelRequested; private boolean _isStopped; - public FileProcessor(DatastreamTask datastreamTask, DatastreamEventProducer producer) throws FileNotFoundException { + FileProcessor(DatastreamTask datastreamTask, DatastreamEventProducer producer) throws FileNotFoundException { _task = datastreamTask; _fileName = datastreamTask.getDatastreamSource().getConnectionString(); _positionKey = new FilePositionKey(_task.getTaskPrefix(), _task.getDatastreamTaskName(), Instant.now(), _fileName); diff --git a/datastream-kafka-connector/src/main/java/com/linkedin/datastream/connectors/kafka/AbstractKafkaConnector.java b/datastream-kafka-connector/src/main/java/com/linkedin/datastream/connectors/kafka/AbstractKafkaConnector.java index f5b40aaf2..b20ba3166 100644 --- a/datastream-kafka-connector/src/main/java/com/linkedin/datastream/connectors/kafka/AbstractKafkaConnector.java +++ b/datastream-kafka-connector/src/main/java/com/linkedin/datastream/connectors/kafka/AbstractKafkaConnector.java @@ -789,6 +789,7 @@ public Map> getConsumptionLagForTask(DatastreamTask t /** * {@inheritDoc} */ + @Override public List getActiveTasks() { List tasks = new ArrayList<>(); diff --git a/datastream-kafka-connector/src/main/java/com/linkedin/datastream/connectors/kafka/KafkaConnectorDiagUtils.java b/datastream-kafka-connector/src/main/java/com/linkedin/datastream/connectors/kafka/KafkaConnectorDiagUtils.java index 0a60767ee..0f59bd91f 100644 --- a/datastream-kafka-connector/src/main/java/com/linkedin/datastream/connectors/kafka/KafkaConnectorDiagUtils.java +++ b/datastream-kafka-connector/src/main/java/com/linkedin/datastream/connectors/kafka/KafkaConnectorDiagUtils.java @@ -22,7 +22,11 @@ /** * Utility class for Kafka based connectors */ -public class KafkaConnectorDiagUtils { +public final class KafkaConnectorDiagUtils { + + private KafkaConnectorDiagUtils() { + } + /** * Reduce/Merge the KafkaTopicPartitionStatsResponse responses of a collection of host/instance into one response */ diff --git a/datastream-kafka-connector/src/main/java/com/linkedin/datastream/connectors/kafka/mirrormaker/KafkaMirrorMakerConnector.java b/datastream-kafka-connector/src/main/java/com/linkedin/datastream/connectors/kafka/mirrormaker/KafkaMirrorMakerConnector.java index 3fcfad26e..80d5f41da 100644 --- a/datastream-kafka-connector/src/main/java/com/linkedin/datastream/connectors/kafka/mirrormaker/KafkaMirrorMakerConnector.java +++ b/datastream-kafka-connector/src/main/java/com/linkedin/datastream/connectors/kafka/mirrormaker/KafkaMirrorMakerConnector.java @@ -268,7 +268,7 @@ private void validateSourceConnectionString(Datastream stream) throws Datastream * PartitionDiscoveryThread listens to Kafka partitions periodically using the _consumer.listTopic() * to fetch the latest subscribed partitions for a given datastreamGroup */ - class PartitionDiscoveryThread extends Thread { + final class PartitionDiscoveryThread extends Thread { // The datastream group that this partitionDiscoveryThread is responsible to handle private final DatastreamGroup _datastreamGroup; diff --git a/datastream-kafka-connector/src/main/java/com/linkedin/datastream/connectors/kafka/mirrormaker/KafkaMirrorMakerDatastreamMetadata.java b/datastream-kafka-connector/src/main/java/com/linkedin/datastream/connectors/kafka/mirrormaker/KafkaMirrorMakerDatastreamMetadata.java index b78f3d491..87db68d4c 100644 --- a/datastream-kafka-connector/src/main/java/com/linkedin/datastream/connectors/kafka/mirrormaker/KafkaMirrorMakerDatastreamMetadata.java +++ b/datastream-kafka-connector/src/main/java/com/linkedin/datastream/connectors/kafka/mirrormaker/KafkaMirrorMakerDatastreamMetadata.java @@ -15,6 +15,9 @@ */ public final class KafkaMirrorMakerDatastreamMetadata { + private KafkaMirrorMakerDatastreamMetadata() { + } + public static final String IDENTITY_PARTITIONING_ENABLED = "system.destination.identityPartitioningEnabled"; /** diff --git a/datastream-kafka/src/main/java/com/linkedin/datastream/kafka/KafkaTransportProviderUtils.java b/datastream-kafka/src/main/java/com/linkedin/datastream/kafka/KafkaTransportProviderUtils.java index 543296c71..ba423ab11 100644 --- a/datastream-kafka/src/main/java/com/linkedin/datastream/kafka/KafkaTransportProviderUtils.java +++ b/datastream-kafka/src/main/java/com/linkedin/datastream/kafka/KafkaTransportProviderUtils.java @@ -17,7 +17,11 @@ /** * Utility methods for {@link KafkaTransportProvider} */ -public class KafkaTransportProviderUtils { +public final class KafkaTransportProviderUtils { + + private KafkaTransportProviderUtils() { + } + private static final Logger LOG = LoggerFactory.getLogger(KafkaTransportProviderUtils.class.getName()); // Mapping destination URI to topic name private final static Map URI_TOPICS = new ConcurrentHashMap<>(); diff --git a/datastream-server/src/main/java/com/linkedin/datastream/server/Coordinator.java b/datastream-server/src/main/java/com/linkedin/datastream/server/Coordinator.java index 743a1ad4e..4debb02c0 100644 --- a/datastream-server/src/main/java/com/linkedin/datastream/server/Coordinator.java +++ b/datastream-server/src/main/java/com/linkedin/datastream/server/Coordinator.java @@ -2482,7 +2482,7 @@ private static class CoordinatorMetrics { private final List _metricInfos; private final DynamicMetricsManager _dynamicMetricsManager; - public CoordinatorMetrics(Coordinator coordinator) { + CoordinatorMetrics(Coordinator coordinator) { _coordinator = coordinator; _metricInfos = new ArrayList<>(); _dynamicMetricsManager = DynamicMetricsManager.getInstance(); diff --git a/datastream-server/src/main/java/com/linkedin/datastream/server/DatastreamServerConfigurationConstants.java b/datastream-server/src/main/java/com/linkedin/datastream/server/DatastreamServerConfigurationConstants.java index d9b0507e5..5b50ca4a2 100644 --- a/datastream-server/src/main/java/com/linkedin/datastream/server/DatastreamServerConfigurationConstants.java +++ b/datastream-server/src/main/java/com/linkedin/datastream/server/DatastreamServerConfigurationConstants.java @@ -10,6 +10,9 @@ */ public final class DatastreamServerConfigurationConstants { + private DatastreamServerConfigurationConstants() { + } + public static final String CONFIG_PREFIX = "brooklin.server."; public static final String CONFIG_CONNECTOR_NAMES = CONFIG_PREFIX + "connectorNames"; public static final String CONFIG_HTTP_PORT = CONFIG_PREFIX + "httpPort"; diff --git a/datastream-server/src/main/java/com/linkedin/datastream/server/assignment/StickyPartitionAssignmentStrategy.java b/datastream-server/src/main/java/com/linkedin/datastream/server/assignment/StickyPartitionAssignmentStrategy.java index f5e85f275..46bb13104 100644 --- a/datastream-server/src/main/java/com/linkedin/datastream/server/assignment/StickyPartitionAssignmentStrategy.java +++ b/datastream-server/src/main/java/com/linkedin/datastream/server/assignment/StickyPartitionAssignmentStrategy.java @@ -778,7 +778,7 @@ private static class ElasticTaskAssignmentInfo { private final int _actualPartitionsPerTask; private final boolean _needsAdjustment; - public ElasticTaskAssignmentInfo(int actualPartitionsPerTask, boolean needsAdjustment) { + ElasticTaskAssignmentInfo(int actualPartitionsPerTask, boolean needsAdjustment) { _actualPartitionsPerTask = actualPartitionsPerTask; _needsAdjustment = needsAdjustment; } diff --git a/datastream-server/src/main/java/com/linkedin/datastream/server/zk/ZkAdapter.java b/datastream-server/src/main/java/com/linkedin/datastream/server/zk/ZkAdapter.java index af6a59e98..a868dc6dc 100644 --- a/datastream-server/src/main/java/com/linkedin/datastream/server/zk/ZkAdapter.java +++ b/datastream-server/src/main/java/com/linkedin/datastream/server/zk/ZkAdapter.java @@ -1699,7 +1699,7 @@ private class ZkBackedDMSDatastreamList implements IZkChildListener, IZkDataList /** * Sets up a watch on the {@code /{cluster}/dms} tree, so it can be notified of future changes. */ - public ZkBackedDMSDatastreamList() { + ZkBackedDMSDatastreamList() { _path = KeyBuilder.datastreams(_cluster); _zkclient.ensurePath(KeyBuilder.datastreams(_cluster)); LOG.info("ZkBackedDMSDatastreamList::Subscribing to the changes under the path " + _path); @@ -1768,7 +1768,7 @@ private class ZkBackedLiveInstanceListProvider implements IZkChildListener { * Sets up a watch on the {@code /{cluster}/liveinstances} tree, so it can be notified * of future changes. */ - public ZkBackedLiveInstanceListProvider() { + ZkBackedLiveInstanceListProvider() { _path = KeyBuilder.liveInstances(_cluster); _zkclient.ensurePath(_path); LOG.info("ZkBackedLiveInstanceListProvider::Subscribing to the under the path " + _path); @@ -1850,7 +1850,7 @@ private class ZkBackedTaskListProvider implements IZkChildListener, IZkDataListe * Constructor * @param instanceName Instance for which the datastream task assignment is to be watched. */ - public ZkBackedTaskListProvider(String cluster, String instanceName) { + ZkBackedTaskListProvider(String cluster, String instanceName) { _path = KeyBuilder.instanceAssignments(cluster, instanceName); LOG.info("ZkBackedTaskListProvider::Subscribing to the changes under the path " + _path); _zkclient.subscribeChildChanges(_path, this); @@ -1901,7 +1901,7 @@ private class ZkTargetAssignmentProvider implements IZkDataListener { /** * Constructor */ - public ZkTargetAssignmentProvider(Set connectorTypes) { + ZkTargetAssignmentProvider(Set connectorTypes) { for (String connectorType : connectorTypes) { String path = KeyBuilder.getTargetAssignmentBase(_cluster, connectorType); _zkclient.subscribeDataChanges(path, this); @@ -1956,7 +1956,7 @@ private class ZkStateChangeListener implements IZkStateListener { new ThreadFactoryBuilder().setDaemon(true).setNameFormat("SessionExpiryScheduler-%d").build()); private Future _zkSessionExpiryFuture = CompletableFuture.completedFuture("completed"); - public ZkStateChangeListener() { + ZkStateChangeListener() { _zkclient.subscribeStateChanges(this); } diff --git a/datastream-testcommon/src/main/java/com/linkedin/datastream/server/EmbeddedDatastreamCluster.java b/datastream-testcommon/src/main/java/com/linkedin/datastream/server/EmbeddedDatastreamCluster.java index 72dc070e6..c8350b36b 100644 --- a/datastream-testcommon/src/main/java/com/linkedin/datastream/server/EmbeddedDatastreamCluster.java +++ b/datastream-testcommon/src/main/java/com/linkedin/datastream/server/EmbeddedDatastreamCluster.java @@ -28,7 +28,7 @@ /** * Provides a Datastream cluster, including a ZooKeeper cluster and Kafka cluster (if necessary), for testing purposes. */ -public class EmbeddedDatastreamCluster { +public final class EmbeddedDatastreamCluster { public static final String CONFIG_ZK_CONNECT = "zookeeper.connect"; public static final String BOOTSTRAP_SERVERS_CONFIG = "bootstrap.servers"; diff --git a/datastream-testcommon/src/main/java/com/linkedin/datastream/testutil/DatastreamTestUtils.java b/datastream-testcommon/src/main/java/com/linkedin/datastream/testutil/DatastreamTestUtils.java index 50399d51a..52bf013fe 100644 --- a/datastream-testcommon/src/main/java/com/linkedin/datastream/testutil/DatastreamTestUtils.java +++ b/datastream-testcommon/src/main/java/com/linkedin/datastream/testutil/DatastreamTestUtils.java @@ -27,7 +27,11 @@ /** * Utility class for writing tests that deal with Datastream objects. */ -public class DatastreamTestUtils { +public final class DatastreamTestUtils { + + private DatastreamTestUtils() { + } + /** * Creates variable number of Datastreams from a list of names with * fields populated with default values except for name and connector type. diff --git a/datastream-testcommon/src/main/java/com/linkedin/datastream/testutil/MetricsTestUtils.java b/datastream-testcommon/src/main/java/com/linkedin/datastream/testutil/MetricsTestUtils.java index 0f85e662b..2821cf2c9 100644 --- a/datastream-testcommon/src/main/java/com/linkedin/datastream/testutil/MetricsTestUtils.java +++ b/datastream-testcommon/src/main/java/com/linkedin/datastream/testutil/MetricsTestUtils.java @@ -35,7 +35,7 @@ * Test utilities for verifying metrics * @see MetricsAware */ -public class MetricsTestUtils { +public final class MetricsTestUtils { // Mapping of BrooklinMetricInfo sub-types -> com.codahale.metrics types private static final Map, Class> METRICS_TYPE_MAPPING = ImmutableMap.of( BrooklinCounterInfo.class, Counter.class, diff --git a/datastream-tools/src/main/java/com/linkedin/datastream/tools/DatastreamRestClientCli.java b/datastream-tools/src/main/java/com/linkedin/datastream/tools/DatastreamRestClientCli.java index c150af818..17f95f32b 100644 --- a/datastream-tools/src/main/java/com/linkedin/datastream/tools/DatastreamRestClientCli.java +++ b/datastream-tools/src/main/java/com/linkedin/datastream/tools/DatastreamRestClientCli.java @@ -35,7 +35,7 @@ /** * The main class containing the entry point of the Datastream REST client command line utility */ -public class DatastreamRestClientCli { +public final class DatastreamRestClientCli { private DatastreamRestClientCli() { } diff --git a/datastream-tools/src/main/java/com/linkedin/datastream/tools/OptionConstants.java b/datastream-tools/src/main/java/com/linkedin/datastream/tools/OptionConstants.java index 3a6770e85..7f1cb3c2c 100644 --- a/datastream-tools/src/main/java/com/linkedin/datastream/tools/OptionConstants.java +++ b/datastream-tools/src/main/java/com/linkedin/datastream/tools/OptionConstants.java @@ -8,7 +8,10 @@ /** * String constants for options used with {@link DatastreamRestClientCli} */ -public class OptionConstants { +public final class OptionConstants { + + private OptionConstants() { + } public static final String OPT_SHORT_MGMT_URI = "u"; public static final String OPT_LONG_MGMT_URI = "uri"; diff --git a/datastream-tools/src/main/java/com/linkedin/datastream/tools/OptionUtils.java b/datastream-tools/src/main/java/com/linkedin/datastream/tools/OptionUtils.java index f28cb5826..7fb8175c7 100644 --- a/datastream-tools/src/main/java/com/linkedin/datastream/tools/OptionUtils.java +++ b/datastream-tools/src/main/java/com/linkedin/datastream/tools/OptionUtils.java @@ -11,7 +11,10 @@ /** * Utility class for creating command line {@link Option}s */ -public class OptionUtils { +public final class OptionUtils { + + private OptionUtils() { + } /** * Create a command line option diff --git a/datastream-utils/src/main/java/com/linkedin/datastream/common/AvroUtils.java b/datastream-utils/src/main/java/com/linkedin/datastream/common/AvroUtils.java index fa6922ae1..304d78741 100644 --- a/datastream-utils/src/main/java/com/linkedin/datastream/common/AvroUtils.java +++ b/datastream-utils/src/main/java/com/linkedin/datastream/common/AvroUtils.java @@ -31,7 +31,10 @@ /** * Utility methods for encoding/decoding data into/from Avro. */ -public class AvroUtils { +public final class AvroUtils { + + private AvroUtils() { + } /** * Encode an Avro record into byte array diff --git a/datastream-utils/src/main/java/com/linkedin/datastream/common/FileUtils.java b/datastream-utils/src/main/java/com/linkedin/datastream/common/FileUtils.java index ca2b05625..eb36e4a30 100644 --- a/datastream-utils/src/main/java/com/linkedin/datastream/common/FileUtils.java +++ b/datastream-utils/src/main/java/com/linkedin/datastream/common/FileUtils.java @@ -17,7 +17,10 @@ /** * Class that contains the helper utility methods for File system operations. */ -public class FileUtils { +public final class FileUtils { + + private FileUtils() { + } private static final Logger LOG = LoggerFactory.getLogger(FileUtils.class.getName()); diff --git a/datastream-utils/src/main/java/com/linkedin/datastream/common/FutureUtils.java b/datastream-utils/src/main/java/com/linkedin/datastream/common/FutureUtils.java index 481842e61..20e00c63b 100644 --- a/datastream-utils/src/main/java/com/linkedin/datastream/common/FutureUtils.java +++ b/datastream-utils/src/main/java/com/linkedin/datastream/common/FutureUtils.java @@ -22,7 +22,7 @@ /** * Utilities to work with {@link Future} */ -public class FutureUtils { +public final class FutureUtils { private static final int EXECUTOR_CORE_POOL_SIZE = 4; private static final ScheduledExecutorService SCHEDULED_EXECUTOR_SERVICE = Executors.newScheduledThreadPool( diff --git a/datastream-utils/src/main/java/com/linkedin/datastream/common/LogUtils.java b/datastream-utils/src/main/java/com/linkedin/datastream/common/LogUtils.java index 5c5a41f87..278a8493e 100644 --- a/datastream-utils/src/main/java/com/linkedin/datastream/common/LogUtils.java +++ b/datastream-utils/src/main/java/com/linkedin/datastream/common/LogUtils.java @@ -20,7 +20,11 @@ /** * Util class for logging-related methods */ -public class LogUtils { +public final class LogUtils { + + private LogUtils() { + } + private static final Logger LOG = LoggerFactory.getLogger(LogUtils.class.getName()); private static final double BUFFER_1KB = 1024; diff --git a/datastream-utils/src/main/java/com/linkedin/datastream/common/NetworkUtils.java b/datastream-utils/src/main/java/com/linkedin/datastream/common/NetworkUtils.java index 57740bbc1..cc35fa371 100644 --- a/datastream-utils/src/main/java/com/linkedin/datastream/common/NetworkUtils.java +++ b/datastream-utils/src/main/java/com/linkedin/datastream/common/NetworkUtils.java @@ -12,7 +12,10 @@ /** * Class that contains the helper utility methods for Network operations. */ -public class NetworkUtils { +public final class NetworkUtils { + + private NetworkUtils() { + } /** * Get the next available port that can be used for opening a socket connection. diff --git a/datastream-utils/src/main/java/com/linkedin/datastream/common/PollUtils.java b/datastream-utils/src/main/java/com/linkedin/datastream/common/PollUtils.java index 2b1b763a0..752dbe57a 100644 --- a/datastream-utils/src/main/java/com/linkedin/datastream/common/PollUtils.java +++ b/datastream-utils/src/main/java/com/linkedin/datastream/common/PollUtils.java @@ -16,6 +16,9 @@ */ public final class PollUtils { + private PollUtils() { + } + /** * Interruptable version of {@link java.util.function.Supplier} for use with Poll functions * diff --git a/datastream-utils/src/main/java/com/linkedin/datastream/common/RestliUtils.java b/datastream-utils/src/main/java/com/linkedin/datastream/common/RestliUtils.java index 5f5c57b9d..7c7e1df35 100644 --- a/datastream-utils/src/main/java/com/linkedin/datastream/common/RestliUtils.java +++ b/datastream-utils/src/main/java/com/linkedin/datastream/common/RestliUtils.java @@ -16,6 +16,10 @@ * Utility class to simplify usage of Restli. */ public final class RestliUtils { + + private RestliUtils() { + } + private static final String URI_SCHEME = "http://"; private static final String URI_SCHEME_SSL = "https://"; diff --git a/datastream-utils/src/main/java/com/linkedin/datastream/common/RetryUtils.java b/datastream-utils/src/main/java/com/linkedin/datastream/common/RetryUtils.java index b6a4d3bac..d18afee3a 100644 --- a/datastream-utils/src/main/java/com/linkedin/datastream/common/RetryUtils.java +++ b/datastream-utils/src/main/java/com/linkedin/datastream/common/RetryUtils.java @@ -15,7 +15,10 @@ /** * Utilities for retrying function invocations */ -public class RetryUtils { +public final class RetryUtils { + + private RetryUtils() { + } private static final Logger LOG = LoggerFactory.getLogger(RetryUtils.class.getName()); @@ -45,7 +48,7 @@ private static class ExceptionTrackingMethodCaller implements BooleanSupplier private U _value; private Exception _lastException; - public ExceptionTrackingMethodCaller(Supplier func) { + ExceptionTrackingMethodCaller(Supplier func) { _func = func; } diff --git a/datastream-utils/src/main/java/com/linkedin/datastream/common/ThreadTerminationMonitor.java b/datastream-utils/src/main/java/com/linkedin/datastream/common/ThreadTerminationMonitor.java index 14632db87..b62c15cda 100644 --- a/datastream-utils/src/main/java/com/linkedin/datastream/common/ThreadTerminationMonitor.java +++ b/datastream-utils/src/main/java/com/linkedin/datastream/common/ThreadTerminationMonitor.java @@ -24,7 +24,10 @@ * reports abnormal terminations and reports them as metric. * However, it doesn't attempt to recover the condition. */ -public class ThreadTerminationMonitor { +public final class ThreadTerminationMonitor { + + private ThreadTerminationMonitor() { + } private static final String ABNORMAL_TERMINATIONS = "abnormalTerminations"; diff --git a/datastream-utils/src/main/java/com/linkedin/datastream/common/ThreadUtils.java b/datastream-utils/src/main/java/com/linkedin/datastream/common/ThreadUtils.java index e1804f018..9b3373747 100644 --- a/datastream-utils/src/main/java/com/linkedin/datastream/common/ThreadUtils.java +++ b/datastream-utils/src/main/java/com/linkedin/datastream/common/ThreadUtils.java @@ -16,6 +16,10 @@ * Utility methods for dealing with threading-related concerns. */ public final class ThreadUtils { + + private ThreadUtils() { + } + /** * Gracefully shutdown an executor service and force terminate if the worker threads * do not exit within the specified time out. Adapted from JDK javadoc: diff --git a/datastream-utils/src/main/java/com/linkedin/datastream/common/TopicPartitionUtil.java b/datastream-utils/src/main/java/com/linkedin/datastream/common/TopicPartitionUtil.java index ffef2be82..bbf88df5a 100644 --- a/datastream-utils/src/main/java/com/linkedin/datastream/common/TopicPartitionUtil.java +++ b/datastream-utils/src/main/java/com/linkedin/datastream/common/TopicPartitionUtil.java @@ -11,7 +11,10 @@ /** * Utility class for converting String to TopicPartitions */ -public class TopicPartitionUtil { +public final class TopicPartitionUtil { + + private TopicPartitionUtil() { + } /** * Create a topic partition instance from String