Issue 127: Do not allow to override BaseRepresenter.representData(Object data)
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index c09f5db..1f0c5d1 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -7,6 +7,10 @@
</properties>
<body>
<release version="1.9-SNAPSHOT" date="in Mercurial" description="Development">
+ <action dev="py4fun" type="remove" issue="127">
+ Do not allow to override BaseRepresenter.representData(Object data) because
+ users should instead implement Represent interface (2011-07-21)
+ </action>
<action dev="py4fun" type="remove" issue="124">
Deprecate DumperOptions.explicitRoot (2011-07-20)
</action>
diff --git a/src/main/java/org/yaml/snakeyaml/representer/BaseRepresenter.java b/src/main/java/org/yaml/snakeyaml/representer/BaseRepresenter.java
index e977859..3f2aa91 100644
--- a/src/main/java/org/yaml/snakeyaml/representer/BaseRepresenter.java
+++ b/src/main/java/org/yaml/snakeyaml/representer/BaseRepresenter.java
@@ -69,7 +69,7 @@
return node;
}
- protected Node representData(Object data) {
+ protected final Node representData(Object data) {
objectToRepresent = data;
// check for identity
if (representedObjects.containsKey(objectToRepresent)) {
diff --git a/src/test/java/org/yaml/snakeyaml/issues/issue127/NullAliasTest.java b/src/test/java/org/yaml/snakeyaml/issues/issue127/NullAliasTest.java
index 7d87b07..1f182ef 100644
--- a/src/test/java/org/yaml/snakeyaml/issues/issue127/NullAliasTest.java
+++ b/src/test/java/org/yaml/snakeyaml/issues/issue127/NullAliasTest.java
@@ -53,31 +53,4 @@
}
}
}
-
- public void testNullAnchor() {
- Bean bean = new Bean();
-
- bean.setA("a"); // leave b null
-
- Yaml yaml = new Yaml(new Representer() {
- /**
- * This way is not recommended !
- */
- @Override
- public Node representData(Object data) {
- if (data instanceof Bean) {
- objectToRepresent = data;// this line is important !!!
- Bean bean = (Bean) data;
- Map<String, Object> fields = new LinkedHashMap<String, Object>(2);
- fields.put("a", bean.getA());
- fields.put("b", bean.getB());
- return representMapping(MY_TAG, fields, false);
- } else {
- return super.representData(data);
- }
- }
- });
- String output = yaml.dump(bean);
- assertEquals("!<tag:example.com,2011:bean>\na: a\nb: null\n", output);
- }
}
\ No newline at end of file