Hello!
So I have a situation where I have to update a document and right after that make a REST API call to the server that will need that updated document.
To make sure that the document was updated remotely I was using a push replication like this:
Database db =  DataStore.getDatabase();
    db.setFilter(SyncManager.REPL_FILTER_BY_CUSTOMER, new ReplicationFilter() {
        @Override
        public boolean filter(SavedRevision revision, Map<String, Object> params) {
            String nameParam = (String) params.get(KEY_NAME);
            return nameParam != null && nameParam.equals(revision.getProperty(KEY_EMAIL));
        }
    });
    push = db.createPushReplication(new URL(URLSTRING));
    push.setContinuous(false);
    Authenticator auth = AuthenticatorFactory.createBasicAuthenticator(username, password);
    push.setAuthenticator(auth);
    push.setFilter(SyncManager.REPL_FILTER_BY_CUSTOMER);
    Map<String, Object> params = new HashMap<String, Object>();
    params.put(KEY_NAME, customer_email);
    push.setFilterParams(params);
    push.addChangeListener(new Replication.ChangeListener() {
        @Override
        public void changed(Replication.ChangeEvent event) {
            if(push.getStatus() == Replication.ReplicationStatus.REPLICATION_STOPPED){
                push.stop();
                doTheRESTCall();
            }
        }
    });
    push.start();
I was hoping to catch the replication stop to continue with the REST API call?
I’m I looking to the replication mechanism in the wrong way?
Currently I’m getting this error:
E/Sync﹕ com.couchbase.lite.replicator.ReplicationInternal$4@15fc7a99 checkSessionAtPath() response: {authentication_handlers=[default, cookie], ok=true, userCtx={channels={account_*****=*****, public=*****, user_***=*****}, name=customer@email.email}}
E/RemoteRequest﹕ Got error status: 404 for *couchbaseurl*.  Reason: Not Found
Thanks!