Skip to content

Commit 62c9a1e

Browse files
authored
fix: mapping measurement with primitive float (#294)
1 parent 5ca93a5 commit 62c9a1e

3 files changed

Lines changed: 49 additions & 2 deletions

File tree

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
### Bug Fixes
77
1. [#283](https://github.com/influxdata/influxdb-client-java/pull/283): Serialization `null` tag's value into LineProtocol
88
1. [#285](https://github.com/influxdata/influxdb-client-java/pull/285): Default dialect for Query APIs
9+
1. [#294](https://github.com/influxdata/influxdb-client-java/pull/294): Mapping measurement with primitive `float`
910

1011
## 4.0.0 [2021-11-26]
1112

client/src/main/java/com/influxdb/client/internal/MeasurementMapper.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,7 @@ private boolean isNumber(@Nonnull final Class<?> fieldType) {
139139
return Number.class.isAssignableFrom(fieldType)
140140
|| double.class.isAssignableFrom(fieldType)
141141
|| long.class.isAssignableFrom(fieldType)
142+
|| float.class.isAssignableFrom(fieldType)
142143
|| int.class.isAssignableFrom(fieldType);
143144
}
144145

client/src/test/java/com/influxdb/client/internal/MeasurementMapperTest.java

Lines changed: 47 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,7 @@ class MeasurementMapperTest {
4343
private MeasurementMapper mapper;
4444

4545
@BeforeEach
46-
void setUp()
47-
{
46+
void setUp() {
4847
mapper = new MeasurementMapper();
4948
}
5049

@@ -133,6 +132,24 @@ void pojoMeasurement() {
133132
Assertions.assertThat(lineProtocol).isEqualTo("mem,tag=a value=5i");
134133
}
135134

135+
@Test
136+
void primitives() {
137+
PojoPrimitives pojo = new PojoPrimitives();
138+
pojo.float1 = 10.5F;
139+
pojo.float2 = pojo.float1;
140+
pojo.integer1 = 50;
141+
pojo.integer2 = pojo.integer1;
142+
pojo.bool1 = true;
143+
pojo.bool2 = pojo.bool1;
144+
pojo.double1 = 123.12;
145+
pojo.double2 = pojo.double1;
146+
pojo.long1 = 123456789L;
147+
pojo.long2 = pojo.long1;
148+
149+
String lineProtocol = mapper.toPoint(pojo, WritePrecision.S).toLineProtocol();
150+
Assertions.assertThat(lineProtocol).isEqualTo("primitives bool1=true,bool2=true,double1=123.12,double2=123.12,float1=10.5,float2=10.5,integer1=50i,integer2=50i,long1=123456789i,long2=123456789i");
151+
}
152+
136153
@Measurement(name = "pojo")
137154
private static class Pojo {
138155

@@ -177,4 +194,32 @@ public static class PojoMeasurement {
177194
@Column(name = "value")
178195
private Integer value;
179196
}
197+
198+
@Measurement(name = "primitives")
199+
public static class PojoPrimitives {
200+
@Column
201+
private Float float1;
202+
@Column
203+
private float float2;
204+
205+
@Column
206+
private Integer integer1;
207+
@Column
208+
private int integer2;
209+
210+
@Column
211+
private Boolean bool1;
212+
@Column
213+
private boolean bool2;
214+
215+
@Column
216+
private Double double1;
217+
@Column
218+
private double double2;
219+
220+
@Column
221+
private Long long1;
222+
@Column
223+
private long long2;
224+
}
180225
}

0 commit comments

Comments
 (0)