UpdateJSON.updateZipCode()

The UpdateJSON.updateZipCode() method performs the actual update operation in the store.

Because JSON can be returned as a MapValue, it is simple and efficient to update the JSON data field.

    // Updates the zipcode for the proper address (either "home"
    // or "work" in this example).
    //
    // The calling method must guarantee that this row contains a 
    // home address which refers to the correct city.
    private void updateZipCode(TableAPI tableH, Row row,
            String addrType, String newzip) {

        MapValue homeaddr = row.get("person").asMap()
                               .get("address").asMap()
                               .get(addrType).asMap();
        // If the zip field does not exist in the home address,
        // it is created with the newzip value. If it currently
        // exists, it is updated with the new value.
        homeaddr.put("zip", newzip);

        // Write the updated row back to the store. 
        // Note that if this was production code, we 
        // should be using putIfVersion() when
        // performing this write to ensure that the row
        // has not been changed since it was originally read.
        tableH.put(row, null, null);
    }