blob: e5b97c0b77aea9efc89707797b59b2f4d615c516 [file] [log] [blame]
/*******************************************************************************
* Copyright (C) 2018 Fondazione Bruno Kessler.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v2.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v20.html
*
* Contributors:
* Alberto Debiasi - initial API and implementation
******************************************************************************/
package org.polarsys.chess.verificationService.ui.services;
import java.io.File;
import eu.fbk.eclipse.standardtools.utils.ui.utils.CommandBuilder;
public class ExecCommandService {
private static ExecCommandService execCommandService;
public static ExecCommandService getInstance() {
if (execCommandService == null) {
execCommandService = new ExecCommandService();
}
return execCommandService;
}
public boolean execModelChecking(String isProgrExec, String isTimeDiscrete,String workspacePath, String projectName, String modelName, String elementURI,
String property, String algorithm_type, String check_type,String resultFilePath) throws Exception {
String ID_COMMAND = "org.polarsys.chess.verificationService.commands.ModelCheckingCommand2";
String ID_PARAMETER_PROJECT_PATH = "projectPath";
String ID_PARAMETER_PROGR_EXEC = "isProgrExec";
String ID_PARAMETER_IS_TIME_DISCRETE = "isDiscrete";
String ID_PARAMETER_ELEMENT_URI = "elementURI";
String ID_PARAMETER_PROJECT_NAME = "projectName";
String ID_PARAMETER_MODEL_NAME = "modelName";
String ID_PARAMETER_PROPERTY = "property";
String ID_PARAMETER_ALGORITHM_TYPE = "algorithm_type";
String ID_PARAMETER_CHECK_TYPE = "check_type";
String ID_PARAMETER_RESULT_PATH= "resultFilePath";
CommandBuilder checkContractImplementation = CommandBuilder.build(ID_COMMAND);
checkContractImplementation.setParameter(ID_PARAMETER_IS_TIME_DISCRETE, isTimeDiscrete);
checkContractImplementation.setParameter(ID_PARAMETER_PROJECT_PATH, workspacePath);
checkContractImplementation.setParameter(ID_PARAMETER_PROGR_EXEC, isProgrExec);
checkContractImplementation.setParameter(ID_PARAMETER_ELEMENT_URI, elementURI);
checkContractImplementation.setParameter(ID_PARAMETER_PROJECT_NAME, projectName);
checkContractImplementation.setParameter(ID_PARAMETER_MODEL_NAME, modelName);
checkContractImplementation.setParameter(ID_PARAMETER_PROPERTY, property);
checkContractImplementation.setParameter(ID_PARAMETER_ALGORITHM_TYPE, algorithm_type);
checkContractImplementation.setParameter(ID_PARAMETER_CHECK_TYPE, check_type);
checkContractImplementation.setParameter(ID_PARAMETER_RESULT_PATH, resultFilePath);
checkContractImplementation.execute();
return isCheckResultFileOK(new File(resultFilePath));
}
private boolean isCheckResultFileOK(File file){
return(file.exists());
}
}