package rocks.inspectit.server.influx.builder; import java.lang.reflect.Field; import java.util.Map; import java.util.concurrent.TimeUnit; import org.influxdb.dto.Point.Builder; import rocks.inspectit.shared.all.testbase.TestBase; /** * @author Ivan Senic * */ public class AbstractPointBuilderTest extends TestBase { protected String getMeasurement(Builder builder) throws Exception { return getFieldValue(builder, "measurement"); } protected Map<String, String> getTags(Builder builder) throws Exception { return getFieldValue(builder, "tags"); } protected Map<String, Object> getFields(Builder builder) throws Exception { return getFieldValue(builder, "fields"); } protected Long getTime(Builder builder) throws Exception { return getFieldValue(builder, "time"); } protected TimeUnit getPrecision(Builder builder) throws Exception { return getFieldValue(builder, "precision"); } @SuppressWarnings("unchecked") private <R> R getFieldValue(Builder builder, String name) throws Exception { Field field = Builder.class.getDeclaredField(name); field.setAccessible(true); return (R) field.get(builder); } }