remove dependency to ParameterizedTypeImpl class

This commit is contained in:
bancika
2020-03-31 12:40:04 +02:00
parent a385d467a4
commit 276ad57521
@@ -23,8 +23,6 @@ package org.diylc.presenter;
import org.diylc.core.measures.AbstractMeasure; import org.diylc.core.measures.AbstractMeasure;
import sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl;
import com.thoughtworks.xstream.converters.Converter; import com.thoughtworks.xstream.converters.Converter;
import com.thoughtworks.xstream.converters.MarshallingContext; import com.thoughtworks.xstream.converters.MarshallingContext;
import com.thoughtworks.xstream.converters.UnmarshallingContext; import com.thoughtworks.xstream.converters.UnmarshallingContext;
@@ -76,7 +74,7 @@ public class MeasureConverter implements Converter {
} }
try { try {
Class requiredType = context.getRequiredType(); Class requiredType = context.getRequiredType();
ParameterizedTypeImpl generic = (ParameterizedTypeImpl)requiredType.getGenericSuperclass(); java.lang.reflect.ParameterizedType generic = (java.lang.reflect.ParameterizedType)requiredType.getGenericSuperclass();
Class unitType = (Class)generic.getActualTypeArguments()[0]; Class unitType = (Class)generic.getActualTypeArguments()[0];
Object unit = unitStr == null ? null : Enum.valueOf(unitType, unitStr); Object unit = unitStr == null ? null : Enum.valueOf(unitType, unitStr);
return requiredType.getConstructor(Double.class, unitType).newInstance(value, unit); return requiredType.getConstructor(Double.class, unitType).newInstance(value, unit);