Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/uml/tools/org.eclipse.papyrus.uml.tools.utils')
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.utils/src/org/eclipse/papyrus/uml/tools/utils/CollaborationUseUtil.java6
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.utils/src/org/eclipse/papyrus/uml/tools/utils/ICustomAppearance.java (renamed from plugins/uml/tools/org.eclipse.papyrus.uml.tools.utils/src/org/eclipse/papyrus/uml/tools/utils/ICustomAppearence.java)17
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.utils/src/org/eclipse/papyrus/uml/tools/utils/InstanceSpecificationUtil.java19
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.utils/src/org/eclipse/papyrus/uml/tools/utils/OperationUtil.java32
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.utils/src/org/eclipse/papyrus/uml/tools/utils/ParameterUtil.java16
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.utils/src/org/eclipse/papyrus/uml/tools/utils/PortUtil.java18
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.utils/src/org/eclipse/papyrus/uml/tools/utils/PropertyUtil.java16
-rw-r--r--plugins/uml/tools/org.eclipse.papyrus.uml.tools.utils/src/org/eclipse/papyrus/uml/tools/utils/SignalUtil.java4
8 files changed, 75 insertions, 53 deletions
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.utils/src/org/eclipse/papyrus/uml/tools/utils/CollaborationUseUtil.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.utils/src/org/eclipse/papyrus/uml/tools/utils/CollaborationUseUtil.java
index 31a21c2dd62..750b9d4d1d8 100644
--- a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.utils/src/org/eclipse/papyrus/uml/tools/utils/CollaborationUseUtil.java
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.utils/src/org/eclipse/papyrus/uml/tools/utils/CollaborationUseUtil.java
@@ -63,17 +63,17 @@ public class CollaborationUseUtil {
// visibility
buffer.append(" ");
- if(maskValues.contains(ICustomAppearence.DISP_VISIBILITY)) {
+ if(maskValues.contains(ICustomAppearance.DISP_VISIBILITY)) {
buffer.append(NamedElementUtil.getVisibilityAsSign(collaborationUse));
}
// name
- if(maskValues.contains(ICustomAppearence.DISP_NAME)) {
+ if(maskValues.contains(ICustomAppearance.DISP_NAME)) {
buffer.append(" ");
buffer.append(collaborationUse.getName());
}
- if(maskValues.contains(ICustomAppearence.DISP_TYPE)) {
+ if(maskValues.contains(ICustomAppearance.DISP_TYPE)) {
// type
if(collaborationUse.getType() != null) {
buffer.append(": " + collaborationUse.getType().getName());
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.utils/src/org/eclipse/papyrus/uml/tools/utils/ICustomAppearence.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.utils/src/org/eclipse/papyrus/uml/tools/utils/ICustomAppearance.java
index 955348f3120..646da6f7480 100644
--- a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.utils/src/org/eclipse/papyrus/uml/tools/utils/ICustomAppearence.java
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.utils/src/org/eclipse/papyrus/uml/tools/utils/ICustomAppearance.java
@@ -20,7 +20,7 @@ import java.util.Collection;
* Interface that manages display constants for custom labels (ex: operations label in a class
* diagram).
*/
-public interface ICustomAppearence {
+public interface ICustomAppearance {
/**
* key for the appearance property of graph nodes.
@@ -69,26 +69,29 @@ public interface ICustomAppearence {
/** Style constant for carriage return in labels */
public final static String DISP_MULTI_LINE = "multiline";
+ /** Prefix used to distinguish parameter-specific values (e.g. name vs parametersName, for an Operation) */
+ public final static String PARAMETERS_PREFIX = "parameters";
+
/** Style constant for operation#parameter direction display in labels */
- public final String DISP_PARAMETER_DIRECTION = "parametersDirection";
+ public final String DISP_PARAMETER_DIRECTION = PARAMETERS_PREFIX + "Direction";
/** Style constant for direction display in labels */
public final String DISP_DIRECTION = "direction";
/** Style constant for operation#parameter name display in labels */
- public final String DISP_PARAMETER_NAME = "parametersName";
+ public final String DISP_PARAMETER_NAME = PARAMETERS_PREFIX + "Name";
/** Style constant for operation#parameter type display in labels */
- public final String DISP_PARAMETER_TYPE = "parametersType";
+ public final String DISP_PARAMETER_TYPE = PARAMETERS_PREFIX + "Type";
/** Style constant for operation#parameter multiplicity display in labels */
- public final String DISP_PARAMETER_MULTIPLICITY = "parametersMultiplicity";
+ public final String DISP_PARAMETER_MULTIPLICITY = PARAMETERS_PREFIX + "Multiplicity";
/** Style constant for operation#parameter default value display in labels */
- public final String DISP_PARAMETER_DEFAULT = "parametersDefault";
+ public final String DISP_PARAMETER_DEFAULT = PARAMETERS_PREFIX + "Default";
/** Style constant for operation#parameter modifiers display in labels */
- public final String DISP_PARAMETER_MODIFIERS = "parametersModifiers";
+ public final String DISP_PARAMETER_MODIFIERS = PARAMETERS_PREFIX + "Modifiers";
/** Style constant for return type display in labels */
public final String DISP_RT_TYPE = "returnType";
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.utils/src/org/eclipse/papyrus/uml/tools/utils/InstanceSpecificationUtil.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.utils/src/org/eclipse/papyrus/uml/tools/utils/InstanceSpecificationUtil.java
index 418f3c81e2b..5810a415b71 100644
--- a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.utils/src/org/eclipse/papyrus/uml/tools/utils/InstanceSpecificationUtil.java
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.utils/src/org/eclipse/papyrus/uml/tools/utils/InstanceSpecificationUtil.java
@@ -20,42 +20,47 @@ import org.eclipse.uml2.uml.InstanceSpecification;
/**
* util class to display name of instancespecification
- *
+ *
*/
public class InstanceSpecificationUtil {
/**
* return the custom label of the operation, given UML2 specification and a custom style.
- *
+ *
* @param style
* the integer representing the style of the label
- *
+ *
* @return the string corresponding to the label of the operation
*/
public static String getCustomLabel(InstanceSpecification instance, Collection<String> maskValues) {
StringBuffer buffer = new StringBuffer();
- buffer.append(" "); // adds " " first for correct display considerations
// name
- if(maskValues.contains(ICustomAppearence.DISP_NAME)) {
+ if(maskValues.contains(ICustomAppearance.DISP_NAME)) {
buffer.append(NamedElementUtil.getName(instance));
}
// classifier
- if(maskValues.contains(ICustomAppearence.DISP_TYPE)) {
+ if(maskValues.contains(ICustomAppearance.DISP_TYPE)) {
if(!getTypesAsString(instance).equals("")) {
buffer.append(": ");
buffer.append(getTypesAsString(instance));
}
}
+ //Workaround: empty label leads to invalid layout.
+ //FIXME: Fix the layout instead
+ if(buffer.length() == 0) {
+ buffer.append(" "); //Add a whitespace to avoid layout issues
+ }
+ //
return buffer.toString();
}
/**
* Returns the list of classifier for an instance specification as a string
- *
+ *
* @return a string containing all classifier separated by commas
*/
private static String getTypesAsString(InstanceSpecification instance) {
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.utils/src/org/eclipse/papyrus/uml/tools/utils/OperationUtil.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.utils/src/org/eclipse/papyrus/uml/tools/utils/OperationUtil.java
index d7b59c2a9dc..93489391c17 100644
--- a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.utils/src/org/eclipse/papyrus/uml/tools/utils/OperationUtil.java
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.utils/src/org/eclipse/papyrus/uml/tools/utils/OperationUtil.java
@@ -14,8 +14,11 @@
package org.eclipse.papyrus.uml.tools.utils;
import java.util.Collection;
+import java.util.HashSet;
import java.util.Iterator;
+import java.util.Set;
+import org.eclipse.papyrus.infra.tools.util.StringHelper;
import org.eclipse.uml2.uml.Constraint;
import org.eclipse.uml2.uml.Operation;
import org.eclipse.uml2.uml.Parameter;
@@ -39,12 +42,12 @@ public class OperationUtil {
buffer.append(" "); // adds " " first for correct display considerations
// visibility
- if(maskValues.contains(ICustomAppearence.DISP_VISIBILITY)) {
+ if(maskValues.contains(ICustomAppearance.DISP_VISIBILITY)) {
buffer.append(NamedElementUtil.getVisibilityAsSign(operation));
}
// name
- if(maskValues.contains(ICustomAppearence.DISP_NAME)) {
+ if(maskValues.contains(ICustomAppearance.DISP_NAME)) {
buffer.append(" ");
buffer.append(operation.getName());
}
@@ -56,12 +59,12 @@ public class OperationUtil {
buffer.append(")");
// return type
- if(maskValues.contains(ICustomAppearence.DISP_RT_TYPE)) {
+ if(maskValues.contains(ICustomAppearance.DISP_RT_TYPE) || maskValues.contains(ICustomAppearance.DISP_TYPE)) {
buffer.append(OperationUtil.getReturnTypeAsString(operation, maskValues));
}
// modifiers
- if(maskValues.contains(ICustomAppearence.DISP_MODIFIERS)) {
+ if(maskValues.contains(ICustomAppearance.DISP_MODIFIERS)) {
String modifiers = OperationUtil.getModifiersAsString(operation);
if(!modifiers.equals("")) {
buffer.append("{");
@@ -80,8 +83,8 @@ public class OperationUtil {
* @return a string containing the return parameter type
*/
private static String getReturnTypeAsString(Operation operation, Collection<String> maskValues) {
- boolean displayType = maskValues.contains(ICustomAppearence.DISP_RT_TYPE);
- boolean displayMultiplicity = maskValues.contains(ICustomAppearence.DISP_RT_MULTIPLICITY);
+ boolean displayType = maskValues.contains(ICustomAppearance.DISP_RT_TYPE) || maskValues.contains(ICustomAppearance.DISP_TYPE);
+ boolean displayMultiplicity = maskValues.contains(ICustomAppearance.DISP_RT_MULTIPLICITY) || maskValues.contains(ICustomAppearance.DISP_MULTIPLICITY);
StringBuffer label = new StringBuffer("");
// Retrieve the return parameter (assume to be unique if defined)
@@ -120,10 +123,8 @@ public class OperationUtil {
// Do not include return parameters
if(!parameter.getDirection().equals(ParameterDirectionKind.RETURN_LITERAL)) {
-
-
// get the label for this parameter
- String parameterString = ParameterUtil.getCustomLabel(parameter, maskValues);
+ String parameterString = ParameterUtil.getCustomLabel(parameter, extractParameterMaskValues(maskValues));
if(!parameterString.trim().equals("")) {
if(!firstParameter) {
paramString.append(", ");
@@ -136,6 +137,19 @@ public class OperationUtil {
return paramString.toString();
}
+ private static Collection<String> extractParameterMaskValues(Collection<String> operationMaskValues) {
+ Set<String> result = new HashSet<String>();
+
+ for(String maskValue : operationMaskValues) {
+ if(maskValue.startsWith(ICustomAppearance.PARAMETERS_PREFIX)) {
+ String newValue = StringHelper.firstToLower(maskValue.replace(ICustomAppearance.PARAMETERS_PREFIX, ""));
+ result.add(newValue);
+ }
+ }
+
+ return result;
+ }
+
/**
* Returns operation modifiers as string, separated with comma.
*
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.utils/src/org/eclipse/papyrus/uml/tools/utils/ParameterUtil.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.utils/src/org/eclipse/papyrus/uml/tools/utils/ParameterUtil.java
index 6ec5265eb8d..06dd12c5e7e 100644
--- a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.utils/src/org/eclipse/papyrus/uml/tools/utils/ParameterUtil.java
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.utils/src/org/eclipse/papyrus/uml/tools/utils/ParameterUtil.java
@@ -139,23 +139,23 @@ public class ParameterUtil {
StringBuffer buffer = new StringBuffer();
// visibility
buffer.append(" ");
- if(maskValues.contains(ICustomAppearence.DISP_VISIBILITY)) {
+ if(maskValues.contains(ICustomAppearance.DISP_VISIBILITY)) {
buffer.append(NamedElementUtil.getVisibilityAsSign(parameter));
}
// direction property
- if(maskValues.contains(ICustomAppearence.DISP_PARAMETER_DIRECTION) || maskValues.contains(ICustomAppearence.DISP_DIRECTION)) {
+ if(maskValues.contains(ICustomAppearance.DISP_PARAMETER_DIRECTION) || maskValues.contains(ICustomAppearance.DISP_DIRECTION)) {
buffer.append(" ");
buffer.append(parameter.getDirection().getLiteral());
}
// name
- if(maskValues.contains(ICustomAppearence.DISP_PARAMETER_NAME) || maskValues.contains(ICustomAppearence.DISP_NAME)) {
+ if(maskValues.contains(ICustomAppearance.DISP_PARAMETER_NAME) || maskValues.contains(ICustomAppearance.DISP_NAME)) {
buffer.append(" ");
buffer.append(parameter.getName());
}
- if(maskValues.contains(ICustomAppearence.DISP_PARAMETER_TYPE) || maskValues.contains(ICustomAppearence.DISP_TYPE)) {
+ if(maskValues.contains(ICustomAppearance.DISP_PARAMETER_TYPE) || maskValues.contains(ICustomAppearance.DISP_TYPE)) {
// type
if(parameter.getType() != null) {
buffer.append(": " + parameter.getType().getName());
@@ -164,13 +164,13 @@ public class ParameterUtil {
}
}
- if(maskValues.contains(ICustomAppearence.DISP_PARAMETER_MULTIPLICITY) || maskValues.contains(ICustomAppearence.DISP_MULTIPLICITY)) {
+ if(maskValues.contains(ICustomAppearance.DISP_PARAMETER_MULTIPLICITY) || maskValues.contains(ICustomAppearance.DISP_MULTIPLICITY)) {
// multiplicity -> do not display [1]
String multiplicity = MultiplicityElementUtil.getMultiplicityAsString(parameter);
buffer.append(multiplicity);
}
- if(maskValues.contains(ICustomAppearence.DISP_PARAMETER_DEFAULT) || maskValues.contains(ICustomAppearence.DISP_DEFAULT_VALUE)) {
+ if(maskValues.contains(ICustomAppearance.DISP_PARAMETER_DEFAULT) || maskValues.contains(ICustomAppearance.DISP_DEFAULT_VALUE)) {
// default value
if(parameter.getDefault() != null) {
buffer.append(" = ");
@@ -178,8 +178,8 @@ public class ParameterUtil {
}
}
- if(maskValues.contains(ICustomAppearence.DISP_MODIFIERS)) {
- boolean multiLine = (maskValues.contains(ICustomAppearence.DISP_MULTI_LINE));
+ if(maskValues.contains(ICustomAppearance.DISP_MODIFIERS)) {
+ boolean multiLine = (maskValues.contains(ICustomAppearance.DISP_MULTI_LINE));
// property modifiers
String modifiers = ParameterUtil.getModifiersAsString(parameter, multiLine);
if(!modifiers.equals("")) {
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.utils/src/org/eclipse/papyrus/uml/tools/utils/PortUtil.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.utils/src/org/eclipse/papyrus/uml/tools/utils/PortUtil.java
index 2bfb067f5c0..4a33954f162 100644
--- a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.utils/src/org/eclipse/papyrus/uml/tools/utils/PortUtil.java
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.utils/src/org/eclipse/papyrus/uml/tools/utils/PortUtil.java
@@ -34,24 +34,24 @@ public class PortUtil extends PropertyUtil {
// visibility
buffer.append(" ");
- if(maskValues.contains(ICustomAppearence.DISP_VISIBILITY)) {
+ if(maskValues.contains(ICustomAppearance.DISP_VISIBILITY)) {
buffer.append(NamedElementUtil.getVisibilityAsSign(property));
}
// derived property
- if(maskValues.contains(ICustomAppearence.DISP_DERIVE)) {
+ if(maskValues.contains(ICustomAppearance.DISP_DERIVE)) {
if(property.isDerived()) {
buffer.append("/");
}
}
// name
- if(maskValues.contains(ICustomAppearence.DISP_NAME)) {
+ if(maskValues.contains(ICustomAppearance.DISP_NAME)) {
buffer.append(" ");
buffer.append(property.getName());
}
- if(maskValues.contains(ICustomAppearence.DISP_TYPE)) {
- if(maskValues.contains(ICustomAppearence.DISP_CONJUGATED)) {
+ if(maskValues.contains(ICustomAppearance.DISP_TYPE)) {
+ if(maskValues.contains(ICustomAppearance.DISP_CONJUGATED)) {
if(((Port)property).isConjugated()) {
buffer.append(": ~");
} else {
@@ -68,13 +68,13 @@ public class PortUtil extends PropertyUtil {
}
}
- if(maskValues.contains(ICustomAppearence.DISP_MULTIPLICITY)) {
+ if(maskValues.contains(ICustomAppearance.DISP_MULTIPLICITY)) {
// multiplicity -> do not display [1]
String multiplicity = MultiplicityElementUtil.getMultiplicityAsString(property);
buffer.append(multiplicity);
}
- if(maskValues.contains(ICustomAppearence.DISP_DEFAULT_VALUE)) {
+ if(maskValues.contains(ICustomAppearance.DISP_DEFAULT_VALUE)) {
// default value
if(property.getDefault() != null) {
buffer.append(" = ");
@@ -82,8 +82,8 @@ public class PortUtil extends PropertyUtil {
}
}
- if(maskValues.contains(ICustomAppearence.DISP_MODIFIERS)) {
- boolean multiLine = maskValues.contains(ICustomAppearence.DISP_MULTI_LINE);
+ if(maskValues.contains(ICustomAppearance.DISP_MODIFIERS)) {
+ boolean multiLine = maskValues.contains(ICustomAppearance.DISP_MULTI_LINE);
// property modifiers
String modifiers = PropertyUtil.getModifiersAsString(property, multiLine);
if(!modifiers.equals("")) {
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.utils/src/org/eclipse/papyrus/uml/tools/utils/PropertyUtil.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.utils/src/org/eclipse/papyrus/uml/tools/utils/PropertyUtil.java
index 33a2169ca22..4c7b24a93b8 100644
--- a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.utils/src/org/eclipse/papyrus/uml/tools/utils/PropertyUtil.java
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.utils/src/org/eclipse/papyrus/uml/tools/utils/PropertyUtil.java
@@ -221,23 +221,23 @@ public class PropertyUtil {
// visibility
buffer.append(" ");
- if(style.contains(ICustomAppearence.DISP_VISIBILITY)) {
+ if(style.contains(ICustomAppearance.DISP_VISIBILITY)) {
buffer.append(NamedElementUtil.getVisibilityAsSign(property));
}
// derived property
- if(style.contains(ICustomAppearence.DISP_DERIVE)) {
+ if(style.contains(ICustomAppearance.DISP_DERIVE)) {
if(property.isDerived()) {
buffer.append("/");
}
}
// name
- if(style.contains(ICustomAppearence.DISP_NAME)) {
+ if(style.contains(ICustomAppearance.DISP_NAME)) {
buffer.append(" ");
buffer.append(property.getName());
}
- if(style.contains(ICustomAppearence.DISP_TYPE)) {
+ if(style.contains(ICustomAppearance.DISP_TYPE)) {
// type
if(property.getType() != null) {
buffer.append(": " + property.getType().getName());
@@ -246,13 +246,13 @@ public class PropertyUtil {
}
}
- if(style.contains(ICustomAppearence.DISP_MULTIPLICITY)) {
+ if(style.contains(ICustomAppearance.DISP_MULTIPLICITY)) {
// multiplicity -> do not display [1]
String multiplicity = MultiplicityElementUtil.getMultiplicityAsString(property);
buffer.append(multiplicity);
}
- if(style.contains(ICustomAppearence.DISP_DEFAULT_VALUE)) {
+ if(style.contains(ICustomAppearance.DISP_DEFAULT_VALUE)) {
// default value
if(property.getDefault() != null) {
buffer.append(" = ");
@@ -260,8 +260,8 @@ public class PropertyUtil {
}
}
- if(style.contains(ICustomAppearence.DISP_MODIFIERS)) {
- boolean multiLine = style.contains(ICustomAppearence.DISP_MULTI_LINE);
+ if(style.contains(ICustomAppearance.DISP_MODIFIERS)) {
+ boolean multiLine = style.contains(ICustomAppearance.DISP_MULTI_LINE);
// property modifiers
String modifiers = PropertyUtil.getModifiersAsString(property, multiLine);
if(!modifiers.equals("")) {
diff --git a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.utils/src/org/eclipse/papyrus/uml/tools/utils/SignalUtil.java b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.utils/src/org/eclipse/papyrus/uml/tools/utils/SignalUtil.java
index 0abc0be2ba0..4e56e37e5d6 100644
--- a/plugins/uml/tools/org.eclipse.papyrus.uml.tools.utils/src/org/eclipse/papyrus/uml/tools/utils/SignalUtil.java
+++ b/plugins/uml/tools/org.eclipse.papyrus.uml.tools.utils/src/org/eclipse/papyrus/uml/tools/utils/SignalUtil.java
@@ -36,12 +36,12 @@ public class SignalUtil {
buffer.append(" "); // adds " " first for correct display considerations
// visibility
- if(maskValues.contains(ICustomAppearence.DISP_VISIBILITY)) {
+ if(maskValues.contains(ICustomAppearance.DISP_VISIBILITY)) {
buffer.append(NamedElementUtil.getVisibilityAsSign(signal));
}
// name
- if(maskValues.contains(ICustomAppearence.DISP_NAME)) {
+ if(maskValues.contains(ICustomAppearance.DISP_NAME)) {
buffer.append(" ");
buffer.append(signal.getName());
}

Back to the top