googleapis / googleapis/google-http-java-client

Once more, GenericJson.clone() method blows up when trying to clone Google reads

Offen
#297 8 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
type: feature request
Vorherrschende Sprache
Java
Sterne
1.4k
Forks
473
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

This is related to #293, but #293's fix doesn't work for this problem.

From the Hellbender project (broadinstitute/hellbender#650):

When we copy a Google read (ie., a com.google.api.services.genomics.model.Read), we currently call into the GenericJson.clone() method, which uses reflection to deep copy the fields. However it seems to run into difficulty with `com.google.common.collect.Lists$TransformingRandomAccessList`.

Here's the stack trace:

```
Error: (e0086ea6f7eea4e6): java.lang.IllegalArgumentException: unable to create new instance of class com.google.common.collect.Lists$TransformingRandomAccessList possibly because it is not public
at com.google.api.client.util.Types.handleExceptionForNewInstance(Types.java:165)
at com.google.api.client.util.Types.newInstance(Types.java:120)
at com.google.api.client.util.Data.clone(Data.java:229)
at com.google.api.client.util.Data.deepCopy(Data.java:302)
at com.google.api.client.util.GenericData.clone(GenericData.java:172)
at com.google.api.client.json.GenericJson.clone(GenericJson.java:90)
at com.google.api.services.genomics.model.LinearAlignment.clone(LinearAlignment.java:128)
at com.google.api.services.genomics.model.LinearAlignment.clone(LinearAlignment.java:34)
at com.google.api.client.util.Data.clone(Data.java:212)
at com.google.api.client.util.Data.deepCopy(Data.java:302)
at com.google.api.client.util.GenericData.clone(GenericData.java:172)
at com.google.api.client.json.GenericJson.clone(GenericJson.java:90)
at com.google.api.services.genomics.model.Read.clone(Read.java:548)
at org.broadinstitute.hellbender.utils.read.GoogleGenomicsReadToGATKReadAdapter.copy(GoogleGenomicsReadToGATKReadAdapter.java:637)
at org.broadinstitute.hellbender.tools.dataflow.transforms.bqsr.ApplyBQSRTransform$ApplyBQSR.processElement(ApplyBQSRTransform.java:65)
```

Beitragsleitfaden

Beitragsleitfaden öffnen

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.