Exemplo n.º 1
0
  @Test
  public void array_foreach_append() throws Exception {
    jsonDoc = EvalTestContext.getDoc("./termsdata.json");
    md = EvalTestContext.getMd("./termsmd.json");
    UpdateExpression expr =
        EvalTestContext.updateExpressionFromJson(
            "{ '$foreach' : { 'termsVerbiage' : { 'field':'uid','op':'=','rvalue':1} ,"
                + "'$update' : [ "
                + "{ '$insert': { 'termsVerbiageTranslation.0': {}}},"
                + "{ '$set': {'termsVerbiageTranslation.0.localeCode':'lg','termsVerbiageTranslation.0.localeText':'Lang' } }"
                + " ] }}");

    Updater updater = Updater.getInstance(JSON_NODE_FACTORY, md, expr);
    System.out.println("before:" + JsonUtils.prettyPrint(jsonDoc.getRoot()));
    Assert.assertTrue(updater.update(jsonDoc, md.getFieldTreeRoot(), new Path()));
    System.out.println("After:" + JsonUtils.prettyPrint(jsonDoc.getRoot()));

    Assert.assertEquals(
        4, jsonDoc.get(new Path("termsVerbiage.0.termsVerbiageTranslation")).size());
    Assert.assertEquals(
        "lg",
        jsonDoc.get(new Path("termsVerbiage.0.termsVerbiageTranslation.0.localeCode")).asText());
  }
Exemplo n.º 2
0
 @Before
 public void setup() throws Exception {
   jsonDoc = EvalTestContext.getDoc("./sample1.json");
   md = EvalTestContext.getMd("./testMetadata.json");
 }