diff --git a/plugins/contracts/org.polarsys.chess.contracts.safetyAnalysis/src/org/polarsys/chess/safetyAnalysis/commands/ComputeContractFaultTreeCommand.java b/plugins/contracts/org.polarsys.chess.contracts.safetyAnalysis/src/org/polarsys/chess/safetyAnalysis/commands/ComputeContractFaultTreeCommand.java index 5f3240571cbe1692d6bf2456afbfe69ab316f120..f3ca0f7b9330b77d00eee8bca061d0397676a152 100644 --- a/plugins/contracts/org.polarsys.chess.contracts.safetyAnalysis/src/org/polarsys/chess/safetyAnalysis/commands/ComputeContractFaultTreeCommand.java +++ b/plugins/contracts/org.polarsys.chess.contracts.safetyAnalysis/src/org/polarsys/chess/safetyAnalysis/commands/ComputeContractFaultTreeCommand.java @@ -24,7 +24,6 @@ import org.polarsys.chess.service.gui.utils.SelectionUtil; import eu.fbk.eclipse.standardtools.ExecOcraCommands.ui.services.OCRAExecService; import eu.fbk.eclipse.standardtools.utils.ui.commands.AbstractJobCommand; import eu.fbk.eclipse.standardtools.utils.ui.dialogs.MessageTimeModelDialog; -import eu.fbk.eclipse.standardtools.utils.ui.utils.CommandBuilder; import eu.fbk.eclipse.standardtools.utils.ui.utils.OCRADirectoryUtil; import eu.fbk.tools.adapter.ocra.ComputeContractFaultTree; diff --git a/plugins/contracts/org.polarsys.chess.contracts.transformations/src/org/polarsys/chess/contracts/transformations/utils/AnalysisResultUtil.java b/plugins/contracts/org.polarsys.chess.contracts.transformations/src/org/polarsys/chess/contracts/transformations/utils/AnalysisResultUtil.java index c609d43c310d7795b1cc5068c7187b3f456af312..a97c53e098f0b4c67b72c1df9b75ee87745e53ee 100644 --- a/plugins/contracts/org.polarsys.chess.contracts.transformations/src/org/polarsys/chess/contracts/transformations/utils/AnalysisResultUtil.java +++ b/plugins/contracts/org.polarsys.chess.contracts.transformations/src/org/polarsys/chess/contracts/transformations/utils/AnalysisResultUtil.java @@ -238,14 +238,15 @@ public class AnalysisResultUtil { final Stereotype appliedStereotype = applyResultElementStereotype(umlComponent); final ResultElement resultElement = (ResultElement) umlComponent.getStereotypeApplication(appliedStereotype); - - resultElement.setType(type); - resultElement.setDate(new Date().toString()); - resultElement.setConditions(conditions); - resultElement.setValid(true); - resultElement.setFile(filePath); - resultElement.setRoot(rootComponent); - resultElement.setContextAnalysis(contextAnalysis); + if (resultElement != null) { + resultElement.setType(type); + resultElement.setDate(new Date().toString()); + resultElement.setConditions(conditions); + resultElement.setValid(true); + resultElement.setFile(filePath); + resultElement.setRoot(rootComponent); + resultElement.setContextAnalysis(contextAnalysis); + } } }); return true; diff --git a/plugins/org.polarsys.chess.diagram.ui/src/org/polarsys/chess/diagram/ui/services/ResultsGeneratorService.java b/plugins/org.polarsys.chess.diagram.ui/src/org/polarsys/chess/diagram/ui/services/ResultsGeneratorService.java index 3a94bcd239a51d3011e5c759cf181c3945812f94..f0a9f7f2439dabbc07ca998b9f9ebd7bcfbbec70 100644 --- a/plugins/org.polarsys.chess.diagram.ui/src/org/polarsys/chess/diagram/ui/services/ResultsGeneratorService.java +++ b/plugins/org.polarsys.chess.diagram.ui/src/org/polarsys/chess/diagram/ui/services/ResultsGeneratorService.java @@ -235,14 +235,24 @@ public class ResultsGeneratorService { propertyValidationResultDescriptor.rootClass = EntityUtil.getInstance().getName(resultElement.getRoot()); final String conditions = resultElement.getConditions(); - final int separatorIndex = conditions.indexOf('#'); - if (separatorIndex > 0) { - propertyValidationResultDescriptor.validationType = conditions.substring(0, separatorIndex); - propertyValidationResultDescriptor.conditions = conditions.substring(separatorIndex + 1, conditions.length()); - } else { - propertyValidationResultDescriptor.validationType = conditions; + + final String[] partials = conditions.split("#"); + + for (String string : partials) { + System.out.println("partial = " + string); } + propertyValidationResultDescriptor.validationType = partials[0]; + if (partials.length > 1) { + propertyValidationResultDescriptor.selectedComponent = partials[1]; + } + if (partials.length > 2) { + propertyValidationResultDescriptor.selectedProperties = partials[2].replace(",", ", "); + } + if (partials.length > 3) { + propertyValidationResultDescriptor.conditions = partials[3]; + } + final File resultFile = new File(resultElement.getFile()); final CheckContractResultBuilder resultBuilder = new CheckContractResultBuilder(); final OcraOutput ocraOutput = resultBuilder.unmarshalResult(resultFile); @@ -264,8 +274,18 @@ public class ResultsGeneratorService { final EList<CheckResult> checkResults = result.getCheckResults(); if (checkResults.size() > 0) { final String[] line = new String[2]; - line[0] = "[" + result.getName() + "] "; - line[1] = checkResults.get(0).getValue(); + line[0] = "[" + result.getName() + "]"; + final String checkValue = checkResults.get(0).getValue(); + if (checkValue.equals("OK")) { + line[1] = "Success"; + } else if (checkValue.equals("NOT_OK")) { + line[1] = "NOT OK"; + } else if (checkValue.equals("UNKNOWN")) { + line[1] = "Unknown"; + } else { + line[1] = checkValue; + } + propertyValidationResultDescriptor.lines.add(line); } } @@ -295,7 +315,7 @@ public class ResultsGeneratorService { * @return the name of the corresponding EMFTA file */ private String getEmftaFile(String fullPath) { - String emftaFile = fullPath.substring(fullPath.lastIndexOf("/") + 1, fullPath.length()); + String emftaFile = fullPath.substring(fullPath.lastIndexOf(File.separator) + 1, fullPath.length()); return emftaFile + ".emfta"; } @@ -426,6 +446,7 @@ public class ResultsGeneratorService { } // Get the correct package containing the results + //FIXME: qui va messo il package con qualified name final Package resultsPackage = dependabilityView.getNestedPackage(activePackage.getName()); if (resultsPackage == null) { return;