Fixing broken unit tests. The ID mechanism was assigning IDs to
non-ReqIF elements as well, e.g. XHTML.P.
diff --git a/org.eclipse.rmf.reqif10.serialization/src/org/eclipse/rmf/reqif10/serialization/ReqIF10ResourceImpl.java b/org.eclipse.rmf.reqif10.serialization/src/org/eclipse/rmf/reqif10/serialization/ReqIF10ResourceImpl.java
index af009e8..b85d55f 100644
--- a/org.eclipse.rmf.reqif10.serialization/src/org/eclipse/rmf/reqif10/serialization/ReqIF10ResourceImpl.java
+++ b/org.eclipse.rmf.reqif10.serialization/src/org/eclipse/rmf/reqif10/serialization/ReqIF10ResourceImpl.java
@@ -94,7 +94,11 @@
public void setID(final EObject eObject, final String id) {
final EAttribute idAttribute = eObject.eClass().getEIDAttribute();
if ((idAttribute != null) && (id != null)) {
- eObject.eSet(idAttribute, id);
+
+ // Only to this for ReqIF IDs (and not for XHTML, etc.)
+ if (idAttribute.getEType().eContainer() instanceof ReqIF10Package) {
+ eObject.eSet(idAttribute, id);
+ }
}
super.setID(eObject, id);
}
diff --git a/org.eclipse.rmf.tests.reqif10.serialization/src/org/eclipse/rmf/tests/reqif10/serialization/uc003/tc18xx/TC18xxHISExchangeProcessTests.java b/org.eclipse.rmf.tests.reqif10.serialization/src/org/eclipse/rmf/tests/reqif10/serialization/uc003/tc18xx/TC18xxHISExchangeProcessTests.java
index ecc6a0a..10dd4a1 100644
--- a/org.eclipse.rmf.tests.reqif10.serialization/src/org/eclipse/rmf/tests/reqif10/serialization/uc003/tc18xx/TC18xxHISExchangeProcessTests.java
+++ b/org.eclipse.rmf.tests.reqif10.serialization/src/org/eclipse/rmf/tests/reqif10/serialization/uc003/tc18xx/TC18xxHISExchangeProcessTests.java
@@ -58,6 +58,7 @@
// ___
tc1800ReqIF = new TC1800HISExchangeProcessModelBuilder().getReqIF();
doSaveReqIFFile(tc1800ReqIF, TC1800_FILENAME);
+ tc1800ReqIF = loadReqIFFile(TC1800_FILENAME); // Ensure all references to the old filename are gone
tc1801ReqIF = new TC1801HISExchangeProcessModelBuilder(loadReqIFFile(TC1800_FILENAME)).getReqIF();
doSaveReqIFFile(tc1801ReqIF, TC1801_FILENAME);