if (WebflowModelXmlUtils.isVersion1Flow(state)) {
if (trimString(this.attributeMapperBeanText.getText()) != null
|| this.inputAttributes.size() > 0 || this.outputAttributes.size() > 0
|| this.outputMapping.size() > 0 || this.inputMapping.size() > 0) {
IAttributeMapper mapper = null;
if (stateClone.getAttributeMapper() == null) {
mapper = new AttributeMapper();
mapper.createNew(stateClone);
stateClone.setAttributeMapper(mapper);
}
else {
mapper = stateClone.getAttributeMapper();
}
mapper.setBean(trimString(this.attributeMapperBeanText.getText()));
if (mapper.getOutputMapper() == null
&& (this.outputAttributes.size() > 0 || this.outputMapping.size() > 0)) {
OutputMapper entry = new OutputMapper();
entry.createNew(mapper);
for (IInputAttribute a : this.outputAttributes) {
entry.addOutputAttribute((IOutputAttribute) a);
}
for (IMapping a : this.outputMapping) {
entry.addMapping(a);
}
mapper.setOutputMapper(entry);
}
else if (this.outputAttributes.size() == 0 && this.outputMapping.size() == 0) {
mapper.setOutputMapper(null);
}
else {
mapper.getOutputMapper().removeAllOutputAttribute();
mapper.getOutputMapper().removeAllMapping();
for (IInputAttribute a : this.outputAttributes) {
mapper.getOutputMapper().addOutputAttribute((IOutputAttribute) a);
}
for (IMapping a : this.outputMapping) {
mapper.getOutputMapper().addMapping(a);
}
}
if (mapper.getInputMapper() == null
&& (this.inputAttributes.size() > 0 || this.inputMapping.size() > 0)) {
InputMapper entry = new InputMapper();
entry.createNew(mapper);
for (IInputAttribute a : this.inputAttributes) {
entry.addInputAttribute(a);
}
for (IMapping a : this.inputMapping) {
entry.addMapping(a);
}
mapper.setInputMapper(entry);
}
else if (this.inputAttributes.size() == 0 && this.inputMapping.size() == 0) {
mapper.setInputMapper(null);
}
else {
mapper.getInputMapper().removeAllInputAttribute();
mapper.getInputMapper().removeAllMapping();
for (IInputAttribute a : this.inputAttributes) {
mapper.getInputMapper().addInputAttribute(a);
}
for (IMapping a : this.inputMapping) {
mapper.getInputMapper().addMapping(a);
}
}
}
else {