diff --git a/plugins/contracts/org.polarsys.chess.contracts.contractEditor/META-INF/MANIFEST.MF b/plugins/contracts/org.polarsys.chess.contracts.contractEditor/META-INF/MANIFEST.MF index 638ed57f26a501cf8108e257201ac2c99693da80..bf1c58d13c8d23ce96dd8bd772b41d1a709b82bd 100644 --- a/plugins/contracts/org.polarsys.chess.contracts.contractEditor/META-INF/MANIFEST.MF +++ b/plugins/contracts/org.polarsys.chess.contracts.contractEditor/META-INF/MANIFEST.MF @@ -8,7 +8,9 @@ Require-Bundle: org.eclipse.papyrus.uml.diagram.composite;bundle-version="1.0.0" org.polarsys.chess.chessmlprofile;bundle-version="0.9.0", org.eclipse.papyrus.uml.properties;bundle-version="1.0.0", org.polarsys.chess.contracts.profile, - org.polarsys.chess.core + org.polarsys.chess.core, + eu.fbk.eclipse.standardtools.utils, + org.polarsys.chess.service Bundle-ActivationPolicy: lazy Bundle-Vendor: Fondazione Bruno Kessler Import-Package: eu.fbk.eclipse.standardtools.contractEditor.core, diff --git a/plugins/contracts/org.polarsys.chess.contracts.contractEditor/src/org/polarsys/chess/contracts/contractEditor/CustomContractEditorTab.java b/plugins/contracts/org.polarsys.chess.contracts.contractEditor/src/org/polarsys/chess/contracts/contractEditor/CustomContractEditorTab.java index 1bde11317b84cefc4da7f82d7da59ef152c702b8..89953790f7f00b49ac0678064371779532ef5acf 100644 --- a/plugins/contracts/org.polarsys.chess.contracts.contractEditor/src/org/polarsys/chess/contracts/contractEditor/CustomContractEditorTab.java +++ b/plugins/contracts/org.polarsys.chess.contracts.contractEditor/src/org/polarsys/chess/contracts/contractEditor/CustomContractEditorTab.java @@ -10,6 +10,7 @@ ******************************************************************************/ package org.polarsys.chess.contracts.contractEditor; + import org.eclipse.emf.common.util.BasicEList; import org.eclipse.emf.common.util.EList; import org.eclipse.emf.ecore.resource.Resource; @@ -29,9 +30,11 @@ import org.eclipse.uml2.uml.Property; import org.eclipse.uml2.uml.UMLPackage; import org.polarsys.chess.contracts.profile.chesscontract.util.ContractEntityUtil; import org.polarsys.chess.contracts.profile.chesscontract.util.EntityUtil; +import org.polarsys.chess.service.internal.model.ChessSystemModel; import org.polarsys.chess.service.utils.SelectionUtil; import eu.fbk.eclipse.standardtools.contractEditor.propertyTab.ContractEditorTab; +import eu.fbk.eclipse.standardtools.model.AbstractSystemModel; /** * This is the contract editor designed for the CHESS platform. It extends the @@ -58,11 +61,11 @@ public class CustomContractEditorTab extends ContractEditorTab { * eu.fbk.eclipse.standardtools.contractEditor.propertyTab.ContractEditorTab * #getContractOwnerInputPorts(java.lang.Object) */ - @Override - public String[] getContractOwnerInputPorts(Object contract) { + /*@Override + public String[] getOwnerInputPortsNames(Object contract) { Element umlOwner = entityUtil.getOwner((Element) contract); return entityUtil.getInputPortsNames(umlOwner); - } + }*/ /* * (non-Javadoc) @@ -71,11 +74,11 @@ public class CustomContractEditorTab extends ContractEditorTab { * eu.fbk.eclipse.standardtools.contractEditor.propertyTab.ContractEditorTab * #getContractOwnerOutputPorts(java.lang.Object) */ - @Override - public String[] getContractOwnerOutputPorts(Object contract) { + /*@Override + public String[] getOwnerOutputPortsNames(Object contract) { Element umlOwner = entityUtil.getOwner((Element) contract); return entityUtil.getOutputPortsNames(umlOwner); - } + }*/ /* * (non-Javadoc) @@ -84,13 +87,13 @@ public class CustomContractEditorTab extends ContractEditorTab { * eu.fbk.eclipse.standardtools.contractEditor.propertyTab.ContractEditorTab * #getContractOwnerInputOutputPorts(java.lang.Object) */ - @Override - public String[] getContractOwnerInputOutputPorts(Object contract) { + /*@Override + public String[] getOwnerInputOutputPortsNames(Object contract) { Element umlOwner = entityUtil.getOwner((Element) contract); return entityUtil.getInputOutputPortsNames(umlOwner); } - +*/ /* * (non-Javadoc) * @@ -98,17 +101,19 @@ public class CustomContractEditorTab extends ContractEditorTab { * eu.fbk.eclipse.standardtools.contractEditor.propertyTab.ContractEditorTab * #getContractOwnerAttributes(java.lang.Object) */ - @Override - public String[] getContractOwnerAttributes(Object contract) { - Element element = ((Class) contract).getOwner(); - EList<String> attrArr = new BasicEList<String>(); + /*@Override + public String[] getOwnerAttributesNames(Object contract) { + return entityUtil.getOwnerAttributesNames(contract); - attrArr.addAll(entityUtil.getBooleanAttributesNamesExceptsPorts(element)); - String[] attributesStrArr = new String[attrArr.size()]; - return attrArr.toArray(attributesStrArr); + }*/ + public String getContractQualifiedName(Object contract) { + if (contract != null) { + return ((Class) contract).getQualifiedName(); + } + return null; } - + /* * (non-Javadoc) * @@ -215,10 +220,10 @@ public class CustomContractEditorTab extends ContractEditorTab { * eu.fbk.eclipse.standardtools.contractEditor.propertyTab.ContractEditorTab * #getComponentName(java.lang.Object) */ - @Override + /*@Override public String getComponentName(Object component) { return ((Class) component).getQualifiedName(); - } + }*/ /* * (non-Javadoc) @@ -393,10 +398,93 @@ public class CustomContractEditorTab extends ContractEditorTab { return null; } - @Override + /*@Override public String[] getEnumValuesFromContractOwnerPorts(Object contract) { Class element = (Class) ((Class) contract).getOwner(); return entityUtil.getEnumValuesFromComponentPorts(element); + }*/ + + + /*@Override + public String getPortName(Object port) { + return entityUtil.getPortName((Port)port); + } + + @Override + public String getAttributeName(Object attribute) { + return entityUtil.getAttributeName((Property)attribute); + } + + @Override + public Set<?> getContractOwnerPorts(Object contract) { + return entityUtil.getUmlPorts(entityUtil.getOwner((Element)contract)); } + @Override + public Set<?> getContractOwnerAttributes(Object contract) { + return entityUtil.getAttributes(entityUtil.getOwner((Element)contract)); + } + + @Override + public boolean isNumberAttribute(Object attribute) { + return false; + } + + @Override + public boolean isIntAttribute(Object attribute) { + return entityUtil.isIntegerAttribute((Property)attribute); + } + + @Override + public boolean isEventAttribute(Object attribute) { + return entityUtil.isEventPortAttribute((Property)attribute); + } + + @Override + public boolean isEnumAttribute(Object attribute) { + return entityUtil.isEnumerationAttribute((Property)attribute); + } + + @Override + public boolean isBoolAttribute(Object attribute) { + return entityUtil.isBooleanAttribute((Property)attribute); + } + + @Override + public boolean isContinuousAttribute(Object attribute) { + return entityUtil.isContinuousAttribute((Property)attribute); + } + + @Override + public boolean isWordAttribute(Object attribute) { + return false; + } + + @Override + public boolean isRealAttribute(Object attribute) { + return entityUtil.isRealAttribute((Property)attribute); + } + + @Override + public boolean isInOutPort(Object port) { + return entityUtil.isInOutPort((Port)port); + } + + @Override + public boolean isOutputPort(Object port) { + return entityUtil.isOutputPort((Port)port); + } + + @Override + public boolean isInputPort(Object port) { + return entityUtil.isInputPort((Port)port); + }*/ + + @Override + public AbstractSystemModel getSystemModel() { + return ChessSystemModel.getInstance(); + } + + + } diff --git a/plugins/contracts/org.polarsys.chess.contracts.contractEditor/src/org/polarsys/chess/contracts/contractEditor/CustomContractEditorView.java b/plugins/contracts/org.polarsys.chess.contracts.contractEditor/src/org/polarsys/chess/contracts/contractEditor/CustomContractEditorView.java index 44583f856f71e99174d3e6512913da7310a0727d..8529cd23d823bea5b4006d6fe96f9e11dc32454e 100644 --- a/plugins/contracts/org.polarsys.chess.contracts.contractEditor/src/org/polarsys/chess/contracts/contractEditor/CustomContractEditorView.java +++ b/plugins/contracts/org.polarsys.chess.contracts.contractEditor/src/org/polarsys/chess/contracts/contractEditor/CustomContractEditorView.java @@ -10,6 +10,9 @@ ******************************************************************************/ package org.polarsys.chess.contracts.contractEditor; + +import java.util.Set; + import org.eclipse.emf.common.util.BasicEList; import org.eclipse.emf.common.util.EList; import org.eclipse.emf.transaction.RecordingCommand; @@ -44,19 +47,19 @@ public class CustomContractEditorView extends ContractEditorView { private EntityUtil entityUtil = EntityUtil.getInstance(); @Override - public String[] getContractOwnerInputPorts(Object contract) { + public String[] getContractOwnerInputPortsNames(Object contract) { Element umlOwner = entityUtil.getOwner((Element) contract); return entityUtil.getInputPortsNames(umlOwner); } @Override - public String[] getContractOwnerOutputPorts(Object contract) { + public String[] getContractOwnerOutputPortsNames(Object contract) { Element umlOwner = entityUtil.getOwner((Element) contract); return entityUtil.getOutputPortsNames(umlOwner); } @Override - public String[] getContractOwnerInputOutputPorts(Object contract) { + public String[] getContractOwnerInputOutputPortsNames(Object contract) { Element umlOwner = entityUtil.getOwner((Element) contract); return entityUtil.getInputOutputPortsNames(umlOwner); } @@ -232,4 +235,88 @@ public class CustomContractEditorView extends ContractEditorView { return entityUtil.getEnumValuesFromComponentPorts(element); } + @Override + public Set<?> getContractOwnerPorts(Object contract) { + // TODO Auto-generated method stub + return null; + } + + @Override + public Set<?> getContractOwnerAttributes(Object contract) { + // TODO Auto-generated method stub + return null; + } + + @Override + public boolean isNumberAttribute(Object attribute) { + // TODO Auto-generated method stub + return false; + } + + @Override + public boolean isIntAttribute(Object attribute) { + // TODO Auto-generated method stub + return false; + } + + @Override + public boolean isEventAttribute(Object attribute) { + // TODO Auto-generated method stub + return false; + } + + @Override + public boolean isEnumAttribute(Object attribute) { + // TODO Auto-generated method stub + return false; + } + + @Override + public boolean isBoolAttribute(Object attribute) { + // TODO Auto-generated method stub + return false; + } + + @Override + public boolean isContinuousAttribute(Object attribute) { + // TODO Auto-generated method stub + return false; + } + + @Override + public boolean isWordAttribute(Object attribute) { + // TODO Auto-generated method stub + return false; + } + + @Override + public boolean isRealAttribute(Object attribute) { + // TODO Auto-generated method stub + return false; + } + + @Override + public boolean isInOutPort(Object port) { + // TODO Auto-generated method stub + return false; + } + + @Override + public boolean isOutputPort(Object port) { + // TODO Auto-generated method stub + return false; + } + + @Override + public boolean isInputPort(Object port) { + // TODO Auto-generated method stub + return false; + } + + @Override + public String getPortName(Object port) { + // TODO Auto-generated method stub + return null; + } + } diff --git a/plugins/contracts/org.polarsys.chess.contracts.profile/src/org/polarsys/chess/contracts/profile/chesscontract/util/EntityUtil.java b/plugins/contracts/org.polarsys.chess.contracts.profile/src/org/polarsys/chess/contracts/profile/chesscontract/util/EntityUtil.java index a08a5e19963a4205feac1ed163991e080135a95c..018bb85a87a7aa1f1a5e0f772950e73f00d359df 100644 --- a/plugins/contracts/org.polarsys.chess.contracts.profile/src/org/polarsys/chess/contracts/profile/chesscontract/util/EntityUtil.java +++ b/plugins/contracts/org.polarsys.chess.contracts.profile/src/org/polarsys/chess/contracts/profile/chesscontract/util/EntityUtil.java @@ -117,11 +117,22 @@ public class EntityUtil { public String[] getSubComponentsName(Object constraint) { Element umlElement = ((Constraint) constraint).getOwner(); Set<String> subCompArr = getSubComponentsNames((Class) umlElement); - String[] subComStrArr = new String[subCompArr.size()]; - return subCompArr.toArray(subComStrArr); + //String[] subComStrArr = new String[subCompArr.size()]; + //return subCompArr.toArray(subComStrArr); + return toArray(subCompArr); } + private String[] toArray(Set<String> set){ + String[] strArray = new String[set.size()]; + return set.toArray(strArray); + } + + private String[] toArray(EList<String> eList){ + String[] strArray = new String[eList.size()]; + return eList.toArray(strArray); + } + public String getComponentID(Object umlComponent) { if ( @@ -180,9 +191,28 @@ public class EntityUtil { // System.out.println(s); //} - String[] enumValuesNamesStrArr = new String[enumValuesEList.size()]; - return enumValuesEList.toArray(enumValuesNamesStrArr); + //String[] enumValuesNamesStrArr = new String[enumValuesEList.size()]; + // enumValuesEList.toArray(enumValuesNamesStrArr); + return toArray(enumValuesEList); + } + + public String[] getEnumValuesFromComponentAttributes(Class umlComponent){ + EList<String> enumValuesEList = new BasicEList<String>(); + + for(Property element :getAttributes(umlComponent)){ + if(isEnumerationAttribute(element)){ + Set<String> currValues = getListValuesForEnumeratorType(element); + enumValuesEList.addAll(currValues); + } + } + + //for(String s : enumValuesEList){ + // System.out.println(s); + //} + //String[] enumValuesNamesStrArr = new String[enumValuesEList.size()]; + //return enumValuesEList.toArray(enumValuesNamesStrArr); + return toArray(enumValuesEList); } public Set<String> getSubComponentsNames(Class umlComponent) { @@ -467,8 +497,9 @@ public class EntityUtil { public String[] getValuesForEnumeratorType(Property umlProperty) { Set<String> enumValuesNames = getListValuesForEnumeratorType(umlProperty); if(enumValuesNames!=null){ - String[] enumValuesNamesStrArr = new String[enumValuesNames.size()]; - return enumValuesNames.toArray(enumValuesNamesStrArr); + //String[] enumValuesNamesStrArr = new String[enumValuesNames.size()]; + //return enumValuesNames.toArray(enumValuesNamesStrArr); + return toArray(enumValuesNames); } return null; @@ -528,8 +559,9 @@ public class EntityUtil { portsNames.add(umlPort.getName()); } - String[] portsStrArr = new String[portsNames.size()]; - return portsNames.toArray(portsStrArr); + return toArray(portsNames); + //String[] portsStrArr = new String[portsNames.size()]; + //return portsNames.toArray(portsStrArr); } public EList<String> getPortsName(EList<Port> ports) { @@ -577,6 +609,15 @@ public class EntityUtil { return booleanAttributesNames; } + public String[] getOwnerAttributesNames(Object contract) { + + Set<String> attrArr = getAttributesNamesExceptsPorts(((Class) contract).getOwner()); + //attrArr.addAll(getAttributesNamesExceptsPorts(((Class) contract).getOwner())); + return toArray(attrArr); + + } + + public Set<Property> getBooleanAttributes(Element umlElement) { Set<Property> booleanAttributes = new HashSet<Property>(); diff --git a/plugins/contracts/org.polarsys.chess.contracts.safetyAnalysis/META-INF/MANIFEST.MF b/plugins/contracts/org.polarsys.chess.contracts.safetyAnalysis/META-INF/MANIFEST.MF index ef2641848e32dca76604f8f18ea9e975000cfc3e..c2222aec47d0cdb2efde01ad9414a1dd054e7528 100644 --- a/plugins/contracts/org.polarsys.chess.contracts.safetyAnalysis/META-INF/MANIFEST.MF +++ b/plugins/contracts/org.polarsys.chess.contracts.safetyAnalysis/META-INF/MANIFEST.MF @@ -10,7 +10,8 @@ Require-Bundle: org.eclipse.core.commands, org.eclipse.uml2.uml, eu.fbk.eclipse.standardtools.utils;bundle-version="1.0.0", eu.fbk.eclipse.standardtools.ExecOcraCommands, - org.polarsys.chess.contracts.verificationService;bundle-version="1.0.0" + org.polarsys.chess.contracts.verificationService;bundle-version="1.0.0", + org.polarsys.chess.service Bundle-Vendor: Fondazione Bruno Kessler Import-Package: org.eclipse.core.runtime, org.polarsys.chess.service.utils 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 61a7895b2dcda257d9fc6c4990661759157b9e59..9ae2979a34ed8178f569d3ed24efcc39af5081b9 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 @@ -15,8 +15,9 @@ import org.eclipse.core.commands.ExecutionEvent; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.emf.ecore.resource.Resource; import org.eclipse.uml2.uml.Class; +import org.polarsys.chess.service.internal.model.ChessSystemModel; import org.polarsys.chess.service.utils.SelectionUtil; -import org.polarsys.chess.verificationService.model.ChessSystemModel; + import eu.fbk.eclipse.standardtools.ExecOcraCommands.services.OCRAExecService; import eu.fbk.eclipse.standardtools.commands.AbstractJobCommand; import eu.fbk.eclipse.standardtools.dialogs.MessageTimeModelDialog; diff --git a/plugins/contracts/org.polarsys.chess.contracts.safetyAnalysis/src/org/polarsys/chess/safetyAnalysis/commands/debug/ComputeContractFaultTreeOnFileCommand.java b/plugins/contracts/org.polarsys.chess.contracts.safetyAnalysis/src/org/polarsys/chess/safetyAnalysis/commands/debug/ComputeContractFaultTreeOnFileCommand.java index 64b621b2ab8fc7ba46ea7e860ed45837e6a24fdd..1eeb40c4361aee2e9623d1961c1c91374fafd2cc 100644 --- a/plugins/contracts/org.polarsys.chess.contracts.safetyAnalysis/src/org/polarsys/chess/safetyAnalysis/commands/debug/ComputeContractFaultTreeOnFileCommand.java +++ b/plugins/contracts/org.polarsys.chess.contracts.safetyAnalysis/src/org/polarsys/chess/safetyAnalysis/commands/debug/ComputeContractFaultTreeOnFileCommand.java @@ -12,7 +12,7 @@ package org.polarsys.chess.safetyAnalysis.commands.debug; import org.eclipse.core.commands.ExecutionEvent; import org.eclipse.core.runtime.IProgressMonitor; -import org.polarsys.chess.verificationService.model.ChessSystemModel; +import org.polarsys.chess.service.internal.model.ChessSystemModel; import eu.fbk.eclipse.standardtools.ExecOcraCommands.services.OCRAExecService; import eu.fbk.eclipse.standardtools.commands.AbstractAsyncJobCommand; diff --git a/plugins/contracts/org.polarsys.chess.contracts.verificationService/META-INF/MANIFEST.MF b/plugins/contracts/org.polarsys.chess.contracts.verificationService/META-INF/MANIFEST.MF index a9299111d07921b196568ace546c1620f4debbd3..3576a725e8c2b3b5834ec2bcc0f3d9312ff5cb6d 100644 --- a/plugins/contracts/org.polarsys.chess.contracts.verificationService/META-INF/MANIFEST.MF +++ b/plugins/contracts/org.polarsys.chess.contracts.verificationService/META-INF/MANIFEST.MF @@ -22,7 +22,9 @@ Require-Bundle: org.eclipse.core.resources, eu.fbk.eclipse.standardtools.ExecOcraCommands, org.polarsys.chess.contracts.profile, org.polarsys.chess.core, - eu.fbk.tools.editor.oss + eu.fbk.tools.editor.oss, + org.polarsys.chess.smvExport, + org.polarsys.chess.service Import-Package: eu.fbk.eclipse.standardtools.nuXmvService.dialogs, eu.fbk.eclipse.standardtools.nuXmvService.services, eu.fbk.eclipse.standardtools.nuXmvService.utils, @@ -33,5 +35,4 @@ Import-Package: eu.fbk.eclipse.standardtools.nuXmvService.dialogs, org.polarsys.chess.service.utils Bundle-ActivationPolicy: lazy Bundle-Vendor: Fondazione Bruno Kessler -Export-Package: org.polarsys.chess.verificationService.model diff --git a/plugins/contracts/org.polarsys.chess.contracts.verificationService/src/org/polarsys/chess/verificationService/commands/CheckValidationPropertyCommand.java b/plugins/contracts/org.polarsys.chess.contracts.verificationService/src/org/polarsys/chess/verificationService/commands/CheckValidationPropertyCommand.java index b78224117e293a8a4bb706e8ddd1860b5902fb66..e91280f24fe216e48f35474c47ae3525de61b5be 100644 --- a/plugins/contracts/org.polarsys.chess.contracts.verificationService/src/org/polarsys/chess/verificationService/commands/CheckValidationPropertyCommand.java +++ b/plugins/contracts/org.polarsys.chess.contracts.verificationService/src/org/polarsys/chess/verificationService/commands/CheckValidationPropertyCommand.java @@ -17,8 +17,8 @@ import org.eclipse.core.commands.ExecutionEvent; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.emf.ecore.resource.Resource; import org.eclipse.uml2.uml.Class; +import org.polarsys.chess.service.internal.model.ChessSystemModel; import org.polarsys.chess.service.utils.SelectionUtil; -import org.polarsys.chess.verificationService.model.ChessSystemModel; import eu.fbk.eclipse.standardtools.ExecOcraCommands.services.OCRAExecService; import eu.fbk.eclipse.standardtools.commands.AbstractJobCommand; diff --git a/plugins/contracts/org.polarsys.chess.contracts.verificationService/src/org/polarsys/chess/verificationService/commands/ContractImplementationCommand.java b/plugins/contracts/org.polarsys.chess.contracts.verificationService/src/org/polarsys/chess/verificationService/commands/ContractImplementationCommand.java index 42b434d4484a8f4a068bc18480557b7ee32321b5..11ce86be5da0b8a996e1ade8ba36d308b3a9f6b1 100644 --- a/plugins/contracts/org.polarsys.chess.contracts.verificationService/src/org/polarsys/chess/verificationService/commands/ContractImplementationCommand.java +++ b/plugins/contracts/org.polarsys.chess.contracts.verificationService/src/org/polarsys/chess/verificationService/commands/ContractImplementationCommand.java @@ -23,9 +23,9 @@ import eu.fbk.eclipse.standardtools.dialogs.MessageTimeModelDialog; import eu.fbk.eclipse.standardtools.nuXmvService.utils.NuXmvDirectoryUtil; import eu.fbk.eclipse.standardtools.utils.OCRADirectoryUtil; +import org.polarsys.chess.service.internal.model.ChessSystemModel; import org.polarsys.chess.service.utils.SelectionUtil; -import org.polarsys.chess.verificationService.model.ChessSystemModel; -import org.polarsys.chess.verificationService.services.SmvExportService; +import org.polarsys.chess.smvExport.services.SmvExportService; public class ContractImplementationCommand extends AbstractJobCommand { @@ -53,7 +53,7 @@ public class ContractImplementationCommand extends AbstractJobCommand { umlSelectedComponent = selectionUtil.getUmlComponentFromSelectedObject(event); umlSelectedResource = umlSelectedComponent.eResource(); isDiscreteTime = MessageTimeModelDialog.openQuestion(); - showPopups = false; + showPopups = true; ossFilepath = ocraDirectoryUtil.getOSSFilePath(); smvFilePath = nuXmvDirectoryUtil.getSmvFilePath(); resultFilePath = ocraDirectoryUtil.getCommandCheckImplementationResultPath(umlSelectedComponent.getName()); diff --git a/plugins/contracts/org.polarsys.chess.contracts.verificationService/src/org/polarsys/chess/verificationService/commands/ContractRefinementCommand.java b/plugins/contracts/org.polarsys.chess.contracts.verificationService/src/org/polarsys/chess/verificationService/commands/ContractRefinementCommand.java index 2b59669362d1542363d0baf3985b3cbfb46d8d45..8b8d91ddb24389023bab2c0205211ff07158aed0 100644 --- a/plugins/contracts/org.polarsys.chess.contracts.verificationService/src/org/polarsys/chess/verificationService/commands/ContractRefinementCommand.java +++ b/plugins/contracts/org.polarsys.chess.contracts.verificationService/src/org/polarsys/chess/verificationService/commands/ContractRefinementCommand.java @@ -22,8 +22,8 @@ import eu.fbk.eclipse.standardtools.commands.AbstractJobCommand; import eu.fbk.eclipse.standardtools.dialogs.MessageTimeModelDialog; import eu.fbk.eclipse.standardtools.utils.OCRADirectoryUtil; +import org.polarsys.chess.service.internal.model.ChessSystemModel; import org.polarsys.chess.service.utils.SelectionUtil; -import org.polarsys.chess.verificationService.model.ChessSystemModel; public class ContractRefinementCommand extends AbstractJobCommand { diff --git a/plugins/contracts/org.polarsys.chess.contracts.verificationService/src/org/polarsys/chess/verificationService/commands/ExportModelToFileCommand.java b/plugins/contracts/org.polarsys.chess.contracts.verificationService/src/org/polarsys/chess/verificationService/commands/ExportModelToFileCommand.java index 60e2cdd2637335658c0c747043c5687611010f1c..8bf5f682b67901abedf029320193b452deba2482 100644 --- a/plugins/contracts/org.polarsys.chess.contracts.verificationService/src/org/polarsys/chess/verificationService/commands/ExportModelToFileCommand.java +++ b/plugins/contracts/org.polarsys.chess.contracts.verificationService/src/org/polarsys/chess/verificationService/commands/ExportModelToFileCommand.java @@ -22,8 +22,9 @@ import eu.fbk.eclipse.standardtools.ModelTranslatorToOcra.services.OCRATranslato import eu.fbk.eclipse.standardtools.commands.AbstractJobCommand; import eu.fbk.eclipse.standardtools.dialogs.MessageTimeModelDialog; import eu.fbk.eclipse.standardtools.utils.OCRADirectoryUtil; + +import org.polarsys.chess.service.internal.model.ChessSystemModel; import org.polarsys.chess.service.utils.SelectionUtil; -import org.polarsys.chess.verificationService.model.ChessSystemModel; /** * diff --git a/plugins/contracts/org.polarsys.chess.contracts.verificationService/src/org/polarsys/chess/verificationService/commands/ModelCheckingCommand.java b/plugins/contracts/org.polarsys.chess.contracts.verificationService/src/org/polarsys/chess/verificationService/commands/ModelCheckingCommand.java index 64a74baf25fd887317b991d8a428ad419006b36d..f6709133033bd202db7b49ab334e3254a7f18616 100644 --- a/plugins/contracts/org.polarsys.chess.contracts.verificationService/src/org/polarsys/chess/verificationService/commands/ModelCheckingCommand.java +++ b/plugins/contracts/org.polarsys.chess.contracts.verificationService/src/org/polarsys/chess/verificationService/commands/ModelCheckingCommand.java @@ -17,7 +17,9 @@ import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.uml2.uml.Class; import org.polarsys.chess.service.utils.SelectionUtil; -import org.polarsys.chess.verificationService.services.SmvExportService; +import org.polarsys.chess.smvExport.services.SmvExportService; + +//import org.polarsys.chess.verificationService.services.SmvExportService; import eu.fbk.eclipse.standardtools.commands.AbstractJobCommand; import eu.fbk.eclipse.standardtools.nuXmvService.services.NuXmvService; import eu.fbk.eclipse.standardtools.nuXmvService.utils.NuXmvDirectoryUtil; @@ -44,7 +46,7 @@ public class ModelCheckingCommand extends AbstractJobCommand { @Override public void execGUIOperations(ExecutionEvent event,IProgressMonitor monitor) throws Exception { umlSelectedComponent = selectionUtil.getUmlComponentFromSelectedObject(event); - showPopups = false; + showPopups = true; smvFilePath = nuXmvDirectoryUtil.getSmvFilePath(); } diff --git a/plugins/contracts/org.polarsys.chess.contracts.verificationService/src/org/polarsys/chess/verificationService/commands/debug/CheckValidationPropertyOnFileCommand.java b/plugins/contracts/org.polarsys.chess.contracts.verificationService/src/org/polarsys/chess/verificationService/commands/debug/CheckValidationPropertyOnFileCommand.java index ed9c3942a28911dcdbcf4bd3af2ae57c0602ad4e..93dd68923e67a6fff3d90d8548e0f98c7f820f57 100644 --- a/plugins/contracts/org.polarsys.chess.contracts.verificationService/src/org/polarsys/chess/verificationService/commands/debug/CheckValidationPropertyOnFileCommand.java +++ b/plugins/contracts/org.polarsys.chess.contracts.verificationService/src/org/polarsys/chess/verificationService/commands/debug/CheckValidationPropertyOnFileCommand.java @@ -13,7 +13,7 @@ package org.polarsys.chess.verificationService.commands.debug; import org.eclipse.core.commands.ExecutionEvent; import org.eclipse.core.runtime.IProgressMonitor; -import org.polarsys.chess.verificationService.model.ChessSystemModel; +import org.polarsys.chess.service.internal.model.ChessSystemModel; import eu.fbk.eclipse.standardtools.ExecOcraCommands.services.OCRAExecService; import eu.fbk.eclipse.standardtools.commands.AbstractAsyncJobCommand; diff --git a/plugins/contracts/org.polarsys.chess.contracts.verificationService/src/org/polarsys/chess/verificationService/commands/debug/ContractImplementationOnFileCommand.java b/plugins/contracts/org.polarsys.chess.contracts.verificationService/src/org/polarsys/chess/verificationService/commands/debug/ContractImplementationOnFileCommand.java index 0eecf56bca4cfe8e2a540ad562b7a7280e68f7f8..693ad67009d6aa551b8f56f604b6f2a187c96676 100644 --- a/plugins/contracts/org.polarsys.chess.contracts.verificationService/src/org/polarsys/chess/verificationService/commands/debug/ContractImplementationOnFileCommand.java +++ b/plugins/contracts/org.polarsys.chess.contracts.verificationService/src/org/polarsys/chess/verificationService/commands/debug/ContractImplementationOnFileCommand.java @@ -12,7 +12,7 @@ package org.polarsys.chess.verificationService.commands.debug; import org.eclipse.core.commands.ExecutionEvent; import org.eclipse.core.runtime.IProgressMonitor; -import org.polarsys.chess.verificationService.model.ChessSystemModel; +import org.polarsys.chess.service.internal.model.ChessSystemModel; import eu.fbk.eclipse.standardtools.ExecOcraCommands.services.OCRAExecService; import eu.fbk.eclipse.standardtools.commands.AbstractAsyncJobCommand; diff --git a/plugins/contracts/org.polarsys.chess.contracts.verificationService/src/org/polarsys/chess/verificationService/commands/debug/ContractRefinementOnFileCommand.java b/plugins/contracts/org.polarsys.chess.contracts.verificationService/src/org/polarsys/chess/verificationService/commands/debug/ContractRefinementOnFileCommand.java index 9e56ef6b828686b8ffe318f4ecb9cdccaa6c25a8..0a69f8b4845ad746b79eea9d5284ca38553e5611 100644 --- a/plugins/contracts/org.polarsys.chess.contracts.verificationService/src/org/polarsys/chess/verificationService/commands/debug/ContractRefinementOnFileCommand.java +++ b/plugins/contracts/org.polarsys.chess.contracts.verificationService/src/org/polarsys/chess/verificationService/commands/debug/ContractRefinementOnFileCommand.java @@ -12,7 +12,7 @@ package org.polarsys.chess.verificationService.commands.debug; import org.eclipse.core.commands.ExecutionEvent; import org.eclipse.core.runtime.IProgressMonitor; -import org.polarsys.chess.verificationService.model.ChessSystemModel; +import org.polarsys.chess.service.internal.model.ChessSystemModel; import eu.fbk.eclipse.standardtools.ExecOcraCommands.services.OCRAExecService; import eu.fbk.eclipse.standardtools.commands.AbstractAsyncJobCommand; diff --git a/plugins/contracts/org.polarsys.chess.contracts.verificationService/src/org/polarsys/chess/verificationService/services/SmvExportService.java b/plugins/contracts/org.polarsys.chess.contracts.verificationService/src/org/polarsys/chess/verificationService/services/SmvExportService.java index 3829c2729b1e81414886408b4fd9b88db163ed39..380ec735f15f14905970e625614f4d121a44742e 100644 --- a/plugins/contracts/org.polarsys.chess.contracts.verificationService/src/org/polarsys/chess/verificationService/services/SmvExportService.java +++ b/plugins/contracts/org.polarsys.chess.contracts.verificationService/src/org/polarsys/chess/verificationService/services/SmvExportService.java @@ -10,7 +10,7 @@ ******************************************************************************/ package org.polarsys.chess.verificationService.services; -import java.io.File; +/*import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.List; @@ -22,7 +22,7 @@ import org.polarsys.chess.contracts.transformations.main.GenerateErrorModel; import eu.fbk.eclipse.standardtools.exceptions.NoComponentException; //import eu.fbk.eclipse.standardtools.nuXmvService.utils.NuXmvDirectoryUtil; -import eu.fbk.eclipse.standardtools.utils.DialogUtil; +import eu.fbk.eclipse.standardtools.utils.DialogUtil;*/ /** * @@ -39,14 +39,14 @@ public class SmvExportService { return smvExportService; } - private final Logger logger = Logger.getLogger(SmvExportService.class); + //private final Logger logger = Logger.getLogger(SmvExportService.class); - private DialogUtil dialogUtil = DialogUtil.getInstance(); + //private DialogUtil dialogUtil = DialogUtil.getInstance(); //private static NuXmvDirectoryUtil nuXmvDirectoryUtil = NuXmvDirectoryUtil.getInstance(); - public File exportSmv(Class umlSelectedComponent,boolean showPopups, String smvFilePath, IProgressMonitor monitor) + /*private File exportSmv(Class umlSelectedComponent,boolean showPopups, String smvFilePath, IProgressMonitor monitor) throws Exception { if (umlSelectedComponent == null) { throw new NoComponentException(); @@ -58,10 +58,10 @@ public class SmvExportService { exportSmv(umlSelectedComponent, smvOutput, args, showPopups,monitor); return new File(smvOutput + "/" + getSmvFileName(umlSelectedComponent)+".smv"); - } + }*/ - private List<String> returnParams(Class umlSelectedComponent) { + /*private List<String> returnParams(Class umlSelectedComponent) { String systemQN = umlSelectedComponent.getQualifiedName(); final List<String> args = new ArrayList<String>(); args.add(systemQN); @@ -97,5 +97,5 @@ if(showPopups){ dialogUtil.showMessage_ExportBehaviourDone(targetDir.getAbsolutePath()); } monitor.done(); - } + }*/ } diff --git a/plugins/org.polarsys.chess.constraints.constraintEditor/META-INF/MANIFEST.MF b/plugins/org.polarsys.chess.constraints.constraintEditor/META-INF/MANIFEST.MF index 0ee06c50c470dc85c83bd49f86d527203bcc62cd..4583690fb92272b05e3c23b4cffbd0b09f8e664e 100644 --- a/plugins/org.polarsys.chess.constraints.constraintEditor/META-INF/MANIFEST.MF +++ b/plugins/org.polarsys.chess.constraints.constraintEditor/META-INF/MANIFEST.MF @@ -10,7 +10,9 @@ Require-Bundle: org.eclipse.ui.views.properties.tabbed, org.eclipse.papyrus.infra.emf, org.polarsys.chess.chessmlprofile;bundle-version="0.9.0", org.polarsys.chess.contracts.profile, - org.polarsys.chess.core + org.polarsys.chess.core, + eu.fbk.eclipse.standardtools.utils, + org.polarsys.chess.service Import-Package: eu.fbk.eclipse.standardtools.constraintEditor.constraintTab, org.eclipse.emf.edit.ui.action, org.eclipse.gef, diff --git a/plugins/org.polarsys.chess.constraints.constraintEditor/src/org/polarsys/chess/constraints/constraintEditor/CustomConstraintEditorTab.java b/plugins/org.polarsys.chess.constraints.constraintEditor/src/org/polarsys/chess/constraints/constraintEditor/CustomConstraintEditorTab.java index 6251e2d1cf41d4d5fcd72722a99d9d69d0ac0893..4db5b95b69a56a55e88bcc0d41dff4cde3cf3f49 100644 --- a/plugins/org.polarsys.chess.constraints.constraintEditor/src/org/polarsys/chess/constraints/constraintEditor/CustomConstraintEditorTab.java +++ b/plugins/org.polarsys.chess.constraints.constraintEditor/src/org/polarsys/chess/constraints/constraintEditor/CustomConstraintEditorTab.java @@ -10,21 +10,15 @@ ******************************************************************************/ package org.polarsys.chess.constraints.constraintEditor; -import java.util.Set; - -import org.eclipse.emf.common.util.BasicEList; -import org.eclipse.emf.common.util.EList; import org.eclipse.emf.ecore.resource.Resource; import org.eclipse.jface.viewers.ISelection; -import org.eclipse.papyrus.sysml.portandflows.FlowDirection; -import org.eclipse.uml2.uml.Class; import org.eclipse.uml2.uml.Constraint; -import org.eclipse.uml2.uml.Element; -import org.eclipse.uml2.uml.Property; import org.polarsys.chess.contracts.profile.chesscontract.util.EntityUtil; +import org.polarsys.chess.service.internal.model.ChessSystemModel; import org.polarsys.chess.service.utils.SelectionUtil; import eu.fbk.eclipse.standardtools.constraintEditor.constraintTab.ConstraintEditorTab; +import eu.fbk.eclipse.standardtools.model.AbstractSystemModel; /** * This is the constraint editor designed for the CHESS platform. It extends the @@ -38,6 +32,8 @@ public class CustomConstraintEditorTab extends ConstraintEditorTab { private SelectionUtil selectionUtil = SelectionUtil.getInstance(); private EntityUtil entityUtil = EntityUtil.getInstance(); + + @Override public Resource getResourceFromConstraint(Object constraint) { @@ -50,14 +46,14 @@ public class CustomConstraintEditorTab extends ConstraintEditorTab { * @see eu.fbk.eclipse.standardtools.constraintEditor.constraintTab. * ConstraintEditorTab#getSubComponentsName(java.lang.Object) */ - @Override +/* @Override public String[] getSubComponentsName(Object constraint) { Element umlElement = ((Constraint) constraint).getOwner(); Set<String> subCompArr = entityUtil.getSubComponentsNames((Class) umlElement); String[] subComStrArr = new String[subCompArr.size()]; return subCompArr.toArray(subComStrArr); - } + }*/ /* * (non-Javadoc) @@ -65,7 +61,7 @@ public class CustomConstraintEditorTab extends ConstraintEditorTab { * @see eu.fbk.eclipse.standardtools.constraintEditor.constraintTab. * ConstraintEditorTab#getSubComponent(java.lang.Object, java.lang.String) */ - @Override + /*@Override public Object getSubComponent(Object constraint, String componentName) { Element element = ((Constraint) constraint).getOwner(); @@ -76,86 +72,86 @@ public class CustomConstraintEditorTab extends ConstraintEditorTab { } return null; - } + }*/ /* * (non-Javadoc) * * @see eu.fbk.eclipse.standardtools.constraintEditor.constraintTab. * ConstraintEditorTab#getInputOutputPorts(java.lang.Object) - */ + @Override - public String[] getInputOutputPorts(Object component) { + public String[] getInputOutputPortsNames(Object component) { return entityUtil.getPortsNames((Element) component, FlowDirection.INOUT_VALUE); } - /* + * (non-Javadoc) * * @see eu.fbk.eclipse.standardtools.constraintEditor.constraintTab. * ConstraintEditorTab#getInputPorts(java.lang.Object) - */ + @Override - public String[] getInputPorts(Object component) { + public String[] getInputPortsNames(Object component) { return entityUtil.getPortsNames((Element) component, FlowDirection.IN_VALUE); } - /* + * (non-Javadoc) * * @see eu.fbk.eclipse.standardtools.constraintEditor.constraintTab. * ConstraintEditorTab#getOutputPorts(java.lang.Object) - */ + @Override - public String[] getOutputPorts(Object component) { + public String[] getOutputPortsNames(Object component) { return entityUtil.getPortsNames((Element) component, FlowDirection.OUT_VALUE); } - /* + * (non-Javadoc) * * @see eu.fbk.eclipse.standardtools.constraintEditor.constraintTab. * ConstraintEditorTab#getConstraintOwnerInputPorts(java.lang.Object) - */ + @Override - public String[] getConstraintOwnerInputPorts(Object constraint) { + public String[] getConstraintOwnerInputPortsNames(Object constraint) { Element element = ((Constraint) constraint).getOwner(); - return getInputPorts(element); + return getInputPortsNames(element); } - /* + * (non-Javadoc) * * @see eu.fbk.eclipse.standardtools.constraintEditor.constraintTab. * ConstraintEditorTab#getConstraintOwnerOutputPorts(java.lang.Object) - */ + @Override - public String[] getConstraintOwnerOutputPorts(Object constraint) { + public String[] getConstraintOwnerOutputPortsNames(Object constraint) { Element element = ((Constraint) constraint).getOwner(); - return getOutputPorts(element); + return getOutputPortsNames(element); } - /* + * (non-Javadoc) * * @see eu.fbk.eclipse.standardtools.constraintEditor.constraintTab. * ConstraintEditorTab#getConstraintOwnerInputOutputPorts(java.lang.Object) - */ + @Override public String[] getConstraintOwnerInputOutputPorts(Object constraint) { Element element = ((Constraint) constraint).getOwner(); - return getInputOutputPorts(element); + return getInputOutputPortsNames(element); } - /* + * (non-Javadoc) * * @see eu.fbk.eclipse.standardtools.constraintEditor.constraintTab. * ConstraintEditorTab#getConstraintOwnerProperties(java.lang.Object) - */ + @Override - public String[] getConstraintOwnerProperties(Object constraint) { + public String[] getConstraintOwnerPropertiesNames(Object constraint) { Class element = (Class) ((Constraint) constraint).getOwner(); EList<String> attrArr = new BasicEList<String>(); attrArr.addAll(entityUtil.getBooleanAttributesNamesExceptsPorts(element)); @@ -163,7 +159,7 @@ public class CustomConstraintEditorTab extends ConstraintEditorTab { String[] attributesStrArr = new String[attrArr.size()]; return attrArr.toArray(attributesStrArr); } - +*/ /* * (non-Javadoc) * @@ -228,12 +224,102 @@ public class CustomConstraintEditorTab extends ConstraintEditorTab { public String getStrFromConstraint(Object constraint) { return ((Constraint) constraint).getSpecification().stringValue(); } - +/* @Override public String[] getEnumValuesFromConstraintOwnerPorts(Object constraint) { Class element = (Class) ((Constraint) constraint).getOwner(); return entityUtil.getEnumValuesFromComponentPorts(element); } + + + + @Override + public Set<?> getConstraintOwnerPorts(Object formalProperty) { + return entityUtil.getUmlPorts(entityUtil.getOwner((Element)formalProperty)); + } + + @Override + public Set<?> getConstraintOwnerAttributes(Object formalProperty) { + return entityUtil.getAttributes(entityUtil.getOwner((Element)formalProperty)); + } + + @Override + public String getPortName(Object port) { + return entityUtil.getPortName((Port)port); + } + + @Override + public String getAttributeName(Object attribute) { + return entityUtil.getAttributeName((Property)attribute); + } + + + + @Override + public boolean isNumberAttribute(Object attribute) { + return false; + } + + @Override + public boolean isIntAttribute(Object attribute) { + return entityUtil.isIntegerAttribute((Property)attribute); + } + + @Override + public boolean isEventAttribute(Object attribute) { + return entityUtil.isEventPortAttribute((Property)attribute); + } + + @Override + public boolean isEnumAttribute(Object attribute) { + return entityUtil.isEnumerationAttribute((Property)attribute); + } + + @Override + public boolean isBoolAttribute(Object attribute) { + return entityUtil.isBooleanAttribute((Property)attribute); + } + + @Override + public boolean isContinuousAttribute(Object attribute) { + return entityUtil.isContinuousAttribute((Property)attribute); + } + + @Override + public boolean isWordAttribute(Object attribute) { + return false; + } + + @Override + public boolean isRealAttribute(Object attribute) { + return entityUtil.isRealAttribute((Property)attribute); + } + + @Override + public boolean isInOutPort(Object port) { + return entityUtil.isInOutPort((Port)port); + } + + @Override + public boolean isOutputPort(Object port) { + return entityUtil.isOutputPort((Port)port); + } + + @Override + public boolean isInputPort(Object port) { + return entityUtil.isInputPort((Port)port); + } +*/ + /*@Override + public Set<?> getComponentPorts(Object component) { + return entityUtil.getUmlPorts((Element)component); + }*/ + + @Override + public AbstractSystemModel getSystemModel() { + return ChessSystemModel.getInstance(); + } + diff --git a/plugins/org.polarsys.chess.diagram.ui/META-INF/MANIFEST.MF b/plugins/org.polarsys.chess.diagram.ui/META-INF/MANIFEST.MF index 3c88c15044c7c2491f7528978b2ec216dc37922e..d95ffcf723e18b60fc646f4a78dee25d88668d64 100644 --- a/plugins/org.polarsys.chess.diagram.ui/META-INF/MANIFEST.MF +++ b/plugins/org.polarsys.chess.diagram.ui/META-INF/MANIFEST.MF @@ -32,5 +32,6 @@ Require-Bundle: org.eclipse.core.commands, org.eclipse.papyrus.sysml.diagram.internalblock;bundle-version="2.0.0", org.eclipse.papyrus.sysml.diagram.blockdefinition;bundle-version="2.0.0", org.eclipse.papyrus.uml.diagram.profile;bundle-version="2.0.0", - org.eclipse.papyrus.uml.diagram.common + org.eclipse.papyrus.uml.diagram.common, + org.polarsys.chess.service Export-Package: org.polarsys.chess.diagram.ui.utils diff --git a/plugins/org.polarsys.chess.diagram.ui/src/org/polarsys/chess/diagram/ui/commands/GenerateDocumentCommand.java b/plugins/org.polarsys.chess.diagram.ui/src/org/polarsys/chess/diagram/ui/commands/GenerateDocumentCommand.java index 4a9cb36f36bbbd530f78c05a53b9597a0cf404b3..01285024651870bd5c5041415427d424d206e551 100644 --- a/plugins/org.polarsys.chess.diagram.ui/src/org/polarsys/chess/diagram/ui/commands/GenerateDocumentCommand.java +++ b/plugins/org.polarsys.chess.diagram.ui/src/org/polarsys/chess/diagram/ui/commands/GenerateDocumentCommand.java @@ -25,8 +25,8 @@ import org.polarsys.chess.diagram.ui.docGenerators.CHESSBlockDefinitionDiagramMo import org.polarsys.chess.diagram.ui.docGenerators.CHESSInternalBlockDiagramModel; import org.polarsys.chess.diagram.ui.services.CHESSDiagramsGeneratorService; import org.polarsys.chess.diagram.ui.utils.ExportDialogUtils; +import org.polarsys.chess.service.internal.model.ChessSystemModel; import org.polarsys.chess.service.utils.SelectionUtil; -import org.polarsys.chess.verificationService.model.ChessSystemModel; import eu.fbk.eclipse.standardtools.ModelTranslatorToOcra.services.OCRATranslatorService; import eu.fbk.eclipse.standardtools.commands.AbstractJobCommand; diff --git a/plugins/org.polarsys.chess.properties.propertyEditor/META-INF/MANIFEST.MF b/plugins/org.polarsys.chess.properties.propertyEditor/META-INF/MANIFEST.MF index 7c3b9d8090fc00a2164defc6afff8c6cde33c2e0..f8b98624bc56847fc881afd0149c177f72e9eab3 100644 --- a/plugins/org.polarsys.chess.properties.propertyEditor/META-INF/MANIFEST.MF +++ b/plugins/org.polarsys.chess.properties.propertyEditor/META-INF/MANIFEST.MF @@ -10,7 +10,8 @@ Require-Bundle: org.eclipse.papyrus.infra.core, org.polarsys.chess.chessmlprofile;bundle-version="0.9.0", org.polarsys.chess.contracts.profile, org.polarsys.chess.service, - org.polarsys.chess.core + org.polarsys.chess.core, + eu.fbk.eclipse.standardtools.utils Import-Package: org.eclipse.gef, org.eclipse.gmf.runtime.diagram.ui.editparts, org.eclipse.papyrus.infra.emf.utils, diff --git a/plugins/org.polarsys.chess.properties.propertyEditor/src/org/polarsys/chess/properties/propertyEditor/CustomPropertyEditorTab.java b/plugins/org.polarsys.chess.properties.propertyEditor/src/org/polarsys/chess/properties/propertyEditor/CustomPropertyEditorTab.java index 5a031ac258d19b5ad1a89e3c042382e077d92981..b3080a2dc0c6cc2702e4ea00e6e4823c7553c1d9 100644 --- a/plugins/org.polarsys.chess.properties.propertyEditor/src/org/polarsys/chess/properties/propertyEditor/CustomPropertyEditorTab.java +++ b/plugins/org.polarsys.chess.properties.propertyEditor/src/org/polarsys/chess/properties/propertyEditor/CustomPropertyEditorTab.java @@ -10,50 +10,47 @@ ******************************************************************************/ package org.polarsys.chess.properties.propertyEditor; -import org.eclipse.emf.common.util.BasicEList; -import org.eclipse.emf.common.util.EList; + import org.eclipse.emf.ecore.resource.Resource; import org.eclipse.jface.viewers.ISelection; -import org.eclipse.papyrus.sysml.portandflows.FlowDirection; -import org.eclipse.uml2.uml.Class; import org.eclipse.uml2.uml.Constraint; -import org.eclipse.uml2.uml.Element; import org.polarsys.chess.contracts.profile.chesscontract.FormalProperty; import org.polarsys.chess.contracts.profile.chesscontract.util.ContractEntityUtil; -import org.polarsys.chess.contracts.profile.chesscontract.util.EntityUtil; +import org.polarsys.chess.service.internal.model.ChessSystemModel; import org.polarsys.chess.service.utils.SelectionUtil; +import eu.fbk.eclipse.standardtools.model.AbstractSystemModel; import eu.fbk.eclipse.standardtools.propertyEditor.propertyTab.PropertyEditorTab; public class CustomPropertyEditorTab extends PropertyEditorTab { private ContractEntityUtil contractEntityUtil = ContractEntityUtil.getInstance(); private SelectionUtil selectionUtil = SelectionUtil.getInstance(); - private EntityUtil entityUtil = EntityUtil.getInstance(); + //private EntityUtil entityUtil = EntityUtil.getInstance(); - @Override - public String[] getPropertyOwnerInputPorts(Object formalProperty) { + /*@Override + public String[] getOwnerInputPortsNames(Object formalProperty) { Element umlOwner = entityUtil.getOwner((Constraint) formalProperty); int direction = FlowDirection.IN_VALUE; return entityUtil.getPortsNames(umlOwner, direction); } @Override - public String[] getPropertyOwnerOutputPorts(Object formalProperty) { + public String[] getOwnerOutputPortsNames(Object formalProperty) { Element umlOwner = entityUtil.getOwner((Constraint) formalProperty); int direction = FlowDirection.OUT_VALUE; return entityUtil.getPortsNames(umlOwner, direction); } @Override - public String[] getPropertyOwnerInputOutputPorts(Object formalProperty) { + public String[] getOwnerInputOutputPortsNames(Object formalProperty) { Element umlOwner = entityUtil.getOwner((Constraint) formalProperty); int direction = FlowDirection.INOUT_VALUE; return entityUtil.getPortsNames(umlOwner, direction); } @Override - public String[] getPropertyOwnerAttributes(Object property) { + public String[] getOwnerAttributesNames(Object property) { Element umlOwner = ((Constraint) property).getOwner(); EList<String> attrArr = new BasicEList<String>(); @@ -62,7 +59,7 @@ public class CustomPropertyEditorTab extends PropertyEditorTab { String[] attributesStrArr = new String[attrArr.size()]; return attrArr.toArray(attributesStrArr); - } + }*/ @Override public Object returnProperty(ISelection selection) { @@ -91,22 +88,103 @@ public class CustomPropertyEditorTab extends PropertyEditorTab { contractEntityUtil.saveFormalProperty(contractEntityUtil.getFormalProperty((Constraint) property), textChanged); } - public String getPropertyName(Object property) { + /*public String getPropertyName(Object property) { if (property != null) { return ((Constraint) property).getQualifiedName(); } return null; - } + }*/ public String getStrFromProperty(Object property) { FormalProperty formalProperty = contractEntityUtil.getFormalProperty((Constraint) property); return contractEntityUtil.getPropertyStr(formalProperty); } + + + /*@Override + public Set<?> getOwnerPorts(Object formalProperty) { + return entityUtil.getUmlPorts(entityUtil.getOwner((Element)formalProperty)); + } + + @Override + public Set<?> getOwnerVariables(Object formalProperty) { + return entityUtil.getAttributes(entityUtil.getOwner((Element)formalProperty)); + } +*/ + /*@Override + public String getPortName(Object port) { + return entityUtil.getPortName((Port)port); + } +*/ +/* @Override + public String getAttributeName(Object attribute) { + return entityUtil.getAttributeName((Property)attribute); + }*/ + + + /* @Override - public String[] getEnumValuesFromPropertyOwnerPorts(Object formalProperty) { - Class element = (Class) ((Constraint) formalProperty).getOwner(); - return entityUtil.getEnumValuesFromComponentPorts(element); + public boolean isNumberAttribute(Object attribute) { + // TODO Auto-generated method stub + return false; + }*/ + + /*@Override + public boolean isIntAttribute(Object attribute) { + return entityUtil.isIntegerAttribute((Property)attribute); } + @Override + public boolean isEventAttribute(Object attribute) { + return entityUtil.isEventPortAttribute((Property)attribute); + } + + @Override + public boolean isEnumAttribute(Object attribute) { + return entityUtil.isEnumerationAttribute((Property)attribute); + } + + @Override + public boolean isBoolAttribute(Object attribute) { + return entityUtil.isBooleanAttribute((Property)attribute); + }*/ + + /*@Override + public boolean isContinuousAttribute(Object attribute) { + return entityUtil.isContinuousAttribute((Property)attribute); + }*/ + + /*@Override + public boolean isWordAttribute(Object attribute) { + // TODO Auto-generated method stub + return entityUtil.isStringAttribute((Property)attribute); + }*/ + + /*@Override + public boolean isRealAttribute(Object attribute) { + return entityUtil.isRealAttribute((Property)attribute); + }*/ + + /*@Override + public boolean isInOutPort(Object port) { + return entityUtil.isInOutPort((Port)port); + }*/ + + /*@Override + public boolean isOutputPort(Object port) { + return entityUtil.isOutputPort((Port)port); + }*/ + + /*@Override + public boolean isInputPort(Object port) { + return entityUtil.isInputPort((Port)port); + }*/ + + @Override + public AbstractSystemModel getSystemModel() { + return ChessSystemModel.getInstance(); + } + + } diff --git a/plugins/org.polarsys.chess.service/META-INF/MANIFEST.MF b/plugins/org.polarsys.chess.service/META-INF/MANIFEST.MF index 9a257cc64d0e8bcc5de29dc9fd4abc5fc1ac9fdb..77062b5e20794c74d727f58a46e867a00d12aaa6 100644 --- a/plugins/org.polarsys.chess.service/META-INF/MANIFEST.MF +++ b/plugins/org.polarsys.chess.service/META-INF/MANIFEST.MF @@ -15,10 +15,13 @@ Require-Bundle: org.eclipse.core.runtime, org.eclipse.papyrus.infra.ui, org.eclipse.emf.cdo;bundle-version="4.5.0", org.eclipse.papyrus.cdo.core;bundle-version="1.2.0", - org.eclipse.papyrus.uml.tools + org.eclipse.papyrus.uml.tools, + eu.fbk.eclipse.standardtools.utils, + org.polarsys.chess.contracts.profile Bundle-RequiredExecutionEnvironment: JavaSE-1.7 Export-Package: org.polarsys.chess.service.exceptions, org.polarsys.chess.service.internal.commands.switchers, + org.polarsys.chess.service.internal.model, org.polarsys.chess.service.utils; uses:="org.eclipse.ui, org.eclipse.papyrus.infra.core.services, diff --git a/plugins/contracts/org.polarsys.chess.contracts.verificationService/src/org/polarsys/chess/verificationService/model/ChessSystemModel.java b/plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/internal/model/ChessSystemModel.java similarity index 81% rename from plugins/contracts/org.polarsys.chess.contracts.verificationService/src/org/polarsys/chess/verificationService/model/ChessSystemModel.java rename to plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/internal/model/ChessSystemModel.java index d5ca7f4bd4ae153e38bda1e47d1116f6e2c0af68..c89a2540358ef261083c4e2532f76a4a6c4e25a7 100644 --- a/plugins/contracts/org.polarsys.chess.contracts.verificationService/src/org/polarsys/chess/verificationService/model/ChessSystemModel.java +++ b/plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/internal/model/ChessSystemModel.java @@ -8,10 +8,11 @@ * Contributors: * Alberto Debiasi - initial API and implementation ******************************************************************************/ -package org.polarsys.chess.verificationService.model; +package org.polarsys.chess.service.internal.model; import java.util.List; +import java.util.Set; import org.apache.log4j.Logger; import org.eclipse.emf.common.util.BasicEList; @@ -22,6 +23,7 @@ import org.eclipse.uml2.uml.Connector; import org.eclipse.uml2.uml.ConnectorEnd; import org.eclipse.uml2.uml.Constraint; import org.eclipse.uml2.uml.Element; +import org.eclipse.uml2.uml.NamedElement; import org.eclipse.uml2.uml.Port; import org.eclipse.uml2.uml.Property; import org.eclipse.uml2.uml.Type; @@ -30,7 +32,7 @@ import org.polarsys.chess.contracts.profile.chesscontract.ContractRefinement; import org.polarsys.chess.contracts.profile.chesscontract.util.ContractEntityUtil; import org.polarsys.chess.contracts.profile.chesscontract.util.EntityUtil; -import eu.fbk.eclipse.standardtools.ModelTranslatorToOcra.model.AbstractSystemModel; +import eu.fbk.eclipse.standardtools.model.AbstractSystemModel; public class ChessSystemModel implements AbstractSystemModel { @@ -132,7 +134,7 @@ if (entityUtil.isBlock((Element) component)) { @Override public String getPortName(Object port) { // return ((Port)port).getQualifiedName().replaceAll("::", "_"); - return ((Port) port).getName(); + return entityUtil.getPortName((Port)port); } /* @@ -212,6 +214,11 @@ if (entityUtil.isBlock((Element) component)) { return new BasicEList<Port>(entityUtil.getUmlPorts((Element) component, FlowDirection.IN_VALUE)); } + @Override + public Set<?> getPorts(Object component) { + return entityUtil.getUmlPorts((Element)component); + } + /* * (non-Javadoc) * @@ -221,7 +228,8 @@ if (entityUtil.isBlock((Element) component)) { */ @Override public String getParameterName(Object parameter) { - return ((Property) parameter).getName(); + return entityUtil.getAttributeName((Property)parameter); + //return ((Property) parameter).getName(); } /* @@ -464,6 +472,13 @@ if (entityUtil.isBlock((Element) component)) { return entityUtil.getComponentName(component); } + + + @Override + public String getContractQualifiedName(Object contract) { + return contractEntityUtil.getContractQualifiedName((Class)contract); + } + /* * (non-Javadoc) * @@ -640,5 +655,123 @@ if (entityUtil.isBlock((Element) component)) { return (((Property)port_or_parameter).getType() == null); } - + + + @Override + public boolean isInputPort(Object port) { + return entityUtil.isInputPort((Port)port); + } + + + + @Override + public boolean isOutputPort(Object port) { + return entityUtil.isOutputPort((Port)port); + } + + + + @Override + public boolean isInOutPort(Object port) { + return entityUtil.isInputPort((Port)port); + } + + + + @Override + public boolean isPortOrParameterWithNumberType(Object attribute) { + // TODO Auto-generated method stub + return false; + } + + + + @Override + public boolean isPortOrParameterWithWordType(Object attribute) { + return entityUtil.isStringAttribute((Property)attribute); + + } + + + + @Override + public String getVariableName(Object attribute) { + return entityUtil.getAttributeName((Property)attribute); +} + + + + @Override + public String getFormalPropertyName(Object formalProperty) { + return contractEntityUtil.getFormalPropertyName(formalProperty); + } + + @Override + public Set<?> getOwnerPorts(Object formalProperty) { + Class owner = (Class)entityUtil.getOwner((Element)formalProperty); + //block added to manage formal properties with contract as owner + if(contractEntityUtil.isContract(owner)){ + owner = (Class)entityUtil.getOwner(owner); + } + return entityUtil.getUmlPorts(owner); + } + + @Override + public Set<?> getOwnerVariables(Object formalProperty) { + Class owner = (Class)entityUtil.getOwner((Element)formalProperty); + //block added to manage formal properties with contract as owner + if(contractEntityUtil.isContract(owner)){ + owner = (Class)entityUtil.getOwner(owner); + } + return entityUtil.getAttributes(owner); + } + + @Override + public String[] getEnumValuesFromOwnerAttributes(Object formalProperty) { + Class owner = (Class)entityUtil.getOwner((Element)formalProperty); + //block added to manage formal properties with contract as owner + if(contractEntityUtil.isContract(owner)){ + owner = (Class)entityUtil.getOwner(owner); + } + //return entityUtil.getEnumValuesFromComponentPorts(element); + return entityUtil.getEnumValuesFromComponentAttributes(owner); + } + + + + @Override + public String[] getSubComponentsName(Object constraint) { + return entityUtil.getSubComponentsName(constraint); + } + + + + @Override + public Object getSubComponent(Object constraint, String subCompName) { + return entityUtil.getSubComponent(constraint, subCompName); + } + + + @Override + public String getConstraintQualifiedName(Object constraint) { + return entityUtil.getQualifiedName((NamedElement)constraint); + } + + + + @Override + public String getComponentQualifiedName(Object component) { + return entityUtil.getQualifiedName((NamedElement)component); + } + + + + @Override + public String[] getEnumValuesFromOwnerPorts(Object port_or_parameter) { + Class owner = (Class)entityUtil.getOwner((Element)port_or_parameter); + if(contractEntityUtil.isContract(owner)){ + owner = (Class)entityUtil.getOwner(owner); + } + return entityUtil.getEnumValuesFromComponentPorts(owner); + } } diff --git a/plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/internal/service/CHESSServiceFactory.java b/plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/internal/service/CHESSServiceFactory.java index 7df66f635e642f3d6ff0fb2f4fced5ad83704b27..76e3445ffd8a79131e5194f091afe0e9a3bb69b7 100644 --- a/plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/internal/service/CHESSServiceFactory.java +++ b/plugins/org.polarsys.chess.service/src/org/polarsys/chess/service/internal/service/CHESSServiceFactory.java @@ -17,13 +17,11 @@ package org.polarsys.chess.service.internal.service; import org.eclipse.papyrus.editor.PapyrusMultiDiagramEditor; -import org.eclipse.papyrus.infra.core.resource.ModelSet; import org.eclipse.papyrus.infra.core.sasheditor.editor.ISashWindowsContainer; import org.eclipse.papyrus.infra.core.services.IServiceFactory; import org.eclipse.papyrus.infra.core.services.ServiceException; import org.eclipse.papyrus.infra.core.services.ServicesRegistry; import org.eclipse.ui.IPartListener; -import org.eclipse.ui.IWindowListener; import org.eclipse.ui.IWorkbenchPart; import org.eclipse.ui.IWorkbenchWindow; import org.eclipse.ui.PlatformUI;