public ProcessStatusModel toViewModel() {
		System.out.println(this.toString());
		ProcessStatusModel model = new ProcessStatusModel();
		if(this.finished){
			model.setCurrentProgress(new CurrentProgress(100));
		}
		if(this.failed){
			model.setFailed(true);
		}
		if (this.outputInformation.size() > 0) {
			for (String output : outputInformation) {
				Matcher matcher = PROGRESS_PATTERN.matcher(output);
				if (matcher.matches()) {
					model.setCurrentProgress(new CurrentProgress(Integer
							.parseInt(matcher.group(1)), Integer
							.parseInt(matcher.group(2))));
				}
				matcher = KEY_INFORMATION_PATTERN.matcher(output);
				if (matcher.matches()) {
					model.getKeyInformation().add(matcher.group(1));
				}
				matcher = INPUT_PATTERN.matcher(output);
				if(matcher.matches()){
					model.setNeedSubmitData(true);
					model.setExpectedData(new TextDataFormat(matcher.group(1)));
				}
			}
		}

		return model;

	}