The GitHub Actions job "CI" on pekko-connectors.git/java-api-couchbase has 
succeeded.
Run started by GitHub user pjfanning (triggered by pjfanning).

Head commit for run:
abda14a59be421c0281468212d37fa52f1bfc1cb / PJ Fanning 
<[email protected]>
Couchbase: Improve Java API of couchbase and couchbase3

Motivation:
Parts of the couchbase and couchbase3 APIs are awkward or unusable from
Java (see #2043):
- couchbase CouchbaseSession.createIndex is a Scala varargs method
  without @varargs, so Java sees a scala.collection.immutable.Seq
  parameter; counter and createIndex return CompletionStage[Long] and
  CompletionStage[Boolean], which Java sees as CompletionStage<Object>;
- couchbase3 javadsl CouchbaseFlow insert/replace/upsert/remove/exists/
  touchDuration/touchInstant have deprecated scala.Function1 overloads
  that make Java lambdas ambiguous with the java.util.function.Function
  overloads; exists emits Scala Boolean;
- couchbase3 javadsl CouchbaseSource only offers Scala default arguments
  and implicit collection/scope parameters;
- MutationDocument/MutationBinaryDocument need a scala.Option to be
  constructed from Java; settings getters return Scala types.

Modification:
- couchbase: add @varargs to createIndex; return
  CompletionStage[java.lang.Long/Boolean] (signature-only excludes,
  CouchbaseSession is @DoNotInherit); add CouchbaseSessionSettings
  getNodes/getEnvironment and CouchbaseWriteSettings.getTimeout.
- couchbase3: remove the deprecated Function1 overloads from javadsl
  CouchbaseFlow (as CouchbaseSink already did for 2.0); exists emits
  java.lang.Boolean; CouchbaseSource takes explicit options and
  collection/scope parameters with overloads omitting options, like
  CouchbaseFlow and CouchbaseSink; add MutationDocument.create,
  MutationBinaryDocument.create and getResult.

Result:
Both Couchbase connectors can be used from Java with lambdas, varargs
and Java types.

Tests:
- sbt "couchbase/Test/testOnly 
org.apache.pekko.stream.connectors.couchbase.javadsl.CouchbaseJavaApiTest" - 
passed
- sbt "couchbase3/Test/testOnly 
org.apache.pekko.stream.connectors.couchbase3.javadsl.Couchbase3JavaApiTest" - 
passed
- sbt couchbase/Test/compile couchbase3/Test/compile couchbase/doc 
couchbase3/doc - passed, no scaladoc warnings
- sbt couchbase/mimaReportBinaryIssues couchbase3/mimaReportBinaryIssues - 
passed with excludes
- Couchbase integration tests - not run locally, Docker not available

References:
Refs #2043

Report URL: https://github.com/apache/pekko-connectors/actions/runs/41709641452

With regards,
GitHub Actions via GitBox


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to