/** * Validates and executes a {@code ResourceUpdate} encoded as a json object. The object * must have a changes property that takes the value of an array. * * @throws InvalidUpdateException if the given update * is not a validate update. */ public void execute(JsonValue transactionObject) { try { execute(Json.fromJson(RecordTransaction.class, transactionObject)); } catch (JsonMappingException e) { throw new InvalidUpdateException(e); } }
public void execute(TypedFormRecord typedFormRecord) { RecordTransaction tx = new RecordTransactionBuilder() .create(typedFormRecord) .build(); execute(tx); }
public void updateRecords(RecordTransaction transaction) { Updater updater = new Updater(this, databaseProvider, new BlobAuthorizerStub(), serialNumberProvider, 1); updater.execute(transaction); }
private void executeUpdate(TypedFormRecord creation) { Updater updater = updater(); updater.execute(creation); }
@Test(expected = InvalidUpdateException.class) public void missingChangesProperty() { JsonValue updateObject = createObject(); updater.execute(updateObject); }
@Test(expected = InvalidUpdateException.class) public void invalidChangesProperty() { JsonValue updateObject = createObject(); updateObject.put("changes", 42); updater.execute(updateObject); }
@Test(expected = InvalidUpdateException.class) public void newResourceWithoutClass() { JsonValue change = createObject(); change.put("formId", "XYZ123-new-id"); JsonValue changes = Json.createArray(); changes.add(change); JsonValue updateObject = createObject(); updateObject.put("changes", changes); updater.execute(updateObject); }
@Test(expected = InvalidUpdateException.class) public void newResourceWithMissingCollection() { JsonValue change = createObject(); change.put("recordId", "XYZ123"); change.put("formId", "foobar"); JsonValue changes = Json.createArray(); changes.add(change); JsonValue updateObject = createObject(); updateObject.put("changes", changes); updater.execute(updateObject); }
@Test(expected = InvalidUpdateException.class) public void newResourceWithInvalidClass() { JsonValue change = createObject(); change.put("recordId", "XYZ123"); change.put("formId", createObject()); JsonValue changes = Json.createArray(); changes.add(change); JsonValue updateObject = createObject(); updateObject.put("changes", changes); updater.execute(updateObject); }
@Override public Promise<Void> updateRecord(String formId, String recordId, FormRecordUpdateBuilder query) { try { FormStorageProvider catalog = newCatalog(); Updater updater = new Updater(catalog, databaseProvider, blobAuthorizer, new SerialNumberProviderStub(), currentUserId()); updater.execute(ResourceId.valueOf(formId), ResourceId.valueOf(recordId), query.toJsonObject()); return Promise.resolved(null); } catch (Exception e) { return Promise.rejected(e); } }
update.put("fieldValues", fieldValues); updater().execute(formClass.getId(), siteId, update);
update.set(nameField.getId(), TextValue.valueOf(villageName)); updater.execute(update);
@Test public void testSingleSiteResource() throws IOException { int databaseId = 1; ResourceId formId = CuidAdapter.activityFormClass(1); TypedRecordUpdate update = new TypedRecordUpdate(); update.setUserId(userId); update.setFormId(formId); update.setRecordId(cuid(SITE_DOMAIN, 1)); update.set(field(formId, PARTNER_FIELD), CuidAdapter.partnerRef(databaseId, 2)); update.set(indicatorField(1), new Quantity(900)); update.set(attributeGroupField(1), new EnumValue(attributeId(CATASTROPHE_NATURELLE_ID))); Updater updater = updater(); updater.execute(update); query(CuidAdapter.activityFormClass(1), "_id", "partner", "BENE", "cause"); assertThat(column("_id"), hasValues(cuid(SITE_DOMAIN, 1), cuid(SITE_DOMAIN, 2), cuid(SITE_DOMAIN, 3))); assertThat(column("partner"), hasValues(partnerRecordId(2), partnerRecordId(1), partnerRecordId(2))); assertThat(column("BENE"), hasValues(900, 3600, 10000)); assertThat(column("cause"), hasValues("Catastrophe Naturelle", "Deplacement", "Catastrophe Naturelle")); }
site2.setFieldValue(partnerField(activityId), CuidAdapter.partnerRef(1, 1)); updater().execute(tx.build());