The methods for SelfSignedServerCertificate is available in EE only?

CE:

EE:

ReplicatorConfiguration.[set/is]AcceptOnlySelfSignedServerCertificate is available in EE only?

I couldn’t find any corresponding documentation, e.g. in documentation or API doc.

It’d be helpful if someone clarify this question, and hopefully how I can see(find the official information about) the difference between CE and EE at the method level.

@YoshiyukiKono

What version of the SDK are you using?

Thanks
Aaron

@biozal is being very polite… We, somehow, left our crystal balls in the other office. We will be much more able to help out if you give us a clue about where to look for your issue.

  • Which platform are you using? Is this Java? Android? Swift?
  • What version of CB-Lite are you using? We support multiple versions for each platform. They are all different.
  • In what environment are you using CBL? Is this Java on Windows? Is this Android Tiramisu?

I think that you are predominantly interested in the method “ReplicatorConfiguration.setAcceptOnlySelfSignedServerCertificate”. You are exactly right in suspecting that it is an EE only feature.
The reason, then, that there is no documentation for such a method in the ReplicatorConfiguration class or its parent class AbstractReplicatorConfiguration, is that it does not exist.
I’ve created CBL-3182 to track adding EE-only messages to the Javadoc for EE only features.

1 Like

Thank you very much for your attention, @biozal, and @blake.meike.

CE: Android Java 3.0.0:implementation ‘com.couchbase.lite:couchbase-lite-android:3.0.0’
EE: Android Java 3.0.0:implementation ‘com.couchbase.lite:couchbase-lite-android-ee:3.0.0’
(I expected the links to documentation and API doc in my post were corresponding to these)
Environment: Android Studio with a Nexus 5X API 29 emulator on Mac

In fact, I was not interested in the method itself but I wanted to learn how to clarify the question. I once thought that I might be able to know it by taking look at the source code but it did not seem straightforward as it is based on C core API (I’m still interested in learning how to read it though).

So, the title of the ticket, " Javadoc for EE features should identify the features, explicitly, as EE only.", is exactly what I was interested in (The other option, possibly an easier one, could be having a different Javadoc for CE).

Thanks again.

@YoshiyukiKono
I don’t know how you are viewing the EE code. It is entirely separate from the CE code. There should be no need to delve into the C or LiteCore. CE code contains only working CE methods. The EE methods are completely different implementations. This, for instance, is why there is an AbstractReplicatorConfiguration (contains common code) and two separate definitions of the subclass ReplicatorConfiguration, one for CE and one for EE.

1 Like

I don’t know how you are viewing the EE code.

I started from here.
It led me to https://github.com/couchbase/couchbase-lite-android, but it is archived with the message, " This repository is deprecated as of Couchbase Lite v2.8. Please refer to the Community Edition Repository".
Then, I tried to read the sources in the above link.
However, I could not find under com.couchbase.lite package what I expected.
There are only CouchbaseLite.jave and CouchbaseLogger.java and internal package.
This is the background when I wrote "as it is based on C core API ". I realized I had had a misconception by referring to the wrong folder.

There should be no need to delve into the C or LiteCore.

This time, I tried to search the class in the repository, and found AbstractReplicatorConfiguration.java, but there was no ReplicatorConfiguration.java in the search result, and also under the same folder where AbstractReplicatorConfiguration.java exists.

It’d be appreciated if you let me know the URL of ReplicatorConfiguration.java (of CE and EE too), @blake.meike.

This, for instance, is why there is an AbstractReplicatorConfiguration (contains common code) and two separate definitions of the subclass ReplicatorConfiguration, one for CE and one for EE.

I appreciate your giving me the above explanation. It’d allowed me to have a guess for other classes at some level.

CE replicator configuration is here and EE is not open source so I will not post a link to it here. The link I posted is a submodule link from the ce-root repo.

Thank you very much for the information, @borrrden!

I didn’t understand the treatment of EE source code clearly but it’s enough for me to know where I should refer regarding CE. I’d be able to solve by myself when I get similar questions about other classes.

Thanks again, @blake.meike, @biozal, and @borrrden!
I learned a lot from you, and hope this post is helpful to the community.