Discussion: How to handle extensions
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Java
- Sterne
- 71
- Forks
- 44
- Ø Merge
- 12 Std. 54 Min.
- Gemergte PRs (30 T.)
- 7
Beschreibung
This is a spin-off issue from #302 which discusses 2 issues focused on how to support Extension subclasses.
According to the SPDX AIPackage specification an optional property field is extension. This field is of type Extension.
Extension is an abstract class so it can't be instantiated.
Referencing an Extension in the JSON-LD without parameters passes the Java coded validation but fails the JSON schema validation (see related https://github.com/spdx/spdx-3-model/issues/1017):
"extension" : [
{
"type" : "extension_Extension"
}
]
Adding a parameter:
"extension" : [
{
"type" : "extension_Extension",
"randomProperty" : "test"
}
]
causes the Java parser to fail with Analysis exception processing SPDX file: No property descriptor for field randomProperty.
Adding any additional type will also cause the Java code to fail.
Is there an approach where we can allow Extensions in the Java library?
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne mit der SPDX AIPackage-Spezifikation und den JSON-LD-Beispielen in diesem Issue und verfolge anschließend die Java-Parser- und JSON-Schema-Validierungspfade, die das Erweiterungsfeld verarbeiten. Vergleiche, wie eine abstrakte Extension dargestellt wird, und ermittle die Projektanforderungen, die gelöst werden müssen. Als erledigt gilt die Vereinbarung eines Ansatzes, der Extensions ohne die aktuellen Validierungs- oder Property-Descriptor-Fehler ermöglicht.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- java
- Bereich
- backend
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 25/100