Code Duplication    Length = 24-24 lines in 2 locations

src/main/java/it/cnr/istc/pst/platinum/ai/framework/microkernel/resolver/plan/TimelineAwarePlanRefinementResolver.java 1 location

@@ 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
	

src/main/java/it/cnr/istc/pst/platinum/ai/framework/microkernel/resolver/plan/PlanRefinementResolver.java 1 location

@@ 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