Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThanh Liem PHAN2016-12-06 14:24:14 +0000
committervincent lorenzo2016-12-09 20:01:51 +0000
commit541e9352407e8de79a46b491c726c0b7c658779f (patch)
treebc593a2dc7f43676b12bdf47364d511d9ad60f3f /plugins/customization
parent42d829855ddfe45d7550d8b739c8a5ac2f1cc289 (diff)
downloadorg.eclipse.papyrus-541e9352407e8de79a46b491c726c0b7c658779f.tar.gz
org.eclipse.papyrus-541e9352407e8de79a46b491c726c0b7c658779f.tar.xz
org.eclipse.papyrus-541e9352407e8de79a46b491c726c0b7c658779f.zip
Bug 502824: [Table][Configuration Wizard] bad serialization for id of
Axis Manager https://bugs.eclipse.org/bugs/show_bug.cgi?id=502824 - Correct the map between axis manager ids and their names - Do not add an axis manager id if it has already been in the list of required axis manager Change-Id: I1edf66607c586ee7ae26d93ab430f19932f19839 Signed-off-by: Thanh Liem PHAN <thanhliem.phan@all4tec.net>
Diffstat (limited to 'plugins/customization')
-rw-r--r--plugins/customization/org.eclipse.papyrus.customization.nattableconfiguration/src/org/eclipse/papyrus/customization/nattableconfiguration/pages/AbstractAxisConfigurationWizardPage.java33
-rw-r--r--plugins/customization/org.eclipse.papyrus.customization.nattableconfiguration/src/org/eclipse/papyrus/customization/nattableconfiguration/pages/ColumnConfigurationWizardPage.java13
-rw-r--r--plugins/customization/org.eclipse.papyrus.customization.nattableconfiguration/src/org/eclipse/papyrus/customization/nattableconfiguration/pages/RowConfigurationWizardPage.java19
-rw-r--r--plugins/customization/org.eclipse.papyrus.customization.nattableconfiguration/src/org/eclipse/papyrus/customization/nattableconfiguration/utils/NameSimplifier.java18
4 files changed, 49 insertions, 34 deletions
diff --git a/plugins/customization/org.eclipse.papyrus.customization.nattableconfiguration/src/org/eclipse/papyrus/customization/nattableconfiguration/pages/AbstractAxisConfigurationWizardPage.java b/plugins/customization/org.eclipse.papyrus.customization.nattableconfiguration/src/org/eclipse/papyrus/customization/nattableconfiguration/pages/AbstractAxisConfigurationWizardPage.java
index 2c8c349bca2..d51d78f31ed 100644
--- a/plugins/customization/org.eclipse.papyrus.customization.nattableconfiguration/src/org/eclipse/papyrus/customization/nattableconfiguration/pages/AbstractAxisConfigurationWizardPage.java
+++ b/plugins/customization/org.eclipse.papyrus.customization.nattableconfiguration/src/org/eclipse/papyrus/customization/nattableconfiguration/pages/AbstractAxisConfigurationWizardPage.java
@@ -309,7 +309,9 @@ public abstract class AbstractAxisConfigurationWizardPage extends AbstractTableC
// Define the titles and bounds of each columns
final int[] bounds = { 200, 125, 125, 125, 125, 125, 125 };
- final String[] titles = { Messages.AbstractAxisConfigurationWizardPage_labelProviderConfigurationColumnLabel, Messages.AbstractAxisConfigurationWizardPage_displayIconColumnLabel, Messages.AbstractAxisConfigurationWizardPage_displayLabelColumnLabel, Messages.AbstractAxisConfigurationWizardPage_displayNameColumnLabel, Messages.AbstractAxisConfigurationWizardPage_displayTypeColumnLabel, Messages.AbstractAxisConfigurationWizardPage_displayMultiplicityColumnLabel, Messages.AbstractAxisConfigurationWizardPage_displayIsDerivedColumnLabel };
+ final String[] titles = { Messages.AbstractAxisConfigurationWizardPage_labelProviderConfigurationColumnLabel, Messages.AbstractAxisConfigurationWizardPage_displayIconColumnLabel, Messages.AbstractAxisConfigurationWizardPage_displayLabelColumnLabel,
+ Messages.AbstractAxisConfigurationWizardPage_displayNameColumnLabel, Messages.AbstractAxisConfigurationWizardPage_displayTypeColumnLabel, Messages.AbstractAxisConfigurationWizardPage_displayMultiplicityColumnLabel,
+ Messages.AbstractAxisConfigurationWizardPage_displayIsDerivedColumnLabel };
// Create the first column for the axis manager id
final TableViewerColumn labelProviderConfigurationColumn = createTableViewerColumn(tableViewer, titles[0], bounds[0]);
@@ -698,11 +700,13 @@ public abstract class AbstractAxisConfigurationWizardPage extends AbstractTableC
/**
* Create the list of axis manager identifiers (managing the simple axis manager name and the others with the full identifier).
*
- * @param knownAxis
+ * @param requiredProposedAxisManagers
+ * The required axis managers.
+ * @param knownAxisCollection
* The axis managers registered in the plugins extension.
* @return The list of axis manager identifiers.
*/
- protected List<String> createAxisManagerIdItems(final List<String> requiredProposedAxisManagers, final Collection<String> knownAxis) {
+ protected List<String> createAxisManagerIdItems(final List<String> requiredProposedAxisManagers, final Collection<String> knownAxisCollection) {
final List<String> input = new ArrayList<String>();
// Add the simple axis manager identifier
@@ -711,9 +715,26 @@ public abstract class AbstractAxisConfigurationWizardPage extends AbstractTableC
}
// Add the axis manager identifiers from the registered axis managers
- for (final String knowAxis : knownAxis) {
- if (!input.contains(knowAxis)) {
- input.add(knowAxis);
+ for (final String knownAxis : knownAxisCollection) {
+
+ // The known axis will be added only if
+ // - the input list does not contain the known axis
+ // - and there is no added axis which contains the known axis
+ // For example if "EMF Feature (org.eclipse.papyrus.infra.emf.nattable.feature.axis.manager)" is already in the input list,
+ // "org.eclipse.papyrus.infra.emf.nattable.feature.axis.manager" will not be added
+ if (!input.contains(knownAxis)) {
+ boolean isKnownAxisAdded = false;
+
+ for (final String addedAxis : input) {
+ if (addedAxis.contains(knownAxis)) {
+ isKnownAxisAdded = true;
+ break;
+ }
+ }
+
+ if (!isKnownAxisAdded) {
+ input.add(knownAxis);
+ }
}
}
diff --git a/plugins/customization/org.eclipse.papyrus.customization.nattableconfiguration/src/org/eclipse/papyrus/customization/nattableconfiguration/pages/ColumnConfigurationWizardPage.java b/plugins/customization/org.eclipse.papyrus.customization.nattableconfiguration/src/org/eclipse/papyrus/customization/nattableconfiguration/pages/ColumnConfigurationWizardPage.java
index d4116b98556..cebd62382f5 100644
--- a/plugins/customization/org.eclipse.papyrus.customization.nattableconfiguration/src/org/eclipse/papyrus/customization/nattableconfiguration/pages/ColumnConfigurationWizardPage.java
+++ b/plugins/customization/org.eclipse.papyrus.customization.nattableconfiguration/src/org/eclipse/papyrus/customization/nattableconfiguration/pages/ColumnConfigurationWizardPage.java
@@ -127,14 +127,11 @@ public class ColumnConfigurationWizardPage extends AbstractAxisConfigurationWiza
final StringBuilder value = new StringBuilder();
if (element instanceof AxisManagerRepresentation) {
final String axisManagerId = ((AxisManagerRepresentation) element).getAxisManagerId();
- boolean existSimpleName = NameSimplifier.axisManagerNames.containsKey(axisManagerId);
- if(existSimpleName){
+ boolean axisManagerFound = NameSimplifier.axisManagerNames.containsKey(axisManagerId);
+ if (axisManagerFound) {
value.append(NameSimplifier.axisManagerNames.get(axisManagerId));
- value.append(" ("); //$NON-NLS-1$
- }
- value.append(axisManagerId);
- if(existSimpleName){
- value.append(")"); //$NON-NLS-1$
+ } else {
+ value.append(null != axisManagerId ? axisManagerId : ""); //$NON-NLS-1$
}
}
return value.toString();
@@ -150,7 +147,7 @@ public class ColumnConfigurationWizardPage extends AbstractAxisConfigurationWiza
// set the new value
if (NameSimplifier.axisManagerNames.containsValue(value)) {
for (final Entry<String, String> entry : NameSimplifier.axisManagerNames.entrySet()) {
- if (((String)value).contains(entry.getValue()) && ((String)value).contains(entry.getKey())) {
+ if (((String) value).contains(entry.getValue()) && ((String) value).contains(entry.getKey())) {
((AxisManagerRepresentation) element).setAxisManagerId(entry.getKey());
}
}
diff --git a/plugins/customization/org.eclipse.papyrus.customization.nattableconfiguration/src/org/eclipse/papyrus/customization/nattableconfiguration/pages/RowConfigurationWizardPage.java b/plugins/customization/org.eclipse.papyrus.customization.nattableconfiguration/src/org/eclipse/papyrus/customization/nattableconfiguration/pages/RowConfigurationWizardPage.java
index 9828c661c4e..feac88e3c95 100644
--- a/plugins/customization/org.eclipse.papyrus.customization.nattableconfiguration/src/org/eclipse/papyrus/customization/nattableconfiguration/pages/RowConfigurationWizardPage.java
+++ b/plugins/customization/org.eclipse.papyrus.customization.nattableconfiguration/src/org/eclipse/papyrus/customization/nattableconfiguration/pages/RowConfigurationWizardPage.java
@@ -489,14 +489,11 @@ public class RowConfigurationWizardPage extends AbstractAxisConfigurationWizardP
final StringBuilder value = new StringBuilder();
if (element instanceof AxisManagerRepresentation) {
final String axisManagerId = ((AxisManagerRepresentation) element).getAxisManagerId();
- boolean existSimpleName = NameSimplifier.axisManagerNames.containsKey(axisManagerId);
- if(existSimpleName){
+ boolean axisManagerFound = NameSimplifier.axisManagerNames.containsKey(axisManagerId);
+ if (axisManagerFound) {
value.append(NameSimplifier.axisManagerNames.get(axisManagerId));
- value.append(" ("); //$NON-NLS-1$
- }
- value.append(null != axisManagerId ? axisManagerId : ""); //$NON-NLS-1$
- if(existSimpleName){
- value.append(")"); //$NON-NLS-1$
+ } else {
+ value.append(null != axisManagerId ? axisManagerId : ""); //$NON-NLS-1$
}
}
return value.toString();
@@ -512,7 +509,7 @@ public class RowConfigurationWizardPage extends AbstractAxisConfigurationWizardP
// set the new value
if (NameSimplifier.axisManagerNames.containsValue(value)) {
for (final Entry<String, String> entry : NameSimplifier.axisManagerNames.entrySet()) {
- if (((String)value).contains(entry.getValue()) && ((String)value).contains(entry.getKey())) {
+ if (((String) value).contains(entry.getValue()) && ((String) value).contains(entry.getKey())) {
((AxisManagerRepresentation) element).setAxisManagerId(entry.getKey());
}
}
@@ -551,10 +548,10 @@ public class RowConfigurationWizardPage extends AbstractAxisConfigurationWizardP
@Override
public String getText(final Object element) {
String result = ""; //$NON-NLS-1$
- if(element instanceof AxisManagerRepresentation){
- if(NameSimplifier.labelProviderContextNames.containsKey(((AxisManagerRepresentation) element).getLabelProviderContext())){
+ if (element instanceof AxisManagerRepresentation) {
+ if (NameSimplifier.labelProviderContextNames.containsKey(((AxisManagerRepresentation) element).getLabelProviderContext())) {
result = NameSimplifier.labelProviderContextNames.get(((AxisManagerRepresentation) element).getLabelProviderContext());
- }else{
+ } else {
result = ((AxisManagerRepresentation) element).getLabelProviderContext();
}
}
diff --git a/plugins/customization/org.eclipse.papyrus.customization.nattableconfiguration/src/org/eclipse/papyrus/customization/nattableconfiguration/utils/NameSimplifier.java b/plugins/customization/org.eclipse.papyrus.customization.nattableconfiguration/src/org/eclipse/papyrus/customization/nattableconfiguration/utils/NameSimplifier.java
index 27f2590b45c..9ea3e49424e 100644
--- a/plugins/customization/org.eclipse.papyrus.customization.nattableconfiguration/src/org/eclipse/papyrus/customization/nattableconfiguration/utils/NameSimplifier.java
+++ b/plugins/customization/org.eclipse.papyrus.customization.nattableconfiguration/src/org/eclipse/papyrus/customization/nattableconfiguration/utils/NameSimplifier.java
@@ -26,7 +26,7 @@ import org.eclipse.papyrus.infra.nattable.model.nattable.nattablelabelprovider.i
public class NameSimplifier {
/**
- * To simplify the user choice, some axis managers identifier must be converted to simple name.
+ * Map the axis manager id (as key) to its name (as value).
*/
public static final Map<String, String> axisManagerNames = new HashMap<String, String>();
@@ -55,14 +55,14 @@ public class NameSimplifier {
* Initialize the previous map.
*/
static {
- axisManagerNames.put("org.eclipse.papyrus.infra.emf.nattable.feature.axis.manager", "EMF Feature"); //$NON-NLS-1$ //$NON-NLS-2$
- axisManagerNames.put("org.eclipse.papyrus.infra.emf.nattable.operation.axis.manager", "EMF Operation"); //$NON-NLS-1$ //$NON-NLS-2$
- axisManagerNames.put("org.eclipse.papyrus.uml.nattable.element.axis.manager", "UML Element"); //$NON-NLS-1$ //$NON-NLS-2$
- axisManagerNames.put("org.eclipse.papyrus.uml.nattable.feature.axis.manager", "UML Feature"); //$NON-NLS-1$ //$NON-NLS-2$
- axisManagerNames.put("org.eclipse.papyrus.uml.nattable.operation.axis.manager", "UML Operation"); //$NON-NLS-1$ //$NON-NLS-2$
- axisManagerNames.put("org.eclipse.papyrus.infra.uml.nattable.class.tree.axis.manager", "UML Tree Axis"); //$NON-NLS-1$ //$NON-NLS-2$
- axisManagerNames.put("org.eclipse.papyrus.sysml.nattable.requirement.axis.manager", "SysML Requirement"); //$NON-NLS-1$ //$NON-NLS-2$
- axisManagerNames.put("org.eclipse.papyrus.sysml.nattable.allocate.axis.manager", "SysML Allocation"); //$NON-NLS-1$ //$NON-NLS-2$
+ axisManagerNames.put("org.eclipse.papyrus.infra.emf.nattable.feature.axis.manager", "EMF Feature (org.eclipse.papyrus.infra.emf.nattable.feature.axis.manager)"); //$NON-NLS-1$ //$NON-NLS-2$
+ axisManagerNames.put("org.eclipse.papyrus.infra.emf.nattable.operation.axis.manager", "EMF Operation (org.eclipse.papyrus.infra.emf.nattable.operation.axis.manager)"); //$NON-NLS-1$ //$NON-NLS-2$
+ axisManagerNames.put("org.eclipse.papyrus.uml.nattable.element.axis.manager", "UML Element (org.eclipse.papyrus.uml.nattable.element.axis.manager)"); //$NON-NLS-1$ //$NON-NLS-2$
+ axisManagerNames.put("org.eclipse.papyrus.uml.nattable.feature.axis.manager", "UML Feature (org.eclipse.papyrus.uml.nattable.feature.axis.manager)"); //$NON-NLS-1$ //$NON-NLS-2$
+ axisManagerNames.put("org.eclipse.papyrus.uml.nattable.operation.axis.manager", "UML Operation (org.eclipse.papyrus.uml.nattable.operation.axis.manager)"); //$NON-NLS-1$ //$NON-NLS-2$
+ axisManagerNames.put("org.eclipse.papyrus.infra.uml.nattable.class.tree.axis.manager", "UML Tree Axis (org.eclipse.papyrus.infra.uml.nattable.class.tree.axis.manager)"); //$NON-NLS-1$ //$NON-NLS-2$
+ axisManagerNames.put("org.eclipse.papyrus.sysml.nattable.requirement.axis.manager", "SysML Requirement (org.eclipse.papyrus.sysml.nattable.requirement.axis.manager)"); //$NON-NLS-1$ //$NON-NLS-2$
+ axisManagerNames.put("org.eclipse.papyrus.sysml.nattable.allocate.axis.manager", "SysML Allocation (org.eclipse.papyrus.sysml.nattable.allocate.axis.manager)"); //$NON-NLS-1$ //$NON-NLS-2$
labelProviderConfigurationByAxisManager.put("org.eclipse.papyrus.infra.emf.nattable.feature.axis.manager", FeatureLabelProviderConfigurationImpl.class.getSimpleName()); //$NON-NLS-1$
labelProviderConfigurationByAxisManager.put("org.eclipse.papyrus.infra.emf.nattable.operation.axis.manager", OperationLabelProviderConfigurationImpl.class.getSimpleName()); //$NON-NLS-1$

Back to the top