influxdata / influxdata/influxdb-java
Support using package-private classes as POJOs for InfluxDBResultMapper
- Lingua principale
- Java
- Stelle
- 1.2k
- Fork
- 469
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
I'm using `org.influxdb:influxdb-java:2.10`.
I'd like to limit my `@Measurement` classes visibility to package-private, but currently it doesn't work because of the following exception:
```
org.influxdb.InfluxDBMapperException: java.lang.IllegalAccessException: Class org.influxdb.impl.InfluxDBResultMapper can not access a member of class com.example.MyMeasurement with modifiers "public"
```
The line which causes this is https://github.com/influxdata/influxdb-java/blob/influxdb-java-2.10/src/main/java/org/influxdb/impl/InfluxDBResultMapper.java#L160.
Looks like it will be enough to replace
```
object = clazz.newInstance();
```
with
```
Constructor defaultConstructor = clazz.getDeclaredConstructor();
defaultConstructor.setAccessible(true);
object = declaredConstructor.newInstance();
```
If there are no objections, I'll provide a PR.
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Direzione di ricerca
Inizia in src/main/java/org/influxdb/impl/InfluxDBResultMapper.java alla riga 160 e traccia il modo in cui vengono istanziati i measurement objects. Verifica il comportamento con una classe @Measurement package-private e valuta un test di regressione che dimostri che il mapping ha esito positivo per questo livello di visibilità.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- java
- Ambito
- databases
- Tipo di issue
- Bug
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Stato di attività
- Ferma
- Chiarezza
- Specificata chiaramente
- Idoneità per principianti
- 38/100