| @@ 114-137 (lines=24) @@ | ||
| 111 | /** |
|
| 112 | * |
|
| 113 | */ |
|
| 114 | @Override |
|
| 115 | protected void doComputeFlawSolutions(Flaw flaw) |
|
| 116 | throws UnsolvableFlawException { |
|
| 117 | ||
| 118 | // get goal |
|
| 119 | Goal goal = (Goal) flaw; |
|
| 120 | ||
| 121 | // check solving information |
|
| 122 | if (!goal.isMandatoryExpansion()) { |
|
| 123 | // compute unification solutions |
|
| 124 | this.doComputeUnificationSolutions(goal); |
|
| 125 | } |
|
| 126 | ||
| 127 | // check solving information |
|
| 128 | if (!goal.isMandatoryUnification()) { |
|
| 129 | // compute expansion solutions |
|
| 130 | this.doComputeExpansionSolutions(goal); |
|
| 131 | } |
|
| 132 | ||
| 133 | // check if solvable |
|
| 134 | if (!goal.isSolvable()) { |
|
| 135 | // simply throw exception |
|
| 136 | throw new UnsolvableFlawException("Unsolvable flaw found on component " + this.component.getName() + ":" |
|
| 137 | + "\n" + flaw + "\n"); |
|
| 138 | } |
|
| 139 | } |
|
| 140 | ||
| @@ 109-132 (lines=24) @@ | ||
| 106 | /** |
|
| 107 | * |
|
| 108 | */ |
|
| 109 | @Override |
|
| 110 | protected void doComputeFlawSolutions(Flaw flaw) |
|
| 111 | throws UnsolvableFlawException { |
|
| 112 | ||
| 113 | // get goal |
|
| 114 | Goal goal = (Goal) flaw; |
|
| 115 | ||
| 116 | // check solving information |
|
| 117 | if (!goal.isMandatoryExpansion()) { |
|
| 118 | // compute unification solutions |
|
| 119 | this.doComputeUnificationSolutions(goal); |
|
| 120 | } |
|
| 121 | ||
| 122 | // check solving information |
|
| 123 | if (!goal.isMandatoryUnification()) { |
|
| 124 | // compute expansion solutions |
|
| 125 | this.doComputeExpansionSolutions(goal); |
|
| 126 | } |
|
| 127 | ||
| 128 | // check if solvable |
|
| 129 | if (!goal.isSolvable()) { |
|
| 130 | // simply throw exception |
|
| 131 | throw new UnsolvableFlawException("Unsolvable flaw found on component " + this.component.getName() + ":" |
|
| 132 | + "\n" + flaw + "\n"); |
|
| 133 | } |
|
| 134 | } |
|
| 135 | ||