Skip to content

Commit 2592ef4

Browse files
authored
fix(datastore):predicate handling for observe (#1537)
1 parent 90beb51 commit 2592ef4

File tree

2 files changed

+3
-5
lines changed

2 files changed

+3
-5
lines changed

aws-datastore/src/main/java/com/amplifyframework/datastore/AWSDataStorePlugin.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -621,7 +621,7 @@ public <T extends Model> void observe(
621621
itemChange -> {
622622
try {
623623
if (itemChange.modelSchema().getName().equals(itemClass.getSimpleName()) &&
624-
selectionCriteria.evaluate(itemChange)) {
624+
selectionCriteria.evaluate(itemChange.item())) {
625625
@SuppressWarnings("unchecked") // itemClass() was just inspected above. This is safe.
626626
StorageItemChange<T> typedChange = (StorageItemChange<T>) itemChange;
627627
onDataStoreItemChange.accept(ItemChangeMapper.map(typedChange));

aws-datastore/src/test/java/com/amplifyframework/datastore/AWSDataStorePluginTest.java

+2-4
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,10 @@
3636
import com.amplifyframework.core.InitializationStatus;
3737
import com.amplifyframework.core.category.CategoryType;
3838
import com.amplifyframework.core.model.ModelProvider;
39-
import com.amplifyframework.core.model.query.predicate.QueryField;
4039
import com.amplifyframework.core.model.temporal.Temporal;
4140
import com.amplifyframework.datastore.appsync.ModelMetadata;
4241
import com.amplifyframework.datastore.appsync.ModelWithMetadata;
4342
import com.amplifyframework.datastore.model.SimpleModelProvider;
44-
import com.amplifyframework.datastore.storage.StorageItemChange;
4543
import com.amplifyframework.hub.HubChannel;
4644
import com.amplifyframework.hub.HubEvent;
4745
import com.amplifyframework.logging.Logger;
@@ -579,7 +577,7 @@ public void accept(@NonNull DataStoreItemChange<Person> value) {
579577
}
580578
});
581579
awsDataStorePlugin.observe(Person.class,
582-
QueryField.field("type").eq(StorageItemChange.Type.CREATE),
580+
Person.FIRST_NAME.eq("Test"),
583581
value -> { },
584582
onObserveResult,
585583
error -> {
@@ -620,7 +618,7 @@ public void accept(@NonNull DataStoreItemChange<Person> value) {
620618
}
621619
});
622620
awsDataStorePlugin.observe(Person.class,
623-
QueryField.field("type").eq(StorageItemChange.Type.UPDATE),
621+
Person.FIRST_NAME.eq("NO MATCH"),
624622
value -> { },
625623
onObserveResult,
626624
error -> {

0 commit comments

Comments
 (0)