microsoftgraph / microsoftgraph/msgraph-sdk-java
"java.lang.IllegalArgumentException: Collection is empty" when calling `lastEstimateStatisticsOperation`
Nessuno ha ancora preso questa issue.
- Lingua principale
- Java
- Stelle
- 444
- Fork
- 154
- Merge medio
- 18h 28m
- PR unite (30g)
- 4
Descrizione
Describe the bug
I'm fetching Search estimate statistics in Purview using the following call:
EdiscoveryEstimateOperation estimateOperation = client.security()
.cases()
.ediscoveryCases()
.byEdiscoveryCaseId(caseId)
.searches()
.byEdiscoverySearchId(searchId)
.lastEstimateStatisticsOperation()
.get();
This consistently fails with the following error:
java.lang.IllegalArgumentException: Collection is empty
at java.base/java.util.EnumSet.copyOf(EnumSet.java:177)
at com.microsoft.kiota.serialization.JsonParseNode.getEnumSetValue(JsonParseNode.java:257)
at com.microsoft.graph.beta.models.security.EdiscoveryEstimateOperation.lambda$getFieldDeserializers$6(EdiscoveryEstimateOperation.java:41)
at com.microsoft.kiota.serialization.JsonParseNode.assignFieldValues(JsonParseNode.java:280)
at com.microsoft.kiota.serialization.JsonParseNode.getObjectValue(JsonParseNode.java:192)
at com.microsoft.kiota.http.OkHttpRequestAdapter.send(OkHttpRequestAdapter.java:322)
at com.microsoft.graph.beta.security.cases.ediscoverycases.item.searches.item.lastestimatestatisticsoperation.LastEstimateStatisticsOperationRequestBuilder.get(LastEstimateStatisticsOperationRequestBuilder.java:61)
at com.microsoft.graph.beta.security.cases.ediscoverycases.item.searches.item.lastestimatestatisticsoperation.LastEstimateStatisticsOperationRequestBuilder.get(LastEstimateStatisticsOperationRequestBuilder.java:47)
It seems like response deserialization isn't working correctly, probably for the statisticsOptions field? It might be relevant that there doesn't seem to be any way to specify statisticsOptions when triggering statistics generation through the API.
Expected behavior
I expect this SDK call to successfully return an EdiscoveryEstimateOperation for the given search.
How to reproduce
I'm starting statistics generation with the following call:
client.security()
.cases()
.ediscoveryCases()
.byEdiscoveryCaseId(caseId)
.searches()
.byEdiscoverySearchId(searchId)
.microsoftGraphSecurityEstimateStatistics()
.post();
Fetching statistics with the call listed above then triggers the bug.
SDK Version
beta 6.61.0
Latest version known to work for scenario above?
No response
Known Workarounds
No response
Debug output
Click to expand log
```</details>
### Configuration
_No response_
### Other information
_No response_
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia dal deserializzatore generato di EdiscoveryEstimateOperation in EdiscoveryEstimateOperation.java:41 e segui JsonParseNode.getEnumSetValue, usando la reported lastEstimateStatisticsOperation request come riproduzione. Confronta la gestione della risposta per statisticsOptions con la API response e aggiungi o aggiorna un test di deserializzazione mirato se il repository ne fornisce uno. Il lavoro è completato quando la chiamata restituisce un EdiscoveryEstimateOperation senza l’eccezione di raccolta vuota.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- java
- Ambito
- api
- Tipo di issue
- Bug
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Tranquilla
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 55/100