[Bugfix] fixed an issue where cloning a Resource was missing the params

This commit is contained in:
Robert von Burg 2013-12-28 12:58:13 +01:00
parent fc92e9fff3
commit 2cb1aa0ffe
10 changed files with 18 additions and 10 deletions

View File

@ -91,7 +91,7 @@ public abstract class GroupedParameterizedElement extends AbstractStrolchElement
*
* @return the found {@link Parameter} or null if it was not found
*/
public <T> Parameter<T> getParameter(String bagKey, String paramKey) {
public <T> T getParameter(String bagKey, String paramKey) {
if (this.parameterBagMap == null)
return null;
ParameterBag bag = this.parameterBagMap.get(bagKey);

View File

@ -259,7 +259,13 @@ public abstract class ParameterizedElement extends AbstractStrolchElement {
@Override
protected void fillClone(StrolchElement clone) {
super.fillClone(clone);
((ParameterizedElement) clone).setType(this.type);
ParameterizedElement peClone = (ParameterizedElement) clone;
peClone.setType(this.type);
if(this.parameterMap != null) {
for(Parameter<?> param : this.parameterMap.values()) {
peClone.addParameter(param.getClone());
}
}
}
@SuppressWarnings("nls")

View File

@ -91,7 +91,7 @@ public class BooleanParameter extends AbstractParameter<Boolean> {
}
@Override
public Parameter<Boolean> getClone() {
public BooleanParameter getClone() {
BooleanParameter clone = new BooleanParameter();
super.fillClone(clone);

View File

@ -94,7 +94,7 @@ public class DateParameter extends AbstractParameter<Date> {
}
@Override
public Parameter<Date> getClone() {
public DateParameter getClone() {
DateParameter clone = new DateParameter();
super.fillClone(clone);

View File

@ -94,7 +94,7 @@ public class FloatParameter extends AbstractParameter<Double> {
}
@Override
public Parameter<Double> getClone() {
public FloatParameter getClone() {
FloatParameter clone = new FloatParameter();
super.fillClone(clone);

View File

@ -93,7 +93,7 @@ public class IntegerParameter extends AbstractParameter<Integer> {
}
@Override
public Parameter<Integer> getClone() {
public IntegerParameter getClone() {
IntegerParameter clone = new IntegerParameter();
super.fillClone(clone);

View File

@ -93,7 +93,7 @@ public class LongParameter extends AbstractParameter<Long> {
}
@Override
public Parameter<Long> getClone() {
public LongParameter getClone() {
LongParameter clone = new LongParameter();
super.fillClone(clone);

View File

@ -140,4 +140,7 @@ public interface Parameter<T> extends StrolchElement {
@Override
public boolean equals(Object obj);
@Override
public Parameter<T> getClone();
}

View File

@ -23,7 +23,6 @@ import java.util.Iterator;
import java.util.List;
import li.strolch.exception.StrolchException;
import li.strolch.model.StrolchElement;
import li.strolch.model.Tags;
import org.w3c.dom.Element;
@ -125,7 +124,7 @@ public class StringListParameter extends AbstractParameter<List<String>> impleme
}
@Override
public StrolchElement getClone() {
public StringListParameter getClone() {
StringListParameter clone = new StringListParameter();
super.fillClone(clone);

View File

@ -95,7 +95,7 @@ public class StringParameter extends AbstractParameter<String> {
}
@Override
public Parameter<String> getClone() {
public StringParameter getClone() {
StringParameter clone = new StringParameter();
super.fillClone(clone);