/**
 * ObjectFactory, Integration og Implementering..
 *
 * @Author ObjectFactory 
 *         Skindbjergvej 25 
 *         9520 Skørping 
 *         Telefon: +45 3166 0360
 *         e-mail: info@objectFactory.dk
 *         CVR nr. 34 13 64 67
 */
 */
class ObjectFactory {

	/**
	 * Lav en løsning på baggrund af af brugeroplevelser og input
	 * 
	 * @param useCase En problemstilling oplevet af brugere
	 * @return En løsning baseret på bruger input
	 */
	public static Solution createSolution(UserCase useCase) {    
		SolutionModel model = new SolutionModel( useCase );
		model.addStakeholders( useCase.identifyStakeholders() );

		Solution solution = model.generateSolution();
		do {
			solution.addInput( model.getInputFromAllStakeholders() );
			solution = model.updateSolution(solution);
		} while ( !solution.testsTrueWithAllStakeholders() );

		solution.implement();
		solution.test();

		return solution; 
	}	
}