Skip to content
This repository was archived by the owner on Dec 18, 2025. It is now read-only.

Commit 000c15b

Browse files
committed
Fix test regression after removing elements from collection
1 parent 84e0dd8 commit 000c15b

File tree

1 file changed

+13
-11
lines changed

1 file changed

+13
-11
lines changed

bundles/org.eclipse.epsilon.rdf.emf/src/org/eclipse/epsilon/rdf/emf/RDFGraphResourceUpdate.java

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,8 @@ private Literal createLiteral(Object value) {
6969
}
7070

7171
public Resource createNewEObjectResource(Model model, EObject eObject) {
72-
return createNewEObjectResource(model, eObject, createEObjectIRI(model, eObject));
72+
String iri = createEObjectIRI(model, eObject);
73+
return iri == null ? null : createNewEObjectResource(model, eObject, iri);
7374
}
7475

7576
public Resource createNewEObjectResource(Model model, EObject eObject, String iri) {
@@ -125,15 +126,8 @@ private RDFNode createValueRDFNode(Object value, Model model) {
125126
}
126127

127128
if (value instanceof EObject eob) {
128-
if (eob.eResource() != null) {
129-
// Turn the EObject into an RDF resource if needed
130-
return getEObjectResource(model, (EObject) value);
131-
} else {
132-
// Not in a resource - we can't get a URI for it
133-
return null;
134-
}
129+
return getEObjectResource(model, eob);
135130
} else {
136-
// Literal values
137131
return createLiteral(value);
138132
}
139133
}
@@ -225,7 +219,11 @@ private Statement createStatement(Model model, Resource eObjectResource, EStruct
225219
// OBJECT
226220
RDFNode object = createValueRDFNode(value, model);
227221

228-
return object != null ? ResourceFactory.createStatement(rdfNode, property, object) : null;
222+
if (object == null) {
223+
return null;
224+
} else {
225+
return ResourceFactory.createStatement(rdfNode, property, object);
226+
}
229227
}
230228

231229
private String getEMFResourceURI(EObject eObject) {
@@ -247,9 +245,13 @@ private String createEObjectIRI(Model model, EObject eObject) {
247245
String prefix = model.getNsPrefixMap().get("");
248246
if (null != prefix) {
249247
eObjectNamespace = prefix;
250-
} else {
248+
} else if (eObject.eResource() != null) {
251249
// Fallback to file names with a fragment for the eObject <file>#<eObjectname>
252250
eObjectNamespace = getEMFResourceURI(eObject) + "#";
251+
} else {
252+
// No default prefix and the EObject does not belong to a resource: give up
253+
System.err.println("Cannot generate IRI for object without resource and without default namespace: " + eObject);
254+
return null;
253255
}
254256
}
255257

0 commit comments

Comments
 (0)