Exemple #1
0
  private Map<String, SubMergeable> buildSubMergeableMap(List<SubMergeable> subMergeables) {

    Map<String, SubMergeable> subMergeableMap = new HashMap<String, SubMergeable>();
    for (SubMergeable subMergeable : subMergeables) {
      subMergeableMap.put(subMergeable.getIdentifier(), subMergeable);
    }

    return subMergeableMap;
  }
Exemple #2
0
  private SubMergeable buildSubMergeable(
      String id, String value, String dontMergeValue, boolean generateTag) throws MergerException {

    SubMergeable subMergeable = subMergeableProvider.get();

    subMergeable.setId(id);
    subMergeable.setValue(value);
    subMergeable.setDontMergeValue(dontMergeValue);

    if (generateTag) {
      updateMergeTags(subMergeable);
    }

    return subMergeable;
  }
Exemple #3
0
  @Test
  public void testNullCollection() throws MergerException {
    List<SubMergeable> subMergeablesTwo = new ArrayList<SubMergeable>();

    subMergeablesTwo.add(buildSubMergeable("1", "seven", "eight", true));

    MergeableRoot one = buildMergeableRoot("3", "one", "two", 5, null, true);
    MergeableRoot two = buildMergeableRoot("3", null, null, 6, subMergeablesTwo, true);

    MergeableRoot merged = merger.merge(MergeableRoot.class, one, two);

    assertEquals("one", merged.getDontMerge());
    assertNull(merged.getStringValue());
    assertEquals(6, merged.getIntValue());
    assertEquals(1, merged.getSubMergeables().size());
    SubMergeable subMergeable = merged.getSubMergeables().iterator().next();
    assertEquals("seven", subMergeable.getValue());
    assertEquals("eight", subMergeable.getDontMergeValue());
  }
Exemple #4
0
  @Test
  public void testNonMatchingMerge() throws MergerException {
    List<SubMergeable> subMergeablesOne = new ArrayList<SubMergeable>();
    List<SubMergeable> subMergeablesTwo = new ArrayList<SubMergeable>();

    subMergeablesOne.add(buildSubMergeable("1", "five", "six", true));
    subMergeablesTwo.add(buildSubMergeable("2", "seven", "eight", true));

    MergeableRoot one = buildMergeableRoot("3", "one", "two", 5, subMergeablesOne, true);
    MergeableRoot two = buildMergeableRoot("4", "three", "four", 6, subMergeablesTwo, true);

    MergeableRoot merged = merger.merge(MergeableRoot.class, one, two);

    assertEquals("one", merged.getDontMerge());
    assertEquals("four", merged.getStringValue());
    assertEquals(6, merged.getIntValue());
    assertEquals(1, merged.getSubMergeables().size());
    SubMergeable subMergeableTwo = buildSubMergeableMap(merged.getSubMergeables()).get("2");
    assertEquals("seven", subMergeableTwo.getValue());
    assertEquals("eight", subMergeableTwo.getDontMergeValue());
  }
Exemple #5
0
  @Test
  public void testPreviouslyUntagWritten() throws MergerException {
    List<SubMergeable> subMergeablesOne = new ArrayList<SubMergeable>();
    List<SubMergeable> subMergeablesTwo = new ArrayList<SubMergeable>();

    subMergeablesOne.add(buildSubMergeable("1", "five", "six", false));
    subMergeablesOne.add(buildSubMergeable("2", "nine", "ten", false));
    subMergeablesTwo.add(buildSubMergeable("1", "seven", "eight", true));

    MergeableRoot one = buildMergeableRoot("2", "one", "two", 5, subMergeablesOne, false);
    MergeableRoot two = buildMergeableRoot("2", "three", "four", 6, subMergeablesTwo, true);

    MergeableRoot merged = merger.merge(MergeableRoot.class, one, two);

    assertEquals("one", merged.getDontMerge());
    assertEquals("two", merged.getStringValue());
    assertEquals(5, merged.getIntValue());
    assertEquals(2, merged.getSubMergeables().size());
    SubMergeable subMergeable = buildSubMergeableMap(merged.getSubMergeables()).get("1");
    assertEquals("five", subMergeable.getValue());
    assertEquals("six", subMergeable.getDontMergeValue());
  }