Skip to content

Conversation

@bjthehun
Copy link
Contributor

createDeleteChanges (formerly createDeleteChange) creates, for each deleted object that has a container, a

  1. RemoveReferenceChange, if this containment relationship is many(=multi)-valued,
  2. ReplaceSingleReferenceChange, if the containment only allows one contained object at at time.

createDeleteChanges (formerly createDeleteChange) creates, for each
deleted object that has a container, a

1. RemoveReferenceChange, if this containment relationship is
many(=multi)-valued,
2. ReplaceSingleReferenceChange, if the containment only allows one
contained object at at time.
@bjthehun bjthehun marked this pull request as ready for review October 31, 2024 09:02
@bjthehun bjthehun requested a review from a team as a code owner October 31, 2024 09:02
@bjthehun bjthehun marked this pull request as draft October 31, 2024 11:49
@bjthehun
Copy link
Contributor Author

I have resolved the problem with validating the DSLs in https://github.com/bjthehun/Vitruv-DSLs/tree/update-testcases-for-issue-71-in-change-repo. Unfortuately, there remain bugs in the case studies.

In JavaToUmlPackageTest::testDeletePackage:

Java.lang.IllegalStateException: trying to assign UUID for unknown element org.emftext.language.java.modifiers.impl.PublicImpl@7f79edee of change tools.vitruv.change.atomic.feature.reference.impl.RemoveEReferenceImpl@29bcf51d (index: 0)
	at tools.vitruv.change.atomic.uuid.AtomicEChangeUuidResolver.lambda$2(AtomicEChangeUuidResolver.java:66)
	at tools.vitruv.change.atomic.resolve.AtomicEChangeResolverHelper.resolve(AtomicEChangeResolverHelper.java:111)
	at tools.vitruv.change.atomic.resolve.AtomicEChangeResolverHelper.resolve(AtomicEChangeResolverHelper.java:66)
	at tools.vitruv.change.atomic.resolve.AtomicEChangeResolverHelper.resolveChange(AtomicEChangeResolverHelper.java:39)
	at tools.vitruv.change.atomic.uuid.AtomicEChangeUuidResolver.assignIds(AtomicEChangeUuidResolver.java:58)
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
	at java.base/java.util.AbstractList$RandomAccessSpliterator.forEachRemaining(AbstractList.java:720)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:575)
	at java.base/java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260)
	at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:616)
	at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:622)
	at java.base/java.util.stream.ReferencePipeline.toList(ReferencePipeline.java:627)
	at tools.vitruv.change.composite.description.impl.AbstractVitruviusChangeResolver.transformVitruviusChange(AbstractVitruviusChangeResolver.java:38)
	at tools.vitruv.change.composite.description.impl.VitruviusChangeUuidResolver.assignIds(VitruviusChangeUuidResolver.java:24)
	at tools.vitruv.testutils.views.ChangePublishingTestView.propagateChanges(ChangePublishingTestView.java:161)
	at tools.vitruv.testutils.views.ChangePublishingTestView.propagate(ChangePublishingTestView.java:137)
	at tools.vitruv.testutils.DefaultVirtualModelBasedTestView.propagate(DefaultVirtualModelBasedTestView.java:120)
	at tools.vitruv.testutils.VitruvApplicationTest.propagate(VitruvApplicationTest.java:95)
	at tools.vitruv.applications.transitivechange.tests.linear.java2uml.JavaToUmlPackageTest.testDeletePackage(JavaToUmlPackageTest.java:81)
	at java.base/java.lang.reflect.Method.invoke(Method.java:569)
	at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
	at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)


@sonarqubecloud
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant