Skip to content
Snippets Groups Projects
Commit 8120c2c2 authored by Alberto Debiasi's avatar Alberto Debiasi
Browse files

fixes:


- added new semantic checks on contract/property/contraint editors
- moved ChessSystemModel in chess.service plugin because it is used in
different classes
- removed duplicated code

Change-Id: I56c8900fbbfad3f25761fa63d1e36ede32a34ebe
Signed-off-by: default avatarAlberto Debiasi <adebiasi@fbk.eu>
parent 65b52b6f
No related branches found
No related tags found
No related merge requests found
Showing
with 407 additions and 94 deletions
......@@ -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,
......
......@@ -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();
}
}
......@@ -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;
}
}
......@@ -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>();
......
......@@ -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
......@@ -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;
......
......@@ -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;
......
......@@ -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
......@@ -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;
......
......@@ -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());
......
......@@ -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 {
......
......@@ -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;
/**
*
......
......@@ -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();
}
......
......@@ -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;
......
......@@ -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;
......
......@@ -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;
......
......@@ -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();
}
}*/
}
......@@ -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,
......
......@@ -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();
}
......
......@@ -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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment