Skip to content

Commit

Permalink
[50] Fix potential NPE in GsonEObjectDeserializer#resolveType
Browse files Browse the repository at this point in the history
Bug: #50
Signed-off-by: Axel RICHARD <[email protected]>
  • Loading branch information
AxelRICHARD committed Sep 25, 2024
1 parent fb95384 commit 524160c
Showing 1 changed file with 5 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -253,7 +253,7 @@ public List<EObject> deserialize(JsonElement jsonElement, Type type, JsonDeseria

EPackage ePackage = this.getEPackage(uri);
if (ePackage != null) {
this.resourceSet.getPackageRegistry().put(ePackage.getNsURI(), ePackage);
this.packageRegistry.put(ePackage.getNsURI(), ePackage);
}
}
}
Expand Down Expand Up @@ -605,7 +605,7 @@ private EObject createProxyEObject(String id, String qualifiedType, EReference e
/**
* Resolves a type from a qualified name (e.g. "flow:System") into the corresponding EClass (or null) using the
* resource set's package registry.
*
*
* @param qualifiedType
* the qualified name of the type to resolve.
* @return the corresponding EClass, or null.
Expand All @@ -616,7 +616,7 @@ private EClass resolveType(String qualifiedType) {
if (splitType.length == 2) {
String packageName = splitType[0];
String eClassName = splitType[1];
Optional<EPackage> packageOpt = this.resourceSet.getPackageRegistry().values().stream()
Optional<EPackage> packageOpt = this.packageRegistry.values().stream()
.filter(EPackage.class::isInstance)
.map(EPackage.class::cast)
.filter(pkg -> pkg.getName().equals(packageName))
Expand Down Expand Up @@ -864,7 +864,7 @@ private void deserializeMultipleContainmentEReference(EReference eReference, Jso
JsonObject properties = jsonObject.getAsJsonObject(IGsonConstants.DATA);
eReferenceValue = this.loadReferences(EcorePackage.Literals.EPACKAGE, properties);
EPackage ePackage = (EPackage) eReferenceValue;
this.resourceSet.getPackageRegistry().put(ePackage.getNsURI(), ePackage);
this.packageRegistry.put(ePackage.getNsURI(), ePackage);
} else {
eReferenceValue = this.loadObject(jsonObject, false);
}
Expand Down Expand Up @@ -1086,10 +1086,7 @@ private EClassifier getEClass(JsonObject object, JsonElement eClassJsonElement)

String nsUri = this.prefixToNsURi.get(nsPrefix);

EPackage ePackage = null;
if (this.resourceSet != null) {
ePackage = this.resourceSet.getPackageRegistry().getEPackage(nsUri);
}
EPackage ePackage = this.packageRegistry.getEPackage(nsUri);

if (ePackage == null) {
ePackage = this.getPackageForURI(nsUri);
Expand Down

0 comments on commit 524160c

Please sign in to comment.