Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.views.cpp/src/org/eclipse/papyrus/views/panels/CppBehaviorPanel.java58
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.views.cpp/src/org/eclipse/papyrus/views/panels/CppClassPanel.java26
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.views.cpp/src/org/eclipse/papyrus/views/panels/CppGeneralizationPanel.java33
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.views.cpp/src/org/eclipse/papyrus/views/panels/CppOperationPanel.java11
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/Messages.java4
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/messages.properties2
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/templates/XtendTemplateBinding.java6
-rw-r--r--extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.ui/src/org/eclipse/papyrus/qompass/designer/ui/dialogs/ContainerDialog.java1
-rw-r--r--extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/TracepointConstants.java3
9 files changed, 74 insertions, 70 deletions
diff --git a/extraplugins/codegen/org.eclipse.papyrus.views.cpp/src/org/eclipse/papyrus/views/panels/CppBehaviorPanel.java b/extraplugins/codegen/org.eclipse.papyrus.views.cpp/src/org/eclipse/papyrus/views/panels/CppBehaviorPanel.java
index 098f7eba187..0224f59689f 100644
--- a/extraplugins/codegen/org.eclipse.papyrus.views.cpp/src/org/eclipse/papyrus/views/panels/CppBehaviorPanel.java
+++ b/extraplugins/codegen/org.eclipse.papyrus.views.cpp/src/org/eclipse/papyrus/views/panels/CppBehaviorPanel.java
@@ -15,7 +15,6 @@ import org.eclipse.jface.text.IDocument;
import org.eclipse.papyrus.C_Cpp.Virtual;
import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil;
import org.eclipse.papyrus.views.cpp.CommandSupport;
-import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Group;
@@ -40,10 +39,10 @@ public class CppBehaviorPanel extends CppAbstractPanel {
private Behavior selectedBehavior;
- private Button verifyAcceleo;
-
Element selectedEOwner;
+ protected String origBody;
+
public CppBehaviorPanel(Composite parent, int style) {
super(parent, style);
}
@@ -99,14 +98,14 @@ public class CppBehaviorPanel extends CppAbstractPanel {
docBody = createDocumentC();
groupBody = createGroup(
- this
- , "Method body"
- , verifyAcceleo
- , null
- , true
- , 0
- , 0
- , true);
+ this,
+ "Method body", //$NON-NLS-1$
+ buttonSave,
+ null,
+ true,
+ 0,
+ 0,
+ true);
// Use CDT CEditor coloration
createViewerC(docBody, groupBody);
@@ -134,6 +133,7 @@ public class CppBehaviorPanel extends CppAbstractPanel {
public void run() {
// Body
setCppBody(selectedBehavior, docBody.get());
+ origBody = docBody.get();
}
});
}
@@ -208,14 +208,9 @@ public class CppBehaviorPanel extends CppAbstractPanel {
@Override
public boolean checkModifications() {
- // check if ConstInit has changed
-
- String methodBody = getCppBody(selectedBehavior);
-
- if (!(docBody.get().equals(methodBody))) {
+ if (!(docBody.get().equals(origBody))) {
return true;
}
-
return false;
}
@@ -223,9 +218,10 @@ public class CppBehaviorPanel extends CppAbstractPanel {
protected void refreshPanel() {
if (selectedBehavior == null) {
/* Log.debug("resetBody : selectedOperation is null"); */
- } else {
-
+ }
+ else {
String body = getCppBody(selectedBehavior);
+ origBody = body;
docBody.set(body);
}
}
@@ -258,7 +254,7 @@ public class CppBehaviorPanel extends CppAbstractPanel {
@Override
protected void updateModel()
{
- CommandSupport.exec("C++ operation save", new Runnable() {
+ CommandSupport.exec("C++ behavior save", new Runnable() {
@Override
public void run()
@@ -267,31 +263,9 @@ public class CppBehaviorPanel extends CppAbstractPanel {
return;
}
if (selectedEOwner instanceof Class) {
- // toggle Stereotypes pure virtual if element is abstract
- if (selectedBehavior.isAbstract()) {
- if (!StereotypeUtil.isApplied(selectedBehavior, Virtual.class)) {
- // selectedOperation.toggleStereotype("VirtualPure", true);
- // selectedOperation.toggleStereotype("Virtual", false);
- } else {
- // selectedOperation.toggleStereotype("Virtual", false);
- }
- }
-
- // if element is abstract and has VirtualPure, set to Virtual only
- if (!selectedBehavior.isAbstract()) {
- if (StereotypeUtil.isApplied(selectedBehavior, Virtual.class)) {
- // selectedOperation.toggleStereotype("VirtualPure", false);
- // selectedOperation.toggleStereotype("Virtual", true);
- } else {
- // selectedOperation.toggleStereotype("VirtualPure", false);
- // selectedOperation.toggleStereotype("Virtual", false);
- }
- }
}
else {
selectedBehavior.setIsAbstract(true);
- // selectedOperation.toggleStereotype("Virtual", false);
- // selectedOperation.toggleStereotype("VirtualPure", true);
}
}
});
diff --git a/extraplugins/codegen/org.eclipse.papyrus.views.cpp/src/org/eclipse/papyrus/views/panels/CppClassPanel.java b/extraplugins/codegen/org.eclipse.papyrus.views.cpp/src/org/eclipse/papyrus/views/panels/CppClassPanel.java
index 3dcc99eee41..6f94852ee3c 100644
--- a/extraplugins/codegen/org.eclipse.papyrus.views.cpp/src/org/eclipse/papyrus/views/panels/CppClassPanel.java
+++ b/extraplugins/codegen/org.eclipse.papyrus.views.cpp/src/org/eclipse/papyrus/views/panels/CppClassPanel.java
@@ -49,6 +49,10 @@ public class CppClassPanel extends CppAbstractPanel {
// Current selection
private Class selectedClass;
+ protected String origHeader;
+
+ protected String origBody;
+
public CppClassPanel(Composite parent, int style) {
super(parent, style);
}
@@ -145,7 +149,9 @@ public class CppClassPanel extends CppAbstractPanel {
} else {
Include cppInclude = StereotypeUtil.applyApp(selectedClass, Include.class);
cppInclude.setHeader(headerDocument.get());
+ origHeader = headerDocument.get();
cppInclude.setBody(bodyDocument.get());
+ origBody = bodyDocument.get();
}
}
});
@@ -170,17 +176,19 @@ public class CppClassPanel extends CppAbstractPanel {
*/
@Override
public boolean checkModifications() {
- String headerInModel = "";
- String bodyInModel = "";
+ // String headerInModel = "";
+ // String bodyInModel = "";
+ /*
Include cppInclude = UMLUtil.getStereotypeApplication(selectedClass, Include.class);
if (cppInclude != null) {
headerInModel = cppInclude.getHeader();
bodyInModel = cppInclude.getBody();
}
-
- boolean headerChanged = !headerDocument.get().equals(headerInModel);
- boolean bodyChanged = !bodyDocument.get().equals(bodyInModel);
+ */
+
+ boolean headerChanged = !headerDocument.get().equals(origHeader);
+ boolean bodyChanged = !bodyDocument.get().equals(origBody);
return (headerChanged | bodyChanged);
}
@@ -199,12 +207,16 @@ public class CppClassPanel extends CppAbstractPanel {
if (cppInclude != null) {
// get the text in the tagged value
String currentHI = cppInclude.getHeader();
+ origHeader = currentHI;
headerDocument.set(currentHI);
String currentBI = cppInclude.getBody();
+ origBody = currentBI;
bodyDocument.set(currentBI);
} else {
- headerDocument.set("");
- bodyDocument.set("");
+ origHeader = ""; //$NON-NLS-1$
+ headerDocument.set(""); //$NON-NLS-1$
+ origBody = ""; //$NON-NLS-1$
+ bodyDocument.set(""); //$NON-NLS-1$
}
}
}
diff --git a/extraplugins/codegen/org.eclipse.papyrus.views.cpp/src/org/eclipse/papyrus/views/panels/CppGeneralizationPanel.java b/extraplugins/codegen/org.eclipse.papyrus.views.cpp/src/org/eclipse/papyrus/views/panels/CppGeneralizationPanel.java
index 05b6115a152..085554c903b 100644
--- a/extraplugins/codegen/org.eclipse.papyrus.views.cpp/src/org/eclipse/papyrus/views/panels/CppGeneralizationPanel.java
+++ b/extraplugins/codegen/org.eclipse.papyrus.views.cpp/src/org/eclipse/papyrus/views/panels/CppGeneralizationPanel.java
@@ -34,6 +34,12 @@ import org.eclipse.uml2.uml.util.UMLUtil;
*/
public class CppGeneralizationPanel extends CppAbstractPanel {
+ private static final String PROTECTED = "protected"; //$NON-NLS-1$
+
+ private static final String PUBLIC = "public"; //$NON-NLS-1$
+
+ private static final String PRIVATE = "private"; //$NON-NLS-1$
+
/** Combo box to display visibility */
private Combo vPropCombo;
@@ -90,7 +96,7 @@ public class CppGeneralizationPanel extends CppAbstractPanel {
// Visibility properties combo box
vPropCombo = new Combo(qualifierGroup, SWT.DROP_DOWN | SWT.READ_ONLY);
- String items[] = { "public", "protected", "private" };
+ String items[] = { PUBLIC, PROTECTED, PRIVATE };
vPropCombo.setItems(items);
vPropCombo.addSelectionListener(new SelectionAdapter() {
@@ -115,16 +121,16 @@ public class CppGeneralizationPanel extends CppAbstractPanel {
final String visibilityVal;
switch (comboSelected) {
case 0: /* public */
- visibilityVal = "public";
+ visibilityVal = PUBLIC;
break;
case 1: /* protected */
- visibilityVal = "protected";
+ visibilityVal = PROTECTED;
break;
case 2: /* private */
- visibilityVal = "private";
+ visibilityVal = PRIVATE;
break;
default: /* public */
- visibilityVal = "public";
+ visibilityVal = PUBLIC;
break;
}
final Visibility visibility = UMLUtil.getStereotypeApplication(selectedGeneralization, Visibility.class);
@@ -182,11 +188,11 @@ public class CppGeneralizationPanel extends CppAbstractPanel {
if (visibility != null) {
String vis = visibility.getValue();
- if (vis.equals("public")) {
+ if (vis.equals(PUBLIC)) {
vPropCombo.select(0);
- } else if (vis.equals("protected")) {
+ } else if (vis.equals(PROTECTED)) {
vPropCombo.select(1);
- } else if (vis.equals("private")) {
+ } else if (vis.equals(PRIVATE)) {
vPropCombo.select(2);
} else {
Activator.log(new RuntimeException("Generalization: should never happen, model should be corrected before"));
@@ -215,11 +221,11 @@ public class CppGeneralizationPanel extends CppAbstractPanel {
if (visibility != null) {
String vis = visibility.getValue();
- if (!(vis.equals("public")) || !(vis.equals("protected")) || !(vis.equals("private"))) {
- return false;
+ if ((vis.equals(PUBLIC) || vis.equals(PROTECTED)) || vis.equals(PRIVATE)) {
+ return true;
}
else {
- return true;
+ return false;
}
}
else {
@@ -241,13 +247,12 @@ public class CppGeneralizationPanel extends CppAbstractPanel {
final Visibility visibility = UMLUtil.getStereotypeApplication(selectedGeneralization, Visibility.class);
if (visibility != null) {
- String vis = visibility.getValue();
- if (!(vis.equals("public")) || !(vis.equals("protected")) || !(vis.equals("private"))) {
+ if (!isModelValid()) {
CommandSupport.exec("Correct illegal visibility value", new Runnable() {
@Override
public void run() {
- visibility.setValue("public");
+ visibility.setValue(PUBLIC);
}
});
}
diff --git a/extraplugins/codegen/org.eclipse.papyrus.views.cpp/src/org/eclipse/papyrus/views/panels/CppOperationPanel.java b/extraplugins/codegen/org.eclipse.papyrus.views.cpp/src/org/eclipse/papyrus/views/panels/CppOperationPanel.java
index 6fe0d0ed461..e58cad84f77 100644
--- a/extraplugins/codegen/org.eclipse.papyrus.views.cpp/src/org/eclipse/papyrus/views/panels/CppOperationPanel.java
+++ b/extraplugins/codegen/org.eclipse.papyrus.views.cpp/src/org/eclipse/papyrus/views/panels/CppOperationPanel.java
@@ -80,10 +80,10 @@ public class CppOperationPanel extends CppAbstractPanel {
private Operation selectedOperation;
- private Button verifyAcceleo;
-
Element selectedEOwner;
+ protected String origBody;
+
public CppOperationPanel(Composite parent, int style) {
super(parent, style);
}
@@ -255,6 +255,7 @@ public class CppOperationPanel extends CppAbstractPanel {
// Body
setCppBody(selectedOperation, docBody.get());
+ origBody = docBody.get();
}
});
}
@@ -485,9 +486,8 @@ public class CppOperationPanel extends CppAbstractPanel {
return true;
}
- String methodBody = getCppBody(selectedOperation);
-
- if (!(docBody.get().equals(methodBody))) {
+ // String methodBody = getCppBody(selectedOperation);
+ if (!(docBody.get().equals(origBody))) {
return true;
}
@@ -518,6 +518,7 @@ public class CppOperationPanel extends CppAbstractPanel {
}
String body = getCppBody(selectedOperation);
+ origBody = body;
docBody.set(body);
// Combo Box
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/Messages.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/Messages.java
index b710703ff17..effcd06a80c 100644
--- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/Messages.java
+++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/Messages.java
@@ -116,6 +116,10 @@ public class Messages extends NLS {
public static String UpdateUtils_CannotApplyFCMstereo;
+ public static String XtendTemplateBinding_TemplateNotFound;
+
+ public static String XtendTemplateBinding_TemplateResultIsNotAString;
+
static {
// initialize resource bundle
NLS.initializeMessages(BUNDLE_NAME, Messages.class);
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/messages.properties b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/messages.properties
index aaa63986a94..332fca3462d 100644
--- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/messages.properties
+++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/messages.properties
@@ -87,3 +87,5 @@ CompImplSync_InfoSyncViaType=syncViaType => implementation %s
DepPlanUtils_CannotFindAttribute=cannot find attribute %s in classifier %s
DepPlanUtils_ConfigOfPropertyFailed=configuration of property %s failed: type is not a string
UpdateUtils_CannotApplyFCMstereo=cannot apply FCM stereotype. Check whether profile is applied
+XtendTemplateBinding_TemplateNotFound=template with reference <%s.%s> can not be found. Verify whether the reference is correctly spelled, the template has been registered and implements the interface <IXtend> (in oep.designer.core.extensions).
+XtendTemplateBinding_TemplateResultIsNotAString=bind template: return result is not a string
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/templates/XtendTemplateBinding.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/templates/XtendTemplateBinding.java
index f4e7e78fae1..14527c6aa23 100644
--- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/templates/XtendTemplateBinding.java
+++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/src/org/eclipse/papyrus/qompass/designer/core/templates/XtendTemplateBinding.java
@@ -3,6 +3,7 @@ package org.eclipse.papyrus.qompass.designer.core.templates;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
+import org.eclipse.papyrus.qompass.designer.core.Messages;
import org.eclipse.papyrus.qompass.designer.core.extensions.IXtend;
import org.eclipse.papyrus.qompass.designer.core.extensions.XtendGenerator;
import org.eclipse.papyrus.qompass.designer.core.transformations.TransformationException;
@@ -43,6 +44,9 @@ public class XtendTemplateBinding {
String templateId = templateRef[0].trim();
String methodName = templateRef[1].trim();
IXtend generator = XtendGenerator.getXtendGenerator(templateId);
+ if (generator == null) {
+ throw new TransformationException(String.format(Messages.XtendTemplateBinding_TemplateNotFound, templateId, methodName));
+ }
try {
Object result;
@@ -61,7 +65,7 @@ public class XtendTemplateBinding {
return result.toString();
}
else {
- throw new TransformationException("bind template: return result is not a string");
+ throw new TransformationException(Messages.XtendTemplateBinding_TemplateResultIsNotAString);
}
} catch (SecurityException | IllegalAccessException
| IllegalArgumentException | InvocationTargetException | NullPointerException e) {
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.ui/src/org/eclipse/papyrus/qompass/designer/ui/dialogs/ContainerDialog.java b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.ui/src/org/eclipse/papyrus/qompass/designer/ui/dialogs/ContainerDialog.java
index a84df010689..32a4bc5881d 100644
--- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.ui/src/org/eclipse/papyrus/qompass/designer/ui/dialogs/ContainerDialog.java
+++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.ui/src/org/eclipse/papyrus/qompass/designer/ui/dialogs/ContainerDialog.java
@@ -52,7 +52,6 @@ import org.eclipse.uml2.uml.util.UMLUtil;
* TODO: extend rule application to instances (problematic, since rules transformation
* is done on type level)
*
- * @author ansgar
*/
public class ContainerDialog extends SelectionStatusDialog {
diff --git a/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/TracepointConstants.java b/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/TracepointConstants.java
index 1fa3baaf828..2246147467b 100644
--- a/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/TracepointConstants.java
+++ b/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.infra.services.tracepoints/src/org/eclipse/papyrus/infra/services/tracepoints/TracepointConstants.java
@@ -24,6 +24,9 @@ public class TracepointConstants {
public static final String isActive = "isActive"; //$NON-NLS-1$
+ /**
+ * if true, marker is a tracepoint. Otherwise it is a breakpoint.
+ */
public static final String isTracepoint = "isTracepoint"; //$NON-NLS-1$
public static final String traceAction = "traceAction"; //$NON-NLS-1$

Back to the top