From 1e19e219adc3c37b4e3bf5e0e97847e00ed51fc1 Mon Sep 17 00:00:00 2001 From: tarilabs Date: Tue, 18 Oct 2016 14:17:33 +0200 Subject: [PATCH] Hierarchy of DMNModelInstrumentedBase. (#6) --- .../marshalling/v1_1/xstream/DMNElementConverter.java | 11 +++++++---- .../dmn/feel/model/v1_1/DMNModelInstrumentedBase.java | 2 +- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/kie-dmn/kie-dmn-backend/src/main/java/org/kie/dmn/backend/marshalling/v1_1/xstream/DMNElementConverter.java b/kie-dmn/kie-dmn-backend/src/main/java/org/kie/dmn/backend/marshalling/v1_1/xstream/DMNElementConverter.java index 490b34c7045..f4a2247b1f6 100644 --- a/kie-dmn/kie-dmn-backend/src/main/java/org/kie/dmn/backend/marshalling/v1_1/xstream/DMNElementConverter.java +++ b/kie-dmn/kie-dmn-backend/src/main/java/org/kie/dmn/backend/marshalling/v1_1/xstream/DMNElementConverter.java @@ -24,24 +24,27 @@ import org.kie.dmn.feel.model.v1_1.DMNElement; public abstract class DMNElementConverter - extends DMNBaseConverter { + extends DMNModelInstrumentedBaseConverter { public static final String ID = "id"; public static final String LABEL = "label"; public static final String DESCRIPTION = "description"; public DMNElementConverter(XStream xstream) { - super( xstream.getMapper() ); + super( xstream ); } @Override protected void assignChildElement(Object parent, String nodeName, Object child) { if ( DESCRIPTION.equals( nodeName ) && child instanceof String ) { ((DMNElement) parent).setDescription( (String) child ); + } else { + super.assignChildElement(parent, nodeName, child); } } @Override protected void assignAttributes(HierarchicalStreamReader reader, Object parent) { + super.assignAttributes(reader, parent); String id = reader.getAttribute( ID ); String label = reader.getAttribute( LABEL ); @@ -53,7 +56,7 @@ protected void assignAttributes(HierarchicalStreamReader reader, Object parent) @Override protected void writeChildren(HierarchicalStreamWriter writer, MarshallingContext context, Object parent) { - // there is no call to super as super is an abstract method. + super.writeChildren(writer, context, parent); DMNElement e = (DMNElement) parent; if (e.getDescription() !=null) writeChildrenNodeAsValue(writer, context, e.getDescription(), DESCRIPTION); @@ -61,7 +64,7 @@ protected void writeChildren(HierarchicalStreamWriter writer, MarshallingContext } @Override protected void writeAttributes(HierarchicalStreamWriter writer, Object parent) { - // there is no call to super as super is an abstract method. + super.writeAttributes(writer, parent); DMNElement e = (DMNElement) parent; if (e.getId() != null) writer.addAttribute( ID , e.getId() ); diff --git a/kie-dmn/kie-dmn-model/src/main/java/org/kie/dmn/feel/model/v1_1/DMNModelInstrumentedBase.java b/kie-dmn/kie-dmn-model/src/main/java/org/kie/dmn/feel/model/v1_1/DMNModelInstrumentedBase.java index b1ccbd4030c..07c8ba996c3 100644 --- a/kie-dmn/kie-dmn-model/src/main/java/org/kie/dmn/feel/model/v1_1/DMNModelInstrumentedBase.java +++ b/kie-dmn/kie-dmn-model/src/main/java/org/kie/dmn/feel/model/v1_1/DMNModelInstrumentedBase.java @@ -16,6 +16,6 @@ package org.kie.dmn.feel.model.v1_1; -public class DMNModelInstrumentedBase { +public abstract class DMNModelInstrumentedBase { }