Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move the AwReq target replacement code from the repository service to the EMF model #3

Open
vitorsouza opened this issue Feb 15, 2012 · 1 comment

Comments

@vitorsouza
Copy link
Member

When you replace a requirement instance with another, if this requirement is the target of one or more AwReq, the target reference in these AwReqs should be updated, because this association is not bidirectional.

Recently, all requirement replacement code has been moved from the repository service (it.unitn.disi.zanshin.internal.services.RepositoryService) to the EMF classes themselves (RequirementImpl, SoftgoalImpl, QualityConstraintImpl and AwReqImpl in package it.unitn.disi.zanshin.model.gore.impl, plus class it.unitn.disi.zanshin.model.eca.impl.EcaAwReqImpl) to follow a more object oriented approach to the problem (see the issue's first comment). However, the code that does the aforementioned AwReq target replacement is still in the repository.

To close this issue, figure out a way to move this code to the EMF classes themselves and do it.

vitorsouza added a commit that referenced this issue Feb 15, 2012
property in the Scalability Simulation's controller; and (2) related to
issue #3: moved the requirement replacing code to the EMF classes, but
AwReq target updating is still in the repository.
@vitorsouza
Copy link
Member Author

Should also check if Quality Constraints need some special code too, like AwReq targets.

vitorsouza added a commit that referenced this issue Feb 16, 2012
longer contained in the GoalModel, but use the parent-child association
inherited from the Requirement ECLass to be inserted in the model.

This was done to avoid two containment associations, which was causing a
bug: whenever one was set to null, so was the other. There is still one
last double containment: the root goal. It shouldn't cause bugs if we
don't replace the root goal, which should be rare. Still this could be
fixed, maybe in the context of issue #3 ?
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant