mirror of
https://github.com/danieldemus/openhab-core.git
synced 2025-01-25 11:45:49 +01:00
added support for QuantityType in the compatibility layer (#319)
This specifically makes the QuantityType backward compatible and makes it treated as a simple DecimalType in any 1.x add-ons, such as specifically the persistence services. Signed-off-by: Kai Kreuzer <kai@openhab.org>
This commit is contained in:
parent
bd654a60e6
commit
9b0bf26c09
@ -8,12 +8,16 @@ Bundle-Version: 2.3.0.qualifier
|
|||||||
Fragment-Host: org.openhab.core.compat1x
|
Fragment-Host: org.openhab.core.compat1x
|
||||||
Import-Package:
|
Import-Package:
|
||||||
groovy.lang,
|
groovy.lang,
|
||||||
|
javax.measure.quantity,
|
||||||
org.codehaus.groovy.reflection,
|
org.codehaus.groovy.reflection,
|
||||||
org.codehaus.groovy.runtime,
|
org.codehaus.groovy.runtime,
|
||||||
org.codehaus.groovy.runtime.callsite,
|
org.codehaus.groovy.runtime.callsite,
|
||||||
org.codehaus.groovy.runtime.typehandling,
|
org.codehaus.groovy.runtime.typehandling,
|
||||||
org.eclipse.jdt.annotation;resolution:=optional,
|
org.eclipse.jdt.annotation;resolution:=optional,
|
||||||
org.eclipse.smarthome.core.events,
|
org.eclipse.smarthome.core.events,
|
||||||
|
org.eclipse.smarthome.core.library.types,
|
||||||
org.eclipse.smarthome.test,
|
org.eclipse.smarthome.test,
|
||||||
org.hamcrest;core=split,
|
org.hamcrest;core=split,
|
||||||
org.junit
|
org.junit,
|
||||||
|
tec.uom.lib.common,
|
||||||
|
tec.uom.se
|
||||||
|
@ -10,6 +10,10 @@ package org.openhab.core.compat1x.internal;
|
|||||||
|
|
||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.assertEquals;
|
||||||
|
|
||||||
|
import javax.measure.quantity.Temperature;
|
||||||
|
|
||||||
|
import org.eclipse.smarthome.core.library.types.DecimalType;
|
||||||
|
import org.eclipse.smarthome.core.library.types.QuantityType;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.openhab.core.library.types.DateTimeType;
|
import org.openhab.core.library.types.DateTimeType;
|
||||||
import org.openhab.library.tel.types.CallType;
|
import org.openhab.library.tel.types.CallType;
|
||||||
@ -29,4 +33,11 @@ public class TypeMapperTest {
|
|||||||
CallType ohType2 = (CallType) TypeMapper.mapToOpenHABType(TypeMapper.mapToESHType(ohType1));
|
CallType ohType2 = (CallType) TypeMapper.mapToOpenHABType(TypeMapper.mapToESHType(ohType1));
|
||||||
assertEquals(ohType1, ohType2);
|
assertEquals(ohType1, ohType2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testQuantityType() {
|
||||||
|
QuantityType<Temperature> eshType1 = new QuantityType<>("10 °C");
|
||||||
|
DecimalType eshType2 = (DecimalType) TypeMapper.mapToESHType(TypeMapper.mapToOpenHABType(eshType1));
|
||||||
|
assertEquals(eshType1.as(DecimalType.class), eshType2);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -65,6 +65,7 @@ Export-Package:
|
|||||||
org.openhab.ui.items
|
org.openhab.ui.items
|
||||||
Import-Package:
|
Import-Package:
|
||||||
com.google.common.base,
|
com.google.common.base,
|
||||||
|
javax.measure,
|
||||||
javax.servlet,
|
javax.servlet,
|
||||||
javax.servlet.http,
|
javax.servlet.http,
|
||||||
javax.sound.sampled,
|
javax.sound.sampled,
|
||||||
|
@ -20,6 +20,7 @@ import org.eclipse.smarthome.core.library.types.OnOffType;
|
|||||||
import org.eclipse.smarthome.core.library.types.OpenClosedType;
|
import org.eclipse.smarthome.core.library.types.OpenClosedType;
|
||||||
import org.eclipse.smarthome.core.library.types.PercentType;
|
import org.eclipse.smarthome.core.library.types.PercentType;
|
||||||
import org.eclipse.smarthome.core.library.types.PointType;
|
import org.eclipse.smarthome.core.library.types.PointType;
|
||||||
|
import org.eclipse.smarthome.core.library.types.QuantityType;
|
||||||
import org.eclipse.smarthome.core.library.types.StopMoveType;
|
import org.eclipse.smarthome.core.library.types.StopMoveType;
|
||||||
import org.eclipse.smarthome.core.library.types.StringListType;
|
import org.eclipse.smarthome.core.library.types.StringListType;
|
||||||
import org.eclipse.smarthome.core.library.types.StringType;
|
import org.eclipse.smarthome.core.library.types.StringType;
|
||||||
@ -69,6 +70,8 @@ public class TypeMapper {
|
|||||||
result = new org.openhab.core.library.types.StringType(type.toString());
|
result = new org.openhab.core.library.types.StringType(type.toString());
|
||||||
} else if (typeClass.equals(DecimalType.class)) {
|
} else if (typeClass.equals(DecimalType.class)) {
|
||||||
result = new org.openhab.core.library.types.DecimalType(type.toString());
|
result = new org.openhab.core.library.types.DecimalType(type.toString());
|
||||||
|
} else if (typeClass.equals(QuantityType.class)) {
|
||||||
|
result = new org.openhab.core.library.types.DecimalType(((QuantityType<?>) type).toBigDecimal());
|
||||||
} else if (typeClass.equals(HSBType.class)) {
|
} else if (typeClass.equals(HSBType.class)) {
|
||||||
result = new org.openhab.core.library.types.HSBType(type.toString());
|
result = new org.openhab.core.library.types.HSBType(type.toString());
|
||||||
} else if (typeClass.equals(PercentType.class)) {
|
} else if (typeClass.equals(PercentType.class)) {
|
||||||
|
Loading…
Reference in New Issue
Block a user