You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pekko.apache.org by fa...@apache.org on 2023/06/26 10:44:45 UTC
[incubator-pekko-connectors] branch scala3 updated (93924861a -> c966e5f69)
This is an automated email from the ASF dual-hosted git repository.
fanningpj pushed a change to branch scala3
in repository https://gitbox.apache.org/repos/asf/incubator-pekko-connectors.git
omit 93924861a suggested change to queue method call (#174)
omit 6c8bf6c35 support scala3 in avroparquet (#158)
omit 38fa9bb8f more connectors that support scala3 (#172)
omit 00fbf2e07 Scala3 ftp support (#170)
omit 310479c6b enable scala3 build for more google connectors (#165)
omit c0fb01111 support scala3 for amqp connector (#154)
omit d42b033a3 support scala3 for google-cloud-storage connector (#159)
omit 48fb70b44 support scala3 on unix-domain connector (#162)
omit 9e9cd195d support scala3 in mqtt-streaming (#161)
omit 6d4fe43c6 scala3 support for hdfs (#156)
omit 31884602a support ironmq on scala3 (#153)
omit 99beaafe6 Scala3 support for jms connector (#145)
omit e18fd86b3 scala 3 support for json streaming (#146)
omit 7cae1f65e Scala3 support for more google connectors (#143)
omit 39466204c support scala3 (google-common) (#141)
omit 8ebafacab More scala3 work (cassandra / azure) (#130)
omit 16c22020c Scala3 couchbase support (#128)
omit 80e724267 try scala 3 (#123)
add 518a5072e sbt-apache-sonatype 0.1.10 (#175)
add 0550abbba Removes semver
add c207c292e apply agreed ASF header from LEGAL-626 (#178)
add 178795f68 upgrade grpc plugin (#179)
new 311075c88 try scala 3 (#123)
new 758d22611 Scala3 couchbase support (#128)
new 4b6208695 More scala3 work (cassandra / azure) (#130)
new cd968911a support scala3 (google-common) (#141)
new 17022b818 Scala3 support for more google connectors (#143)
new 00f0fd840 scala 3 support for json streaming (#146)
new c64c9097e Scala3 support for jms connector (#145)
new f6a887eb3 support ironmq on scala3 (#153)
new 593520c3e scala3 support for hdfs (#156)
new e858209c9 support scala3 in mqtt-streaming (#161)
new 4b330b7bd support scala3 on unix-domain connector (#162)
new 2a0773038 support scala3 for google-cloud-storage connector (#159)
new 822ac3de4 support scala3 for amqp connector (#154)
new 04090a3bc enable scala3 build for more google connectors (#165)
new d100ed97d Scala3 ftp support (#170)
new e53793178 more connectors that support scala3 (#172)
new 83e07566c support scala3 in avroparquet (#158)
new c966e5f69 suggested change to queue method call (#174)
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (93924861a)
\
N -- N -- N refs/heads/scala3 (c966e5f69)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
The 18 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.../stream/connectors/amqp/AmqpConnectionProvider.scala | 2 +-
.../stream/connectors/amqp/AmqpConnectorSettings.scala | 2 +-
.../amqp/impl/AbstractAmqpAsyncFlowStageLogic.scala | 2 +-
.../amqp/impl/AbstractAmqpFlowStageLogic.scala | 2 +-
.../connectors/amqp/impl/AmqpAsyncFlowStage.scala | 2 +-
.../amqp/impl/AmqpAsyncUnorderedFlowStage.scala | 2 +-
.../connectors/amqp/impl/AmqpConnectorLogic.scala | 2 +-
.../connectors/amqp/impl/AmqpReplyToSinkStage.scala | 2 +-
.../stream/connectors/amqp/impl/AmqpRpcFlowStage.scala | 2 +-
.../connectors/amqp/impl/AmqpSimpleFlowStage.scala | 2 +-
.../stream/connectors/amqp/impl/AmqpSourceStage.scala | 2 +-
.../pekko/stream/connectors/amqp/javadsl/AmqpFlow.scala | 2 +-
.../connectors/amqp/javadsl/AmqpFlowWithContext.scala | 2 +-
.../stream/connectors/amqp/javadsl/AmqpRpcFlow.scala | 2 +-
.../pekko/stream/connectors/amqp/javadsl/AmqpSink.scala | 2 +-
.../stream/connectors/amqp/javadsl/AmqpSource.scala | 2 +-
.../connectors/amqp/javadsl/CommittableReadResult.scala | 2 +-
.../org/apache/pekko/stream/connectors/amqp/model.scala | 2 +-
.../stream/connectors/amqp/scaladsl/AmqpFlow.scala | 2 +-
.../connectors/amqp/scaladsl/AmqpFlowWithContext.scala | 2 +-
.../stream/connectors/amqp/scaladsl/AmqpRpcFlow.scala | 2 +-
.../stream/connectors/amqp/scaladsl/AmqpSink.scala | 2 +-
.../stream/connectors/amqp/scaladsl/AmqpSource.scala | 2 +-
.../amqp/scaladsl/CommittableReadResult.scala | 2 +-
amqp/src/test/java/docs/javadsl/AmqpDocsTest.java | 2 +-
.../amqp/javadsl/AmqpConnectionProvidersTest.java | 2 +-
.../connectors/amqp/javadsl/AmqpConnectorsTest.java | 2 +-
.../stream/connectors/amqp/javadsl/AmqpFlowTest.java | 2 +-
amqp/src/test/scala/docs/scaladsl/AmqpDocsSpec.scala | 2 +-
.../stream/connectors/amqp/AmqpProxyConnection.scala | 2 +-
.../apache/pekko/stream/connectors/amqp/AmqpSpec.scala | 2 +-
.../amqp/scaladsl/AmqpConnectionProvidersSpec.scala | 2 +-
.../connectors/amqp/scaladsl/AmqpConnectorsSpec.scala | 2 +-
.../stream/connectors/amqp/scaladsl/AmqpFlowSpec.scala | 2 +-
.../AmqpGraphStageLogicConnectionShutdownSpec.scala | 2 +-
.../stream/connectors/amqp/scaladsl/AmqpMocking.scala | 2 +-
.../connectors/avroparquet/impl/AvroParquetFlow.scala | 2 +-
.../connectors/avroparquet/impl/AvroParquetSource.scala | 2 +-
.../avroparquet/javadsl/AvroParquetFlow.scala | 2 +-
.../avroparquet/javadsl/AvroParquetSink.scala | 2 +-
.../avroparquet/javadsl/AvroParquetSource.scala | 2 +-
.../avroparquet/scaladsl/AvroParquetFlow.scala | 2 +-
.../avroparquet/scaladsl/AvroParquetSink.scala | 2 +-
.../avroparquet/scaladsl/AvroParquetSource.scala | 2 +-
.../src/test/java/docs/javadsl/AvroParquetSinkTest.java | 2 +-
avroparquet/src/test/java/docs/javadsl/Examples.java | 2 +-
.../scala/docs/scaladsl/AbstractAvroParquetBase.scala | 2 +-
.../test/scala/docs/scaladsl/AvroParquetFlowSpec.scala | 2 +-
.../test/scala/docs/scaladsl/AvroParquetSinkSpec.scala | 2 +-
.../scala/docs/scaladsl/AvroParquetSourceSpec.scala | 2 +-
.../aws/eventbridge/EventBridgePublishSettings.scala | 2 +-
.../aws/eventbridge/javadsl/EventBridgePublisher.scala | 2 +-
.../aws/eventbridge/scaladsl/EventBridgePublisher.scala | 2 +-
.../java/docs/javadsl/EventBridgePublisherTest.java | 2 +-
.../scala/docs/scaladsl/EventBridgePublisherSpec.scala | 2 +-
.../connectors/aws/eventbridge/DefaultTestContext.scala | 2 +-
.../aws/eventbridge/EventBridgePublishMockSpec.scala | 2 +-
.../aws/eventbridge/IntegrationTestContext.scala | 2 +-
.../connectors/awslambda/javadsl/AwsLambdaFlow.scala | 2 +-
.../connectors/awslambda/scaladsl/AwsLambdaFlow.scala | 2 +-
.../src/test/java/docs/javadsl/AwsLambdaFlowTest.java | 2 +-
awslambda/src/test/java/docs/javadsl/Examples.java | 2 +-
.../test/scala/docs/scaladsl/AwsLambdaFlowSpec.scala | 2 +-
awslambda/src/test/scala/docs/scaladsl/Examples.scala | 2 +-
.../storagequeue/impl/AzureQueueSinkFunctions.scala | 2 +-
.../azure/storagequeue/impl/AzureQueueSourceStage.scala | 2 +-
.../azure/storagequeue/javadsl/AzureQueueSink.scala | 2 +-
.../azure/storagequeue/javadsl/AzureQueueSource.scala | 2 +-
.../stream/connectors/azure/storagequeue/model.scala | 2 +-
.../azure/storagequeue/scaladsl/AzureQueueSink.scala | 2 +-
.../azure/storagequeue/scaladsl/AzureQueueSource.scala | 2 +-
.../stream/connectors/azure/storagequeue/settings.scala | 2 +-
.../src/test/java/docs/javadsl/JavaDslTest.java | 2 +-
.../src/test/scala/docs/scaladsl/AzureQueueSpec.scala | 2 +-
build.sbt | 10 +++++++++-
.../connectors/cassandra/CassandraMetricsRegistry.scala | 2 +-
.../connectors/cassandra/CassandraServerMetaData.scala | 2 +-
.../connectors/cassandra/CassandraSessionSettings.scala | 2 +-
.../connectors/cassandra/CassandraWriteSettings.scala | 2 +-
.../connectors/cassandra/CqlSessionProvider.scala | 2 +-
.../cassandra/DriverConfigLoaderFromConfig.scala | 2 +-
.../cassandra/PekkoDiscoverySessionProvider.scala | 2 +-
.../connectors/cassandra/javadsl/CassandraFlow.scala | 2 +-
.../connectors/cassandra/javadsl/CassandraSession.scala | 2 +-
.../cassandra/javadsl/CassandraSessionRegistry.scala | 2 +-
.../connectors/cassandra/javadsl/CassandraSource.scala | 2 +-
.../connectors/cassandra/scaladsl/CassandraFlow.scala | 2 +-
.../cassandra/scaladsl/CassandraSession.scala | 2 +-
.../cassandra/scaladsl/CassandraSessionRegistry.scala | 2 +-
.../connectors/cassandra/scaladsl/CassandraSource.scala | 2 +-
.../src/test/java/docs/javadsl/CassandraFlowTest.java | 2 +-
.../src/test/java/docs/javadsl/CassandraSourceTest.java | 2 +-
.../src/test/java/docs/javadsl/CassandraTestHelper.java | 2 +-
.../test/scala/docs/scaladsl/CassandraFlowSpec.scala | 2 +-
.../test/scala/docs/scaladsl/CassandraSourceSpec.scala | 2 +-
.../test/scala/docs/scaladsl/PekkoDiscoverySpec.scala | 2 +-
.../cassandra/javadsl/CassandraSessionSpec.scala | 2 +-
.../cassandra/scaladsl/CassandraLifecycle.scala | 2 +-
.../scaladsl/CassandraSessionPerformanceSpec.scala | 2 +-
.../cassandra/scaladsl/CassandraSpecBase.scala | 2 +-
.../connectors/couchbase/javadsl/DiscoverySupport.java | 2 +-
.../couchbase/CouchbaseResponseException.scala | 2 +-
.../connectors/couchbase/CouchbaseSessionRegistry.scala | 2 +-
.../couchbase/impl/CouchbaseClusterRegistry.scala | 2 +-
.../couchbase/impl/CouchbaseSessionImpl.scala | 2 +-
.../couchbase/impl/CouchbaseSessionJavaAdapter.scala | 2 +-
.../stream/connectors/couchbase/impl/RxUtilities.scala | 2 +-
.../connectors/couchbase/javadsl/CouchbaseFlow.scala | 2 +-
.../connectors/couchbase/javadsl/CouchbaseSession.scala | 2 +-
.../connectors/couchbase/javadsl/CouchbaseSink.scala | 2 +-
.../connectors/couchbase/javadsl/CouchbaseSource.scala | 2 +-
.../pekko/stream/connectors/couchbase/model.scala | 2 +-
.../connectors/couchbase/scaladsl/CouchbaseFlow.scala | 2 +-
.../couchbase/scaladsl/CouchbaseSession.scala | 2 +-
.../connectors/couchbase/scaladsl/CouchbaseSink.scala | 2 +-
.../connectors/couchbase/scaladsl/CouchbaseSource.scala | 2 +-
.../couchbase/scaladsl/DiscoverySupport.scala | 2 +-
.../test/java/docs/javadsl/CouchbaseExamplesTest.java | 2 +-
couchbase/src/test/java/docs/javadsl/DiscoveryTest.java | 2 +-
.../test/scala/docs/scaladsl/CouchbaseFlowSpec.scala | 2 +-
.../docs/scaladsl/CouchbaseSessionExamplesSpec.scala | 2 +-
.../test/scala/docs/scaladsl/CouchbaseSourceSpec.scala | 2 +-
.../src/test/scala/docs/scaladsl/DiscoverySpec.scala | 2 +-
.../connectors/couchbase/testing/CouchbaseSupport.scala | 2 +-
.../stream/connectors/csv/javadsl/ByteOrderMark.java | 2 +-
.../stream/connectors/csv/javadsl/CsvFormatting.java | 2 +-
.../pekko/stream/connectors/csv/javadsl/CsvParsing.java | 2 +-
.../stream/connectors/csv/javadsl/CsvQuotingStyle.java | 2 +-
.../pekko/stream/connectors/csv/javadsl/CsvToMap.java | 2 +-
.../pekko/stream/connectors/csv/impl/CsvFormatter.scala | 2 +-
.../pekko/stream/connectors/csv/impl/CsvParser.scala | 2 +-
.../stream/connectors/csv/impl/CsvParsingStage.scala | 2 +-
.../stream/connectors/csv/impl/CsvToMapJavaStage.scala | 2 +-
.../stream/connectors/csv/impl/CsvToMapStage.scala | 2 +-
.../org/apache/pekko/stream/connectors/csv/model.scala | 2 +-
.../stream/connectors/csv/scaladsl/ByteOrderMark.scala | 2 +-
.../stream/connectors/csv/scaladsl/CsvFormatting.scala | 2 +-
.../stream/connectors/csv/scaladsl/CsvParsing.scala | 2 +-
.../connectors/csv/scaladsl/CsvQuotingStyle.scala | 2 +-
.../pekko/stream/connectors/csv/scaladsl/CsvToMap.scala | 2 +-
csv/src/test/java/docs/javadsl/CsvFormattingTest.java | 2 +-
csv/src/test/java/docs/javadsl/CsvParsingTest.java | 2 +-
csv/src/test/java/docs/javadsl/CsvToMapTest.java | 2 +-
.../test/scala/docs/scaladsl/CsvFormattingSpec.scala | 2 +-
csv/src/test/scala/docs/scaladsl/CsvParsingSpec.scala | 2 +-
csv/src/test/scala/docs/scaladsl/CsvSpec.scala | 2 +-
csv/src/test/scala/docs/scaladsl/CsvToMapSpec.scala | 2 +-
.../pekko/stream/connectors/csv/CsvFormatterSpec.scala | 2 +-
.../pekko/stream/connectors/csv/CsvParserSpec.scala | 2 +-
.../connectors/eip/javadsl/PassThroughExamples.java | 2 +-
.../connectors/eip/scaladsl/PassThroughExamples.scala | 2 +-
.../pekko/stream/connectors/dynamodb/DynamoDbOp.scala | 2 +-
.../stream/connectors/dynamodb/javadsl/DynamoDb.scala | 2 +-
.../stream/connectors/dynamodb/scaladsl/DynamoDb.scala | 2 +-
dynamodb/src/test/java/docs/javadsl/ExampleTest.java | 2 +-
dynamodb/src/test/java/docs/javadsl/RetryTest.java | 2 +-
dynamodb/src/test/scala/docs/scaladsl/ExampleSpec.scala | 2 +-
dynamodb/src/test/scala/docs/scaladsl/RetrySpec.scala | 2 +-
.../pekko/stream/connectors/dynamodb/ItemSpec.scala | 2 +-
.../pekko/stream/connectors/dynamodb/TableSpec.scala | 2 +-
.../pekko/stream/connectors/dynamodb/TestOps.scala | 2 +-
.../stream/connectors/elasticsearch/ApiVersion.java | 2 +-
.../stream/connectors/elasticsearch/ApiVersionBase.java | 2 +-
.../connectors/elasticsearch/OpensearchApiVersion.java | 2 +-
.../elasticsearch/ElasticsearchConnectionSettings.scala | 2 +-
.../connectors/elasticsearch/ElasticsearchParams.scala | 2 +-
.../elasticsearch/ElasticsearchSourceSettings.scala | 2 +-
.../elasticsearch/ElasticsearchWriteSettings.scala | 2 +-
.../elasticsearch/OpensearchConnectionSettings.scala | 2 +-
.../connectors/elasticsearch/OpensearchParams.scala | 2 +-
.../elasticsearch/OpensearchSourceSettings.scala | 2 +-
.../elasticsearch/OpensearchWriteSettings.scala | 2 +-
.../stream/connectors/elasticsearch/ReadResult.scala | 2 +-
.../connectors/elasticsearch/SourceSettingsBase.scala | 2 +-
.../stream/connectors/elasticsearch/WriteMessage.scala | 2 +-
.../connectors/elasticsearch/WriteSettingsBase.scala | 2 +-
.../elasticsearch/impl/ElasticsearchApi.scala | 2 +-
.../impl/ElasticsearchSimpleFlowStage.scala | 2 +-
.../elasticsearch/impl/ElasticsearchSourceStage.scala | 2 +-
.../connectors/elasticsearch/impl/NDJsonProtocol.scala | 2 +-
.../connectors/elasticsearch/impl/RestBulkApi.scala | 2 +-
.../connectors/elasticsearch/impl/RestBulkApiV5.scala | 2 +-
.../connectors/elasticsearch/impl/RestBulkApiV7.scala | 2 +-
.../elasticsearch/javadsl/ElasticsearchFlow.scala | 2 +-
.../elasticsearch/javadsl/ElasticsearchSink.scala | 2 +-
.../elasticsearch/javadsl/ElasticsearchSource.scala | 2 +-
.../elasticsearch/scaladsl/ElasticsearchFlow.scala | 2 +-
.../elasticsearch/scaladsl/ElasticsearchSink.scala | 2 +-
.../elasticsearch/scaladsl/ElasticsearchSource.scala | 2 +-
.../elasticsearch/testkit/MessageFactory.scala | 2 +-
.../docs/javadsl/ElasticsearchParameterizedTest.java | 2 +-
.../test/java/docs/javadsl/ElasticsearchTestBase.java | 2 +-
.../src/test/java/docs/javadsl/ElasticsearchV5Test.java | 2 +-
.../src/test/java/docs/javadsl/ElasticsearchV7Test.java | 2 +-
.../java/docs/javadsl/OpensearchParameterizedTest.java | 2 +-
.../src/test/java/docs/javadsl/OpensearchV1Test.java | 2 +-
.../docs/scaladsl/ElasticsearchConnectorBehaviour.scala | 2 +-
.../test/scala/docs/scaladsl/ElasticsearchSpec.scala | 2 +-
.../scala/docs/scaladsl/ElasticsearchSpecBase.scala | 2 +-
.../scala/docs/scaladsl/ElasticsearchSpecUtils.scala | 2 +-
.../test/scala/docs/scaladsl/ElasticsearchV5Spec.scala | 2 +-
.../test/scala/docs/scaladsl/ElasticsearchV7Spec.scala | 2 +-
.../docs/scaladsl/OpensearchConnectorBehaviour.scala | 2 +-
.../src/test/scala/docs/scaladsl/OpensearchV1Spec.scala | 2 +-
.../elasticsearch/ElasticsearchParamsSpec.scala | 2 +-
.../impl/ElasticsearchSimpleFlowStageTest.scala | 2 +-
.../impl/ElasticsearchSourcStageTest.scala | 2 +-
.../pekko/stream/connectors/file/DirectoryChange.java | 2 +-
.../connectors/file/impl/DirectoryChangesSource.java | 2 +-
.../stream/connectors/file/impl/FileTailSource.java | 2 +-
.../pekko/stream/connectors/file/javadsl/Directory.java | 2 +-
.../connectors/file/javadsl/DirectoryChangesSource.java | 2 +-
.../stream/connectors/file/javadsl/FileTailSource.java | 2 +-
.../file/impl/archive/EnsureByteStreamSize.scala | 2 +-
.../file/impl/archive/FileByteStringSeparators.scala | 2 +-
.../connectors/file/impl/archive/TarArchiveEntry.scala | 2 +-
.../file/impl/archive/TarArchiveManager.scala | 2 +-
.../connectors/file/impl/archive/TarReaderStage.scala | 2 +-
.../connectors/file/impl/archive/ZipArchiveFlow.scala | 2 +-
.../file/impl/archive/ZipArchiveManager.scala | 2 +-
.../connectors/file/impl/archive/ZipReaderSource.scala | 2 +-
.../pekko/stream/connectors/file/javadsl/Archive.scala | 2 +-
.../stream/connectors/file/javadsl/LogRotatorSink.scala | 2 +-
.../org/apache/pekko/stream/connectors/file/model.scala | 2 +-
.../pekko/stream/connectors/file/scaladsl/Archive.scala | 2 +-
.../stream/connectors/file/scaladsl/Directory.scala | 2 +-
.../file/scaladsl/DirectoryChangesSource.scala | 2 +-
.../connectors/file/scaladsl/FileTailSource.scala | 2 +-
.../connectors/file/scaladsl/LogRotatorSink.scala | 2 +-
file/src/test/java/docs/javadsl/ArchiveHelper.java | 2 +-
file/src/test/java/docs/javadsl/ArchiveTest.java | 2 +-
.../java/docs/javadsl/DirectoryChangesSourceTest.java | 2 +-
file/src/test/java/docs/javadsl/DirectoryTest.java | 2 +-
file/src/test/java/docs/javadsl/FileTailSourceTest.java | 2 +-
file/src/test/java/docs/javadsl/LogRotatorSinkTest.java | 2 +-
.../src/test/java/docs/javadsl/NestedTarReaderTest.java | 2 +-
file/src/test/scala/docs/scaladsl/ArchiveSpec.scala | 2 +-
.../docs/scaladsl/DirectoryChangesSourceSpec.scala | 2 +-
file/src/test/scala/docs/scaladsl/DirectorySpec.scala | 2 +-
file/src/test/scala/docs/scaladsl/ExecutableUtils.scala | 2 +-
.../scala/docs/scaladsl/FileTailSourceExtrasSpec.scala | 2 +-
.../test/scala/docs/scaladsl/FileTailSourceSpec.scala | 2 +-
.../test/scala/docs/scaladsl/LogRotatorSinkSpec.scala | 2 +-
file/src/test/scala/docs/scaladsl/TarArchiveSpec.scala | 2 +-
.../file/impl/archive/TarArchiveEntrySpec.scala | 2 +-
.../file/impl/archive/ZipArchiveFlowTest.scala | 2 +-
.../connectors/ftp/impl/CommonFtpOperations.scala | 2 +-
.../connectors/ftp/impl/FtpBrowserGraphStage.scala | 2 +-
.../ftp/impl/FtpDirectoryOperationsGraphStage.scala | 2 +-
.../stream/connectors/ftp/impl/FtpGraphStage.scala | 2 +-
.../stream/connectors/ftp/impl/FtpGraphStageLogic.scala | 2 +-
.../stream/connectors/ftp/impl/FtpIOGraphStage.scala | 2 +-
.../pekko/stream/connectors/ftp/impl/FtpLike.scala | 2 +-
.../stream/connectors/ftp/impl/FtpOperations.scala | 2 +-
.../stream/connectors/ftp/impl/FtpSourceFactory.scala | 2 +-
.../stream/connectors/ftp/impl/FtpsOperations.scala | 2 +-
.../stream/connectors/ftp/impl/SftpOperations.scala | 2 +-
.../pekko/stream/connectors/ftp/javadsl/FtpApi.scala | 2 +-
.../org/apache/pekko/stream/connectors/ftp/model.scala | 2 +-
.../pekko/stream/connectors/ftp/scaladsl/FtpApi.scala | 2 +-
.../java/docs/javadsl/ConfigureCustomSSHClient.java | 2 +-
ftp/src/test/java/docs/javadsl/FtpMkdirExample.java | 2 +-
ftp/src/test/java/docs/javadsl/FtpMovingExample.java | 2 +-
.../java/docs/javadsl/FtpProcessAndMoveExample.java | 2 +-
ftp/src/test/java/docs/javadsl/FtpRemovingExample.java | 2 +-
.../test/java/docs/javadsl/FtpRetrievingExample.java | 2 +-
.../test/java/docs/javadsl/FtpTraversingExample.java | 2 +-
ftp/src/test/java/docs/javadsl/FtpWritingTest.java | 2 +-
.../test/java/docs/javadsl/SftpRetrievingExample.java | 2 +-
.../pekko/stream/connectors/ftp/BaseFtpSupport.java | 2 +-
.../pekko/stream/connectors/ftp/BaseSftpSupport.java | 2 +-
.../apache/pekko/stream/connectors/ftp/BaseSupport.java | 2 +-
.../pekko/stream/connectors/ftp/BaseSupportImpl.java | 2 +-
.../pekko/stream/connectors/ftp/CommonFtpStageTest.java | 2 +-
.../pekko/stream/connectors/ftp/FtpStageTest.java | 2 +-
.../stream/connectors/ftp/FtpWithProxyStageTest.java | 2 +-
.../pekko/stream/connectors/ftp/FtpsStageTest.java | 2 +-
.../stream/connectors/ftp/FtpsWithProxyStageTest.java | 2 +-
.../stream/connectors/ftp/KeyFileSftpSourceTest.java | 2 +-
.../pekko/stream/connectors/ftp/PekkoSupport.java | 2 +-
.../stream/connectors/ftp/RawKeySftpSourceTest.java | 2 +-
.../pekko/stream/connectors/ftp/SftpStageTest.java | 2 +-
.../stream/connectors/ftp/SftpWithProxyStageTest.java | 2 +-
.../ftp/StrictHostCheckingSftpSourceTest.java | 2 +-
ftp/src/test/scala/docs/scaladsl/FtpExamplesSpec.scala | 2 +-
ftp/src/test/scala/docs/scaladsl/scalaExamples.scala | 2 +-
.../pekko/stream/connectors/ftp/BaseFtpSpec.scala | 2 +-
.../pekko/stream/connectors/ftp/BaseFtpsSpec.scala | 2 +-
.../pekko/stream/connectors/ftp/BaseSftpSpec.scala | 2 +-
.../apache/pekko/stream/connectors/ftp/BaseSpec.scala | 2 +-
.../stream/connectors/ftp/CommonFtpStageSpec.scala | 2 +-
.../pekko/stream/connectors/geode/javadsl/Geode.java | 2 +-
.../geode/javadsl/GeodeWithPoolSubscription.java | 2 +-
.../pekko/stream/connectors/geode/GeodeSettings.scala | 2 +-
.../stream/connectors/geode/PekkoPdxSerializer.scala | 2 +-
.../pekko/stream/connectors/geode/impl/GeodeCache.scala | 2 +-
.../connectors/geode/impl/GeodeCapabilities.scala | 2 +-
.../geode/impl/pdx/DelegatingPdxSerializer.scala | 2 +-
.../stream/connectors/geode/impl/pdx/PdxDecoder.scala | 2 +-
.../stream/connectors/geode/impl/pdx/PdxEncoder.scala | 2 +-
.../geode/impl/pdx/ShapelessPdxSerializer.scala | 2 +-
.../geode/impl/stage/GeodeCQueryGraphLogic.scala | 2 +-
.../geode/impl/stage/GeodeContinuousSourceStage.scala | 2 +-
.../geode/impl/stage/GeodeFiniteSourceStage.scala | 2 +-
.../connectors/geode/impl/stage/GeodeFlowStage.scala | 2 +-
.../geode/impl/stage/GeodeQueryGraphLogic.scala | 2 +-
.../geode/impl/stage/GeodeSourceStageLogic.scala | 2 +-
.../pekko/stream/connectors/geode/scaladsl/Geode.scala | 2 +-
geode/src/test/java/docs/javadsl/Animal.java | 2 +-
.../src/test/java/docs/javadsl/AnimalPdxSerializer.java | 2 +-
geode/src/test/java/docs/javadsl/GeodeBaseTestCase.java | 2 +-
.../docs/javadsl/GeodeContinuousSourceTestCase.java | 2 +-
.../java/docs/javadsl/GeodeFiniteSourceTestCase.java | 2 +-
geode/src/test/java/docs/javadsl/GeodeFlowTestCase.java | 2 +-
geode/src/test/java/docs/javadsl/GeodeSinkTestCase.java | 2 +-
geode/src/test/java/docs/javadsl/Person.java | 2 +-
.../src/test/java/docs/javadsl/PersonPdxSerializer.java | 2 +-
geode/src/test/scala/docs/scaladsl/GeodeBaseSpec.scala | 2 +-
.../scala/docs/scaladsl/GeodeContinuousSourceSpec.scala | 2 +-
.../scala/docs/scaladsl/GeodeFiniteSourceSpec.scala | 2 +-
geode/src/test/scala/docs/scaladsl/GeodeFlowSpec.scala | 2 +-
geode/src/test/scala/docs/scaladsl/GeodeSinkSpec.scala | 2 +-
geode/src/test/scala/docs/scaladsl/Model.scala | 2 +-
.../test/scala/docs/scaladsl/PersonPdxSerializer.scala | 2 +-
.../connectors/geode/impl/pdx/PDXDecoderSpec.scala | 2 +-
.../connectors/geode/impl/pdx/PDXEncodeSpec.scala | 2 +-
.../connectors/geode/impl/pdx/PdxWriterMock.scala | 2 +-
.../bigquery/storage/BigQueryRecordMapImpl.scala | 2 +-
.../bigquery/storage/BigQueryStorageSettings.scala | 2 +-
.../bigquery/storage/ProtobufConverters.scala | 2 +-
.../bigquery/storage/impl/AkkaGrpcSettings.scala | 2 +-
.../googlecloud/bigquery/storage/impl/ArrowSource.scala | 2 +-
.../googlecloud/bigquery/storage/impl/AvroDecoder.scala | 2 +-
.../googlecloud/bigquery/storage/impl/AvroSource.scala | 2 +-
.../bigquery/storage/impl/SDKClientSource.scala | 2 +-
.../bigquery/storage/javadsl/BigQueryArrowStorage.scala | 2 +-
.../bigquery/storage/javadsl/BigQueryAvroStorage.scala | 2 +-
.../bigquery/storage/javadsl/BigQueryStorage.scala | 2 +-
.../storage/scaladsl/BigQueryArrowStorage.scala | 2 +-
.../bigquery/storage/scaladsl/BigQueryAvroStorage.scala | 2 +-
.../bigquery/storage/scaladsl/BigQueryStorage.scala | 2 +-
.../storage/scaladsl/BigQueryStorageAttributes.scala | 2 +-
.../storage/scaladsl/GrpcBigQueryStorageReader.scala | 2 +-
.../src/test/java/docs/javadsl/ExampleReader.java | 2 +-
.../storage/javadsl/AvroByteStringDecoder.scala | 2 +-
.../bigquery/storage/javadsl/BigQueryStorageSpec.java | 2 +-
.../src/test/scala/docs/scaladsl/ExampleReader.scala | 2 +-
.../bigquery/storage/BigQueryStorageSpecBase.scala | 2 +-
.../bigquery/storage/mock/BigQueryMockData.scala | 2 +-
.../bigquery/storage/mock/BigQueryMockServer.scala | 2 +-
.../storage/scaladsl/ArrowByteStringDecoder.scala | 2 +-
.../storage/scaladsl/AvroByteStringDecoder.scala | 2 +-
.../storage/scaladsl/BigQueryArrowStorageSpec.scala | 2 +-
.../storage/scaladsl/BigQueryAvroStorageSpec.scala | 2 +-
.../bigquery/storage/scaladsl/BigQueryStorageSpec.scala | 2 +-
.../googlecloud/bigquery/BigQueryAttributes.scala | 2 +-
.../googlecloud/bigquery/BigQueryEndpoints.scala | 2 +-
.../googlecloud/bigquery/BigQueryException.scala | 2 +-
.../connectors/googlecloud/bigquery/BigQueryExt.scala | 2 +-
.../googlecloud/bigquery/BigQuerySettings.scala | 2 +-
.../googlecloud/bigquery/InsertAllRetryPolicy.scala | 2 +-
.../googlecloud/bigquery/javadsl/BigQuery.scala | 2 +-
.../bigquery/javadsl/jackson/BigQueryMarshallers.scala | 2 +-
.../bigquery/model/DatasetJsonProtocol.scala | 2 +-
.../bigquery/model/ErrorProtoJsonProtocol.scala | 2 +-
.../googlecloud/bigquery/model/JobJsonProtocol.scala | 2 +-
.../googlecloud/bigquery/model/QueryJsonProtocol.scala | 2 +-
.../googlecloud/bigquery/model/StringEnum.scala | 2 +-
.../bigquery/model/TableDataJsonProtocol.scala | 2 +-
.../googlecloud/bigquery/model/TableJsonProtocol.scala | 2 +-
.../googlecloud/bigquery/scaladsl/BigQuery.scala | 2 +-
.../bigquery/scaladsl/BigQueryDatasets.scala | 2 +-
.../googlecloud/bigquery/scaladsl/BigQueryJobs.scala | 2 +-
.../googlecloud/bigquery/scaladsl/BigQueryQueries.scala | 2 +-
.../googlecloud/bigquery/scaladsl/BigQueryRest.scala | 2 +-
.../bigquery/scaladsl/BigQueryTableData.scala | 2 +-
.../googlecloud/bigquery/scaladsl/BigQueryTables.scala | 2 +-
.../bigquery/scaladsl/schema/BasicSchemas.scala | 2 +-
.../bigquery/scaladsl/schema/BigQuerySchemas.scala | 2 +-
.../bigquery/scaladsl/schema/CollectionSchemas.scala | 2 +-
.../bigquery/scaladsl/schema/JavaTimeSchemas.scala | 2 +-
.../scaladsl/schema/PrimitiveSchemaWriter.scala | 2 +-
.../bigquery/scaladsl/schema/ProductSchemas.scala | 2 +-
.../googlecloud/bigquery/scaladsl/schema/Schema.scala | 2 +-
.../bigquery/scaladsl/schema/SchemaWriter.scala | 2 +-
.../bigquery/scaladsl/schema/StandardSchemas.scala | 2 +-
.../bigquery/scaladsl/spray/BigQueryBasicFormats.scala | 2 +-
.../bigquery/scaladsl/spray/BigQueryBytes.scala | 2 +-
.../scaladsl/spray/BigQueryCollectionFormats.scala | 2 +-
.../scaladsl/spray/BigQueryJavaTimeFormats.scala | 2 +-
.../bigquery/scaladsl/spray/BigQueryJsonFormat.scala | 2 +-
.../bigquery/scaladsl/spray/BigQueryJsonProtocol.scala | 2 +-
.../bigquery/scaladsl/spray/BigQueryNumber.scala | 2 +-
.../scaladsl/spray/BigQueryProductFormats.scala | 2 +-
.../scaladsl/spray/BigQueryRestBasicFormats.scala | 2 +-
.../scaladsl/spray/BigQueryRestJsonProtocol.scala | 2 +-
.../scaladsl/spray/BigQueryStandardFormats.scala | 2 +-
.../src/test/java/docs/javadsl/BigQueryDoc.java | 2 +-
.../bigquery/e2e/javadsl/BigQueryEndToEndTest.java | 2 +-
.../src/test/scala/docs/scaladsl/BigQueryDoc.scala | 2 +-
.../googlecloud/bigquery/HoverflySupport.scala | 2 +-
.../stream/connectors/googlecloud/bigquery/e2e/A.scala | 2 +-
.../bigquery/e2e/javadsl/EndToEndHelper.scala | 2 +-
.../bigquery/e2e/scaladsl/BigQueryEndToEndSpec.scala | 2 +-
.../bigquery/e2e/scaladsl/EndToEndHelper.scala | 2 +-
.../bigquery/scaladsl/BigQueryQueriesSpec.scala | 2 +-
.../bigquery/scaladsl/schema/BigQuerySchemasSpec.scala | 2 +-
.../scaladsl/spray/BigQueryJsonProtocolSpec.scala | 2 +-
.../googlecloud/pubsub/grpc/PubSubSettings.scala | 2 +-
.../pubsub/grpc/impl/DeprecatedCredentials.scala | 2 +-
.../pubsub/grpc/impl/PekkoGrpcSettings.scala | 2 +-
.../googlecloud/pubsub/grpc/javadsl/GooglePubSub.scala | 2 +-
.../googlecloud/pubsub/grpc/javadsl/GrpcPublisher.scala | 2 +-
.../pubsub/grpc/javadsl/GrpcSubscriber.scala | 2 +-
.../pubsub/grpc/javadsl/PubSubAttributes.scala | 2 +-
.../googlecloud/pubsub/grpc/scaladsl/GooglePubSub.scala | 2 +-
.../pubsub/grpc/scaladsl/GrpcPublisher.scala | 2 +-
.../pubsub/grpc/scaladsl/GrpcSubscriber.scala | 2 +-
.../pubsub/grpc/scaladsl/PubSubAttributes.scala | 2 +-
.../src/test/java/docs/javadsl/IntegrationTest.java | 2 +-
.../src/test/scala/docs/scaladsl/ExampleApp.scala | 2 +-
.../src/test/scala/docs/scaladsl/IntegrationSpec.scala | 2 +-
.../connectors/googlecloud/pubsub/impl/PubSubApi.scala | 2 +-
.../googlecloud/pubsub/javadsl/GooglePubSub.scala | 2 +-
.../stream/connectors/googlecloud/pubsub/model.scala | 2 +-
.../googlecloud/pubsub/scaladsl/GooglePubSub.scala | 2 +-
.../src/test/java/docs/javadsl/ExampleUsageJava.java | 2 +-
.../src/test/scala/docs/scaladsl/ExampleUsage.scala | 2 +-
.../src/test/scala/docs/scaladsl/IntegrationSpec.scala | 2 +-
.../googlecloud/pubsub/GooglePubSubSpec.scala | 2 +-
.../connectors/googlecloud/pubsub/ModelSpec.scala | 2 +-
.../googlecloud/pubsub/impl/PubSubApiSpec.scala | 2 +-
.../googlecloud/pubsub/impl/TestCredentials.scala | 2 +-
.../stream/connectors/googlecloud/storage/Bucket.scala | 2 +-
.../googlecloud/storage/CustomerEncryption.scala | 2 +-
.../connectors/googlecloud/storage/FailedUpload.scala | 2 +-
.../connectors/googlecloud/storage/GCSAttributes.scala | 2 +-
.../stream/connectors/googlecloud/storage/GCSExt.scala | 2 +-
.../googlecloud/storage/GCStorageAttributes.scala | 2 +-
.../connectors/googlecloud/storage/GCStorageExt.scala | 2 +-
.../googlecloud/storage/GCStorageSettings.scala | 2 +-
.../googlecloud/storage/ObjectAccessControls.scala | 2 +-
.../googlecloud/storage/ObjectNotFoundException.scala | 2 +-
.../stream/connectors/googlecloud/storage/Owner.scala | 2 +-
.../connectors/googlecloud/storage/ProjectTeam.scala | 2 +-
.../connectors/googlecloud/storage/StorageObject.scala | 2 +-
.../googlecloud/storage/StorageSettings.scala | 2 +-
.../googlecloud/storage/impl/BucketInfo.scala | 2 +-
.../googlecloud/storage/impl/BucketListResult.scala | 2 +-
.../connectors/googlecloud/storage/impl/Formats.scala | 2 +-
.../googlecloud/storage/impl/GCStorageStream.scala | 2 +-
.../googlecloud/storage/impl/MultiPartUpload.scala | 2 +-
.../googlecloud/storage/impl/RewriteResponse.scala | 2 +-
.../googlecloud/storage/impl/UploadPartResponse.scala | 2 +-
.../googlecloud/storage/javadsl/GCStorage.scala | 2 +-
.../googlecloud/storage/scaladsl/GCStorage.scala | 2 +-
.../connectors/googlecloud/storage/settings.scala | 2 +-
.../src/test/java/docs/javadsl/GCStorageTest.java | 2 +-
.../test/scala/docs/scaladsl/GCStorageSinkSpec.scala | 2 +-
.../test/scala/docs/scaladsl/GCStorageSourceSpec.scala | 2 +-
.../connectors/googlecloud/storage/GCSExtSpec.scala | 2 +-
.../googlecloud/storage/GCSSettingsSpec.scala | 2 +-
.../googlecloud/storage/GCStorageExtSpec.scala | 2 +-
.../googlecloud/storage/GCStorageSettingsSpec.scala | 2 +-
.../googlecloud/storage/WithMaterializerGlobal.scala | 2 +-
.../storage/impl/GCStorageStreamIntegrationSpec.scala | 2 +-
.../storage/scaladsl/GCStorageWiremockBase.scala | 2 +-
.../connectors/google/javadsl/XUploadContentType.java | 2 +-
.../stream/connectors/google/GoogleAttributes.scala | 2 +-
.../pekko/stream/connectors/google/GoogleExt.scala | 2 +-
.../pekko/stream/connectors/google/GoogleSettings.scala | 2 +-
.../stream/connectors/google/PaginatedRequest.scala | 2 +-
.../stream/connectors/google/ResumableUpload.scala | 2 +-
.../stream/connectors/google/auth/AccessToken.scala | 2 +-
.../google/auth/ComputeEngineCredentials.scala | 2 +-
.../stream/connectors/google/auth/Credentials.scala | 2 +-
.../connectors/google/auth/GoogleComputeMetadata.scala | 2 +-
.../stream/connectors/google/auth/GoogleOAuth2.scala | 2 +-
.../google/auth/GoogleOAuth2Credentials.scala | 2 +-
.../connectors/google/auth/GoogleOAuth2Exception.scala | 2 +-
.../stream/connectors/google/auth/NoCredentials.scala | 2 +-
.../connectors/google/auth/OAuth2Credentials.scala | 2 +-
.../google/auth/ServiceAccountCredentials.scala | 2 +-
.../connectors/google/auth/UserAccessCredentials.scala | 2 +-
.../connectors/google/auth/UserAccessMetadata.scala | 2 +-
.../google/http/ForwardProxyHttpsContext.scala | 2 +-
.../google/http/ForwardProxyPoolSettings.scala | 2 +-
.../stream/connectors/google/http/GoogleHttp.scala | 2 +-
.../pekko/stream/connectors/google/implicits.scala | 2 +-
.../pekko/stream/connectors/google/javadsl/Google.scala | 2 +-
.../stream/connectors/google/javadsl/Paginated.scala | 2 +-
.../stream/connectors/google/scaladsl/Google.scala | 2 +-
.../stream/connectors/google/scaladsl/Paginated.scala | 2 +-
.../google/scaladsl/`X-Upload-Content-Type`.scala | 2 +-
.../stream/connectors/google/util/AnnotateLast.scala | 2 +-
.../stream/connectors/google/util/EitherFlow.scala | 2 +-
.../pekko/stream/connectors/google/util/Retry.scala | 2 +-
.../src/test/java/docs/javadsl/GoogleCommonDoc.java | 2 +-
.../src/test/scala/docs/scaladsl/GoogleCommonDoc.scala | 2 +-
.../stream/connectors/google/GoogleHttpException.scala | 2 +-
.../stream/connectors/google/GoogleSettingsSpec.scala | 2 +-
.../stream/connectors/google/HoverflySupport.scala | 2 +-
.../stream/connectors/google/PaginatedRequestSpec.scala | 2 +-
.../stream/connectors/google/ResumableUploadSpec.scala | 2 +-
.../connectors/google/auth/GoogleOAuth2Spec.scala | 2 +-
.../connectors/google/auth/OAuth2CredentialsSpec.scala | 2 +-
.../stream/connectors/google/http/GoogleHttpSpec.scala | 2 +-
.../connectors/google/util/AnnotateLastSpec.scala | 2 +-
.../google/firebase/fcm/FcmNotificationModels.scala | 2 +-
.../connectors/google/firebase/fcm/FcmSettings.scala | 2 +-
.../connectors/google/firebase/fcm/impl/FcmFlows.scala | 2 +-
.../google/firebase/fcm/impl/FcmJsonSupport.scala | 2 +-
.../connectors/google/firebase/fcm/impl/FcmSender.scala | 2 +-
.../google/firebase/fcm/javadsl/GoogleFcm.scala | 2 +-
.../google/firebase/fcm/scaladsl/GoogleFcm.scala | 2 +-
.../google/firebase/fcm/v1/impl/FcmFlows.scala | 2 +-
.../google/firebase/fcm/v1/impl/FcmJsonSupport.scala | 2 +-
.../google/firebase/fcm/v1/impl/FcmSender.scala | 2 +-
.../google/firebase/fcm/v1/javadsl/GoogleFcm.scala | 2 +-
.../google/firebase/fcm/v1/models/AndroidConfig.scala | 2 +-
.../google/firebase/fcm/v1/models/ApnsConfig.scala | 2 +-
.../firebase/fcm/v1/models/BasicNotification.scala | 2 +-
.../google/firebase/fcm/v1/models/FcmNotification.scala | 2 +-
.../google/firebase/fcm/v1/models/FcmOption.scala | 2 +-
.../google/firebase/fcm/v1/models/FcmResponse.scala | 2 +-
.../firebase/fcm/v1/models/NotificationTarget.scala | 2 +-
.../google/firebase/fcm/v1/models/WebPushConfig.scala | 2 +-
.../google/firebase/fcm/v1/scaladsl/GoogleFcm.scala | 2 +-
google-fcm/src/test/java/docs/javadsl/FcmExamples.java | 2 +-
.../src/test/scala/docs/scaladsl/FcmExamples.scala | 2 +-
.../google/firebase/fcm/v1/ConditionBuilderSpec.scala | 2 +-
.../google/firebase/fcm/v1/FcmNotificationSpec.scala | 2 +-
.../google/firebase/fcm/v1/impl/FcmSenderSpec.scala | 2 +-
.../pekko/stream/connectors/hbase/HTableSettings.scala | 2 +-
.../connectors/hbase/impl/HBaseCapabilities.scala | 2 +-
.../stream/connectors/hbase/impl/HBaseFlowStage.scala | 2 +-
.../stream/connectors/hbase/impl/HBaseSourceStage.scala | 2 +-
.../stream/connectors/hbase/javadsl/HTableStage.scala | 2 +-
.../stream/connectors/hbase/scaladsl/HTableStage.scala | 2 +-
hbase/src/test/java/docs/javadsl/HBaseStageTest.java | 2 +-
hbase/src/test/scala/docs/scaladsl/HBaseStageSpec.scala | 2 +-
.../stream/connectors/hdfs/impl/HdfsFlowStage.scala | 2 +-
.../hdfs/impl/strategy/DefaultRotationStrategy.scala | 2 +-
.../hdfs/impl/strategy/DefaultSyncStrategy.scala | 2 +-
.../stream/connectors/hdfs/impl/strategy/Strategy.scala | 2 +-
.../hdfs/impl/writer/CompressedDataWriter.scala | 2 +-
.../stream/connectors/hdfs/impl/writer/DataWriter.scala | 2 +-
.../stream/connectors/hdfs/impl/writer/HdfsWriter.scala | 2 +-
.../connectors/hdfs/impl/writer/SequenceWriter.scala | 2 +-
.../pekko/stream/connectors/hdfs/javadsl/HdfsFlow.scala | 2 +-
.../stream/connectors/hdfs/javadsl/HdfsSource.scala | 2 +-
.../org/apache/pekko/stream/connectors/hdfs/model.scala | 2 +-
.../stream/connectors/hdfs/scaladsl/HdfsFlow.scala | 2 +-
.../stream/connectors/hdfs/scaladsl/HdfsSource.scala | 2 +-
hdfs/src/test/java/docs/javadsl/HdfsReaderTest.java | 2 +-
hdfs/src/test/java/docs/javadsl/HdfsWriterTest.java | 2 +-
hdfs/src/test/scala/docs/scaladsl/HdfsReaderSpec.scala | 2 +-
hdfs/src/test/scala/docs/scaladsl/HdfsWriterSpec.scala | 2 +-
.../pekko/stream/connectors/hdfs/util/TestUtils.scala | 2 +-
.../huawei/pushkit/ForwardProxyHttpsContext.scala | 2 +-
.../huawei/pushkit/ForwardProxyPoolSettings.scala | 2 +-
.../connectors/huawei/pushkit/HmsSettingExt.scala | 2 +-
.../stream/connectors/huawei/pushkit/HmsSettings.scala | 2 +-
.../connectors/huawei/pushkit/impl/HmsSession.scala | 2 +-
.../connectors/huawei/pushkit/impl/HmsTokenApi.scala | 2 +-
.../connectors/huawei/pushkit/impl/PushKitFlows.scala | 2 +-
.../huawei/pushkit/impl/PushKitJsonSupport.scala | 2 +-
.../connectors/huawei/pushkit/impl/PushKitSender.scala | 2 +-
.../connectors/huawei/pushkit/javadsl/HmsPushKit.scala | 2 +-
.../huawei/pushkit/models/AndroidConfig.scala | 2 +-
.../connectors/huawei/pushkit/models/ApnsConfig.scala | 2 +-
.../huawei/pushkit/models/BasicNotification.scala | 2 +-
.../huawei/pushkit/models/NotificationTarget.scala | 2 +-
.../huawei/pushkit/models/PushKitNotification.scala | 2 +-
.../connectors/huawei/pushkit/models/Response.scala | 2 +-
.../connectors/huawei/pushkit/models/WebConfig.scala | 2 +-
.../connectors/huawei/pushkit/scaladsl/HmsPushKit.scala | 2 +-
.../src/test/java/docs/javadsl/PushKitExamples.java | 2 +-
.../src/test/scala/docs/scaladsl/PushKitExamples.scala | 2 +-
.../huawei/pushkit/ConditionBuilderSpec.scala | 2 +-
.../connectors/huawei/pushkit/HmsSettingsSpec.scala | 2 +-
.../huawei/pushkit/impl/HmsTokenApiSpec.scala | 2 +-
.../huawei/pushkit/impl/PushKitSenderSpec.scala | 2 +-
.../connectors/influxdb/InfluxDbReadSettings.scala | 2 +-
.../connectors/influxdb/InfluxDbWriteMessage.scala | 2 +-
.../connectors/influxdb/impl/InfluxDbFlowStage.scala | 2 +-
.../connectors/influxdb/impl/InfluxDbSourceStage.scala | 2 +-
.../impl/PekkoConnectorsResultMapperHelper.scala | 2 +-
.../connectors/influxdb/javadsl/InfluxDbFlow.scala | 2 +-
.../connectors/influxdb/javadsl/InfluxDbSink.scala | 2 +-
.../connectors/influxdb/javadsl/InfluxDbSource.scala | 2 +-
.../connectors/influxdb/scaladsl/InfluxDbFlow.scala | 2 +-
.../connectors/influxdb/scaladsl/InfluxDbSink.scala | 2 +-
.../connectors/influxdb/scaladsl/InfluxDbSource.scala | 2 +-
influxdb/src/test/java/docs/javadsl/Cpu.java | 2 +-
influxdb/src/test/java/docs/javadsl/InfluxDbCpu.java | 2 +-
.../src/test/java/docs/javadsl/InfluxDbSourceCpu.java | 2 +-
.../src/test/java/docs/javadsl/InfluxDbSourceTest.java | 2 +-
influxdb/src/test/java/docs/javadsl/InfluxDbTest.java | 2 +-
influxdb/src/test/java/docs/javadsl/TestConstants.java | 2 +-
influxdb/src/test/java/docs/javadsl/TestUtils.java | 2 +-
influxdb/src/test/scala/docs/scaladsl/FlowSpec.scala | 2 +-
.../src/test/scala/docs/scaladsl/InfluxDbFlowCpu.java | 2 +-
.../src/test/scala/docs/scaladsl/InfluxDbSourceCpu.java | 2 +-
.../test/scala/docs/scaladsl/InfluxDbSourceSpec.scala | 2 +-
.../src/test/scala/docs/scaladsl/InfluxDbSpec.scala | 2 +-
.../src/test/scala/docs/scaladsl/InfluxDbSpecCpu.java | 2 +-
.../pekko/stream/connectors/ironmq/IronMqSettings.scala | 2 +-
.../apache/pekko/stream/connectors/ironmq/domain.scala | 2 +-
.../pekko/stream/connectors/ironmq/impl/Codec.scala | 2 +-
.../stream/connectors/ironmq/impl/IronMqClient.scala | 2 +-
.../stream/connectors/ironmq/impl/IronMqPullStage.scala | 2 +-
.../stream/connectors/ironmq/impl/IronMqPushStage.scala | 2 +-
.../stream/connectors/ironmq/impl/ReservedMessage.scala | 2 +-
.../connectors/ironmq/javadsl/CommittableMessage.scala | 2 +-
.../connectors/ironmq/javadsl/IronMqConsumer.scala | 2 +-
.../connectors/ironmq/javadsl/IronMqProducer.scala | 2 +-
.../stream/connectors/ironmq/javadsl/package.scala | 2 +-
.../connectors/ironmq/scaladsl/CommittableMessage.scala | 2 +-
.../connectors/ironmq/scaladsl/IronMqConsumer.scala | 2 +-
.../connectors/ironmq/scaladsl/IronMqProducer.scala | 2 +-
ironmq/src/test/java/docs/javadsl/IronMqDocsTest.java | 2 +-
.../apache/pekko/stream/connectors/ironmq/UnitTest.java | 2 +-
.../connectors/ironmq/javadsl/IronMqConsumerTest.java | 2 +-
.../src/test/scala/docs/scaladsl/IronMqDocsSpec.scala | 2 +-
.../pekko/stream/connectors/ironmq/IronMqSpec.scala | 2 +-
.../connectors/ironmq/impl/IronMqClientForTests.scala | 2 +-
.../connectors/ironmq/impl/IronMqClientSpec.scala | 2 +-
.../connectors/ironmq/impl/IronMqPullStageSpec.scala | 2 +-
.../connectors/ironmq/impl/IronMqPushStageSpec.scala | 2 +-
.../connectors/ironmq/scaladsl/IronMqConsumerSpec.scala | 2 +-
.../connectors/ironmq/scaladsl/IronMqProducerSpec.scala | 2 +-
.../pekko/stream/connectors/jms/AcknowledgeMode.scala | 2 +-
.../stream/connectors/jms/ConnectionRetrySettings.scala | 2 +-
.../pekko/stream/connectors/jms/Credentials.scala | 2 +-
.../pekko/stream/connectors/jms/Destinations.scala | 2 +-
.../apache/pekko/stream/connectors/jms/Envelopes.scala | 2 +-
.../apache/pekko/stream/connectors/jms/Headers.scala | 2 +-
.../pekko/stream/connectors/jms/JmsBrowseSettings.scala | 2 +-
.../stream/connectors/jms/JmsConsumerSettings.scala | 2 +-
.../pekko/stream/connectors/jms/JmsExceptions.scala | 2 +-
.../pekko/stream/connectors/jms/JmsMessages.scala | 2 +-
.../stream/connectors/jms/JmsProducerSettings.scala | 2 +-
.../pekko/stream/connectors/jms/JmsSettings.scala | 2 +-
.../pekko/stream/connectors/jms/SendRetrySettings.scala | 2 +-
.../connectors/jms/impl/InternalConnectionState.scala | 2 +-
.../stream/connectors/jms/impl/JmsAckSourceStage.scala | 2 +-
.../stream/connectors/jms/impl/JmsBrowseStage.scala | 2 +-
.../pekko/stream/connectors/jms/impl/JmsConnector.scala | 2 +-
.../stream/connectors/jms/impl/JmsConsumerStage.scala | 2 +-
.../connectors/jms/impl/JmsInternalMatValues.scala | 2 +-
.../stream/connectors/jms/impl/JmsMessageProducer.scala | 2 +-
.../stream/connectors/jms/impl/JmsMessageReader.scala | 2 +-
.../stream/connectors/jms/impl/JmsProducerStage.scala | 2 +-
.../stream/connectors/jms/impl/JmsTxSourceStage.scala | 2 +-
.../pekko/stream/connectors/jms/impl/Sessions.scala | 2 +-
.../stream/connectors/jms/impl/SoftReferenceCache.scala | 2 +-
.../stream/connectors/jms/impl/SourceStageLogic.scala | 2 +-
.../connectors/jms/javadsl/JmsConnectorState.java | 2 +-
.../stream/connectors/jms/javadsl/JmsConsumer.scala | 2 +-
.../connectors/jms/javadsl/JmsConsumerControl.java | 2 +-
.../stream/connectors/jms/javadsl/JmsProducer.scala | 2 +-
.../connectors/jms/javadsl/JmsProducerStatus.java | 2 +-
.../connectors/jms/scaladsl/JmsConnectorState.scala | 2 +-
.../stream/connectors/jms/scaladsl/JmsConsumer.scala | 2 +-
.../stream/connectors/jms/scaladsl/JmsProducer.scala | 2 +-
.../pekko/stream/connectors/jms/scaladsl/package.scala | 2 +-
.../java/docs/javadsl/JmsBufferedAckConnectorsTest.java | 2 +-
jms/src/test/java/docs/javadsl/JmsConnectorsTest.java | 2 +-
.../test/java/docs/javadsl/JmsIbmmqConnectorsTest.java | 2 +-
jms/src/test/java/docs/javadsl/JmsSettingsTest.java | 2 +-
jms/src/test/java/docs/javadsl/JmsTxConnectorsTest.java | 2 +-
.../connectors/jms/javadsl/JmsAckConnectorsTest.java | 2 +-
.../docs/scaladsl/JmsBufferedAckConnectorsSpec.scala | 2 +-
.../test/scala/docs/scaladsl/JmsConnectorsSpec.scala | 2 +-
.../scala/docs/scaladsl/JmsIbmmqConnectorsSpec.scala | 2 +-
jms/src/test/scala/docs/scaladsl/JmsSettingsSpec.scala | 2 +-
.../test/scala/docs/scaladsl/JmsTxConnectorsSpec.scala | 2 +-
.../stream/connectors/jms/JmsConnectionStatusSpec.scala | 2 +-
.../stream/connectors/jms/JmsProducerRetrySpec.scala | 2 +-
.../stream/connectors/jms/JmsSharedServerSpec.scala | 2 +-
.../apache/pekko/stream/connectors/jms/JmsSpec.scala | 2 +-
.../connectors/jms/impl/JmsMessageProducerSpec.scala | 2 +-
.../connectors/jms/impl/SoftReferenceCacheSpec.scala | 2 +-
.../jms/scaladsl/CachedConnectionFactory.scala | 2 +-
.../connectors/jms/scaladsl/JmsAckConnectorsSpec.scala | 2 +-
.../stream/connectors/json/impl/JsonStreamReader.scala | 2 +-
.../stream/connectors/json/javadsl/JsonReader.scala | 2 +-
.../stream/connectors/json/scaladsl/JsonReader.scala | 2 +-
.../src/test/java/docs/javadsl/JsonReaderUsageTest.java | 2 +-
.../src/test/scala/docs/scaladsl/JsonReaderTest.scala | 2 +-
.../stream/connectors/kinesis/CommittableRecord.scala | 2 +-
.../pekko/stream/connectors/kinesis/KinesisErrors.scala | 2 +-
.../stream/connectors/kinesis/KinesisFlowSettings.scala | 2 +-
.../connectors/kinesis/KinesisSchedulerErrors.scala | 2 +-
.../connectors/kinesis/KinesisSchedulerSettings.scala | 2 +-
.../pekko/stream/connectors/kinesis/ShardIterator.scala | 2 +-
.../pekko/stream/connectors/kinesis/ShardSettings.scala | 2 +-
.../kinesis/impl/KinesisSchedulerSourceStage.scala | 2 +-
.../connectors/kinesis/impl/KinesisSourceStage.scala | 2 +-
.../stream/connectors/kinesis/impl/ShardProcessor.scala | 2 +-
.../stream/connectors/kinesis/javadsl/KinesisFlow.scala | 2 +-
.../kinesis/javadsl/KinesisSchedulerSource.scala | 2 +-
.../stream/connectors/kinesis/javadsl/KinesisSink.scala | 2 +-
.../connectors/kinesis/javadsl/KinesisSource.scala | 2 +-
.../connectors/kinesis/scaladsl/KinesisFlow.scala | 2 +-
.../kinesis/scaladsl/KinesisSchedulerSource.scala | 2 +-
.../connectors/kinesis/scaladsl/KinesisSink.scala | 2 +-
.../connectors/kinesis/scaladsl/KinesisSource.scala | 2 +-
.../kinesisfirehose/KinesisFirehoseErrors.scala | 2 +-
.../kinesisfirehose/KinesisFirehoseFlowSettings.scala | 2 +-
.../kinesisfirehose/javadsl/KinesisFirehoseFlow.scala | 2 +-
.../kinesisfirehose/javadsl/KinesisFirehoseSink.scala | 2 +-
.../kinesisfirehose/scaladsl/KinesisFirehoseFlow.scala | 2 +-
.../kinesisfirehose/scaladsl/KinesisFirehoseSink.scala | 2 +-
kinesis/src/test/java/docs/javadsl/KclSnippets.java | 2 +-
.../test/java/docs/javadsl/KinesisFirehoseSnippets.java | 2 +-
kinesis/src/test/java/docs/javadsl/KinesisSnippets.java | 2 +-
.../stream/connectors/kinesis/javadsl/KinesisTest.java | 2 +-
kinesis/src/test/scala/docs/scaladsl/KclSnippets.scala | 2 +-
.../scala/docs/scaladsl/KinesisFirehoseSnippets.scala | 2 +-
.../src/test/scala/docs/scaladsl/KinesisSnippets.scala | 2 +-
.../stream/connectors/kinesis/DefaultTestContext.scala | 2 +-
.../stream/connectors/kinesis/KinesisFlowSpec.scala | 2 +-
.../pekko/stream/connectors/kinesis/KinesisMock.scala | 2 +-
.../connectors/kinesis/KinesisSchedulerSourceSpec.scala | 2 +-
.../stream/connectors/kinesis/KinesisSourceSpec.scala | 2 +-
.../stream/connectors/kinesis/ShardSettingsSpec.scala | 2 +-
.../apache/pekko/stream/connectors/kinesis/Valve.scala | 2 +-
.../kinesisfirehose/KinesisFirehoseFlowSpec.scala | 2 +-
.../kinesisfirehose/KinesisFirehoseMock.scala | 2 +-
.../pekko/stream/connectors/kudu/KuduAttributes.scala | 2 +-
.../pekko/stream/connectors/kudu/KuduClientExt.scala | 2 +-
.../stream/connectors/kudu/KuduTableSettings.scala | 2 +-
.../stream/connectors/kudu/impl/KuduCapabilities.scala | 2 +-
.../stream/connectors/kudu/impl/KuduFlowStage.scala | 2 +-
.../stream/connectors/kudu/javadsl/KuduTable.scala | 2 +-
.../stream/connectors/kudu/scaladsl/KuduTable.scala | 2 +-
kudu/src/test/java/docs/javadsl/KuduTableTest.java | 2 +-
kudu/src/test/scala/docs/scaladsl/KuduTableSpec.scala | 2 +-
.../stream/connectors/mongodb/DocumentReplace.scala | 2 +-
.../stream/connectors/mongodb/DocumentUpdate.scala | 2 +-
.../stream/connectors/mongodb/javadsl/MongoFlow.scala | 2 +-
.../stream/connectors/mongodb/javadsl/MongoSink.scala | 2 +-
.../stream/connectors/mongodb/javadsl/MongoSource.scala | 2 +-
.../stream/connectors/mongodb/scaladsl/MongoFlow.scala | 2 +-
.../stream/connectors/mongodb/scaladsl/MongoSink.scala | 2 +-
.../connectors/mongodb/scaladsl/MongoSource.scala | 2 +-
mongodb/src/test/java/docs/javadsl/DomainObject.java | 2 +-
mongodb/src/test/java/docs/javadsl/MongoSinkTest.java | 2 +-
mongodb/src/test/java/docs/javadsl/MongoSourceTest.java | 2 +-
mongodb/src/test/java/docs/javadsl/Number.java | 2 +-
.../src/test/scala/docs/scaladsl/MongoSinkSpec.scala | 2 +-
.../src/test/scala/docs/scaladsl/MongoSourceSpec.scala | 2 +-
.../connectors/mqtt/streaming/MqttSessionSettings.scala | 2 +-
.../connectors/mqtt/streaming/impl/ActorName.scala | 2 +-
.../connectors/mqtt/streaming/impl/BehaviorRunner.scala | 2 +-
.../connectors/mqtt/streaming/impl/ClientState.scala | 2 +-
.../connectors/mqtt/streaming/impl/MqttFrameStage.scala | 2 +-
.../mqtt/streaming/impl/QueueOfferState.scala | 2 +-
.../connectors/mqtt/streaming/impl/RequestState.scala | 2 +-
.../connectors/mqtt/streaming/impl/ServerState.scala | 2 +-
.../stream/connectors/mqtt/streaming/javadsl/Mqtt.scala | 2 +-
.../connectors/mqtt/streaming/javadsl/MqttSession.scala | 2 +-
.../pekko/stream/connectors/mqtt/streaming/model.scala | 2 +-
.../connectors/mqtt/streaming/scaladsl/Mqtt.scala | 2 +-
.../mqtt/streaming/scaladsl/MqttSession.scala | 2 +-
.../src/test/java/docs/javadsl/MqttFlowTest.java | 2 +-
.../test/scala/docs/scaladsl/MqttActorSystemsSpec.scala | 2 +-
.../src/test/scala/docs/scaladsl/MqttCodecSpec.scala | 2 +-
.../src/test/scala/docs/scaladsl/MqttFlowSpec.scala | 2 +-
.../src/test/scala/docs/scaladsl/MqttSessionSpec.scala | 2 +-
.../mqtt/streaming/impl/MqttFrameStageSpec.scala | 2 +-
.../mqtt/streaming/impl/QueueOfferStateSpec.scala | 2 +-
.../mqtt/streaming/impl/RequestStateSpec.scala | 2 +-
.../stream/connectors/mqtt/impl/MqttFlowStage.scala | 2 +-
.../connectors/mqtt/impl/MqttFlowStageWithAck.scala | 2 +-
.../pekko/stream/connectors/mqtt/javadsl/MqttFlow.scala | 2 +-
.../connectors/mqtt/javadsl/MqttMessageWithAck.scala | 2 +-
.../pekko/stream/connectors/mqtt/javadsl/MqttSink.scala | 2 +-
.../stream/connectors/mqtt/javadsl/MqttSource.scala | 2 +-
.../org/apache/pekko/stream/connectors/mqtt/model.scala | 2 +-
.../stream/connectors/mqtt/scaladsl/MqttFlow.scala | 2 +-
.../connectors/mqtt/scaladsl/MqttMessageWithAck.scala | 2 +-
.../stream/connectors/mqtt/scaladsl/MqttSink.scala | 2 +-
.../stream/connectors/mqtt/scaladsl/MqttSource.scala | 2 +-
.../apache/pekko/stream/connectors/mqtt/settings.scala | 2 +-
mqtt/src/test/java/docs/javadsl/MqttFlowTest.java | 2 +-
mqtt/src/test/java/docs/javadsl/MqttSourceTest.java | 2 +-
mqtt/src/test/scala/docs/scaladsl/MqttFlowSpec.scala | 2 +-
mqtt/src/test/scala/docs/scaladsl/MqttSinkSpec.scala | 2 +-
mqtt/src/test/scala/docs/scaladsl/MqttSourceSpec.scala | 2 +-
mqtt/src/test/scala/docs/scaladsl/MqttSpecBase.scala | 2 +-
.../connectors/orientdb/OrientDbSourceSettings.scala | 2 +-
.../connectors/orientdb/OrientDbWriteSettings.scala | 2 +-
.../connectors/orientdb/impl/OrientDbFlowStage.scala | 2 +-
.../connectors/orientdb/impl/OrientDbSourceStage.scala | 2 +-
.../connectors/orientdb/javadsl/OrientDbFlow.scala | 2 +-
.../connectors/orientdb/javadsl/OrientDbSink.scala | 2 +-
.../connectors/orientdb/javadsl/OrientDbSource.scala | 2 +-
.../apache/pekko/stream/connectors/orientdb/model.scala | 2 +-
.../connectors/orientdb/scaladsl/OrientDbFlow.scala | 2 +-
.../connectors/orientdb/scaladsl/OrientDbSink.scala | 2 +-
.../connectors/orientdb/scaladsl/OrientDbSource.scala | 2 +-
orientdb/src/test/java/docs/javadsl/OrientDbTest.java | 2 +-
.../src/test/scala/docs/scaladsl/OrientDbSpec.scala | 2 +-
.../stream/connectors/pravega/javadsl/Pravega.java | 2 +-
.../stream/connectors/pravega/javadsl/PravegaTable.java | 2 +-
.../pekko/stream/connectors/pravega/PravegaEvent.scala | 2 +-
.../connectors/pravega/PravegaReaderGroupManager.scala | 2 +-
.../stream/connectors/pravega/PravegaSettings.scala | 2 +-
.../pekko/stream/connectors/pravega/TableEntry.scala | 2 +-
.../connectors/pravega/impl/PravegaCapabilities.scala | 2 +-
.../stream/connectors/pravega/impl/PravegaFlow.scala | 2 +-
.../stream/connectors/pravega/impl/PravegaSource.scala | 2 +-
.../connectors/pravega/impl/PravegaTableReadFlow.scala | 2 +-
.../connectors/pravega/impl/PravegaTableSource.scala | 2 +-
.../connectors/pravega/impl/PravegaTableWriteFlow.scala | 2 +-
.../stream/connectors/pravega/impl/PravegaWriter.scala | 2 +-
.../stream/connectors/pravega/scaladsl/Pravega.scala | 2 +-
.../connectors/pravega/scaladsl/PravegaTable.scala | 2 +-
.../src/test/java/docs/javadsl/PravegaBaseTestCase.java | 2 +-
.../test/java/docs/javadsl/PravegaReadWriteDocs.java | 2 +-
.../test/java/docs/javadsl/PravegaSettingsTestCase.java | 2 +-
.../stream/connectors/pravega/PravegaGraphTestCase.java | 2 +-
.../connectors/pravega/PravegaKVTableTestCase.java | 2 +-
.../connectors/pravega/PravegaPekkoTestCaseSupport.java | 2 +-
pravega/src/test/scala/docs/scaladsl/Model.scala | 2 +-
.../test/scala/docs/scaladsl/PravegaReadWriteDocs.scala | 2 +-
.../test/scala/docs/scaladsl/PravegaSettingsSpec.scala | 2 +-
pravega/src/test/scala/docs/scaladsl/Serializers.scala | 2 +-
.../stream/connectors/pravega/PravegaBaseSpec.scala | 2 +-
.../stream/connectors/pravega/PravegaGraphSpec.scala | 2 +-
.../stream/connectors/pravega/PravegaKVTableSpec.scala | 2 +-
.../connectors/pravega/PravegaStreamAndTableSpec.scala | 2 +-
project/AutomaticModuleName.scala | 2 +-
project/Common.scala | 2 +-
project/CopyrightHeader.scala | 4 ++--
project/CopyrightHeaderForBuild.scala | 6 ++++--
project/Dependencies.scala | 2 +-
project/TestChanged.scala | 2 +-
project/plugins.sbt | 17 +++++++++++++----
.../pekko/stream/connectors/reference/Resource.scala | 2 +-
.../pekko/stream/connectors/reference/attributes.scala | 2 +-
.../connectors/reference/impl/ReferenceFlowStage.scala | 2 +-
.../reference/impl/ReferenceSourceStage.scala | 2 +-
.../reference/impl/ReferenceWithResourceFlowStage.scala | 2 +-
.../stream/connectors/reference/javadsl/Reference.scala | 2 +-
.../pekko/stream/connectors/reference/model.scala | 2 +-
.../connectors/reference/scaladsl/Reference.scala | 2 +-
.../pekko/stream/connectors/reference/settings.scala | 2 +-
.../connectors/reference/testkit/MessageFactory.scala | 2 +-
reference/src/test/java/docs/javadsl/ReferenceTest.java | 2 +-
.../src/test/scala/docs/scaladsl/ReferenceSpec.scala | 2 +-
.../pekko/stream/connectors/s3/S3Attributes.scala | 2 +-
.../apache/pekko/stream/connectors/s3/S3Exception.scala | 2 +-
.../org/apache/pekko/stream/connectors/s3/S3Ext.scala | 2 +-
.../apache/pekko/stream/connectors/s3/S3Headers.scala | 2 +-
.../org/apache/pekko/stream/connectors/s3/Utils.scala | 2 +-
.../pekko/stream/connectors/s3/headers/CannedAcl.scala | 2 +-
.../connectors/s3/headers/ServerSideEncryption.scala | 2 +-
.../stream/connectors/s3/headers/StorageClass.scala | 2 +-
.../apache/pekko/stream/connectors/s3/impl/Chunk.scala | 2 +-
.../pekko/stream/connectors/s3/impl/DiskBuffer.scala | 2 +-
.../pekko/stream/connectors/s3/impl/HttpRequests.scala | 2 +-
.../pekko/stream/connectors/s3/impl/Marshalling.scala | 2 +-
.../pekko/stream/connectors/s3/impl/MemoryBuffer.scala | 2 +-
.../stream/connectors/s3/impl/MemoryWithContext.scala | 2 +-
.../pekko/stream/connectors/s3/impl/S3Request.scala | 2 +-
.../pekko/stream/connectors/s3/impl/S3Stream.scala | 2 +-
.../stream/connectors/s3/impl/SplitAfterSize.scala | 2 +-
.../connectors/s3/impl/SplitAfterSizeWithContext.scala | 2 +-
.../connectors/s3/impl/auth/CanonicalRequest.scala | 2 +-
.../pekko/stream/connectors/s3/impl/auth/Signer.scala | 2 +-
.../stream/connectors/s3/impl/auth/SigningKey.scala | 2 +-
.../pekko/stream/connectors/s3/impl/auth/package.scala | 2 +-
.../apache/pekko/stream/connectors/s3/javadsl/S3.scala | 2 +-
.../org/apache/pekko/stream/connectors/s3/model.scala | 2 +-
.../apache/pekko/stream/connectors/s3/scaladsl/S3.scala | 2 +-
.../apache/pekko/stream/connectors/s3/settings.scala | 2 +-
s3/src/test/java/docs/javadsl/S3Test.java | 2 +-
s3/src/test/scala/docs/scaladsl/S3SinkSpec.scala | 2 +-
s3/src/test/scala/docs/scaladsl/S3SourceSpec.scala | 2 +-
.../pekko/stream/connectors/s3/MinioContainer.scala | 2 +-
.../apache/pekko/stream/connectors/s3/MinioS3Test.scala | 2 +-
.../pekko/stream/connectors/s3/S3ExceptionSpec.scala | 2 +-
.../pekko/stream/connectors/s3/S3SettingsSpec.scala | 2 +-
.../apache/pekko/stream/connectors/s3/TestUtils.scala | 2 +-
.../stream/connectors/s3/impl/DiskBufferSpec.scala | 2 +-
.../stream/connectors/s3/impl/HttpRequestsSpec.scala | 2 +-
.../stream/connectors/s3/impl/MarshallingSpec.scala | 2 +-
.../stream/connectors/s3/impl/MemoryBufferSpec.scala | 2 +-
.../pekko/stream/connectors/s3/impl/S3HeadersSpec.scala | 2 +-
.../pekko/stream/connectors/s3/impl/S3StreamSpec.scala | 2 +-
.../stream/connectors/s3/impl/SplitAfterSizeSpec.scala | 2 +-
.../connectors/s3/impl/auth/CanonicalRequestSpec.scala | 2 +-
.../stream/connectors/s3/impl/auth/SignerSpec.scala | 2 +-
.../stream/connectors/s3/impl/auth/SigningKeySpec.scala | 2 +-
.../s3/impl/auth/SplitAfterSizeWithContextSpec.scala | 2 +-
.../connectors/s3/impl/auth/StreamUtilsSpec.scala | 2 +-
.../pekko/stream/connectors/s3/impl/auth/authSpec.scala | 2 +-
.../stream/connectors/s3/scaladsl/Generators.scala | 2 +-
.../s3/scaladsl/S3ClientIntegrationSpec.scala | 2 +-
.../pekko/stream/connectors/s3/scaladsl/S3ExtSpec.scala | 2 +-
.../connectors/s3/scaladsl/S3IntegrationSpec.scala | 2 +-
.../s3/scaladsl/S3SlowMinioIntegrationSpec.scala | 2 +-
.../stream/connectors/s3/scaladsl/S3WireMockBase.scala | 2 +-
.../connectors/recordio/impl/RecordIOFramingStage.scala | 2 +-
.../connectors/recordio/javadsl/RecordIOFraming.scala | 2 +-
.../connectors/recordio/scaladsl/RecordIOFraming.scala | 2 +-
.../src/test/java/docs/javadsl/RecordIOFramingTest.java | 2 +-
.../test/scala/docs/scaladsl/RecordIOFramingSpec.scala | 2 +-
.../pekko/stream/connectors/slick/javadsl/Slick.scala | 2 +-
.../pekko/stream/connectors/slick/javadsl/package.scala | 2 +-
.../pekko/stream/connectors/slick/scaladsl/Slick.scala | 2 +-
.../stream/connectors/slick/scaladsl/package.scala | 2 +-
slick/src/test/java/docs/javadsl/DocSnippetFlow.java | 2 +-
.../docs/javadsl/DocSnippetFlowWithPassThrough.java | 2 +-
slick/src/test/java/docs/javadsl/DocSnippetSink.java | 2 +-
slick/src/test/java/docs/javadsl/DocSnippetSource.java | 2 +-
slick/src/test/java/docs/javadsl/SlickTest.java | 2 +-
slick/src/test/java/docs/javadsl/User.java | 2 +-
slick/src/test/scala/docs/scaladsl/DocSnippets.scala | 2 +-
slick/src/test/scala/docs/scaladsl/SlickSpec.scala | 2 +-
.../stream/connectors/sns/SnsPublishSettings.scala | 2 +-
.../stream/connectors/sns/javadsl/SnsPublisher.scala | 2 +-
.../stream/connectors/sns/scaladsl/SnsPublisher.scala | 2 +-
sns/src/test/java/docs/javadsl/SnsPublisherTest.java | 2 +-
sns/src/test/scala/docs/scaladsl/SnsPublisherSpec.scala | 2 +-
.../stream/connectors/sns/DefaultTestContext.scala | 2 +-
.../stream/connectors/sns/IntegrationTestContext.scala | 2 +-
.../stream/connectors/sns/SnsPublishMockingSpec.scala | 2 +-
.../pekko/stream/connectors/solr/SolrMessages.scala | 2 +-
.../stream/connectors/solr/SolrUpdateSettings.scala | 2 +-
.../stream/connectors/solr/impl/SolrFlowStage.scala | 2 +-
.../stream/connectors/solr/impl/SolrSourceStage.scala | 2 +-
.../pekko/stream/connectors/solr/javadsl/SolrFlow.scala | 2 +-
.../pekko/stream/connectors/solr/javadsl/SolrSink.scala | 2 +-
.../stream/connectors/solr/javadsl/SolrSource.scala | 2 +-
.../stream/connectors/solr/scaladsl/SolrFlow.scala | 2 +-
.../stream/connectors/solr/scaladsl/SolrSink.scala | 2 +-
.../stream/connectors/solr/scaladsl/SolrSource.scala | 2 +-
solr/src/test/java/docs/javadsl/SolrTest.java | 2 +-
solr/src/test/scala/docs/scaladsl/SolrSpec.scala | 2 +-
.../connectors/spring/web/PekkoStreamsRegistrar.java | 2 +-
.../spring/web/SpringWebPekkoStreamsConfiguration.java | 2 +-
.../spring/web/SpringWebPekkoStreamsProperties.java | 2 +-
.../src/test/java/docs/javadsl/DemoApplication.java | 2 +-
.../src/test/java/docs/javadsl/SampleController.java | 2 +-
.../stream/connectors/sqs/SqsAckBatchSettings.scala | 2 +-
.../stream/connectors/sqs/SqsAckGroupedSettings.scala | 2 +-
.../pekko/stream/connectors/sqs/SqsAckSettings.scala | 2 +-
.../pekko/stream/connectors/sqs/SqsBatchException.scala | 2 +-
.../apache/pekko/stream/connectors/sqs/SqsModel.scala | 2 +-
.../stream/connectors/sqs/SqsPublishBatchSettings.scala | 2 +-
.../connectors/sqs/SqsPublishGroupedSettings.scala | 2 +-
.../stream/connectors/sqs/SqsPublishSettings.scala | 2 +-
.../pekko/stream/connectors/sqs/SqsSourceSettings.scala | 2 +-
.../stream/connectors/sqs/impl/BalancingMapAsync.scala | 2 +-
.../stream/connectors/sqs/javadsl/SqsAckFlow.scala | 2 +-
.../stream/connectors/sqs/javadsl/SqsAckSink.scala | 2 +-
.../stream/connectors/sqs/javadsl/SqsPublishFlow.scala | 2 +-
.../stream/connectors/sqs/javadsl/SqsPublishSink.scala | 2 +-
.../pekko/stream/connectors/sqs/javadsl/SqsSource.scala | 2 +-
.../stream/connectors/sqs/scaladsl/SqsAckFlow.scala | 2 +-
.../stream/connectors/sqs/scaladsl/SqsAckSink.scala | 2 +-
.../stream/connectors/sqs/scaladsl/SqsPublishFlow.scala | 2 +-
.../stream/connectors/sqs/scaladsl/SqsPublishSink.scala | 2 +-
.../stream/connectors/sqs/scaladsl/SqsSource.scala | 2 +-
.../stream/connectors/sqs/testkit/MessageFactory.scala | 2 +-
sqs/src/test/java/docs/javadsl/SqsAckTest.java | 2 +-
sqs/src/test/java/docs/javadsl/SqsPublishTest.java | 2 +-
sqs/src/test/java/docs/javadsl/SqsSourceTest.java | 2 +-
.../stream/connectors/sqs/javadsl/BaseSqsTest.java | 2 +-
sqs/src/test/scala/docs/scaladsl/SqsAckSpec.scala | 2 +-
sqs/src/test/scala/docs/scaladsl/SqsPublishSpec.scala | 2 +-
sqs/src/test/scala/docs/scaladsl/SqsSourceSpec.scala | 2 +-
.../pekko/stream/connectors/sqs/SqsModelSpec.scala | 2 +-
.../connectors/sqs/scaladsl/DefaultTestContext.scala | 2 +-
.../sqs/scaladsl/MessageAttributeNameSpec.scala | 2 +-
.../connectors/sqs/scaladsl/SqsPublishSinkSpec.scala | 2 +-
.../connectors/sqs/scaladsl/SqsSourceMockSpec.scala | 2 +-
.../stream/connectors/sse/javadsl/EventSource.scala | 2 +-
.../stream/connectors/sse/scaladsl/EventSource.scala | 2 +-
sse/src/test/java/docs/javadsl/EventSourceTest.java | 2 +-
sse/src/test/scala/docs/scaladsl/EventSourceSpec.scala | 2 +-
.../stream/connectors/testkit/CapturingAppender.scala | 2 +-
.../pekko/stream/connectors/testkit/LogbackUtil.scala | 2 +-
.../connectors/testkit/javadsl/LogCapturingJunit4.scala | 2 +-
.../connectors/testkit/scaladsl/LogCapturing.scala | 2 +-
.../stream/connectors/testkit/scaladsl/Repeated.scala | 2 +-
.../connectors/text/impl/CharsetDecodingFlow.scala | 2 +-
.../stream/connectors/text/impl/CharsetLogic.scala | 2 +-
.../connectors/text/impl/CharsetTranscodingFlow.scala | 2 +-
.../pekko/stream/connectors/text/javadsl/TextFlow.scala | 2 +-
.../stream/connectors/text/scaladsl/TextFlow.scala | 2 +-
.../test/java/docs/javadsl/CharsetCodingFlowsDoc.java | 2 +-
.../scala/docs/scaladsl/CharsetCodingFlowsDoc.scala | 2 +-
.../text/scaladsl/CharsetCodingFlowsSpec.scala | 2 +-
.../pekko/stream/connectors/udp/impl/UdpBind.scala | 2 +-
.../pekko/stream/connectors/udp/impl/UdpSend.scala | 2 +-
.../pekko/stream/connectors/udp/javadsl/Udp.scala | 2 +-
.../org/apache/pekko/stream/connectors/udp/model.scala | 2 +-
.../pekko/stream/connectors/udp/scaladsl/Udp.scala | 2 +-
udp/src/test/java/docs/javadsl/UdpTest.java | 2 +-
udp/src/test/scala/docs/scaladsl/UdpSpec.scala | 2 +-
.../connectors/unixdomainsocket/UnixSocketAddress.scala | 2 +-
.../unixdomainsocket/impl/UnixDomainSocketImpl.scala | 2 +-
.../unixdomainsocket/javadsl/UnixDomainSocket.scala | 2 +-
.../unixdomainsocket/scaladsl/UnixDomainSocket.scala | 2 +-
.../test/java/docs/javadsl/UnixDomainSocketTest.java | 2 +-
.../test/scala/docs/scaladsl/UnixDomainSocketSpec.scala | 2 +-
.../pekko/stream/connectors/xml/ParseEventMarker.java | 2 +-
.../pekko/stream/connectors/xml/impl/Coalesce.scala | 2 +-
.../stream/connectors/xml/impl/StreamingXmlParser.scala | 2 +-
.../stream/connectors/xml/impl/StreamingXmlWriter.scala | 2 +-
.../pekko/stream/connectors/xml/impl/Subslice.scala | 2 +-
.../pekko/stream/connectors/xml/impl/Subtree.scala | 2 +-
.../stream/connectors/xml/javadsl/XmlParsing.scala | 2 +-
.../stream/connectors/xml/javadsl/XmlWriting.scala | 2 +-
.../org/apache/pekko/stream/connectors/xml/model.scala | 2 +-
.../stream/connectors/xml/scaladsl/XmlParsing.scala | 2 +-
.../stream/connectors/xml/scaladsl/XmlWriting.scala | 2 +-
xml/src/test/java/docs/javadsl/XmlHelper.java | 2 +-
xml/src/test/java/docs/javadsl/XmlParsingTest.java | 2 +-
xml/src/test/java/docs/javadsl/XmlWritingTest.java | 2 +-
xml/src/test/scala/docs/scaladsl/XmlCoalesceSpec.scala | 2 +-
.../test/scala/docs/scaladsl/XmlProcessingSpec.scala | 2 +-
xml/src/test/scala/docs/scaladsl/XmlSubsliceSpec.scala | 2 +-
xml/src/test/scala/docs/scaladsl/XmlSubtreeSpec.scala | 2 +-
xml/src/test/scala/docs/scaladsl/XmlWritingSpec.scala | 2 +-
1031 files changed, 1055 insertions(+), 1036 deletions(-)
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pekko.apache.org
For additional commands, e-mail: commits-help@pekko.apache.org
[incubator-pekko-connectors] 05/18: Scala3 support for more google connectors (#143)
Posted by fa...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
fanningpj pushed a commit to branch scala3
in repository https://gitbox.apache.org/repos/asf/incubator-pekko-connectors.git
commit 17022b818c95d5e2603967151042525f3c351832
Author: PJ Fanning <pj...@users.noreply.github.com>
AuthorDate: Thu Jun 8 22:00:41 2023 +0100
Scala3 support for more google connectors (#143)
* support scala3 (google-common)
* support scala3 on more google connectors
* continue
* imports
* more implicit issues
* Update BigQueryCollectionFormats.scala
* further issues
* class access issues
* Update BigQueryRestBasicFormats.scala
* use compactPrint because toString causes tests to fail in Scala3
* review issue
---
.../elasticsearch/scaladsl/ElasticsearchFlow.scala | 2 +-
.../scala/docs/scaladsl/ElasticsearchV5Spec.scala | 6 ++---
.../scala/docs/scaladsl/ElasticsearchV7Spec.scala | 6 ++---
.../scala/docs/scaladsl/OpensearchV1Spec.scala | 6 ++---
.../bigquery/model/DatasetJsonProtocol.scala | 6 ++---
.../bigquery/model/ErrorProtoJsonProtocol.scala | 3 ++-
.../bigquery/model/JobJsonProtocol.scala | 21 +++++++++-------
.../bigquery/model/QueryJsonProtocol.scala | 9 ++++---
.../bigquery/model/TableDataJsonProtocol.scala | 13 +++++-----
.../bigquery/model/TableJsonProtocol.scala | 15 ++++++------
.../scaladsl/spray/BigQueryCollectionFormats.scala | 26 +++++++++++++-------
.../scaladsl/spray/BigQueryRestBasicFormats.scala | 24 +++++++++----------
.../src/test/scala/docs/scaladsl/BigQueryDoc.scala | 12 ++++++----
.../connectors/googlecloud/bigquery/e2e/A.scala | 4 ++--
.../e2e/scaladsl/BigQueryEndToEndSpec.scala | 18 +++++++-------
.../bigquery/scaladsl/BigQueryQueriesSpec.scala | 12 +++++-----
.../scaladsl/schema/BigQuerySchemasSpec.scala | 10 ++++----
.../scaladsl/spray/BigQueryJsonProtocolSpec.scala | 4 ++--
.../googlecloud/pubsub/impl/PubSubApi.scala | 28 ++++++++++++----------
.../googlecloud/pubsub/impl/PubSubApiSpec.scala | 2 +-
.../stream/connectors/google/GoogleSettings.scala | 6 +++--
.../stream/connectors/google/ResumableUpload.scala | 1 -
.../connectors/google/auth/NoCredentials.scala | 2 +-
project/Dependencies.scala | 2 --
24 files changed, 128 insertions(+), 110 deletions(-)
diff --git a/elasticsearch/src/main/scala/org/apache/pekko/stream/connectors/elasticsearch/scaladsl/ElasticsearchFlow.scala b/elasticsearch/src/main/scala/org/apache/pekko/stream/connectors/elasticsearch/scaladsl/ElasticsearchFlow.scala
index 463848cb2..3c80a959e 100644
--- a/elasticsearch/src/main/scala/org/apache/pekko/stream/connectors/elasticsearch/scaladsl/ElasticsearchFlow.scala
+++ b/elasticsearch/src/main/scala/org/apache/pekko/stream/connectors/elasticsearch/scaladsl/ElasticsearchFlow.scala
@@ -221,7 +221,7 @@ object ElasticsearchFlow {
}
private final class SprayJsonWriter[T](implicit writer: JsonWriter[T]) extends MessageWriter[T] {
- override def convert(message: T): String = message.toJson.toString()
+ override def convert(message: T): String = message.toJson.compactPrint
}
}
diff --git a/elasticsearch/src/test/scala/docs/scaladsl/ElasticsearchV5Spec.scala b/elasticsearch/src/test/scala/docs/scaladsl/ElasticsearchV5Spec.scala
index 52b27dc11..7bc0bb25b 100644
--- a/elasticsearch/src/test/scala/docs/scaladsl/ElasticsearchV5Spec.scala
+++ b/elasticsearch/src/test/scala/docs/scaladsl/ElasticsearchV5Spec.scala
@@ -158,9 +158,9 @@ class ElasticsearchV5Spec extends ElasticsearchSpecBase with ElasticsearchSpecUt
// #string
val write: Future[immutable.Seq[WriteResult[String, NotUsed]]] = Source(
immutable.Seq(
- WriteMessage.createIndexMessage("1", Book("Das Parfum").toJson.toString()),
- WriteMessage.createIndexMessage("2", Book("Faust").toJson.toString()),
- WriteMessage.createIndexMessage("3", Book("Die unendliche Geschichte").toJson.toString()))).via(
+ WriteMessage.createIndexMessage("1", Book("Das Parfum").toJson.compactPrint),
+ WriteMessage.createIndexMessage("2", Book("Faust").toJson.compactPrint),
+ WriteMessage.createIndexMessage("3", Book("Die unendliche Geschichte").toJson.compactPrint))).via(
ElasticsearchFlow.create(
constructElasticsearchParams(indexName, "_doc", ApiVersion.V5),
settings = baseWriteSettings,
diff --git a/elasticsearch/src/test/scala/docs/scaladsl/ElasticsearchV7Spec.scala b/elasticsearch/src/test/scala/docs/scaladsl/ElasticsearchV7Spec.scala
index 1d2522454..bccd5afeb 100644
--- a/elasticsearch/src/test/scala/docs/scaladsl/ElasticsearchV7Spec.scala
+++ b/elasticsearch/src/test/scala/docs/scaladsl/ElasticsearchV7Spec.scala
@@ -147,9 +147,9 @@ class ElasticsearchV7Spec extends ElasticsearchSpecBase with ElasticsearchSpecUt
val write: Future[immutable.Seq[WriteResult[String, NotUsed]]] = Source(
immutable.Seq(
- WriteMessage.createIndexMessage("1", Book("Das Parfum").toJson.toString()),
- WriteMessage.createIndexMessage("2", Book("Faust").toJson.toString()),
- WriteMessage.createIndexMessage("3", Book("Die unendliche Geschichte").toJson.toString()))).via(
+ WriteMessage.createIndexMessage("1", Book("Das Parfum").toJson.compactPrint),
+ WriteMessage.createIndexMessage("2", Book("Faust").toJson.compactPrint),
+ WriteMessage.createIndexMessage("3", Book("Die unendliche Geschichte").toJson.compactPrint))).via(
ElasticsearchFlow.create(
constructElasticsearchParams(indexName, "_doc", ApiVersion.V7),
settings = baseWriteSettings,
diff --git a/elasticsearch/src/test/scala/docs/scaladsl/OpensearchV1Spec.scala b/elasticsearch/src/test/scala/docs/scaladsl/OpensearchV1Spec.scala
index 3ba59ee55..81a093399 100644
--- a/elasticsearch/src/test/scala/docs/scaladsl/OpensearchV1Spec.scala
+++ b/elasticsearch/src/test/scala/docs/scaladsl/OpensearchV1Spec.scala
@@ -163,9 +163,9 @@ class OpensearchV1Spec extends ElasticsearchSpecBase with ElasticsearchSpecUtils
// #string
val write: Future[immutable.Seq[WriteResult[String, NotUsed]]] = Source(
immutable.Seq(
- WriteMessage.createIndexMessage("1", Book("Das Parfum").toJson.toString()),
- WriteMessage.createIndexMessage("2", Book("Faust").toJson.toString()),
- WriteMessage.createIndexMessage("3", Book("Die unendliche Geschichte").toJson.toString()))).via(
+ WriteMessage.createIndexMessage("1", Book("Das Parfum").toJson.compactPrint),
+ WriteMessage.createIndexMessage("2", Book("Faust").toJson.compactPrint),
+ WriteMessage.createIndexMessage("3", Book("Die unendliche Geschichte").toJson.compactPrint))).via(
ElasticsearchFlow.create(
constructElasticsearchParams(indexName, "_doc", OpensearchApiVersion.V1),
settings = baseWriteSettings,
diff --git a/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/model/DatasetJsonProtocol.scala b/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/model/DatasetJsonProtocol.scala
index 3e0166776..ef9ff12ca 100644
--- a/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/model/DatasetJsonProtocol.scala
+++ b/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/model/DatasetJsonProtocol.scala
@@ -32,7 +32,7 @@ import scala.collection.immutable.Seq
* @param labels the labels associated with this dataset
* @param location the geographic location where the dataset should reside
*/
-final case class Dataset private (datasetReference: DatasetReference,
+final case class Dataset private[bigquery] (datasetReference: DatasetReference,
friendlyName: Option[String],
labels: Option[Map[String, String]],
location: Option[String]) {
@@ -87,7 +87,7 @@ object Dataset {
* @param datasetId A unique ID for this dataset, without the project name
* @param projectId The ID of the project containing this dataset
*/
-final case class DatasetReference private (datasetId: Option[String], projectId: Option[String]) {
+final case class DatasetReference private[bigquery] (datasetId: Option[String], projectId: Option[String]) {
def getDatasetId = datasetId.toJava
def getProjectId = projectId.toJava
@@ -126,7 +126,7 @@ object DatasetReference {
* @param nextPageToken a token that can be used to request the next results page
* @param datasets an array of the dataset resources in the project
*/
-final case class DatasetListResponse private (nextPageToken: Option[String], datasets: Option[Seq[Dataset]]) {
+final case class DatasetListResponse private[bigquery] (nextPageToken: Option[String], datasets: Option[Seq[Dataset]]) {
def getNextPageToken = nextPageToken.toJava
def getDatasets = datasets.map(_.asJava).toJava
diff --git a/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/model/ErrorProtoJsonProtocol.scala b/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/model/ErrorProtoJsonProtocol.scala
index 8aec41cdf..a454b0ae8 100644
--- a/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/model/ErrorProtoJsonProtocol.scala
+++ b/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/model/ErrorProtoJsonProtocol.scala
@@ -31,7 +31,8 @@ import scala.annotation.nowarn
* @param location specifies where the error occurred, if present
* @param message A human-readable description of the error
*/
-final case class ErrorProto private (reason: Option[String], location: Option[String], message: Option[String]) {
+final case class ErrorProto private[bigquery] (reason: Option[String], location: Option[String],
+ message: Option[String]) {
@nowarn("msg=never used")
@JsonCreator
diff --git a/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/model/JobJsonProtocol.scala b/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/model/JobJsonProtocol.scala
index c53722c02..bdd04a5ab 100644
--- a/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/model/JobJsonProtocol.scala
+++ b/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/model/JobJsonProtocol.scala
@@ -33,7 +33,7 @@ import scala.collection.immutable.Seq
* @param jobReference reference describing the unique-per-user name of the job
* @param status the status of this job
*/
-final case class Job private (configuration: Option[JobConfiguration],
+final case class Job private[bigquery] (configuration: Option[JobConfiguration],
jobReference: Option[JobReference],
status: Option[JobStatus]) {
@@ -83,7 +83,8 @@ object Job {
* @param load configures a load job
* @param labels the labels associated with this job
*/
-final case class JobConfiguration private (load: Option[JobConfigurationLoad], labels: Option[Map[String, String]]) {
+final case class JobConfiguration private[bigquery] (load: Option[JobConfigurationLoad],
+ labels: Option[Map[String, String]]) {
def getLoad = load.toJava
def getLabels = labels.toJava
@@ -144,7 +145,7 @@ object JobConfiguration {
* @param writeDisposition specifies the action that occurs if the destination table already exists
* @param sourceFormat the format of the data files
*/
-final case class JobConfigurationLoad private (schema: Option[TableSchema],
+final case class JobConfigurationLoad private[bigquery] (schema: Option[TableSchema],
destinationTable: Option[TableReference],
createDisposition: Option[CreateDisposition],
writeDisposition: Option[WriteDisposition],
@@ -210,7 +211,7 @@ object JobConfigurationLoad {
implicit val configurationLoadFormat: JsonFormat[JobConfigurationLoad] = jsonFormat5(apply)
}
-final case class CreateDisposition private (value: String) extends StringEnum
+final case class CreateDisposition private[bigquery] (value: String) extends StringEnum
object CreateDisposition {
/**
@@ -227,7 +228,7 @@ object CreateDisposition {
implicit val format: JsonFormat[CreateDisposition] = StringEnum.jsonFormat(apply)
}
-final case class WriteDisposition private (value: String) extends StringEnum
+final case class WriteDisposition private[bigquery] (value: String) extends StringEnum
object WriteDisposition {
/**
@@ -269,7 +270,8 @@ object SourceFormat {
* @param jobId the ID of the job
* @param location the geographic location of the job
*/
-final case class JobReference private (projectId: Option[String], jobId: Option[String], location: Option[String]) {
+final case class JobReference private[bigquery] (projectId: Option[String], jobId: Option[String],
+ location: Option[String]) {
@nowarn("msg=never used")
@JsonCreator
@@ -323,7 +325,8 @@ object JobReference {
* @param errors the first errors encountered during the running of the job
* @param state running state of the job
*/
-final case class JobStatus private (errorResult: Option[ErrorProto], errors: Option[Seq[ErrorProto]], state: JobState) {
+final case class JobStatus private[bigquery] (errorResult: Option[ErrorProto], errors: Option[Seq[ErrorProto]],
+ state: JobState) {
def getErrorResult = errorResult.toJava
def getErrors = errors.map(_.asJava).toJava
@@ -360,7 +363,7 @@ object JobStatus {
implicit val format: JsonFormat[JobStatus] = jsonFormat3(apply)
}
-final case class JobState private (value: String) extends StringEnum
+final case class JobState private[bigquery] (value: String) extends StringEnum
object JobState {
/**
@@ -380,7 +383,7 @@ object JobState {
implicit val format: JsonFormat[JobState] = StringEnum.jsonFormat(apply)
}
-final case class JobCancelResponse private (job: Job) {
+final case class JobCancelResponse private[bigquery] (job: Job) {
def getJob = job
def withJob(job: Job) =
copy(job = job)
diff --git a/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/model/QueryJsonProtocol.scala b/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/model/QueryJsonProtocol.scala
index 56ce06f02..7149d8225 100644
--- a/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/model/QueryJsonProtocol.scala
+++ b/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/model/QueryJsonProtocol.scala
@@ -21,11 +21,10 @@ import pekko.util.ccompat.JavaConverters._
import pekko.util.JavaDurationConverters._
import pekko.util.OptionConverters._
import com.fasterxml.jackson.annotation.{ JsonCreator, JsonIgnoreProperties, JsonProperty }
-import spray.json.{ RootJsonFormat, RootJsonReader }
+import spray.json.{ JsonFormat, RootJsonFormat, RootJsonReader }
import java.time.Duration
import java.{ lang, util }
-
import scala.annotation.nowarn
import scala.annotation.unchecked.uncheckedVariance
import scala.collection.immutable.Seq
@@ -46,7 +45,7 @@ import scala.concurrent.duration.FiniteDuration
* @param maximumBytesBilled limits the number of bytes billed for this query
* @param requestId a unique user provided identifier to ensure idempotent behavior for queries
*/
-final case class QueryRequest private (query: String,
+final case class QueryRequest private[bigquery] (query: String,
maxResults: Option[Int],
defaultDataset: Option[DatasetReference],
timeout: Option[FiniteDuration],
@@ -192,7 +191,7 @@ object QueryRequest {
* @tparam T the data model for each row
*/
@JsonIgnoreProperties(ignoreUnknown = true)
-final case class QueryResponse[+T] private (schema: Option[TableSchema],
+final case class QueryResponse[+T] private[bigquery] (schema: Option[TableSchema],
jobReference: JobReference,
totalRows: Option[Long],
pageToken: Option[String],
@@ -329,7 +328,7 @@ object QueryResponse {
implicit def reader[T <: AnyRef](
implicit reader: BigQueryRootJsonReader[T]): RootJsonReader[QueryResponse[T]] = {
- implicit val format = lift(reader)
+ implicit val format: JsonFormat[T] = lift(reader)
jsonFormat10(QueryResponse[T])
}
implicit val paginated: Paginated[QueryResponse[Any]] = _.pageToken
diff --git a/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/model/TableDataJsonProtocol.scala b/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/model/TableDataJsonProtocol.scala
index fa0451534..1ca69cc74 100644
--- a/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/model/TableDataJsonProtocol.scala
+++ b/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/model/TableDataJsonProtocol.scala
@@ -38,7 +38,8 @@ import scala.collection.immutable.Seq
* @tparam T the data model of each row
*/
@JsonIgnoreProperties(ignoreUnknown = true)
-final case class TableDataListResponse[+T] private (totalRows: Long, pageToken: Option[String], rows: Option[Seq[T]]) {
+final case class TableDataListResponse[+T] private[bigquery] (totalRows: Long, pageToken: Option[String],
+ rows: Option[Seq[T]]) {
@nowarn("msg=never used")
@JsonCreator
@@ -82,7 +83,7 @@ object TableDataListResponse {
implicit def reader[T <: AnyRef](
implicit reader: BigQueryRootJsonReader[T]): RootJsonReader[TableDataListResponse[T]] = {
- implicit val format = lift(reader)
+ implicit val format: JsonFormat[T] = lift(reader)
jsonFormat3(TableDataListResponse[T])
}
implicit val paginated: Paginated[TableDataListResponse[Any]] = _.pageToken
@@ -99,7 +100,7 @@ object TableDataListResponse {
* @tparam T the data model of each row
*/
@JsonInclude(Include.NON_NULL)
-final case class TableDataInsertAllRequest[+T] private (skipInvalidRows: Option[Boolean],
+final case class TableDataInsertAllRequest[+T] private[bigquery] (skipInvalidRows: Option[Boolean],
ignoreUnknownValues: Option[Boolean],
templateSuffix: Option[String],
rows: Seq[Row[T]]) {
@@ -179,7 +180,7 @@ object TableDataInsertAllRequest {
* @param json the record this row contains
* @tparam T the data model of the record
*/
-final case class Row[+T] private (insertId: Option[String], json: T) {
+final case class Row[+T] private[bigquery] (insertId: Option[String], json: T) {
def getInsertId = insertId.toJava
def getJson = json
@@ -212,7 +213,7 @@ object Row {
* TableDataInsertAllResponse model
* @see [[https://cloud.google.com/bigquery/docs/reference/rest/v2/tabledata/insertAll#response-body BigQuery reference]]
*/
-final case class TableDataInsertAllResponse private (insertErrors: Option[Seq[InsertError]]) {
+final case class TableDataInsertAllResponse private[bigquery] (insertErrors: Option[Seq[InsertError]]) {
def getInsertErrors = insertErrors.map(_.asJava).toJava
def withInsertErrors(insertErrors: Option[Seq[InsertError]]) =
@@ -239,7 +240,7 @@ object TableDataInsertAllResponse {
* InsertError model
* @see [[https://cloud.google.com/bigquery/docs/reference/rest/v2/tabledata/insertAll#response-body BigQuery reference]]
*/
-final case class InsertError private (index: Int, errors: Option[Seq[ErrorProto]]) {
+final case class InsertError private[bigquery] (index: Int, errors: Option[Seq[ErrorProto]]) {
def getIndex = index
def getErrors = errors.map(_.asJava).toJava
diff --git a/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/model/TableJsonProtocol.scala b/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/model/TableJsonProtocol.scala
index d193fb4d7..60bdae7f3 100644
--- a/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/model/TableJsonProtocol.scala
+++ b/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/model/TableJsonProtocol.scala
@@ -37,7 +37,7 @@ import scala.collection.immutable.Seq
* @param numRows the number of rows of data in this table
* @param location the geographic location where the table resides
*/
-final case class Table private (tableReference: TableReference,
+final case class Table private[bigquery] (tableReference: TableReference,
labels: Option[Map[String, String]],
schema: Option[TableSchema],
numRows: Option[Long],
@@ -109,7 +109,8 @@ object Table {
* @param datasetId the ID of the dataset containing this table
* @param tableId the ID of the table
*/
-final case class TableReference private (projectId: Option[String], datasetId: String, tableId: Option[String]) {
+final case class TableReference private[bigquery] (projectId: Option[String], datasetId: String,
+ tableId: Option[String]) {
def getProjectId = projectId.toJava
def getDatasetId = datasetId
@@ -152,7 +153,7 @@ object TableReference {
*
* @param fields describes the fields in a table
*/
-final case class TableSchema private (fields: Seq[TableFieldSchema]) {
+final case class TableSchema private[bigquery] (fields: Seq[TableFieldSchema]) {
@nowarn("msg=never used")
@JsonCreator
@@ -200,7 +201,7 @@ object TableSchema {
* @param mode the field mode
* @param fields describes the nested schema fields if the type property is set to `RECORD`
*/
-final case class TableFieldSchema private (name: String,
+final case class TableFieldSchema private[bigquery] (name: String,
`type`: TableFieldSchemaType,
mode: Option[TableFieldSchemaMode],
fields: Option[Seq[TableFieldSchema]]) {
@@ -278,7 +279,7 @@ object TableFieldSchema {
jsonFormat(apply, "name", "type", "mode", "fields"))
}
-final case class TableFieldSchemaType private (value: String) extends StringEnum
+final case class TableFieldSchemaType private[bigquery] (value: String) extends StringEnum
object TableFieldSchemaType {
/**
@@ -328,7 +329,7 @@ object TableFieldSchemaType {
implicit val format: JsonFormat[TableFieldSchemaType] = StringEnum.jsonFormat(apply)
}
-final case class TableFieldSchemaMode private (value: String) extends StringEnum
+final case class TableFieldSchemaMode private[bigquery] (value: String) extends StringEnum
object TableFieldSchemaMode {
/**
@@ -356,7 +357,7 @@ object TableFieldSchemaMode {
* @param tables tables in the requested dataset
* @param totalItems the total number of tables in the dataset
*/
-final case class TableListResponse private (nextPageToken: Option[String],
+final case class TableListResponse private[bigquery] (nextPageToken: Option[String],
tables: Option[Seq[Table]],
totalItems: Option[Int]) {
diff --git a/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/scaladsl/spray/BigQueryCollectionFormats.scala b/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/scaladsl/spray/BigQueryCollectionFormats.scala
index 99552c19b..847498fef 100644
--- a/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/scaladsl/spray/BigQueryCollectionFormats.scala
+++ b/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/scaladsl/spray/BigQueryCollectionFormats.scala
@@ -44,18 +44,26 @@ trait BigQueryCollectionFormats {
import collection.{ immutable => imm }
- implicit def immIterableFormat[T: BigQueryJsonFormat] = viaSeq[imm.Iterable[T], T](seq => imm.Iterable(seq: _*))
- implicit def immSeqFormat[T: BigQueryJsonFormat] = viaSeq[imm.Seq[T], T](seq => imm.Seq(seq: _*))
- implicit def immIndexedSeqFormat[T: BigQueryJsonFormat] = viaSeq[imm.IndexedSeq[T], T](seq => imm.IndexedSeq(seq: _*))
- implicit def immLinearSeqFormat[T: BigQueryJsonFormat] = viaSeq[imm.LinearSeq[T], T](seq => imm.LinearSeq(seq: _*))
- implicit def vectorFormat[T: BigQueryJsonFormat] = viaSeq[Vector[T], T](seq => Vector(seq: _*))
+ implicit def immIterableFormat[T: BigQueryJsonFormat]: BigQueryJsonFormat[imm.Iterable[T]] =
+ viaSeq[imm.Iterable[T], T](seq => imm.Iterable(seq: _*))
+ implicit def immSeqFormat[T: BigQueryJsonFormat]: BigQueryJsonFormat[imm.Seq[T]] =
+ viaSeq[imm.Seq[T], T](seq => imm.Seq(seq: _*))
+ implicit def immIndexedSeqFormat[T: BigQueryJsonFormat]: BigQueryJsonFormat[imm.IndexedSeq[T]] =
+ viaSeq[imm.IndexedSeq[T], T](seq => imm.IndexedSeq(seq: _*))
+ implicit def immLinearSeqFormat[T: BigQueryJsonFormat]: BigQueryJsonFormat[imm.LinearSeq[T]] =
+ viaSeq[imm.LinearSeq[T], T](seq => imm.LinearSeq(seq: _*))
+ implicit def vectorFormat[T: BigQueryJsonFormat]: BigQueryJsonFormat[Vector[T]] =
+ viaSeq[Vector[T], T](seq => Vector(seq: _*))
import collection._
- implicit def iterableFormat[T: BigQueryJsonFormat] = viaSeq[Iterable[T], T](seq => Iterable(seq: _*))
- implicit def seqFormat[T: BigQueryJsonFormat] = viaSeq[Seq[T], T](seq => Seq(seq: _*))
- implicit def indexedSeqFormat[T: BigQueryJsonFormat] = viaSeq[IndexedSeq[T], T](seq => IndexedSeq(seq: _*))
- implicit def linearSeqFormat[T: BigQueryJsonFormat] = viaSeq[LinearSeq[T], T](seq => LinearSeq(seq: _*))
+ implicit def iterableFormat[T: BigQueryJsonFormat]: BigQueryJsonFormat[Iterable[T]] =
+ viaSeq[Iterable[T], T](seq => Iterable(seq: _*))
+ implicit def seqFormat[T: BigQueryJsonFormat]: BigQueryJsonFormat[Seq[T]] = viaSeq[Seq[T], T](seq => Seq(seq: _*))
+ implicit def indexedSeqFormat[T: BigQueryJsonFormat]: BigQueryJsonFormat[IndexedSeq[T]] =
+ viaSeq[IndexedSeq[T], T](seq => IndexedSeq(seq: _*))
+ implicit def linearSeqFormat[T: BigQueryJsonFormat]: BigQueryJsonFormat[collection.LinearSeq[T]] =
+ viaSeq[collection.LinearSeq[T], T](seq => collection.LinearSeq(seq: _*))
/**
* A BigQueryJsonFormat construction helper that creates a BigQueryJsonFormat for an Iterable type I from a builder function
diff --git a/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/scaladsl/spray/BigQueryRestBasicFormats.scala b/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/scaladsl/spray/BigQueryRestBasicFormats.scala
index 3dcd414e0..8c84f2997 100644
--- a/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/scaladsl/spray/BigQueryRestBasicFormats.scala
+++ b/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/scaladsl/spray/BigQueryRestBasicFormats.scala
@@ -22,18 +22,18 @@ import scala.concurrent.duration.{ DurationLong, FiniteDuration }
*/
trait BigQueryRestBasicFormats {
- implicit val IntJsonFormat = DefaultJsonProtocol.IntJsonFormat
- implicit val FloatJsonFormat = DefaultJsonProtocol.FloatJsonFormat
- implicit val DoubleJsonFormat = DefaultJsonProtocol.DoubleJsonFormat
- implicit val ByteJsonFormat = DefaultJsonProtocol.ByteJsonFormat
- implicit val ShortJsonFormat = DefaultJsonProtocol.ShortJsonFormat
- implicit val BigDecimalJsonFormat = DefaultJsonProtocol.BigDecimalJsonFormat
- implicit val BigIntJsonFormat = DefaultJsonProtocol.BigIntJsonFormat
- implicit val UnitJsonFormat = DefaultJsonProtocol.UnitJsonFormat
- implicit val BooleanJsonFormat = DefaultJsonProtocol.BooleanJsonFormat
- implicit val CharJsonFormat = DefaultJsonProtocol.CharJsonFormat
- implicit val StringJsonFormat = DefaultJsonProtocol.StringJsonFormat
- implicit val SymbolJsonFormat = DefaultJsonProtocol.SymbolJsonFormat
+ implicit val IntJsonFormat: JsonFormat[Int] = DefaultJsonProtocol.IntJsonFormat
+ implicit val FloatJsonFormat: JsonFormat[Float] = DefaultJsonProtocol.FloatJsonFormat
+ implicit val DoubleJsonFormat: JsonFormat[Double] = DefaultJsonProtocol.DoubleJsonFormat
+ implicit val ByteJsonFormat: JsonFormat[Byte] = DefaultJsonProtocol.ByteJsonFormat
+ implicit val ShortJsonFormat: JsonFormat[Short] = DefaultJsonProtocol.ShortJsonFormat
+ implicit val BigDecimalJsonFormat: JsonFormat[BigDecimal] = DefaultJsonProtocol.BigDecimalJsonFormat
+ implicit val BigIntJsonFormat: JsonFormat[BigInt] = DefaultJsonProtocol.BigIntJsonFormat
+ implicit val UnitJsonFormat: JsonFormat[Unit] = DefaultJsonProtocol.UnitJsonFormat
+ implicit val BooleanJsonFormat: JsonFormat[Boolean] = DefaultJsonProtocol.BooleanJsonFormat
+ implicit val CharJsonFormat: JsonFormat[Char] = DefaultJsonProtocol.CharJsonFormat
+ implicit val StringJsonFormat: JsonFormat[String] = DefaultJsonProtocol.StringJsonFormat
+ implicit val SymbolJsonFormat: JsonFormat[Symbol] = DefaultJsonProtocol.SymbolJsonFormat
implicit object BigQueryLongJsonFormat extends JsonFormat[Long] {
def write(x: Long) = JsNumber(x)
diff --git a/google-cloud-bigquery/src/test/scala/docs/scaladsl/BigQueryDoc.scala b/google-cloud-bigquery/src/test/scala/docs/scaladsl/BigQueryDoc.scala
index 4875416f0..2c71e35e2 100644
--- a/google-cloud-bigquery/src/test/scala/docs/scaladsl/BigQueryDoc.scala
+++ b/google-cloud-bigquery/src/test/scala/docs/scaladsl/BigQueryDoc.scala
@@ -28,9 +28,11 @@ import pekko.stream.connectors.googlecloud.bigquery.model.{
TableDataListResponse,
TableListResponse
}
-import pekko.stream.connectors.googlecloud.bigquery.scaladsl.BigQuery
import pekko.stream.connectors.googlecloud.bigquery.scaladsl.schema.BigQuerySchemas._
+import pekko.stream.connectors.googlecloud.bigquery.scaladsl.schema.TableSchemaWriter
+import pekko.stream.connectors.googlecloud.bigquery.scaladsl.spray.BigQueryRootJsonFormat
import pekko.stream.connectors.googlecloud.bigquery.scaladsl.spray.BigQueryJsonProtocol._
+import pekko.stream.connectors.googlecloud.bigquery.scaladsl.BigQuery
import pekko.stream.scaladsl.{ Flow, Sink, Source }
import pekko.{ Done, NotUsed }
@@ -48,8 +50,8 @@ class BigQueryDoc {
// #setup
case class Person(name: String, age: Int, addresses: Seq[Address], isHakker: Boolean)
case class Address(street: String, city: String, postalCode: Option[Int])
- implicit val addressFormat = bigQueryJsonFormat3(Address)
- implicit val personFormat = bigQueryJsonFormat4(Person)
+ implicit val addressFormat: BigQueryRootJsonFormat[Address] = bigQueryJsonFormat3(Address.apply)
+ implicit val personFormat: BigQueryRootJsonFormat[Person] = bigQueryJsonFormat4(Person.apply)
// #setup
@nowarn("msg=dead code")
@@ -113,8 +115,8 @@ class BigQueryDoc {
// #table-methods
// #create-table
- implicit val addressSchema = bigQuerySchema3(Address)
- implicit val personSchema = bigQuerySchema4(Person)
+ implicit val addressSchema: TableSchemaWriter[Address] = bigQuerySchema3(Address.apply)
+ implicit val personSchema: TableSchemaWriter[Person] = bigQuerySchema4(Person.apply)
val newTable: Future[Table] = BigQuery.createTable[Person](datasetId, "newTableId")
// #create-table
diff --git a/google-cloud-bigquery/src/test/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/e2e/A.scala b/google-cloud-bigquery/src/test/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/e2e/A.scala
index 0009706bb..f79f96c26 100644
--- a/google-cloud-bigquery/src/test/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/e2e/A.scala
+++ b/google-cloud-bigquery/src/test/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/e2e/A.scala
@@ -39,7 +39,7 @@ case class A(integer: Int, long: Long, float: Float, double: Double, string: Str
new B(f.get(6).get("v")))
def getInteger = integer
- @JsonSerialize(using = classOf[ToStringSerializer])
+ @JsonSerialize(`using` = classOf[ToStringSerializer])
def getLong = long
def getFloat = float
def getDouble = double
@@ -74,7 +74,7 @@ case class C(numeric: BigDecimal, date: LocalDate, time: LocalTime, dateTime: Lo
LocalDateTime.parse(node.get("f").get(3).get("v").textValue()),
Instant.ofEpochMilli((BigDecimal(node.get("f").get(4).get("v").textValue()) * 1000).toLong))
- @JsonSerialize(using = classOf[ToStringSerializer])
+ @JsonSerialize(`using` = classOf[ToStringSerializer])
def getNumeric = numeric
def getDate = date
def getTime = time
diff --git a/google-cloud-bigquery/src/test/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/e2e/scaladsl/BigQueryEndToEndSpec.scala b/google-cloud-bigquery/src/test/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/e2e/scaladsl/BigQueryEndToEndSpec.scala
index 76e3b046e..a18ad78e5 100644
--- a/google-cloud-bigquery/src/test/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/e2e/scaladsl/BigQueryEndToEndSpec.scala
+++ b/google-cloud-bigquery/src/test/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/e2e/scaladsl/BigQueryEndToEndSpec.scala
@@ -14,12 +14,14 @@
package org.apache.pekko.stream.connectors.googlecloud.bigquery.e2e.scaladsl
import org.apache.pekko
-import pekko.actor.ActorSystem
+import pekko.actor.{ ActorSystem, Scheduler }
import pekko.{ pattern, Done }
import pekko.stream.connectors.googlecloud.bigquery.HoverflySupport
import pekko.stream.connectors.googlecloud.bigquery.e2e.{ A, B, C }
import pekko.stream.connectors.googlecloud.bigquery.model.JobState
import pekko.stream.connectors.googlecloud.bigquery.model.TableReference
+import pekko.stream.connectors.googlecloud.bigquery.scaladsl.schema.TableSchemaWriter
+import pekko.stream.connectors.googlecloud.bigquery.scaladsl.spray.BigQueryRootJsonFormat
import pekko.testkit.TestKit
import io.specto.hoverfly.junit.core.{ HoverflyMode, SimulationSource }
import org.scalatest.BeforeAndAfterAll
@@ -56,7 +58,7 @@ class BigQueryEndToEndSpec
super.afterAll()
}
- implicit def scheduler = system.scheduler
+ implicit def scheduler: Scheduler = system.scheduler
"BigQuery Scala DSL" should {
@@ -66,12 +68,12 @@ class BigQueryEndToEndSpec
import pekko.stream.connectors.googlecloud.bigquery.scaladsl.spray.BigQueryJsonProtocol._
import pekko.stream.scaladsl.{ Sink, Source }
- implicit val cFormat = bigQueryJsonFormat5(C)
- implicit val bFormat = bigQueryJsonFormat3(B)
- implicit val aFormat = bigQueryJsonFormat7(A)
- implicit val cSchema = bigQuerySchema5(C)
- implicit val bSchema = bigQuerySchema3(B)
- implicit val aSchema = bigQuerySchema7(A)
+ implicit val cFormat: BigQueryRootJsonFormat[C] = bigQueryJsonFormat5(C.apply)
+ implicit val bFormat: BigQueryRootJsonFormat[B] = bigQueryJsonFormat3(B.apply)
+ implicit val aFormat: BigQueryRootJsonFormat[A] = bigQueryJsonFormat7(A.apply)
+ implicit val cSchema: TableSchemaWriter[C] = bigQuerySchema5(C.apply)
+ implicit val bSchema: TableSchemaWriter[B] = bigQuerySchema3(B.apply)
+ implicit val aSchema: TableSchemaWriter[A] = bigQuerySchema7(A.apply)
"create dataset" in {
BigQuery.createDataset(datasetId).map { dataset =>
diff --git a/google-cloud-bigquery/src/test/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/scaladsl/BigQueryQueriesSpec.scala b/google-cloud-bigquery/src/test/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/scaladsl/BigQueryQueriesSpec.scala
index 7051651d9..a02043b99 100644
--- a/google-cloud-bigquery/src/test/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/scaladsl/BigQueryQueriesSpec.scala
+++ b/google-cloud-bigquery/src/test/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/scaladsl/BigQueryQueriesSpec.scala
@@ -94,7 +94,7 @@ class BigQueryQueriesSpec
.post(BigQueryEndpoints.queries(settings.projectId).path.toString)
.queryParam("prettyPrint", "false")
.anyBody()
- .willReturn(success(completeQuery.toJson.toString(), "application/json"))))
+ .willReturn(success(completeQuery.toJson.compactPrint, "application/json"))))
query[JsValue]("SQL")
.addAttributes(GoogleAttributes.settings(settings))
@@ -111,7 +111,7 @@ class BigQueryQueriesSpec
.post(BigQueryEndpoints.queries(settings.projectId).path.toString)
.queryParam("prettyPrint", "false")
.anyBody()
- .willReturn(success(completeQueryWith2ndPage.toJson.toString(), "application/json"))
+ .willReturn(success(completeQueryWith2ndPage.toJson.compactPrint, "application/json"))
.get(BigQueryEndpoints.query(settings.projectId, jobId).path.toString)
.queryParam("pageToken", pageToken)
.queryParam("prettyPrint", "false")
@@ -132,7 +132,7 @@ class BigQueryQueriesSpec
.post(BigQueryEndpoints.queries(settings.projectId).path.toString)
.queryParam("prettyPrint", "false")
.anyBody()
- .willReturn(success(incompleteQuery.toJson.toString(), "application/json"))
+ .willReturn(success(incompleteQuery.toJson.compactPrint, "application/json"))
.get(BigQueryEndpoints.query(settings.projectId, jobId).path.toString)
.queryParam("prettyPrint", "false")
.willReturn(success(completeQuery.toJson.toString, "application/json"))))
@@ -152,7 +152,7 @@ class BigQueryQueriesSpec
.post(BigQueryEndpoints.queries(settings.projectId).path.toString)
.queryParam("prettyPrint", "false")
.anyBody()
- .willReturn(success(incompleteQuery.toJson.toString(), "application/json"))
+ .willReturn(success(incompleteQuery.toJson.compactPrint, "application/json"))
.get(BigQueryEndpoints.query(settings.projectId, jobId).path.toString)
.queryParam("prettyPrint", "false")
.willReturn(success(completeQueryWith2ndPage.toJson.toString, "application/json"))
@@ -176,7 +176,7 @@ class BigQueryQueriesSpec
.post(BigQueryEndpoints.queries(settings.projectId).path.toString)
.queryParam("prettyPrint", "false")
.anyBody()
- .willReturn(success(completeQueryWithoutJobId.toJson.toString(), "application/json"))))
+ .willReturn(success(completeQueryWithoutJobId.toJson.compactPrint, "application/json"))))
query[JsValue]("SQL")
.addAttributes(GoogleAttributes.settings(settings))
@@ -204,7 +204,7 @@ class BigQueryQueriesSpec
.post(BigQueryEndpoints.queries(settings.projectId).path.toString)
.queryParam("prettyPrint", "false")
.anyBody()
- .willReturn(success(completeQuery.toJson.toString(), "application/json"))))
+ .willReturn(success(completeQuery.toJson.compactPrint, "application/json"))))
recoverToSucceededIf[BrokenParserException] {
query[JsValue]("SQL")
diff --git a/google-cloud-bigquery/src/test/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/scaladsl/schema/BigQuerySchemasSpec.scala b/google-cloud-bigquery/src/test/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/scaladsl/schema/BigQuerySchemasSpec.scala
index 0aef83003..a46711188 100644
--- a/google-cloud-bigquery/src/test/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/scaladsl/schema/BigQuerySchemasSpec.scala
+++ b/google-cloud-bigquery/src/test/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/scaladsl/schema/BigQuerySchemasSpec.scala
@@ -50,20 +50,20 @@ class BigQuerySchemasSpec extends AnyWordSpecLike with Matchers {
"BigQuerySchemas" should {
"correctly generate schema" in {
- implicit val cSchemaWriter = bigQuerySchema1(C)
- implicit val bSchemaWriter = bigQuerySchema2(B)
- val generatedSchema = bigQuerySchema7(A).write
+ implicit val cSchemaWriter: TableSchemaWriter[C] = bigQuerySchema1(C.apply)
+ implicit val bSchemaWriter: TableSchemaWriter[B] = bigQuerySchema2(B.apply)
+ val generatedSchema = bigQuerySchema7(A.apply).write
generatedSchema shouldEqual schema
}
"throw exception when nesting options" in {
case class Invalid(invalid: Option[Option[String]])
- assertThrows[IllegalArgumentException](bigQuerySchema1(Invalid).write)
+ assertThrows[IllegalArgumentException](bigQuerySchema1(Invalid.apply).write)
}
"throw exception when nesting options inside seqs" in {
case class Invalid(invalid: Seq[Option[String]])
- assertThrows[IllegalArgumentException](bigQuerySchema1(Invalid).write)
+ assertThrows[IllegalArgumentException](bigQuerySchema1(Invalid.apply).write)
}
}
}
diff --git a/google-cloud-bigquery/src/test/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/scaladsl/spray/BigQueryJsonProtocolSpec.scala b/google-cloud-bigquery/src/test/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/scaladsl/spray/BigQueryJsonProtocolSpec.scala
index 36dd1d822..1e7a48aff 100644
--- a/google-cloud-bigquery/src/test/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/scaladsl/spray/BigQueryJsonProtocolSpec.scala
+++ b/google-cloud-bigquery/src/test/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/scaladsl/spray/BigQueryJsonProtocolSpec.scala
@@ -59,8 +59,8 @@ class BigQueryJsonProtocolSpec extends BigQueryJsonProtocol with AnyWordSpecLike
case class Record(name: Option[String], addresses: Seq[Address])
case class Address(street: Option[String], city: Option[String])
- implicit val addressFormat = bigQueryJsonFormat2(Address)
- implicit val recordFormat = bigQueryJsonFormat2(Record)
+ implicit val addressFormat: BigQueryRootJsonFormat[Address] = bigQueryJsonFormat2(Address.apply)
+ implicit val recordFormat: BigQueryRootJsonFormat[Record] = bigQueryJsonFormat2(Record.apply)
"BigQueryJsonProtocol" should {
diff --git a/google-cloud-pub-sub/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/pubsub/impl/PubSubApi.scala b/google-cloud-pub-sub/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/pubsub/impl/PubSubApi.scala
index 66b1e27a7..90dd33581 100644
--- a/google-cloud-pub-sub/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/pubsub/impl/PubSubApi.scala
+++ b/google-cloud-pub-sub/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/pubsub/impl/PubSubApi.scala
@@ -69,7 +69,7 @@ private[pubsub] trait PubSubApi {
def PubSubGoogleApisPort: Int
def isEmulated: Boolean
- private implicit val instantFormat = new RootJsonFormat[Instant] {
+ private implicit val instantFormat: RootJsonFormat[Instant] = new RootJsonFormat[Instant] {
override def read(jsValue: JsValue): Instant = jsValue match {
case JsString(time) => Instant.parse(time)
case _ => deserializationError("Instant required as a string of RFC3339 UTC Zulu format.")
@@ -77,7 +77,7 @@ private[pubsub] trait PubSubApi {
override def write(instant: Instant): JsValue = JsString(instant.toString)
}
- private implicit val pubSubMessageFormat =
+ private implicit val pubSubMessageFormat: RootJsonFormat[PubSubMessage] =
new RootJsonFormat[PubSubMessage] {
override def read(json: JsValue): PubSubMessage = {
val fields = json.asJsObject.fields
@@ -98,7 +98,7 @@ private[pubsub] trait PubSubApi {
++ m.attributes.map(attributes => "attributes" -> attributes.toJson): _*)
}
- private implicit val publishMessageFormat = new RootJsonFormat[PublishMessage] {
+ private implicit val publishMessageFormat: RootJsonFormat[PublishMessage] = new RootJsonFormat[PublishMessage] {
def read(json: JsValue): PublishMessage = {
val data = json.asJsObject.fields("data").convertTo[String]
val attributes = json.asJsObject.fields("attributes").convertTo[immutable.Map[String, String]]
@@ -112,37 +112,39 @@ private[pubsub] trait PubSubApi {
m.attributes.map(a => "attributes" -> a.toJson): _*)
}
- private implicit val pubSubRequestFormat = new RootJsonFormat[PublishRequest] {
+ private implicit val pubSubRequestFormat: RootJsonFormat[PublishRequest] = new RootJsonFormat[PublishRequest] {
def read(json: JsValue): PublishRequest =
PublishRequest(json.asJsObject.fields("messages").convertTo[immutable.Seq[PublishMessage]])
def write(pr: PublishRequest): JsValue = JsObject("messages" -> pr.messages.toJson)
}
- private implicit val gcePubSubResponseFormat = new RootJsonFormat[PublishResponse] {
+ private implicit val gcePubSubResponseFormat: RootJsonFormat[PublishResponse] = new RootJsonFormat[PublishResponse] {
def read(json: JsValue): PublishResponse =
PublishResponse(json.asJsObject.fields("messageIds").convertTo[immutable.Seq[String]])
def write(pr: PublishResponse): JsValue = JsObject("messageIds" -> pr.messageIds.toJson)
}
- private implicit val receivedMessageFormat = new RootJsonFormat[ReceivedMessage] {
+ private implicit val receivedMessageFormat: RootJsonFormat[ReceivedMessage] = new RootJsonFormat[ReceivedMessage] {
def read(json: JsValue): ReceivedMessage =
ReceivedMessage(json.asJsObject.fields("ackId").convertTo[String],
json.asJsObject.fields("message").convertTo[PubSubMessage])
def write(rm: ReceivedMessage): JsValue =
JsObject("ackId" -> rm.ackId.toJson, "message" -> rm.message.toJson)
}
- private implicit val pubSubPullResponseFormat = new RootJsonFormat[PullResponse] {
+ private implicit val pubSubPullResponseFormat: RootJsonFormat[PullResponse] = new RootJsonFormat[PullResponse] {
def read(json: JsValue): PullResponse =
PullResponse(json.asJsObject.fields.get("receivedMessages").map(_.convertTo[immutable.Seq[ReceivedMessage]]))
def write(pr: PullResponse): JsValue =
pr.receivedMessages.map(rm => JsObject("receivedMessages" -> rm.toJson)).getOrElse(JsObject.empty)
}
- private implicit val acknowledgeRequestFormat = new RootJsonFormat[AcknowledgeRequest] {
- def read(json: JsValue): AcknowledgeRequest =
- AcknowledgeRequest(json.asJsObject.fields("ackIds").convertTo[immutable.Seq[String]]: _*)
- def write(ar: AcknowledgeRequest): JsValue = JsObject("ackIds" -> ar.ackIds.toJson)
- }
- private implicit val pullRequestFormat = DefaultJsonProtocol.jsonFormat2(PullRequest.apply)
+ private implicit val acknowledgeRequestFormat: RootJsonFormat[AcknowledgeRequest] =
+ new RootJsonFormat[AcknowledgeRequest] {
+ def read(json: JsValue): AcknowledgeRequest =
+ AcknowledgeRequest(json.asJsObject.fields("ackIds").convertTo[immutable.Seq[String]]: _*)
+ def write(ar: AcknowledgeRequest): JsValue = JsObject("ackIds" -> ar.ackIds.toJson)
+ }
+ private implicit val pullRequestFormat: RootJsonFormat[PullRequest] =
+ DefaultJsonProtocol.jsonFormat2(PullRequest.apply)
private def scheme: String = if (isEmulated) "http" else "https"
diff --git a/google-cloud-pub-sub/src/test/scala/org/apache/pekko/stream/connectors/googlecloud/pubsub/impl/PubSubApiSpec.scala b/google-cloud-pub-sub/src/test/scala/org/apache/pekko/stream/connectors/googlecloud/pubsub/impl/PubSubApiSpec.scala
index d5bbb9e7e..6228752a1 100644
--- a/google-cloud-pub-sub/src/test/scala/org/apache/pekko/stream/connectors/googlecloud/pubsub/impl/PubSubApiSpec.scala
+++ b/google-cloud-pub-sub/src/test/scala/org/apache/pekko/stream/connectors/googlecloud/pubsub/impl/PubSubApiSpec.scala
@@ -60,7 +60,7 @@ class PubSubApiSpec extends AnyFlatSpec with BeforeAndAfterAll with ScalaFutures
s"pekko.connectors.google.credentials.none.project-id = ${TestCredentials.projectId}")
.withFallback(ConfigFactory.load()))
- implicit val defaultPatience =
+ implicit val defaultPatience: PatienceConfig =
PatienceConfig(timeout = 5.seconds, interval = 100.millis)
def createInsecureSslEngine(host: String, port: Int): SSLEngine = {
diff --git a/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/GoogleSettings.scala b/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/GoogleSettings.scala
index 6ca40022d..ae402473f 100644
--- a/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/GoogleSettings.scala
+++ b/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/GoogleSettings.scala
@@ -90,7 +90,8 @@ object GoogleSettings {
}
-final case class GoogleSettings @InternalApi private[connectors] (projectId: String,
+@InternalApi
+final case class GoogleSettings(projectId: String,
credentials: Credentials,
requestSettings: RequestSettings) {
def getProjectId = projectId
@@ -134,7 +135,8 @@ object RequestSettings {
apply(userIp.toScala, quotaUser.toScala, prettyPrint, chunkSize, retrySettings, forwardProxy.toScala)
}
-final case class RequestSettings @InternalApi private[connectors] (
+@InternalApi
+final case class RequestSettings(
userIp: Option[String],
quotaUser: Option[String],
prettyPrint: Boolean,
diff --git a/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/ResumableUpload.scala b/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/ResumableUpload.scala
index 8dbc91cc2..969cef4c1 100644
--- a/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/ResumableUpload.scala
+++ b/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/ResumableUpload.scala
@@ -14,7 +14,6 @@
package org.apache.pekko.stream.connectors.google
import org.apache.pekko
-import pekko.actor.ActorSystem
import pekko.NotUsed
import pekko.annotation.InternalApi
import pekko.http.scaladsl.model.HttpMethods.{ POST, PUT }
diff --git a/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/auth/NoCredentials.scala b/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/auth/NoCredentials.scala
index f65b2a534..6bff78f49 100644
--- a/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/auth/NoCredentials.scala
+++ b/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/auth/NoCredentials.scala
@@ -32,7 +32,7 @@ private[connectors] object NoCredentials {
}
@InternalApi
-private[auth] final case class NoCredentials private (projectId: String, token: String) extends Credentials {
+private[connectors] final case class NoCredentials(projectId: String, token: String) extends Credentials {
private val futureToken = Future.successful(OAuth2BearerToken(token))
diff --git a/project/Dependencies.scala b/project/Dependencies.scala
index d2d1aeb1a..4dc83f565 100644
--- a/project/Dependencies.scala
+++ b/project/Dependencies.scala
@@ -206,7 +206,6 @@ object Dependencies {
) ++ Mockito)
val GoogleBigQuery = Seq(
- crossScalaVersions -= Scala3,
libraryDependencies ++= Seq(
"org.apache.pekko" %% "pekko-http" % PekkoHttpVersion,
"org.apache.pekko" %% "pekko-http-jackson" % PekkoHttpVersion % Provided,
@@ -233,7 +232,6 @@ object Dependencies {
"org.apache.pekko" %% "pekko-discovery" % PekkoVersion) ++ Mockito)
val GooglePubSub = Seq(
- crossScalaVersions -= Scala3,
libraryDependencies ++= Seq(
"org.apache.pekko" %% "pekko-http" % PekkoHttpVersion,
"org.apache.pekko" %% "pekko-http-spray-json" % PekkoHttpVersion,
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pekko.apache.org
For additional commands, e-mail: commits-help@pekko.apache.org
[incubator-pekko-connectors] 07/18: Scala3 support for jms connector (#145)
Posted by fa...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
fanningpj pushed a commit to branch scala3
in repository https://gitbox.apache.org/repos/asf/incubator-pekko-connectors.git
commit c64c9097ee3dfeb3ec17bd2d9da53c52d1ad98a5
Author: PJ Fanning <pj...@users.noreply.github.com>
AuthorDate: Sat Jun 10 11:05:22 2023 +0100
Scala3 support for jms connector (#145)
* try scala 3 (#123)
* enable scala3 support for jms connector
* refactor
* scala 2.12 compile issue
* enable elasticsearch
Update RestBulkApi.scala
sort imports
revert merge issue
Update CouchbaseFlow.scala
---
.../elasticsearch/impl/RestBulkApi.scala | 6 +--
.../scaladsl/ElasticsearchConnectorBehaviour.scala | 4 +-
.../scaladsl/OpensearchConnectorBehaviour.scala | 4 +-
.../googlecloud/pubsub/impl/PubSubApi.scala | 34 ++++++-------
.../googlecloud/storage/impl/Formats.scala | 12 ++---
.../storage/WithMaterializerGlobal.scala | 2 +-
.../stream/connectors/google/ResumableUpload.scala | 59 +++++++++++-----------
.../connectors/google/auth/GoogleOAuth2Spec.scala | 2 +-
.../google/auth/OAuth2CredentialsSpec.scala | 2 +-
.../firebase/fcm/v1/impl/FcmSenderSpec.scala | 2 +-
.../connectors/jms/impl/GraphStageCompanion.scala | 34 +++++++++++++
.../connectors/jms/impl/JmsAckSourceStage.scala | 2 +-
.../stream/connectors/jms/impl/JmsConnector.scala | 20 ++++----
.../connectors/jms/impl/JmsConsumerStage.scala | 2 +-
.../connectors/jms/impl/JmsProducerStage.scala | 18 +++++--
.../connectors/jms/impl/JmsTxSourceStage.scala | 2 +-
.../connectors/jms/impl/SourceStageLogic.scala | 23 ++++++---
project/Dependencies.scala | 10 +++-
18 files changed, 148 insertions(+), 90 deletions(-)
diff --git a/elasticsearch/src/main/scala/org/apache/pekko/stream/connectors/elasticsearch/impl/RestBulkApi.scala b/elasticsearch/src/main/scala/org/apache/pekko/stream/connectors/elasticsearch/impl/RestBulkApi.scala
index 70e016de6..e9db5c111 100644
--- a/elasticsearch/src/main/scala/org/apache/pekko/stream/connectors/elasticsearch/impl/RestBulkApi.scala
+++ b/elasticsearch/src/main/scala/org/apache/pekko/stream/connectors/elasticsearch/impl/RestBulkApi.scala
@@ -46,8 +46,8 @@ private[impl] abstract class RestBulkApi[T, C] {
def messageToJson(message: WriteMessage[T, C], messageSource: String): String = message.operation match {
case Index | Create => "\n" + messageSource
- case Upsert => "\n" + JsObject("doc" -> messageSource.parseJson, "doc_as_upsert" -> JsTrue).toString
- case Update => "\n" + JsObject("doc" -> messageSource.parseJson).toString
+ case Upsert => "\n" + JsObject("doc" -> messageSource.parseJson, "doc_as_upsert" -> JsTrue).compactPrint
+ case Update => "\n" + JsObject("doc" -> messageSource.parseJson).compactPrint
case Delete => ""
case Nop => ""
}
@@ -69,7 +69,7 @@ private[impl] abstract class RestBulkApi[T, C] {
// good message
val command = message.operation.command
val res = itemsIter.next().asJsObject.fields(command).asJsObject
- val error: Option[String] = res.fields.get("error").map(_.toString())
+ val error: Option[String] = res.fields.get("error").map(_.compactPrint)
ret += new WriteResult(message, error)
} else {
// error?
diff --git a/elasticsearch/src/test/scala/docs/scaladsl/ElasticsearchConnectorBehaviour.scala b/elasticsearch/src/test/scala/docs/scaladsl/ElasticsearchConnectorBehaviour.scala
index 33b8c8032..9f360a90d 100644
--- a/elasticsearch/src/test/scala/docs/scaladsl/ElasticsearchConnectorBehaviour.scala
+++ b/elasticsearch/src/test/scala/docs/scaladsl/ElasticsearchConnectorBehaviour.scala
@@ -200,7 +200,7 @@ trait ElasticsearchConnectorBehaviour {
.via(
ElasticsearchFlow.create(
constructElasticsearchParams(indexName, "_doc", apiVersion),
- baseWriteSettings.withRetryLogic(RetryAtFixedRate(5, 100.millis))))
+ baseWriteSettings.withRetryLogic(RetryAtFixedRate(5, 100.millis)))(RootJsObjectFormat))
.runWith(Sink.seq)
val start = System.currentTimeMillis()
@@ -286,7 +286,7 @@ trait ElasticsearchConnectorBehaviour {
.via(
ElasticsearchFlow.createWithContext(
constructElasticsearchParams(indexName, "_doc", apiVersion),
- baseWriteSettings.withRetryLogic(RetryAtFixedRate(5, 100.millis))))
+ baseWriteSettings.withRetryLogic(RetryAtFixedRate(5, 100.millis)))(RootJsObjectFormat))
.runWith(Sink.seq)
val start = System.currentTimeMillis()
diff --git a/elasticsearch/src/test/scala/docs/scaladsl/OpensearchConnectorBehaviour.scala b/elasticsearch/src/test/scala/docs/scaladsl/OpensearchConnectorBehaviour.scala
index 77c513ee1..1c235685a 100644
--- a/elasticsearch/src/test/scala/docs/scaladsl/OpensearchConnectorBehaviour.scala
+++ b/elasticsearch/src/test/scala/docs/scaladsl/OpensearchConnectorBehaviour.scala
@@ -200,7 +200,7 @@ trait OpensearchConnectorBehaviour {
.via(
ElasticsearchFlow.create(
constructElasticsearchParams(indexName, "_doc", apiVersion),
- baseWriteSettings.withRetryLogic(RetryAtFixedRate(5, 100.millis))))
+ baseWriteSettings.withRetryLogic(RetryAtFixedRate(5, 100.millis)))(RootJsObjectFormat))
.runWith(Sink.seq)
val start = System.currentTimeMillis()
@@ -286,7 +286,7 @@ trait OpensearchConnectorBehaviour {
.via(
ElasticsearchFlow.createWithContext(
constructElasticsearchParams(indexName, "_doc", apiVersion),
- baseWriteSettings.withRetryLogic(RetryAtFixedRate(5, 100.millis))))
+ baseWriteSettings.withRetryLogic(RetryAtFixedRate(5, 100.millis)))(RootJsObjectFormat))
.runWith(Sink.seq)
val start = System.currentTimeMillis()
diff --git a/google-cloud-pub-sub/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/pubsub/impl/PubSubApi.scala b/google-cloud-pub-sub/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/pubsub/impl/PubSubApi.scala
index 90dd33581..696406f89 100644
--- a/google-cloud-pub-sub/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/pubsub/impl/PubSubApi.scala
+++ b/google-cloud-pub-sub/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/pubsub/impl/PubSubApi.scala
@@ -69,7 +69,7 @@ private[pubsub] trait PubSubApi {
def PubSubGoogleApisPort: Int
def isEmulated: Boolean
- private implicit val instantFormat: RootJsonFormat[Instant] = new RootJsonFormat[Instant] {
+ private implicit val instantFormat = new RootJsonFormat[Instant] {
override def read(jsValue: JsValue): Instant = jsValue match {
case JsString(time) => Instant.parse(time)
case _ => deserializationError("Instant required as a string of RFC3339 UTC Zulu format.")
@@ -77,7 +77,7 @@ private[pubsub] trait PubSubApi {
override def write(instant: Instant): JsValue = JsString(instant.toString)
}
- private implicit val pubSubMessageFormat: RootJsonFormat[PubSubMessage] =
+ private implicit val pubSubMessageFormat =
new RootJsonFormat[PubSubMessage] {
override def read(json: JsValue): PubSubMessage = {
val fields = json.asJsObject.fields
@@ -98,7 +98,7 @@ private[pubsub] trait PubSubApi {
++ m.attributes.map(attributes => "attributes" -> attributes.toJson): _*)
}
- private implicit val publishMessageFormat: RootJsonFormat[PublishMessage] = new RootJsonFormat[PublishMessage] {
+ private implicit val publishMessageFormat = new RootJsonFormat[PublishMessage] {
def read(json: JsValue): PublishMessage = {
val data = json.asJsObject.fields("data").convertTo[String]
val attributes = json.asJsObject.fields("attributes").convertTo[immutable.Map[String, String]]
@@ -112,39 +112,37 @@ private[pubsub] trait PubSubApi {
m.attributes.map(a => "attributes" -> a.toJson): _*)
}
- private implicit val pubSubRequestFormat: RootJsonFormat[PublishRequest] = new RootJsonFormat[PublishRequest] {
+ private implicit val pubSubRequestFormat = new RootJsonFormat[PublishRequest] {
def read(json: JsValue): PublishRequest =
PublishRequest(json.asJsObject.fields("messages").convertTo[immutable.Seq[PublishMessage]])
def write(pr: PublishRequest): JsValue = JsObject("messages" -> pr.messages.toJson)
}
- private implicit val gcePubSubResponseFormat: RootJsonFormat[PublishResponse] = new RootJsonFormat[PublishResponse] {
+ private implicit val gcePubSubResponseFormat = new RootJsonFormat[PublishResponse] {
def read(json: JsValue): PublishResponse =
PublishResponse(json.asJsObject.fields("messageIds").convertTo[immutable.Seq[String]])
def write(pr: PublishResponse): JsValue = JsObject("messageIds" -> pr.messageIds.toJson)
}
- private implicit val receivedMessageFormat: RootJsonFormat[ReceivedMessage] = new RootJsonFormat[ReceivedMessage] {
+ private implicit val receivedMessageFormat = new RootJsonFormat[ReceivedMessage] {
def read(json: JsValue): ReceivedMessage =
ReceivedMessage(json.asJsObject.fields("ackId").convertTo[String],
json.asJsObject.fields("message").convertTo[PubSubMessage])
def write(rm: ReceivedMessage): JsValue =
JsObject("ackId" -> rm.ackId.toJson, "message" -> rm.message.toJson)
}
- private implicit val pubSubPullResponseFormat: RootJsonFormat[PullResponse] = new RootJsonFormat[PullResponse] {
+ private implicit val pubSubPullResponseFormat = new RootJsonFormat[PullResponse] {
def read(json: JsValue): PullResponse =
PullResponse(json.asJsObject.fields.get("receivedMessages").map(_.convertTo[immutable.Seq[ReceivedMessage]]))
def write(pr: PullResponse): JsValue =
pr.receivedMessages.map(rm => JsObject("receivedMessages" -> rm.toJson)).getOrElse(JsObject.empty)
}
- private implicit val acknowledgeRequestFormat: RootJsonFormat[AcknowledgeRequest] =
- new RootJsonFormat[AcknowledgeRequest] {
- def read(json: JsValue): AcknowledgeRequest =
- AcknowledgeRequest(json.asJsObject.fields("ackIds").convertTo[immutable.Seq[String]]: _*)
- def write(ar: AcknowledgeRequest): JsValue = JsObject("ackIds" -> ar.ackIds.toJson)
- }
- private implicit val pullRequestFormat: RootJsonFormat[PullRequest] =
- DefaultJsonProtocol.jsonFormat2(PullRequest.apply)
+ private implicit val acknowledgeRequestFormat = new RootJsonFormat[AcknowledgeRequest] {
+ def read(json: JsValue): AcknowledgeRequest =
+ AcknowledgeRequest(json.asJsObject.fields("ackIds").convertTo[immutable.Seq[String]]: _*)
+ def write(ar: AcknowledgeRequest): JsValue = JsObject("ackIds" -> ar.ackIds.toJson)
+ }
+ private implicit val pullRequestFormat = DefaultJsonProtocol.jsonFormat2(PullRequest.apply)
private def scheme: String = if (isEmulated) "http" else "https"
@@ -175,7 +173,7 @@ private[pubsub] trait PubSubApi {
.mapMaterializedValue(_ => NotUsed)
private implicit val pullResponseUnmarshaller: FromResponseUnmarshaller[PullResponse] =
- Unmarshaller.withMaterializer { implicit ec => implicit mat => (response: HttpResponse) =>
+ Unmarshaller.withMaterializer { implicit ec => implicit mat => response: HttpResponse =>
response.status match {
case StatusCodes.Success(_) if response.entity.contentType == ContentTypes.`application/json` =>
Unmarshal(response.entity).to[PullResponse]
@@ -213,7 +211,7 @@ private[pubsub] trait PubSubApi {
.mapMaterializedValue(_ => NotUsed)
private implicit val acknowledgeResponseUnmarshaller: FromResponseUnmarshaller[Done] =
- Unmarshaller.withMaterializer { implicit ec => implicit mat => (response: HttpResponse) =>
+ Unmarshaller.withMaterializer { implicit ec => implicit mat => response: HttpResponse =>
response.status match {
case StatusCodes.Success(_) =>
response.discardEntityBytes().future
@@ -263,7 +261,7 @@ private[pubsub] trait PubSubApi {
publish(topic, parallelism, None)
private implicit val publishResponseUnmarshaller: FromResponseUnmarshaller[PublishResponse] =
- Unmarshaller.withMaterializer { implicit ec => implicit mat => (response: HttpResponse) =>
+ Unmarshaller.withMaterializer { implicit ec => implicit mat => response: HttpResponse =>
response.status match {
case StatusCodes.Success(_) if response.entity.contentType == ContentTypes.`application/json` =>
Unmarshal(response.entity).to[PublishResponse]
diff --git a/google-cloud-storage/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/storage/impl/Formats.scala b/google-cloud-storage/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/storage/impl/Formats.scala
index ee2da5dcc..5c20c3931 100644
--- a/google-cloud-storage/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/storage/impl/Formats.scala
+++ b/google-cloud-storage/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/storage/impl/Formats.scala
@@ -49,8 +49,7 @@ object Formats extends DefaultJsonProtocol {
domain: String,
projectTeam: ProjectTeam,
etag: String)
- private implicit val ObjectAccessControlsJsonFormat: RootJsonFormat[ObjectAccessControls] =
- jsonFormat13(ObjectAccessControls.apply)
+ private implicit val ObjectAccessControlsJsonFormat = jsonFormat13(ObjectAccessControls)
/**
* Google API storage response object
@@ -80,8 +79,7 @@ object Formats extends DefaultJsonProtocol {
timeStorageClassUpdated: String,
updated: String)
- private implicit val storageObjectReadOnlyJson: RootJsonFormat[StorageObjectReadOnlyJson] =
- jsonFormat18(StorageObjectReadOnlyJson.apply)
+ private implicit val storageObjectReadOnlyJson = jsonFormat18(StorageObjectReadOnlyJson)
// private sub class of StorageObjectJson used to workaround 22 field jsonFormat issue
private final case class StorageObjectWriteableJson(
@@ -100,8 +98,7 @@ object Formats extends DefaultJsonProtocol {
temporaryHold: Option[Boolean],
acl: Option[List[ObjectAccessControls]])
- private implicit val storageObjectWritableJson: RootJsonFormat[StorageObjectWriteableJson] =
- jsonFormat14(StorageObjectWriteableJson.apply)
+ private implicit val storageObjectWritableJson = jsonFormat14(StorageObjectWriteableJson)
private implicit object StorageObjectJsonFormat extends RootJsonFormat[StorageObjectJson] {
override def read(value: JsValue): StorageObjectJson = {
@@ -178,8 +175,7 @@ object Formats extends DefaultJsonProtocol {
}
}
- private implicit val bucketListResultJsonReads: RootJsonFormat[BucketListResultJson] =
- jsonFormat4(BucketListResultJson.apply)
+ private implicit val bucketListResultJsonReads = jsonFormat4(BucketListResultJson.apply)
implicit object RewriteResponseReads extends RootJsonReader[RewriteResponse] {
override def read(json: JsValue): RewriteResponse = {
diff --git a/google-cloud-storage/src/test/scala/org/apache/pekko/stream/connectors/googlecloud/storage/WithMaterializerGlobal.scala b/google-cloud-storage/src/test/scala/org/apache/pekko/stream/connectors/googlecloud/storage/WithMaterializerGlobal.scala
index 787885b91..eb046720a 100644
--- a/google-cloud-storage/src/test/scala/org/apache/pekko/stream/connectors/googlecloud/storage/WithMaterializerGlobal.scala
+++ b/google-cloud-storage/src/test/scala/org/apache/pekko/stream/connectors/googlecloud/storage/WithMaterializerGlobal.scala
@@ -29,7 +29,7 @@ trait WithMaterializerGlobal
with ScalaFutures
with IntegrationPatience
with Matchers {
- implicit val actorSystem: ActorSystem = ActorSystem("test")
+ implicit val actorSystem = ActorSystem("test")
implicit val ec: ExecutionContext = actorSystem.dispatcher
override protected def afterAll(): Unit = {
diff --git a/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/ResumableUpload.scala b/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/ResumableUpload.scala
index 969cef4c1..f50c921b9 100644
--- a/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/ResumableUpload.scala
+++ b/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/ResumableUpload.scala
@@ -14,6 +14,7 @@
package org.apache.pekko.stream.connectors.google
import org.apache.pekko
+import pekko.actor.ActorSystem
import pekko.NotUsed
import pekko.annotation.InternalApi
import pekko.http.scaladsl.model.HttpMethods.{ POST, PUT }
@@ -55,7 +56,7 @@ private[connectors] object ResumableUpload {
Sink
.fromMaterializer { (mat, attr) =>
import mat.executionContext
- implicit val materializer: Materializer = mat
+ implicit val materializer = mat
implicit val settings: GoogleSettings = GoogleAttributes.resolveSettings(mat, attr)
val uploadChunkSize = settings.requestSettings.uploadChunkSize
@@ -95,24 +96,25 @@ private[connectors] object ResumableUpload {
private def initiateSession(request: HttpRequest)(implicit mat: Materializer,
settings: GoogleSettings): Future[Uri] = {
+ implicit val system: ActorSystem = mat.system
import implicits._
- implicit val um: FromResponseUnmarshaller[Uri] =
- Unmarshaller.withMaterializer { implicit ec => implicit mat => (response: HttpResponse) =>
- response.discardEntityBytes().future.map { _ =>
- response.header[Location].fold(throw InvalidResponseException(ErrorInfo("No Location header")))(_.uri)
- }
- }.withDefaultRetry
+ implicit val um = Unmarshaller.withMaterializer { implicit ec => implicit mat => response: HttpResponse =>
+ response.discardEntityBytes().future.map { _ =>
+ response.header[Location].fold(throw InvalidResponseException(ErrorInfo("No Location header")))(_.uri)
+ }
+ }.withDefaultRetry
- GoogleHttp(mat.system).singleAuthenticatedRequest[Uri](request)
+ GoogleHttp().singleAuthenticatedRequest[Uri](request)
}
private final case class DoNotRetry(ex: Throwable) extends Throwable(ex) with NoStackTrace
private def uploadChunk[T: FromResponseUnmarshaller](
request: HttpRequest)(implicit mat: Materializer): Flow[Either[T, MaybeLast[Chunk]], Try[Option[T]], NotUsed] = {
+ implicit val system: ActorSystem = mat.system
- val um = Unmarshaller.withMaterializer { implicit ec => implicit mat => (response: HttpResponse) =>
+ val um = Unmarshaller.withMaterializer { implicit ec => implicit mat => response: HttpResponse =>
response.status match {
case PermanentRedirect =>
response.discardEntityBytes().future.map(_ => None)
@@ -125,8 +127,7 @@ private[connectors] object ResumableUpload {
val uri = request.uri
Flow[HttpRequest]
.map((_, ()))
- .via(GoogleHttp(mat.system).cachedHostConnectionPoolWithContext(uri.authority.host.address, uri.effectivePort)(
- um))
+ .via(GoogleHttp().cachedHostConnectionPoolWithContext(uri.authority.host.address, uri.effectivePort)(um))
.map(_._1.recoverWith { case DoNotRetry(ex) => Failure(ex) })
}
@@ -146,30 +147,30 @@ private[connectors] object ResumableUpload {
request: HttpRequest,
chunk: Future[MaybeLast[Chunk]])(
implicit mat: Materializer, settings: GoogleSettings): Future[Either[T, MaybeLast[Chunk]]] = {
+ implicit val system: ActorSystem = mat.system
import implicits._
- implicit val um: FromResponseUnmarshaller[Either[T, Long]] =
- Unmarshaller.withMaterializer { implicit ec => implicit mat => (response: HttpResponse) =>
- response.status match {
- case OK | Created => Unmarshal(response).to[T].map(Left(_))
- case PermanentRedirect =>
- response.discardEntityBytes().future.map { _ =>
- Right(
- response
- .header[Range]
- .flatMap(_.ranges.headOption)
- .collect {
- case Slice(_, last) => last + 1
- }.getOrElse(0L))
- }
- case _ => throw InvalidResponseException(ErrorInfo(response.status.value, response.status.defaultMessage))
- }
- }.withDefaultRetry
+ implicit val um = Unmarshaller.withMaterializer { implicit ec => implicit mat => response: HttpResponse =>
+ response.status match {
+ case OK | Created => Unmarshal(response).to[T].map(Left(_))
+ case PermanentRedirect =>
+ response.discardEntityBytes().future.map { _ =>
+ Right(
+ response
+ .header[Range]
+ .flatMap(_.ranges.headOption)
+ .collect {
+ case Slice(_, last) => last + 1
+ }.getOrElse(0L))
+ }
+ case _ => throw InvalidResponseException(ErrorInfo(response.status.value, response.status.defaultMessage))
+ }
+ }.withDefaultRetry
import mat.executionContext
chunk.flatMap {
case maybeLast @ MaybeLast(Chunk(bytes, position)) =>
- GoogleHttp(mat.system)
+ GoogleHttp()
.singleAuthenticatedRequest[Either[T, Long]](request.addHeader(statusRequestHeader))
.map {
case Left(result) if maybeLast.isLast => Left(result)
diff --git a/google-common/src/test/scala/org/apache/pekko/stream/connectors/google/auth/GoogleOAuth2Spec.scala b/google-common/src/test/scala/org/apache/pekko/stream/connectors/google/auth/GoogleOAuth2Spec.scala
index 753e3004a..1bd56b790 100644
--- a/google-common/src/test/scala/org/apache/pekko/stream/connectors/google/auth/GoogleOAuth2Spec.scala
+++ b/google-common/src/test/scala/org/apache/pekko/stream/connectors/google/auth/GoogleOAuth2Spec.scala
@@ -46,7 +46,7 @@ class GoogleOAuth2Spec
implicit val executionContext: ExecutionContext = system.dispatcher
implicit val settings: GoogleSettings = GoogleSettings(system)
- implicit val clock: Clock = Clock.systemUTC()
+ implicit val clock = Clock.systemUTC()
lazy val privateKey = {
val inputStream = getClass.getClassLoader.getResourceAsStream("private_pcks8.pem")
diff --git a/google-common/src/test/scala/org/apache/pekko/stream/connectors/google/auth/OAuth2CredentialsSpec.scala b/google-common/src/test/scala/org/apache/pekko/stream/connectors/google/auth/OAuth2CredentialsSpec.scala
index 446336dd9..7d7e2342a 100644
--- a/google-common/src/test/scala/org/apache/pekko/stream/connectors/google/auth/OAuth2CredentialsSpec.scala
+++ b/google-common/src/test/scala/org/apache/pekko/stream/connectors/google/auth/OAuth2CredentialsSpec.scala
@@ -45,7 +45,7 @@ class OAuth2CredentialsSpec
import system.dispatcher
implicit val settings: RequestSettings = GoogleSettings().requestSettings
- implicit val clock: Clock = Clock.systemUTC()
+ implicit val clock = Clock.systemUTC()
final object AccessTokenProvider {
@volatile var accessTokenPromise: Promise[AccessToken] = Promise.failed(new RuntimeException)
diff --git a/google-fcm/src/test/scala/org/apache/pekko/stream/connectors/google/firebase/fcm/v1/impl/FcmSenderSpec.scala b/google-fcm/src/test/scala/org/apache/pekko/stream/connectors/google/firebase/fcm/v1/impl/FcmSenderSpec.scala
index ca6c18820..a2d4d4922 100644
--- a/google-fcm/src/test/scala/org/apache/pekko/stream/connectors/google/firebase/fcm/v1/impl/FcmSenderSpec.scala
+++ b/google-fcm/src/test/scala/org/apache/pekko/stream/connectors/google/firebase/fcm/v1/impl/FcmSenderSpec.scala
@@ -57,7 +57,7 @@ class FcmSenderSpec
implicit val executionContext: ExecutionContext = system.dispatcher
- implicit val conf: FcmSettings = FcmSettings()
+ implicit val conf = FcmSettings()
implicit val settings: GoogleSettings = GoogleSettings().copy(projectId = "projectId")
"FcmSender" should {
diff --git a/jms/src/main/scala/org/apache/pekko/stream/connectors/jms/impl/GraphStageCompanion.scala b/jms/src/main/scala/org/apache/pekko/stream/connectors/jms/impl/GraphStageCompanion.scala
new file mode 100644
index 000000000..e43a4d242
--- /dev/null
+++ b/jms/src/main/scala/org/apache/pekko/stream/connectors/jms/impl/GraphStageCompanion.scala
@@ -0,0 +1,34 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * license agreements; and to You under the Apache License, version 2.0:
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * This file is part of the Apache Pekko project, derived from Akka.
+ */
+
+package org.apache.pekko.stream.connectors.jms.impl
+
+import org.apache.pekko
+import pekko.annotation.InternalApi
+import pekko.stream.Materializer
+import pekko.stream.connectors.jms.Destination
+
+import scala.concurrent.duration.FiniteDuration
+
+/**
+ * Exposes some protected methods from [[pekko.stream.stage.GraphStage]]
+ * that are not accessible when using Scala3 compiler.
+ */
+@InternalApi
+private[impl] trait GraphStageCompanion {
+ def graphStageMaterializer: Materializer
+
+ def graphStageDestination: Destination
+
+ def scheduleOnceOnGraphStage(timerKey: Any, delay: FiniteDuration): Unit
+
+ def isTimerActiveOnGraphStage(timerKey: Any): Boolean
+
+ def cancelTimerOnGraphStage(timerKey: Any): Unit
+}
diff --git a/jms/src/main/scala/org/apache/pekko/stream/connectors/jms/impl/JmsAckSourceStage.scala b/jms/src/main/scala/org/apache/pekko/stream/connectors/jms/impl/JmsAckSourceStage.scala
index 4665463dc..16c2a0da0 100644
--- a/jms/src/main/scala/org/apache/pekko/stream/connectors/jms/impl/JmsAckSourceStage.scala
+++ b/jms/src/main/scala/org/apache/pekko/stream/connectors/jms/impl/JmsAckSourceStage.scala
@@ -49,7 +49,7 @@ private[jms] final class JmsAckSourceStage(settings: JmsConsumerSettings, destin
createDestination: jms.Session => javax.jms.Destination): JmsAckSession = {
val session =
connection.createSession(false, settings.acknowledgeMode.getOrElse(AcknowledgeMode.ClientAcknowledge).mode)
- new JmsAckSession(connection, session, createDestination(session), destination, maxPendingAcks)
+ new JmsAckSession(connection, session, createDestination(session), graphStageDestination, maxPendingAcks)
}
protected def pushMessage(msg: AckEnvelope): Unit = push(out, msg)
diff --git a/jms/src/main/scala/org/apache/pekko/stream/connectors/jms/impl/JmsConnector.scala b/jms/src/main/scala/org/apache/pekko/stream/connectors/jms/impl/JmsConnector.scala
index 414462769..5fa898724 100644
--- a/jms/src/main/scala/org/apache/pekko/stream/connectors/jms/impl/JmsConnector.scala
+++ b/jms/src/main/scala/org/apache/pekko/stream/connectors/jms/impl/JmsConnector.scala
@@ -37,7 +37,7 @@ import scala.util.{ Failure, Success, Try }
*/
@InternalApi
private[jms] trait JmsConnector[S <: JmsSession] {
- this: TimerGraphStageLogic with StageLogging =>
+ this: TimerGraphStageLogic with GraphStageCompanion with StageLogging =>
import JmsConnector._
@@ -71,12 +71,12 @@ private[jms] trait JmsConnector[S <: JmsSession] {
Source
.queue[InternalConnectionState](2, OverflowStrategy.dropHead)
.toMat(BroadcastHub.sink(1))(Keep.both)
- .run()(this.materializer)
+ .run()(graphStageMaterializer)
connectionStateQueue = queue
connectionStateSourcePromise.complete(Success(source))
// add subscription to purge queued connection status events after the configured timeout.
- scheduleOnce(ConnectionStatusTimeout, jmsSettings.connectionStatusSubscriptionTimeout)
+ scheduleOnceOnGraphStage(ConnectionStatusTimeout, jmsSettings.connectionStatusSubscriptionTimeout)
}
protected def finishStop(): Unit = {
@@ -91,7 +91,7 @@ private[jms] trait JmsConnector[S <: JmsSession] {
closeSessions()
val previous = updateStateWith(update)
closeConnectionAsync(connection(previous))
- if (isTimerActive("connection-status-timeout")) drainConnectionState()
+ if (isTimerActiveOnGraphStage("connection-status-timeout")) drainConnectionState()
connectionStateQueue.complete()
}
@@ -219,7 +219,7 @@ private[jms] trait JmsConnector[S <: JmsSession] {
closeConnectionAsync(connection(status))
val delay = if (backoffMaxed) maxBackoff else waitTime(nextAttempt)
val backoffNowMaxed = backoffMaxed || delay == maxBackoff
- scheduleOnce(AttemptConnect(nextAttempt, backoffNowMaxed), delay)
+ scheduleOnceOnGraphStage(AttemptConnect(nextAttempt, backoffNowMaxed), delay)
}
}
@@ -234,7 +234,7 @@ private[jms] trait JmsConnector[S <: JmsSession] {
}
private def drainConnectionState(): Unit =
- Source.future(connectionStateSource).flatMapConcat(identity).runWith(Sink.ignore)(this.materializer)
+ Source.future(connectionStateSource).flatMapConcat(identity).runWith(Sink.ignore)(graphStageMaterializer)
protected def executionContext(attributes: Attributes): ExecutionContext = {
val dispatcherId = (attributes.get[ActorAttributes.Dispatcher](ActorAttributes.IODispatcher) match {
@@ -244,11 +244,11 @@ private[jms] trait JmsConnector[S <: JmsSession] {
}) match {
case d @ ActorAttributes.IODispatcher =>
// this one is not a dispatcher id, but is a config path pointing to the dispatcher id
- materializer.system.settings.config.getString(d.dispatcher)
+ graphStageMaterializer.system.settings.config.getString(d.dispatcher)
case d => d.dispatcher
}
- materializer.system.dispatchers.lookup(dispatcherId)
+ graphStageMaterializer.system.dispatchers.lookup(dispatcherId)
}
protected def createSession(connection: jms.Connection, createDestination: jms.Session => jms.Destination): S
@@ -324,7 +324,7 @@ private[jms] trait JmsConnector[S <: JmsSession] {
private def cancelAckTimers(s: JmsSession): Unit = s match {
case session: JmsAckSession =>
- cancelTimer(FlushAcknowledgementsTimerKey(session))
+ cancelTimerOnGraphStage(FlushAcknowledgementsTimerKey(session))
case _ => ()
}
@@ -341,7 +341,7 @@ private[jms] trait JmsConnector[S <: JmsSession] {
}
private def openConnection(attempt: Int, backoffMaxed: Boolean): Future[jms.Connection] = {
- implicit val system: ActorSystem = materializer.system
+ implicit val system: ActorSystem = graphStageMaterializer.system
val jmsConnection = openConnectionAttempt(startConnection)
updateState(JmsConnectorInitializing(jmsConnection, attempt, backoffMaxed, 0))
jmsConnection.map { connection =>
diff --git a/jms/src/main/scala/org/apache/pekko/stream/connectors/jms/impl/JmsConsumerStage.scala b/jms/src/main/scala/org/apache/pekko/stream/connectors/jms/impl/JmsConsumerStage.scala
index 929296655..211995b7c 100644
--- a/jms/src/main/scala/org/apache/pekko/stream/connectors/jms/impl/JmsConsumerStage.scala
+++ b/jms/src/main/scala/org/apache/pekko/stream/connectors/jms/impl/JmsConsumerStage.scala
@@ -52,7 +52,7 @@ private[jms] final class JmsConsumerStage(settings: JmsConsumerSettings, destina
createDestination: jms.Session => javax.jms.Destination): JmsConsumerSession = {
val session =
connection.createSession(false, settings.acknowledgeMode.getOrElse(AcknowledgeMode.AutoAcknowledge).mode)
- new JmsConsumerSession(connection, session, createDestination(session), destination)
+ new JmsConsumerSession(connection, session, createDestination(session), graphStageDestination)
}
protected def pushMessage(msg: jms.Message): Unit = {
diff --git a/jms/src/main/scala/org/apache/pekko/stream/connectors/jms/impl/JmsProducerStage.scala b/jms/src/main/scala/org/apache/pekko/stream/connectors/jms/impl/JmsProducerStage.scala
index f13bd48ff..40376421c 100644
--- a/jms/src/main/scala/org/apache/pekko/stream/connectors/jms/impl/JmsProducerStage.scala
+++ b/jms/src/main/scala/org/apache/pekko/stream/connectors/jms/impl/JmsProducerStage.scala
@@ -23,9 +23,10 @@ import pekko.stream.impl.Buffer
import pekko.stream.scaladsl.Source
import pekko.stream.stage._
import pekko.util.OptionVal
-import javax.jms
+import javax.jms
import scala.concurrent.Future
+import scala.concurrent.duration.FiniteDuration
import scala.util.control.NoStackTrace
import scala.util.{ Failure, Success, Try }
@@ -34,7 +35,7 @@ import scala.util.{ Failure, Success, Try }
*/
@InternalApi
private trait JmsProducerConnector extends JmsConnector[JmsProducerSession] {
- this: TimerGraphStageLogic with StageLogging =>
+ this: TimerGraphStageLogic with GraphStageCompanion with StageLogging =>
protected final def createSession(connection: jms.Connection,
createDestination: jms.Session => jms.Destination): JmsProducerSession = {
@@ -74,7 +75,18 @@ private[jms] final class JmsProducerStage[E <: JmsEnvelope[PassThrough], PassThr
}
private def producerLogic(inheritedAttributes: Attributes) =
- new TimerGraphStageLogic(shape) with JmsProducerConnector with StageLogging {
+ new TimerGraphStageLogic(shape) with JmsProducerConnector with GraphStageCompanion with StageLogging {
+
+ final override def graphStageMaterializer: Materializer = materializer
+
+ final override def graphStageDestination: Destination = destination
+
+ final override def scheduleOnceOnGraphStage(timerKey: Any, delay: FiniteDuration): Unit =
+ scheduleOnce(timerKey, delay)
+
+ final override def isTimerActiveOnGraphStage(timerKey: Any): Boolean = isTimerActive(timerKey)
+
+ final override def cancelTimerOnGraphStage(timerKey: Any): Unit = cancelTimer(timerKey)
/*
* NOTE: the following code is heavily inspired by akka.stream.impl.fusing.MapAsync
diff --git a/jms/src/main/scala/org/apache/pekko/stream/connectors/jms/impl/JmsTxSourceStage.scala b/jms/src/main/scala/org/apache/pekko/stream/connectors/jms/impl/JmsTxSourceStage.scala
index 18278e22a..f6db22736 100644
--- a/jms/src/main/scala/org/apache/pekko/stream/connectors/jms/impl/JmsTxSourceStage.scala
+++ b/jms/src/main/scala/org/apache/pekko/stream/connectors/jms/impl/JmsTxSourceStage.scala
@@ -46,7 +46,7 @@ private[jms] final class JmsTxSourceStage(settings: JmsConsumerSettings, destina
protected def createSession(connection: jms.Connection, createDestination: jms.Session => javax.jms.Destination) = {
val session =
connection.createSession(true, settings.acknowledgeMode.getOrElse(AcknowledgeMode.SessionTransacted).mode)
- new JmsConsumerSession(connection, session, createDestination(session), destination)
+ new JmsConsumerSession(connection, session, createDestination(session), graphStageDestination)
}
protected def pushMessage(msg: TxEnvelope): Unit = push(out, msg)
diff --git a/jms/src/main/scala/org/apache/pekko/stream/connectors/jms/impl/SourceStageLogic.scala b/jms/src/main/scala/org/apache/pekko/stream/connectors/jms/impl/SourceStageLogic.scala
index 7debd190f..ac8266280 100644
--- a/jms/src/main/scala/org/apache/pekko/stream/connectors/jms/impl/SourceStageLogic.scala
+++ b/jms/src/main/scala/org/apache/pekko/stream/connectors/jms/impl/SourceStageLogic.scala
@@ -13,28 +13,27 @@
package org.apache.pekko.stream.connectors.jms.impl
-import java.util.concurrent.atomic.AtomicBoolean
-
import org.apache.pekko
import pekko.annotation.InternalApi
import pekko.stream.connectors.jms.impl.InternalConnectionState.JmsConnectorStopping
import pekko.stream.connectors.jms.{ Destination, JmsConsumerSettings }
import pekko.stream.scaladsl.Source
import pekko.stream.stage.{ OutHandler, StageLogging, TimerGraphStageLogic }
-import pekko.stream.{ Attributes, Outlet, SourceShape }
+import pekko.stream.{ Attributes, Materializer, Outlet, SourceShape }
import pekko.{ Done, NotUsed }
+import java.util.concurrent.atomic.AtomicBoolean
+import javax.jms
import scala.collection.mutable
import scala.util.{ Failure, Success }
-
-import javax.jms
+import scala.concurrent.duration.FiniteDuration
/**
* Internal API.
*/
@InternalApi
private trait JmsConsumerConnector extends JmsConnector[JmsConsumerSession] {
- this: TimerGraphStageLogic with StageLogging =>
+ this: TimerGraphStageLogic with GraphStageCompanion with StageLogging =>
override val startConnection = true
@@ -54,8 +53,20 @@ private abstract class SourceStageLogic[T](shape: SourceShape[T],
inheritedAttributes: Attributes)
extends TimerGraphStageLogic(shape)
with JmsConsumerConnector
+ with GraphStageCompanion
with StageLogging {
+ final override def graphStageMaterializer: Materializer = materializer
+
+ final override def graphStageDestination: Destination = destination
+
+ final override def scheduleOnceOnGraphStage(timerKey: Any, delay: FiniteDuration): Unit =
+ scheduleOnce(timerKey, delay)
+
+ final override def isTimerActiveOnGraphStage(timerKey: Any): Boolean = isTimerActive(timerKey)
+
+ final override def cancelTimerOnGraphStage(timerKey: Any): Unit = cancelTimer(timerKey)
+
override protected def jmsSettings: JmsConsumerSettings = settings
private val queue = mutable.Queue[T]()
private val stopping = new AtomicBoolean(false)
diff --git a/project/Dependencies.scala b/project/Dependencies.scala
index 509904df0..11685d406 100644
--- a/project/Dependencies.scala
+++ b/project/Dependencies.scala
@@ -106,6 +106,7 @@ object Dependencies {
ExclusionRule("software.amazon.awssdk", "netty-nio-client"))) ++ Mockito)
val AzureStorageQueue = Seq(
+ crossScalaVersions -= Scala3,
libraryDependencies ++= Seq(
"com.microsoft.azure" % "azure-storage" % "8.0.0" // ApacheV2
))
@@ -115,6 +116,7 @@ object Dependencies {
val CassandraDriverVersionInDocs = "4.15"
val Cassandra = Seq(
+ crossScalaVersions -= Scala3,
libraryDependencies ++= Seq(
("com.datastax.oss" % "java-driver-core" % CassandraDriverVersion)
.exclude("com.github.spotbugs", "spotbugs-annotations")
@@ -123,6 +125,7 @@ object Dependencies {
"org.apache.pekko" %% "pekko-discovery" % PekkoVersion % Provided))
val Couchbase = Seq(
+ crossScalaVersions -= Scala3,
libraryDependencies ++= Seq(
"com.couchbase.client" % "java-client" % CouchbaseVersion, // ApacheV2
"io.reactivex" % "rxjava-reactive-streams" % "1.2.1", // ApacheV2
@@ -154,7 +157,6 @@ object Dependencies {
))
val Elasticsearch = Seq(
- crossScalaVersions -= Scala3,
libraryDependencies ++= Seq(
"org.apache.pekko" %% "pekko-http" % PekkoHttpVersion,
"org.apache.pekko" %% "pekko-http-spray-json" % PekkoHttpVersion,
@@ -197,6 +199,7 @@ object Dependencies {
"org.apache.logging.log4j" % "log4j-to-slf4j" % "2.17.1" % Test) ++ JacksonDatabindDependencies)
val GoogleCommon = Seq(
+ crossScalaVersions -= Scala3,
libraryDependencies ++= Seq(
"org.apache.pekko" %% "pekko-http" % PekkoHttpVersion,
"org.apache.pekko" %% "pekko-http-spray-json" % PekkoHttpVersion,
@@ -206,6 +209,7 @@ object Dependencies {
) ++ Mockito)
val GoogleBigQuery = Seq(
+ crossScalaVersions -= Scala3,
libraryDependencies ++= Seq(
"org.apache.pekko" %% "pekko-http" % PekkoHttpVersion,
"org.apache.pekko" %% "pekko-http-jackson" % PekkoHttpVersion % Provided,
@@ -232,6 +236,7 @@ object Dependencies {
"org.apache.pekko" %% "pekko-discovery" % PekkoVersion) ++ Mockito)
val GooglePubSub = Seq(
+ crossScalaVersions -= Scala3,
libraryDependencies ++= Seq(
"org.apache.pekko" %% "pekko-http" % PekkoHttpVersion,
"org.apache.pekko" %% "pekko-http-spray-json" % PekkoHttpVersion,
@@ -250,6 +255,7 @@ object Dependencies {
"org.apache.pekko" %% "pekko-discovery" % PekkoVersion))
val GoogleFcm = Seq(
+ crossScalaVersions -= Scala3,
libraryDependencies ++= Seq(
"org.apache.pekko" %% "pekko-http" % PekkoHttpVersion,
"org.apache.pekko" %% "pekko-http-spray-json" % PekkoHttpVersion) ++ Mockito)
@@ -296,6 +302,7 @@ object Dependencies {
))
val HuaweiPushKit = Seq(
+ crossScalaVersions -= Scala3,
libraryDependencies ++= Seq(
"org.apache.pekko" %% "pekko-http" % PekkoHttpVersion,
"org.apache.pekko" %% "pekko-http-spray-json" % PekkoHttpVersion,
@@ -316,7 +323,6 @@ object Dependencies {
))
val Jms = Seq(
- crossScalaVersions -= Scala3,
libraryDependencies ++= Seq(
"javax.jms" % "jms" % "1.1" % Provided, // CDDL + GPLv2
"com.ibm.mq" % "com.ibm.mq.allclient" % "9.2.5.0" % Test, // IBM International Program License Agreement https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/messaging/mqdev/maven/licenses/L-APIG-AZYF2E/LI_en.html
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pekko.apache.org
For additional commands, e-mail: commits-help@pekko.apache.org
[incubator-pekko-connectors] 15/18: Scala3 ftp support (#170)
Posted by fa...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
fanningpj pushed a commit to branch scala3
in repository https://gitbox.apache.org/repos/asf/incubator-pekko-connectors.git
commit d100ed97dc412b445a6ec363aa852d20eb78db1b
Author: PJ Fanning <pj...@users.noreply.github.com>
AuthorDate: Sun Jun 11 14:24:27 2023 +0100
Scala3 ftp support (#170)
* support scala3 in ftp connector
* Update BaseSpec.scala
---
.../stream/connectors/ftp/impl/FtpBrowserGraphStage.scala | 6 +++---
.../ftp/impl/FtpDirectoryOperationsGraphStage.scala | 2 +-
.../stream/connectors/ftp/impl/FtpGraphStageLogic.scala | 10 +++++-----
.../pekko/stream/connectors/ftp/impl/FtpIOGraphStage.scala | 14 +++++++-------
.../apache/pekko/stream/connectors/ftp/impl/FtpLike.scala | 13 ++++++++-----
.../pekko/stream/connectors/ftp/impl/FtpOperations.scala | 2 +-
.../pekko/stream/connectors/ftp/impl/FtpsOperations.scala | 2 +-
.../pekko/stream/connectors/ftp/impl/SftpOperations.scala | 2 +-
.../pekko/stream/connectors/ftp/javadsl/FtpApi.scala | 4 ++--
.../pekko/stream/connectors/ftp/scaladsl/FtpApi.scala | 4 ++--
.../org/apache/pekko/stream/connectors/ftp/BaseSpec.scala | 2 +-
project/Dependencies.scala | 1 -
12 files changed, 32 insertions(+), 30 deletions(-)
diff --git a/ftp/src/main/scala/org/apache/pekko/stream/connectors/ftp/impl/FtpBrowserGraphStage.scala b/ftp/src/main/scala/org/apache/pekko/stream/connectors/ftp/impl/FtpBrowserGraphStage.scala
index 769156909..589624aa4 100644
--- a/ftp/src/main/scala/org/apache/pekko/stream/connectors/ftp/impl/FtpBrowserGraphStage.scala
+++ b/ftp/src/main/scala/org/apache/pekko/stream/connectors/ftp/impl/FtpBrowserGraphStage.scala
@@ -31,7 +31,7 @@ private[ftp] trait FtpBrowserGraphStage[FtpClient, S <: RemoteFileSettings]
def emitTraversedDirectories: Boolean = false
- def createLogic(inheritedAttributes: Attributes) = {
+ def createLogic(inheritedAttributes: Attributes): FtpGraphStageLogic[FtpFile, FtpClient, S] = {
val logic = new FtpGraphStageLogic[FtpFile, FtpClient, S](shape, ftpLike, connectionSettings, ftpClient) {
private[this] var buffer: Seq[FtpFile] = Seq.empty[FtpFile]
@@ -84,9 +84,9 @@ private[ftp] trait FtpBrowserGraphStage[FtpClient, S <: RemoteFileSettings]
private[this] def getFilesFromPath(basePath: String) =
if (basePath.isEmpty)
- ftpLike.listFiles(handler.get)
+ graphStageFtpLike.listFiles(handler.get)
else
- ftpLike.listFiles(basePath, handler.get)
+ graphStageFtpLike.listFiles(basePath, handler.get)
} // end of stage logic
diff --git a/ftp/src/main/scala/org/apache/pekko/stream/connectors/ftp/impl/FtpDirectoryOperationsGraphStage.scala b/ftp/src/main/scala/org/apache/pekko/stream/connectors/ftp/impl/FtpDirectoryOperationsGraphStage.scala
index c24b0d066..2e80bd58a 100644
--- a/ftp/src/main/scala/org/apache/pekko/stream/connectors/ftp/impl/FtpDirectoryOperationsGraphStage.scala
+++ b/ftp/src/main/scala/org/apache/pekko/stream/connectors/ftp/impl/FtpDirectoryOperationsGraphStage.scala
@@ -31,7 +31,7 @@ private[ftp] trait FtpDirectoryOperationsGraphStage[FtpClient, S <: RemoteFileSe
out,
new OutHandler {
override def onPull(): Unit = {
- push(out, ftpLike.mkdir(basePath, directoryName, handler.get))
+ push(out, graphStageFtpLike.mkdir(basePath, directoryName, handler.get))
complete(out)
}
})
diff --git a/ftp/src/main/scala/org/apache/pekko/stream/connectors/ftp/impl/FtpGraphStageLogic.scala b/ftp/src/main/scala/org/apache/pekko/stream/connectors/ftp/impl/FtpGraphStageLogic.scala
index 0090c3504..d248dc0bf 100644
--- a/ftp/src/main/scala/org/apache/pekko/stream/connectors/ftp/impl/FtpGraphStageLogic.scala
+++ b/ftp/src/main/scala/org/apache/pekko/stream/connectors/ftp/impl/FtpGraphStageLogic.scala
@@ -29,18 +29,18 @@ import scala.util.control.NonFatal
@InternalApi
private[ftp] abstract class FtpGraphStageLogic[T, FtpClient, S <: RemoteFileSettings](
val shape: Shape,
- val ftpLike: FtpLike[FtpClient, S],
+ val graphStageFtpLike: FtpLike[FtpClient, S],
val connectionSettings: S,
val ftpClient: () => FtpClient) extends GraphStageLogic(shape) {
- protected[this] implicit val client = ftpClient()
- protected[this] var handler: Option[ftpLike.Handler] = Option.empty[ftpLike.Handler]
+ protected[this] implicit val client: FtpClient = ftpClient()
+ protected[this] var handler: Option[graphStageFtpLike.Handler] = Option.empty[graphStageFtpLike.Handler]
protected[this] var failed = false
override def preStart(): Unit = {
super.preStart()
try {
- val tryConnect = ftpLike.connect(connectionSettings)
+ val tryConnect = graphStageFtpLike.connect(connectionSettings)
if (tryConnect.isSuccess) {
handler = tryConnect.toOption
} else
@@ -76,7 +76,7 @@ private[ftp] abstract class FtpGraphStageLogic[T, FtpClient, S <: RemoteFileSett
protected[this] def doPreStart(): Unit
protected[this] def disconnect(): Unit =
- handler.foreach(ftpLike.disconnect)
+ handler.foreach(graphStageFtpLike.disconnect)
protected[this] def matSuccess(): Boolean
diff --git a/ftp/src/main/scala/org/apache/pekko/stream/connectors/ftp/impl/FtpIOGraphStage.scala b/ftp/src/main/scala/org/apache/pekko/stream/connectors/ftp/impl/FtpIOGraphStage.scala
index 75414ade0..00cbc5e21 100644
--- a/ftp/src/main/scala/org/apache/pekko/stream/connectors/ftp/impl/FtpIOGraphStage.scala
+++ b/ftp/src/main/scala/org/apache/pekko/stream/connectors/ftp/impl/FtpIOGraphStage.scala
@@ -106,7 +106,7 @@ private[ftp] trait FtpIOSourceStage[FtpClient, S <: RemoteFileSettings]
isOpt.foreach { os =>
try {
os.close()
- ftpLike match {
+ graphStageFtpLike match {
case cfo: CommonFtpOperations =>
if (!cfo.completePendingCommand(handler.get.asInstanceOf[cfo.Handler]))
throw new IOException("File transfer failed.")
@@ -128,13 +128,13 @@ private[ftp] trait FtpIOSourceStage[FtpClient, S <: RemoteFileSettings]
}
protected[this] def doPreStart(): Unit =
- isOpt = ftpLike match {
+ isOpt = graphStageFtpLike match {
case ur: UnconfirmedReads =>
withUnconfirmedReads(ur)
case ro: RetrieveOffset =>
Some(ro.retrieveFileInputStream(path, handler.get.asInstanceOf[ro.Handler], offset).get)
case _ =>
- Some(ftpLike.retrieveFileInputStream(path, handler.get).get)
+ Some(graphStageFtpLike.retrieveFileInputStream(path, handler.get).get)
}
private def withUnconfirmedReads(
@@ -229,7 +229,7 @@ private[ftp] trait FtpIOSinkStage[FtpClient, S <: RemoteFileSettings]
osOpt.foreach { os =>
try {
os.close()
- ftpLike match {
+ graphStageFtpLike match {
case cfo: CommonFtpOperations =>
if (!cfo.completePendingCommand(handler.get.asInstanceOf[cfo.Handler]))
throw new IOException("File transfer failed.")
@@ -251,7 +251,7 @@ private[ftp] trait FtpIOSinkStage[FtpClient, S <: RemoteFileSettings]
}
protected[this] def doPreStart(): Unit = {
- osOpt = Some(ftpLike.storeFileOutputStream(path, handler.get, append).get)
+ osOpt = Some(graphStageFtpLike.storeFileOutputStream(path, handler.get, append).get)
pull(in)
}
@@ -301,7 +301,7 @@ private[ftp] trait FtpMoveSink[FtpClient, S <: RemoteFileSettings]
override def onPush(): Unit = {
try {
val sourcePath = grab(in)
- ftpLike.move(sourcePath.path, destinationPath(sourcePath), handler.get)
+ graphStageFtpLike.move(sourcePath.path, destinationPath(sourcePath), handler.get)
numberOfMovedFiles = numberOfMovedFiles + 1
pull(in)
} catch {
@@ -356,7 +356,7 @@ private[ftp] trait FtpRemoveSink[FtpClient, S <: RemoteFileSettings]
new InHandler {
override def onPush(): Unit = {
try {
- ftpLike.remove(grab(in).path, handler.get)
+ graphStageFtpLike.remove(grab(in).path, handler.get)
numberOfRemovedFiles = numberOfRemovedFiles + 1
pull(in)
} catch {
diff --git a/ftp/src/main/scala/org/apache/pekko/stream/connectors/ftp/impl/FtpLike.scala b/ftp/src/main/scala/org/apache/pekko/stream/connectors/ftp/impl/FtpLike.scala
index d64b488fe..216d7a597 100644
--- a/ftp/src/main/scala/org/apache/pekko/stream/connectors/ftp/impl/FtpLike.scala
+++ b/ftp/src/main/scala/org/apache/pekko/stream/connectors/ftp/impl/FtpLike.scala
@@ -54,7 +54,7 @@ protected[ftp] trait FtpLike[FtpClient, S <: RemoteFileSettings] {
* INTERNAL API
*/
@InternalApi
-protected[ftp] trait RetrieveOffset { _: FtpLike[_, _] =>
+protected[ftp] trait RetrieveOffset { self: FtpLike[_, _] =>
def retrieveFileInputStream(name: String, handler: Handler, offset: Long): Try[InputStream]
@@ -64,7 +64,7 @@ protected[ftp] trait RetrieveOffset { _: FtpLike[_, _] =>
* INTERNAL API
*/
@InternalApi
-protected[ftp] trait UnconfirmedReads { _: FtpLike[_, _] =>
+protected[ftp] trait UnconfirmedReads { self: FtpLike[_, _] =>
def retrieveFileInputStream(name: String, handler: Handler, offset: Long, maxUnconfirmedReads: Int): Try[InputStream]
@@ -76,8 +76,11 @@ protected[ftp] trait UnconfirmedReads { _: FtpLike[_, _] =>
@InternalApi
object FtpLike {
// type class instances
- implicit val ftpLikeInstance = new FtpLike[FTPClient, FtpSettings] with RetrieveOffset with FtpOperations
- implicit val ftpsLikeInstance = new FtpLike[FTPSClient, FtpsSettings] with RetrieveOffset with FtpsOperations
- implicit val sFtpLikeInstance =
+ implicit val ftpLikeInstance: FtpLike[FTPClient, FtpSettings] with RetrieveOffset with FtpOperations =
+ new FtpLike[FTPClient, FtpSettings] with RetrieveOffset with FtpOperations
+ implicit val ftpsLikeInstance: FtpLike[FTPSClient, FtpsSettings] with RetrieveOffset with FtpsOperations =
+ new FtpLike[FTPSClient, FtpsSettings] with RetrieveOffset with FtpsOperations
+ implicit val sFtpLikeInstance
+ : FtpLike[SSHClient, SftpSettings] with RetrieveOffset with SftpOperations with UnconfirmedReads =
new FtpLike[SSHClient, SftpSettings] with RetrieveOffset with SftpOperations with UnconfirmedReads
}
diff --git a/ftp/src/main/scala/org/apache/pekko/stream/connectors/ftp/impl/FtpOperations.scala b/ftp/src/main/scala/org/apache/pekko/stream/connectors/ftp/impl/FtpOperations.scala
index 36ac044fb..6b7cc7b6a 100644
--- a/ftp/src/main/scala/org/apache/pekko/stream/connectors/ftp/impl/FtpOperations.scala
+++ b/ftp/src/main/scala/org/apache/pekko/stream/connectors/ftp/impl/FtpOperations.scala
@@ -23,7 +23,7 @@ import scala.util.Try
* INTERNAL API
*/
@InternalApi
-private[ftp] trait FtpOperations extends CommonFtpOperations { _: FtpLike[FTPClient, FtpSettings] =>
+private[ftp] trait FtpOperations extends CommonFtpOperations { self: FtpLike[FTPClient, FtpSettings] =>
def connect(connectionSettings: FtpSettings)(implicit ftpClient: FTPClient): Try[Handler] = Try {
connectionSettings.proxy.foreach(ftpClient.setProxy)
diff --git a/ftp/src/main/scala/org/apache/pekko/stream/connectors/ftp/impl/FtpsOperations.scala b/ftp/src/main/scala/org/apache/pekko/stream/connectors/ftp/impl/FtpsOperations.scala
index b1bd6ffc1..3ffe0ce2e 100644
--- a/ftp/src/main/scala/org/apache/pekko/stream/connectors/ftp/impl/FtpsOperations.scala
+++ b/ftp/src/main/scala/org/apache/pekko/stream/connectors/ftp/impl/FtpsOperations.scala
@@ -25,7 +25,7 @@ import scala.util.Try
*/
@InternalApi
private[ftp] trait FtpsOperations extends CommonFtpOperations {
- _: FtpLike[FTPSClient, FtpsSettings] =>
+ self: FtpLike[FTPSClient, FtpsSettings] =>
def connect(connectionSettings: FtpsSettings)(implicit ftpClient: FTPSClient): Try[Handler] =
Try {
diff --git a/ftp/src/main/scala/org/apache/pekko/stream/connectors/ftp/impl/SftpOperations.scala b/ftp/src/main/scala/org/apache/pekko/stream/connectors/ftp/impl/SftpOperations.scala
index 59045f385..04cbd77bd 100644
--- a/ftp/src/main/scala/org/apache/pekko/stream/connectors/ftp/impl/SftpOperations.scala
+++ b/ftp/src/main/scala/org/apache/pekko/stream/connectors/ftp/impl/SftpOperations.scala
@@ -37,7 +37,7 @@ import scala.util.{ Failure, Try }
* INTERNAL API
*/
@InternalApi
-private[ftp] trait SftpOperations { _: FtpLike[SSHClient, SftpSettings] =>
+private[ftp] trait SftpOperations { self: FtpLike[SSHClient, SftpSettings] =>
type Handler = SFTPClient
diff --git a/ftp/src/main/scala/org/apache/pekko/stream/connectors/ftp/javadsl/FtpApi.scala b/ftp/src/main/scala/org/apache/pekko/stream/connectors/ftp/javadsl/FtpApi.scala
index 9d6c299b1..3644a1f4d 100644
--- a/ftp/src/main/scala/org/apache/pekko/stream/connectors/ftp/javadsl/FtpApi.scala
+++ b/ftp/src/main/scala/org/apache/pekko/stream/connectors/ftp/javadsl/FtpApi.scala
@@ -30,7 +30,7 @@ import net.schmizz.sshj.SSHClient
import org.apache.commons.net.ftp.{ FTPClient, FTPSClient }
@DoNotInherit
-sealed trait FtpApi[FtpClient, S <: RemoteFileSettings] { _: FtpSourceFactory[FtpClient, S] =>
+sealed trait FtpApi[FtpClient, S <: RemoteFileSettings] { self: FtpSourceFactory[FtpClient, S] =>
/**
* Java API: creates a [[pekko.stream.javadsl.Source Source]] of [[FtpFile]]s from the remote user `root` directory.
@@ -573,6 +573,6 @@ object Sftp extends SftpApi {
*/
def create(customSshClient: SSHClient): SftpApi =
new SftpApi {
- override val sshClient: SSHClient = customSshClient
+ override def sshClient(): SSHClient = customSshClient
}
}
diff --git a/ftp/src/main/scala/org/apache/pekko/stream/connectors/ftp/scaladsl/FtpApi.scala b/ftp/src/main/scala/org/apache/pekko/stream/connectors/ftp/scaladsl/FtpApi.scala
index 4bc7da6e4..0e574bffe 100644
--- a/ftp/src/main/scala/org/apache/pekko/stream/connectors/ftp/scaladsl/FtpApi.scala
+++ b/ftp/src/main/scala/org/apache/pekko/stream/connectors/ftp/scaladsl/FtpApi.scala
@@ -28,7 +28,7 @@ import org.apache.commons.net.ftp.{ FTPClient, FTPSClient }
import scala.concurrent.Future
@DoNotInherit
-sealed trait FtpApi[FtpClient, S <: RemoteFileSettings] { _: FtpSourceFactory[FtpClient, S] =>
+sealed trait FtpApi[FtpClient, S <: RemoteFileSettings] { self: FtpSourceFactory[FtpClient, S] =>
/**
* Scala API: creates a [[pekko.stream.scaladsl.Source Source]] of [[FtpFile]]s from the remote user `root` directory.
@@ -398,6 +398,6 @@ object Sftp extends SftpApi {
*/
def apply(customSshClient: SSHClient): SftpApi =
new SftpApi {
- override val sshClient: SSHClient = customSshClient
+ override def sshClient(): SSHClient = customSshClient
}
}
diff --git a/ftp/src/test/scala/org/apache/pekko/stream/connectors/ftp/BaseSpec.scala b/ftp/src/test/scala/org/apache/pekko/stream/connectors/ftp/BaseSpec.scala
index 7dad2da60..d8765f891 100644
--- a/ftp/src/test/scala/org/apache/pekko/stream/connectors/ftp/BaseSpec.scala
+++ b/ftp/src/test/scala/org/apache/pekko/stream/connectors/ftp/BaseSpec.scala
@@ -77,7 +77,7 @@ trait BaseSpec
// Allows to run tests n times in a row with a command line argument, useful for debugging sporadic failures
// e.g. ftp/testOnly *.FtpsStageSpec -- -Dtimes=20
// https://gist.github.com/dwickern/6ba9c5c505d2325d3737ace059302922
- override abstract protected def runTest(testName: String, args: Args): Status = {
+ override protected def runTest(testName: String, args: Args): Status = {
def run0(times: Int): Status = {
val status = super.runTest(testName, args)
if (times <= 1) status else status.thenRun(run0(times - 1))
diff --git a/project/Dependencies.scala b/project/Dependencies.scala
index 82f5160c8..dd4282336 100644
--- a/project/Dependencies.scala
+++ b/project/Dependencies.scala
@@ -179,7 +179,6 @@ object Dependencies {
))
val Ftp = Seq(
- crossScalaVersions -= Scala3,
libraryDependencies ++= Seq(
"commons-net" % "commons-net" % "3.8.0", // ApacheV2
"com.hierynomus" % "sshj" % "0.33.0" // ApacheV2
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pekko.apache.org
For additional commands, e-mail: commits-help@pekko.apache.org
[incubator-pekko-connectors] 10/18: support scala3 in mqtt-streaming (#161)
Posted by fa...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
fanningpj pushed a commit to branch scala3
in repository https://gitbox.apache.org/repos/asf/incubator-pekko-connectors.git
commit e858209c9759292e40275b354f66a8606c625ca4
Author: PJ Fanning <pj...@users.noreply.github.com>
AuthorDate: Sat Jun 10 11:28:17 2023 +0100
support scala3 in mqtt-streaming (#161)
Update MqttFlowSpec.scala
Update MqttFlowSpec.scala
Update MqttFlowSpec.scala
Update MqttFlowSpec.scala
remove val declarations
---
.../pekko/stream/connectors/mqtt/streaming/model.scala | 18 +++++++++++-------
.../mqtt/streaming/scaladsl/MqttSession.scala | 4 ++--
.../src/test/scala/docs/scaladsl/MqttFlowSpec.scala | 17 ++++++++---------
project/Dependencies.scala | 1 -
4 files changed, 21 insertions(+), 19 deletions(-)
diff --git a/mqtt-streaming/src/main/scala/org/apache/pekko/stream/connectors/mqtt/streaming/model.scala b/mqtt-streaming/src/main/scala/org/apache/pekko/stream/connectors/mqtt/streaming/model.scala
index 64089ba3e..f52addaed 100644
--- a/mqtt-streaming/src/main/scala/org/apache/pekko/stream/connectors/mqtt/streaming/model.scala
+++ b/mqtt-streaming/src/main/scala/org/apache/pekko/stream/connectors/mqtt/streaming/model.scala
@@ -53,7 +53,8 @@ object ControlPacketType {
val DISCONNECT = ControlPacketType(14)
val Reserved2 = ControlPacketType(15)
}
-final case class ControlPacketType private (underlying: Int) extends AnyVal
+@InternalApi
+final case class ControlPacketType(underlying: Int) extends AnyVal
/**
* 2.2.2 Flags
@@ -75,7 +76,8 @@ object ControlPacketFlags {
val RETAIN = ControlPacketFlags(1)
}
-final case class ControlPacketFlags private (underlying: Int) extends AnyVal {
+@InternalApi
+final case class ControlPacketFlags(underlying: Int) extends AnyVal {
/**
* Convenience bitwise OR
@@ -110,7 +112,8 @@ case object Reserved2 extends ControlPacket(ControlPacketType.Reserved2, Control
* 2.3.1 Packet Identifier
* http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html
*/
-final case class PacketId private (underlying: Int) extends AnyVal
+@InternalApi
+final case class PacketId(underlying: Int) extends AnyVal
object ConnectFlags {
val None = ConnectFlags(0)
@@ -127,7 +130,7 @@ object ConnectFlags {
* 3.1.2.3 Connect Flags
* http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html
*/
-final case class ConnectFlags private (underlying: Int) extends AnyVal {
+final case class ConnectFlags private[streaming] (underlying: Int) extends AnyVal {
/**
* Convenience bitwise OR
@@ -223,7 +226,7 @@ object ConnAckFlags {
* 3.2.2.1 Connect Acknowledge Flags
* http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html
*/
-final case class ConnAckFlags private (underlying: Int) extends AnyVal
+final case class ConnAckFlags private[streaming] (underlying: Int) extends AnyVal
object ConnAckReturnCode {
val ConnectionAccepted = ConnAckReturnCode(0)
@@ -238,7 +241,7 @@ object ConnAckReturnCode {
* 3.2.2.3 Connect Return code
* http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html
*/
-final case class ConnAckReturnCode private (underlying: Int) extends AnyVal {
+final case class ConnAckReturnCode private[streaming] (underlying: Int) extends AnyVal {
/**
* Convenience bitwise OR
@@ -286,7 +289,8 @@ object Publish {
* 3.3 PUBLISH – Publish message
* http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html
*/
-final case class Publish @InternalApi private[streaming] (override val flags: ControlPacketFlags,
+@InternalApi
+final case class Publish(override val flags: ControlPacketFlags,
topicName: String,
packetId: Option[PacketId],
payload: ByteString)
diff --git a/mqtt-streaming/src/main/scala/org/apache/pekko/stream/connectors/mqtt/streaming/scaladsl/MqttSession.scala b/mqtt-streaming/src/main/scala/org/apache/pekko/stream/connectors/mqtt/streaming/scaladsl/MqttSession.scala
index afbfc222e..111eb7f42 100644
--- a/mqtt-streaming/src/main/scala/org/apache/pekko/stream/connectors/mqtt/streaming/scaladsl/MqttSession.scala
+++ b/mqtt-streaming/src/main/scala/org/apache/pekko/stream/connectors/mqtt/streaming/scaladsl/MqttSession.scala
@@ -169,7 +169,7 @@ final class ActorMqttClientSession(settings: MqttSessionSettings)(implicit syste
import MqttSession._
import system.dispatcher
- private implicit val loggingAdapter: LoggingAdapter = Logging(system, this.getClass)
+ private implicit val loggingAdapter: LoggingAdapter = Logging(system, classOf[ActorMqttClientSession])
override def : Unit = cp match {
case Command(cp: Publish, _, carry) =>
@@ -504,7 +504,7 @@ final class ActorMqttServerSession(settings: MqttSessionSettings)(implicit syste
import MqttSession._
import system.dispatcher
- private implicit val loggingAdapter: LoggingAdapter = Logging(system, this.getClass)
+ private implicit val loggingAdapter: LoggingAdapter = Logging(system, classOf[ActorMqttClientSession])
override def : Unit = cp match {
case Command(cp: Publish, _, carry) =>
diff --git a/mqtt-streaming/src/test/scala/docs/scaladsl/MqttFlowSpec.scala b/mqtt-streaming/src/test/scala/docs/scaladsl/MqttFlowSpec.scala
index 190dc0afa..fd73bfa50 100644
--- a/mqtt-streaming/src/test/scala/docs/scaladsl/MqttFlowSpec.scala
+++ b/mqtt-streaming/src/test/scala/docs/scaladsl/MqttFlowSpec.scala
@@ -36,20 +36,17 @@ import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpecLike
class UntypedMqttFlowSpec
- extends ParametrizedTestKit("untyped-flow-spec/flow",
+ extends MqttFlowSpecBase("untyped-flow-spec/flow",
"untyped-flow-spec/topic1",
ActorSystem("UntypedMqttFlowSpec"))
- with MqttFlowSpec
+
class TypedMqttFlowSpec
- extends ParametrizedTestKit("typed-flow-spec/flow",
+ extends MqttFlowSpecBase("typed-flow-spec/flow",
"typed-flow-spec/topic1",
- org.apache.pekko.actor.typed.ActorSystem(Behaviors.ignore, "TypedMqttFlowSpec").toClassic)
- with MqttFlowSpec
-
-class ParametrizedTestKit(val clientId: String, val topic: String, system: ActorSystem) extends TestKit(system)
+ pekko.actor.typed.ActorSystem(Behaviors.ignore, "TypedMqttFlowSpec").toClassic)
-trait MqttFlowSpec extends AnyWordSpecLike with Matchers with BeforeAndAfterAll with ScalaFutures with LogCapturing {
- self: ParametrizedTestKit =>
+abstract class MqttFlowSpecBase(clientId: String, topic: String, system: ActorSystem) extends TestKit(system)
+ with AnyWordSpecLike with Matchers with BeforeAndAfterAll with ScalaFutures with LogCapturing {
override def sourceActorSytem = Some(system.name)
@@ -57,6 +54,8 @@ trait MqttFlowSpec extends AnyWordSpecLike with Matchers with BeforeAndAfterAll
private implicit val dispatcherExecutionContext: ExecutionContext = system.dispatcher
+ private implicit val implicitSystem: ActorSystem = system
+
implicit val logAdapter: LoggingAdapter = Logging(system, this.getClass.getName)
override def afterAll(): Unit =
diff --git a/project/Dependencies.scala b/project/Dependencies.scala
index f239f8087..ee1203b42 100644
--- a/project/Dependencies.scala
+++ b/project/Dependencies.scala
@@ -369,7 +369,6 @@ object Dependencies {
))
val MqttStreaming = Seq(
- crossScalaVersions -= Scala3,
libraryDependencies ++= Seq(
"org.apache.pekko" %% "pekko-actor-typed" % PekkoVersion, // ApacheV2
"org.apache.pekko" %% "pekko-actor-testkit-typed" % PekkoVersion % Test, // ApacheV2
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pekko.apache.org
For additional commands, e-mail: commits-help@pekko.apache.org
[incubator-pekko-connectors] 04/18: support scala3 (google-common) (#141)
Posted by fa...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
fanningpj pushed a commit to branch scala3
in repository https://gitbox.apache.org/repos/asf/incubator-pekko-connectors.git
commit cd968911a705092202a73f8118c9594d0ed931df
Author: PJ Fanning <pj...@users.noreply.github.com>
AuthorDate: Thu Jun 8 15:59:33 2023 +0100
support scala3 (google-common) (#141)
* support scala3 (google-common)
* Update ResumableUpload.scala
* add huawei
* Update Dependencies.scala
* Update BigQuery.scala
* annotation
---
.../googlecloud/bigquery/BigQueryException.scala | 2 +-
.../googlecloud/bigquery/javadsl/BigQuery.scala | 29 ++++----
.../googlecloud/pubsub/impl/PubSubApi.scala | 6 +-
.../googlecloud/storage/impl/Formats.scala | 12 ++--
.../googlecloud/storage/impl/GCStorageStream.scala | 4 +-
.../storage/WithMaterializerGlobal.scala | 2 +-
.../impl/GCStorageStreamIntegrationSpec.scala | 2 +-
.../google/javadsl/XUploadContentType.java | 3 +-
.../stream/connectors/google/GoogleSettings.scala | 6 +-
.../stream/connectors/google/ResumableUpload.scala | 58 ++++++++--------
.../connectors/google/auth/Credentials.scala | 2 +-
.../connectors/google/auth/GoogleOAuth2.scala | 3 +-
.../google/auth/GoogleOAuth2Exception.scala | 3 +-
.../stream/connectors/google/http/GoogleHttp.scala | 10 +--
.../stream/connectors/google/javadsl/Google.scala | 4 +-
.../connectors/google/jwt/JwtSprayJson.scala | 81 ++++++++++++++++++++++
.../google/scaladsl/`X-Upload-Content-Type`.scala | 2 +-
.../connectors/google/ResumableUploadSpec.scala | 4 +-
.../connectors/google/auth/GoogleOAuth2Spec.scala | 2 +-
.../google/auth/OAuth2CredentialsSpec.scala | 2 +-
.../connectors/google/http/GoogleHttpSpec.scala | 5 +-
.../google/firebase/fcm/impl/FcmSender.scala | 2 +-
.../google/firebase/fcm/v1/impl/FcmSender.scala | 2 +-
.../firebase/fcm/v1/impl/FcmSenderSpec.scala | 2 +-
.../huawei/pushkit/impl/PushKitSenderSpec.scala | 2 +-
.../scala/docs/scaladsl/MqttActorSystemsSpec.scala | 6 +-
project/Dependencies.scala | 7 +-
27 files changed, 177 insertions(+), 86 deletions(-)
diff --git a/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/BigQueryException.scala b/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/BigQueryException.scala
index 426f1dd8d..d0ea423d3 100644
--- a/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/BigQueryException.scala
+++ b/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/BigQueryException.scala
@@ -39,7 +39,7 @@ object BigQueryException {
implicit val fromResponseUnmarshaller: FromResponseUnmarshaller[Throwable] =
Unmarshaller
- .withMaterializer { implicit ec => implicit mat => response: HttpResponse =>
+ .withMaterializer { implicit ec => implicit mat => (response: HttpResponse) =>
import SprayJsonSupport._
val HttpResponse(status, _, entity, _) = response: @nowarn("msg=match may not be exhaustive")
Unmarshaller
diff --git a/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/javadsl/BigQuery.scala b/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/javadsl/BigQuery.scala
index 6e9dd836f..109811e7f 100644
--- a/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/javadsl/BigQuery.scala
+++ b/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/javadsl/BigQuery.scala
@@ -19,7 +19,7 @@ import pekko.annotation.ApiMayChange
import pekko.http.javadsl.marshalling.Marshaller
import pekko.http.javadsl.model.{ HttpEntity, RequestEntity }
import pekko.http.javadsl.unmarshalling.Unmarshaller
-import pekko.http.scaladsl.{ model => sm }
+import pekko.http.scaladsl.{ marshalling, model => sm, unmarshalling }
import pekko.japi.Pair
import pekko.stream.connectors.google.GoogleSettings
import pekko.stream.connectors.google.javadsl.Google
@@ -45,7 +45,6 @@ import pekko.util.OptionConverters._
import java.time.Duration
import java.util.concurrent.CompletionStage
import java.{ lang, util }
-
import scala.annotation.nowarn
import scala.concurrent.duration.{ FiniteDuration, MILLISECONDS }
@@ -220,7 +219,8 @@ object BigQuery extends Google {
selectedFields: util.List[String],
unmarshaller: Unmarshaller[HttpEntity, TableDataListResponse[Out]])
: Source[Out, CompletionStage[TableDataListResponse[Out]]] = {
- implicit val um = unmarshaller.asScalaCastInput[sm.HttpEntity]
+ implicit val um: unmarshalling.Unmarshaller[sm.HttpEntity, TableDataListResponse[Out]] =
+ unmarshaller.asScalaCastInput[sm.HttpEntity]
ScalaBigQuery
.tableData(datasetId, tableId, startIndex.toScala, maxResults.toScala, selectedFields.asScala.toList)
.mapMaterializedValue(_.asJava)
@@ -245,7 +245,8 @@ object BigQuery extends Google {
retryPolicy: InsertAllRetryPolicy,
templateSuffix: util.Optional[String],
marshaller: Marshaller[TableDataInsertAllRequest[In], RequestEntity]): Sink[util.List[In], NotUsed] = {
- implicit val m = marshaller.asScalaCastOutput[sm.RequestEntity]
+ implicit val m: marshalling.Marshaller[TableDataInsertAllRequest[In], sm.RequestEntity] =
+ marshaller.asScalaCastOutput[sm.RequestEntity]
ss.Flow[util.List[In]]
.map(_.asScala.toList)
.to(ScalaBigQuery.insertAll[In](datasetId, tableId, retryPolicy, templateSuffix.toScala))
@@ -269,7 +270,8 @@ object BigQuery extends Google {
retryFailedRequests: Boolean,
marshaller: Marshaller[TableDataInsertAllRequest[In], RequestEntity])
: Flow[TableDataInsertAllRequest[In], TableDataInsertAllResponse, NotUsed] = {
- implicit val m = marshaller.asScalaCastOutput[sm.RequestEntity]
+ implicit val m: marshalling.Marshaller[TableDataInsertAllRequest[In], sm.RequestEntity] =
+ marshaller.asScalaCastOutput[sm.RequestEntity]
ScalaBigQuery.insertAll[In](datasetId, tableId, retryFailedRequests).asJava
}
@@ -290,7 +292,8 @@ object BigQuery extends Google {
dryRun: Boolean,
useLegacySql: Boolean,
unmarshaller: Unmarshaller[HttpEntity, QueryResponse[Out]]): Source[Out, CompletionStage[QueryResponse[Out]]] = {
- implicit val um = unmarshaller.asScalaCastInput[sm.HttpEntity]
+ implicit val um: unmarshalling.Unmarshaller[sm.HttpEntity, QueryResponse[Out]] =
+ unmarshaller.asScalaCastInput[sm.HttpEntity]
ScalaBigQuery.query(query, dryRun, useLegacySql).mapMaterializedValue(_.asJava).asJava
}
@@ -309,7 +312,8 @@ object BigQuery extends Google {
query: QueryRequest,
unmarshaller: Unmarshaller[HttpEntity, QueryResponse[Out]])
: Source[Out, Pair[CompletionStage[JobReference], CompletionStage[QueryResponse[Out]]]] = {
- implicit val um = unmarshaller.asScalaCastInput[sm.HttpEntity]
+ implicit val um: unmarshalling.Unmarshaller[sm.HttpEntity, QueryResponse[Out]] =
+ unmarshaller.asScalaCastInput[sm.HttpEntity]
ScalaBigQuery
.query(query)
.mapMaterializedValue {
@@ -339,7 +343,8 @@ object BigQuery extends Google {
timeout: util.Optional[Duration],
location: util.Optional[String],
unmarshaller: Unmarshaller[HttpEntity, QueryResponse[Out]]): Source[Out, CompletionStage[QueryResponse[Out]]] = {
- implicit val um = unmarshaller.asScalaCastInput[sm.HttpEntity]
+ implicit val um: unmarshalling.Unmarshaller[sm.HttpEntity, QueryResponse[Out]] =
+ unmarshaller.asScalaCastInput[sm.HttpEntity]
ScalaBigQuery
.queryResults(jobId,
startIndex.toScala,
@@ -396,7 +401,7 @@ object BigQuery extends Google {
def insertAllAsync[In](datasetId: String,
tableId: String,
marshaller: Marshaller[In, RequestEntity]): Flow[In, Job, NotUsed] = {
- implicit val m = marshaller.asScalaCastOutput[sm.RequestEntity]
+ implicit val m: marshalling.Marshaller[In, sm.RequestEntity] = marshaller.asScalaCastOutput[sm.RequestEntity]
ScalaBigQuery.insertAllAsync[In](datasetId, tableId).asJava[In]
}
@@ -415,7 +420,7 @@ object BigQuery extends Google {
tableId: String,
labels: util.Optional[util.Map[String, String]],
marshaller: Marshaller[In, RequestEntity]): Flow[In, Job, NotUsed] = {
- implicit val m = marshaller.asScalaCastOutput[sm.RequestEntity]
+ implicit val m: marshalling.Marshaller[In, sm.RequestEntity] = marshaller.asScalaCastOutput[sm.RequestEntity]
ScalaBigQuery.insertAllAsync[In](datasetId, tableId, labels.toScala.map(_.asScala.toMap)).asJava[In]
}
@@ -436,8 +441,8 @@ object BigQuery extends Google {
job: Job,
marshaller: Marshaller[Job, RequestEntity],
unmarshaller: Unmarshaller[HttpEntity, Job]): Sink[ByteString, CompletionStage[Job]] = {
- implicit val m = marshaller.asScalaCastOutput[sm.RequestEntity]
- implicit val um = unmarshaller.asScalaCastInput[sm.HttpEntity]
+ implicit val m: marshalling.Marshaller[Job, sm.RequestEntity] = marshaller.asScalaCastOutput[sm.RequestEntity]
+ implicit val um: unmarshalling.Unmarshaller[sm.HttpEntity, Job] = unmarshaller.asScalaCastInput[sm.HttpEntity]
ScalaBigQuery.createLoadJob(job).mapMaterializedValue(_.asJava).asJava[ByteString]
}
diff --git a/google-cloud-pub-sub/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/pubsub/impl/PubSubApi.scala b/google-cloud-pub-sub/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/pubsub/impl/PubSubApi.scala
index 696406f89..66b1e27a7 100644
--- a/google-cloud-pub-sub/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/pubsub/impl/PubSubApi.scala
+++ b/google-cloud-pub-sub/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/pubsub/impl/PubSubApi.scala
@@ -173,7 +173,7 @@ private[pubsub] trait PubSubApi {
.mapMaterializedValue(_ => NotUsed)
private implicit val pullResponseUnmarshaller: FromResponseUnmarshaller[PullResponse] =
- Unmarshaller.withMaterializer { implicit ec => implicit mat => response: HttpResponse =>
+ Unmarshaller.withMaterializer { implicit ec => implicit mat => (response: HttpResponse) =>
response.status match {
case StatusCodes.Success(_) if response.entity.contentType == ContentTypes.`application/json` =>
Unmarshal(response.entity).to[PullResponse]
@@ -211,7 +211,7 @@ private[pubsub] trait PubSubApi {
.mapMaterializedValue(_ => NotUsed)
private implicit val acknowledgeResponseUnmarshaller: FromResponseUnmarshaller[Done] =
- Unmarshaller.withMaterializer { implicit ec => implicit mat => response: HttpResponse =>
+ Unmarshaller.withMaterializer { implicit ec => implicit mat => (response: HttpResponse) =>
response.status match {
case StatusCodes.Success(_) =>
response.discardEntityBytes().future
@@ -261,7 +261,7 @@ private[pubsub] trait PubSubApi {
publish(topic, parallelism, None)
private implicit val publishResponseUnmarshaller: FromResponseUnmarshaller[PublishResponse] =
- Unmarshaller.withMaterializer { implicit ec => implicit mat => response: HttpResponse =>
+ Unmarshaller.withMaterializer { implicit ec => implicit mat => (response: HttpResponse) =>
response.status match {
case StatusCodes.Success(_) if response.entity.contentType == ContentTypes.`application/json` =>
Unmarshal(response.entity).to[PublishResponse]
diff --git a/google-cloud-storage/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/storage/impl/Formats.scala b/google-cloud-storage/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/storage/impl/Formats.scala
index 5c20c3931..ee2da5dcc 100644
--- a/google-cloud-storage/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/storage/impl/Formats.scala
+++ b/google-cloud-storage/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/storage/impl/Formats.scala
@@ -49,7 +49,8 @@ object Formats extends DefaultJsonProtocol {
domain: String,
projectTeam: ProjectTeam,
etag: String)
- private implicit val ObjectAccessControlsJsonFormat = jsonFormat13(ObjectAccessControls)
+ private implicit val ObjectAccessControlsJsonFormat: RootJsonFormat[ObjectAccessControls] =
+ jsonFormat13(ObjectAccessControls.apply)
/**
* Google API storage response object
@@ -79,7 +80,8 @@ object Formats extends DefaultJsonProtocol {
timeStorageClassUpdated: String,
updated: String)
- private implicit val storageObjectReadOnlyJson = jsonFormat18(StorageObjectReadOnlyJson)
+ private implicit val storageObjectReadOnlyJson: RootJsonFormat[StorageObjectReadOnlyJson] =
+ jsonFormat18(StorageObjectReadOnlyJson.apply)
// private sub class of StorageObjectJson used to workaround 22 field jsonFormat issue
private final case class StorageObjectWriteableJson(
@@ -98,7 +100,8 @@ object Formats extends DefaultJsonProtocol {
temporaryHold: Option[Boolean],
acl: Option[List[ObjectAccessControls]])
- private implicit val storageObjectWritableJson = jsonFormat14(StorageObjectWriteableJson)
+ private implicit val storageObjectWritableJson: RootJsonFormat[StorageObjectWriteableJson] =
+ jsonFormat14(StorageObjectWriteableJson.apply)
private implicit object StorageObjectJsonFormat extends RootJsonFormat[StorageObjectJson] {
override def read(value: JsValue): StorageObjectJson = {
@@ -175,7 +178,8 @@ object Formats extends DefaultJsonProtocol {
}
}
- private implicit val bucketListResultJsonReads = jsonFormat4(BucketListResultJson.apply)
+ private implicit val bucketListResultJsonReads: RootJsonFormat[BucketListResultJson] =
+ jsonFormat4(BucketListResultJson.apply)
implicit object RewriteResponseReads extends RootJsonReader[RewriteResponse] {
override def read(json: JsValue): RewriteResponse = {
diff --git a/google-cloud-storage/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/storage/impl/GCStorageStream.scala b/google-cloud-storage/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/storage/impl/GCStorageStream.scala
index 0ba705a5c..b67496ea3 100644
--- a/google-cloud-storage/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/storage/impl/GCStorageStream.scala
+++ b/google-cloud-storage/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/storage/impl/GCStorageStream.scala
@@ -242,7 +242,7 @@ import scala.concurrent.{ ExecutionContext, Future }
getBucketPath(bucket) / "o" / objectName
implicit def unmarshaller[T: FromEntityUnmarshaller]: Unmarshaller[HttpResponse, T] =
- Unmarshaller.withMaterializer { implicit ec => implicit mat => response: HttpResponse =>
+ Unmarshaller.withMaterializer { implicit ec => implicit mat => (response: HttpResponse) =>
response match {
case HttpResponse(status, _, entity, _) if status.isSuccess() && !status.isRedirection() =>
Unmarshal(entity).to[T]
@@ -254,7 +254,7 @@ import scala.concurrent.{ ExecutionContext, Future }
}.withDefaultRetry
implicit def optionUnmarshaller[T: FromEntityUnmarshaller]: Unmarshaller[HttpResponse, Option[T]] =
- Unmarshaller.withMaterializer { implicit ec => implicit mat => response: HttpResponse =>
+ Unmarshaller.withMaterializer { implicit ec => implicit mat => (response: HttpResponse) =>
response match {
case HttpResponse(status, _, entity, _) if status.isSuccess() && !status.isRedirection() =>
Unmarshal(entity).to[T].map(Some(_))
diff --git a/google-cloud-storage/src/test/scala/org/apache/pekko/stream/connectors/googlecloud/storage/WithMaterializerGlobal.scala b/google-cloud-storage/src/test/scala/org/apache/pekko/stream/connectors/googlecloud/storage/WithMaterializerGlobal.scala
index eb046720a..787885b91 100644
--- a/google-cloud-storage/src/test/scala/org/apache/pekko/stream/connectors/googlecloud/storage/WithMaterializerGlobal.scala
+++ b/google-cloud-storage/src/test/scala/org/apache/pekko/stream/connectors/googlecloud/storage/WithMaterializerGlobal.scala
@@ -29,7 +29,7 @@ trait WithMaterializerGlobal
with ScalaFutures
with IntegrationPatience
with Matchers {
- implicit val actorSystem = ActorSystem("test")
+ implicit val actorSystem: ActorSystem = ActorSystem("test")
implicit val ec: ExecutionContext = actorSystem.dispatcher
override protected def afterAll(): Unit = {
diff --git a/google-cloud-storage/src/test/scala/org/apache/pekko/stream/connectors/googlecloud/storage/impl/GCStorageStreamIntegrationSpec.scala b/google-cloud-storage/src/test/scala/org/apache/pekko/stream/connectors/googlecloud/storage/impl/GCStorageStreamIntegrationSpec.scala
index 0715faa16..d891f8241 100644
--- a/google-cloud-storage/src/test/scala/org/apache/pekko/stream/connectors/googlecloud/storage/impl/GCStorageStreamIntegrationSpec.scala
+++ b/google-cloud-storage/src/test/scala/org/apache/pekko/stream/connectors/googlecloud/storage/impl/GCStorageStreamIntegrationSpec.scala
@@ -53,7 +53,7 @@ class GCStorageStreamIntegrationSpec
with ScalaFutures
with LogCapturing {
- private implicit val defaultPatience =
+ private implicit val defaultPatience: PatienceConfig =
PatienceConfig(timeout = 60.seconds, interval = 60.millis)
var folderName: String = _
diff --git a/google-common/src/main/java/org/apache/pekko/stream/connectors/google/javadsl/XUploadContentType.java b/google-common/src/main/java/org/apache/pekko/stream/connectors/google/javadsl/XUploadContentType.java
index 6edef7564..10e48b59d 100644
--- a/google-common/src/main/java/org/apache/pekko/stream/connectors/google/javadsl/XUploadContentType.java
+++ b/google-common/src/main/java/org/apache/pekko/stream/connectors/google/javadsl/XUploadContentType.java
@@ -22,7 +22,6 @@ public interface XUploadContentType {
ContentType getContentType();
static XUploadContentType create(ContentType contentType) {
- return X$minusUpload$minusContent$minusType$.MODULE$.apply(
- (org.apache.pekko.http.scaladsl.model.ContentType) contentType);
+ return X$minusUpload$minusContent$minusType$.MODULE$.apply(contentType.toString());
}
}
diff --git a/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/GoogleSettings.scala b/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/GoogleSettings.scala
index ef91cfd78..6ca40022d 100644
--- a/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/GoogleSettings.scala
+++ b/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/GoogleSettings.scala
@@ -90,7 +90,7 @@ object GoogleSettings {
}
-final case class GoogleSettings @InternalApi private (projectId: String,
+final case class GoogleSettings @InternalApi private[connectors] (projectId: String,
credentials: Credentials,
requestSettings: RequestSettings) {
def getProjectId = projectId
@@ -134,7 +134,7 @@ object RequestSettings {
apply(userIp.toScala, quotaUser.toScala, prettyPrint, chunkSize, retrySettings, forwardProxy.toScala)
}
-final case class RequestSettings @InternalApi private (
+final case class RequestSettings @InternalApi private[connectors] (
userIp: Option[String],
quotaUser: Option[String],
prettyPrint: Boolean,
@@ -252,7 +252,7 @@ object ForwardProxy {
credentials: Option[BasicHttpCredentials],
trustPem: Option[String])(implicit system: ClassicActorSystemProvider): ForwardProxy = {
ForwardProxy(
- trustPem.fold(Http(system).defaultClientHttpsContext)(ForwardProxyHttpsContext(_)),
+ trustPem.fold(Http(system.classicSystem).defaultClientHttpsContext)(ForwardProxyHttpsContext(_)),
ForwardProxyPoolSettings(scheme, host, port, credentials)(system.classicSystem))
}
diff --git a/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/ResumableUpload.scala b/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/ResumableUpload.scala
index f50c921b9..8dbc91cc2 100644
--- a/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/ResumableUpload.scala
+++ b/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/ResumableUpload.scala
@@ -56,7 +56,7 @@ private[connectors] object ResumableUpload {
Sink
.fromMaterializer { (mat, attr) =>
import mat.executionContext
- implicit val materializer = mat
+ implicit val materializer: Materializer = mat
implicit val settings: GoogleSettings = GoogleAttributes.resolveSettings(mat, attr)
val uploadChunkSize = settings.requestSettings.uploadChunkSize
@@ -96,25 +96,24 @@ private[connectors] object ResumableUpload {
private def initiateSession(request: HttpRequest)(implicit mat: Materializer,
settings: GoogleSettings): Future[Uri] = {
- implicit val system: ActorSystem = mat.system
import implicits._
- implicit val um = Unmarshaller.withMaterializer { implicit ec => implicit mat => response: HttpResponse =>
- response.discardEntityBytes().future.map { _ =>
- response.header[Location].fold(throw InvalidResponseException(ErrorInfo("No Location header")))(_.uri)
- }
- }.withDefaultRetry
+ implicit val um: FromResponseUnmarshaller[Uri] =
+ Unmarshaller.withMaterializer { implicit ec => implicit mat => (response: HttpResponse) =>
+ response.discardEntityBytes().future.map { _ =>
+ response.header[Location].fold(throw InvalidResponseException(ErrorInfo("No Location header")))(_.uri)
+ }
+ }.withDefaultRetry
- GoogleHttp().singleAuthenticatedRequest[Uri](request)
+ GoogleHttp(mat.system).singleAuthenticatedRequest[Uri](request)
}
private final case class DoNotRetry(ex: Throwable) extends Throwable(ex) with NoStackTrace
private def uploadChunk[T: FromResponseUnmarshaller](
request: HttpRequest)(implicit mat: Materializer): Flow[Either[T, MaybeLast[Chunk]], Try[Option[T]], NotUsed] = {
- implicit val system: ActorSystem = mat.system
- val um = Unmarshaller.withMaterializer { implicit ec => implicit mat => response: HttpResponse =>
+ val um = Unmarshaller.withMaterializer { implicit ec => implicit mat => (response: HttpResponse) =>
response.status match {
case PermanentRedirect =>
response.discardEntityBytes().future.map(_ => None)
@@ -127,7 +126,8 @@ private[connectors] object ResumableUpload {
val uri = request.uri
Flow[HttpRequest]
.map((_, ()))
- .via(GoogleHttp().cachedHostConnectionPoolWithContext(uri.authority.host.address, uri.effectivePort)(um))
+ .via(GoogleHttp(mat.system).cachedHostConnectionPoolWithContext(uri.authority.host.address, uri.effectivePort)(
+ um))
.map(_._1.recoverWith { case DoNotRetry(ex) => Failure(ex) })
}
@@ -147,30 +147,30 @@ private[connectors] object ResumableUpload {
request: HttpRequest,
chunk: Future[MaybeLast[Chunk]])(
implicit mat: Materializer, settings: GoogleSettings): Future[Either[T, MaybeLast[Chunk]]] = {
- implicit val system: ActorSystem = mat.system
import implicits._
- implicit val um = Unmarshaller.withMaterializer { implicit ec => implicit mat => response: HttpResponse =>
- response.status match {
- case OK | Created => Unmarshal(response).to[T].map(Left(_))
- case PermanentRedirect =>
- response.discardEntityBytes().future.map { _ =>
- Right(
- response
- .header[Range]
- .flatMap(_.ranges.headOption)
- .collect {
- case Slice(_, last) => last + 1
- }.getOrElse(0L))
- }
- case _ => throw InvalidResponseException(ErrorInfo(response.status.value, response.status.defaultMessage))
- }
- }.withDefaultRetry
+ implicit val um: FromResponseUnmarshaller[Either[T, Long]] =
+ Unmarshaller.withMaterializer { implicit ec => implicit mat => (response: HttpResponse) =>
+ response.status match {
+ case OK | Created => Unmarshal(response).to[T].map(Left(_))
+ case PermanentRedirect =>
+ response.discardEntityBytes().future.map { _ =>
+ Right(
+ response
+ .header[Range]
+ .flatMap(_.ranges.headOption)
+ .collect {
+ case Slice(_, last) => last + 1
+ }.getOrElse(0L))
+ }
+ case _ => throw InvalidResponseException(ErrorInfo(response.status.value, response.status.defaultMessage))
+ }
+ }.withDefaultRetry
import mat.executionContext
chunk.flatMap {
case maybeLast @ MaybeLast(Chunk(bytes, position)) =>
- GoogleHttp()
+ GoogleHttp(mat.system)
.singleAuthenticatedRequest[Either[T, Long]](request.addHeader(statusRequestHeader))
.map {
case Left(result) if maybeLast.isLast => Left(result)
diff --git a/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/auth/Credentials.scala b/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/auth/Credentials.scala
index 1bb2fd350..72c0e0226 100644
--- a/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/auth/Credentials.scala
+++ b/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/auth/Credentials.scala
@@ -36,7 +36,7 @@ object Credentials {
*/
def apply(c: Config)(implicit system: ClassicActorSystemProvider): Credentials = c.getString("provider") match {
case "application-default" =>
- val log = Logging(system.classicSystem, getClass)
+ val log = Logging(system.classicSystem, classOf[Credentials])
try {
val creds = parseServiceAccount(c)
log.info("Using service account credentials")
diff --git a/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/auth/GoogleOAuth2.scala b/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/auth/GoogleOAuth2.scala
index 4099f91c1..4455748c4 100644
--- a/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/auth/GoogleOAuth2.scala
+++ b/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/auth/GoogleOAuth2.scala
@@ -21,9 +21,10 @@ import pekko.http.scaladsl.model.HttpMethods.POST
import pekko.http.scaladsl.model.{ FormData, HttpRequest }
import pekko.stream.Materializer
import pekko.stream.connectors.google.http.GoogleHttp
+import pekko.stream.connectors.google.jwt.JwtSprayJson
import pekko.stream.connectors.google.{ implicits, RequestSettings }
import pdi.jwt.JwtAlgorithm.RS256
-import pdi.jwt.{ JwtClaim, JwtSprayJson }
+import pdi.jwt.JwtClaim
import spray.json.DefaultJsonProtocol._
import spray.json.JsonFormat
diff --git a/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/auth/GoogleOAuth2Exception.scala b/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/auth/GoogleOAuth2Exception.scala
index ae9690008..9c88c182f 100644
--- a/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/auth/GoogleOAuth2Exception.scala
+++ b/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/auth/GoogleOAuth2Exception.scala
@@ -22,7 +22,8 @@ import pekko.stream.connectors.google.util.Retry
import spray.json.DefaultJsonProtocol._
import spray.json.RootJsonFormat
-final case class GoogleOAuth2Exception private (override val info: ErrorInfo) extends ExceptionWithErrorInfo(info)
+final case class GoogleOAuth2Exception private[google] (override val info: ErrorInfo)
+ extends ExceptionWithErrorInfo(info)
private[google] object GoogleOAuth2Exception {
diff --git a/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/http/GoogleHttp.scala b/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/http/GoogleHttp.scala
index d536f8b00..0bafea003 100644
--- a/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/http/GoogleHttp.scala
+++ b/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/http/GoogleHttp.scala
@@ -14,7 +14,7 @@
package org.apache.pekko.stream.connectors.google.http
import org.apache.pekko
-import pekko.actor.ClassicActorSystemProvider
+import pekko.actor.{ ClassicActorSystemProvider, ExtendedActorSystem, Scheduler }
import pekko.annotation.InternalApi
import pekko.dispatch.ExecutionContexts
import pekko.http.scaladsl.Http.HostConnectionPool
@@ -26,7 +26,7 @@ import pekko.stream.connectors.google.{ GoogleAttributes, GoogleSettings, Reques
import pekko.stream.connectors.google.util.Retry
import pekko.stream.scaladsl.{ Flow, FlowWithContext, Keep, RetryFlow }
-import scala.concurrent.Future
+import scala.concurrent.{ ExecutionContextExecutor, Future }
import scala.util.{ Failure, Success, Try }
@InternalApi
@@ -45,9 +45,9 @@ private[connectors] object GoogleHttp {
@InternalApi
private[connectors] final class GoogleHttp private (val http: HttpExt) extends AnyVal {
- private implicit def system = http.system
- private implicit def ec = system.dispatcher
- private implicit def scheduler = system.scheduler
+ private implicit def system: ExtendedActorSystem = http.system
+ private implicit def ec: ExecutionContextExecutor = system.dispatcher
+ private implicit def scheduler: Scheduler = system.scheduler
/**
* Sends a single [[HttpRequest]] and returns the raw [[HttpResponse]].
diff --git a/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/javadsl/Google.scala b/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/javadsl/Google.scala
index 20785a9fa..1325bced9 100644
--- a/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/javadsl/Google.scala
+++ b/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/javadsl/Google.scala
@@ -18,7 +18,7 @@ import pekko.NotUsed
import pekko.actor.ClassicActorSystemProvider
import pekko.http.javadsl.model.{ HttpRequest, HttpResponse }
import pekko.http.javadsl.unmarshalling.Unmarshaller
-import pekko.http.scaladsl.{ model => sm }
+import pekko.http.scaladsl.{ model => sm, unmarshalling }
import pekko.stream.connectors.google.GoogleSettings
import pekko.stream.connectors.google.scaladsl.{ Google => ScalaGoogle }
import pekko.stream.javadsl.{ Sink, Source }
@@ -59,7 +59,7 @@ private[connectors] trait Google {
*/
final def paginatedRequest[Out <: Paginated](request: HttpRequest,
unmarshaller: Unmarshaller[HttpResponse, Out]): Source[Out, NotUsed] = {
- implicit val um = unmarshaller.asScala
+ implicit val um: unmarshalling.Unmarshaller[HttpResponse, Out] = unmarshaller.asScala
ScalaGoogle.paginatedRequest[Out](request).asJava
}
diff --git a/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/jwt/JwtSprayJson.scala b/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/jwt/JwtSprayJson.scala
new file mode 100644
index 000000000..8362fa88e
--- /dev/null
+++ b/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/jwt/JwtSprayJson.scala
@@ -0,0 +1,81 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * license agreements; and to You under the Apache License, version 2.0:
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * This file is part of the Apache Pekko project, derived from Akka.
+ */
+
+package org.apache.pekko.stream.connectors.google.jwt
+
+import java.time.Clock
+import org.apache.pekko
+import pekko.annotation.InternalApi
+import pdi.jwt._
+import pdi.jwt.exceptions.JwtNonStringException
+import spray.json._
+
+/**
+ * Implementation of `JwtCore` using `JsObject` from spray-json.
+ */
+@InternalApi
+private[google] trait JwtSprayJsonParser[H, C] extends JwtJsonCommon[JsObject, H, C] {
+ protected def parse(value: String): JsObject = value.parseJson.asJsObject
+
+ protected def stringify(value: JsObject): String = value.compactPrint
+
+ protected def getAlgorithm(header: JsObject): Option[JwtAlgorithm] =
+ header.fields.get("alg").flatMap {
+ case JsString("none") => None
+ case JsString(algo) => Option(JwtAlgorithm.fromString(algo))
+ case JsNull => None
+ case _ => throw new JwtNonStringException("alg")
+ }
+
+}
+
+@InternalApi
+private[google] object JwtSprayJson extends JwtSprayJsonParser[JwtHeader, JwtClaim] {
+ import DefaultJsonProtocol._
+
+ def apply(clock: Clock): JwtSprayJson = new JwtSprayJson(clock)
+
+ override def parseHeader(header: String): JwtHeader = {
+ val jsObj = parse(header)
+ JwtHeader(
+ algorithm = getAlgorithm(jsObj),
+ typ = safeGetField[String](jsObj, "typ"),
+ contentType = safeGetField[String](jsObj, "cty"),
+ keyId = safeGetField[String](jsObj, "kid"))
+ }
+
+ override def parseClaim(claim: String): JwtClaim = {
+ val jsObj = parse(claim)
+ val content = JsObject(
+ jsObj.fields - "iss" - "sub" - "aud" - "exp" - "nbf" - "iat" - "jti")
+ JwtClaim(
+ content = stringify(content),
+ issuer = safeGetField[String](jsObj, "iss"),
+ subject = safeGetField[String](jsObj, "sub"),
+ audience = safeGetField[Set[String]](jsObj, "aud")
+ .orElse(safeGetField[String](jsObj, "aud").map(s => Set(s))),
+ expiration = safeGetField[Long](jsObj, "exp"),
+ notBefore = safeGetField[Long](jsObj, "nbf"),
+ issuedAt = safeGetField[Long](jsObj, "iat"),
+ jwtId = safeGetField[String](jsObj, "jti"))
+ }
+
+ private[this] def safeRead[A: JsonReader](js: JsValue) =
+ safeReader[A].read(js).fold(_ => None, a => Option(a))
+
+ private[this] def safeGetField[A: JsonReader](js: JsObject, name: String) =
+ js.fields.get(name).flatMap(safeRead[A])
+}
+
+@InternalApi
+private[google] class JwtSprayJson private (override val clock: Clock)
+ extends JwtSprayJsonParser[JwtHeader, JwtClaim] {
+ override def parseHeader(header: String): JwtHeader = JwtSprayJson.parseHeader(header)
+ override def parseClaim(header: String): JwtClaim = JwtSprayJson.parseClaim(header)
+}
diff --git a/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/scaladsl/`X-Upload-Content-Type`.scala b/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/scaladsl/`X-Upload-Content-Type`.scala
index 291a26ab0..e7b85c461 100644
--- a/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/scaladsl/`X-Upload-Content-Type`.scala
+++ b/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/scaladsl/`X-Upload-Content-Type`.scala
@@ -34,7 +34,7 @@ object `X-Upload-Content-Type` extends ModeledCustomHeaderCompanion[`X-Upload-Co
contentType => Success(`X-Upload-Content-Type`(contentType)))
}
-final case class `X-Upload-Content-Type` private (contentType: ContentType)
+final case class `X-Upload-Content-Type` private[connectors] (contentType: ContentType)
extends ModeledCustomHeader[`X-Upload-Content-Type`]
with XUploadContentType {
override def value(): String = contentType.toString()
diff --git a/google-common/src/test/scala/org/apache/pekko/stream/connectors/google/ResumableUploadSpec.scala b/google-common/src/test/scala/org/apache/pekko/stream/connectors/google/ResumableUploadSpec.scala
index 819834bb8..bca269015 100644
--- a/google-common/src/test/scala/org/apache/pekko/stream/connectors/google/ResumableUploadSpec.scala
+++ b/google-common/src/test/scala/org/apache/pekko/stream/connectors/google/ResumableUploadSpec.scala
@@ -18,7 +18,7 @@ import pekko.actor.ActorSystem
import pekko.http.scaladsl.marshallers.sprayjson.SprayJsonSupport._
import pekko.http.scaladsl.model.HttpMethods.POST
import pekko.http.scaladsl.model.{ ContentTypes, HttpRequest, Uri }
-import pekko.http.scaladsl.unmarshalling.Unmarshaller
+import pekko.http.scaladsl.unmarshalling.{ FromResponseUnmarshaller, Unmarshaller }
import pekko.stream.connectors.google.scaladsl.`X-Upload-Content-Type`
import pekko.stream.scaladsl.Source
import pekko.testkit.TestKit
@@ -79,7 +79,7 @@ class ResumableUploadSpec
.willReturn(created().header("Content-Type", "application/json").body("{}"))))
import implicits._
- implicit val um =
+ implicit val um: FromResponseUnmarshaller[JsValue] =
Unmarshaller.messageUnmarshallerFromEntityUnmarshaller(sprayJsValueUnmarshaller).withDefaultRetry
val result = Source
diff --git a/google-common/src/test/scala/org/apache/pekko/stream/connectors/google/auth/GoogleOAuth2Spec.scala b/google-common/src/test/scala/org/apache/pekko/stream/connectors/google/auth/GoogleOAuth2Spec.scala
index 1bd56b790..753e3004a 100644
--- a/google-common/src/test/scala/org/apache/pekko/stream/connectors/google/auth/GoogleOAuth2Spec.scala
+++ b/google-common/src/test/scala/org/apache/pekko/stream/connectors/google/auth/GoogleOAuth2Spec.scala
@@ -46,7 +46,7 @@ class GoogleOAuth2Spec
implicit val executionContext: ExecutionContext = system.dispatcher
implicit val settings: GoogleSettings = GoogleSettings(system)
- implicit val clock = Clock.systemUTC()
+ implicit val clock: Clock = Clock.systemUTC()
lazy val privateKey = {
val inputStream = getClass.getClassLoader.getResourceAsStream("private_pcks8.pem")
diff --git a/google-common/src/test/scala/org/apache/pekko/stream/connectors/google/auth/OAuth2CredentialsSpec.scala b/google-common/src/test/scala/org/apache/pekko/stream/connectors/google/auth/OAuth2CredentialsSpec.scala
index 7d7e2342a..446336dd9 100644
--- a/google-common/src/test/scala/org/apache/pekko/stream/connectors/google/auth/OAuth2CredentialsSpec.scala
+++ b/google-common/src/test/scala/org/apache/pekko/stream/connectors/google/auth/OAuth2CredentialsSpec.scala
@@ -45,7 +45,7 @@ class OAuth2CredentialsSpec
import system.dispatcher
implicit val settings: RequestSettings = GoogleSettings().requestSettings
- implicit val clock = Clock.systemUTC()
+ implicit val clock: Clock = Clock.systemUTC()
final object AccessTokenProvider {
@volatile var accessTokenPromise: Promise[AccessToken] = Promise.failed(new RuntimeException)
diff --git a/google-common/src/test/scala/org/apache/pekko/stream/connectors/google/http/GoogleHttpSpec.scala b/google-common/src/test/scala/org/apache/pekko/stream/connectors/google/http/GoogleHttpSpec.scala
index 56a75389c..cc37d94f2 100644
--- a/google-common/src/test/scala/org/apache/pekko/stream/connectors/google/http/GoogleHttpSpec.scala
+++ b/google-common/src/test/scala/org/apache/pekko/stream/connectors/google/http/GoogleHttpSpec.scala
@@ -67,10 +67,11 @@ class GoogleHttpSpec
anyInt,
any[HttpsConnectionContext],
any[ConnectionPoolSettings],
- any[LoggingAdapter])).thenReturn(Flow[Any]
+ any[LoggingAdapter])).thenReturn(
+ Flow[Any]
.zipWith(response)(Keep.right)
.map(Try(_))
- .map((_, mock[Nothing]))
+ .map((_, mock[Nothing](scala.reflect.ClassTag.Nothing)))
.mapMaterializedValue(_ => mock[HostConnectionPool]),
Nil: _*): @nowarn("msg=dead code")
http
diff --git a/google-fcm/src/main/scala/org/apache/pekko/stream/connectors/google/firebase/fcm/impl/FcmSender.scala b/google-fcm/src/main/scala/org/apache/pekko/stream/connectors/google/firebase/fcm/impl/FcmSender.scala
index 3a366face..859543def 100644
--- a/google-fcm/src/main/scala/org/apache/pekko/stream/connectors/google/firebase/fcm/impl/FcmSender.scala
+++ b/google-fcm/src/main/scala/org/apache/pekko/stream/connectors/google/firebase/fcm/impl/FcmSender.scala
@@ -55,7 +55,7 @@ private[fcm] class FcmSender {
}
implicit private val unmarshaller: FromResponseUnmarshaller[FcmSuccessResponse] = Unmarshaller.withMaterializer {
- implicit ec => implicit mat => response: HttpResponse =>
+ implicit ec => implicit mat => (response: HttpResponse) =>
if (response.status.isSuccess) {
Unmarshal(response.entity).to[FcmSuccessResponse]
} else {
diff --git a/google-fcm/src/main/scala/org/apache/pekko/stream/connectors/google/firebase/fcm/v1/impl/FcmSender.scala b/google-fcm/src/main/scala/org/apache/pekko/stream/connectors/google/firebase/fcm/v1/impl/FcmSender.scala
index 479855e10..66e96560c 100644
--- a/google-fcm/src/main/scala/org/apache/pekko/stream/connectors/google/firebase/fcm/v1/impl/FcmSender.scala
+++ b/google-fcm/src/main/scala/org/apache/pekko/stream/connectors/google/firebase/fcm/v1/impl/FcmSender.scala
@@ -50,7 +50,7 @@ private[fcm] class FcmSender {
}
implicit private val unmarshaller: FromResponseUnmarshaller[FcmSuccessResponse] = Unmarshaller.withMaterializer {
- implicit ec => implicit mat => response: HttpResponse =>
+ implicit ec => implicit mat => (response: HttpResponse) =>
if (response.status.isSuccess) {
Unmarshal(response.entity).to[FcmSuccessResponse]
} else {
diff --git a/google-fcm/src/test/scala/org/apache/pekko/stream/connectors/google/firebase/fcm/v1/impl/FcmSenderSpec.scala b/google-fcm/src/test/scala/org/apache/pekko/stream/connectors/google/firebase/fcm/v1/impl/FcmSenderSpec.scala
index a2d4d4922..ca6c18820 100644
--- a/google-fcm/src/test/scala/org/apache/pekko/stream/connectors/google/firebase/fcm/v1/impl/FcmSenderSpec.scala
+++ b/google-fcm/src/test/scala/org/apache/pekko/stream/connectors/google/firebase/fcm/v1/impl/FcmSenderSpec.scala
@@ -57,7 +57,7 @@ class FcmSenderSpec
implicit val executionContext: ExecutionContext = system.dispatcher
- implicit val conf = FcmSettings()
+ implicit val conf: FcmSettings = FcmSettings()
implicit val settings: GoogleSettings = GoogleSettings().copy(projectId = "projectId")
"FcmSender" should {
diff --git a/huawei-push-kit/src/test/scala/org/apache/pekko/stream/connectors/huawei/pushkit/impl/PushKitSenderSpec.scala b/huawei-push-kit/src/test/scala/org/apache/pekko/stream/connectors/huawei/pushkit/impl/PushKitSenderSpec.scala
index cc83e885f..16a7f78ce 100644
--- a/huawei-push-kit/src/test/scala/org/apache/pekko/stream/connectors/huawei/pushkit/impl/PushKitSenderSpec.scala
+++ b/huawei-push-kit/src/test/scala/org/apache/pekko/stream/connectors/huawei/pushkit/impl/PushKitSenderSpec.scala
@@ -55,7 +55,7 @@ class PushKitSenderSpec
implicit val executionContext: ExecutionContext = system.dispatcher
- implicit val config = HmsSettings()
+ implicit val config: HmsSettings = HmsSettings()
"HmsSender" should {
diff --git a/mqtt-streaming/src/test/scala/docs/scaladsl/MqttActorSystemsSpec.scala b/mqtt-streaming/src/test/scala/docs/scaladsl/MqttActorSystemsSpec.scala
index ccf6e788a..301dde93c 100644
--- a/mqtt-streaming/src/test/scala/docs/scaladsl/MqttActorSystemsSpec.scala
+++ b/mqtt-streaming/src/test/scala/docs/scaladsl/MqttActorSystemsSpec.scala
@@ -14,6 +14,7 @@
package docs.scaladsl
import org.apache.pekko
+import pekko.actor
import pekko.actor.typed.scaladsl.Behaviors
import pekko.stream.connectors.mqtt.streaming.MqttSessionSettings
import pekko.stream.connectors.mqtt.streaming.scaladsl.{ ActorMqttClientSession, ActorMqttServerSession }
@@ -21,7 +22,8 @@ import org.scalatest.wordspec.AnyWordSpec
class MqttTypedActorSystemSpec extends AnyWordSpec {
- implicit val actorSystem = pekko.actor.typed.ActorSystem(Behaviors.ignore, "MqttTypedActorSystemSpec")
+ implicit val actorSystem: actor.typed.ActorSystem[Nothing] =
+ actor.typed.ActorSystem(Behaviors.ignore, "MqttTypedActorSystemSpec")
"A typed actor system" should {
"allow client creation" in {
@@ -41,7 +43,7 @@ class MqttTypedActorSystemSpec extends AnyWordSpec {
class MqttClassicActorSystemSpec extends AnyWordSpec {
- implicit val actorSystem = pekko.actor.ActorSystem("MqttClassicActorSystemSpec")
+ implicit val actorSystem: actor.ActorSystem = actor.ActorSystem("MqttClassicActorSystemSpec")
"A typed actor system" should {
"allow client creation" in {
diff --git a/project/Dependencies.scala b/project/Dependencies.scala
index 116f484e3..d2d1aeb1a 100644
--- a/project/Dependencies.scala
+++ b/project/Dependencies.scala
@@ -197,11 +197,10 @@ object Dependencies {
"org.apache.logging.log4j" % "log4j-to-slf4j" % "2.17.1" % Test) ++ JacksonDatabindDependencies)
val GoogleCommon = Seq(
- crossScalaVersions -= Scala3,
libraryDependencies ++= Seq(
"org.apache.pekko" %% "pekko-http" % PekkoHttpVersion,
"org.apache.pekko" %% "pekko-http-spray-json" % PekkoHttpVersion,
- "com.github.jwt-scala" %% "jwt-spray-json" % "7.1.4", // ApacheV2
+ "com.github.jwt-scala" %% "jwt-json-common" % "7.1.5", // ApacheV2
"com.google.auth" % "google-auth-library-credentials" % "0.24.1", // BSD 3-clause
"io.specto" % "hoverfly-java" % hoverflyVersion % Test // ApacheV2
) ++ Mockito)
@@ -253,7 +252,6 @@ object Dependencies {
"org.apache.pekko" %% "pekko-discovery" % PekkoVersion))
val GoogleFcm = Seq(
- crossScalaVersions -= Scala3,
libraryDependencies ++= Seq(
"org.apache.pekko" %% "pekko-http" % PekkoHttpVersion,
"org.apache.pekko" %% "pekko-http-spray-json" % PekkoHttpVersion) ++ Mockito)
@@ -300,11 +298,10 @@ object Dependencies {
))
val HuaweiPushKit = Seq(
- crossScalaVersions -= Scala3,
libraryDependencies ++= Seq(
"org.apache.pekko" %% "pekko-http" % PekkoHttpVersion,
"org.apache.pekko" %% "pekko-http-spray-json" % PekkoHttpVersion,
- "com.github.jwt-scala" %% "jwt-spray-json" % "7.1.4" // ApacheV2
+ "com.github.jwt-scala" %% "jwt-json-common" % "7.1.5" // ApacheV2
) ++ Mockito)
val InfluxDB = Seq(
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pekko.apache.org
For additional commands, e-mail: commits-help@pekko.apache.org
[incubator-pekko-connectors] 12/18: support scala3 for google-cloud-storage connector (#159)
Posted by fa...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
fanningpj pushed a commit to branch scala3
in repository https://gitbox.apache.org/repos/asf/incubator-pekko-connectors.git
commit 2a077303801c6b605c82e416f6fd8fb7f02212ae
Author: PJ Fanning <pj...@users.noreply.github.com>
AuthorDate: Sat Jun 10 17:21:28 2023 +0100
support scala3 for google-cloud-storage connector (#159)
* support scala3 for google-cloud-storage connector
fix import
Update Formats.scala
Update Dependencies.scala
* try to fix code that was somehow reverted in a merge
* more changes
* Update GCStorageStream.scala
* clock implicits
* another merge issue
---
.../scaladsl/GrpcBigQueryStorageReader.scala | 2 +-
.../test/scala/docs/scaladsl/ExampleReader.scala | 2 +-
.../src/test/scala/docs/scaladsl/ExampleApp.scala | 2 +-
.../googlecloud/pubsub/impl/PubSubApi.scala | 34 +++++++------
.../googlecloud/storage/impl/Formats.scala | 14 ++++--
.../googlecloud/storage/impl/GCStorageStream.scala | 5 +-
.../storage/WithMaterializerGlobal.scala | 2 +-
.../stream/connectors/google/ResumableUpload.scala | 58 +++++++++++-----------
.../connectors/google/auth/GoogleOAuth2Spec.scala | 2 +-
.../google/auth/OAuth2CredentialsSpec.scala | 2 +-
.../firebase/fcm/v1/impl/FcmSenderSpec.scala | 2 +-
project/Dependencies.scala | 5 --
12 files changed, 66 insertions(+), 64 deletions(-)
diff --git a/google-cloud-bigquery-storage/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/storage/scaladsl/GrpcBigQueryStorageReader.scala b/google-cloud-bigquery-storage/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/storage/scaladsl/GrpcBigQueryStorageReader.scala
index d2d541424..19370175f 100644
--- a/google-cloud-bigquery-storage/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/storage/scaladsl/GrpcBigQueryStorageReader.scala
+++ b/google-cloud-bigquery-storage/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/storage/scaladsl/GrpcBigQueryStorageReader.scala
@@ -44,7 +44,7 @@ object GrpcBigQueryStorageReader {
* An extension that manages a single gRPC scala reader client per actor system.
*/
final class GrpcBigQueryStorageReaderExt private (sys: ExtendedActorSystem) extends Extension {
- implicit val reader = GrpcBigQueryStorageReader()(sys)
+ implicit val reader: GrpcBigQueryStorageReader = GrpcBigQueryStorageReader()(sys)
}
object GrpcBigQueryStorageReaderExt extends ExtensionId[GrpcBigQueryStorageReaderExt] with ExtensionIdProvider {
diff --git a/google-cloud-bigquery-storage/src/test/scala/docs/scaladsl/ExampleReader.scala b/google-cloud-bigquery-storage/src/test/scala/docs/scaladsl/ExampleReader.scala
index 268cdb330..92a6d74d6 100644
--- a/google-cloud-bigquery-storage/src/test/scala/docs/scaladsl/ExampleReader.scala
+++ b/google-cloud-bigquery-storage/src/test/scala/docs/scaladsl/ExampleReader.scala
@@ -40,7 +40,7 @@ import scala.concurrent.Future
class ExampleReader {
- implicit val sys = ActorSystem("ExampleReader")
+ implicit val sys: ActorSystem = ActorSystem("ExampleReader")
// #read-all
val sourceOfSources: Source[(ReadSession.Schema, Seq[Source[ReadRowsResponse.Rows, NotUsed]]), Future[NotUsed]] =
diff --git a/google-cloud-pub-sub-grpc/src/test/scala/docs/scaladsl/ExampleApp.scala b/google-cloud-pub-sub-grpc/src/test/scala/docs/scaladsl/ExampleApp.scala
index 3ff4851c6..d76e43398 100644
--- a/google-cloud-pub-sub-grpc/src/test/scala/docs/scaladsl/ExampleApp.scala
+++ b/google-cloud-pub-sub-grpc/src/test/scala/docs/scaladsl/ExampleApp.scala
@@ -37,7 +37,7 @@ object ExampleApp {
|pekko.loglevel = INFO
""".stripMargin)
- implicit val sys = ActorSystem("ExampleApp", config)
+ implicit val sys: ActorSystem = ActorSystem("ExampleApp", config)
import sys.dispatcher
diff --git a/google-cloud-pub-sub/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/pubsub/impl/PubSubApi.scala b/google-cloud-pub-sub/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/pubsub/impl/PubSubApi.scala
index 696406f89..90dd33581 100644
--- a/google-cloud-pub-sub/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/pubsub/impl/PubSubApi.scala
+++ b/google-cloud-pub-sub/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/pubsub/impl/PubSubApi.scala
@@ -69,7 +69,7 @@ private[pubsub] trait PubSubApi {
def PubSubGoogleApisPort: Int
def isEmulated: Boolean
- private implicit val instantFormat = new RootJsonFormat[Instant] {
+ private implicit val instantFormat: RootJsonFormat[Instant] = new RootJsonFormat[Instant] {
override def read(jsValue: JsValue): Instant = jsValue match {
case JsString(time) => Instant.parse(time)
case _ => deserializationError("Instant required as a string of RFC3339 UTC Zulu format.")
@@ -77,7 +77,7 @@ private[pubsub] trait PubSubApi {
override def write(instant: Instant): JsValue = JsString(instant.toString)
}
- private implicit val pubSubMessageFormat =
+ private implicit val pubSubMessageFormat: RootJsonFormat[PubSubMessage] =
new RootJsonFormat[PubSubMessage] {
override def read(json: JsValue): PubSubMessage = {
val fields = json.asJsObject.fields
@@ -98,7 +98,7 @@ private[pubsub] trait PubSubApi {
++ m.attributes.map(attributes => "attributes" -> attributes.toJson): _*)
}
- private implicit val publishMessageFormat = new RootJsonFormat[PublishMessage] {
+ private implicit val publishMessageFormat: RootJsonFormat[PublishMessage] = new RootJsonFormat[PublishMessage] {
def read(json: JsValue): PublishMessage = {
val data = json.asJsObject.fields("data").convertTo[String]
val attributes = json.asJsObject.fields("attributes").convertTo[immutable.Map[String, String]]
@@ -112,37 +112,39 @@ private[pubsub] trait PubSubApi {
m.attributes.map(a => "attributes" -> a.toJson): _*)
}
- private implicit val pubSubRequestFormat = new RootJsonFormat[PublishRequest] {
+ private implicit val pubSubRequestFormat: RootJsonFormat[PublishRequest] = new RootJsonFormat[PublishRequest] {
def read(json: JsValue): PublishRequest =
PublishRequest(json.asJsObject.fields("messages").convertTo[immutable.Seq[PublishMessage]])
def write(pr: PublishRequest): JsValue = JsObject("messages" -> pr.messages.toJson)
}
- private implicit val gcePubSubResponseFormat = new RootJsonFormat[PublishResponse] {
+ private implicit val gcePubSubResponseFormat: RootJsonFormat[PublishResponse] = new RootJsonFormat[PublishResponse] {
def read(json: JsValue): PublishResponse =
PublishResponse(json.asJsObject.fields("messageIds").convertTo[immutable.Seq[String]])
def write(pr: PublishResponse): JsValue = JsObject("messageIds" -> pr.messageIds.toJson)
}
- private implicit val receivedMessageFormat = new RootJsonFormat[ReceivedMessage] {
+ private implicit val receivedMessageFormat: RootJsonFormat[ReceivedMessage] = new RootJsonFormat[ReceivedMessage] {
def read(json: JsValue): ReceivedMessage =
ReceivedMessage(json.asJsObject.fields("ackId").convertTo[String],
json.asJsObject.fields("message").convertTo[PubSubMessage])
def write(rm: ReceivedMessage): JsValue =
JsObject("ackId" -> rm.ackId.toJson, "message" -> rm.message.toJson)
}
- private implicit val pubSubPullResponseFormat = new RootJsonFormat[PullResponse] {
+ private implicit val pubSubPullResponseFormat: RootJsonFormat[PullResponse] = new RootJsonFormat[PullResponse] {
def read(json: JsValue): PullResponse =
PullResponse(json.asJsObject.fields.get("receivedMessages").map(_.convertTo[immutable.Seq[ReceivedMessage]]))
def write(pr: PullResponse): JsValue =
pr.receivedMessages.map(rm => JsObject("receivedMessages" -> rm.toJson)).getOrElse(JsObject.empty)
}
- private implicit val acknowledgeRequestFormat = new RootJsonFormat[AcknowledgeRequest] {
- def read(json: JsValue): AcknowledgeRequest =
- AcknowledgeRequest(json.asJsObject.fields("ackIds").convertTo[immutable.Seq[String]]: _*)
- def write(ar: AcknowledgeRequest): JsValue = JsObject("ackIds" -> ar.ackIds.toJson)
- }
- private implicit val pullRequestFormat = DefaultJsonProtocol.jsonFormat2(PullRequest.apply)
+ private implicit val acknowledgeRequestFormat: RootJsonFormat[AcknowledgeRequest] =
+ new RootJsonFormat[AcknowledgeRequest] {
+ def read(json: JsValue): AcknowledgeRequest =
+ AcknowledgeRequest(json.asJsObject.fields("ackIds").convertTo[immutable.Seq[String]]: _*)
+ def write(ar: AcknowledgeRequest): JsValue = JsObject("ackIds" -> ar.ackIds.toJson)
+ }
+ private implicit val pullRequestFormat: RootJsonFormat[PullRequest] =
+ DefaultJsonProtocol.jsonFormat2(PullRequest.apply)
private def scheme: String = if (isEmulated) "http" else "https"
@@ -173,7 +175,7 @@ private[pubsub] trait PubSubApi {
.mapMaterializedValue(_ => NotUsed)
private implicit val pullResponseUnmarshaller: FromResponseUnmarshaller[PullResponse] =
- Unmarshaller.withMaterializer { implicit ec => implicit mat => response: HttpResponse =>
+ Unmarshaller.withMaterializer { implicit ec => implicit mat => (response: HttpResponse) =>
response.status match {
case StatusCodes.Success(_) if response.entity.contentType == ContentTypes.`application/json` =>
Unmarshal(response.entity).to[PullResponse]
@@ -211,7 +213,7 @@ private[pubsub] trait PubSubApi {
.mapMaterializedValue(_ => NotUsed)
private implicit val acknowledgeResponseUnmarshaller: FromResponseUnmarshaller[Done] =
- Unmarshaller.withMaterializer { implicit ec => implicit mat => response: HttpResponse =>
+ Unmarshaller.withMaterializer { implicit ec => implicit mat => (response: HttpResponse) =>
response.status match {
case StatusCodes.Success(_) =>
response.discardEntityBytes().future
@@ -261,7 +263,7 @@ private[pubsub] trait PubSubApi {
publish(topic, parallelism, None)
private implicit val publishResponseUnmarshaller: FromResponseUnmarshaller[PublishResponse] =
- Unmarshaller.withMaterializer { implicit ec => implicit mat => response: HttpResponse =>
+ Unmarshaller.withMaterializer { implicit ec => implicit mat => (response: HttpResponse) =>
response.status match {
case StatusCodes.Success(_) if response.entity.contentType == ContentTypes.`application/json` =>
Unmarshal(response.entity).to[PublishResponse]
diff --git a/google-cloud-storage/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/storage/impl/Formats.scala b/google-cloud-storage/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/storage/impl/Formats.scala
index 5c20c3931..70a4306dc 100644
--- a/google-cloud-storage/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/storage/impl/Formats.scala
+++ b/google-cloud-storage/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/storage/impl/Formats.scala
@@ -18,7 +18,7 @@ import java.time.OffsetDateTime
import org.apache.pekko
import pekko.http.scaladsl.model.{ ContentType, ContentTypes }
import pekko.stream.connectors.googlecloud.storage._
-import spray.json.{ DefaultJsonProtocol, JsObject, JsValue, RootJsonFormat, RootJsonReader }
+import spray.json.{ enrichAny, DefaultJsonProtocol, JsObject, JsValue, RootJsonFormat, RootJsonReader }
import scala.util.Try
@@ -49,7 +49,8 @@ object Formats extends DefaultJsonProtocol {
domain: String,
projectTeam: ProjectTeam,
etag: String)
- private implicit val ObjectAccessControlsJsonFormat = jsonFormat13(ObjectAccessControls)
+ private implicit val ObjectAccessControlsJsonFormat: RootJsonFormat[ObjectAccessControls] =
+ jsonFormat13(ObjectAccessControls.apply)
/**
* Google API storage response object
@@ -79,7 +80,8 @@ object Formats extends DefaultJsonProtocol {
timeStorageClassUpdated: String,
updated: String)
- private implicit val storageObjectReadOnlyJson = jsonFormat18(StorageObjectReadOnlyJson)
+ private implicit val storageObjectReadOnlyJson: RootJsonFormat[StorageObjectReadOnlyJson] =
+ jsonFormat18(StorageObjectReadOnlyJson.apply)
// private sub class of StorageObjectJson used to workaround 22 field jsonFormat issue
private final case class StorageObjectWriteableJson(
@@ -98,7 +100,8 @@ object Formats extends DefaultJsonProtocol {
temporaryHold: Option[Boolean],
acl: Option[List[ObjectAccessControls]])
- private implicit val storageObjectWritableJson = jsonFormat14(StorageObjectWriteableJson)
+ private implicit val storageObjectWritableJson: RootJsonFormat[StorageObjectWriteableJson] =
+ jsonFormat14(StorageObjectWriteableJson.apply)
private implicit object StorageObjectJsonFormat extends RootJsonFormat[StorageObjectJson] {
override def read(value: JsValue): StorageObjectJson = {
@@ -175,7 +178,8 @@ object Formats extends DefaultJsonProtocol {
}
}
- private implicit val bucketListResultJsonReads = jsonFormat4(BucketListResultJson.apply)
+ private implicit val bucketListResultJsonReads: RootJsonFormat[BucketListResultJson] =
+ jsonFormat4(BucketListResultJson.apply)
implicit object RewriteResponseReads extends RootJsonReader[RewriteResponse] {
override def read(json: JsValue): RewriteResponse = {
diff --git a/google-cloud-storage/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/storage/impl/GCStorageStream.scala b/google-cloud-storage/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/storage/impl/GCStorageStream.scala
index b67496ea3..63d55bd4b 100644
--- a/google-cloud-storage/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/storage/impl/GCStorageStream.scala
+++ b/google-cloud-storage/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/storage/impl/GCStorageStream.scala
@@ -14,6 +14,7 @@
package org.apache.pekko.stream.connectors.googlecloud.storage.impl
import org.apache.pekko
+import pekko.actor.ActorSystem
import pekko.annotation.InternalApi
import pekko.dispatch.ExecutionContexts
import pekko.dispatch.ExecutionContexts.parasitic
@@ -289,7 +290,7 @@ import scala.concurrent.{ ExecutionContext, Future }
@nowarn("msg=deprecated")
private def resolveSettings(mat: Materializer, attr: Attributes) = {
- implicit val sys = mat.system
+ implicit val sys: ActorSystem = mat.system
val legacySettings = attr
.get[GCStorageSettingsValue]
.map(_.settings)
@@ -334,7 +335,7 @@ import scala.concurrent.{ ExecutionContext, Future }
}
private def resolveGCSSettings(mat: Materializer, attr: Attributes): GCSSettings = {
- implicit val sys = mat.system
+ implicit val sys: ActorSystem = mat.system
attr
.get[GCSSettingsValue]
.map(_.settings)
diff --git a/google-cloud-storage/src/test/scala/org/apache/pekko/stream/connectors/googlecloud/storage/WithMaterializerGlobal.scala b/google-cloud-storage/src/test/scala/org/apache/pekko/stream/connectors/googlecloud/storage/WithMaterializerGlobal.scala
index eb046720a..787885b91 100644
--- a/google-cloud-storage/src/test/scala/org/apache/pekko/stream/connectors/googlecloud/storage/WithMaterializerGlobal.scala
+++ b/google-cloud-storage/src/test/scala/org/apache/pekko/stream/connectors/googlecloud/storage/WithMaterializerGlobal.scala
@@ -29,7 +29,7 @@ trait WithMaterializerGlobal
with ScalaFutures
with IntegrationPatience
with Matchers {
- implicit val actorSystem = ActorSystem("test")
+ implicit val actorSystem: ActorSystem = ActorSystem("test")
implicit val ec: ExecutionContext = actorSystem.dispatcher
override protected def afterAll(): Unit = {
diff --git a/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/ResumableUpload.scala b/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/ResumableUpload.scala
index f50c921b9..8dbc91cc2 100644
--- a/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/ResumableUpload.scala
+++ b/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/ResumableUpload.scala
@@ -56,7 +56,7 @@ private[connectors] object ResumableUpload {
Sink
.fromMaterializer { (mat, attr) =>
import mat.executionContext
- implicit val materializer = mat
+ implicit val materializer: Materializer = mat
implicit val settings: GoogleSettings = GoogleAttributes.resolveSettings(mat, attr)
val uploadChunkSize = settings.requestSettings.uploadChunkSize
@@ -96,25 +96,24 @@ private[connectors] object ResumableUpload {
private def initiateSession(request: HttpRequest)(implicit mat: Materializer,
settings: GoogleSettings): Future[Uri] = {
- implicit val system: ActorSystem = mat.system
import implicits._
- implicit val um = Unmarshaller.withMaterializer { implicit ec => implicit mat => response: HttpResponse =>
- response.discardEntityBytes().future.map { _ =>
- response.header[Location].fold(throw InvalidResponseException(ErrorInfo("No Location header")))(_.uri)
- }
- }.withDefaultRetry
+ implicit val um: FromResponseUnmarshaller[Uri] =
+ Unmarshaller.withMaterializer { implicit ec => implicit mat => (response: HttpResponse) =>
+ response.discardEntityBytes().future.map { _ =>
+ response.header[Location].fold(throw InvalidResponseException(ErrorInfo("No Location header")))(_.uri)
+ }
+ }.withDefaultRetry
- GoogleHttp().singleAuthenticatedRequest[Uri](request)
+ GoogleHttp(mat.system).singleAuthenticatedRequest[Uri](request)
}
private final case class DoNotRetry(ex: Throwable) extends Throwable(ex) with NoStackTrace
private def uploadChunk[T: FromResponseUnmarshaller](
request: HttpRequest)(implicit mat: Materializer): Flow[Either[T, MaybeLast[Chunk]], Try[Option[T]], NotUsed] = {
- implicit val system: ActorSystem = mat.system
- val um = Unmarshaller.withMaterializer { implicit ec => implicit mat => response: HttpResponse =>
+ val um = Unmarshaller.withMaterializer { implicit ec => implicit mat => (response: HttpResponse) =>
response.status match {
case PermanentRedirect =>
response.discardEntityBytes().future.map(_ => None)
@@ -127,7 +126,8 @@ private[connectors] object ResumableUpload {
val uri = request.uri
Flow[HttpRequest]
.map((_, ()))
- .via(GoogleHttp().cachedHostConnectionPoolWithContext(uri.authority.host.address, uri.effectivePort)(um))
+ .via(GoogleHttp(mat.system).cachedHostConnectionPoolWithContext(uri.authority.host.address, uri.effectivePort)(
+ um))
.map(_._1.recoverWith { case DoNotRetry(ex) => Failure(ex) })
}
@@ -147,30 +147,30 @@ private[connectors] object ResumableUpload {
request: HttpRequest,
chunk: Future[MaybeLast[Chunk]])(
implicit mat: Materializer, settings: GoogleSettings): Future[Either[T, MaybeLast[Chunk]]] = {
- implicit val system: ActorSystem = mat.system
import implicits._
- implicit val um = Unmarshaller.withMaterializer { implicit ec => implicit mat => response: HttpResponse =>
- response.status match {
- case OK | Created => Unmarshal(response).to[T].map(Left(_))
- case PermanentRedirect =>
- response.discardEntityBytes().future.map { _ =>
- Right(
- response
- .header[Range]
- .flatMap(_.ranges.headOption)
- .collect {
- case Slice(_, last) => last + 1
- }.getOrElse(0L))
- }
- case _ => throw InvalidResponseException(ErrorInfo(response.status.value, response.status.defaultMessage))
- }
- }.withDefaultRetry
+ implicit val um: FromResponseUnmarshaller[Either[T, Long]] =
+ Unmarshaller.withMaterializer { implicit ec => implicit mat => (response: HttpResponse) =>
+ response.status match {
+ case OK | Created => Unmarshal(response).to[T].map(Left(_))
+ case PermanentRedirect =>
+ response.discardEntityBytes().future.map { _ =>
+ Right(
+ response
+ .header[Range]
+ .flatMap(_.ranges.headOption)
+ .collect {
+ case Slice(_, last) => last + 1
+ }.getOrElse(0L))
+ }
+ case _ => throw InvalidResponseException(ErrorInfo(response.status.value, response.status.defaultMessage))
+ }
+ }.withDefaultRetry
import mat.executionContext
chunk.flatMap {
case maybeLast @ MaybeLast(Chunk(bytes, position)) =>
- GoogleHttp()
+ GoogleHttp(mat.system)
.singleAuthenticatedRequest[Either[T, Long]](request.addHeader(statusRequestHeader))
.map {
case Left(result) if maybeLast.isLast => Left(result)
diff --git a/google-common/src/test/scala/org/apache/pekko/stream/connectors/google/auth/GoogleOAuth2Spec.scala b/google-common/src/test/scala/org/apache/pekko/stream/connectors/google/auth/GoogleOAuth2Spec.scala
index 1bd56b790..753e3004a 100644
--- a/google-common/src/test/scala/org/apache/pekko/stream/connectors/google/auth/GoogleOAuth2Spec.scala
+++ b/google-common/src/test/scala/org/apache/pekko/stream/connectors/google/auth/GoogleOAuth2Spec.scala
@@ -46,7 +46,7 @@ class GoogleOAuth2Spec
implicit val executionContext: ExecutionContext = system.dispatcher
implicit val settings: GoogleSettings = GoogleSettings(system)
- implicit val clock = Clock.systemUTC()
+ implicit val clock: Clock = Clock.systemUTC()
lazy val privateKey = {
val inputStream = getClass.getClassLoader.getResourceAsStream("private_pcks8.pem")
diff --git a/google-common/src/test/scala/org/apache/pekko/stream/connectors/google/auth/OAuth2CredentialsSpec.scala b/google-common/src/test/scala/org/apache/pekko/stream/connectors/google/auth/OAuth2CredentialsSpec.scala
index 7d7e2342a..446336dd9 100644
--- a/google-common/src/test/scala/org/apache/pekko/stream/connectors/google/auth/OAuth2CredentialsSpec.scala
+++ b/google-common/src/test/scala/org/apache/pekko/stream/connectors/google/auth/OAuth2CredentialsSpec.scala
@@ -45,7 +45,7 @@ class OAuth2CredentialsSpec
import system.dispatcher
implicit val settings: RequestSettings = GoogleSettings().requestSettings
- implicit val clock = Clock.systemUTC()
+ implicit val clock: Clock = Clock.systemUTC()
final object AccessTokenProvider {
@volatile var accessTokenPromise: Promise[AccessToken] = Promise.failed(new RuntimeException)
diff --git a/google-fcm/src/test/scala/org/apache/pekko/stream/connectors/google/firebase/fcm/v1/impl/FcmSenderSpec.scala b/google-fcm/src/test/scala/org/apache/pekko/stream/connectors/google/firebase/fcm/v1/impl/FcmSenderSpec.scala
index a2d4d4922..ca6c18820 100644
--- a/google-fcm/src/test/scala/org/apache/pekko/stream/connectors/google/firebase/fcm/v1/impl/FcmSenderSpec.scala
+++ b/google-fcm/src/test/scala/org/apache/pekko/stream/connectors/google/firebase/fcm/v1/impl/FcmSenderSpec.scala
@@ -57,7 +57,7 @@ class FcmSenderSpec
implicit val executionContext: ExecutionContext = system.dispatcher
- implicit val conf = FcmSettings()
+ implicit val conf: FcmSettings = FcmSettings()
implicit val settings: GoogleSettings = GoogleSettings().copy(projectId = "projectId")
"FcmSender" should {
diff --git a/project/Dependencies.scala b/project/Dependencies.scala
index ffb1aaf13..828a136a8 100644
--- a/project/Dependencies.scala
+++ b/project/Dependencies.scala
@@ -199,7 +199,6 @@ object Dependencies {
"org.apache.logging.log4j" % "log4j-to-slf4j" % "2.17.1" % Test) ++ JacksonDatabindDependencies)
val GoogleCommon = Seq(
- crossScalaVersions -= Scala3,
libraryDependencies ++= Seq(
"org.apache.pekko" %% "pekko-http" % PekkoHttpVersion,
"org.apache.pekko" %% "pekko-http-spray-json" % PekkoHttpVersion,
@@ -209,7 +208,6 @@ object Dependencies {
) ++ Mockito)
val GoogleBigQuery = Seq(
- crossScalaVersions -= Scala3,
libraryDependencies ++= Seq(
"org.apache.pekko" %% "pekko-http" % PekkoHttpVersion,
"org.apache.pekko" %% "pekko-http-jackson" % PekkoHttpVersion % Provided,
@@ -236,7 +234,6 @@ object Dependencies {
"org.apache.pekko" %% "pekko-discovery" % PekkoVersion) ++ Mockito)
val GooglePubSub = Seq(
- crossScalaVersions -= Scala3,
libraryDependencies ++= Seq(
"org.apache.pekko" %% "pekko-http" % PekkoHttpVersion,
"org.apache.pekko" %% "pekko-http-spray-json" % PekkoHttpVersion,
@@ -255,13 +252,11 @@ object Dependencies {
"org.apache.pekko" %% "pekko-discovery" % PekkoVersion))
val GoogleFcm = Seq(
- crossScalaVersions -= Scala3,
libraryDependencies ++= Seq(
"org.apache.pekko" %% "pekko-http" % PekkoHttpVersion,
"org.apache.pekko" %% "pekko-http-spray-json" % PekkoHttpVersion) ++ Mockito)
val GoogleStorage = Seq(
- crossScalaVersions -= Scala3,
libraryDependencies ++= Seq(
"org.apache.pekko" %% "pekko-http" % PekkoHttpVersion,
"org.apache.pekko" %% "pekko-http-spray-json" % PekkoHttpVersion,
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pekko.apache.org
For additional commands, e-mail: commits-help@pekko.apache.org
[incubator-pekko-connectors] 01/18: try scala 3 (#123)
Posted by fa...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
fanningpj pushed a commit to branch scala3
in repository https://gitbox.apache.org/repos/asf/incubator-pekko-connectors.git
commit 311075c88887e08a0dbc917de6c2d61c670769a7
Author: PJ Fanning <pj...@users.noreply.github.com>
AuthorDate: Tue May 30 14:44:18 2023 +0100
try scala 3 (#123)
---
.../amqp/impl/AmqpReplyToSinkStage.scala | 4 +-
.../connectors/amqp/impl/AmqpRpcFlowStage.scala | 5 +-
.../connectors/amqp/impl/AmqpSimpleFlowStage.scala | 4 +-
.../connectors/amqp/scaladsl/AmqpSource.scala | 4 +-
.../test/scala/docs/scaladsl/AmqpDocsSpec.scala | 2 +-
.../pekko/stream/connectors/amqp/AmqpSpec.scala | 6 +-
...AmqpGraphStageLogicConnectionShutdownSpec.scala | 9 ++-
.../docs/scaladsl/EventBridgePublisherSpec.scala | 2 +-
.../scala/docs/scaladsl/AwsLambdaFlowSpec.scala | 7 +-
.../storagequeue/javadsl/AzureQueueSink.scala | 2 +-
.../cassandra/javadsl/CassandraSession.scala | 2 +-
.../cassandra/scaladsl/CassandraLifecycle.scala | 5 +-
.../couchbase/scaladsl/CouchbaseFlow.scala | 10 +--
.../couchbase/scaladsl/DiscoverySupport.scala | 6 +-
.../stream/connectors/csv/scaladsl/CsvBench.scala | 9 ++-
csv/src/test/scala/docs/scaladsl/CsvSpec.scala | 2 +-
.../eip/scaladsl/PassThroughExamples.scala | 4 +-
.../src/test/scala/docs/scaladsl/ExampleSpec.scala | 3 +-
.../scaladsl/ElasticsearchConnectorBehaviour.scala | 6 +-
.../docs/scaladsl/ElasticsearchSpecUtils.scala | 2 +-
.../scala/docs/scaladsl/ElasticsearchV5Spec.scala | 18 ++---
.../scala/docs/scaladsl/ElasticsearchV7Spec.scala | 18 ++---
.../scaladsl/OpensearchConnectorBehaviour.scala | 6 +-
.../scala/docs/scaladsl/OpensearchV1Spec.scala | 18 ++---
.../connectors/file/javadsl/LogRotatorSink.scala | 33 +++++----
.../connectors/file/scaladsl/LogRotatorSink.scala | 2 +-
.../scala/docs/scaladsl/LogRotatorSinkSpec.scala | 4 +-
.../stream/connectors/ftp/CommonFtpStageSpec.scala | 13 ++--
.../test/scala/docs/scaladsl/GeodeBaseSpec.scala | 2 +-
.../googlecloud/bigquery/BigQueryException.scala | 2 +-
.../bigquery/model/TableDataJsonProtocol.scala | 5 +-
.../bigquery/scaladsl/BigQueryDatasets.scala | 4 +-
.../bigquery/scaladsl/BigQueryJobs.scala | 8 +--
.../bigquery/scaladsl/BigQueryQueries.scala | 11 +--
.../bigquery/scaladsl/BigQueryTableData.scala | 7 +-
.../bigquery/scaladsl/BigQueryTables.scala | 4 +-
.../bigquery/scaladsl/BigQueryQueriesSpec.scala | 2 +-
.../test/scala/docs/scaladsl/IntegrationSpec.scala | 2 +-
.../googlecloud/pubsub/impl/PubSubApi.scala | 16 ++---
.../test/scala/docs/scaladsl/ExampleUsage.scala | 2 +-
.../test/scala/docs/scaladsl/IntegrationSpec.scala | 2 +-
.../googlecloud/pubsub/GooglePubSubSpec.scala | 4 +-
.../googlecloud/pubsub/impl/PubSubApiSpec.scala | 2 +-
.../googlecloud/storage/impl/Formats.scala | 17 +++--
.../googlecloud/storage/impl/GCStorageStream.scala | 8 +--
.../googlecloud/storage/GCSExtSpec.scala | 2 +-
.../googlecloud/storage/GCStorageExtSpec.scala | 2 +-
.../storage/WithMaterializerGlobal.scala | 4 +-
.../connectors/google/PaginatedRequest.scala | 5 +-
.../stream/connectors/google/ResumableUpload.scala | 9 +--
.../google/auth/GoogleComputeMetadata.scala | 5 +-
.../connectors/google/auth/GoogleOAuth2.scala | 5 +-
.../google/auth/GoogleOAuth2Credentials.scala | 2 +-
.../google/auth/GoogleOAuth2Exception.scala | 3 +-
.../google/auth/ServiceAccountCredentials.scala | 2 +-
.../google/auth/UserAccessCredentials.scala | 2 +-
.../google/auth/UserAccessMetadata.scala | 3 +-
.../stream/connectors/google/http/GoogleHttp.scala | 6 +-
.../connectors/google/PaginatedRequestSpec.scala | 2 +-
.../connectors/google/ResumableUploadSpec.scala | 2 +-
.../connectors/google/auth/GoogleOAuth2Spec.scala | 8 +--
.../google/auth/OAuth2CredentialsSpec.scala | 3 +-
.../connectors/google/http/GoogleHttpSpec.scala | 4 +-
.../google/firebase/fcm/impl/FcmFlows.scala | 4 +-
.../google/firebase/fcm/impl/FcmJsonSupport.scala | 10 +--
.../firebase/fcm/v1/impl/FcmJsonSupport.scala | 4 +-
.../src/test/scala/docs/scaladsl/FcmExamples.scala | 4 +-
.../firebase/fcm/v1/impl/FcmSenderSpec.scala | 4 +-
.../connectors/hbase/impl/HBaseFlowStage.scala | 2 +-
.../connectors/hbase/impl/HBaseSourceStage.scala | 4 +-
.../test/scala/docs/scaladsl/HBaseStageSpec.scala | 2 +-
.../test/scala/docs/scaladsl/HdfsWriterSpec.scala | 2 +-
.../huawei/pushkit/impl/PushKitJsonSupport.scala | 2 +-
.../test/scala/docs/scaladsl/PushKitExamples.scala | 4 +-
.../huawei/pushkit/impl/HmsTokenApiSpec.scala | 2 +-
.../huawei/pushkit/impl/PushKitSenderSpec.scala | 2 +-
.../src/test/scala/docs/scaladsl/FlowSpec.scala | 6 +-
.../scala/docs/scaladsl/InfluxDbSourceSpec.scala | 2 +-
.../test/scala/docs/scaladsl/InfluxDbSpec.scala | 4 +-
.../connectors/ironmq/impl/IronMqPullStage.scala | 4 +-
.../stream/connectors/ironmq/IronMqSpec.scala | 2 +-
.../scaladsl/JmsBufferedAckConnectorsSpec.scala | 2 +-
.../docs/scaladsl/JmsIbmmqConnectorsSpec.scala | 2 +-
.../scala/docs/scaladsl/JmsTxConnectorsSpec.scala | 2 +-
.../pekko/stream/connectors/jms/JmsSpec.scala | 2 +-
.../jms/scaladsl/JmsAckConnectorsSpec.scala | 2 +-
.../stream/connectors/kinesis/ShardIterator.scala | 2 +-
.../kinesis/KinesisSchedulerSourceSpec.scala | 36 +++++-----
.../test/scala/docs/scaladsl/MongoSinkSpec.scala | 9 +--
.../test/scala/docs/scaladsl/MongoSourceSpec.scala | 4 +-
.../test/scala/docs/scaladsl/OrientDbSpec.scala | 12 ++--
.../scala/docs/scaladsl/PravegaReadWriteDocs.scala | 12 ++--
.../scala/docs/scaladsl/PravegaSettingsSpec.scala | 4 +-
.../src/test/scala/docs/scaladsl/Serializers.scala | 6 +-
project/Common.scala | 24 +++++--
project/Dependencies.scala | 32 ++++++++-
.../stream/connectors/reference/Resource.scala | 2 +-
.../connectors/s3/impl/HttpRequestsSpec.scala | 79 +++++++++++++---------
.../stream/connectors/s3/impl/S3StreamSpec.scala | 4 +-
.../connectors/s3/impl/auth/SignerSpec.scala | 2 +-
.../src/test/scala/docs/scaladsl/DocSnippets.scala | 22 +++---
slick/src/test/scala/docs/scaladsl/SlickSpec.scala | 10 +--
.../scala/docs/scaladsl/SnsPublisherSpec.scala | 2 +-
solr/src/test/scala/docs/scaladsl/SolrSpec.scala | 32 ++++-----
sqs/src/test/scala/docs/scaladsl/SqsAckSpec.scala | 8 +--
.../test/scala/docs/scaladsl/SqsSourceSpec.scala | 2 +-
.../test/scala/docs/scaladsl/EventSourceSpec.scala | 8 +--
udp/src/test/scala/docs/scaladsl/UdpSpec.scala | 4 +-
.../scaladsl/UnixDomainSocket.scala | 2 +-
109 files changed, 416 insertions(+), 349 deletions(-)
diff --git a/amqp/src/main/scala/org/apache/pekko/stream/connectors/amqp/impl/AmqpReplyToSinkStage.scala b/amqp/src/main/scala/org/apache/pekko/stream/connectors/amqp/impl/AmqpReplyToSinkStage.scala
index ffe30b6dd..e012e5e1d 100644
--- a/amqp/src/main/scala/org/apache/pekko/stream/connectors/amqp/impl/AmqpReplyToSinkStage.scala
+++ b/amqp/src/main/scala/org/apache/pekko/stream/connectors/amqp/impl/AmqpReplyToSinkStage.scala
@@ -28,7 +28,7 @@ import scala.concurrent.{ Future, Promise }
* the queue named in the replyTo options of the message instead of from settings declared at construction.
*/
@InternalApi
-private[amqp] final class AmqpReplyToSinkStage(settings: AmqpReplyToSinkSettings)
+private[amqp] final class AmqpReplyToSinkStage(replyToSinkSettings: AmqpReplyToSinkSettings)
extends GraphStageWithMaterializedValue[SinkShape[WriteMessage], Future[Done]] { stage =>
val in = Inlet[WriteMessage]("AmqpReplyToSink.in")
@@ -41,7 +41,7 @@ private[amqp] final class AmqpReplyToSinkStage(settings: AmqpReplyToSinkSettings
override def createLogicAndMaterializedValue(inheritedAttributes: Attributes): (GraphStageLogic, Future[Done]) = {
val streamCompletion = Promise[Done]()
(new GraphStageLogic(shape) with AmqpConnectorLogic {
- override val settings = stage.settings
+ override val settings: AmqpReplyToSinkSettings = stage.replyToSinkSettings
override def whenConnected(): Unit = pull(in)
diff --git a/amqp/src/main/scala/org/apache/pekko/stream/connectors/amqp/impl/AmqpRpcFlowStage.scala b/amqp/src/main/scala/org/apache/pekko/stream/connectors/amqp/impl/AmqpRpcFlowStage.scala
index 621d97b7d..289ff27eb 100644
--- a/amqp/src/main/scala/org/apache/pekko/stream/connectors/amqp/impl/AmqpRpcFlowStage.scala
+++ b/amqp/src/main/scala/org/apache/pekko/stream/connectors/amqp/impl/AmqpRpcFlowStage.scala
@@ -37,7 +37,8 @@ import scala.util.Success
* can be overridden per message by including `expectedReplies` in the the header of the [[pekko.stream.connectors.amqp.WriteMessage]]
*/
@InternalApi
-private[amqp] final class AmqpRpcFlowStage(settings: AmqpWriteSettings, bufferSize: Int, responsesPerMessage: Int = 1)
+private[amqp] final class AmqpRpcFlowStage(writeSettings: AmqpWriteSettings, bufferSize: Int,
+ responsesPerMessage: Int = 1)
extends GraphStageWithMaterializedValue[FlowShape[WriteMessage, CommittableReadResult], Future[String]] {
stage =>
@@ -53,7 +54,7 @@ private[amqp] final class AmqpRpcFlowStage(settings: AmqpWriteSettings, bufferSi
val streamCompletion = Promise[String]()
(new GraphStageLogic(shape) with AmqpConnectorLogic {
- override val settings = stage.settings
+ override val settings: AmqpWriteSettings = stage.writeSettings
private val exchange = settings.exchange.getOrElse("")
private val routingKey = settings.routingKey.getOrElse("")
private val queue = mutable.Queue[CommittableReadResult]()
diff --git a/amqp/src/main/scala/org/apache/pekko/stream/connectors/amqp/impl/AmqpSimpleFlowStage.scala b/amqp/src/main/scala/org/apache/pekko/stream/connectors/amqp/impl/AmqpSimpleFlowStage.scala
index 69b772d3a..5d24b4447 100644
--- a/amqp/src/main/scala/org/apache/pekko/stream/connectors/amqp/impl/AmqpSimpleFlowStage.scala
+++ b/amqp/src/main/scala/org/apache/pekko/stream/connectors/amqp/impl/AmqpSimpleFlowStage.scala
@@ -32,7 +32,7 @@ import scala.concurrent.{ Future, Promise }
* instead of complete [[WriteResult]] (possibly it would be less confusing for users), but [[WriteResult]] is used
* for consistency with other variants and to make the flow ready for any possible future [[WriteResult]] extensions.
*/
-@InternalApi private[amqp] final class AmqpSimpleFlowStage[T](settings: AmqpWriteSettings)
+@InternalApi private[amqp] final class AmqpSimpleFlowStage[T](writeSettings: AmqpWriteSettings)
extends GraphStageWithMaterializedValue[FlowShape[(WriteMessage, T), (WriteResult, T)], Future[Done]] { stage =>
private val in: Inlet[(WriteMessage, T)] = Inlet(Logging.simpleName(this) + ".in")
@@ -45,7 +45,7 @@ import scala.concurrent.{ Future, Promise }
override def createLogicAndMaterializedValue(inheritedAttributes: Attributes): (GraphStageLogic, Future[Done]) = {
val streamCompletion = Promise[Done]()
- (new AbstractAmqpFlowStageLogic[T](settings, streamCompletion, shape) {
+ (new AbstractAmqpFlowStageLogic[T](writeSettings, streamCompletion, shape) {
override def publish(message: WriteMessage, passThrough: T): Unit = {
log.debug("Publishing message {}.", message)
diff --git a/amqp/src/main/scala/org/apache/pekko/stream/connectors/amqp/scaladsl/AmqpSource.scala b/amqp/src/main/scala/org/apache/pekko/stream/connectors/amqp/scaladsl/AmqpSource.scala
index 5e2fa8d16..9cca3ac32 100644
--- a/amqp/src/main/scala/org/apache/pekko/stream/connectors/amqp/scaladsl/AmqpSource.scala
+++ b/amqp/src/main/scala/org/apache/pekko/stream/connectors/amqp/scaladsl/AmqpSource.scala
@@ -20,8 +20,10 @@ import pekko.stream.connectors.amqp.impl
import pekko.stream.connectors.amqp.{ AmqpSourceSettings, ReadResult }
import pekko.stream.scaladsl.Source
+import scala.concurrent.ExecutionContext
+
object AmqpSource {
- private implicit val executionContext = ExecutionContexts.parasitic
+ private implicit val executionContext: ExecutionContext = ExecutionContexts.parasitic
/**
* Scala API: Convenience for "at-most once delivery" semantics. Each message is acked to RabbitMQ
diff --git a/amqp/src/test/scala/docs/scaladsl/AmqpDocsSpec.scala b/amqp/src/test/scala/docs/scaladsl/AmqpDocsSpec.scala
index 6eabe9944..dab24b6a3 100644
--- a/amqp/src/test/scala/docs/scaladsl/AmqpDocsSpec.scala
+++ b/amqp/src/test/scala/docs/scaladsl/AmqpDocsSpec.scala
@@ -33,7 +33,7 @@ import scala.collection.immutable
*/
class AmqpDocsSpec extends AmqpSpec {
- override implicit val patienceConfig = PatienceConfig(10.seconds)
+ override implicit val patienceConfig: PatienceConfig = PatienceConfig(10.seconds)
val businessLogic: CommittableReadResult => Future[CommittableReadResult] = Future.successful(_)
diff --git a/amqp/src/test/scala/org/apache/pekko/stream/connectors/amqp/AmqpSpec.scala b/amqp/src/test/scala/org/apache/pekko/stream/connectors/amqp/AmqpSpec.scala
index e472ef917..f51e5a3b2 100644
--- a/amqp/src/test/scala/org/apache/pekko/stream/connectors/amqp/AmqpSpec.scala
+++ b/amqp/src/test/scala/org/apache/pekko/stream/connectors/amqp/AmqpSpec.scala
@@ -22,10 +22,12 @@ import org.scalatest.concurrent.ScalaFutures
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
+import scala.concurrent.ExecutionContext
+
abstract class AmqpSpec extends AnyWordSpec with Matchers with BeforeAndAfterAll with ScalaFutures with LogCapturing {
- implicit val system = ActorSystem(this.getClass.getSimpleName)
- implicit val executionContext = ExecutionContexts.parasitic
+ implicit val system: ActorSystem = ActorSystem(this.getClass.getSimpleName)
+ implicit val executionContext: ExecutionContext = ExecutionContexts.parasitic
override protected def afterAll(): Unit =
system.terminate()
diff --git a/amqp/src/test/scala/org/apache/pekko/stream/connectors/amqp/scaladsl/AmqpGraphStageLogicConnectionShutdownSpec.scala b/amqp/src/test/scala/org/apache/pekko/stream/connectors/amqp/scaladsl/AmqpGraphStageLogicConnectionShutdownSpec.scala
index 3240c4b5d..23be429ca 100644
--- a/amqp/src/test/scala/org/apache/pekko/stream/connectors/amqp/scaladsl/AmqpGraphStageLogicConnectionShutdownSpec.scala
+++ b/amqp/src/test/scala/org/apache/pekko/stream/connectors/amqp/scaladsl/AmqpGraphStageLogicConnectionShutdownSpec.scala
@@ -15,7 +15,6 @@ package org.apache.pekko.stream.connectors.amqp.scaladsl
import java.util.concurrent.ExecutorService
import java.util.concurrent.atomic.AtomicInteger
-
import org.apache.pekko
import pekko.actor.ActorSystem
import pekko.dispatch.ExecutionContexts
@@ -33,7 +32,7 @@ import com.rabbitmq.client.{ AddressResolver, Connection, ConnectionFactory, Shu
import org.scalatest.concurrent.ScalaFutures
import org.scalatest.BeforeAndAfterEach
-import scala.concurrent.Future
+import scala.concurrent.{ ExecutionContext, Future }
import scala.concurrent.duration._
import scala.util.control.NonFatal
import org.scalatest.matchers.should.Matchers
@@ -50,8 +49,8 @@ class AmqpGraphStageLogicConnectionShutdownSpec
with BeforeAndAfterEach
with LogCapturing {
- override implicit val patienceConfig = PatienceConfig(10.seconds)
- private implicit val executionContext = ExecutionContexts.parasitic
+ override implicit val patienceConfig: PatienceConfig = PatienceConfig(10.seconds)
+ private implicit val executionContext: ExecutionContext = ExecutionContexts.parasitic
val shutdownsAdded = new AtomicInteger()
val shutdownsRemoved = new AtomicInteger()
@@ -76,7 +75,7 @@ class AmqpGraphStageLogicConnectionShutdownSpec
"registers and unregisters a single connection shutdown hook per graph" in {
// actor system is within this test as it has to be shut down in order
// to verify graph stage termination
- implicit val system = ActorSystem(this.getClass.getSimpleName + System.currentTimeMillis())
+ implicit val system: ActorSystem = ActorSystem(this.getClass.getSimpleName + System.currentTimeMillis())
val connectionFactory = new ConnectionFactory() {
override def newConnection(es: ExecutorService, ar: AddressResolver, name: String): Connection =
diff --git a/aws-event-bridge/src/test/scala/docs/scaladsl/EventBridgePublisherSpec.scala b/aws-event-bridge/src/test/scala/docs/scaladsl/EventBridgePublisherSpec.scala
index 38e70da6c..517831f51 100644
--- a/aws-event-bridge/src/test/scala/docs/scaladsl/EventBridgePublisherSpec.scala
+++ b/aws-event-bridge/src/test/scala/docs/scaladsl/EventBridgePublisherSpec.scala
@@ -28,7 +28,7 @@ import scala.concurrent.duration._
class EventBridgePublisherSpec extends AnyFlatSpec with Matchers with ScalaFutures with IntegrationTestContext {
- implicit val defaultPatience =
+ implicit val defaultPatience: PatienceConfig =
PatienceConfig(timeout = 15.seconds, interval = 100.millis)
"EventBridge Publisher sink" should "send PutEventsEntry message" in {
diff --git a/awslambda/src/test/scala/docs/scaladsl/AwsLambdaFlowSpec.scala b/awslambda/src/test/scala/docs/scaladsl/AwsLambdaFlowSpec.scala
index 1dd83c99a..4cad3b954 100644
--- a/awslambda/src/test/scala/docs/scaladsl/AwsLambdaFlowSpec.scala
+++ b/awslambda/src/test/scala/docs/scaladsl/AwsLambdaFlowSpec.scala
@@ -14,7 +14,6 @@
package docs.scaladsl
import java.util.concurrent.CompletableFuture
-
import org.apache.pekko
import pekko.actor.ActorSystem
import pekko.stream.connectors.awslambda.scaladsl.AwsLambdaFlow
@@ -36,7 +35,7 @@ import software.amazon.awssdk.core.SdkBytes
import software.amazon.awssdk.services.lambda.LambdaAsyncClient
import software.amazon.awssdk.services.lambda.model.{ InvokeRequest, InvokeResponse }
-import scala.concurrent.Await
+import scala.concurrent.{ Await, ExecutionContext }
import scala.concurrent.duration._
class AwsLambdaFlowSpec
@@ -49,9 +48,9 @@ class AwsLambdaFlowSpec
with MockitoSugar
with LogCapturing {
- implicit val ec = system.dispatcher
+ implicit val ec: ExecutionContext = system.dispatcher
- implicit val awsLambdaClient = mock[LambdaAsyncClient]
+ implicit val awsLambdaClient: LambdaAsyncClient = mock[LambdaAsyncClient]
override protected def afterEach(): Unit = {
reset(awsLambdaClient)
diff --git a/azure-storage-queue/src/main/scala/org/apache/pekko/stream/connectors/azure/storagequeue/javadsl/AzureQueueSink.scala b/azure-storage-queue/src/main/scala/org/apache/pekko/stream/connectors/azure/storagequeue/javadsl/AzureQueueSink.scala
index ecca1b8b3..ee5d7d9ee 100644
--- a/azure-storage-queue/src/main/scala/org/apache/pekko/stream/connectors/azure/storagequeue/javadsl/AzureQueueSink.scala
+++ b/azure-storage-queue/src/main/scala/org/apache/pekko/stream/connectors/azure/storagequeue/javadsl/AzureQueueSink.scala
@@ -51,7 +51,7 @@ object AzureQueueWithTimeoutsSink {
* of a [[com.microsoft.azure.storage.queue.CloudQueueMessage]] a [[MessageWithTimeouts]].
*/
def create(cloudQueue: Supplier[CloudQueue]): Sink[MessageWithTimeouts, CompletionStage[Done]] =
- AzureQueueSink.fromFunction { input: MessageWithTimeouts =>
+ AzureQueueSink.fromFunction[MessageWithTimeouts] { input =>
AzureQueueSinkFunctions
.addMessage(() => cloudQueue.get)(input.message, input.timeToLive, input.initialVisibility)
}
diff --git a/cassandra/src/main/scala/org/apache/pekko/stream/connectors/cassandra/javadsl/CassandraSession.scala b/cassandra/src/main/scala/org/apache/pekko/stream/connectors/cassandra/javadsl/CassandraSession.scala
index 1421620ea..a805f5e4f 100644
--- a/cassandra/src/main/scala/org/apache/pekko/stream/connectors/cassandra/javadsl/CassandraSession.scala
+++ b/cassandra/src/main/scala/org/apache/pekko/stream/connectors/cassandra/javadsl/CassandraSession.scala
@@ -83,7 +83,7 @@ final class CassandraSession(@InternalApi private[pekko] val delegate: scaladsl.
onClose: java.lang.Runnable) =
this(system.classicSystem, sessionProvider, executionContext, log, metricsCategory, init, onClose)
- implicit private val ec = delegate.ec
+ implicit private val ec: ExecutionContext = delegate.ec
/**
* Closes the underlying Cassandra session.
diff --git a/cassandra/src/test/scala/org/apache/pekko/stream/connectors/cassandra/scaladsl/CassandraLifecycle.scala b/cassandra/src/test/scala/org/apache/pekko/stream/connectors/cassandra/scaladsl/CassandraLifecycle.scala
index d2113e753..01d67fd96 100644
--- a/cassandra/src/test/scala/org/apache/pekko/stream/connectors/cassandra/scaladsl/CassandraLifecycle.scala
+++ b/cassandra/src/test/scala/org/apache/pekko/stream/connectors/cassandra/scaladsl/CassandraLifecycle.scala
@@ -15,7 +15,6 @@ package org.apache.pekko.stream.connectors.cassandra.scaladsl
import java.util.concurrent.CompletionStage
import java.util.concurrent.atomic.AtomicInteger
-
import org.apache.pekko
import pekko.Done
import pekko.testkit.TestKitBase
@@ -27,7 +26,7 @@ import org.scalatest.concurrent.{ PatienceConfiguration, ScalaFutures }
import scala.collection.immutable
import scala.concurrent.duration._
-import scala.concurrent.{ Await, Future }
+import scala.concurrent.{ Await, ExecutionContext, Future }
import scala.util.control.NonFatal
trait CassandraLifecycleBase {
@@ -71,7 +70,7 @@ trait CassandraLifecycleBase {
executeCql(lifecycleSession, statements.asScala.toList).asJava
def withSchemaMetadataDisabled(block: => Future[Done]): Future[Done] = {
- implicit val ec = lifecycleSession.ec
+ implicit val ec: ExecutionContext = lifecycleSession.ec
lifecycleSession.underlying().flatMap { cqlSession =>
cqlSession.setSchemaMetadataEnabled(false)
val blockResult =
diff --git a/couchbase/src/main/scala/org/apache/pekko/stream/connectors/couchbase/scaladsl/CouchbaseFlow.scala b/couchbase/src/main/scala/org/apache/pekko/stream/connectors/couchbase/scaladsl/CouchbaseFlow.scala
index ebc0f08a8..6a35d171a 100644
--- a/couchbase/src/main/scala/org/apache/pekko/stream/connectors/couchbase/scaladsl/CouchbaseFlow.scala
+++ b/couchbase/src/main/scala/org/apache/pekko/stream/connectors/couchbase/scaladsl/CouchbaseFlow.scala
@@ -29,6 +29,8 @@ import pekko.stream.connectors.couchbase.{
import pekko.stream.scaladsl.Flow
import com.couchbase.client.java.document.{ Document, JsonDocument }
+import scala.concurrent.ExecutionContext
+
/**
* Scala API: Factory methods for Couchbase flows.
*/
@@ -104,7 +106,7 @@ object CouchbaseFlow {
val session = CouchbaseSessionRegistry(materializer.system).sessionFor(sessionSettings, bucketName)
Flow[T]
.mapAsync(writeSettings.parallelism)(doc => {
- implicit val executor = materializer.system.dispatcher
+ implicit val executor: ExecutionContext = materializer.system.dispatcher
session
.flatMap(_.upsertDoc(doc, writeSettings))
.map(_ => CouchbaseWriteSuccess(doc))
@@ -157,7 +159,7 @@ object CouchbaseFlow {
val session = CouchbaseSessionRegistry(materializer.system).sessionFor(sessionSettings, bucketName)
Flow[T]
.mapAsync(writeSettings.parallelism)(doc => {
- implicit val executor = materializer.system.dispatcher
+ implicit val executor: ExecutionContext = materializer.system.dispatcher
session
.flatMap(_.replaceDoc(doc, writeSettings))
.map(_ => CouchbaseWriteSuccess(doc))
@@ -179,7 +181,7 @@ object CouchbaseFlow {
val session = CouchbaseSessionRegistry(materializer.system).sessionFor(sessionSettings, bucketName)
Flow[String]
.mapAsync(writeSettings.parallelism)(id => {
- implicit val executor = materializer.system.dispatcher
+ implicit val executor: ExecutionContext = materializer.system.dispatcher
session
.flatMap(_.remove(id, writeSettings))
.map(_ => id)
@@ -198,7 +200,7 @@ object CouchbaseFlow {
val session = CouchbaseSessionRegistry(materializer.system).sessionFor(sessionSettings, bucketName)
Flow[String]
.mapAsync(writeSettings.parallelism)(id => {
- implicit val executor = materializer.system.dispatcher
+ implicit val executor: ExecutionContext = materializer.system.dispatcher
session
.flatMap(_.remove(id, writeSettings))
.map(_ => CouchbaseDeleteSuccess(id))
diff --git a/couchbase/src/main/scala/org/apache/pekko/stream/connectors/couchbase/scaladsl/DiscoverySupport.scala b/couchbase/src/main/scala/org/apache/pekko/stream/connectors/couchbase/scaladsl/DiscoverySupport.scala
index 57d2ca805..19a323589 100644
--- a/couchbase/src/main/scala/org/apache/pekko/stream/connectors/couchbase/scaladsl/DiscoverySupport.scala
+++ b/couchbase/src/main/scala/org/apache/pekko/stream/connectors/couchbase/scaladsl/DiscoverySupport.scala
@@ -25,7 +25,7 @@ import pekko.util.FutureConverters._
import com.typesafe.config.Config
import scala.collection.immutable
-import scala.concurrent.Future
+import scala.concurrent.{ ExecutionContext, Future }
import scala.concurrent.duration.FiniteDuration
/**
@@ -39,7 +39,7 @@ sealed class DiscoverySupport private {
private def readNodes(
serviceName: String,
lookupTimeout: FiniteDuration)(implicit system: ClassicActorSystemProvider): Future[immutable.Seq[String]] = {
- implicit val ec = system.classicSystem.dispatcher
+ implicit val ec: ExecutionContext = system.classicSystem.dispatcher
val discovery = Discovery(system).discovery
discovery.lookup(serviceName, lookupTimeout).map { resolved =>
resolved.addresses.map(_.host)
@@ -63,7 +63,7 @@ sealed class DiscoverySupport private {
def nodes(
config: Config)(
implicit system: ClassicActorSystemProvider): CouchbaseSessionSettings => Future[CouchbaseSessionSettings] = {
- implicit val ec = system.classicSystem.dispatcher
+ implicit val ec: ExecutionContext = system.classicSystem.dispatcher
settings =>
readNodes(config)
.map { nodes =>
diff --git a/csv-bench/src/main/scala/org/apache/pekko/stream/connectors/csv/scaladsl/CsvBench.scala b/csv-bench/src/main/scala/org/apache/pekko/stream/connectors/csv/scaladsl/CsvBench.scala
index b661296ee..25bcc4fb9 100644
--- a/csv-bench/src/main/scala/org/apache/pekko/stream/connectors/csv/scaladsl/CsvBench.scala
+++ b/csv-bench/src/main/scala/org/apache/pekko/stream/connectors/csv/scaladsl/CsvBench.scala
@@ -5,7 +5,6 @@
package org.apache.pekko.stream.connectors.csv.scaladsl
import java.util.concurrent.TimeUnit
-
import org.apache.pekko
import pekko.NotUsed
import pekko.actor.ActorSystem
@@ -15,7 +14,7 @@ import pekko.util.ByteString
import org.openjdk.jmh.annotations._
import org.openjdk.jmh.infra.Blackhole
-import scala.concurrent.Await
+import scala.concurrent.{ Await, ExecutionContext }
import scala.concurrent.duration.Duration
/**
@@ -50,9 +49,9 @@ import scala.concurrent.duration.Duration
@State(Scope.Benchmark)
class CsvBench {
- implicit val system = ActorSystem()
- implicit val executionContext = system.dispatcher
- implicit val mat = ActorMaterializer()
+ implicit val system: ActorSystem = ActorSystem()
+ implicit val executionContext: ExecutionContext = system.dispatcher
+ implicit val mat: ActorMaterializer = ActorMaterializer()
/**
* Size of [[ByteString]] chunks in bytes.
diff --git a/csv/src/test/scala/docs/scaladsl/CsvSpec.scala b/csv/src/test/scala/docs/scaladsl/CsvSpec.scala
index 276d543ae..41daa7816 100644
--- a/csv/src/test/scala/docs/scaladsl/CsvSpec.scala
+++ b/csv/src/test/scala/docs/scaladsl/CsvSpec.scala
@@ -30,7 +30,7 @@ abstract class CsvSpec
with ScalaFutures
with LogCapturing {
- implicit val system = ActorSystem(this.getClass.getSimpleName)
+ implicit val system: ActorSystem = ActorSystem(this.getClass.getSimpleName)
override protected def afterAll(): Unit =
TestKit.shutdownActorSystem(system)
diff --git a/doc-examples/src/test/scala/org/apache/pekko/stream/connectors/eip/scaladsl/PassThroughExamples.scala b/doc-examples/src/test/scala/org/apache/pekko/stream/connectors/eip/scaladsl/PassThroughExamples.scala
index 50e805258..50bdd127b 100644
--- a/doc-examples/src/test/scala/org/apache/pekko/stream/connectors/eip/scaladsl/PassThroughExamples.scala
+++ b/doc-examples/src/test/scala/org/apache/pekko/stream/connectors/eip/scaladsl/PassThroughExamples.scala
@@ -29,7 +29,7 @@ import org.scalatest.wordspec.AnyWordSpec
class PassThroughExamples extends AnyWordSpec with BeforeAndAfterAll with Matchers with ScalaFutures {
- implicit val system = ActorSystem("Test")
+ implicit val system: ActorSystem = ActorSystem("Test")
"PassThroughFlow" should {
" original message is maintained " in {
@@ -103,7 +103,7 @@ object PassThroughFlow {
//#PassThrough
object PassThroughFlowKafkaCommitExample {
- implicit val system = ActorSystem("Test")
+ implicit val system: ActorSystem = ActorSystem("Test")
def dummy(): Unit = {
// #passThroughKafkaFlow
diff --git a/dynamodb/src/test/scala/docs/scaladsl/ExampleSpec.scala b/dynamodb/src/test/scala/docs/scaladsl/ExampleSpec.scala
index a948391be..475fc019c 100644
--- a/dynamodb/src/test/scala/docs/scaladsl/ExampleSpec.scala
+++ b/dynamodb/src/test/scala/docs/scaladsl/ExampleSpec.scala
@@ -17,15 +17,14 @@ import java.net.URI
import org.apache.pekko
import pekko.NotUsed
+import pekko.actor.ActorSystem
import pekko.stream.connectors.testkit.scaladsl.LogCapturing
import pekko.stream.scaladsl.{ FlowWithContext, SourceWithContext }
import scala.util.{ Failure, Success, Try }
//#init-client
-import org.apache.pekko.actor.ActorSystem
//#init-client
-import org.apache.pekko
import pekko.stream.connectors.dynamodb.DynamoDbOp._
import pekko.stream.connectors.dynamodb.scaladsl._
import pekko.stream.scaladsl.{ Sink, Source }
diff --git a/elasticsearch/src/test/scala/docs/scaladsl/ElasticsearchConnectorBehaviour.scala b/elasticsearch/src/test/scala/docs/scaladsl/ElasticsearchConnectorBehaviour.scala
index 7ec576a4f..33b8c8032 100644
--- a/elasticsearch/src/test/scala/docs/scaladsl/ElasticsearchConnectorBehaviour.scala
+++ b/elasticsearch/src/test/scala/docs/scaladsl/ElasticsearchConnectorBehaviour.scala
@@ -364,7 +364,7 @@ trait ElasticsearchConnectorBehaviour {
val indexName = "sink7"
val createBooks = Source(books)
- .map { book: (String, Book) =>
+ .map { (book: (String, Book)) =>
WriteMessage.createUpsertMessage(id = book._1, source = book._2)
}
.via(
@@ -391,7 +391,7 @@ trait ElasticsearchConnectorBehaviour {
// Update sink7/_doc with the second dataset
val upserts = Source(updatedBooks)
- .map { book: (String, JsObject) =>
+ .map { (book: (String, JsObject)) =>
WriteMessage.createUpsertMessage(id = book._1, source = book._2)
}
.via(
@@ -453,7 +453,7 @@ trait ElasticsearchConnectorBehaviour {
"read and write document-version if configured to do so" in {
case class VersionTestDoc(id: String, name: String, value: Int)
- implicit val formatVersionTestDoc: JsonFormat[VersionTestDoc] = jsonFormat3(VersionTestDoc)
+ implicit val formatVersionTestDoc: JsonFormat[VersionTestDoc] = jsonFormat3(VersionTestDoc.apply)
val indexName = "version-test-scala"
val typeName = "_doc"
diff --git a/elasticsearch/src/test/scala/docs/scaladsl/ElasticsearchSpecUtils.scala b/elasticsearch/src/test/scala/docs/scaladsl/ElasticsearchSpecUtils.scala
index 4236234bc..2c67de274 100644
--- a/elasticsearch/src/test/scala/docs/scaladsl/ElasticsearchSpecUtils.scala
+++ b/elasticsearch/src/test/scala/docs/scaladsl/ElasticsearchSpecUtils.scala
@@ -45,7 +45,7 @@ trait ElasticsearchSpecUtils { this: AnyWordSpec with ScalaFutures =>
case class Book(title: String, shouldSkip: Option[Boolean] = None, price: Int = 10)
- implicit val format: JsonFormat[Book] = jsonFormat3(Book)
+ implicit val format: JsonFormat[Book] = jsonFormat3(Book.apply)
// #define-class
def register(connectionSettings: ElasticsearchConnectionSettings,
diff --git a/elasticsearch/src/test/scala/docs/scaladsl/ElasticsearchV5Spec.scala b/elasticsearch/src/test/scala/docs/scaladsl/ElasticsearchV5Spec.scala
index 3c9fd4132..52b27dc11 100644
--- a/elasticsearch/src/test/scala/docs/scaladsl/ElasticsearchV5Spec.scala
+++ b/elasticsearch/src/test/scala/docs/scaladsl/ElasticsearchV5Spec.scala
@@ -64,7 +64,7 @@ class ElasticsearchV5Spec extends ElasticsearchSpecBase with ElasticsearchSpecUt
constructElasticsearchParams("source", "_doc", ApiVersion.V5),
query = """{"match_all": {}}""",
settings = baseSourceSettings)
- .map { message: ReadResult[spray.json.JsObject] =>
+ .map { (message: ReadResult[spray.json.JsObject]) =>
val book: Book = jsonReader[Book].read(message.source)
WriteMessage.createIndexMessage(message.id, book)
}
@@ -97,7 +97,7 @@ class ElasticsearchV5Spec extends ElasticsearchSpecBase with ElasticsearchSpecUt
constructElasticsearchParams("source", "_doc", ApiVersion.V5),
query = """{"match_all": {}}""",
settings = baseSourceSettings)
- .map { message: ReadResult[Book] =>
+ .map { (message: ReadResult[Book]) =>
WriteMessage.createIndexMessage(message.id, message.source)
}
.runWith(
@@ -129,7 +129,7 @@ class ElasticsearchV5Spec extends ElasticsearchSpecBase with ElasticsearchSpecUt
constructElasticsearchParams("source", "_doc", ApiVersion.V5),
query = """{"match_all": {}}""",
settings = baseSourceSettings)
- .map { message: ReadResult[Book] =>
+ .map { (message: ReadResult[Book]) =>
WriteMessage.createIndexMessage(message.id, message.source)
}
.via(
@@ -200,7 +200,7 @@ class ElasticsearchV5Spec extends ElasticsearchSpecBase with ElasticsearchSpecUt
val indexName = "sink6"
val kafkaToEs = Source(messagesFromKafka) // Assume we get this from Kafka
- .map { kafkaMessage: KafkaMessage =>
+ .map { (kafkaMessage: KafkaMessage) =>
val book = kafkaMessage.book
val id = book.title
@@ -251,7 +251,7 @@ class ElasticsearchV5Spec extends ElasticsearchSpecBase with ElasticsearchSpecUt
val indexName = "sink6-bulk"
val kafkaToEs = Source(messagesFromKafka) // Assume we get this from Kafka
- .map { kafkaMessage: KafkaMessage =>
+ .map { (kafkaMessage: KafkaMessage) =>
val book = kafkaMessage.book
val id = book.title
@@ -306,7 +306,7 @@ class ElasticsearchV5Spec extends ElasticsearchSpecBase with ElasticsearchSpecUt
val indexName = "sink6-nop"
val kafkaToEs = Source(messagesFromKafka) // Assume we get this from Kafka
- .map { kafkaMessage: KafkaMessage =>
+ .map { (kafkaMessage: KafkaMessage) =>
val book = kafkaMessage.book
val id = book.title
@@ -363,7 +363,7 @@ class ElasticsearchV5Spec extends ElasticsearchSpecBase with ElasticsearchSpecUt
register(connectionSettings, indexName, "dummy", 10) // need to create index else exception in reading below
val kafkaToEs = Source(messagesFromKafka) // Assume we get this from Kafka
- .map { kafkaMessage: KafkaMessage =>
+ .map { (kafkaMessage: KafkaMessage) =>
val book = kafkaMessage.book
val id = book.title
@@ -447,7 +447,7 @@ class ElasticsearchV5Spec extends ElasticsearchSpecBase with ElasticsearchSpecUt
constructElasticsearchParams("source", "_doc", ApiVersion.V5),
query = """{"match_all": {}}""",
settings = baseSourceSettings)
- .map { message: ReadResult[Book] =>
+ .map { (message: ReadResult[Book]) =>
WriteMessage
.createIndexMessage(message.id, message.source)
.withIndexName(customIndexName) // Setting the index-name to use for this document
@@ -480,7 +480,7 @@ class ElasticsearchV5Spec extends ElasticsearchSpecBase with ElasticsearchSpecUt
case class TestDoc(id: String, a: String, b: Option[String], c: String)
// #custom-search-params
- implicit val formatVersionTestDoc: JsonFormat[TestDoc] = jsonFormat4(TestDoc)
+ implicit val formatVersionTestDoc: JsonFormat[TestDoc] = jsonFormat4(TestDoc.apply)
val indexName = "custom-search-params-test-scala"
val typeName = "_doc"
diff --git a/elasticsearch/src/test/scala/docs/scaladsl/ElasticsearchV7Spec.scala b/elasticsearch/src/test/scala/docs/scaladsl/ElasticsearchV7Spec.scala
index 28f064cc8..1d2522454 100644
--- a/elasticsearch/src/test/scala/docs/scaladsl/ElasticsearchV7Spec.scala
+++ b/elasticsearch/src/test/scala/docs/scaladsl/ElasticsearchV7Spec.scala
@@ -56,7 +56,7 @@ class ElasticsearchV7Spec extends ElasticsearchSpecBase with ElasticsearchSpecUt
constructElasticsearchParams("source", "_doc", ApiVersion.V7),
query = """{"match_all": {}}""",
settings = baseSourceSettings)
- .map { message: ReadResult[spray.json.JsObject] =>
+ .map { (message: ReadResult[spray.json.JsObject]) =>
val book: Book = jsonReader[Book].read(message.source)
WriteMessage.createIndexMessage(message.id, book)
}
@@ -88,7 +88,7 @@ class ElasticsearchV7Spec extends ElasticsearchSpecBase with ElasticsearchSpecUt
constructElasticsearchParams("source", "_doc", ApiVersion.V7),
query = """{"match_all": {}}""",
settings = baseSourceSettings)
- .map { message: ReadResult[Book] =>
+ .map { (message: ReadResult[Book]) =>
WriteMessage.createIndexMessage(message.id, message.source)
}
.runWith(
@@ -119,7 +119,7 @@ class ElasticsearchV7Spec extends ElasticsearchSpecBase with ElasticsearchSpecUt
constructElasticsearchParams("source", "_doc", ApiVersion.V7),
query = """{"match_all": {}}""",
settings = baseSourceSettings)
- .map { message: ReadResult[Book] =>
+ .map { (message: ReadResult[Book]) =>
WriteMessage.createIndexMessage(message.id, message.source)
}
.via(
@@ -187,7 +187,7 @@ class ElasticsearchV7Spec extends ElasticsearchSpecBase with ElasticsearchSpecUt
val indexName = "sink6"
val kafkaToEs = Source(messagesFromKafka) // Assume we get this from Kafka
- .map { kafkaMessage: KafkaMessage =>
+ .map { (kafkaMessage: KafkaMessage) =>
val book = kafkaMessage.book
val id = book.title
@@ -237,7 +237,7 @@ class ElasticsearchV7Spec extends ElasticsearchSpecBase with ElasticsearchSpecUt
val indexName = "sink6-bulk"
val kafkaToEs = Source(messagesFromKafka) // Assume we get this from Kafka
- .map { kafkaMessage: KafkaMessage =>
+ .map { (kafkaMessage: KafkaMessage) =>
val book = kafkaMessage.book
val id = book.title
@@ -291,7 +291,7 @@ class ElasticsearchV7Spec extends ElasticsearchSpecBase with ElasticsearchSpecUt
val indexName = "sink6-nop"
val kafkaToEs = Source(messagesFromKafka) // Assume we get this from Kafka
- .map { kafkaMessage: KafkaMessage =>
+ .map { (kafkaMessage: KafkaMessage) =>
val book = kafkaMessage.book
val id = book.title
@@ -347,7 +347,7 @@ class ElasticsearchV7Spec extends ElasticsearchSpecBase with ElasticsearchSpecUt
register(connectionSettings, indexName, "dummy", 10) // need to create index else exception in reading below
val kafkaToEs = Source(messagesFromKafka) // Assume we get this from Kafka
- .map { kafkaMessage: KafkaMessage =>
+ .map { (kafkaMessage: KafkaMessage) =>
val book = kafkaMessage.book
val id = book.title
@@ -428,7 +428,7 @@ class ElasticsearchV7Spec extends ElasticsearchSpecBase with ElasticsearchSpecUt
constructElasticsearchParams("source", "_doc", ApiVersion.V7),
query = """{"match_all": {}}""",
settings = baseSourceSettings)
- .map { message: ReadResult[Book] =>
+ .map { (message: ReadResult[Book]) =>
WriteMessage
.createIndexMessage(message.id, message.source)
.withIndexName(customIndexName) // Setting the index-name to use for this document
@@ -458,7 +458,7 @@ class ElasticsearchV7Spec extends ElasticsearchSpecBase with ElasticsearchSpecUt
case class TestDoc(id: String, a: String, b: Option[String], c: String)
- implicit val formatVersionTestDoc: JsonFormat[TestDoc] = jsonFormat4(TestDoc)
+ implicit val formatVersionTestDoc: JsonFormat[TestDoc] = jsonFormat4(TestDoc.apply)
val indexName = "custom-search-params-test-scala"
val typeName = "_doc"
diff --git a/elasticsearch/src/test/scala/docs/scaladsl/OpensearchConnectorBehaviour.scala b/elasticsearch/src/test/scala/docs/scaladsl/OpensearchConnectorBehaviour.scala
index 72ca863c0..77c513ee1 100644
--- a/elasticsearch/src/test/scala/docs/scaladsl/OpensearchConnectorBehaviour.scala
+++ b/elasticsearch/src/test/scala/docs/scaladsl/OpensearchConnectorBehaviour.scala
@@ -364,7 +364,7 @@ trait OpensearchConnectorBehaviour {
val indexName = "sink7"
val createBooks = Source(books)
- .map { book: (String, Book) =>
+ .map { (book: (String, Book)) =>
WriteMessage.createUpsertMessage(id = book._1, source = book._2)
}
.via(
@@ -391,7 +391,7 @@ trait OpensearchConnectorBehaviour {
// Update sink7/_doc with the second dataset
val upserts = Source(updatedBooks)
- .map { book: (String, JsObject) =>
+ .map { (book: (String, JsObject)) =>
WriteMessage.createUpsertMessage(id = book._1, source = book._2)
}
.via(
@@ -453,7 +453,7 @@ trait OpensearchConnectorBehaviour {
"read and write document-version if configured to do so" in {
case class VersionTestDoc(id: String, name: String, value: Int)
- implicit val formatVersionTestDoc: JsonFormat[VersionTestDoc] = jsonFormat3(VersionTestDoc)
+ implicit val formatVersionTestDoc: JsonFormat[VersionTestDoc] = jsonFormat3(VersionTestDoc.apply)
val indexName = "version-test-scala"
val typeName = "_doc"
diff --git a/elasticsearch/src/test/scala/docs/scaladsl/OpensearchV1Spec.scala b/elasticsearch/src/test/scala/docs/scaladsl/OpensearchV1Spec.scala
index b202588e0..3ba59ee55 100644
--- a/elasticsearch/src/test/scala/docs/scaladsl/OpensearchV1Spec.scala
+++ b/elasticsearch/src/test/scala/docs/scaladsl/OpensearchV1Spec.scala
@@ -65,7 +65,7 @@ class OpensearchV1Spec extends ElasticsearchSpecBase with ElasticsearchSpecUtils
constructElasticsearchParams("source", "_doc", OpensearchApiVersion.V1),
query = """{"match_all": {}}""",
settings = baseSourceSettings)
- .map { message: ReadResult[spray.json.JsObject] =>
+ .map { (message: ReadResult[spray.json.JsObject]) =>
val book: Book = jsonReader[Book].read(message.source)
WriteMessage.createIndexMessage(message.id, book)
}
@@ -100,7 +100,7 @@ class OpensearchV1Spec extends ElasticsearchSpecBase with ElasticsearchSpecUtils
constructElasticsearchParams("source", "_doc", OpensearchApiVersion.V1),
query = """{"match_all": {}}""",
settings = baseSourceSettings)
- .map { message: ReadResult[Book] =>
+ .map { (message: ReadResult[Book]) =>
WriteMessage.createIndexMessage(message.id, message.source)
}
.runWith(
@@ -133,7 +133,7 @@ class OpensearchV1Spec extends ElasticsearchSpecBase with ElasticsearchSpecUtils
constructElasticsearchParams("source", "_doc", OpensearchApiVersion.V1),
query = """{"match_all": {}}""",
settings = baseSourceSettings)
- .map { message: ReadResult[Book] =>
+ .map { (message: ReadResult[Book]) =>
WriteMessage.createIndexMessage(message.id, message.source)
}
.via(
@@ -205,7 +205,7 @@ class OpensearchV1Spec extends ElasticsearchSpecBase with ElasticsearchSpecUtils
val indexName = "sink6"
val kafkaToOs = Source(messagesFromKafka) // Assume we get this from Kafka
- .map { kafkaMessage: KafkaMessage =>
+ .map { (kafkaMessage: KafkaMessage) =>
val book = kafkaMessage.book
val id = book.title
@@ -255,7 +255,7 @@ class OpensearchV1Spec extends ElasticsearchSpecBase with ElasticsearchSpecUtils
val indexName = "sink6-bulk"
val kafkaToOs = Source(messagesFromKafka) // Assume we get this from Kafka
- .map { kafkaMessage: KafkaMessage =>
+ .map { (kafkaMessage: KafkaMessage) =>
val book = kafkaMessage.book
val id = book.title
@@ -309,7 +309,7 @@ class OpensearchV1Spec extends ElasticsearchSpecBase with ElasticsearchSpecUtils
val indexName = "sink6-nop"
val kafkaToOs = Source(messagesFromKafka) // Assume we get this from Kafka
- .map { kafkaMessage: KafkaMessage =>
+ .map { (kafkaMessage: KafkaMessage) =>
val book = kafkaMessage.book
val id = book.title
@@ -365,7 +365,7 @@ class OpensearchV1Spec extends ElasticsearchSpecBase with ElasticsearchSpecUtils
register(connectionSettings, indexName, "dummy", 10) // need to create index else exception in reading below
val kafkaToOs = Source(messagesFromKafka) // Assume we get this from Kafka
- .map { kafkaMessage: KafkaMessage =>
+ .map { (kafkaMessage: KafkaMessage) =>
val book = kafkaMessage.book
val id = book.title
@@ -449,7 +449,7 @@ class OpensearchV1Spec extends ElasticsearchSpecBase with ElasticsearchSpecUtils
constructElasticsearchParams("source", "_doc", OpensearchApiVersion.V1),
query = """{"match_all": {}}""",
settings = baseSourceSettings)
- .map { message: ReadResult[Book] =>
+ .map { (message: ReadResult[Book]) =>
WriteMessage
.createIndexMessage(message.id, message.source)
.withIndexName(customIndexName) // Setting the index-name to use for this document
@@ -480,7 +480,7 @@ class OpensearchV1Spec extends ElasticsearchSpecBase with ElasticsearchSpecUtils
case class TestDoc(id: String, a: String, b: Option[String], c: String)
- implicit val formatVersionTestDoc: JsonFormat[TestDoc] = jsonFormat4(TestDoc)
+ implicit val formatVersionTestDoc: JsonFormat[TestDoc] = jsonFormat4(TestDoc.apply)
val indexName = "custom-search-params-test-scala"
val typeName = "_doc"
diff --git a/file/src/main/scala/org/apache/pekko/stream/connectors/file/javadsl/LogRotatorSink.scala b/file/src/main/scala/org/apache/pekko/stream/connectors/file/javadsl/LogRotatorSink.scala
index 84465b0f2..75f0ffe74 100644
--- a/file/src/main/scala/org/apache/pekko/stream/connectors/file/javadsl/LogRotatorSink.scala
+++ b/file/src/main/scala/org/apache/pekko/stream/connectors/file/javadsl/LogRotatorSink.scala
@@ -16,12 +16,10 @@ package org.apache.pekko.stream.connectors.file.javadsl
import java.nio.file.{ Path, StandardOpenOption }
import java.util.Optional
import java.util.concurrent.CompletionStage
-
import org.apache.pekko
import pekko.Done
import pekko.stream.javadsl
import pekko.stream.scaladsl
-import pekko.stream.javadsl.Sink
import pekko.util.ByteString
import pekko.japi.function
import pekko.util.ccompat.JavaConverters._
@@ -42,11 +40,11 @@ object LogRotatorSink {
*/
def createFromFunction(
triggerGeneratorCreator: function.Creator[function.Function[ByteString, Optional[Path]]])
- : javadsl.Sink[ByteString, CompletionStage[Done]] =
- new Sink(
- pekko.stream.connectors.file.scaladsl
- .LogRotatorSink(asScala(triggerGeneratorCreator))
- .toCompletionStage())
+ : javadsl.Sink[ByteString, CompletionStage[Done]] = {
+ val logRotatorSink = new scaladsl.SinkToCompletionStage[ByteString, Done](pekko.stream.connectors.file.scaladsl
+ .LogRotatorSink(asScala(triggerGeneratorCreator)))
+ new javadsl.Sink(logRotatorSink.toCompletionStage())
+ }
/**
* Sink directing the incoming `ByteString`s to new files whenever `triggerGenerator` returns a value.
@@ -56,11 +54,12 @@ object LogRotatorSink {
*/
def createFromFunctionAndOptions(
triggerGeneratorCreator: function.Creator[function.Function[ByteString, Optional[Path]]],
- fileOpenOptions: java.util.Set[StandardOpenOption]): javadsl.Sink[ByteString, CompletionStage[Done]] =
- new Sink(
- pekko.stream.connectors.file.scaladsl
- .LogRotatorSink(asScala(triggerGeneratorCreator), fileOpenOptions.asScala.toSet)
- .toCompletionStage())
+ fileOpenOptions: java.util.Set[StandardOpenOption]): javadsl.Sink[ByteString, CompletionStage[Done]] = {
+
+ val logRotatorSink = new scaladsl.SinkToCompletionStage[ByteString, Done](pekko.stream.connectors.file.scaladsl
+ .LogRotatorSink(asScala(triggerGeneratorCreator), fileOpenOptions.asScala.toSet))
+ new javadsl.Sink(logRotatorSink.toCompletionStage())
+ }
/**
* Sink directing the incoming `ByteString`s to a new `Sink` created by `sinkFactory` whenever `triggerGenerator` returns a value.
@@ -72,14 +71,14 @@ object LogRotatorSink {
*/
def withSinkFactory[C, R](
triggerGeneratorCreator: function.Creator[function.Function[ByteString, Optional[C]]],
- sinkFactory: function.Function[C, Sink[ByteString, CompletionStage[R]]])
+ sinkFactory: function.Function[C, javadsl.Sink[ByteString, CompletionStage[R]]])
: javadsl.Sink[ByteString, CompletionStage[Done]] = {
val t: C => scaladsl.Sink[ByteString, Future[R]] = path =>
sinkFactory.apply(path).asScala.mapMaterializedValue(_.asScala)
- new Sink(
- pekko.stream.connectors.file.scaladsl.LogRotatorSink
- .withSinkFactory(asScala[C](triggerGeneratorCreator), t)
- .toCompletionStage())
+ val logRotatorSink =
+ new scaladsl.SinkToCompletionStage[ByteString, Done](pekko.stream.connectors.file.scaladsl.LogRotatorSink
+ .withSinkFactory(asScala[C](triggerGeneratorCreator), t))
+ new javadsl.Sink(logRotatorSink.toCompletionStage())
}
private def asScala[C](
diff --git a/file/src/main/scala/org/apache/pekko/stream/connectors/file/scaladsl/LogRotatorSink.scala b/file/src/main/scala/org/apache/pekko/stream/connectors/file/scaladsl/LogRotatorSink.scala
index 7550936db..fcb19d0b0 100644
--- a/file/src/main/scala/org/apache/pekko/stream/connectors/file/scaladsl/LogRotatorSink.scala
+++ b/file/src/main/scala/org/apache/pekko/stream/connectors/file/scaladsl/LogRotatorSink.scala
@@ -167,7 +167,7 @@ final private class LogRotatorSink[T, C, R](triggerGeneratorCreator: () => T =>
override def postStop(): Unit =
promise.completeWith {
- implicit val ec = materializer.executionContext
+ implicit val ec: ExecutionContext = materializer.executionContext
Future
.sequence(sinkCompletions)
.map(_ => Done)(pekko.dispatch.ExecutionContexts.parasitic)
diff --git a/file/src/test/scala/docs/scaladsl/LogRotatorSinkSpec.scala b/file/src/test/scala/docs/scaladsl/LogRotatorSinkSpec.scala
index fb2e3570b..24f744e83 100644
--- a/file/src/test/scala/docs/scaladsl/LogRotatorSinkSpec.scala
+++ b/file/src/test/scala/docs/scaladsl/LogRotatorSinkSpec.scala
@@ -95,7 +95,7 @@ class LogRotatorSinkSpec
"complete when consuming an empty source" in assertAllStagesStopped {
val triggerCreator: () => ByteString => Option[Path] = () => {
- element: ByteString => fail("trigger creator should not be called")
+ (element: ByteString) => fail("trigger creator should not be called")
}
val rotatorSink: Sink[ByteString, Future[Done]] =
@@ -112,7 +112,7 @@ class LogRotatorSinkSpec
val fileSizeTriggerCreator: () => ByteString => Option[Path] = () => {
val max = 10 * 1024 * 1024
var size: Long = max
- element: ByteString =>
+ (element: ByteString) =>
if (size + element.size > max) {
val path = Files.createTempFile("out-", ".log")
size = element.size
diff --git a/ftp/src/test/scala/org/apache/pekko/stream/connectors/ftp/CommonFtpStageSpec.scala b/ftp/src/test/scala/org/apache/pekko/stream/connectors/ftp/CommonFtpStageSpec.scala
index 1859f83a1..177503d8c 100644
--- a/ftp/src/test/scala/org/apache/pekko/stream/connectors/ftp/CommonFtpStageSpec.scala
+++ b/ftp/src/test/scala/org/apache/pekko/stream/connectors/ftp/CommonFtpStageSpec.scala
@@ -20,8 +20,9 @@ import java.nio.file.{ Files, Paths }
import java.time.Instant
import java.util.concurrent.TimeUnit
import org.apache.pekko
-import pekko.stream.{ IOOperationIncompleteException, IOResult }
+import pekko.stream.{ IOOperationIncompleteException, IOResult, Materializer }
import BaseSftpSupport.{ CLIENT_PRIVATE_KEY_PASSPHRASE => ClientPrivateKeyPassphrase }
+import pekko.actor.ActorSystem
import pekko.stream.scaladsl.{ Keep, Sink, Source }
import pekko.stream.testkit.scaladsl.StreamTestKit.assertAllStagesStopped
import pekko.stream.testkit.scaladsl.TestSink
@@ -30,7 +31,7 @@ import org.scalatest.concurrent.Eventually
import org.scalatest.time.{ Millis, Seconds, Span }
import scala.collection.immutable
-import scala.concurrent.{ Await, ExecutionContextExecutor }
+import scala.concurrent.{ Await, ExecutionContext, ExecutionContextExecutor }
import scala.concurrent.duration._
import scala.util.Random
@@ -85,14 +86,14 @@ final class UnconfirmedReadsSftpSourceSpec extends BaseSftpSpec with CommonFtpSt
trait CommonFtpStageSpec extends BaseSpec with Eventually {
- implicit val system = getSystem
- implicit val mat = getMaterializer
- implicit val defaultPatience =
+ implicit val system: ActorSystem = getSystem
+ implicit val mat: Materializer = getMaterializer
+ implicit val defaultPatience: PatienceConfig =
PatienceConfig(timeout = Span(30, Seconds), interval = Span(600, Millis))
"FtpBrowserSource" should {
"complete with a failed Future, when the credentials supplied were wrong" in assertAllStagesStopped {
- implicit val ec = system.getDispatcher
+ implicit val ec: ExecutionContext = system.getDispatcher
listFilesWithWrongCredentials("")
.toMat(Sink.seq)(Keep.right)
.run()
diff --git a/geode/src/test/scala/docs/scaladsl/GeodeBaseSpec.scala b/geode/src/test/scala/docs/scaladsl/GeodeBaseSpec.scala
index 48532d0be..46dca6113 100644
--- a/geode/src/test/scala/docs/scaladsl/GeodeBaseSpec.scala
+++ b/geode/src/test/scala/docs/scaladsl/GeodeBaseSpec.scala
@@ -30,7 +30,7 @@ import org.scalatest.wordspec.AnyWordSpec
class GeodeBaseSpec extends AnyWordSpec with Matchers with BeforeAndAfterAll with LogCapturing {
- implicit val system = ActorSystem("test")
+ implicit val system: ActorSystem = ActorSystem("test")
// #region
val personsRegionSettings: RegionSettings[Int, Person] = RegionSettings("persons", (p: Person) => p.id)
diff --git a/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/BigQueryException.scala b/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/BigQueryException.scala
index 8a9a0d51e..426f1dd8d 100644
--- a/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/BigQueryException.scala
+++ b/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/BigQueryException.scala
@@ -77,5 +77,5 @@ object BigQueryException {
}
private final case class ErrorResponse(error: Option[ErrorProto])
- private implicit val errorResponseFormat: RootJsonFormat[ErrorResponse] = jsonFormat1(ErrorResponse)
+ private implicit val errorResponseFormat: RootJsonFormat[ErrorResponse] = jsonFormat1(ErrorResponse.apply)
}
diff --git a/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/model/TableDataJsonProtocol.scala b/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/model/TableDataJsonProtocol.scala
index 08998f071..fa0451534 100644
--- a/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/model/TableDataJsonProtocol.scala
+++ b/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/model/TableDataJsonProtocol.scala
@@ -24,7 +24,6 @@ import com.fasterxml.jackson.annotation._
import spray.json.{ JsonFormat, RootJsonFormat, RootJsonReader, RootJsonWriter }
import java.{ lang, util }
-
import scala.annotation.nowarn
import scala.annotation.unchecked.uncheckedVariance
import scala.collection.immutable.Seq
@@ -166,8 +165,8 @@ object TableDataInsertAllRequest {
implicit def writer[T](
implicit writer: BigQueryRootJsonWriter[T]): RootJsonWriter[TableDataInsertAllRequest[T]] = {
- implicit val format = lift(writer)
- implicit val rowFormat = jsonFormat2(Row[T])
+ implicit val format: RootJsonFormat[T] = lift(writer)
+ implicit val rowFormat: RootJsonFormat[Row[T]] = jsonFormat2(Row[T])
jsonFormat4(TableDataInsertAllRequest[T])
}
}
diff --git a/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/scaladsl/BigQueryDatasets.scala b/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/scaladsl/BigQueryDatasets.scala
index feea44fab..b130f5f3e 100644
--- a/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/scaladsl/BigQueryDatasets.scala
+++ b/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/scaladsl/BigQueryDatasets.scala
@@ -28,7 +28,7 @@ import pekko.stream.connectors.googlecloud.bigquery.{ BigQueryEndpoints, BigQuer
import pekko.stream.scaladsl.Source
import pekko.{ Done, NotUsed }
-import scala.concurrent.Future
+import scala.concurrent.{ ExecutionContext, Future }
private[scaladsl] trait BigQueryDatasets { this: BigQueryRest =>
@@ -102,7 +102,7 @@ private[scaladsl] trait BigQueryDatasets { this: BigQueryRest =>
settings: GoogleSettings): Future[Dataset] = {
import BigQueryException._
import SprayJsonSupport._
- implicit val ec = ExecutionContexts.parasitic
+ implicit val ec: ExecutionContext = ExecutionContexts.parasitic
val uri = BigQueryEndpoints.datasets(settings.projectId)
Marshal(dataset).to[RequestEntity].flatMap { entity =>
val request = HttpRequest(POST, uri, entity = entity)
diff --git a/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/scaladsl/BigQueryJobs.scala b/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/scaladsl/BigQueryJobs.scala
index 6ae985019..166e1037f 100644
--- a/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/scaladsl/BigQueryJobs.scala
+++ b/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/scaladsl/BigQueryJobs.scala
@@ -43,7 +43,7 @@ import pekko.stream.scaladsl.{ Flow, GraphDSL, Keep, Sink }
import pekko.util.ByteString
import scala.annotation.nowarn
-import scala.concurrent.Future
+import scala.concurrent.{ ExecutionContext, Future }
private[scaladsl] trait BigQueryJobs { this: BigQueryRest =>
@@ -114,7 +114,7 @@ private[scaladsl] trait BigQueryJobs { this: BigQueryRest =>
.fromMaterializer { (mat, attr) =>
import SprayJsonSupport._
import mat.executionContext
- implicit val settings = GoogleAttributes.resolveSettings(mat, attr)
+ implicit val settings: GoogleSettings = GoogleAttributes.resolveSettings(mat, attr)
val BigQuerySettings(loadJobPerTableQuota) = BigQueryAttributes.resolveSettings(mat, attr)
val job = Job(
@@ -168,8 +168,8 @@ private[scaladsl] trait BigQueryJobs { this: BigQueryRest =>
Sink
.fromMaterializer { (mat, attr) =>
import BigQueryException._
- implicit val settings = GoogleAttributes.resolveSettings(mat, attr)
- implicit val ec = ExecutionContexts.parasitic
+ implicit val settings: GoogleSettings = GoogleAttributes.resolveSettings(mat, attr)
+ implicit val ec: ExecutionContext = ExecutionContexts.parasitic
val uri = BigQueryMediaEndpoints.jobs(settings.projectId).withQuery(Query("uploadType" -> "resumable"))
Sink
.lazyFutureSink { () =>
diff --git a/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/scaladsl/BigQueryQueries.scala b/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/scaladsl/BigQueryQueries.scala
index a86072b98..be092ef82 100644
--- a/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/scaladsl/BigQueryQueries.scala
+++ b/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/scaladsl/BigQueryQueries.scala
@@ -14,6 +14,7 @@
package org.apache.pekko.stream.connectors.googlecloud.bigquery.scaladsl
import org.apache.pekko
+import pekko.actor.ActorSystem
import pekko.NotUsed
import pekko.dispatch.ExecutionContexts
import pekko.http.scaladsl.marshallers.sprayjson.SprayJsonSupport
@@ -23,14 +24,14 @@ import pekko.http.scaladsl.model.Uri.Query
import pekko.http.scaladsl.model.{ HttpRequest, RequestEntity }
import pekko.http.scaladsl.unmarshalling.FromEntityUnmarshaller
import pekko.stream.RestartSettings
-import pekko.stream.connectors.google.GoogleAttributes
+import pekko.stream.connectors.google.{ GoogleAttributes, GoogleSettings }
import pekko.stream.connectors.google.implicits._
import pekko.stream.connectors.googlecloud.bigquery.model.JobReference
import pekko.stream.connectors.googlecloud.bigquery.model.{ QueryRequest, QueryResponse }
import pekko.stream.connectors.googlecloud.bigquery.{ BigQueryEndpoints, BigQueryException }
import pekko.stream.scaladsl.{ Keep, RestartSource, Sink, Source }
-import scala.concurrent.Future
+import scala.concurrent.{ ExecutionContext, Future }
import scala.concurrent.duration.FiniteDuration
import scala.util.{ Failure, Success }
@@ -70,9 +71,9 @@ private[scaladsl] trait BigQueryQueries { this: BigQueryRest =>
.fromMaterializer { (mat, attr) =>
import BigQueryException._
import SprayJsonSupport._
- implicit val system = mat.system
- implicit val ec = ExecutionContexts.parasitic
- implicit val settings = GoogleAttributes.resolveSettings(mat, attr)
+ implicit val system: ActorSystem = mat.system
+ implicit val ec: ExecutionContext = ExecutionContexts.parasitic
+ implicit val settings: GoogleSettings = GoogleAttributes.resolveSettings(mat, attr)
Source.lazyFutureSource { () =>
for {
diff --git a/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/scaladsl/BigQueryTableData.scala b/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/scaladsl/BigQueryTableData.scala
index 676e400b7..29b9cb4f8 100644
--- a/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/scaladsl/BigQueryTableData.scala
+++ b/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/scaladsl/BigQueryTableData.scala
@@ -14,6 +14,7 @@
package org.apache.pekko.stream.connectors.googlecloud.bigquery.scaladsl
import org.apache.pekko
+import pekko.actor.ActorSystem
import pekko.NotUsed
import pekko.dispatch.ExecutionContexts
import pekko.http.scaladsl.marshallers.sprayjson.SprayJsonSupport
@@ -22,7 +23,7 @@ import pekko.http.scaladsl.model.HttpMethods.POST
import pekko.http.scaladsl.model.Uri.Query
import pekko.http.scaladsl.model.{ HttpRequest, RequestEntity }
import pekko.http.scaladsl.unmarshalling.{ FromEntityUnmarshaller, FromResponseUnmarshaller }
-import pekko.stream.connectors.google.GoogleAttributes
+import pekko.stream.connectors.google.{ GoogleAttributes, GoogleSettings }
import pekko.stream.connectors.google.http.GoogleHttp
import pekko.stream.connectors.google.implicits._
import pekko.stream.connectors.googlecloud.bigquery.model.{
@@ -131,9 +132,9 @@ private[scaladsl] trait BigQueryTableData { this: BigQueryRest =>
.fromMaterializer { (mat, attr) =>
import BigQueryException._
import SprayJsonSupport._
- implicit val system = mat.system
+ implicit val system: ActorSystem = mat.system
implicit val ec = ExecutionContexts.parasitic
- implicit val settings = GoogleAttributes.resolveSettings(mat, attr)
+ implicit val settings: GoogleSettings = GoogleAttributes.resolveSettings(mat, attr)
val uri = BigQueryEndpoints.tableDataInsertAll(settings.projectId, datasetId, tableId)
val request = HttpRequest(POST, uri)
diff --git a/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/scaladsl/BigQueryTables.scala b/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/scaladsl/BigQueryTables.scala
index ccde83332..2938d077c 100644
--- a/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/scaladsl/BigQueryTables.scala
+++ b/google-cloud-bigquery/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/scaladsl/BigQueryTables.scala
@@ -29,7 +29,7 @@ import pekko.stream.connectors.googlecloud.bigquery.scaladsl.schema.TableSchemaW
import pekko.stream.connectors.googlecloud.bigquery.{ BigQueryEndpoints, BigQueryException }
import pekko.stream.scaladsl.{ Keep, Sink, Source }
-import scala.concurrent.Future
+import scala.concurrent.{ ExecutionContext, Future }
private[scaladsl] trait BigQueryTables { this: BigQueryRest =>
@@ -94,7 +94,7 @@ private[scaladsl] trait BigQueryTables { this: BigQueryRest =>
settings: GoogleSettings): Future[Table] = {
import BigQueryException._
import SprayJsonSupport._
- implicit val ec = ExecutionContexts.parasitic
+ implicit val ec: ExecutionContext = ExecutionContexts.parasitic
val projectId = table.tableReference.projectId.getOrElse(settings.projectId)
val datasetId = table.tableReference.datasetId
val uri = BigQueryEndpoints.tables(projectId, datasetId)
diff --git a/google-cloud-bigquery/src/test/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/scaladsl/BigQueryQueriesSpec.scala b/google-cloud-bigquery/src/test/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/scaladsl/BigQueryQueriesSpec.scala
index 2c1c549b3..7051651d9 100644
--- a/google-cloud-bigquery/src/test/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/scaladsl/BigQueryQueriesSpec.scala
+++ b/google-cloud-bigquery/src/test/scala/org/apache/pekko/stream/connectors/googlecloud/bigquery/scaladsl/BigQueryQueriesSpec.scala
@@ -50,7 +50,7 @@ class BigQueryQueriesSpec
jsonFormat10(QueryResponse[T])
}
- implicit val settings = GoogleSettings().copy(credentials = NoCredentials("", ""))
+ implicit val settings: GoogleSettings = GoogleSettings().copy(credentials = NoCredentials("", ""))
val jobId = "jobId"
val pageToken = "pageToken"
diff --git a/google-cloud-pub-sub-grpc/src/test/scala/docs/scaladsl/IntegrationSpec.scala b/google-cloud-pub-sub-grpc/src/test/scala/docs/scaladsl/IntegrationSpec.scala
index ea402dbd5..38eba06e4 100644
--- a/google-cloud-pub-sub-grpc/src/test/scala/docs/scaladsl/IntegrationSpec.scala
+++ b/google-cloud-pub-sub-grpc/src/test/scala/docs/scaladsl/IntegrationSpec.scala
@@ -50,7 +50,7 @@ class IntegrationSpec
with OptionValues
with LogCapturing {
- implicit val system = ActorSystem("IntegrationSpec")
+ implicit val system: ActorSystem = ActorSystem("IntegrationSpec")
implicit val defaultPatience = PatienceConfig(timeout = 15.seconds, interval = 50.millis)
diff --git a/google-cloud-pub-sub/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/pubsub/impl/PubSubApi.scala b/google-cloud-pub-sub/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/pubsub/impl/PubSubApi.scala
index 7ec28d3e9..696406f89 100644
--- a/google-cloud-pub-sub/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/pubsub/impl/PubSubApi.scala
+++ b/google-cloud-pub-sub/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/pubsub/impl/PubSubApi.scala
@@ -23,7 +23,7 @@ import pekko.http.scaladsl.marshalling.Marshal
import pekko.http.scaladsl.model.HttpMethods.POST
import pekko.http.scaladsl.model._
import pekko.http.scaladsl.unmarshalling.{ FromResponseUnmarshaller, Unmarshal, Unmarshaller }
-import pekko.stream.connectors.google.GoogleAttributes
+import pekko.stream.connectors.google.{ GoogleAttributes, GoogleSettings, RequestSettings }
import pekko.stream.connectors.google.http.GoogleHttp
import pekko.stream.connectors.google.implicits._
import pekko.stream.connectors.googlecloud.pubsub._
@@ -142,7 +142,7 @@ private[pubsub] trait PubSubApi {
AcknowledgeRequest(json.asJsObject.fields("ackIds").convertTo[immutable.Seq[String]]: _*)
def write(ar: AcknowledgeRequest): JsValue = JsObject("ackIds" -> ar.ackIds.toJson)
}
- private implicit val pullRequestFormat = DefaultJsonProtocol.jsonFormat2(PullRequest)
+ private implicit val pullRequestFormat = DefaultJsonProtocol.jsonFormat2(PullRequest.apply)
private def scheme: String = if (isEmulated) "http" else "https"
@@ -150,8 +150,8 @@ private[pubsub] trait PubSubApi {
Flow
.fromMaterializer { (mat, attr) =>
import mat.executionContext
- implicit val settings = GoogleAttributes.resolveSettings(mat, attr)
- implicit val requestSettings = settings.requestSettings
+ implicit val settings: GoogleSettings = GoogleAttributes.resolveSettings(mat, attr)
+ implicit val requestSettings: RequestSettings = settings.requestSettings
val url: Uri = Uri.from(
scheme = scheme,
@@ -188,8 +188,8 @@ private[pubsub] trait PubSubApi {
Flow
.fromMaterializer { (mat, attr) =>
import mat.executionContext
- implicit val settings = GoogleAttributes.resolveSettings(mat, attr)
- implicit val requestSettings = settings.requestSettings
+ implicit val settings: GoogleSettings = GoogleAttributes.resolveSettings(mat, attr)
+ implicit val requestSettings: RequestSettings = settings.requestSettings
val url: Uri = Uri.from(
scheme = scheme,
@@ -239,8 +239,8 @@ private[pubsub] trait PubSubApi {
Flow
.fromMaterializer { (mat, attr) =>
import mat.executionContext
- implicit val system = mat.system
- implicit val settings = GoogleAttributes.resolveSettings(mat, attr)
+ implicit val system: ActorSystem = mat.system
+ implicit val settings: GoogleSettings = GoogleAttributes.resolveSettings(mat, attr)
val url: Uri = s"/v1/projects/${settings.projectId}/topics/$topic:publish"
FlowWithContext[PublishRequest, T]
.mapAsync(parallelism) { request =>
diff --git a/google-cloud-pub-sub/src/test/scala/docs/scaladsl/ExampleUsage.scala b/google-cloud-pub-sub/src/test/scala/docs/scaladsl/ExampleUsage.scala
index 0a611e470..d3928b8a2 100644
--- a/google-cloud-pub-sub/src/test/scala/docs/scaladsl/ExampleUsage.scala
+++ b/google-cloud-pub-sub/src/test/scala/docs/scaladsl/ExampleUsage.scala
@@ -31,7 +31,7 @@ import scala.concurrent.{ Future, Promise }
class ExampleUsage {
// #init-system
- implicit val system = ActorSystem()
+ implicit val system: ActorSystem = ActorSystem()
val config = PubSubConfig()
val topic = "topic1"
val subscription = "subscription1"
diff --git a/google-cloud-pub-sub/src/test/scala/docs/scaladsl/IntegrationSpec.scala b/google-cloud-pub-sub/src/test/scala/docs/scaladsl/IntegrationSpec.scala
index 3a2cc47e1..f7a1d2fab 100644
--- a/google-cloud-pub-sub/src/test/scala/docs/scaladsl/IntegrationSpec.scala
+++ b/google-cloud-pub-sub/src/test/scala/docs/scaladsl/IntegrationSpec.scala
@@ -45,7 +45,7 @@ class IntegrationSpec
with OptionValues
with LogCapturing {
- private implicit val system = ActorSystem("IntegrationSpec")
+ private implicit val system: ActorSystem = ActorSystem("IntegrationSpec")
override def afterAll(): Unit = TestKit.shutdownActorSystem(system)
diff --git a/google-cloud-pub-sub/src/test/scala/org/apache/pekko/stream/connectors/googlecloud/pubsub/GooglePubSubSpec.scala b/google-cloud-pub-sub/src/test/scala/org/apache/pekko/stream/connectors/googlecloud/pubsub/GooglePubSubSpec.scala
index afd6daf47..03c179ca5 100644
--- a/google-cloud-pub-sub/src/test/scala/org/apache/pekko/stream/connectors/googlecloud/pubsub/GooglePubSubSpec.scala
+++ b/google-cloud-pub-sub/src/test/scala/org/apache/pekko/stream/connectors/googlecloud/pubsub/GooglePubSubSpec.scala
@@ -42,10 +42,10 @@ class GooglePubSubSpec
with LogCapturing
with BeforeAndAfterAll {
- implicit val defaultPatience =
+ implicit val defaultPatience: PatienceConfig =
PatienceConfig(timeout = 5.seconds, interval = 100.millis)
- implicit val system = ActorSystem()
+ implicit val system: ActorSystem = ActorSystem()
override protected def afterAll(): Unit = {
TestKit.shutdownActorSystem(system)
diff --git a/google-cloud-pub-sub/src/test/scala/org/apache/pekko/stream/connectors/googlecloud/pubsub/impl/PubSubApiSpec.scala b/google-cloud-pub-sub/src/test/scala/org/apache/pekko/stream/connectors/googlecloud/pubsub/impl/PubSubApiSpec.scala
index 78dd49392..d5bbb9e7e 100644
--- a/google-cloud-pub-sub/src/test/scala/org/apache/pekko/stream/connectors/googlecloud/pubsub/impl/PubSubApiSpec.scala
+++ b/google-cloud-pub-sub/src/test/scala/org/apache/pekko/stream/connectors/googlecloud/pubsub/impl/PubSubApiSpec.scala
@@ -53,7 +53,7 @@ class NoopTrustManager extends X509TrustManager {
class PubSubApiSpec extends AnyFlatSpec with BeforeAndAfterAll with ScalaFutures with Matchers with LogCapturing {
- implicit val system = ActorSystem(
+ implicit val system: ActorSystem = ActorSystem(
"PubSubApiSpec",
ConfigFactory
.parseString(
diff --git a/google-cloud-storage/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/storage/impl/Formats.scala b/google-cloud-storage/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/storage/impl/Formats.scala
index aab63a46c..5c20c3931 100644
--- a/google-cloud-storage/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/storage/impl/Formats.scala
+++ b/google-cloud-storage/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/storage/impl/Formats.scala
@@ -26,13 +26,15 @@ import scala.util.Try
object Formats extends DefaultJsonProtocol {
private final case class CustomerEncryption(encryptionAlgorithm: String, keySha256: String)
- private implicit val customerEncryptionJsonFormat = jsonFormat2(CustomerEncryption)
+
+ private implicit val customerEncryptionJsonFormat: RootJsonFormat[CustomerEncryption] =
+ jsonFormat2(CustomerEncryption.apply)
private final case class Owner(entity: String, entityId: Option[String])
- private implicit val OwnerJsonFormat = jsonFormat2(Owner)
+ private implicit val OwnerJsonFormat: RootJsonFormat[Owner] = jsonFormat2(Owner.apply)
private final case class ProjectTeam(projectNumber: String, team: String)
- private implicit val ProjectTeamJsonFormat = jsonFormat2(ProjectTeam)
+ private implicit val ProjectTeamJsonFormat: RootJsonFormat[ProjectTeam] = jsonFormat2(ProjectTeam.apply)
private final case class ObjectAccessControls(kind: String,
id: String,
@@ -129,7 +131,7 @@ object Formats extends DefaultJsonProtocol {
prefixes: Option[List[String]],
items: Option[List[StorageObjectJson]])
- private implicit val bucketInfoJsonFormat = jsonFormat6(BucketInfoJson)
+ private implicit val bucketInfoJsonFormat: RootJsonFormat[BucketInfoJson] = jsonFormat6(BucketInfoJson.apply)
/**
* Google API rewrite response object
@@ -144,7 +146,8 @@ object Formats extends DefaultJsonProtocol {
rewriteToken: Option[String],
resource: Option[StorageObjectJson])
- private implicit val rewriteResponseFormat = jsonFormat6(RewriteResponseJson)
+ private implicit val rewriteResponseFormat: RootJsonFormat[RewriteResponseJson] =
+ jsonFormat6(RewriteResponseJson.apply)
/**
* Google API bucket response object
@@ -159,7 +162,7 @@ object Formats extends DefaultJsonProtocol {
selfLink: String,
etag: String)
- implicit val bucketInfoFormat = jsonFormat2(BucketInfo)
+ implicit val bucketInfoFormat: RootJsonFormat[BucketInfo] = jsonFormat2(BucketInfo.apply)
implicit object BucketListResultReads extends RootJsonReader[BucketListResult] {
override def read(json: JsValue): BucketListResult = {
@@ -172,7 +175,7 @@ object Formats extends DefaultJsonProtocol {
}
}
- private implicit val bucketListResultJsonReads = jsonFormat4(BucketListResultJson)
+ private implicit val bucketListResultJsonReads = jsonFormat4(BucketListResultJson.apply)
implicit object RewriteResponseReads extends RootJsonReader[RewriteResponse] {
override def read(json: JsValue): RewriteResponse = {
diff --git a/google-cloud-storage/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/storage/impl/GCStorageStream.scala b/google-cloud-storage/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/storage/impl/GCStorageStream.scala
index 53319fc93..0ba705a5c 100644
--- a/google-cloud-storage/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/storage/impl/GCStorageStream.scala
+++ b/google-cloud-storage/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/storage/impl/GCStorageStream.scala
@@ -37,7 +37,7 @@ import pekko.{ Done, NotUsed }
import spray.json._
import scala.annotation.nowarn
-import scala.concurrent.Future
+import scala.concurrent.{ ExecutionContext, Future }
@InternalApi private[storage] object GCStorageStream {
@@ -55,7 +55,7 @@ import scala.concurrent.Future
val uri = Uri(gcsSettings.endpointUrl)
.withPath(Path(gcsSettings.basePath) / "b")
.withQuery(Query("project" -> settings.projectId))
- implicit val ec = parasitic
+ implicit val ec: ExecutionContext = parasitic
val request = Marshal(BucketInfo(bucketName, location)).to[RequestEntity].map { entity =>
HttpRequest(POST, uri, entity = entity)
}
@@ -142,7 +142,7 @@ import scala.concurrent.Future
metadata: Option[Map[String, String]] = None): Sink[ByteString, Future[StorageObject]] =
Sink
.fromMaterializer { (mat, attr) =>
- implicit val settings = {
+ implicit val settings: GoogleSettings = {
val s = resolveSettings(mat, attr)
s.copy(requestSettings = s.requestSettings.copy(uploadChunkSize = chunkSize))
}
@@ -226,7 +226,7 @@ import scala.concurrent.Future
private def makeRequestSource[T: FromResponseUnmarshaller](request: Future[HttpRequest]): Source[T, NotUsed] =
Source
.fromMaterializer { (mat, attr) =>
- implicit val settings = resolveSettings(mat, attr)
+ implicit val settings: GoogleSettings = resolveSettings(mat, attr)
Source.lazyFuture { () =>
request.flatMap { request =>
GoogleHttp()(mat.system).singleAuthenticatedRequest[T](request)
diff --git a/google-cloud-storage/src/test/scala/org/apache/pekko/stream/connectors/googlecloud/storage/GCSExtSpec.scala b/google-cloud-storage/src/test/scala/org/apache/pekko/stream/connectors/googlecloud/storage/GCSExtSpec.scala
index e93147b73..547941298 100644
--- a/google-cloud-storage/src/test/scala/org/apache/pekko/stream/connectors/googlecloud/storage/GCSExtSpec.scala
+++ b/google-cloud-storage/src/test/scala/org/apache/pekko/stream/connectors/googlecloud/storage/GCSExtSpec.scala
@@ -31,7 +31,7 @@ class GCSExtSpec extends AnyFlatSpec with Matchers with LogCapturing {
"pekko.connectors.google.cloud-storage.endpoint-url" -> endpointUrl,
"pekko.connectors.google.cloud-storage.base-path" -> basePath).asJava)
- implicit val system = ActorSystem.create("gcs", config)
+ implicit val system: ActorSystem = ActorSystem.create("gcs", config)
val ext = GCSExt(system)
ext.settings.endpointUrl shouldBe endpointUrl
diff --git a/google-cloud-storage/src/test/scala/org/apache/pekko/stream/connectors/googlecloud/storage/GCStorageExtSpec.scala b/google-cloud-storage/src/test/scala/org/apache/pekko/stream/connectors/googlecloud/storage/GCStorageExtSpec.scala
index ee8de4f20..a17a715c9 100644
--- a/google-cloud-storage/src/test/scala/org/apache/pekko/stream/connectors/googlecloud/storage/GCStorageExtSpec.scala
+++ b/google-cloud-storage/src/test/scala/org/apache/pekko/stream/connectors/googlecloud/storage/GCStorageExtSpec.scala
@@ -42,7 +42,7 @@ class GCStorageExtSpec extends AnyFlatSpec with Matchers with LogCapturing {
"pekko.connectors.google.cloud.storage.base-path" -> basePath,
"pekko.connectors.google.cloud.storage.token-url" -> tokenUrl,
"pekko.connectors.google.cloud.storage.token-scope" -> tokenScope).asJava)
- implicit val system = ActorSystem.create("gcStorage", config)
+ implicit val system: ActorSystem = ActorSystem.create("gcStorage", config)
@nowarn("msg=deprecated")
val ext = GCStorageExt(system)
diff --git a/google-cloud-storage/src/test/scala/org/apache/pekko/stream/connectors/googlecloud/storage/WithMaterializerGlobal.scala b/google-cloud-storage/src/test/scala/org/apache/pekko/stream/connectors/googlecloud/storage/WithMaterializerGlobal.scala
index ea391e491..eb046720a 100644
--- a/google-cloud-storage/src/test/scala/org/apache/pekko/stream/connectors/googlecloud/storage/WithMaterializerGlobal.scala
+++ b/google-cloud-storage/src/test/scala/org/apache/pekko/stream/connectors/googlecloud/storage/WithMaterializerGlobal.scala
@@ -19,7 +19,7 @@ import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpecLike
import org.scalatest.{ BeforeAndAfterAll, BeforeAndAfterEach }
-import scala.concurrent.Await
+import scala.concurrent.{ Await, ExecutionContext }
import scala.concurrent.duration._
trait WithMaterializerGlobal
@@ -30,7 +30,7 @@ trait WithMaterializerGlobal
with IntegrationPatience
with Matchers {
implicit val actorSystem = ActorSystem("test")
- implicit val ec = actorSystem.dispatcher
+ implicit val ec: ExecutionContext = actorSystem.dispatcher
override protected def afterAll(): Unit = {
super.afterAll()
diff --git a/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/PaginatedRequest.scala b/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/PaginatedRequest.scala
index 7560af7c9..20fbf7004 100644
--- a/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/PaginatedRequest.scala
+++ b/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/PaginatedRequest.scala
@@ -14,6 +14,7 @@
package org.apache.pekko.stream.connectors.google
import org.apache.pekko
+import pekko.actor.ActorSystem
import pekko.annotation.InternalApi
import pekko.dispatch.ExecutionContexts
import pekko.http.scaladsl.model.HttpMethods.GET
@@ -51,8 +52,8 @@ private[connectors] object PaginatedRequest {
Source
.fromMaterializer { (mat, attr) =>
- implicit val system = mat.system
- implicit val settings = GoogleAttributes.resolveSettings(mat, attr)
+ implicit val system: ActorSystem = mat.system
+ implicit val settings: GoogleSettings = GoogleAttributes.resolveSettings(mat, attr)
val requestWithPageToken = addPageToken(request, query)
Source.unfoldAsync[Either[Done, Option[String]], Out](Right(initialPageToken)) {
diff --git a/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/ResumableUpload.scala b/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/ResumableUpload.scala
index 5da81e3fb..f50c921b9 100644
--- a/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/ResumableUpload.scala
+++ b/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/ResumableUpload.scala
@@ -14,6 +14,7 @@
package org.apache.pekko.stream.connectors.google
import org.apache.pekko
+import pekko.actor.ActorSystem
import pekko.NotUsed
import pekko.annotation.InternalApi
import pekko.http.scaladsl.model.HttpMethods.{ POST, PUT }
@@ -56,7 +57,7 @@ private[connectors] object ResumableUpload {
.fromMaterializer { (mat, attr) =>
import mat.executionContext
implicit val materializer = mat
- implicit val settings = GoogleAttributes.resolveSettings(mat, attr)
+ implicit val settings: GoogleSettings = GoogleAttributes.resolveSettings(mat, attr)
val uploadChunkSize = settings.requestSettings.uploadChunkSize
val in = Flow[ByteString]
@@ -95,7 +96,7 @@ private[connectors] object ResumableUpload {
private def initiateSession(request: HttpRequest)(implicit mat: Materializer,
settings: GoogleSettings): Future[Uri] = {
- implicit val system = mat.system
+ implicit val system: ActorSystem = mat.system
import implicits._
implicit val um = Unmarshaller.withMaterializer { implicit ec => implicit mat => response: HttpResponse =>
@@ -111,7 +112,7 @@ private[connectors] object ResumableUpload {
private def uploadChunk[T: FromResponseUnmarshaller](
request: HttpRequest)(implicit mat: Materializer): Flow[Either[T, MaybeLast[Chunk]], Try[Option[T]], NotUsed] = {
- implicit val system = mat.system
+ implicit val system: ActorSystem = mat.system
val um = Unmarshaller.withMaterializer { implicit ec => implicit mat => response: HttpResponse =>
response.status match {
@@ -146,7 +147,7 @@ private[connectors] object ResumableUpload {
request: HttpRequest,
chunk: Future[MaybeLast[Chunk]])(
implicit mat: Materializer, settings: GoogleSettings): Future[Either[T, MaybeLast[Chunk]]] = {
- implicit val system = mat.system
+ implicit val system: ActorSystem = mat.system
import implicits._
implicit val um = Unmarshaller.withMaterializer { implicit ec => implicit mat => response: HttpResponse =>
diff --git a/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/auth/GoogleComputeMetadata.scala b/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/auth/GoogleComputeMetadata.scala
index da0e06726..b205a11cb 100644
--- a/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/auth/GoogleComputeMetadata.scala
+++ b/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/auth/GoogleComputeMetadata.scala
@@ -14,6 +14,7 @@
package org.apache.pekko.stream.connectors.google.auth
import org.apache.pekko
+import pekko.actor.ActorSystem
import pekko.annotation.InternalApi
import pekko.http.scaladsl.Http
import pekko.http.scaladsl.marshallers.sprayjson.SprayJsonSupport
@@ -42,7 +43,7 @@ private[auth] object GoogleComputeMetadata {
clock: Clock): Future[AccessToken] = {
import SprayJsonSupport._
import mat.executionContext
- implicit val system = mat.system
+ implicit val system: ActorSystem = mat.system
for {
response <- Http().singleRequest(tokenRequest)
token <- Unmarshal(response.entity).to[AccessToken]
@@ -52,7 +53,7 @@ private[auth] object GoogleComputeMetadata {
def getProjectId()(
implicit mat: Materializer): Future[String] = {
import mat.executionContext
- implicit val system = mat.system
+ implicit val system: ActorSystem = mat.system
for {
response <- Http().singleRequest(projectIdRequest)
projectId <- Unmarshal(response.entity).to[String]
diff --git a/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/auth/GoogleOAuth2.scala b/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/auth/GoogleOAuth2.scala
index 615e7959d..4099f91c1 100644
--- a/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/auth/GoogleOAuth2.scala
+++ b/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/auth/GoogleOAuth2.scala
@@ -14,6 +14,7 @@
package org.apache.pekko.stream.connectors.google.auth
import org.apache.pekko
+import pekko.actor.ActorSystem
import pekko.annotation.InternalApi
import pekko.http.scaladsl.marshallers.sprayjson.SprayJsonSupport
import pekko.http.scaladsl.model.HttpMethods.POST
@@ -42,7 +43,7 @@ private[auth] object GoogleOAuth2 {
import GoogleOAuth2Exception._
import SprayJsonSupport._
import implicits._
- implicit val system = mat.system
+ implicit val system: ActorSystem = mat.system
try {
val entity = FormData(
@@ -71,5 +72,5 @@ private[auth] object GoogleOAuth2 {
}
final case class JwtClaimContent(scope: String)
- implicit val jwtClaimContentFormat: JsonFormat[JwtClaimContent] = jsonFormat1(JwtClaimContent)
+ implicit val jwtClaimContentFormat: JsonFormat[JwtClaimContent] = jsonFormat1(JwtClaimContent.apply)
}
diff --git a/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/auth/GoogleOAuth2Credentials.scala b/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/auth/GoogleOAuth2Credentials.scala
index 5f2c78b5c..bbd9e848d 100644
--- a/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/auth/GoogleOAuth2Credentials.scala
+++ b/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/auth/GoogleOAuth2Credentials.scala
@@ -38,7 +38,7 @@ private[auth] final class GoogleOAuth2Credentials(credentials: OAuth2Credentials
Await.result(requestMetadata, Duration.Inf)
override def getRequestMetadata(uri: URI, executor: Executor, callback: RequestMetadataCallback): Unit = {
- implicit val ec = ExecutionContext.fromExecutor(executor)
+ implicit val ec: ExecutionContext = ExecutionContext.fromExecutor(executor)
requestMetadata.onComplete {
case Success(metadata) => callback.onSuccess(metadata)
case Failure(ex) => callback.onFailure(ex)
diff --git a/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/auth/GoogleOAuth2Exception.scala b/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/auth/GoogleOAuth2Exception.scala
index 9c7e373d5..ae9690008 100644
--- a/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/auth/GoogleOAuth2Exception.scala
+++ b/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/auth/GoogleOAuth2Exception.scala
@@ -28,7 +28,8 @@ private[google] object GoogleOAuth2Exception {
private val internalFailure = "internal_failure"
private final case class OAuth2ErrorResponse(error: Option[String], error_description: Option[String])
- private implicit val oAuth2ErrorResponseFormat: RootJsonFormat[OAuth2ErrorResponse] = jsonFormat2(OAuth2ErrorResponse)
+ private implicit val oAuth2ErrorResponseFormat: RootJsonFormat[OAuth2ErrorResponse] =
+ jsonFormat2(OAuth2ErrorResponse.apply)
implicit val unmarshaller: FromResponseUnmarshaller[Throwable] =
Unmarshaller
diff --git a/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/auth/ServiceAccountCredentials.scala b/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/auth/ServiceAccountCredentials.scala
index 2914286e9..369365415 100644
--- a/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/auth/ServiceAccountCredentials.scala
+++ b/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/auth/ServiceAccountCredentials.scala
@@ -57,7 +57,7 @@ private[connectors] object ServiceAccountCredentials {
final case class ServiceAccountCredentialsFile(project_id: String, client_email: String, private_key: String)
implicit val serviceAccountCredentialsFormat: RootJsonFormat[ServiceAccountCredentialsFile] = jsonFormat3(
- ServiceAccountCredentialsFile)
+ ServiceAccountCredentialsFile.apply)
}
@InternalApi
diff --git a/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/auth/UserAccessCredentials.scala b/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/auth/UserAccessCredentials.scala
index b41549dcb..be1f71ea9 100644
--- a/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/auth/UserAccessCredentials.scala
+++ b/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/auth/UserAccessCredentials.scala
@@ -61,7 +61,7 @@ private[connectors] object UserAccessCredentials {
refresh_token: String,
quota_project_id: String)
implicit val userAccessCredentialsFormat: RootJsonFormat[UserAccessCredentialsFile] = jsonFormat4(
- UserAccessCredentialsFile)
+ UserAccessCredentialsFile.apply)
}
@InternalApi
diff --git a/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/auth/UserAccessMetadata.scala b/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/auth/UserAccessMetadata.scala
index 56e834d8e..c3efbfcce 100644
--- a/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/auth/UserAccessMetadata.scala
+++ b/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/auth/UserAccessMetadata.scala
@@ -14,6 +14,7 @@
package org.apache.pekko.stream.connectors.google.auth
import org.apache.pekko
+import pekko.actor.ActorSystem
import pekko.annotation.InternalApi
import pekko.http.scaladsl.Http
import pekko.http.scaladsl.marshallers.sprayjson.SprayJsonSupport
@@ -45,7 +46,7 @@ private[auth] object UserAccessMetadata {
clock: Clock): Future[AccessToken] = {
import SprayJsonSupport._
import mat.executionContext
- implicit val system = mat.system
+ implicit val system: ActorSystem = mat.system
for {
response <- Http().singleRequest(tokenRequest(clientId, clientSecret, refreshToken))
token <- Unmarshal(response.entity).to[AccessToken]
diff --git a/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/http/GoogleHttp.scala b/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/http/GoogleHttp.scala
index f5326563d..d536f8b00 100644
--- a/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/http/GoogleHttp.scala
+++ b/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/http/GoogleHttp.scala
@@ -76,7 +76,7 @@ private[connectors] final class GoogleHttp private (val http: HttpExt) extends A
def singleAuthenticatedRequest[T](request: HttpRequest)(
implicit settings: GoogleSettings,
um: FromResponseUnmarshaller[T]): Future[T] = Retry(settings.requestSettings.retrySettings) {
- implicit val requestSettings = settings.requestSettings
+ implicit val requestSettings: RequestSettings = settings.requestSettings
addAuth(request).flatMap(singleRequest(_))(ExecutionContexts.parasitic)
}
@@ -110,7 +110,7 @@ private[connectors] final class GoogleHttp private (val http: HttpExt) extends A
parallelism: Int = 1): FlowWithContext[HttpRequest, Ctx, Try[T], Ctx, Future[HostConnectionPool]] =
FlowWithContext.fromTuples {
Flow.fromMaterializer { (mat, attr) =>
- implicit val settings = GoogleAttributes.resolveSettings(mat, attr)
+ implicit val settings: GoogleSettings = GoogleAttributes.resolveSettings(mat, attr)
val p = if (port == -1) if (https) 443 else 80 else port
val uriFlow = FlowWithContext[HttpRequest, Ctx].map(addStandardQuery)
@@ -163,7 +163,7 @@ private[connectors] final class GoogleHttp private (val http: HttpExt) extends A
.fold(settings.requestSettings.queryString)(_.concat(settings.requestSettings.`&queryString`)))))
private def addAuth(request: HttpRequest)(implicit settings: GoogleSettings): Future[HttpRequest] = {
- implicit val requestSettings = settings.requestSettings
+ implicit val requestSettings: RequestSettings = settings.requestSettings
settings.credentials
.get()
.map { token =>
diff --git a/google-common/src/test/scala/org/apache/pekko/stream/connectors/google/PaginatedRequestSpec.scala b/google-common/src/test/scala/org/apache/pekko/stream/connectors/google/PaginatedRequestSpec.scala
index d58c54de0..5d64b5b2a 100644
--- a/google-common/src/test/scala/org/apache/pekko/stream/connectors/google/PaginatedRequestSpec.scala
+++ b/google-common/src/test/scala/org/apache/pekko/stream/connectors/google/PaginatedRequestSpec.scala
@@ -43,7 +43,7 @@ class PaginatedRequestSpec
super.afterAll()
}
- implicit val patience = PatienceConfig(remainingOrDefault)
+ implicit val patience: PatienceConfig = PatienceConfig(remainingOrDefault)
implicit val paginated: Paginated[JsValue] = _.asJsObject.fields.get("pageToken").flatMap {
case JsString(value) => Some(value)
case _ => None
diff --git a/google-common/src/test/scala/org/apache/pekko/stream/connectors/google/ResumableUploadSpec.scala b/google-common/src/test/scala/org/apache/pekko/stream/connectors/google/ResumableUploadSpec.scala
index 15ded38bf..819834bb8 100644
--- a/google-common/src/test/scala/org/apache/pekko/stream/connectors/google/ResumableUploadSpec.scala
+++ b/google-common/src/test/scala/org/apache/pekko/stream/connectors/google/ResumableUploadSpec.scala
@@ -40,7 +40,7 @@ class ResumableUploadSpec
with ScalaFutures
with HoverflySupport {
- implicit val patience = PatienceConfig(remainingOrDefault)
+ implicit val patience: PatienceConfig = PatienceConfig(remainingOrDefault)
override def afterAll(): Unit = {
TestKit.shutdownActorSystem(system)
diff --git a/google-common/src/test/scala/org/apache/pekko/stream/connectors/google/auth/GoogleOAuth2Spec.scala b/google-common/src/test/scala/org/apache/pekko/stream/connectors/google/auth/GoogleOAuth2Spec.scala
index 08c067da5..1bd56b790 100644
--- a/google-common/src/test/scala/org/apache/pekko/stream/connectors/google/auth/GoogleOAuth2Spec.scala
+++ b/google-common/src/test/scala/org/apache/pekko/stream/connectors/google/auth/GoogleOAuth2Spec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.stream.connectors.google.auth
import org.apache.pekko
import pekko.actor.ActorSystem
-import pekko.stream.connectors.google.{ GoogleSettings, HoverflySupport }
+import pekko.stream.connectors.google.{ GoogleSettings, HoverflySupport, RequestSettings }
import pekko.testkit.TestKit
import io.specto.hoverfly.junit.core.SimulationSource.dsl
import io.specto.hoverfly.junit.core.model.RequestFieldMatcher.newRegexMatcher
@@ -42,10 +42,10 @@ class GoogleOAuth2Spec
TestKit.shutdownActorSystem(system)
super.afterAll()
}
- implicit val defaultPatience = PatienceConfig(remainingOrDefault)
+ implicit val defaultPatience: PatienceConfig = PatienceConfig(remainingOrDefault)
implicit val executionContext: ExecutionContext = system.dispatcher
- implicit val settings = GoogleSettings(system)
+ implicit val settings: GoogleSettings = GoogleSettings(system)
implicit val clock = Clock.systemUTC()
lazy val privateKey = {
@@ -73,7 +73,7 @@ class GoogleOAuth2Spec
success("""{"access_token": "token", "token_type": "String", "expires_in": 3600}""",
"application/json"))))
- implicit val settings = GoogleSettings().requestSettings
+ implicit val settings: RequestSettings = GoogleSettings().requestSettings
GoogleOAuth2.getAccessToken("email", privateKey, scopes).futureValue should matchPattern {
case AccessToken("token", exp) if exp > (System.currentTimeMillis / 1000L + 3000L) =>
}
diff --git a/google-common/src/test/scala/org/apache/pekko/stream/connectors/google/auth/OAuth2CredentialsSpec.scala b/google-common/src/test/scala/org/apache/pekko/stream/connectors/google/auth/OAuth2CredentialsSpec.scala
index 5816d906e..7d7e2342a 100644
--- a/google-common/src/test/scala/org/apache/pekko/stream/connectors/google/auth/OAuth2CredentialsSpec.scala
+++ b/google-common/src/test/scala/org/apache/pekko/stream/connectors/google/auth/OAuth2CredentialsSpec.scala
@@ -43,7 +43,8 @@ class OAuth2CredentialsSpec
}
import system.dispatcher
- implicit val settings = GoogleSettings().requestSettings
+
+ implicit val settings: RequestSettings = GoogleSettings().requestSettings
implicit val clock = Clock.systemUTC()
final object AccessTokenProvider {
diff --git a/google-common/src/test/scala/org/apache/pekko/stream/connectors/google/http/GoogleHttpSpec.scala b/google-common/src/test/scala/org/apache/pekko/stream/connectors/google/http/GoogleHttpSpec.scala
index aa75e9cc4..56a75389c 100644
--- a/google-common/src/test/scala/org/apache/pekko/stream/connectors/google/http/GoogleHttpSpec.scala
+++ b/google-common/src/test/scala/org/apache/pekko/stream/connectors/google/http/GoogleHttpSpec.scala
@@ -76,7 +76,7 @@ class GoogleHttpSpec
http
}
- implicit val settings = GoogleSettings().requestSettings
+ implicit val settings: RequestSettings = GoogleSettings().requestSettings
"GoogleHttp" must {
@@ -163,7 +163,7 @@ class GoogleHttpSpec
when(credentials.get()(any[ExecutionContext], any[RequestSettings])).thenReturn(
Future.failed(GoogleOAuth2Exception(ErrorInfo())),
Future.failed(new AnotherException))
- implicit val settingsWithMockedCredentials = GoogleSettings().copy(credentials = credentials)
+ implicit val settingsWithMockedCredentials: GoogleSettings = GoogleSettings().copy(credentials = credentials)
val http = mockHttp
when(
diff --git a/google-fcm/src/main/scala/org/apache/pekko/stream/connectors/google/firebase/fcm/impl/FcmFlows.scala b/google-fcm/src/main/scala/org/apache/pekko/stream/connectors/google/firebase/fcm/impl/FcmFlows.scala
index 9349cc71b..61070294c 100644
--- a/google-fcm/src/main/scala/org/apache/pekko/stream/connectors/google/firebase/fcm/impl/FcmFlows.scala
+++ b/google-fcm/src/main/scala/org/apache/pekko/stream/connectors/google/firebase/fcm/impl/FcmFlows.scala
@@ -37,7 +37,7 @@ private[fcm] object FcmFlows {
private[fcm] def fcmWithData[T](conf: FcmSettings): Flow[(FcmNotification, T), (FcmResponse, T), NotUsed] =
Flow
.fromMaterializer { (mat, attr) =>
- implicit val settings = resolveSettings(conf)(mat, attr)
+ implicit val settings: GoogleSettings = resolveSettings(conf)(mat, attr)
val sender = new FcmSender()
Flow[(FcmNotification, T)].mapAsync(conf.maxConcurrentConnections) {
case (notification, data) =>
@@ -54,7 +54,7 @@ private[fcm] object FcmFlows {
private[fcm] def fcm(conf: FcmSettings): Flow[FcmNotification, FcmResponse, NotUsed] =
Flow
.fromMaterializer { (mat, attr) =>
- implicit val settings = resolveSettings(conf)(mat, attr)
+ implicit val settings: GoogleSettings = resolveSettings(conf)(mat, attr)
val sender = new FcmSender()
Flow[FcmNotification].mapAsync(conf.maxConcurrentConnections) { notification =>
sender.send(Http(mat.system), FcmSend(conf.isTest, notification))(mat, settings)
diff --git a/google-fcm/src/main/scala/org/apache/pekko/stream/connectors/google/firebase/fcm/impl/FcmJsonSupport.scala b/google-fcm/src/main/scala/org/apache/pekko/stream/connectors/google/firebase/fcm/impl/FcmJsonSupport.scala
index 1fd2d9753..4e1768204 100644
--- a/google-fcm/src/main/scala/org/apache/pekko/stream/connectors/google/firebase/fcm/impl/FcmJsonSupport.scala
+++ b/google-fcm/src/main/scala/org/apache/pekko/stream/connectors/google/firebase/fcm/impl/FcmJsonSupport.scala
@@ -86,11 +86,13 @@ private[fcm] object FcmJsonSupport extends DefaultJsonProtocol with SprayJsonSup
}
// app -> google
- implicit val webPushNotificationJsonFormat: RootJsonFormat[WebPushNotification] = jsonFormat3(WebPushNotification)
+ implicit val webPushNotificationJsonFormat: RootJsonFormat[WebPushNotification] =
+ jsonFormat3(WebPushNotification.apply)
implicit val webPushConfigJsonFormat: RootJsonFormat[WebPushConfig] = jsonFormat3(WebPushConfig.apply)
- implicit val androidNotificationJsonFormat: RootJsonFormat[AndroidNotification] = jsonFormat11(AndroidNotification)
+ implicit val androidNotificationJsonFormat: RootJsonFormat[AndroidNotification] =
+ jsonFormat11(AndroidNotification.apply)
implicit val androidConfigJsonFormat: RootJsonFormat[AndroidConfig] = jsonFormat6(AndroidConfig.apply)
- implicit val basicNotificationJsonFormat: RootJsonFormat[BasicNotification] = jsonFormat2(BasicNotification)
+ implicit val basicNotificationJsonFormat: RootJsonFormat[BasicNotification] = jsonFormat2(BasicNotification.apply)
implicit val sendableFcmNotificationJsonFormat: RootJsonFormat[FcmNotification] = jsonFormat8(FcmNotification.apply)
- implicit val fcmSendJsonFormat: RootJsonFormat[FcmSend] = jsonFormat2(FcmSend)
+ implicit val fcmSendJsonFormat: RootJsonFormat[FcmSend] = jsonFormat2(FcmSend.apply)
}
diff --git a/google-fcm/src/main/scala/org/apache/pekko/stream/connectors/google/firebase/fcm/v1/impl/FcmJsonSupport.scala b/google-fcm/src/main/scala/org/apache/pekko/stream/connectors/google/firebase/fcm/v1/impl/FcmJsonSupport.scala
index 1046cdba7..fdc9008b4 100644
--- a/google-fcm/src/main/scala/org/apache/pekko/stream/connectors/google/firebase/fcm/v1/impl/FcmJsonSupport.scala
+++ b/google-fcm/src/main/scala/org/apache/pekko/stream/connectors/google/firebase/fcm/v1/impl/FcmJsonSupport.scala
@@ -249,10 +249,10 @@ private[fcm] object FcmJsonSupport extends DefaultJsonProtocol with SprayJsonSup
implicit val fcmOptionsJsonFormat: RootJsonFormat[FcmOptions] = jsonFormat1(FcmOptions.apply)
implicit val apnsFcmOptionsJsonFormat: RootJsonFormat[ApnsFcmOptions] = jsonFormat2(ApnsFcmOptions.apply)
implicit val webPushFcmOptionsJsonFormat: RootJsonFormat[WebPushFcmOptions] = jsonFormat2(WebPushFcmOptions.apply)
- implicit val androidColorJsonFormat: RootJsonFormat[Color] = jsonFormat4(Color)
+ implicit val androidColorJsonFormat: RootJsonFormat[Color] = jsonFormat4(Color.apply)
implicit val androidLightSettingsJsonFormat: RootJsonFormat[LightSettings] = jsonFormat3(LightSettings.apply)
implicit val androidConfigJsonFormat: RootJsonFormat[AndroidConfig] = jsonFormat8(AndroidConfig.apply)
implicit val basicNotificationJsonFormat: RootJsonFormat[BasicNotification] = jsonFormat3(BasicNotification.apply)
implicit val mainFcmNotificationJsonFormat: RootJsonFormat[FcmNotification] = jsonFormat9(FcmNotification.apply)
- implicit val fcmSendJsonFormat: RootJsonFormat[FcmSend] = jsonFormat2(FcmSend)
+ implicit val fcmSendJsonFormat: RootJsonFormat[FcmSend] = jsonFormat2(FcmSend.apply)
}
diff --git a/google-fcm/src/test/scala/docs/scaladsl/FcmExamples.scala b/google-fcm/src/test/scala/docs/scaladsl/FcmExamples.scala
index 66a605dcf..8b8e46a51 100644
--- a/google-fcm/src/test/scala/docs/scaladsl/FcmExamples.scala
+++ b/google-fcm/src/test/scala/docs/scaladsl/FcmExamples.scala
@@ -13,9 +13,9 @@
package docs.scaladsl
-import org.apache.pekko.actor.ActorSystem
//#imports
import org.apache.pekko
+import pekko.actor.ActorSystem
import pekko.stream.connectors.google.firebase.fcm.FcmSettings
import pekko.stream.connectors.google.firebase.fcm.v1.models._
import pekko.stream.connectors.google.firebase.fcm.v1.scaladsl.GoogleFcm
@@ -28,7 +28,7 @@ import scala.concurrent.Future
class FcmExamples {
- implicit val system = ActorSystem()
+ implicit val system: ActorSystem = ActorSystem()
// #simple-send
val fcmConfig = FcmSettings()
diff --git a/google-fcm/src/test/scala/org/apache/pekko/stream/connectors/google/firebase/fcm/v1/impl/FcmSenderSpec.scala b/google-fcm/src/test/scala/org/apache/pekko/stream/connectors/google/firebase/fcm/v1/impl/FcmSenderSpec.scala
index 16dff540f..a2d4d4922 100644
--- a/google-fcm/src/test/scala/org/apache/pekko/stream/connectors/google/firebase/fcm/v1/impl/FcmSenderSpec.scala
+++ b/google-fcm/src/test/scala/org/apache/pekko/stream/connectors/google/firebase/fcm/v1/impl/FcmSenderSpec.scala
@@ -52,13 +52,13 @@ class FcmSenderSpec
override def afterAll(): Unit =
TestKit.shutdownActorSystem(system)
- implicit val defaultPatience =
+ implicit val defaultPatience: PatienceConfig =
PatienceConfig(timeout = 2.seconds, interval = 50.millis)
implicit val executionContext: ExecutionContext = system.dispatcher
implicit val conf = FcmSettings()
- implicit val settings = GoogleSettings().copy(projectId = "projectId")
+ implicit val settings: GoogleSettings = GoogleSettings().copy(projectId = "projectId")
"FcmSender" should {
diff --git a/hbase/src/main/scala/org/apache/pekko/stream/connectors/hbase/impl/HBaseFlowStage.scala b/hbase/src/main/scala/org/apache/pekko/stream/connectors/hbase/impl/HBaseFlowStage.scala
index 43dc29854..b18579e45 100644
--- a/hbase/src/main/scala/org/apache/pekko/stream/connectors/hbase/impl/HBaseFlowStage.scala
+++ b/hbase/src/main/scala/org/apache/pekko/stream/connectors/hbase/impl/HBaseFlowStage.scala
@@ -36,7 +36,7 @@ private[hbase] class HBaseFlowStage[A](settings: HTableSettings[A]) extends Grap
override protected def logSource = classOf[HBaseFlowStage[A]]
- implicit val connection = connect(settings.conf)
+ implicit val connection: Connection = connect(settings.conf)
lazy val table: Table = getOrCreateTable(settings.tableName, settings.columnFamilies).get
diff --git a/hbase/src/main/scala/org/apache/pekko/stream/connectors/hbase/impl/HBaseSourceStage.scala b/hbase/src/main/scala/org/apache/pekko/stream/connectors/hbase/impl/HBaseSourceStage.scala
index e9935121a..7c8a30bcc 100644
--- a/hbase/src/main/scala/org/apache/pekko/stream/connectors/hbase/impl/HBaseSourceStage.scala
+++ b/hbase/src/main/scala/org/apache/pekko/stream/connectors/hbase/impl/HBaseSourceStage.scala
@@ -17,7 +17,7 @@ import org.apache.pekko
import pekko.stream.{ Attributes, Outlet, SourceShape }
import pekko.stream.connectors.hbase.HTableSettings
import pekko.stream.stage.{ GraphStage, GraphStageLogic, OutHandler, StageLogging }
-import org.apache.hadoop.hbase.client.{ Result, Scan, Table }
+import org.apache.hadoop.hbase.client.{ Connection, Result, Scan, Table }
import scala.util.control.NonFatal
@@ -40,7 +40,7 @@ private[hbase] final class HBaseSourceLogic[A](scan: Scan,
with StageLogging
with HBaseCapabilities {
- implicit val connection = connect(settings.conf)
+ implicit val connection: Connection = connect(settings.conf)
lazy val table: Table = getOrCreateTable(settings.tableName, settings.columnFamilies).get
private var results: java.util.Iterator[Result] = null
diff --git a/hbase/src/test/scala/docs/scaladsl/HBaseStageSpec.scala b/hbase/src/test/scala/docs/scaladsl/HBaseStageSpec.scala
index 06c4ed2a0..a6a867107 100644
--- a/hbase/src/test/scala/docs/scaladsl/HBaseStageSpec.scala
+++ b/hbase/src/test/scala/docs/scaladsl/HBaseStageSpec.scala
@@ -41,7 +41,7 @@ class HBaseStageSpec
with BeforeAndAfterAll
with LogCapturing {
- implicit val defaultPatience =
+ implicit val defaultPatience: PatienceConfig =
PatienceConfig(timeout = 5.seconds, interval = 500.millis)
// #create-converter-put
diff --git a/hdfs/src/test/scala/docs/scaladsl/HdfsWriterSpec.scala b/hdfs/src/test/scala/docs/scaladsl/HdfsWriterSpec.scala
index 3eca2dbd6..3587f53e4 100644
--- a/hdfs/src/test/scala/docs/scaladsl/HdfsWriterSpec.scala
+++ b/hdfs/src/test/scala/docs/scaladsl/HdfsWriterSpec.scala
@@ -253,7 +253,7 @@ class HdfsWriterSpec
committedOffsets = committedOffsets :+ offset
val resF = Source(messagesFromKafka)
- .map { kafkaMessage: KafkaMessage =>
+ .map { (kafkaMessage: KafkaMessage) =>
val book = kafkaMessage.book
// Transform message so that we can write to hdfs
HdfsWriteMessage(ByteString(book.title), kafkaMessage.offset)
diff --git a/huawei-push-kit/src/main/scala/org/apache/pekko/stream/connectors/huawei/pushkit/impl/PushKitJsonSupport.scala b/huawei-push-kit/src/main/scala/org/apache/pekko/stream/connectors/huawei/pushkit/impl/PushKitJsonSupport.scala
index a511e46a5..e2c2273f8 100644
--- a/huawei-push-kit/src/main/scala/org/apache/pekko/stream/connectors/huawei/pushkit/impl/PushKitJsonSupport.scala
+++ b/huawei-push-kit/src/main/scala/org/apache/pekko/stream/connectors/huawei/pushkit/impl/PushKitJsonSupport.scala
@@ -227,5 +227,5 @@ private[pushkit] object PushKitJsonSupport extends DefaultJsonProtocol with Spra
implicit val webNotificationJsonFormat: RootJsonFormat[WebNotification] = jsonFormat14(WebNotification.apply)
implicit val pushKitNotificationJsonFormat: RootJsonFormat[PushKitNotification] = jsonFormat8(
PushKitNotification.apply)
- implicit val pushKitSendJsonFormat: RootJsonFormat[PushKitSend] = jsonFormat2(PushKitSend)
+ implicit val pushKitSendJsonFormat: RootJsonFormat[PushKitSend] = jsonFormat2(PushKitSend.apply)
}
diff --git a/huawei-push-kit/src/test/scala/docs/scaladsl/PushKitExamples.scala b/huawei-push-kit/src/test/scala/docs/scaladsl/PushKitExamples.scala
index 6350b7bec..7a6d0f5e9 100644
--- a/huawei-push-kit/src/test/scala/docs/scaladsl/PushKitExamples.scala
+++ b/huawei-push-kit/src/test/scala/docs/scaladsl/PushKitExamples.scala
@@ -13,9 +13,9 @@
package docs.scaladsl
-import org.apache.pekko.actor.ActorSystem
//#imports
import org.apache.pekko
+import pekko.actor.ActorSystem
import pekko.stream.connectors.huawei.pushkit._
import pekko.stream.connectors.huawei.pushkit.scaladsl.HmsPushKit
import pekko.stream.connectors.huawei.pushkit.models.AndroidConfig
@@ -38,7 +38,7 @@ import scala.concurrent.Future
class PushKitExamples {
- implicit val system = ActorSystem()
+ implicit val system: ActorSystem = ActorSystem()
// #simple-send
val config = HmsSettings()
diff --git a/huawei-push-kit/src/test/scala/org/apache/pekko/stream/connectors/huawei/pushkit/impl/HmsTokenApiSpec.scala b/huawei-push-kit/src/test/scala/org/apache/pekko/stream/connectors/huawei/pushkit/impl/HmsTokenApiSpec.scala
index 5ff7206bc..99f46463b 100644
--- a/huawei-push-kit/src/test/scala/org/apache/pekko/stream/connectors/huawei/pushkit/impl/HmsTokenApiSpec.scala
+++ b/huawei-push-kit/src/test/scala/org/apache/pekko/stream/connectors/huawei/pushkit/impl/HmsTokenApiSpec.scala
@@ -48,7 +48,7 @@ class HmsTokenApiSpec
override def afterAll() =
TestKit.shutdownActorSystem(system)
- implicit val defaultPatience =
+ implicit val defaultPatience: PatienceConfig =
PatienceConfig(timeout = 2.seconds, interval = 50.millis)
val config = HmsSettings()
diff --git a/huawei-push-kit/src/test/scala/org/apache/pekko/stream/connectors/huawei/pushkit/impl/PushKitSenderSpec.scala b/huawei-push-kit/src/test/scala/org/apache/pekko/stream/connectors/huawei/pushkit/impl/PushKitSenderSpec.scala
index d047ca0f5..cc83e885f 100644
--- a/huawei-push-kit/src/test/scala/org/apache/pekko/stream/connectors/huawei/pushkit/impl/PushKitSenderSpec.scala
+++ b/huawei-push-kit/src/test/scala/org/apache/pekko/stream/connectors/huawei/pushkit/impl/PushKitSenderSpec.scala
@@ -50,7 +50,7 @@ class PushKitSenderSpec
override def afterAll() =
TestKit.shutdownActorSystem(system)
- implicit val defaultPatience =
+ implicit val defaultPatience: PatienceConfig =
PatienceConfig(timeout = 6.seconds, interval = 50.millis)
implicit val executionContext: ExecutionContext = system.dispatcher
diff --git a/influxdb/src/test/scala/docs/scaladsl/FlowSpec.scala b/influxdb/src/test/scala/docs/scaladsl/FlowSpec.scala
index 8178b2c69..246443dba 100644
--- a/influxdb/src/test/scala/docs/scaladsl/FlowSpec.scala
+++ b/influxdb/src/test/scala/docs/scaladsl/FlowSpec.scala
@@ -43,7 +43,7 @@ class FlowSpec
with ScalaFutures
with LogCapturing {
- implicit val system = ActorSystem()
+ implicit val system: ActorSystem = ActorSystem()
final val DatabaseName = this.getClass.getSimpleName
@@ -102,7 +102,7 @@ class FlowSpec
committedOffsets = committedOffsets :+ offset
val f1 = Source(messagesFromKafka)
- .map { kafkaMessage: KafkaMessage =>
+ .map { (kafkaMessage: KafkaMessage) =>
val cpu = kafkaMessage.cpu
println("hostname: " + cpu.getHostname)
@@ -111,7 +111,7 @@ class FlowSpec
.groupedWithin(10, 50.millis)
.via(
InfluxDbFlow.typedWithPassThrough(classOf[InfluxDbFlowCpu]))
- .map { messages: Seq[InfluxDbWriteResult[InfluxDbFlowCpu, KafkaOffset]] =>
+ .map { (messages: Seq[InfluxDbWriteResult[InfluxDbFlowCpu, KafkaOffset]]) =>
messages.foreach { message =>
commitToKafka(message.writeMessage.passThrough)
}
diff --git a/influxdb/src/test/scala/docs/scaladsl/InfluxDbSourceSpec.scala b/influxdb/src/test/scala/docs/scaladsl/InfluxDbSourceSpec.scala
index 3072b825e..35c86547d 100644
--- a/influxdb/src/test/scala/docs/scaladsl/InfluxDbSourceSpec.scala
+++ b/influxdb/src/test/scala/docs/scaladsl/InfluxDbSourceSpec.scala
@@ -39,7 +39,7 @@ class InfluxDbSourceSpec
final val DatabaseName = "InfluxDbSourceSpec"
- implicit val system = ActorSystem()
+ implicit val system: ActorSystem = ActorSystem()
implicit var influxDB: InfluxDB = _
diff --git a/influxdb/src/test/scala/docs/scaladsl/InfluxDbSpec.scala b/influxdb/src/test/scala/docs/scaladsl/InfluxDbSpec.scala
index 61d35d8f6..4de4d3817 100644
--- a/influxdb/src/test/scala/docs/scaladsl/InfluxDbSpec.scala
+++ b/influxdb/src/test/scala/docs/scaladsl/InfluxDbSpec.scala
@@ -41,7 +41,7 @@ class InfluxDbSpec
with ScalaFutures
with LogCapturing {
- implicit val system = ActorSystem()
+ implicit val system: ActorSystem = ActorSystem()
final val DatabaseName = this.getClass.getSimpleName
@@ -81,7 +81,7 @@ class InfluxDbSpec
// #run-typed
val f1 = InfluxDbSource
.typed(classOf[InfluxDbSpecCpu], InfluxDbReadSettings(), influxDB, query)
- .map { cpu: InfluxDbSpecCpu =>
+ .map { (cpu: InfluxDbSpecCpu) =>
{
val clonedCpu = cpu.cloneAt(cpu.getTime.plusSeconds(60000))
List(InfluxDbWriteMessage(clonedCpu))
diff --git a/ironmq/src/main/scala/org/apache/pekko/stream/connectors/ironmq/impl/IronMqPullStage.scala b/ironmq/src/main/scala/org/apache/pekko/stream/connectors/ironmq/impl/IronMqPullStage.scala
index 85891ae3a..2209d120d 100644
--- a/ironmq/src/main/scala/org/apache/pekko/stream/connectors/ironmq/impl/IronMqPullStage.scala
+++ b/ironmq/src/main/scala/org/apache/pekko/stream/connectors/ironmq/impl/IronMqPullStage.scala
@@ -125,12 +125,12 @@ private[ironmq] final class IronMqPullStage(queueName: String, settings: IronMqS
buffer = buffer.tail
}
- private val updateBuffer = getAsyncCallback { xs: List[ReservedMessage] =>
+ private val updateBuffer = getAsyncCallback { (xs: List[ReservedMessage]) =>
buffer = buffer ::: xs
deliveryMessages()
}
- private val updateFetching = getAsyncCallback { x: Boolean =>
+ private val updateFetching = getAsyncCallback { (x: Boolean) =>
fetching = x
}
}
diff --git a/ironmq/src/test/scala/org/apache/pekko/stream/connectors/ironmq/IronMqSpec.scala b/ironmq/src/test/scala/org/apache/pekko/stream/connectors/ironmq/IronMqSpec.scala
index 763e7d57b..f0a930975 100644
--- a/ironmq/src/test/scala/org/apache/pekko/stream/connectors/ironmq/IronMqSpec.scala
+++ b/ironmq/src/test/scala/org/apache/pekko/stream/connectors/ironmq/IronMqSpec.scala
@@ -40,7 +40,7 @@ abstract class IronMqSpec
override implicit val patienceConfig: PatienceConfig = PatienceConfig(timeout = 15.seconds, interval = 1.second)
val DefaultActorSystemTerminateTimeout: Duration = 10.seconds
- private implicit val ec = ExecutionContext.global
+ private implicit val ec: ExecutionContext = ExecutionContext.global
private var mutableIronMqClient = Option.empty[IronMqClient]
private var mutableConfig = Option.empty[Config]
diff --git a/jms/src/test/scala/docs/scaladsl/JmsBufferedAckConnectorsSpec.scala b/jms/src/test/scala/docs/scaladsl/JmsBufferedAckConnectorsSpec.scala
index 01eb1cc6b..5c33cf710 100644
--- a/jms/src/test/scala/docs/scaladsl/JmsBufferedAckConnectorsSpec.scala
+++ b/jms/src/test/scala/docs/scaladsl/JmsBufferedAckConnectorsSpec.scala
@@ -35,7 +35,7 @@ import scala.util.{ Failure, Success }
class JmsBufferedAckConnectorsSpec extends JmsSharedServerSpec {
- override implicit val patienceConfig = PatienceConfig(2.minutes)
+ override implicit val patienceConfig: PatienceConfig = PatienceConfig(2.minutes)
"The JMS Ack Connectors" should {
"publish and consume strings through a queue" in withConnectionFactory() { connectionFactory =>
diff --git a/jms/src/test/scala/docs/scaladsl/JmsIbmmqConnectorsSpec.scala b/jms/src/test/scala/docs/scaladsl/JmsIbmmqConnectorsSpec.scala
index 5184eb5dc..7da5909b3 100644
--- a/jms/src/test/scala/docs/scaladsl/JmsIbmmqConnectorsSpec.scala
+++ b/jms/src/test/scala/docs/scaladsl/JmsIbmmqConnectorsSpec.scala
@@ -26,7 +26,7 @@ import scala.concurrent.duration._
import scala.concurrent.Future
class JmsIbmmqConnectorsSpec extends JmsSpec {
- override implicit val patienceConfig = PatienceConfig(2.minutes)
+ override implicit val patienceConfig: PatienceConfig = PatienceConfig(2.minutes)
"The JMS Ibmmq Connectors" should {
val queueConnectionFactory = {
diff --git a/jms/src/test/scala/docs/scaladsl/JmsTxConnectorsSpec.scala b/jms/src/test/scala/docs/scaladsl/JmsTxConnectorsSpec.scala
index 5b8d74933..4c61c2481 100644
--- a/jms/src/test/scala/docs/scaladsl/JmsTxConnectorsSpec.scala
+++ b/jms/src/test/scala/docs/scaladsl/JmsTxConnectorsSpec.scala
@@ -35,7 +35,7 @@ class JmsTxConnectorsSpec extends JmsSharedServerSpec {
private final val log = LoggerFactory.getLogger(classOf[JmsTxConnectorsSpec])
- override implicit val patienceConfig = PatienceConfig(2.minutes)
+ override implicit val patienceConfig: PatienceConfig = PatienceConfig(2.minutes)
"The JMS Transactional Connectors" should {
"publish and consume strings through a queue" in withConnectionFactory() { connectionFactory =>
diff --git a/jms/src/test/scala/org/apache/pekko/stream/connectors/jms/JmsSpec.scala b/jms/src/test/scala/org/apache/pekko/stream/connectors/jms/JmsSpec.scala
index f5511597a..24c698119 100644
--- a/jms/src/test/scala/org/apache/pekko/stream/connectors/jms/JmsSpec.scala
+++ b/jms/src/test/scala/org/apache/pekko/stream/connectors/jms/JmsSpec.scala
@@ -37,7 +37,7 @@ abstract class JmsSpec
with MockitoSugar
with LogCapturing {
- implicit val system = ActorSystem(this.getClass.getSimpleName)
+ implicit val system: ActorSystem = ActorSystem(this.getClass.getSimpleName)
val consumerConfig = system.settings.config.getConfig(JmsConsumerSettings.configPath)
val producerConfig = system.settings.config.getConfig(JmsProducerSettings.configPath)
diff --git a/jms/src/test/scala/org/apache/pekko/stream/connectors/jms/scaladsl/JmsAckConnectorsSpec.scala b/jms/src/test/scala/org/apache/pekko/stream/connectors/jms/scaladsl/JmsAckConnectorsSpec.scala
index 2f2c5b4a7..10339609b 100644
--- a/jms/src/test/scala/org/apache/pekko/stream/connectors/jms/scaladsl/JmsAckConnectorsSpec.scala
+++ b/jms/src/test/scala/org/apache/pekko/stream/connectors/jms/scaladsl/JmsAckConnectorsSpec.scala
@@ -33,7 +33,7 @@ import scala.util.{ Failure, Success }
class JmsAckConnectorsSpec extends JmsSpec {
- override implicit val patienceConfig = PatienceConfig(2.minutes)
+ override implicit val patienceConfig: PatienceConfig = PatienceConfig(2.minutes)
"The JMS Ack Connectors" should {
"publish and consume strings through a queue" in withConnectionFactory() { connectionFactory =>
diff --git a/kinesis/src/main/scala/org/apache/pekko/stream/connectors/kinesis/ShardIterator.scala b/kinesis/src/main/scala/org/apache/pekko/stream/connectors/kinesis/ShardIterator.scala
index e8b641806..1716bfd87 100644
--- a/kinesis/src/main/scala/org/apache/pekko/stream/connectors/kinesis/ShardIterator.scala
+++ b/kinesis/src/main/scala/org/apache/pekko/stream/connectors/kinesis/ShardIterator.scala
@@ -40,7 +40,7 @@ object ShardIterator {
override final val shardIteratorType: ShardIteratorType = ShardIteratorType.TRIM_HORIZON
}
- case class AtTimestamp private (value: Instant) extends ShardIterator {
+ case class AtTimestamp private[kinesis] (value: Instant) extends ShardIterator {
override final val timestamp: Option[Instant] = Some(value)
override final val startingSequenceNumber: Option[String] = None
diff --git a/kinesis/src/test/scala/org/apache/pekko/stream/connectors/kinesis/KinesisSchedulerSourceSpec.scala b/kinesis/src/test/scala/org/apache/pekko/stream/connectors/kinesis/KinesisSchedulerSourceSpec.scala
index b23a28f50..bca357c36 100644
--- a/kinesis/src/test/scala/org/apache/pekko/stream/connectors/kinesis/KinesisSchedulerSourceSpec.scala
+++ b/kinesis/src/test/scala/org/apache/pekko/stream/connectors/kinesis/KinesisSchedulerSourceSpec.scala
@@ -269,7 +269,7 @@ class KinesisSchedulerSourceSpec
var recordProcessor: ShardRecordProcessor = _
var otherRecordProcessor: ShardRecordProcessor = _
- private val schedulerBuilder = { x: ShardRecordProcessorFactory =>
+ private val schedulerBuilder = { (x: ShardRecordProcessorFactory) =>
recordProcessor = x.shardRecordProcessor()
otherRecordProcessor = x.shardRecordProcessor()
semaphore.release()
@@ -334,12 +334,12 @@ class KinesisSchedulerSourceSpec
var latestRecord: KinesisClientRecord = _
val allRecordsPushed: Future[Unit] = Future {
for (i <- 1 to 3) {
- val record = org.mockito.Mockito.mock(classOf[KinesisClientRecord])
- when(record.sequenceNumber).thenReturn("1")
- when(record.subSequenceNumber).thenReturn(i.toLong)
+ val clientRecord = org.mockito.Mockito.mock(classOf[KinesisClientRecord])
+ when(clientRecord.sequenceNumber).thenReturn("1")
+ when(clientRecord.subSequenceNumber).thenReturn(i.toLong)
sourceProbe.sendNext(
new CommittableRecord(
- record,
+ clientRecord,
new BatchData(null, null, false, 0),
new ShardProcessorData(
"shard-1",
@@ -349,7 +349,7 @@ class KinesisSchedulerSourceSpec
override def forceCheckpoint(): Unit = checkpointer(record)
})
- latestRecord = record
+ latestRecord = clientRecord
}
}
@@ -374,11 +374,11 @@ class KinesisSchedulerSourceSpec
val allRecordsPushed: Future[Unit] = Future {
for (i <- 1 to 3) {
- val record = org.mockito.Mockito.mock(classOf[KinesisClientRecord])
- when(record.sequenceNumber).thenReturn(i.toString)
+ val clientRecord = org.mockito.Mockito.mock(classOf[KinesisClientRecord])
+ when(clientRecord.sequenceNumber).thenReturn(i.toString)
sourceProbe.sendNext(
new CommittableRecord(
- record,
+ clientRecord,
new BatchData(null, null, false, 0),
new ShardProcessorData(
"shard-1",
@@ -388,14 +388,14 @@ class KinesisSchedulerSourceSpec
override def forceCheckpoint(): Unit = checkpointerShard1(record)
})
- latestRecordShard1 = record
+ latestRecordShard1 = clientRecord
}
for (i <- 1 to 3) {
- val record = org.mockito.Mockito.mock(classOf[KinesisClientRecord])
- when(record.sequenceNumber).thenReturn(i.toString)
+ val clientRecord = org.mockito.Mockito.mock(classOf[KinesisClientRecord])
+ when(clientRecord.sequenceNumber).thenReturn(i.toString)
sourceProbe.sendNext(
new CommittableRecord(
- record,
+ clientRecord,
new BatchData(null, null, false, 0),
new ShardProcessorData(
"shard-2",
@@ -405,7 +405,7 @@ class KinesisSchedulerSourceSpec
override def forceCheckpoint(): Unit = checkpointerShard2(record)
})
- latestRecordShard2 = record
+ latestRecordShard2 = clientRecord
}
}
@@ -422,12 +422,12 @@ class KinesisSchedulerSourceSpec
}
"fail with Exception if checkpoint action fails" in new KinesisSchedulerCheckpointContext {
- val record: KinesisClientRecord = org.mockito.Mockito.mock(classOf[KinesisClientRecord])
- when(record.sequenceNumber).thenReturn("1")
+ val clientRecord: KinesisClientRecord = org.mockito.Mockito.mock(classOf[KinesisClientRecord])
+ when(clientRecord.sequenceNumber).thenReturn("1")
val checkpointer: KinesisClientRecord => Unit =
org.mockito.Mockito.mock(classOf[KinesisClientRecord => Unit])
val committableRecord: CommittableRecord = new CommittableRecord(
- record,
+ clientRecord,
new BatchData(null, null, false, 0),
new ShardProcessorData(
"shard-1",
@@ -439,7 +439,7 @@ class KinesisSchedulerSourceSpec
sourceProbe.sendNext(committableRecord)
val failure = new RuntimeException()
- when(checkpointer.apply(record)).thenThrow(failure)
+ when(checkpointer.apply(clientRecord)).thenThrow(failure)
sinkProbe.request(1)
diff --git a/mongodb/src/test/scala/docs/scaladsl/MongoSinkSpec.scala b/mongodb/src/test/scala/docs/scaladsl/MongoSinkSpec.scala
index 09af15528..7804296e9 100644
--- a/mongodb/src/test/scala/docs/scaladsl/MongoSinkSpec.scala
+++ b/mongodb/src/test/scala/docs/scaladsl/MongoSinkSpec.scala
@@ -52,11 +52,11 @@ class MongoSinkSpec
fromRegistries(fromProviders(classOf[Number], classOf[DomainObject]), DEFAULT_CODEC_REGISTRY): @nowarn(
"msg=match may not be exhaustive")
- implicit val system = ActorSystem()
+ implicit val system: ActorSystem = ActorSystem()
+ implicit val defaultPatience: PatienceConfig =
+ PatienceConfig(timeout = 5.seconds, interval = 50.millis)
override protected def beforeAll(): Unit = {
- implicit val patienceConfig =
- PatienceConfig(timeout = 2.seconds, interval = 100.millis)
Source.fromPublisher(db.drop()).runWith(Sink.headOption).futureValue
}
@@ -69,9 +69,6 @@ class MongoSinkSpec
db.getCollection("domainObjectsSink", classOf[DomainObject]).withCodecRegistry(codecRegistry)
private val domainObjectsDocumentColl = db.getCollection("domainObjectsSink")
- implicit val defaultPatience =
- PatienceConfig(timeout = 5.seconds, interval = 50.millis)
-
override def afterEach(): Unit = {
Source.fromPublisher(numbersDocumentColl.deleteMany(new Document())).runWith(Sink.head).futureValue
Source.fromPublisher(domainObjectsDocumentColl.deleteMany(new Document())).runWith(Sink.head).futureValue
diff --git a/mongodb/src/test/scala/docs/scaladsl/MongoSourceSpec.scala b/mongodb/src/test/scala/docs/scaladsl/MongoSourceSpec.scala
index 1e390cbb1..8037a3dff 100644
--- a/mongodb/src/test/scala/docs/scaladsl/MongoSourceSpec.scala
+++ b/mongodb/src/test/scala/docs/scaladsl/MongoSourceSpec.scala
@@ -43,7 +43,7 @@ class MongoSourceSpec
with LogCapturing {
// #init-system
- implicit val system = ActorSystem()
+ implicit val system: ActorSystem = ActorSystem()
// #init-system
override protected def beforeAll(): Unit =
@@ -74,7 +74,7 @@ class MongoSourceSpec
private val numbersDocumentColl = db.getCollection("numbers")
- implicit val defaultPatience =
+ implicit val defaultPatience: PatienceConfig =
PatienceConfig(timeout = 5.seconds, interval = 50.millis)
override def afterEach(): Unit =
diff --git a/orientdb/src/test/scala/docs/scaladsl/OrientDbSpec.scala b/orientdb/src/test/scala/docs/scaladsl/OrientDbSpec.scala
index efce44f7a..f4dff41f9 100644
--- a/orientdb/src/test/scala/docs/scaladsl/OrientDbSpec.scala
+++ b/orientdb/src/test/scala/docs/scaladsl/OrientDbSpec.scala
@@ -159,7 +159,7 @@ class OrientDbSpec extends AnyWordSpec with Matchers with BeforeAndAfterAll with
// Copy source to sink1 through ODocument stream
val f1 = OrientDbSource(
sourceClass,
- OrientDbSourceSettings(oDatabase)).map { message: OrientDbReadResult[ODocument] =>
+ OrientDbSourceSettings(oDatabase)).map { (message: OrientDbReadResult[ODocument]) =>
OrientDbWriteMessage(message.oDocument)
}
.groupedWithin(10, 50.millis)
@@ -173,7 +173,7 @@ class OrientDbSpec extends AnyWordSpec with Matchers with BeforeAndAfterAll with
// #run-odocument
val result: Future[immutable.Seq[String]] = OrientDbSource(
sink4,
- OrientDbSourceSettings(oDatabase)).map { message: OrientDbReadResult[ODocument] =>
+ OrientDbSourceSettings(oDatabase)).map { (message: OrientDbReadResult[ODocument]) =>
message.oDocument.field[String]("book_title")
}
.runWith(Sink.seq)
@@ -197,7 +197,7 @@ class OrientDbSpec extends AnyWordSpec with Matchers with BeforeAndAfterAll with
val f1 = OrientDbSource(
sourceClass,
- OrientDbSourceSettings(oDatabase)).map { message: OrientDbReadResult[ODocument] =>
+ OrientDbSourceSettings(oDatabase)).map { (message: OrientDbReadResult[ODocument]) =>
OrientDbWriteMessage(message.oDocument)
}
.groupedWithin(10, 50.millis)
@@ -231,7 +231,7 @@ class OrientDbSpec extends AnyWordSpec with Matchers with BeforeAndAfterAll with
// #run-typed
val streamCompletion: Future[Done] = OrientDbSource
.typed(sourceClass, OrientDbSourceSettings(oDatabase), classOf[OrientDbTest.source1])
- .map { m: OrientDbReadResult[OrientDbTest.source1] =>
+ .map { (m: OrientDbReadResult[OrientDbTest.source1]) =>
val db: ODatabaseDocumentTx = oDatabase.acquire
db.setDatabaseOwner(new OObjectDatabaseTx(db))
ODatabaseRecordThreadLocal.instance.set(db)
@@ -267,7 +267,7 @@ class OrientDbSpec extends AnyWordSpec with Matchers with BeforeAndAfterAll with
committedOffsets = committedOffsets :+ offset
val f1 = Source(messagesFromKafka)
- .map { kafkaMessage: KafkaMessage =>
+ .map { (kafkaMessage: KafkaMessage) =>
val book = kafkaMessage.book
val id = book.title
println("title: " + book.title)
@@ -279,7 +279,7 @@ class OrientDbSpec extends AnyWordSpec with Matchers with BeforeAndAfterAll with
OrientDbFlow.createWithPassThrough(
sink7,
OrientDbWriteSettings(oDatabase)))
- .map { messages: Seq[OrientDbWriteMessage[ODocument, KafkaOffset]] =>
+ .map { (messages: Seq[OrientDbWriteMessage[ODocument, KafkaOffset]]) =>
messages.foreach { message =>
commitToKafka(message.passThrough)
}
diff --git a/pravega/src/test/scala/docs/scaladsl/PravegaReadWriteDocs.scala b/pravega/src/test/scala/docs/scaladsl/PravegaReadWriteDocs.scala
index 7bf6095c4..6be579e03 100644
--- a/pravega/src/test/scala/docs/scaladsl/PravegaReadWriteDocs.scala
+++ b/pravega/src/test/scala/docs/scaladsl/PravegaReadWriteDocs.scala
@@ -18,6 +18,8 @@ import pekko.actor.ActorSystem
import pekko.stream.connectors.pravega.{
PravegaEvent,
ReaderSettingsBuilder,
+ TableReaderSettingsBuilder,
+ TableWriterSettings,
TableWriterSettingsBuilder,
WriterSettingsBuilder
}
@@ -27,21 +29,21 @@ import io.pravega.client.stream.Serializer
import io.pravega.client.stream.impl.UTF8StringSerializer
import java.nio.ByteBuffer
-import pekko.stream.connectors.pravega.TableReaderSettingsBuilder
import pekko.stream.connectors.pravega.scaladsl.PravegaTable
import pekko.stream.connectors.pravega.scaladsl.Pravega
+
import scala.util.Using
import io.pravega.client.tables.TableKey
class PravegaReadWriteDocs {
- implicit val system = ActorSystem("PravegaDocs")
+ implicit val system: ActorSystem = ActorSystem("PravegaDocs")
val serializer = new UTF8StringSerializer
implicit def personSerialiser: Serializer[Person] = ???
- implicit val intSerializer = new Serializer[Int] {
+ implicit val intSerializer: Serializer[Int] = new Serializer[Int] {
override def serialize(value: Int): ByteBuffer = {
val buff = ByteBuffer.allocate(4).putInt(value)
buff.position(0)
@@ -89,7 +91,7 @@ class PravegaReadWriteDocs {
Pravega
.source(readerGroup, readerSettings)
- .to(Sink.foreach { event: PravegaEvent[String] =>
+ .to(Sink.foreach { (event: PravegaEvent[String]) =>
val message: String = event.message
processMessage(message)
})
@@ -99,7 +101,7 @@ class PravegaReadWriteDocs {
}
- implicit val tablewriterSettings = TableWriterSettingsBuilder[Int, Person]()
+ implicit val tablewriterSettings: TableWriterSettings[Int, Person] = TableWriterSettingsBuilder[Int, Person]()
.withKeyExtractor(id => new TableKey(intSerializer.serialize(id)))
.build()
diff --git a/pravega/src/test/scala/docs/scaladsl/PravegaSettingsSpec.scala b/pravega/src/test/scala/docs/scaladsl/PravegaSettingsSpec.scala
index fa0362dbc..b109878c9 100644
--- a/pravega/src/test/scala/docs/scaladsl/PravegaSettingsSpec.scala
+++ b/pravega/src/test/scala/docs/scaladsl/PravegaSettingsSpec.scala
@@ -31,9 +31,9 @@ import io.pravega.client.tables.TableKey
class PravegaSettingsSpec extends PravegaBaseSpec with Matchers {
- implicit val serializer = new UTF8StringSerializer
+ implicit val serializer: UTF8StringSerializer = new UTF8StringSerializer
- implicit val intSerializer = new Serializer[Int] {
+ implicit val intSerializer: Serializer[Int] = new Serializer[Int] {
override def serialize(value: Int): ByteBuffer = {
val buff = ByteBuffer.allocate(4).putInt(value)
buff.position(0)
diff --git a/pravega/src/test/scala/docs/scaladsl/Serializers.scala b/pravega/src/test/scala/docs/scaladsl/Serializers.scala
index 20edef785..6eb33c596 100644
--- a/pravega/src/test/scala/docs/scaladsl/Serializers.scala
+++ b/pravega/src/test/scala/docs/scaladsl/Serializers.scala
@@ -19,9 +19,9 @@ import io.pravega.client.stream.impl.UTF8StringSerializer
object Serializers {
- implicit val stringSerializer = new UTF8StringSerializer()
+ implicit val stringSerializer: UTF8StringSerializer = new UTF8StringSerializer()
- implicit val personSerializer = new Serializer[Person] {
+ implicit val personSerializer: Serializer[Person] = new Serializer[Person] {
def serialize(x: Person): ByteBuffer = {
val name = x.firstname.getBytes("UTF-8")
val buff = ByteBuffer.allocate(4 + name.length).putInt(x.id)
@@ -38,7 +38,7 @@ object Serializers {
}
- implicit val intSerializer = new Serializer[Int] {
+ implicit val intSerializer: Serializer[Int] = new Serializer[Int] {
override def serialize(value: Int): ByteBuffer = {
val buff = ByteBuffer.allocate(4).putInt(value)
buff.position(0)
diff --git a/project/Common.scala b/project/Common.scala
index 8dd890f1a..2f020dff0 100644
--- a/project/Common.scala
+++ b/project/Common.scala
@@ -30,6 +30,8 @@ object Common extends AutoPlugin {
override def requires = JvmPlugin && HeaderPlugin && ApacheSonatypePlugin && DynVerPlugin
+ val isScala3 = Def.setting(scalaBinaryVersion.value == "3")
+
override def globalSettings = Seq(
scmInfo := Some(ScmInfo(url("https://github.com/apache/incubator-pekko-connectors"),
"git@github.com:apache/incubator-pekko-connectors.git")),
@@ -43,6 +45,12 @@ object Common extends AutoPlugin {
// Ignore unused keys which affect documentation
excludeLintKeys ++= Set(scmInfo, projectInfoVersion, autoAPIMappings))
+ val packagesToSkip = "org.apache.pekko.pattern:" + // for some reason Scaladoc creates this
+ "org.mongodb.scala:" + // this one is a mystery as well
+ // excluding generated grpc classes, except the model ones (com.google.pubsub)
+ "com.google.api:com.google.cloud:com.google.iam:com.google.logging:" +
+ "com.google.longrunning:com.google.protobuf:com.google.rpc:com.google.type"
+
override lazy val projectSettings = Dependencies.Common ++ Seq(
projectInfoVersion := (if (isSnapshot.value) "snapshot" else version.value),
crossVersion := CrossVersion.binary,
@@ -64,13 +72,8 @@ object Common extends AutoPlugin {
"-doc-version",
version.value,
"-sourcepath",
- (ThisBuild / baseDirectory).value.toString,
- "-skip-packages",
- "org.apache.pekko.pattern:" + // for some reason Scaladoc creates this
- "org.mongodb.scala:" + // this one is a mystery as well
- // excluding generated grpc classes, except the model ones (com.google.pubsub)
- "com.google.api:com.google.cloud:com.google.iam:com.google.logging:" +
- "com.google.longrunning:com.google.protobuf:com.google.rpc:com.google.type"),
+ (ThisBuild / baseDirectory).value.toString),
+ Compile / doc / scalacOptions := scalacOptions.value,
Compile / doc / scalacOptions ++=
Seq(
"-doc-source-url", {
@@ -79,6 +82,13 @@ object Common extends AutoPlugin {
},
"-doc-canonical-base-url",
"https://pekko.apache.org/api/pekko-connectors/current/"),
+ Compile / doc / scalacOptions ++= {
+ if (isScala3.value) {
+ Seq("-skip-packages:" + packagesToSkip)
+ } else {
+ Seq("-skip-packages", packagesToSkip)
+ }
+ },
Compile / doc / scalacOptions -= "-Werror",
compile / javacOptions ++= Seq(
"-Xlint:cast",
diff --git a/project/Dependencies.scala b/project/Dependencies.scala
index 6540baa4b..1ab9ff117 100644
--- a/project/Dependencies.scala
+++ b/project/Dependencies.scala
@@ -16,7 +16,8 @@ object Dependencies {
val Scala213 = "2.13.10" // update even in link-validator.conf
val Scala212 = "2.12.17"
- val ScalaVersions = Seq(Scala213, Scala212)
+ val Scala3 = "3.3.0"
+ val ScalaVersions = Seq(Scala213, Scala212, Scala3)
val PekkoVersion = "0.0.0+26669-ec5b6764-SNAPSHOT"
val PekkoBinaryVersion = "current"
@@ -62,7 +63,7 @@ object Dependencies {
val testkit = Seq(
libraryDependencies := Seq(
- "org.scala-lang.modules" %% "scala-collection-compat" % "2.2.0",
+ "org.scala-lang.modules" %% "scala-collection-compat" % "2.10.0",
"org.apache.pekko" %% "pekko-stream" % PekkoVersion,
"org.apache.pekko" %% "pekko-stream-testkit" % PekkoVersion,
"org.apache.pekko" %% "pekko-slf4j" % PekkoVersion,
@@ -88,6 +89,7 @@ object Dependencies {
"com.fasterxml.jackson.core" % "jackson-databind" % JacksonDatabindVersion)
val Amqp = Seq(
+ crossScalaVersions -= Scala3,
libraryDependencies ++= Seq(
"com.rabbitmq" % "amqp-client" % "5.14.2" // APLv2
) ++ Mockito)
@@ -104,6 +106,7 @@ object Dependencies {
ExclusionRule("software.amazon.awssdk", "netty-nio-client"))) ++ Mockito)
val AzureStorageQueue = Seq(
+ crossScalaVersions -= Scala3,
libraryDependencies ++= Seq(
"com.microsoft.azure" % "azure-storage" % "8.0.0" // ApacheV2
))
@@ -113,6 +116,7 @@ object Dependencies {
val CassandraDriverVersionInDocs = "4.15"
val Cassandra = Seq(
+ crossScalaVersions -= Scala3,
libraryDependencies ++= Seq(
("com.datastax.oss" % "java-driver-core" % CassandraDriverVersion)
.exclude("com.github.spotbugs", "spotbugs-annotations")
@@ -121,6 +125,7 @@ object Dependencies {
"org.apache.pekko" %% "pekko-discovery" % PekkoVersion % Provided))
val Couchbase = Seq(
+ crossScalaVersions -= Scala3,
libraryDependencies ++= Seq(
"com.couchbase.client" % "java-client" % CouchbaseVersion, // ApacheV2
"io.reactivex" % "rxjava-reactive-streams" % "1.2.1", // ApacheV2
@@ -151,6 +156,7 @@ object Dependencies {
))
val Elasticsearch = Seq(
+ crossScalaVersions -= Scala3,
libraryDependencies ++= Seq(
"org.apache.pekko" %% "pekko-http" % PekkoHttpVersion,
"org.apache.pekko" %% "pekko-http-spray-json" % PekkoHttpVersion,
@@ -162,17 +168,19 @@ object Dependencies {
))
val AvroParquet = Seq(
+ crossScalaVersions -= Scala3,
libraryDependencies ++= Seq(
"org.apache.parquet" % "parquet-avro" % "1.10.1", // Apache2
("org.apache.hadoop" % "hadoop-client" % "3.2.1" % Test).exclude("log4j", "log4j"), // Apache2
("org.apache.hadoop" % "hadoop-common" % "3.2.1" % Test).exclude("log4j", "log4j"), // Apache2
"com.sksamuel.avro4s" %% "avro4s-core" % "4.1.1" % Test,
"org.scalacheck" %% "scalacheck" % scalaCheckVersion % Test,
- "org.specs2" %% "specs2-core" % "4.8.3" % Test, // MIT like: https://github.com/etorreborre/specs2/blob/master/LICENSE.txt
+ "org.specs2" %% "specs2-core" % "4.20.0" % Test, // MIT like: https://github.com/etorreborre/specs2/blob/master/LICENSE.txt
"org.slf4j" % "log4j-over-slf4j" % log4jOverSlf4jVersion % Test // MIT like: http://www.slf4j.org/license.html
))
val Ftp = Seq(
+ crossScalaVersions -= Scala3,
libraryDependencies ++= Seq(
"commons-net" % "commons-net" % "3.8.0", // ApacheV2
"com.hierynomus" % "sshj" % "0.33.0" // ApacheV2
@@ -182,6 +190,7 @@ object Dependencies {
val GeodeVersionForDocs = "115"
val Geode = Seq(
+ crossScalaVersions -= Scala3,
libraryDependencies ++=
Seq("geode-core", "geode-cq")
.map("org.apache.geode" % _ % GeodeVersion) ++
@@ -190,6 +199,7 @@ object Dependencies {
"org.apache.logging.log4j" % "log4j-to-slf4j" % "2.17.1" % Test) ++ JacksonDatabindDependencies)
val GoogleCommon = Seq(
+ crossScalaVersions -= Scala3,
libraryDependencies ++= Seq(
"org.apache.pekko" %% "pekko-http" % PekkoHttpVersion,
"org.apache.pekko" %% "pekko-http-spray-json" % PekkoHttpVersion,
@@ -199,6 +209,7 @@ object Dependencies {
) ++ Mockito)
val GoogleBigQuery = Seq(
+ crossScalaVersions -= Scala3,
libraryDependencies ++= Seq(
"org.apache.pekko" %% "pekko-http" % PekkoHttpVersion,
"org.apache.pekko" %% "pekko-http-jackson" % PekkoHttpVersion % Provided,
@@ -209,6 +220,7 @@ object Dependencies {
"io.specto" % "hoverfly-java" % hoverflyVersion % Test // ApacheV2
) ++ Mockito)
val GoogleBigQueryStorage = Seq(
+ crossScalaVersions -= Scala3,
// see Pekko gRPC version in plugins.sbt
libraryDependencies ++= Seq(
// https://github.com/googleapis/java-bigquerystorage/tree/master/proto-google-cloud-bigquerystorage-v1
@@ -224,6 +236,7 @@ object Dependencies {
"org.apache.pekko" %% "pekko-discovery" % PekkoVersion) ++ Mockito)
val GooglePubSub = Seq(
+ crossScalaVersions -= Scala3,
libraryDependencies ++= Seq(
"org.apache.pekko" %% "pekko-http" % PekkoHttpVersion,
"org.apache.pekko" %% "pekko-http-spray-json" % PekkoHttpVersion,
@@ -231,6 +244,7 @@ object Dependencies {
) ++ Mockito)
val GooglePubSubGrpc = Seq(
+ crossScalaVersions -= Scala3,
// see Pekko gRPC version in plugins.sbt
libraryDependencies ++= Seq(
// https://github.com/googleapis/java-pubsub/tree/master/proto-google-cloud-pubsub-v1/
@@ -241,11 +255,13 @@ object Dependencies {
"org.apache.pekko" %% "pekko-discovery" % PekkoVersion))
val GoogleFcm = Seq(
+ crossScalaVersions -= Scala3,
libraryDependencies ++= Seq(
"org.apache.pekko" %% "pekko-http" % PekkoHttpVersion,
"org.apache.pekko" %% "pekko-http-spray-json" % PekkoHttpVersion) ++ Mockito)
val GoogleStorage = Seq(
+ crossScalaVersions -= Scala3,
libraryDependencies ++= Seq(
"org.apache.pekko" %% "pekko-http" % PekkoHttpVersion,
"org.apache.pekko" %% "pekko-http-spray-json" % PekkoHttpVersion,
@@ -271,6 +287,7 @@ object Dependencies {
val HadoopVersion = "3.2.1"
val Hdfs = Seq(
+ crossScalaVersions -= Scala3,
libraryDependencies ++= Seq(
("org.apache.hadoop" % "hadoop-client" % HadoopVersion).exclude("log4j", "log4j").exclude("org.slf4j",
"slf4j-log4j12"), // ApacheV2
@@ -285,6 +302,7 @@ object Dependencies {
))
val HuaweiPushKit = Seq(
+ crossScalaVersions -= Scala3,
libraryDependencies ++= Seq(
"org.apache.pekko" %% "pekko-http" % PekkoHttpVersion,
"org.apache.pekko" %% "pekko-http-spray-json" % PekkoHttpVersion,
@@ -297,6 +315,7 @@ object Dependencies {
))
val IronMq = Seq(
+ crossScalaVersions -= Scala3,
libraryDependencies ++= Seq(
"org.apache.pekko" %% "pekko-http" % PekkoHttpVersion,
"org.mdedetrich" %% "pekko-stream-circe" % "0.0.0+94-dbf3173f-SNAPSHOT", // ApacheV2
@@ -304,6 +323,7 @@ object Dependencies {
))
val Jms = Seq(
+ crossScalaVersions -= Scala3,
libraryDependencies ++= Seq(
"javax.jms" % "jms" % "1.1" % Provided, // CDDL + GPLv2
"com.ibm.mq" % "com.ibm.mq.allclient" % "9.2.5.0" % Test, // IBM International Program License Agreement https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/messaging/mqdev/maven/licenses/L-APIG-AZYF2E/LI_en.html
@@ -316,6 +336,7 @@ object Dependencies {
"https://repository.jboss.org/nexus/content/groups/public")) +: externalResolvers.value)
val JsonStreaming = Seq(
+ crossScalaVersions -= Scala3,
libraryDependencies ++= Seq(
"com.github.jsurfer" % "jsurfer-jackson" % "1.6.0" // MIT
) ++ JacksonDatabindDependencies)
@@ -341,6 +362,7 @@ object Dependencies {
))
val MongoDb = Seq(
+ crossScalaVersions -= Scala3,
libraryDependencies ++= Seq(
"org.mongodb.scala" %% "mongo-scala-driver" % "4.4.0" // ApacheV2
))
@@ -351,6 +373,7 @@ object Dependencies {
))
val MqttStreaming = Seq(
+ crossScalaVersions -= Scala3,
libraryDependencies ++= Seq(
"org.apache.pekko" %% "pekko-actor-typed" % PekkoVersion, // ApacheV2
"org.apache.pekko" %% "pekko-actor-testkit-typed" % PekkoVersion % Test, // ApacheV2
@@ -382,6 +405,7 @@ object Dependencies {
))
val S3 = Seq(
+ crossScalaVersions -= Scala3,
libraryDependencies ++= Seq(
"org.apache.pekko" %% "pekko-http" % PekkoHttpVersion,
"org.apache.pekko" %% "pekko-http-xml" % PekkoHttpVersion,
@@ -408,6 +432,7 @@ object Dependencies {
val SlickVersion = "3.3.3"
val Slick = Seq(
+ crossScalaVersions -= Scala3,
libraryDependencies ++= Seq(
"com.typesafe.slick" %% "slick" % SlickVersion, // BSD 2-clause "Simplified" License
"com.typesafe.slick" %% "slick-hikaricp" % SlickVersion, // BSD 2-clause "Simplified" License
@@ -468,6 +493,7 @@ object Dependencies {
"org.apache.pekko" %% "pekko-http-testkit" % PekkoHttpVersion % Test))
val UnixDomainSocket = Seq(
+ crossScalaVersions -= Scala3,
libraryDependencies ++= Seq(
"com.github.jnr" % "jffi" % "1.3.1", // classifier "complete", // Is the classifier needed anymore?
"com.github.jnr" % "jnr-unixsocket" % "0.38.5" // BSD/ApacheV2/CPL/MIT as per https://github.com/akka/alpakka/issues/620#issuecomment-348727265
diff --git a/reference/src/main/scala/org/apache/pekko/stream/connectors/reference/Resource.scala b/reference/src/main/scala/org/apache/pekko/stream/connectors/reference/Resource.scala
index e21449b4a..461fbe92f 100644
--- a/reference/src/main/scala/org/apache/pekko/stream/connectors/reference/Resource.scala
+++ b/reference/src/main/scala/org/apache/pekko/stream/connectors/reference/Resource.scala
@@ -116,7 +116,7 @@ object ResourceSettings {
* there is only one instance of the resource instantiated per Actor System.
*/
final class ResourceExt private (sys: ExtendedActorSystem) extends Extension {
- implicit val resource = Resource(ResourceSettings()(sys))
+ implicit val resource: Resource = Resource(ResourceSettings()(sys))
sys.registerOnTermination(resource.cleanup())
}
diff --git a/s3/src/test/scala/org/apache/pekko/stream/connectors/s3/impl/HttpRequestsSpec.scala b/s3/src/test/scala/org/apache/pekko/stream/connectors/s3/impl/HttpRequestsSpec.scala
index db019dcd2..f5d851291 100644
--- a/s3/src/test/scala/org/apache/pekko/stream/connectors/s3/impl/HttpRequestsSpec.scala
+++ b/s3/src/test/scala/org/apache/pekko/stream/connectors/s3/impl/HttpRequestsSpec.scala
@@ -14,7 +14,6 @@
package org.apache.pekko.stream.connectors.s3.impl
import java.util.UUID
-
import org.apache.pekko
import pekko.actor.ActorSystem
import pekko.http.scaladsl.Http
@@ -33,6 +32,8 @@ import software.amazon.awssdk.auth.credentials._
import software.amazon.awssdk.regions.Region
import software.amazon.awssdk.regions.providers._
+import scala.concurrent.ExecutionContext
+
class HttpRequestsSpec extends AnyFlatSpec with Matchers with ScalaFutures with IntegrationPatience with LogCapturing {
// test fixtures
@@ -55,7 +56,7 @@ class HttpRequestsSpec extends AnyFlatSpec with Matchers with ScalaFutures with
val multipartUpload = MultipartUpload("test-bucket", "testKey", "uploadId")
it should "initiate multipart upload when the region is us-east-1" in {
- implicit val settings = getSettings()
+ implicit val settings: S3Settings = getSettings()
val req =
HttpRequests.initiateMultipartUploadRequest(
@@ -74,7 +75,7 @@ class HttpRequestsSpec extends AnyFlatSpec with Matchers with ScalaFutures with
}
it should "initiate multipart upload with other regions" in {
- implicit val settings = getSettings(s3Region = Region.US_EAST_2)
+ implicit val settings: S3Settings = getSettings(s3Region = Region.US_EAST_2)
val req =
HttpRequests.initiateMultipartUploadRequest(
@@ -93,21 +94,22 @@ class HttpRequestsSpec extends AnyFlatSpec with Matchers with ScalaFutures with
}
it should "throw an error if path-style access is false and the bucket name contains non-LDH characters" in {
- implicit val settings = getSettings(s3Region = Region.EU_WEST_1)
+ implicit val settings: S3Settings = getSettings(s3Region = Region.EU_WEST_1)
assertThrows[IllegalUriException](
HttpRequests.getDownloadRequest(S3Location("invalid_bucket_name", "image-1024@2x")))
}
it should "throw an error if the key uses `..`" in {
- implicit val settings = getSettings(s3Region = Region.EU_WEST_1)
+ implicit val settings: S3Settings = getSettings(s3Region = Region.EU_WEST_1)
assertThrows[IllegalUriException](
HttpRequests.getDownloadRequest(S3Location("validbucket", "../other-bucket/image-1024@2x")))
}
it should "throw an error when using `..` with path-style access" in {
- implicit val settings = getSettings(s3Region = Region.EU_WEST_1).withAccessStyle(AccessStyle.PathAccessStyle)
+ implicit val settings: S3Settings =
+ getSettings(s3Region = Region.EU_WEST_1).withAccessStyle(AccessStyle.PathAccessStyle)
assertThrows[IllegalUriException](
HttpRequests.getDownloadRequest(S3Location("invalid/../bucket_name", "image-1024@2x")))
@@ -120,7 +122,8 @@ class HttpRequestsSpec extends AnyFlatSpec with Matchers with ScalaFutures with
}
it should "initiate multipart upload with path-style access in region us-east-1" in {
- implicit val settings = getSettings(s3Region = Region.US_EAST_1).withAccessStyle(AccessStyle.PathAccessStyle)
+ implicit val settings: S3Settings =
+ getSettings(s3Region = Region.US_EAST_1).withAccessStyle(AccessStyle.PathAccessStyle)
val req =
HttpRequests.initiateMultipartUploadRequest(
@@ -133,7 +136,8 @@ class HttpRequestsSpec extends AnyFlatSpec with Matchers with ScalaFutures with
}
it should "support download requests with path-style access in region us-east-1" in {
- implicit val settings = getSettings(s3Region = Region.US_EAST_1).withAccessStyle(AccessStyle.PathAccessStyle)
+ implicit val settings: S3Settings =
+ getSettings(s3Region = Region.US_EAST_1).withAccessStyle(AccessStyle.PathAccessStyle)
val req = HttpRequests.getDownloadRequest(location)
@@ -143,7 +147,8 @@ class HttpRequestsSpec extends AnyFlatSpec with Matchers with ScalaFutures with
}
it should "initiate multipart upload with path-style access in other regions" in {
- implicit val settings = getSettings(s3Region = Region.US_WEST_2).withAccessStyle(AccessStyle.PathAccessStyle)
+ implicit val settings: S3Settings =
+ getSettings(s3Region = Region.US_WEST_2).withAccessStyle(AccessStyle.PathAccessStyle)
val req =
HttpRequests.initiateMultipartUploadRequest(
@@ -156,7 +161,8 @@ class HttpRequestsSpec extends AnyFlatSpec with Matchers with ScalaFutures with
}
it should "support download requests with path-style access in other regions" in {
- implicit val settings = getSettings(s3Region = Region.EU_WEST_1).withAccessStyle(AccessStyle.PathAccessStyle)
+ implicit val settings: S3Settings =
+ getSettings(s3Region = Region.EU_WEST_1).withAccessStyle(AccessStyle.PathAccessStyle)
val req = HttpRequests.getDownloadRequest(location)
@@ -166,7 +172,8 @@ class HttpRequestsSpec extends AnyFlatSpec with Matchers with ScalaFutures with
}
it should "support download requests via configured `endpointUrl`" in {
- implicit val settings = getSettings(s3Region = Region.EU_WEST_1).withEndpointUrl("http://localhost:8080")
+ implicit val settings: S3Settings =
+ getSettings(s3Region = Region.EU_WEST_1).withEndpointUrl("http://localhost:8080")
val req = HttpRequests.getDownloadRequest(location)
@@ -180,7 +187,7 @@ class HttpRequestsSpec extends AnyFlatSpec with Matchers with ScalaFutures with
// into an object at path /[empty string]/...
// added this test because of a tricky uri building issue
// in case of pathStyleAccess = false
- implicit val settings = getSettings()
+ implicit val settings: S3Settings = getSettings()
val location = S3Location("bucket", "/test/foo.txt")
@@ -193,7 +200,7 @@ class HttpRequestsSpec extends AnyFlatSpec with Matchers with ScalaFutures with
it should "support download requests with keys ending with /" in {
// object with a slash at the end of the filename should be accessible
- implicit val settings = getSettings()
+ implicit val settings: S3Settings = getSettings()
val location = S3Location("bucket", "/test//")
@@ -205,7 +212,7 @@ class HttpRequestsSpec extends AnyFlatSpec with Matchers with ScalaFutures with
}
it should "support download requests with keys containing spaces" in {
- implicit val settings = getSettings()
+ implicit val settings: S3Settings = getSettings()
val location = S3Location("bucket", "test folder/test file.txt")
@@ -217,7 +224,7 @@ class HttpRequestsSpec extends AnyFlatSpec with Matchers with ScalaFutures with
}
it should "support download requests with keys containing plus" in {
- implicit val settings = getSettings()
+ implicit val settings: S3Settings = getSettings()
val location = S3Location("bucket", "test folder/1 + 2 = 3")
val req = HttpRequests.getDownloadRequest(location)
@@ -227,7 +234,8 @@ class HttpRequestsSpec extends AnyFlatSpec with Matchers with ScalaFutures with
}
it should "support download requests with keys containing spaces with path-style access in other regions" in {
- implicit val settings = getSettings(s3Region = Region.EU_WEST_1).withAccessStyle(AccessStyle.PathAccessStyle)
+ implicit val settings: S3Settings =
+ getSettings(s3Region = Region.EU_WEST_1).withAccessStyle(AccessStyle.PathAccessStyle)
val location = S3Location("bucket", "test folder/test file.txt")
@@ -239,7 +247,7 @@ class HttpRequestsSpec extends AnyFlatSpec with Matchers with ScalaFutures with
}
it should "add versionId query parameter when provided" in {
- implicit val settings = getSettings().withAccessStyle(AccessStyle.PathAccessStyle)
+ implicit val settings: S3Settings = getSettings().withAccessStyle(AccessStyle.PathAccessStyle)
val location = S3Location("bucket", "test/foo.txt")
val versionId = "123456"
@@ -253,7 +261,8 @@ class HttpRequestsSpec extends AnyFlatSpec with Matchers with ScalaFutures with
}
it should "support multipart init upload requests via configured `endpointUrl`" in {
- implicit val settings = getSettings(s3Region = Region.EU_WEST_1).withEndpointUrl("http://localhost:8080")
+ implicit val settings: S3Settings =
+ getSettings(s3Region = Region.EU_WEST_1).withEndpointUrl("http://localhost:8080")
val req =
HttpRequests.initiateMultipartUploadRequest(
@@ -267,7 +276,8 @@ class HttpRequestsSpec extends AnyFlatSpec with Matchers with ScalaFutures with
}
it should "support multipart upload part requests via configured `endpointUrl`" in {
- implicit val settings = getSettings(s3Region = Region.EU_WEST_1).withEndpointUrl("http://localhost:8080")
+ implicit val settings: S3Settings =
+ getSettings(s3Region = Region.EU_WEST_1).withEndpointUrl("http://localhost:8080")
val req =
HttpRequests.uploadPartRequest(multipartUpload, 1, MemoryChunk(ByteString.empty))
@@ -278,7 +288,8 @@ class HttpRequestsSpec extends AnyFlatSpec with Matchers with ScalaFutures with
}
it should "properly multipart upload part request with customer keys server side encryption" in {
- implicit val settings = getSettings(s3Region = Region.EU_WEST_1).withAccessStyle(AccessStyle.PathAccessStyle)
+ implicit val settings: S3Settings =
+ getSettings(s3Region = Region.EU_WEST_1).withAccessStyle(AccessStyle.PathAccessStyle)
val myKey = "my-key"
val md5Key = "md5-key"
val s3Headers = ServerSideEncryption.customerKeys(myKey).withMd5(md5Key).headersFor(UploadPart)
@@ -290,8 +301,9 @@ class HttpRequestsSpec extends AnyFlatSpec with Matchers with ScalaFutures with
}
it should "support multipart upload complete requests via configured `endpointUrl`" in {
- implicit val settings = getSettings(s3Region = Region.EU_WEST_1).withEndpointUrl("http://localhost:8080")
- implicit val executionContext = scala.concurrent.ExecutionContext.global
+ implicit val settings: S3Settings =
+ getSettings(s3Region = Region.EU_WEST_1).withEndpointUrl("http://localhost:8080")
+ implicit val executionContext: ExecutionContext = ExecutionContext.global
val req =
HttpRequests.completeMultipartUploadRequest(multipartUpload, (1, "part") :: Nil, Nil).futureValue
@@ -302,7 +314,7 @@ class HttpRequestsSpec extends AnyFlatSpec with Matchers with ScalaFutures with
}
it should "initiate multipart upload with AES-256 server side encryption" in {
- implicit val settings = getSettings(s3Region = Region.US_EAST_2)
+ implicit val settings: S3Settings = getSettings(s3Region = Region.US_EAST_2)
val s3Headers = ServerSideEncryption.aes256().headersFor(InitiateMultipartUpload)
val req = HttpRequests.initiateMultipartUploadRequest(location, contentType, s3Headers)
@@ -310,7 +322,7 @@ class HttpRequestsSpec extends AnyFlatSpec with Matchers with ScalaFutures with
}
it should "initiate multipart upload with aws:kms server side encryption" in {
- implicit val settings = getSettings(s3Region = Region.US_EAST_2)
+ implicit val settings: S3Settings = getSettings(s3Region = Region.US_EAST_2)
val testArn = "arn:aws:kms:my-region:my-account-id:key/my-key-id"
val s3Headers = ServerSideEncryption.kms(testArn).headersFor(InitiateMultipartUpload)
val req = HttpRequests.initiateMultipartUploadRequest(location, contentType, s3Headers)
@@ -320,7 +332,7 @@ class HttpRequestsSpec extends AnyFlatSpec with Matchers with ScalaFutures with
}
it should "initiate multipart upload with customer keys encryption" in {
- implicit val settings = getSettings(s3Region = Region.US_EAST_2)
+ implicit val settings: S3Settings = getSettings(s3Region = Region.US_EAST_2)
val myKey = "my-key"
val md5Key = "md5-key"
val s3Headers = ServerSideEncryption.customerKeys(myKey).withMd5(md5Key).headersFor(InitiateMultipartUpload)
@@ -332,7 +344,7 @@ class HttpRequestsSpec extends AnyFlatSpec with Matchers with ScalaFutures with
}
it should "initiate multipart upload with custom s3 storage class" in {
- implicit val settings = getSettings(s3Region = Region.US_EAST_2)
+ implicit val settings: S3Settings = getSettings(s3Region = Region.US_EAST_2)
val s3Headers = S3Headers().withStorageClass(StorageClass.ReducedRedundancy).headers
val req = HttpRequests.initiateMultipartUploadRequest(location, contentType, s3Headers)
@@ -340,7 +352,7 @@ class HttpRequestsSpec extends AnyFlatSpec with Matchers with ScalaFutures with
}
it should "initiate multipart upload with custom s3 headers" in {
- implicit val settings = getSettings(s3Region = Region.US_EAST_2)
+ implicit val settings: S3Settings = getSettings(s3Region = Region.US_EAST_2)
val s3Headers = S3Headers().withCustomHeaders(Map("Cache-Control" -> "no-cache")).headers
val req = HttpRequests.initiateMultipartUploadRequest(location, contentType, s3Headers)
@@ -348,7 +360,8 @@ class HttpRequestsSpec extends AnyFlatSpec with Matchers with ScalaFutures with
}
it should "properly construct the list bucket request with no prefix, continuation token or delimiter passed" in {
- implicit val settings = getSettings(s3Region = Region.US_EAST_2).withAccessStyle(AccessStyle.PathAccessStyle)
+ implicit val settings: S3Settings =
+ getSettings(s3Region = Region.US_EAST_2).withAccessStyle(AccessStyle.PathAccessStyle)
val req =
HttpRequests.listBucket(location.bucket)
@@ -357,7 +370,8 @@ class HttpRequestsSpec extends AnyFlatSpec with Matchers with ScalaFutures with
}
it should "properly construct the list bucket request with a prefix and token passed" in {
- implicit val settings = getSettings(s3Region = Region.US_EAST_2).withAccessStyle(AccessStyle.PathAccessStyle)
+ implicit val settings: S3Settings =
+ getSettings(s3Region = Region.US_EAST_2).withAccessStyle(AccessStyle.PathAccessStyle)
val req =
HttpRequests.listBucket(location.bucket, Some("random/prefix"), Some("randomToken"))
@@ -368,7 +382,8 @@ class HttpRequestsSpec extends AnyFlatSpec with Matchers with ScalaFutures with
}
it should "properly construct the list bucket request with a delimiter and token passed" in {
- implicit val settings = getSettings(s3Region = Region.US_EAST_2).withAccessStyle(AccessStyle.PathAccessStyle)
+ implicit val settings: S3Settings =
+ getSettings(s3Region = Region.US_EAST_2).withAccessStyle(AccessStyle.PathAccessStyle)
val req =
HttpRequests.listBucket(location.bucket, delimiter = Some("/"), continuationToken = Some("randomToken"))
@@ -377,7 +392,7 @@ class HttpRequestsSpec extends AnyFlatSpec with Matchers with ScalaFutures with
}
it should "properly construct the list bucket request when using api version 1" in {
- implicit val settings =
+ implicit val settings: S3Settings =
getSettings(s3Region = Region.US_EAST_2, listBucketApiVersion = ApiVersion.ListBucketVersion1)
.withAccessStyle(AccessStyle.PathAccessStyle)
@@ -388,7 +403,7 @@ class HttpRequestsSpec extends AnyFlatSpec with Matchers with ScalaFutures with
}
it should "properly construct the list bucket request when using api version set to 1 and a continuation token" in {
- implicit val settings =
+ implicit val settings: S3Settings =
getSettings(s3Region = Region.US_EAST_2, listBucketApiVersion = ApiVersion.ListBucketVersion1)
.withAccessStyle(AccessStyle.PathAccessStyle)
diff --git a/s3/src/test/scala/org/apache/pekko/stream/connectors/s3/impl/S3StreamSpec.scala b/s3/src/test/scala/org/apache/pekko/stream/connectors/s3/impl/S3StreamSpec.scala
index c665056e5..5c24dbc7f 100644
--- a/s3/src/test/scala/org/apache/pekko/stream/connectors/s3/impl/S3StreamSpec.scala
+++ b/s3/src/test/scala/org/apache/pekko/stream/connectors/s3/impl/S3StreamSpec.scala
@@ -62,7 +62,7 @@ class S3StreamSpec(_system: ActorSystem)
}
val location = S3Location("test-bucket", "test-key")
- implicit val settings =
+ implicit val settings: S3Settings =
S3Settings(MemoryBufferType, credentialsProvider, regionProvider, ApiVersion.ListBucketVersion2)
val result: HttpRequest = S3Stream.invokePrivate(requestHeaders(getDownloadRequest(location), None))
@@ -86,7 +86,7 @@ class S3StreamSpec(_system: ActorSystem)
val location = S3Location("test-bucket", "test-key")
val range = ByteRange(1, 4)
- implicit val settings =
+ implicit val settings: S3Settings =
S3Settings(MemoryBufferType, credentialsProvider, regionProvider, ApiVersion.ListBucketVersion2)
val result: HttpRequest = S3Stream.invokePrivate(requestHeaders(getDownloadRequest(location), Some(range)))
diff --git a/s3/src/test/scala/org/apache/pekko/stream/connectors/s3/impl/auth/SignerSpec.scala b/s3/src/test/scala/org/apache/pekko/stream/connectors/s3/impl/auth/SignerSpec.scala
index 0ae1be6a6..75621b3bd 100644
--- a/s3/src/test/scala/org/apache/pekko/stream/connectors/s3/impl/auth/SignerSpec.scala
+++ b/s3/src/test/scala/org/apache/pekko/stream/connectors/s3/impl/auth/SignerSpec.scala
@@ -41,7 +41,7 @@ class SignerSpec(_system: ActorSystem)
with LogCapturing {
def this() = this(ActorSystem("SignerSpec"))
- implicit val defaultPatience =
+ implicit val defaultPatience: PatienceConfig =
PatienceConfig(timeout = Span(2, Seconds), interval = Span(5, Millis))
val credentials = StaticCredentialsProvider.create(
diff --git a/slick/src/test/scala/docs/scaladsl/DocSnippets.scala b/slick/src/test/scala/docs/scaladsl/DocSnippets.scala
index b0112d3ae..fe20fd3fd 100644
--- a/slick/src/test/scala/docs/scaladsl/DocSnippets.scala
+++ b/slick/src/test/scala/docs/scaladsl/DocSnippets.scala
@@ -16,6 +16,8 @@ package docs.scaladsl
import org.apache.pekko
import pekko.Done
import pekko.actor.ActorSystem
+
+import scala.concurrent.ExecutionContext
//#important-imports
import org.apache.pekko
import pekko.stream.connectors.slick.scaladsl._
@@ -26,8 +28,8 @@ import slick.jdbc.GetResult
import scala.concurrent.Future
object SlickSourceWithPlainSQLQueryExample extends App {
- implicit val system = ActorSystem()
- implicit val ec = system.dispatcher
+ implicit val system: ActorSystem = ActorSystem()
+ implicit val ec: ExecutionContext = system.dispatcher
// #source-example
implicit val session = SlickSession.forConfig("slick-h2")
@@ -62,8 +64,8 @@ object SlickSourceWithPlainSQLQueryExample extends App {
}
object SlickSourceWithTypedQueryExample extends App {
- implicit val system = ActorSystem()
- implicit val ec = system.dispatcher
+ implicit val system: ActorSystem = ActorSystem()
+ implicit val ec: ExecutionContext = system.dispatcher
// #source-with-typed-query
implicit val session = SlickSession.forConfig("slick-h2")
@@ -94,8 +96,8 @@ object SlickSourceWithTypedQueryExample extends App {
}
object SlickSinkExample extends App {
- implicit val system = ActorSystem()
- implicit val ec = system.dispatcher
+ implicit val system: ActorSystem = ActorSystem()
+ implicit val ec: ExecutionContext = system.dispatcher
// #sink-example
implicit val session = SlickSession.forConfig("slick-h2")
@@ -125,8 +127,8 @@ object SlickSinkExample extends App {
}
object SlickFlowExample extends App {
- implicit val system = ActorSystem()
- implicit val ec = system.dispatcher
+ implicit val system: ActorSystem = ActorSystem()
+ implicit val ec: ExecutionContext = system.dispatcher
// #flow-example
implicit val session = SlickSession.forConfig("slick-h2")
@@ -168,8 +170,8 @@ object SlickFlowWithPassThroughExample extends App {
def map[B](f: A => B): KafkaMessage[B] = KafkaMessage(f(msg), offset)
}
- implicit val system = ActorSystem()
- implicit val ec = system.dispatcher
+ implicit val system: ActorSystem = ActorSystem()
+ implicit val ec: ExecutionContext = system.dispatcher
// #flowWithPassThrough-example
implicit val session = SlickSession.forConfig("slick-h2")
diff --git a/slick/src/test/scala/docs/scaladsl/SlickSpec.scala b/slick/src/test/scala/docs/scaladsl/SlickSpec.scala
index 127356dac..3fd8fc815 100644
--- a/slick/src/test/scala/docs/scaladsl/SlickSpec.scala
+++ b/slick/src/test/scala/docs/scaladsl/SlickSpec.scala
@@ -27,7 +27,7 @@ import slick.dbio.DBIOAction
import slick.jdbc.{ GetResult, JdbcProfile }
import scala.concurrent.duration._
-import scala.concurrent.{ Await, Future }
+import scala.concurrent.{ Await, ExecutionContext, Future }
import org.scalatest.matchers.must.Matchers
import org.scalatest.wordspec.AnyWordSpec
@@ -43,7 +43,7 @@ class SlickSpec
with Matchers
with LogCapturing {
// #init-mat
- implicit val system = ActorSystem()
+ implicit val system: ActorSystem = ActorSystem()
// #init-mat
// #init-session
@@ -59,9 +59,9 @@ class SlickSpec
def * = (id, name)
}
- implicit val ec = system.dispatcher
- implicit val defaultPatience = PatienceConfig(timeout = 3.seconds, interval = 50.millis)
- implicit val getUserResult = GetResult(r => User(r.nextInt(), r.nextString()))
+ implicit val ec: ExecutionContext = system.dispatcher
+ implicit val defaultPatience: PatienceConfig = PatienceConfig(timeout = 3.seconds, interval = 50.millis)
+ implicit val getUserResult: GetResult[User] = GetResult(r => User(r.nextInt(), r.nextString()))
val users = (1 to 40).map(i => User(i, s"Name$i")).toSet
diff --git a/sns/src/test/scala/docs/scaladsl/SnsPublisherSpec.scala b/sns/src/test/scala/docs/scaladsl/SnsPublisherSpec.scala
index efea2cc2a..9fc774f7d 100644
--- a/sns/src/test/scala/docs/scaladsl/SnsPublisherSpec.scala
+++ b/sns/src/test/scala/docs/scaladsl/SnsPublisherSpec.scala
@@ -34,7 +34,7 @@ class SnsPublisherSpec
with IntegrationTestContext
with LogCapturing {
- implicit val defaultPatience =
+ implicit val defaultPatience: PatienceConfig =
PatienceConfig(timeout = 15.seconds, interval = 100.millis)
"SNS Publisher sink" should "send string message" in {
diff --git a/solr/src/test/scala/docs/scaladsl/SolrSpec.scala b/solr/src/test/scala/docs/scaladsl/SolrSpec.scala
index 3d8b80169..f38d9e1cb 100644
--- a/solr/src/test/scala/docs/scaladsl/SolrSpec.scala
+++ b/solr/src/test/scala/docs/scaladsl/SolrSpec.scala
@@ -90,7 +90,7 @@ class SolrSpec extends AnyWordSpec with Matchers with BeforeAndAfterAll with Sca
// #run-document
val copyCollection = SolrSource
.fromTupleStream(stream)
- .map { tuple: Tuple =>
+ .map { (tuple: Tuple) =>
val book: Book = tupleToBook(tuple)
val doc: SolrInputDocument = bookToDoc(book)
WriteMessage.createUpsertMessage(doc)
@@ -138,7 +138,7 @@ class SolrSpec extends AnyWordSpec with Matchers with BeforeAndAfterAll with Sca
// #run-bean
val copyCollection = SolrSource
.fromTupleStream(stream)
- .map { tuple: Tuple =>
+ .map { (tuple: Tuple) =>
val title = tuple.getString("title")
WriteMessage.createUpsertMessage(BookBean(title))
}
@@ -179,7 +179,7 @@ class SolrSpec extends AnyWordSpec with Matchers with BeforeAndAfterAll with Sca
// #run-typed
val copyCollection = SolrSource
.fromTupleStream(stream)
- .map { tuple: Tuple =>
+ .map { (tuple: Tuple) =>
val book: Book = tupleToBook(tuple)
WriteMessage.createUpsertMessage(book)
}
@@ -223,7 +223,7 @@ class SolrSpec extends AnyWordSpec with Matchers with BeforeAndAfterAll with Sca
// #typeds-flow
val copyCollection = SolrSource
.fromTupleStream(stream)
- .map { tuple: Tuple =>
+ .map { (tuple: Tuple) =>
val book: Book = tupleToBook(tuple)
WriteMessage.createUpsertMessage(book)
}
@@ -294,7 +294,7 @@ class SolrSpec extends AnyWordSpec with Matchers with BeforeAndAfterAll with Sca
// #kafka-example
// Note: This code mimics Pekko Connectors Kafka APIs
val copyCollection = kafkaConsumerSource
- .map { kafkaMessage: CommittableMessage =>
+ .map { (kafkaMessage: CommittableMessage) =>
val book = kafkaMessage.book
// Transform message so that we can write to solr
WriteMessage.createUpsertMessage(book).withPassThrough(kafkaMessage.committableOffset)
@@ -340,7 +340,7 @@ class SolrSpec extends AnyWordSpec with Matchers with BeforeAndAfterAll with Sca
val copyCollection = SolrSource
.fromTupleStream(stream)
- .map { tuple: Tuple =>
+ .map { (tuple: Tuple) =>
val book: Book = tupleToBook(tuple)
val doc: SolrInputDocument = bookToDoc(book)
WriteMessage.createUpsertMessage(doc)
@@ -360,7 +360,7 @@ class SolrSpec extends AnyWordSpec with Matchers with BeforeAndAfterAll with Sca
// #delete-documents
val deleteDocuments = SolrSource
.fromTupleStream(stream2)
- .map { tuple: Tuple =>
+ .map { (tuple: Tuple) =>
val id = tuple.fields.get("title").toString
WriteMessage.createDeleteMessage[SolrInputDocument](id)
}
@@ -393,7 +393,7 @@ class SolrSpec extends AnyWordSpec with Matchers with BeforeAndAfterAll with Sca
val upsertCollection = SolrSource
.fromTupleStream(stream)
- .map { tuple: Tuple =>
+ .map { (tuple: Tuple) =>
val book: Book = tupleToBook(tuple)
.copy(comment = "Written by good authors.")
val doc: SolrInputDocument = bookToDoc(book)
@@ -414,7 +414,7 @@ class SolrSpec extends AnyWordSpec with Matchers with BeforeAndAfterAll with Sca
// #update-atomically-documents
val updateCollection = SolrSource
.fromTupleStream(stream2)
- .map { tuple: Tuple =>
+ .map { (tuple: Tuple) =>
val id = tuple.fields.get("title").toString
val comment = tuple.fields.get("comment").toString
WriteMessage.createUpdateMessage[SolrInputDocument](
@@ -461,7 +461,7 @@ class SolrSpec extends AnyWordSpec with Matchers with BeforeAndAfterAll with Sca
val copyCollection = SolrSource
.fromTupleStream(stream)
- .map { tuple: Tuple =>
+ .map { (tuple: Tuple) =>
val book: Book = tupleToBook(tuple)
WriteMessage.createUpsertMessage(book)
}
@@ -482,7 +482,7 @@ class SolrSpec extends AnyWordSpec with Matchers with BeforeAndAfterAll with Sca
val deleteElements = SolrSource
.fromTupleStream(stream2)
- .map { tuple: Tuple =>
+ .map { (tuple: Tuple) =>
val title = tuple.fields.get("title").toString
WriteMessage.createDeleteMessage[Book](title)
}
@@ -512,7 +512,7 @@ class SolrSpec extends AnyWordSpec with Matchers with BeforeAndAfterAll with Sca
val copyCollection = SolrSource
.fromTupleStream(stream)
- .map { tuple: Tuple =>
+ .map { (tuple: Tuple) =>
val book: Book =
tupleToBook(tuple).copy(comment = "Written by good authors.", routerOpt = Some("router-value"))
WriteMessage.createUpsertMessage(book)
@@ -534,7 +534,7 @@ class SolrSpec extends AnyWordSpec with Matchers with BeforeAndAfterAll with Sca
val updateCollection = SolrSource
.fromTupleStream(stream2)
- .map { tuple: Tuple =>
+ .map { (tuple: Tuple) =>
WriteMessage
.createUpdateMessage[Book](
idField = "title",
@@ -581,7 +581,7 @@ class SolrSpec extends AnyWordSpec with Matchers with BeforeAndAfterAll with Sca
val copyCollection = SolrSource
.fromTupleStream(stream)
- .map { tuple: Tuple =>
+ .map { (tuple: Tuple) =>
val book: Book = tupleToBook(tuple)
val doc: SolrInputDocument = bookToDoc(book)
WriteMessage.createUpsertMessage(doc)
@@ -601,7 +601,7 @@ class SolrSpec extends AnyWordSpec with Matchers with BeforeAndAfterAll with Sca
// #delete-documents-query
val deleteByQuery = SolrSource
.fromTupleStream(stream2)
- .map { tuple: Tuple =>
+ .map { (tuple: Tuple) =>
val title = tuple.fields.get("title").toString
WriteMessage.createDeleteByQueryMessage[SolrInputDocument](
s"""title:"$title" """)
@@ -657,7 +657,7 @@ class SolrSpec extends AnyWordSpec with Matchers with BeforeAndAfterAll with Sca
// #kafka-example-PT
// Note: This code mimics Pekko Connectors Kafka APIs
val copyCollection = kafkaConsumerSource
- .map { offset: CommittableOffset =>
+ .map { (offset: CommittableOffset) =>
// Transform message so that we can write to solr
WriteMessage.createPassThrough(offset).withSource(new SolrInputDocument())
}
diff --git a/sqs/src/test/scala/docs/scaladsl/SqsAckSpec.scala b/sqs/src/test/scala/docs/scaladsl/SqsAckSpec.scala
index c830d77c6..2751a01e2 100644
--- a/sqs/src/test/scala/docs/scaladsl/SqsAckSpec.scala
+++ b/sqs/src/test/scala/docs/scaladsl/SqsAckSpec.scala
@@ -248,7 +248,7 @@ class SqsAckSpec extends AnyFlatSpec with Matchers with DefaultTestContext with
it should "fail if any of the messages in the batch request failed" in {
val messages = for (i <- 0 until 10) yield Message.builder().body(s"Message - $i").build()
- implicit val mockAwsSqsClient = mock[SqsAsyncClient]
+ implicit val mockAwsSqsClient: SqsAsyncClient = mock[SqsAsyncClient]
when(mockAwsSqsClient.deleteMessageBatch(any[DeleteMessageBatchRequest]))
.thenReturn(CompletableFuture.completedFuture {
@@ -269,7 +269,7 @@ class SqsAckSpec extends AnyFlatSpec with Matchers with DefaultTestContext with
it should "fail if the batch request failed" in {
val messages = for (i <- 0 until 10) yield Message.builder().body(s"Message - $i").build()
- implicit val mockAwsSqsClient = mock[SqsAsyncClient]
+ implicit val mockAwsSqsClient: SqsAsyncClient = mock[SqsAsyncClient]
when(mockAwsSqsClient.deleteMessageBatch(any[DeleteMessageBatchRequest]))
.thenReturn(
@@ -289,7 +289,7 @@ class SqsAckSpec extends AnyFlatSpec with Matchers with DefaultTestContext with
it should "fail if the client invocation failed" in {
val messages = for (i <- 0 until 10) yield Message.builder().body(s"Message - $i").build()
- implicit val mockAwsSqsClient = mock[SqsAsyncClient]
+ implicit val mockAwsSqsClient: SqsAsyncClient = mock[SqsAsyncClient]
when(
mockAwsSqsClient.deleteMessageBatch(any[DeleteMessageBatchRequest])).thenThrow(new RuntimeException("error"))
@@ -357,7 +357,7 @@ class SqsAckSpec extends AnyFlatSpec with Matchers with DefaultTestContext with
it should "ignore batch of messages" in {
val messages = for (i <- 0 until 10) yield Message.builder().body(s"Message - $i").build()
- implicit val mockAwsSqsClient = mock[SqsAsyncClient]
+ implicit val mockAwsSqsClient: SqsAsyncClient = mock[SqsAsyncClient]
val future =
// #batch-ignore
diff --git a/sqs/src/test/scala/docs/scaladsl/SqsSourceSpec.scala b/sqs/src/test/scala/docs/scaladsl/SqsSourceSpec.scala
index f93f1b684..8677c6d25 100644
--- a/sqs/src/test/scala/docs/scaladsl/SqsSourceSpec.scala
+++ b/sqs/src/test/scala/docs/scaladsl/SqsSourceSpec.scala
@@ -256,7 +256,7 @@ class SqsSourceSpec extends AnyFlatSpec with ScalaFutures with Matchers with Def
val customClient: SdkAsyncHttpClient = PekkoHttpClient.builder().withActorSystem(system).build()
// #init-custom-client
- implicit val customSqsClient = SqsAsyncClient
+ implicit val customSqsClient: SqsAsyncClient = SqsAsyncClient
.builder()
.credentialsProvider(StaticCredentialsProvider.create(AwsBasicCredentials.create("x", "x")))
// #init-custom-client
diff --git a/sse/src/test/scala/docs/scaladsl/EventSourceSpec.scala b/sse/src/test/scala/docs/scaladsl/EventSourceSpec.scala
index ad410bdbb..2502ff912 100644
--- a/sse/src/test/scala/docs/scaladsl/EventSourceSpec.scala
+++ b/sse/src/test/scala/docs/scaladsl/EventSourceSpec.scala
@@ -32,7 +32,7 @@ import org.scalatest.BeforeAndAfterAll
import scala.collection.immutable
import scala.concurrent.duration.DurationInt
-import scala.concurrent.{ Await, Future }
+import scala.concurrent.{ Await, ExecutionContext, Future }
//#event-source
import org.apache.pekko
import pekko.http.scaladsl.Http
@@ -91,7 +91,7 @@ object EventSourceSpec {
import Server._
import context.dispatcher
- private implicit val sys = context.system
+ private implicit val sys: ActorSystem = context.system
context.system.scheduler.scheduleOnce(1.second, self, Bind)
@@ -147,8 +147,8 @@ object EventSourceSpec {
final class EventSourceSpec extends AsyncWordSpec with Matchers with BeforeAndAfterAll {
import EventSourceSpec._
- private implicit val system = ActorSystem()
- private implicit val ec = system.dispatcher
+ private implicit val system: ActorSystem = ActorSystem()
+ private implicit val ec: ExecutionContext = system.dispatcher
"EventSource" should {
"communicate correctly with an instable HTTP server" in {
diff --git a/udp/src/test/scala/docs/scaladsl/UdpSpec.scala b/udp/src/test/scala/docs/scaladsl/UdpSpec.scala
index 9cdcb3bb1..8f58affa6 100644
--- a/udp/src/test/scala/docs/scaladsl/UdpSpec.scala
+++ b/udp/src/test/scala/docs/scaladsl/UdpSpec.scala
@@ -41,8 +41,8 @@ class UdpSpec
with BeforeAndAfterAll
with LogCapturing {
- implicit val mat = Materializer(system)
- implicit val pat = PatienceConfig(3.seconds, 50.millis)
+ implicit val mat: Materializer = Materializer(system)
+ implicit val pat: PatienceConfig = PatienceConfig(3.seconds, 50.millis)
// #bind-address
val bindToLocal = new InetSocketAddress("localhost", 0)
diff --git a/unix-domain-socket/src/main/scala/org/apache/pekko/stream/connectors/unixdomainsocket/scaladsl/UnixDomainSocket.scala b/unix-domain-socket/src/main/scala/org/apache/pekko/stream/connectors/unixdomainsocket/scaladsl/UnixDomainSocket.scala
index 4d6c7919a..7927d922b 100644
--- a/unix-domain-socket/src/main/scala/org/apache/pekko/stream/connectors/unixdomainsocket/scaladsl/UnixDomainSocket.scala
+++ b/unix-domain-socket/src/main/scala/org/apache/pekko/stream/connectors/unixdomainsocket/scaladsl/UnixDomainSocket.scala
@@ -140,7 +140,7 @@ final class UnixDomainSocket(system: ExtendedActorSystem) extends UnixDomainSock
backlog: Int = 128,
halfClose: Boolean = false): Future[ServerBinding] =
bind(path, backlog, halfClose)
- .to(Sink.foreach { conn: IncomingConnection =>
+ .to(Sink.foreach { (conn: IncomingConnection) =>
conn.flow.join(handler).run()
})
.run()
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pekko.apache.org
For additional commands, e-mail: commits-help@pekko.apache.org
[incubator-pekko-connectors] 14/18: enable scala3 build for more google connectors (#165)
Posted by fa...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
fanningpj pushed a commit to branch scala3
in repository https://gitbox.apache.org/repos/asf/incubator-pekko-connectors.git
commit 04090a3bcd3b7dc02d08d798e099a7ff425ebeeb
Author: PJ Fanning <pj...@users.noreply.github.com>
AuthorDate: Sun Jun 11 12:20:34 2023 +0100
enable scala3 build for more google connectors (#165)
* enable scala3 build for more google connectors
* implicits
* disable part of scala3 build
* try full build again
* Update GooglePubSub.scala
* refactor suggested by @mdedetrich
* remove interim variables
* add comments
* Update GooglePubSub.scala
---
.../googlecloud/pubsub/grpc/javadsl/GooglePubSub.scala | 12 ++++++++++--
.../googlecloud/pubsub/grpc/javadsl/GrpcPublisher.scala | 2 +-
.../googlecloud/pubsub/grpc/javadsl/GrpcSubscriber.scala | 2 +-
.../googlecloud/pubsub/grpc/scaladsl/GrpcPublisher.scala | 2 +-
.../googlecloud/pubsub/grpc/scaladsl/GrpcSubscriber.scala | 2 +-
.../src/test/scala/docs/scaladsl/IntegrationSpec.scala | 2 +-
.../pekko/stream/connectors/google/ResumableUpload.scala | 1 -
project/Dependencies.scala | 2 --
8 files changed, 15 insertions(+), 10 deletions(-)
diff --git a/google-cloud-pub-sub-grpc/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/pubsub/grpc/javadsl/GooglePubSub.scala b/google-cloud-pub-sub-grpc/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/pubsub/grpc/javadsl/GooglePubSub.scala
index 930fa2bc7..b254474f0 100644
--- a/google-cloud-pub-sub-grpc/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/pubsub/grpc/javadsl/GooglePubSub.scala
+++ b/google-cloud-pub-sub-grpc/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/pubsub/grpc/javadsl/GooglePubSub.scala
@@ -69,7 +69,11 @@ object GooglePubSub {
Source
.tick(Duration.ZERO, pollInterval, subsequentRequest)
.mapMaterializedValue(cancellable.complete(_))))
- .mapConcat(_.getReceivedMessagesList)
+ .mapConcat(
+ // TODO uptake any fix suggested for https://contributors.scala-lang.org/t/better-type-inference-for-scala-send-us-your-problematic-cases/2410/183
+ ((response: StreamingPullResponse) =>
+ response.getReceivedMessagesList): pekko.japi.function.Function[StreamingPullResponse,
+ java.util.List[ReceivedMessage]])
.mapMaterializedValue(_ => cancellable)
}
.mapMaterializedValue(flattenCs(_))
@@ -95,7 +99,11 @@ object GooglePubSub {
Source
.tick(Duration.ZERO, pollInterval, request)
.mapAsync(1, client.pull(_))
- .mapConcat(_.getReceivedMessagesList)
+ .mapConcat(
+ // TODO uptake any fix suggested for https://contributors.scala-lang.org/t/better-type-inference-for-scala-send-us-your-problematic-cases/2410/183
+ ((response: PullResponse) =>
+ response.getReceivedMessagesList): pekko.japi.function.Function[PullResponse,
+ java.util.List[ReceivedMessage]])
.mapMaterializedValue(cancellable.complete(_))
.mapMaterializedValue(_ => cancellable)
}
diff --git a/google-cloud-pub-sub-grpc/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/pubsub/grpc/javadsl/GrpcPublisher.scala b/google-cloud-pub-sub-grpc/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/pubsub/grpc/javadsl/GrpcPublisher.scala
index 5dacfc18a..9fd70656a 100644
--- a/google-cloud-pub-sub-grpc/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/pubsub/grpc/javadsl/GrpcPublisher.scala
+++ b/google-cloud-pub-sub-grpc/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/pubsub/grpc/javadsl/GrpcPublisher.scala
@@ -74,7 +74,7 @@ object GrpcPublisher {
* An extension that manages a single gRPC java publisher client per actor system.
*/
final class GrpcPublisherExt private (sys: ExtendedActorSystem) extends Extension {
- implicit val publisher = GrpcPublisher.create(sys)
+ implicit val publisher: GrpcPublisher = GrpcPublisher.create(sys)
}
object GrpcPublisherExt extends ExtensionId[GrpcPublisherExt] with ExtensionIdProvider {
diff --git a/google-cloud-pub-sub-grpc/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/pubsub/grpc/javadsl/GrpcSubscriber.scala b/google-cloud-pub-sub-grpc/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/pubsub/grpc/javadsl/GrpcSubscriber.scala
index e66f95aac..de2e738ad 100644
--- a/google-cloud-pub-sub-grpc/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/pubsub/grpc/javadsl/GrpcSubscriber.scala
+++ b/google-cloud-pub-sub-grpc/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/pubsub/grpc/javadsl/GrpcSubscriber.scala
@@ -75,7 +75,7 @@ object GrpcSubscriber {
* An extension that manages a single gRPC java subscriber client per actor system.
*/
final class GrpcSubscriberExt private (sys: ExtendedActorSystem) extends Extension {
- implicit val subscriber = GrpcSubscriber.create(sys)
+ implicit val subscriber: GrpcSubscriber = GrpcSubscriber.create(sys)
}
object GrpcSubscriberExt extends ExtensionId[GrpcSubscriberExt] with ExtensionIdProvider {
diff --git a/google-cloud-pub-sub-grpc/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/pubsub/grpc/scaladsl/GrpcPublisher.scala b/google-cloud-pub-sub-grpc/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/pubsub/grpc/scaladsl/GrpcPublisher.scala
index 896cd60c6..286c6d78e 100644
--- a/google-cloud-pub-sub-grpc/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/pubsub/grpc/scaladsl/GrpcPublisher.scala
+++ b/google-cloud-pub-sub-grpc/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/pubsub/grpc/scaladsl/GrpcPublisher.scala
@@ -65,7 +65,7 @@ object GrpcPublisher {
* An extension that manages a single gRPC scala publisher client per actor system.
*/
final class GrpcPublisherExt private (sys: ExtendedActorSystem) extends Extension {
- implicit val publisher = GrpcPublisher(sys: ActorSystem)
+ implicit val publisher: GrpcPublisher = GrpcPublisher(sys: ActorSystem)
}
object GrpcPublisherExt extends ExtensionId[GrpcPublisherExt] with ExtensionIdProvider {
diff --git a/google-cloud-pub-sub-grpc/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/pubsub/grpc/scaladsl/GrpcSubscriber.scala b/google-cloud-pub-sub-grpc/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/pubsub/grpc/scaladsl/GrpcSubscriber.scala
index 955a3ed1b..0d70d861d 100644
--- a/google-cloud-pub-sub-grpc/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/pubsub/grpc/scaladsl/GrpcSubscriber.scala
+++ b/google-cloud-pub-sub-grpc/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/pubsub/grpc/scaladsl/GrpcSubscriber.scala
@@ -65,7 +65,7 @@ object GrpcSubscriber {
* An extension that manages a single gRPC scala subscriber client per actor system.
*/
final class GrpcSubscriberExt private (sys: ExtendedActorSystem) extends Extension {
- implicit val subscriber = GrpcSubscriber(sys: ActorSystem)
+ implicit val subscriber: GrpcSubscriber = GrpcSubscriber(sys: ActorSystem)
}
object GrpcSubscriberExt extends ExtensionId[GrpcSubscriberExt] with ExtensionIdProvider {
diff --git a/google-cloud-pub-sub-grpc/src/test/scala/docs/scaladsl/IntegrationSpec.scala b/google-cloud-pub-sub-grpc/src/test/scala/docs/scaladsl/IntegrationSpec.scala
index 38eba06e4..fcea88765 100644
--- a/google-cloud-pub-sub-grpc/src/test/scala/docs/scaladsl/IntegrationSpec.scala
+++ b/google-cloud-pub-sub-grpc/src/test/scala/docs/scaladsl/IntegrationSpec.scala
@@ -52,7 +52,7 @@ class IntegrationSpec
implicit val system: ActorSystem = ActorSystem("IntegrationSpec")
- implicit val defaultPatience = PatienceConfig(timeout = 15.seconds, interval = 50.millis)
+ implicit val defaultPatience: PatienceConfig = PatienceConfig(timeout = 15.seconds, interval = 50.millis)
"connector" should {
diff --git a/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/ResumableUpload.scala b/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/ResumableUpload.scala
index 8dbc91cc2..969cef4c1 100644
--- a/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/ResumableUpload.scala
+++ b/google-common/src/main/scala/org/apache/pekko/stream/connectors/google/ResumableUpload.scala
@@ -14,7 +14,6 @@
package org.apache.pekko.stream.connectors.google
import org.apache.pekko
-import pekko.actor.ActorSystem
import pekko.NotUsed
import pekko.annotation.InternalApi
import pekko.http.scaladsl.model.HttpMethods.{ POST, PUT }
diff --git a/project/Dependencies.scala b/project/Dependencies.scala
index 7cea7f4d2..82f5160c8 100644
--- a/project/Dependencies.scala
+++ b/project/Dependencies.scala
@@ -217,7 +217,6 @@ object Dependencies {
"io.specto" % "hoverfly-java" % hoverflyVersion % Test // ApacheV2
) ++ Mockito)
val GoogleBigQueryStorage = Seq(
- crossScalaVersions -= Scala3,
// see Pekko gRPC version in plugins.sbt
libraryDependencies ++= Seq(
// https://github.com/googleapis/java-bigquerystorage/tree/master/proto-google-cloud-bigquerystorage-v1
@@ -240,7 +239,6 @@ object Dependencies {
) ++ Mockito)
val GooglePubSubGrpc = Seq(
- crossScalaVersions -= Scala3,
// see Pekko gRPC version in plugins.sbt
libraryDependencies ++= Seq(
// https://github.com/googleapis/java-pubsub/tree/master/proto-google-cloud-pubsub-v1/
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pekko.apache.org
For additional commands, e-mail: commits-help@pekko.apache.org
[incubator-pekko-connectors] 09/18: scala3 support for hdfs (#156)
Posted by fa...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
fanningpj pushed a commit to branch scala3
in repository https://gitbox.apache.org/repos/asf/incubator-pekko-connectors.git
commit 593520c3e7e3620c00150a5e4b692e514faa75c5
Author: PJ Fanning <pj...@users.noreply.github.com>
AuthorDate: Sat Jun 10 13:34:21 2023 +0100
scala3 support for hdfs (#156)
---
project/Dependencies.scala | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/project/Dependencies.scala b/project/Dependencies.scala
index f585fbe6c..f239f8087 100644
--- a/project/Dependencies.scala
+++ b/project/Dependencies.scala
@@ -287,11 +287,10 @@ object Dependencies {
val HadoopVersion = "3.2.1"
val Hdfs = Seq(
- crossScalaVersions -= Scala3,
libraryDependencies ++= Seq(
("org.apache.hadoop" % "hadoop-client" % HadoopVersion).exclude("log4j", "log4j").exclude("org.slf4j",
"slf4j-log4j12"), // ApacheV2
- "org.typelevel" %% "cats-core" % "2.0.0", // MIT,
+ "org.typelevel" %% "cats-core" % "2.9.0", // MIT,
("org.apache.hadoop" % "hadoop-hdfs" % HadoopVersion % Test).exclude("log4j", "log4j").exclude("org.slf4j",
"slf4j-log4j12"), // ApacheV2
("org.apache.hadoop" % "hadoop-common" % HadoopVersion % Test).exclude("log4j", "log4j").exclude("org.slf4j",
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pekko.apache.org
For additional commands, e-mail: commits-help@pekko.apache.org
[incubator-pekko-connectors] 18/18: suggested change to queue method call (#174)
Posted by fa...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
fanningpj pushed a commit to branch scala3
in repository https://gitbox.apache.org/repos/asf/incubator-pekko-connectors.git
commit c966e5f69420f382de74d533ec682e00683aebb5
Author: PJ Fanning <pj...@users.noreply.github.com>
AuthorDate: Mon Jun 12 18:58:27 2023 +0100
suggested change to queue method call (#174)
---
.../stream/connectors/json/impl/QueueHelper.scala | 19 -------------------
.../stream/connectors/json/impl/QueueHelper.scala | 21 ---------------------
.../connectors/json/impl/JsonStreamReader.scala | 2 +-
3 files changed, 1 insertion(+), 41 deletions(-)
diff --git a/json-streaming/src/main/scala-2/org/apache/pekko/stream/connectors/json/impl/QueueHelper.scala b/json-streaming/src/main/scala-2/org/apache/pekko/stream/connectors/json/impl/QueueHelper.scala
deleted file mode 100644
index 5972a1eca..000000000
--- a/json-streaming/src/main/scala-2/org/apache/pekko/stream/connectors/json/impl/QueueHelper.scala
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * license agreements; and to You under the Apache License, version 2.0:
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * This file is part of the Apache Pekko project, derived from Akka.
- */
-
-package org.apache.pekko.stream.connectors.json.impl
-
-import org.apache.pekko.util.ByteString
-
-import scala.collection.immutable.Queue
-
-private[impl] object QueueHelper {
- @inline final def enqueue(queue: Queue[ByteString], byteString: ByteString): Queue[ByteString] =
- queue.enqueue(byteString)
-}
diff --git a/json-streaming/src/main/scala-3/org/apache/pekko/stream/connectors/json/impl/QueueHelper.scala b/json-streaming/src/main/scala-3/org/apache/pekko/stream/connectors/json/impl/QueueHelper.scala
deleted file mode 100644
index 27b1f7f5e..000000000
--- a/json-streaming/src/main/scala-3/org/apache/pekko/stream/connectors/json/impl/QueueHelper.scala
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * license agreements; and to You under the Apache License, version 2.0:
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * This file is part of the Apache Pekko project, derived from Akka.
- */
-
-package org.apache.pekko.stream.connectors.json.impl
-
-import org.apache.pekko.util.ByteString
-
-import scala.collection.immutable.Queue
-
-private[impl] object QueueHelper {
- inline final def enqueue(queue: Queue[ByteString], byteString: ByteString): Queue[ByteString] = {
- // see https://github.com/lampepfl/dotty/issues/17946
- queue.enqueueAll(Iterable.single(byteString))
- }
-}
diff --git a/json-streaming/src/main/scala/org/apache/pekko/stream/connectors/json/impl/JsonStreamReader.scala b/json-streaming/src/main/scala/org/apache/pekko/stream/connectors/json/impl/JsonStreamReader.scala
index 990b68729..8f50d51d2 100644
--- a/json-streaming/src/main/scala/org/apache/pekko/stream/connectors/json/impl/JsonStreamReader.scala
+++ b/json-streaming/src/main/scala/org/apache/pekko/stream/connectors/json/impl/JsonStreamReader.scala
@@ -50,7 +50,7 @@ private[pekko] final class JsonStreamReader(path: JsonPath) extends GraphStage[F
new JsonPathListener {
override def onValue(value: Any, context: ParsingContext): Unit = {
// see https://github.com/lampepfl/dotty/issues/17946
- buffer = QueueHelper.enqueue(buffer, ByteString(value.toString))
+ buffer = buffer.enqueue[ByteString](ByteString(value.toString))
}
})
.build
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pekko.apache.org
For additional commands, e-mail: commits-help@pekko.apache.org
[incubator-pekko-connectors] 08/18: support ironmq on scala3 (#153)
Posted by fa...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
fanningpj pushed a commit to branch scala3
in repository https://gitbox.apache.org/repos/asf/incubator-pekko-connectors.git
commit f6a887eb3848c9cde3d8888919732223a17a20c2
Author: PJ Fanning <pj...@users.noreply.github.com>
AuthorDate: Sat Jun 10 12:45:41 2023 +0100
support ironmq on scala3 (#153)
---
.../stream/connectors/ironmq/scaladsl/IronMqProducerSpec.scala | 10 +++++-----
project/Dependencies.scala | 1 -
2 files changed, 5 insertions(+), 6 deletions(-)
diff --git a/ironmq/src/test/scala/org/apache/pekko/stream/connectors/ironmq/scaladsl/IronMqProducerSpec.scala b/ironmq/src/test/scala/org/apache/pekko/stream/connectors/ironmq/scaladsl/IronMqProducerSpec.scala
index 677593bd2..1e92241b3 100644
--- a/ironmq/src/test/scala/org/apache/pekko/stream/connectors/ironmq/scaladsl/IronMqProducerSpec.scala
+++ b/ironmq/src/test/scala/org/apache/pekko/stream/connectors/ironmq/scaladsl/IronMqProducerSpec.scala
@@ -80,11 +80,11 @@ class IronMqProducerSpec extends IronMqSpec {
new MockCommittable,
new MockCommittable)
- whenReady(
- messages
- .zip(Source(committables))
- .via(atLeastOnceFlow(queue, settings, Flow[Committable].mapAsync(1)(_.commit())))
- .runWith(Sink.ignore)) { _ =>
+ val future: Future[Done] = messages
+ .zip(Source(committables))
+ .via(atLeastOnceFlow(queue, settings, Flow[Committable].mapAsync(1)(_.commit())))
+ .runWith(Sink.ignore)
+ whenReady(future) { _ =>
committables.forall(_.committed) shouldBe true
}
}
diff --git a/project/Dependencies.scala b/project/Dependencies.scala
index 11685d406..f585fbe6c 100644
--- a/project/Dependencies.scala
+++ b/project/Dependencies.scala
@@ -315,7 +315,6 @@ object Dependencies {
))
val IronMq = Seq(
- crossScalaVersions -= Scala3,
libraryDependencies ++= Seq(
"org.apache.pekko" %% "pekko-http" % PekkoHttpVersion,
"org.mdedetrich" %% "pekko-stream-circe" % "0.0.0+94-dbf3173f-SNAPSHOT", // ApacheV2
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pekko.apache.org
For additional commands, e-mail: commits-help@pekko.apache.org
[incubator-pekko-connectors] 17/18: support scala3 in avroparquet (#158)
Posted by fa...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
fanningpj pushed a commit to branch scala3
in repository https://gitbox.apache.org/repos/asf/incubator-pekko-connectors.git
commit 83e07566c85dd96d6a4cd71ea775c9cac31933c4
Author: PJ Fanning <pj...@users.noreply.github.com>
AuthorDate: Mon Jun 12 13:56:25 2023 +0100
support scala3 in avroparquet (#158)
* support scala3 in avroparquet
add some scala3 tests
Update AvroParquetSinkSpec.scala
Update avroparquet.md
Update AbstractAvroParquet.scala
Update AbstractAvroParquet.scala
* refactor test code
* Update AbstractAvroParquetBase.scala
* fix doc links
* use Common.isScala3
* Update Dependencies.scala
* Update build.sbt
---
.../docs/scaladsl/AbstractAvroParquet.scala | 33 +++++++++++++++++
.../docs/scaladsl/AbstractAvroParquet.scala | 41 ++++++++++++++++++++++
...Parquet.scala => AbstractAvroParquetBase.scala} | 26 ++++----------
.../scala/docs/scaladsl/AvroParquetFlowSpec.scala | 10 +++---
.../scala/docs/scaladsl/AvroParquetSinkSpec.scala | 12 +++----
.../docs/scaladsl/AvroParquetSourceSpec.scala | 8 ++---
build.sbt | 11 +-----
docs/src/main/paradox/avroparquet.md | 4 +--
project/Common.scala | 2 +-
project/Dependencies.scala | 9 +++--
10 files changed, 105 insertions(+), 51 deletions(-)
diff --git a/avroparquet/src/test/scala-2/docs/scaladsl/AbstractAvroParquet.scala b/avroparquet/src/test/scala-2/docs/scaladsl/AbstractAvroParquet.scala
new file mode 100644
index 000000000..3d2da02e0
--- /dev/null
+++ b/avroparquet/src/test/scala-2/docs/scaladsl/AbstractAvroParquet.scala
@@ -0,0 +1,33 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * license agreements; and to You under the Apache License, version 2.0:
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * This file is part of the Apache Pekko project, derived from Akka.
+ */
+
+/*
+ * Copyright (C) since 2016 Lightbend Inc. <https://www.lightbend.com>
+ */
+
+package docs.scaladsl
+
+import com.sksamuel.avro4s.RecordFormat
+import org.apache.pekko.testkit.TestKit
+import org.scalatest.{ BeforeAndAfterAll, Suite }
+
+import java.io.File
+import scala.reflect.io.Directory
+
+trait AbstractAvroParquet extends BeforeAndAfterAll with AbstractAvroParquetBase {
+ this: Suite with TestKit =>
+
+ val format: RecordFormat[Document] = RecordFormat[Document]
+
+ override def afterAll(): Unit = {
+ TestKit.shutdownActorSystem(system)
+ val directory = new Directory(new File(folder))
+ directory.deleteRecursively()
+ }
+}
diff --git a/avroparquet/src/test/scala-3/docs/scaladsl/AbstractAvroParquet.scala b/avroparquet/src/test/scala-3/docs/scaladsl/AbstractAvroParquet.scala
new file mode 100644
index 000000000..bd91822d6
--- /dev/null
+++ b/avroparquet/src/test/scala-3/docs/scaladsl/AbstractAvroParquet.scala
@@ -0,0 +1,41 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * license agreements; and to You under the Apache License, version 2.0:
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * This file is part of the Apache Pekko project, derived from Akka.
+ */
+
+/*
+ * Copyright (C) since 2016 Lightbend Inc. <https://www.lightbend.com>
+ */
+
+package docs.scaladsl
+
+import com.sksamuel.avro4s._
+import org.apache.pekko.testkit.TestKit
+import org.scalatest.{ BeforeAndAfterAll, Suite }
+
+import java.io.File
+
+trait AbstractAvroParquet extends BeforeAndAfterAll with AbstractAvroParquetBase {
+ this: Suite with TestKit =>
+
+ implicit val toRecordDocument: ToRecord[Document] = ToRecord[Document](schema)
+ implicit val fromRecordDocument: FromRecord[Document] = FromRecord[Document](schema)
+ val format: RecordFormat[Document] = RecordFormat[Document](schema)
+
+ override def afterAll(): Unit = {
+ TestKit.shutdownActorSystem(system)
+ deleteRecursively(new File(folder))
+ }
+
+ private def deleteRecursively(f: File): Boolean = {
+ if (f.isDirectory) f.listFiles match {
+ case null =>
+ case xs => xs.foreach(deleteRecursively)
+ }
+ f.delete()
+ }
+}
diff --git a/avroparquet/src/test/scala/docs/scaladsl/AbstractAvroParquet.scala b/avroparquet/src/test/scala/docs/scaladsl/AbstractAvroParquetBase.scala
similarity index 88%
rename from avroparquet/src/test/scala/docs/scaladsl/AbstractAvroParquet.scala
rename to avroparquet/src/test/scala/docs/scaladsl/AbstractAvroParquetBase.scala
index 1369544d0..97a4052f8 100644
--- a/avroparquet/src/test/scala/docs/scaladsl/AbstractAvroParquet.scala
+++ b/avroparquet/src/test/scala/docs/scaladsl/AbstractAvroParquetBase.scala
@@ -13,26 +13,18 @@
package docs.scaladsl
-import java.io.File
-
-import org.apache.pekko.testkit.TestKit
-import com.sksamuel.avro4s.RecordFormat
import org.apache.avro.Schema
import org.apache.avro.generic.{ GenericRecord, GenericRecordBuilder }
import org.apache.hadoop.conf.Configuration
import org.apache.hadoop.fs.Path
import org.apache.parquet.avro.{ AvroParquetReader, AvroParquetWriter, AvroReadSupport }
-import org.apache.parquet.hadoop.{ ParquetReader, ParquetWriter }
import org.apache.parquet.hadoop.util.HadoopInputFile
+import org.apache.parquet.hadoop.{ ParquetReader, ParquetWriter }
import org.scalacheck.Gen
-import org.scalatest.{ BeforeAndAfterAll, Suite }
-import scala.reflect.io.Directory
import scala.util.Random
-trait AbstractAvroParquet extends BeforeAndAfterAll {
- this: Suite with TestKit =>
-
+trait AbstractAvroParquetBase {
case class Document(id: String, body: String)
val schema: Schema = new Schema.Parser().parse(
@@ -42,13 +34,13 @@ trait AbstractAvroParquet extends BeforeAndAfterAll {
Gen.oneOf(Seq(Document(id = Gen.alphaStr.sample.get, body = Gen.alphaLowerStr.sample.get)))
val genDocuments: Int => Gen[List[Document]] = n => Gen.listOfN(n, genDocument)
- val format: RecordFormat[Document] = RecordFormat[Document]
-
val folder: String = "./" + Random.alphanumeric.take(8).mkString("")
val genFinalFile: Gen[String] = for {
fileName <- Gen.alphaLowerStr
- } yield { folder + "/" + fileName + ".parquet" }
+ } yield {
+ folder + "/" + fileName + ".parquet"
+ }
val genFile: Gen[String] = Gen.oneOf(Seq(Gen.alphaLowerStr.sample.get + ".parquet"))
@@ -110,8 +102,8 @@ trait AbstractAvroParquet extends BeforeAndAfterAll {
import org.apache.avro.generic.GenericRecord
import org.apache.hadoop.fs.Path
import org.apache.parquet.avro.AvroParquetReader
- import org.apache.parquet.hadoop.util.HadoopInputFile
import org.apache.parquet.hadoop.ParquetReader
+ import org.apache.parquet.hadoop.util.HadoopInputFile
val file: String = "./sample/path/test.parquet"
val writer: ParquetWriter[GenericRecord] =
@@ -124,10 +116,4 @@ trait AbstractAvroParquet extends BeforeAndAfterAll {
if (writer != null && reader != null) { // forces val usage
}
}
-
- override def afterAll(): Unit = {
- TestKit.shutdownActorSystem(system)
- val directory = new Directory(new File(folder))
- directory.deleteRecursively()
- }
}
diff --git a/avroparquet/src/test/scala/docs/scaladsl/AvroParquetFlowSpec.scala b/avroparquet/src/test/scala/docs/scaladsl/AvroParquetFlowSpec.scala
index 626b15400..c52de6acc 100644
--- a/avroparquet/src/test/scala/docs/scaladsl/AvroParquetFlowSpec.scala
+++ b/avroparquet/src/test/scala/docs/scaladsl/AvroParquetFlowSpec.scala
@@ -13,6 +13,9 @@
package docs.scaladsl
+import com.sksamuel.avro4s.Record
+import org.apache.avro.generic.GenericRecord
+import org.apache.parquet.hadoop.ParquetWriter
import org.apache.pekko
import pekko.NotUsed
import pekko.actor.ActorSystem
@@ -20,13 +23,10 @@ import pekko.stream.connectors.avroparquet.scaladsl.AvroParquetFlow
import pekko.stream.scaladsl.{ Flow, Sink, Source }
import pekko.stream.testkit.scaladsl.StreamTestKit.assertAllStagesStopped
import pekko.testkit.TestKit
-import com.sksamuel.avro4s.Record
-import org.apache.avro.generic.GenericRecord
-import org.scalatest.matchers.should.Matchers
-import org.scalatest.wordspec.AnyWordSpecLike
-import org.apache.parquet.hadoop.ParquetWriter
import org.scalatest.BeforeAndAfterAll
import org.scalatest.concurrent.ScalaFutures
+import org.scalatest.matchers.should.Matchers
+import org.scalatest.wordspec.AnyWordSpecLike
class AvroParquetFlowSpec
extends TestKit(ActorSystem("FlowSpec"))
diff --git a/avroparquet/src/test/scala/docs/scaladsl/AvroParquetSinkSpec.scala b/avroparquet/src/test/scala/docs/scaladsl/AvroParquetSinkSpec.scala
index b92170a37..18b414e94 100644
--- a/avroparquet/src/test/scala/docs/scaladsl/AvroParquetSinkSpec.scala
+++ b/avroparquet/src/test/scala/docs/scaladsl/AvroParquetSinkSpec.scala
@@ -13,18 +13,18 @@
package docs.scaladsl
+import com.sksamuel.avro4s.Record
+import org.apache.avro.generic.GenericRecord
+import org.apache.parquet.hadoop.ParquetWriter
import org.apache.pekko
-import pekko.{ Done, NotUsed }
import pekko.actor.ActorSystem
import pekko.stream.connectors.avroparquet.scaladsl.AvroParquetSink
import pekko.stream.scaladsl.Source
import pekko.stream.testkit.scaladsl.StreamTestKit.assertAllStagesStopped
import pekko.testkit.TestKit
-import com.sksamuel.avro4s.{ Record, RecordFormat }
-import org.scalatest.concurrent.ScalaFutures
-import org.apache.avro.generic.GenericRecord
-import org.apache.parquet.hadoop.ParquetWriter
+import pekko.{ Done, NotUsed }
import org.scalatest.BeforeAndAfterAll
+import org.scalatest.concurrent.ScalaFutures
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpecLike
@@ -63,7 +63,7 @@ class AvroParquetSinkSpec
val documents: List[Document] = genDocuments(n).sample.get
val writer: ParquetWriter[Record] = parquetWriter[Record](file, conf, schema)
// #init-sink
- val records: List[Record] = documents.map(RecordFormat[Document].to(_))
+ val records: List[Record] = documents.map(format.to(_))
val source: Source[Record, NotUsed] = Source(records)
val result: Future[Done] = source
.runWith(AvroParquetSink(writer))
diff --git a/avroparquet/src/test/scala/docs/scaladsl/AvroParquetSourceSpec.scala b/avroparquet/src/test/scala/docs/scaladsl/AvroParquetSourceSpec.scala
index ea2300d6b..2fa88db1e 100644
--- a/avroparquet/src/test/scala/docs/scaladsl/AvroParquetSourceSpec.scala
+++ b/avroparquet/src/test/scala/docs/scaladsl/AvroParquetSourceSpec.scala
@@ -13,6 +13,9 @@
package docs.scaladsl
+import com.sksamuel.avro4s.Record
+import org.apache.avro.generic.GenericRecord
+import org.apache.parquet.hadoop.ParquetReader
import org.apache.pekko
import pekko.NotUsed
import pekko.actor.ActorSystem
@@ -21,11 +24,8 @@ import pekko.stream.scaladsl.{ Keep, Source }
import pekko.stream.testkit.scaladsl.StreamTestKit.assertAllStagesStopped
import pekko.stream.testkit.scaladsl.TestSink
import pekko.testkit.TestKit
-import com.sksamuel.avro4s.Record
-import org.scalatest.concurrent.ScalaFutures
-import org.apache.avro.generic.GenericRecord
-import org.apache.parquet.hadoop.ParquetReader
import org.scalatest.BeforeAndAfterAll
+import org.scalatest.concurrent.ScalaFutures
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpecLike
diff --git a/build.sbt b/build.sbt
index 7d7a42314..47296067c 100644
--- a/build.sbt
+++ b/build.sbt
@@ -264,16 +264,7 @@ lazy val ironmq = pekkoConnectorProject(
lazy val jms = pekkoConnectorProject("jms", "jms", Dependencies.Jms)
-val scalaReleaseSeparateSource: Def.SettingsDefinition = Compile / unmanagedSourceDirectories ++= {
- if (scalaVersion.value.startsWith("2")) {
- Seq((LocalRootProject / baseDirectory).value / "src" / "main" / "scala-2")
- } else {
- Seq((LocalRootProject / baseDirectory).value / "src" / "main" / "scala-3")
- }
-}
-
-lazy val jsonStreaming = pekkoConnectorProject("json-streaming", "json.streaming",
- Dependencies.JsonStreaming ++ scalaReleaseSeparateSource)
+lazy val jsonStreaming = pekkoConnectorProject("json-streaming", "json.streaming", Dependencies.JsonStreaming)
lazy val kinesis = pekkoConnectorProject("kinesis", "aws.kinesis", Dependencies.Kinesis)
diff --git a/docs/src/main/paradox/avroparquet.md b/docs/src/main/paradox/avroparquet.md
index 270aad232..752eca4ee 100644
--- a/docs/src/main/paradox/avroparquet.md
+++ b/docs/src/main/paradox/avroparquet.md
@@ -29,7 +29,7 @@ Sometimes it might be useful to use a Parquet file as stream Source. For this we
instance which will produce records as subtypes of `GenericRecord`, the Avro record's abstract representation.
Scala
-: @@snip (/avroparquet/src/test/scala/docs/scaladsl/AbstractAvroParquet.scala) { #prepare-source #init-reader }
+: @@snip (/avroparquet/src/test/scala/docs/scaladsl/AbstractAvroParquetBase.scala) { #prepare-source #init-reader }
Java
: @@snip (/avroparquet/src/test/java/docs/javadsl/Examples.java) { #init-reader }
@@ -49,7 +49,7 @@ On the other hand, you can use `AvroParquetWriter` as the Apache Pekko Streams S
In that case, its initialisation would require an instance of `org.apache.parquet.hadoop.ParquetWriter`. It will also expect any subtype of `GenericRecord` to be passed.
Scala
-: @@snip (/avroparquet/src/test/scala/docs/scaladsl/AbstractAvroParquet.scala) { #prepare-sink }
+: @@snip (/avroparquet/src/test/scala/docs/scaladsl/AbstractAvroParquetBase.scala) { #prepare-sink }
Java
: @@snip (/avroparquet/src/test/java/docs/javadsl/AvroParquetSinkTest.java) { #init-writer }
diff --git a/project/Common.scala b/project/Common.scala
index 2f020dff0..adaa1f49b 100644
--- a/project/Common.scala
+++ b/project/Common.scala
@@ -51,7 +51,7 @@ object Common extends AutoPlugin {
"com.google.api:com.google.cloud:com.google.iam:com.google.logging:" +
"com.google.longrunning:com.google.protobuf:com.google.rpc:com.google.type"
- override lazy val projectSettings = Dependencies.Common ++ Seq(
+ override lazy val projectSettings = Dependencies.CommonSettings ++ Seq(
projectInfoVersion := (if (isSnapshot.value) "snapshot" else version.value),
crossVersion := CrossVersion.binary,
crossScalaVersions := Dependencies.ScalaVersions,
diff --git a/project/Dependencies.scala b/project/Dependencies.scala
index 5c289c2f8..fffb1fea5 100644
--- a/project/Dependencies.scala
+++ b/project/Dependencies.scala
@@ -56,7 +56,7 @@ object Dependencies {
val log4jOverSlf4jVersion = "1.7.36"
val jclOverSlf4jVersion = "1.7.36"
- val Common = Seq(
+ val CommonSettings = Seq(
// These libraries are added to all modules via the `Common` AutoPlugin
libraryDependencies ++= Seq(
"org.apache.pekko" %% "pekko-stream" % PekkoVersion))
@@ -164,13 +164,16 @@ object Dependencies {
"com.google.jimfs" % "jimfs" % "1.2" % Test // ApacheV2
))
+ val avro4sVersion: Def.Initialize[String] = Def.setting {
+ if (Common.isScala3.value) "5.0.4" else "4.1.1"
+ }
+
val AvroParquet = Seq(
- crossScalaVersions -= Scala3,
libraryDependencies ++= Seq(
"org.apache.parquet" % "parquet-avro" % "1.10.1", // Apache2
("org.apache.hadoop" % "hadoop-client" % "3.2.1" % Test).exclude("log4j", "log4j"), // Apache2
("org.apache.hadoop" % "hadoop-common" % "3.2.1" % Test).exclude("log4j", "log4j"), // Apache2
- "com.sksamuel.avro4s" %% "avro4s-core" % "4.1.1" % Test,
+ "com.sksamuel.avro4s" %% "avro4s-core" % avro4sVersion.value % Test,
"org.scalacheck" %% "scalacheck" % scalaCheckVersion % Test,
"org.specs2" %% "specs2-core" % "4.20.0" % Test, // MIT like: https://github.com/etorreborre/specs2/blob/master/LICENSE.txt
"org.slf4j" % "log4j-over-slf4j" % log4jOverSlf4jVersion % Test // MIT like: http://www.slf4j.org/license.html
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pekko.apache.org
For additional commands, e-mail: commits-help@pekko.apache.org
[incubator-pekko-connectors] 03/18: More scala3 work (cassandra / azure) (#130)
Posted by fa...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
fanningpj pushed a commit to branch scala3
in repository https://gitbox.apache.org/repos/asf/incubator-pekko-connectors.git
commit 4b6208695d904dae40d2f05b33101db8b124706b
Author: PJ Fanning <pj...@users.noreply.github.com>
AuthorDate: Wed May 31 08:23:09 2023 +0100
More scala3 work (cassandra / azure) (#130)
* scala3 support for cassandra connector
* try azure connector
---
.../connectors/azure/storagequeue/impl/AzureQueueSourceStage.scala | 2 +-
.../stream/connectors/cassandra/javadsl/CassandraSessionSpec.scala | 2 +-
.../connectors/cassandra/scaladsl/CassandraSessionPerformanceSpec.scala | 2 +-
project/Dependencies.scala | 2 --
4 files changed, 3 insertions(+), 5 deletions(-)
diff --git a/azure-storage-queue/src/main/scala/org/apache/pekko/stream/connectors/azure/storagequeue/impl/AzureQueueSourceStage.scala b/azure-storage-queue/src/main/scala/org/apache/pekko/stream/connectors/azure/storagequeue/impl/AzureQueueSourceStage.scala
index 1ba78bb51..ff882cc00 100644
--- a/azure-storage-queue/src/main/scala/org/apache/pekko/stream/connectors/azure/storagequeue/impl/AzureQueueSourceStage.scala
+++ b/azure-storage-queue/src/main/scala/org/apache/pekko/stream/connectors/azure/storagequeue/impl/AzureQueueSourceStage.scala
@@ -68,7 +68,7 @@ import scala.collection.mutable.Queue
setHandler(
out,
new OutHandler {
- override def onPull: Unit =
+ override def onPull(): Unit =
if (!buffer.isEmpty) {
push(out, buffer.dequeue())
} else {
diff --git a/cassandra/src/test/scala/org/apache/pekko/stream/connectors/cassandra/javadsl/CassandraSessionSpec.scala b/cassandra/src/test/scala/org/apache/pekko/stream/connectors/cassandra/javadsl/CassandraSessionSpec.scala
index 210c60321..0aeec5fe1 100644
--- a/cassandra/src/test/scala/org/apache/pekko/stream/connectors/cassandra/javadsl/CassandraSessionSpec.scala
+++ b/cassandra/src/test/scala/org/apache/pekko/stream/connectors/cassandra/javadsl/CassandraSessionSpec.scala
@@ -38,7 +38,7 @@ import scala.concurrent.duration._
final class CassandraSessionSpec extends CassandraSpecBase(ActorSystem("CassandraSessionSpec")) {
- val log = Logging(system, this.getClass)
+ val log = Logging(system, classOf[CassandraSessionSpec])
val javadslSessionRegistry = javadsl.CassandraSessionRegistry.get(system)
val data = 1 until 103
diff --git a/cassandra/src/test/scala/org/apache/pekko/stream/connectors/cassandra/scaladsl/CassandraSessionPerformanceSpec.scala b/cassandra/src/test/scala/org/apache/pekko/stream/connectors/cassandra/scaladsl/CassandraSessionPerformanceSpec.scala
index da0943efc..00fb120c6 100644
--- a/cassandra/src/test/scala/org/apache/pekko/stream/connectors/cassandra/scaladsl/CassandraSessionPerformanceSpec.scala
+++ b/cassandra/src/test/scala/org/apache/pekko/stream/connectors/cassandra/scaladsl/CassandraSessionPerformanceSpec.scala
@@ -25,7 +25,7 @@ import scala.concurrent.duration._
final class CassandraSessionPerformanceSpec extends CassandraSpecBase(ActorSystem("CassandraSessionPerformanceSpec")) {
- val log = Logging(system, this.getClass)
+ val log = Logging(system, classOf[CassandraSessionPerformanceSpec])
val data = 1 to 5 * 1000 * 1000
diff --git a/project/Dependencies.scala b/project/Dependencies.scala
index 09d74c206..116f484e3 100644
--- a/project/Dependencies.scala
+++ b/project/Dependencies.scala
@@ -106,7 +106,6 @@ object Dependencies {
ExclusionRule("software.amazon.awssdk", "netty-nio-client"))) ++ Mockito)
val AzureStorageQueue = Seq(
- crossScalaVersions -= Scala3,
libraryDependencies ++= Seq(
"com.microsoft.azure" % "azure-storage" % "8.0.0" // ApacheV2
))
@@ -116,7 +115,6 @@ object Dependencies {
val CassandraDriverVersionInDocs = "4.15"
val Cassandra = Seq(
- crossScalaVersions -= Scala3,
libraryDependencies ++= Seq(
("com.datastax.oss" % "java-driver-core" % CassandraDriverVersion)
.exclude("com.github.spotbugs", "spotbugs-annotations")
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pekko.apache.org
For additional commands, e-mail: commits-help@pekko.apache.org
[incubator-pekko-connectors] 02/18: Scala3 couchbase support (#128)
Posted by fa...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
fanningpj pushed a commit to branch scala3
in repository https://gitbox.apache.org/repos/asf/incubator-pekko-connectors.git
commit 758d22611764042a7b7d7f65095b5c6577db9506
Author: PJ Fanning <pj...@users.noreply.github.com>
AuthorDate: Tue May 30 20:55:16 2023 +0100
Scala3 couchbase support (#128)
* initial work on scala3 support for couchbase
* Update model.scala
* Update CouchbaseFlow.scala
* use jackson in test code instead of play-json
* Update Dependencies.scala
---
.../apache/pekko/stream/connectors/couchbase/model.scala | 9 +++++----
.../connectors/couchbase/scaladsl/CouchbaseFlow.scala | 16 +++++++++-------
.../connectors/couchbase/testing/CouchbaseSupport.scala | 15 +++++++++++----
project/Dependencies.scala | 6 +++---
4 files changed, 28 insertions(+), 18 deletions(-)
diff --git a/couchbase/src/main/scala/org/apache/pekko/stream/connectors/couchbase/model.scala b/couchbase/src/main/scala/org/apache/pekko/stream/connectors/couchbase/model.scala
index fdbd08ff5..b40e87582 100644
--- a/couchbase/src/main/scala/org/apache/pekko/stream/connectors/couchbase/model.scala
+++ b/couchbase/src/main/scala/org/apache/pekko/stream/connectors/couchbase/model.scala
@@ -270,7 +270,8 @@ sealed trait CouchbaseWriteResult[T <: Document[_]] {
/**
* Emitted for a successful Couchbase write operation.
*/
-final case class CouchbaseWriteSuccess[T <: Document[_]] private (override val doc: T) extends CouchbaseWriteResult[T] {
+final case class CouchbaseWriteSuccess[T <: Document[_]] private[couchbase] (
+ override val doc: T) extends CouchbaseWriteResult[T] {
val isSuccess: Boolean = true
val isFailure: Boolean = false
}
@@ -278,7 +279,7 @@ final case class CouchbaseWriteSuccess[T <: Document[_]] private (override val d
/**
* Emitted for a failed Couchbase write operation.
*/
-final case class CouchbaseWriteFailure[T <: Document[_]] private (override val doc: T, failure: Throwable)
+final case class CouchbaseWriteFailure[T <: Document[_]] private[couchbase] (override val doc: T, failure: Throwable)
extends CouchbaseWriteResult[T] {
val isSuccess: Boolean = false
val isFailure: Boolean = true
@@ -296,7 +297,7 @@ sealed trait CouchbaseDeleteResult {
/**
* Emitted for a successful Couchbase write operation.
*/
-final case class CouchbaseDeleteSuccess private (override val id: String) extends CouchbaseDeleteResult {
+final case class CouchbaseDeleteSuccess private[couchbase] (override val id: String) extends CouchbaseDeleteResult {
val isSuccess: Boolean = true
val isFailure: Boolean = false
}
@@ -304,7 +305,7 @@ final case class CouchbaseDeleteSuccess private (override val id: String) extend
/**
* Emitted for a failed Couchbase write operation.
*/
-final case class CouchbaseDeleteFailure private (override val id: String, failure: Throwable)
+final case class CouchbaseDeleteFailure private[couchbase] (override val id: String, failure: Throwable)
extends CouchbaseDeleteResult {
val isSuccess: Boolean = false
val isFailure: Boolean = true
diff --git a/couchbase/src/main/scala/org/apache/pekko/stream/connectors/couchbase/scaladsl/CouchbaseFlow.scala b/couchbase/src/main/scala/org/apache/pekko/stream/connectors/couchbase/scaladsl/CouchbaseFlow.scala
index 6a35d171a..ad35b1cee 100644
--- a/couchbase/src/main/scala/org/apache/pekko/stream/connectors/couchbase/scaladsl/CouchbaseFlow.scala
+++ b/couchbase/src/main/scala/org/apache/pekko/stream/connectors/couchbase/scaladsl/CouchbaseFlow.scala
@@ -29,7 +29,7 @@ import pekko.stream.connectors.couchbase.{
import pekko.stream.scaladsl.Flow
import com.couchbase.client.java.document.{ Document, JsonDocument }
-import scala.concurrent.ExecutionContext
+import scala.concurrent.{ ExecutionContext, Future }
/**
* Scala API: Factory methods for Couchbase flows.
@@ -100,8 +100,8 @@ object CouchbaseFlow {
*/
def upsertDocWithResult[T <: Document[_]](sessionSettings: CouchbaseSessionSettings,
writeSettings: CouchbaseWriteSettings,
- bucketName: String): Flow[T, CouchbaseWriteResult[T], NotUsed] =
- Flow
+ bucketName: String): Flow[T, CouchbaseWriteResult[T], NotUsed] = {
+ val flow: Flow[T, CouchbaseWriteResult[T], Future[NotUsed]] = Flow
.fromMaterializer { (materializer, _) =>
val session = CouchbaseSessionRegistry(materializer.system).sessionFor(sessionSettings, bucketName)
Flow[T]
@@ -115,7 +115,8 @@ object CouchbaseFlow {
}
})
}
- .mapMaterializedValue(_ => NotUsed)
+ flow.mapMaterializedValue(_ => NotUsed)
+ }
/**
* Create a flow to replace a Couchbase [[com.couchbase.client.java.document.JsonDocument JsonDocument]].
@@ -153,8 +154,8 @@ object CouchbaseFlow {
*/
def replaceDocWithResult[T <: Document[_]](sessionSettings: CouchbaseSessionSettings,
writeSettings: CouchbaseWriteSettings,
- bucketName: String): Flow[T, CouchbaseWriteResult[T], NotUsed] =
- Flow
+ bucketName: String): Flow[T, CouchbaseWriteResult[T], NotUsed] = {
+ val flow: Flow[T, CouchbaseWriteResult[T], Future[NotUsed]] = Flow
.fromMaterializer { (materializer, _) =>
val session = CouchbaseSessionRegistry(materializer.system).sessionFor(sessionSettings, bucketName)
Flow[T]
@@ -168,7 +169,8 @@ object CouchbaseFlow {
}
})
}
- .mapMaterializedValue(_ => NotUsed)
+ flow.mapMaterializedValue(_ => NotUsed)
+ }
/**
* Create a flow to delete documents from Couchbase by `id`. Emits the same `id`.
diff --git a/couchbase/src/test/scala/org/apache/pekko/stream/connectors/couchbase/testing/CouchbaseSupport.scala b/couchbase/src/test/scala/org/apache/pekko/stream/connectors/couchbase/testing/CouchbaseSupport.scala
index e517dfe39..808413f72 100644
--- a/couchbase/src/test/scala/org/apache/pekko/stream/connectors/couchbase/testing/CouchbaseSupport.scala
+++ b/couchbase/src/test/scala/org/apache/pekko/stream/connectors/couchbase/testing/CouchbaseSupport.scala
@@ -25,8 +25,9 @@ import com.couchbase.client.deps.io.netty.util.CharsetUtil
import com.couchbase.client.java.ReplicateTo
import com.couchbase.client.java.document.json.JsonObject
import com.couchbase.client.java.document.{ BinaryDocument, JsonDocument, RawJsonDocument, StringDocument }
+import com.fasterxml.jackson.databind.json.JsonMapper
+import com.fasterxml.jackson.module.scala.DefaultScalaModule
import org.slf4j.LoggerFactory
-import play.api.libs.json.Json
import scala.collection.immutable.Seq
import scala.concurrent.ExecutionContext.Implicits.global
@@ -35,6 +36,12 @@ import scala.concurrent.{ Await, Future }
case class TestObject(id: String, value: String)
+private[couchbase] object CouchbaseSupport {
+ val jacksonMapper = JsonMapper.builder()
+ .addModule(DefaultScalaModule)
+ .build()
+}
+
trait CouchbaseSupport {
private val log = LoggerFactory.getLogger(classOf[CouchbaseSupport])
@@ -64,7 +71,7 @@ trait CouchbaseSupport {
}
def toRawJsonDocument(testObject: TestObject): RawJsonDocument = {
- val json = Json.toJson(testObject)(Json.writes[TestObject]).toString()
+ val json = CouchbaseSupport.jacksonMapper.writeValueAsString(testObject)
RawJsonDocument.create(testObject.id, json)
}
@@ -72,12 +79,12 @@ trait CouchbaseSupport {
JsonDocument.create(testObject.id, JsonObject.create().put("id", testObject.id).put("value", testObject.value))
def toStringDocument(testObject: TestObject): StringDocument = {
- val json = Json.toJson(testObject)(Json.writes[TestObject]).toString()
+ val json = CouchbaseSupport.jacksonMapper.writeValueAsString(testObject)
StringDocument.create(testObject.id, json)
}
def toBinaryDocument(testObject: TestObject): BinaryDocument = {
- val json = Json.toJson(testObject)(Json.writes[TestObject]).toString()
+ val json = CouchbaseSupport.jacksonMapper.writeValueAsString(testObject)
val toWrite = Unpooled.copiedBuffer(json, CharsetUtil.UTF_8)
BinaryDocument.create(testObject.id, toWrite)
}
diff --git a/project/Dependencies.scala b/project/Dependencies.scala
index 1ab9ff117..09d74c206 100644
--- a/project/Dependencies.scala
+++ b/project/Dependencies.scala
@@ -125,13 +125,13 @@ object Dependencies {
"org.apache.pekko" %% "pekko-discovery" % PekkoVersion % Provided))
val Couchbase = Seq(
- crossScalaVersions -= Scala3,
libraryDependencies ++= Seq(
"com.couchbase.client" % "java-client" % CouchbaseVersion, // ApacheV2
"io.reactivex" % "rxjava-reactive-streams" % "1.2.1", // ApacheV2
"org.apache.pekko" %% "pekko-discovery" % PekkoVersion % Provided, // Apache V2
- "com.typesafe.play" %% "play-json" % "2.9.2" % Test, // Apache V2
- "org.apache.pekko" %% "pekko-http" % PekkoHttpVersion % Test // Apache V2
+ "org.apache.pekko" %% "pekko-http" % PekkoHttpVersion % Test, // Apache V2
+ "com.fasterxml.jackson.core" % "jackson-databind" % JacksonDatabindVersion % Test, // Apache V2
+ "com.fasterxml.jackson.module" %% "jackson-module-scala" % JacksonDatabindVersion % Test // Apache V2
))
val `Doc-examples` = Seq(
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pekko.apache.org
For additional commands, e-mail: commits-help@pekko.apache.org
[incubator-pekko-connectors] 16/18: more connectors that support scala3 (#172)
Posted by fa...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
fanningpj pushed a commit to branch scala3
in repository https://gitbox.apache.org/repos/asf/incubator-pekko-connectors.git
commit e5379317858e99c2bef979251127e8111ebd8c31
Author: PJ Fanning <pj...@users.noreply.github.com>
AuthorDate: Sun Jun 11 16:48:34 2023 +0100
more connectors that support scala3 (#172)
---
project/Dependencies.scala | 3 ---
1 file changed, 3 deletions(-)
diff --git a/project/Dependencies.scala b/project/Dependencies.scala
index dd4282336..5c289c2f8 100644
--- a/project/Dependencies.scala
+++ b/project/Dependencies.scala
@@ -115,7 +115,6 @@ object Dependencies {
val CassandraDriverVersionInDocs = "4.15"
val Cassandra = Seq(
- crossScalaVersions -= Scala3,
libraryDependencies ++= Seq(
("com.datastax.oss" % "java-driver-core" % CassandraDriverVersion)
.exclude("com.github.spotbugs", "spotbugs-annotations")
@@ -124,7 +123,6 @@ object Dependencies {
"org.apache.pekko" %% "pekko-discovery" % PekkoVersion % Provided))
val Couchbase = Seq(
- crossScalaVersions -= Scala3,
libraryDependencies ++= Seq(
"com.couchbase.client" % "java-client" % CouchbaseVersion, // ApacheV2
"io.reactivex" % "rxjava-reactive-streams" % "1.2.1", // ApacheV2
@@ -292,7 +290,6 @@ object Dependencies {
))
val HuaweiPushKit = Seq(
- crossScalaVersions -= Scala3,
libraryDependencies ++= Seq(
"org.apache.pekko" %% "pekko-http" % PekkoHttpVersion,
"org.apache.pekko" %% "pekko-http-spray-json" % PekkoHttpVersion,
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pekko.apache.org
For additional commands, e-mail: commits-help@pekko.apache.org
[incubator-pekko-connectors] 06/18: scala 3 support for json streaming (#146)
Posted by fa...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
fanningpj pushed a commit to branch scala3
in repository https://gitbox.apache.org/repos/asf/incubator-pekko-connectors.git
commit 00f0fd84033f8ca973005c1df9a1e37f1ad1e26d
Author: PJ Fanning <pj...@users.noreply.github.com>
AuthorDate: Fri Jun 9 12:48:11 2023 +0100
scala 3 support for json streaming (#146)
* scala 3 support for json streaming
Update JsonStreamReader.scala
make buffer a val
Update JsonStreamReader.scala
Update JsonStreamReader.scala
use Iterable.single
Delete MyByteString.scala
compile issue in scala 2.12
Update JsonStreamReader.scala
* Update Dependencies.scala
* use separate scala2/3 code
* Update QueueHelper.scala
---
build.sbt | 11 ++++++++++-
.../stream/connectors/json/impl/QueueHelper.scala | 19 +++++++++++++++++++
.../stream/connectors/json/impl/QueueHelper.scala | 21 +++++++++++++++++++++
.../connectors/json/impl/JsonStreamReader.scala | 6 ++++--
project/Dependencies.scala | 1 -
5 files changed, 54 insertions(+), 4 deletions(-)
diff --git a/build.sbt b/build.sbt
index 47296067c..7d7a42314 100644
--- a/build.sbt
+++ b/build.sbt
@@ -264,7 +264,16 @@ lazy val ironmq = pekkoConnectorProject(
lazy val jms = pekkoConnectorProject("jms", "jms", Dependencies.Jms)
-lazy val jsonStreaming = pekkoConnectorProject("json-streaming", "json.streaming", Dependencies.JsonStreaming)
+val scalaReleaseSeparateSource: Def.SettingsDefinition = Compile / unmanagedSourceDirectories ++= {
+ if (scalaVersion.value.startsWith("2")) {
+ Seq((LocalRootProject / baseDirectory).value / "src" / "main" / "scala-2")
+ } else {
+ Seq((LocalRootProject / baseDirectory).value / "src" / "main" / "scala-3")
+ }
+}
+
+lazy val jsonStreaming = pekkoConnectorProject("json-streaming", "json.streaming",
+ Dependencies.JsonStreaming ++ scalaReleaseSeparateSource)
lazy val kinesis = pekkoConnectorProject("kinesis", "aws.kinesis", Dependencies.Kinesis)
diff --git a/json-streaming/src/main/scala-2/org/apache/pekko/stream/connectors/json/impl/QueueHelper.scala b/json-streaming/src/main/scala-2/org/apache/pekko/stream/connectors/json/impl/QueueHelper.scala
new file mode 100644
index 000000000..5972a1eca
--- /dev/null
+++ b/json-streaming/src/main/scala-2/org/apache/pekko/stream/connectors/json/impl/QueueHelper.scala
@@ -0,0 +1,19 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * license agreements; and to You under the Apache License, version 2.0:
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * This file is part of the Apache Pekko project, derived from Akka.
+ */
+
+package org.apache.pekko.stream.connectors.json.impl
+
+import org.apache.pekko.util.ByteString
+
+import scala.collection.immutable.Queue
+
+private[impl] object QueueHelper {
+ @inline final def enqueue(queue: Queue[ByteString], byteString: ByteString): Queue[ByteString] =
+ queue.enqueue(byteString)
+}
diff --git a/json-streaming/src/main/scala-3/org/apache/pekko/stream/connectors/json/impl/QueueHelper.scala b/json-streaming/src/main/scala-3/org/apache/pekko/stream/connectors/json/impl/QueueHelper.scala
new file mode 100644
index 000000000..27b1f7f5e
--- /dev/null
+++ b/json-streaming/src/main/scala-3/org/apache/pekko/stream/connectors/json/impl/QueueHelper.scala
@@ -0,0 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * license agreements; and to You under the Apache License, version 2.0:
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * This file is part of the Apache Pekko project, derived from Akka.
+ */
+
+package org.apache.pekko.stream.connectors.json.impl
+
+import org.apache.pekko.util.ByteString
+
+import scala.collection.immutable.Queue
+
+private[impl] object QueueHelper {
+ inline final def enqueue(queue: Queue[ByteString], byteString: ByteString): Queue[ByteString] = {
+ // see https://github.com/lampepfl/dotty/issues/17946
+ queue.enqueueAll(Iterable.single(byteString))
+ }
+}
diff --git a/json-streaming/src/main/scala/org/apache/pekko/stream/connectors/json/impl/JsonStreamReader.scala b/json-streaming/src/main/scala/org/apache/pekko/stream/connectors/json/impl/JsonStreamReader.scala
index d93310d80..990b68729 100644
--- a/json-streaming/src/main/scala/org/apache/pekko/stream/connectors/json/impl/JsonStreamReader.scala
+++ b/json-streaming/src/main/scala/org/apache/pekko/stream/connectors/json/impl/JsonStreamReader.scala
@@ -48,8 +48,10 @@ private[pekko] final class JsonStreamReader(path: JsonPath) extends GraphStage[F
private val config = surfer.configBuilder
.bind(path,
new JsonPathListener {
- override def onValue(value: Any, context: ParsingContext): Unit =
- buffer = buffer.enqueue(ByteString(value.toString))
+ override def onValue(value: Any, context: ParsingContext): Unit = {
+ // see https://github.com/lampepfl/dotty/issues/17946
+ buffer = QueueHelper.enqueue(buffer, ByteString(value.toString))
+ }
})
.build
private val parser = surfer.createNonBlockingParser(config)
diff --git a/project/Dependencies.scala b/project/Dependencies.scala
index 4dc83f565..509904df0 100644
--- a/project/Dependencies.scala
+++ b/project/Dependencies.scala
@@ -329,7 +329,6 @@ object Dependencies {
"https://repository.jboss.org/nexus/content/groups/public")) +: externalResolvers.value)
val JsonStreaming = Seq(
- crossScalaVersions -= Scala3,
libraryDependencies ++= Seq(
"com.github.jsurfer" % "jsurfer-jackson" % "1.6.0" // MIT
) ++ JacksonDatabindDependencies)
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pekko.apache.org
For additional commands, e-mail: commits-help@pekko.apache.org
[incubator-pekko-connectors] 13/18: support scala3 for amqp connector (#154)
Posted by fa...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
fanningpj pushed a commit to branch scala3
in repository https://gitbox.apache.org/repos/asf/incubator-pekko-connectors.git
commit 822ac3de444fa6cae09d48361686561e6291ce9f
Author: PJ Fanning <pj...@users.noreply.github.com>
AuthorDate: Sun Jun 11 08:41:40 2023 +0100
support scala3 for amqp connector (#154)
format
---
.../connectors/amqp/AmqpConnectionProvider.scala | 54 ++++++++++++----------
project/Dependencies.scala | 1 -
2 files changed, 30 insertions(+), 25 deletions(-)
diff --git a/amqp/src/main/scala/org/apache/pekko/stream/connectors/amqp/AmqpConnectionProvider.scala b/amqp/src/main/scala/org/apache/pekko/stream/connectors/amqp/AmqpConnectionProvider.scala
index 2b0dc6704..c6a3ca303 100644
--- a/amqp/src/main/scala/org/apache/pekko/stream/connectors/amqp/AmqpConnectionProvider.scala
+++ b/amqp/src/main/scala/org/apache/pekko/stream/connectors/amqp/AmqpConnectionProvider.scala
@@ -375,12 +375,14 @@ final class AmqpCachedConnectionProvider private (val provider: AmqpConnectionPr
def withAutomaticRelease(automaticRelease: Boolean): AmqpCachedConnectionProvider =
copy(automaticRelease = automaticRelease)
+ override def get: Connection = getRecursive(provider)
+
@tailrec
- override def get: Connection = state.get match {
+ private def getRecursive(amqpConnectionProvider: AmqpConnectionProvider): Connection = state.get match {
case Empty =>
if (state.compareAndSet(Empty, Connecting)) {
try {
- val connection = provider.get
+ val connection = amqpConnectionProvider.get
if (!state.compareAndSet(Connecting, Connected(connection, 1)))
throw new ConcurrentModificationException(
"Unexpected concurrent modification while creating the connection.")
@@ -391,34 +393,38 @@ final class AmqpCachedConnectionProvider private (val provider: AmqpConnectionPr
state.compareAndSet(Connecting, Empty)
throw e
}
- } else get
- case Connecting => get
+ } else getRecursive(amqpConnectionProvider)
+ case Connecting => getRecursive(amqpConnectionProvider)
case c @ Connected(connection, clients) =>
if (state.compareAndSet(c, Connected(connection, clients + 1))) connection
- else get
- case Closing => get
+ else getRecursive(amqpConnectionProvider)
+ case Closing => getRecursive(amqpConnectionProvider)
}
+ override def release(connection: Connection): Unit = releaseRecursive(provider, connection)
+
@tailrec
- override def release(connection: Connection): Unit = state.get match {
- case Empty => throw new IllegalStateException("There is no connection to release.")
- case Connecting => release(connection)
- case c @ Connected(cachedConnection, clients) =>
- if (cachedConnection != connection)
- throw new IllegalArgumentException("Can't release a connection that's not owned by this provider")
-
- if (clients == 1 || !automaticRelease) {
- if (state.compareAndSet(c, Closing)) {
- provider.release(connection)
- if (!state.compareAndSet(Closing, Empty))
- throw new ConcurrentModificationException(
- "Unexpected concurrent modification while closing the connection.")
+ private def releaseRecursive(amqpConnectionProvider: AmqpConnectionProvider, connection: Connection): Unit =
+ state.get match {
+ case Empty => throw new IllegalStateException("There is no connection to release.")
+ case Connecting => releaseRecursive(amqpConnectionProvider, connection)
+ case c @ Connected(cachedConnection, clients) =>
+ if (cachedConnection != connection)
+ throw new IllegalArgumentException("Can't release a connection that's not owned by this provider")
+
+ if (clients == 1 || !automaticRelease) {
+ if (state.compareAndSet(c, Closing)) {
+ amqpConnectionProvider.release(connection)
+ if (!state.compareAndSet(Closing, Empty))
+ throw new ConcurrentModificationException(
+ "Unexpected concurrent modification while closing the connection.")
+ }
+ } else {
+ if (!state.compareAndSet(c, Connected(cachedConnection, clients - 1)))
+ releaseRecursive(amqpConnectionProvider, connection)
}
- } else {
- if (!state.compareAndSet(c, Connected(cachedConnection, clients - 1))) release(connection)
- }
- case Closing => release(connection)
- }
+ case Closing => releaseRecursive(amqpConnectionProvider, connection)
+ }
private def copy(automaticRelease: Boolean): AmqpCachedConnectionProvider =
new AmqpCachedConnectionProvider(provider, automaticRelease)
diff --git a/project/Dependencies.scala b/project/Dependencies.scala
index 828a136a8..7cea7f4d2 100644
--- a/project/Dependencies.scala
+++ b/project/Dependencies.scala
@@ -89,7 +89,6 @@ object Dependencies {
"com.fasterxml.jackson.core" % "jackson-databind" % JacksonDatabindVersion)
val Amqp = Seq(
- crossScalaVersions -= Scala3,
libraryDependencies ++= Seq(
"com.rabbitmq" % "amqp-client" % "5.14.2" // APLv2
) ++ Mockito)
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pekko.apache.org
For additional commands, e-mail: commits-help@pekko.apache.org
[incubator-pekko-connectors] 11/18: support scala3 on unix-domain connector (#162)
Posted by fa...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
fanningpj pushed a commit to branch scala3
in repository https://gitbox.apache.org/repos/asf/incubator-pekko-connectors.git
commit 4b330b7bd843f1b23266bc08c9cb5ea6bae072fd
Author: PJ Fanning <pj...@users.noreply.github.com>
AuthorDate: Sat Jun 10 15:19:46 2023 +0100
support scala3 on unix-domain connector (#162)
format
---
project/Dependencies.scala | 1 -
.../connectors/unixdomainsocket/impl/UnixDomainSocketImpl.scala | 7 ++++---
.../connectors/unixdomainsocket/scaladsl/UnixDomainSocket.scala | 2 +-
3 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/project/Dependencies.scala b/project/Dependencies.scala
index ee1203b42..ffb1aaf13 100644
--- a/project/Dependencies.scala
+++ b/project/Dependencies.scala
@@ -488,7 +488,6 @@ object Dependencies {
"org.apache.pekko" %% "pekko-http-testkit" % PekkoHttpVersion % Test))
val UnixDomainSocket = Seq(
- crossScalaVersions -= Scala3,
libraryDependencies ++= Seq(
"com.github.jnr" % "jffi" % "1.3.1", // classifier "complete", // Is the classifier needed anymore?
"com.github.jnr" % "jnr-unixsocket" % "0.38.5" // BSD/ApacheV2/CPL/MIT as per https://github.com/akka/alpakka/issues/620#issuecomment-348727265
diff --git a/unix-domain-socket/src/main/scala/org/apache/pekko/stream/connectors/unixdomainsocket/impl/UnixDomainSocketImpl.scala b/unix-domain-socket/src/main/scala/org/apache/pekko/stream/connectors/unixdomainsocket/impl/UnixDomainSocketImpl.scala
index d5c7020b0..c2737e94c 100644
--- a/unix-domain-socket/src/main/scala/org/apache/pekko/stream/connectors/unixdomainsocket/impl/UnixDomainSocketImpl.scala
+++ b/unix-domain-socket/src/main/scala/org/apache/pekko/stream/connectors/unixdomainsocket/impl/UnixDomainSocketImpl.scala
@@ -17,7 +17,7 @@ package impl
import org.apache.pekko
import pekko.actor.{ Cancellable, CoordinatedShutdown, ExtendedActorSystem, Extension }
import pekko.annotation.InternalApi
-import pekko.event.{ Logging, LoggingAdapter }
+import pekko.event.{ LogSource, Logging, LoggingAdapter }
import pekko.stream._
import pekko.stream.connectors.unixdomainsocket.scaladsl.UnixDomainSocket.{
IncomingConnection,
@@ -371,9 +371,10 @@ private[unixdomainsocket] abstract class UnixDomainSocketImpl(system: ExtendedAc
private val sel = NativeSelectorProvider.getInstance.openSelector
/** Override to customise reported log source */
- protected def logSource: Class[_] = this.getClass
+ protected def logSource: Class[_] = getClass
- private val ioThread = new Thread(() => nioEventLoop(sel, Logging(system, logSource)), "unix-domain-socket-io")
+ private val ioThread =
+ new Thread(() => nioEventLoop(sel, Logging(system, logSource.getName)), "unix-domain-socket-io")
ioThread.start()
CoordinatedShutdown(system).addTask(CoordinatedShutdown.PhaseServiceStop, "stopUnixDomainSocket") { () =>
diff --git a/unix-domain-socket/src/main/scala/org/apache/pekko/stream/connectors/unixdomainsocket/scaladsl/UnixDomainSocket.scala b/unix-domain-socket/src/main/scala/org/apache/pekko/stream/connectors/unixdomainsocket/scaladsl/UnixDomainSocket.scala
index 7927d922b..5357bdaf5 100644
--- a/unix-domain-socket/src/main/scala/org/apache/pekko/stream/connectors/unixdomainsocket/scaladsl/UnixDomainSocket.scala
+++ b/unix-domain-socket/src/main/scala/org/apache/pekko/stream/connectors/unixdomainsocket/scaladsl/UnixDomainSocket.scala
@@ -182,5 +182,5 @@ final class UnixDomainSocket(system: ExtendedActorSystem) extends UnixDomainSock
* for example using the [[pekko.stream.scaladsl.Framing]] stages.
*/
def outgoingConnection(path: Path): Flow[ByteString, ByteString, Future[OutgoingConnection]] =
- super.outgoingConnection(UnixSocketAddress(path))
+ super.outgoingConnection(UnixSocketAddress(path), None, true, Duration.Inf)
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pekko.apache.org
For additional commands, e-mail: commits-help@pekko.apache.org