Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGéry Deloge2016-08-05 07:50:08 +0000
committerGéry Deloge2016-08-05 07:50:08 +0000
commitcbd2e8fc303f663f5de2388791ee3166eb20ea3b (patch)
tree7746d7eacf3d0b0e0d9d6c8363b7f864ccbc4e48 /plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/custom-src/org/eclipse/papyrus
parent493fe8d06924ce5667ad5ed566ff83910a1c4c46 (diff)
downloadorg.eclipse.papyrus-cbd2e8fc303f663f5de2388791ee3166eb20ea3b.tar.gz
org.eclipse.papyrus-cbd2e8fc303f663f5de2388791ee3166eb20ea3b.tar.xz
org.eclipse.papyrus-cbd2e8fc303f663f5de2388791ee3166eb20ea3b.zip
Bug 497678: [SysML][Requirements] NPE while opening requirements diagram
change unknown visualID value from null to "" (empty String) impact on all diagrams Change-Id: Ib24d6d1bc5b64ba5338645b3d8abdaa74db528c3 Signed-off-by: Géry Deloge <gery.deloge@cea.fr>
Diffstat (limited to 'plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/custom-src/org/eclipse/papyrus')
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/custom-src/org/eclipse/papyrus/uml/diagram/clazz/custom/edit/commands/InitializeDiagramCommand.java2
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/custom-src/org/eclipse/papyrus/uml/diagram/clazz/custom/edit/commands/RestoreRelatedLinksCommand.java2
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/custom-src/org/eclipse/papyrus/uml/diagram/clazz/custom/edit/part/CustomUMLDiagramUpdater.java4
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/custom-src/org/eclipse/papyrus/uml/diagram/clazz/custom/factory/CustomUMLEditPartFactory.java70
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/custom-src/org/eclipse/papyrus/uml/diagram/clazz/custom/helper/ContainmentHelper.java2
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/custom-src/org/eclipse/papyrus/uml/diagram/clazz/custom/policies/NestedClazzCompartmentCreationEditPolicy.java4
6 files changed, 44 insertions, 40 deletions
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/custom-src/org/eclipse/papyrus/uml/diagram/clazz/custom/edit/commands/InitializeDiagramCommand.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/custom-src/org/eclipse/papyrus/uml/diagram/clazz/custom/edit/commands/InitializeDiagramCommand.java
index 287011b0a72..95e504bab23 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/custom-src/org/eclipse/papyrus/uml/diagram/clazz/custom/edit/commands/InitializeDiagramCommand.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/custom-src/org/eclipse/papyrus/uml/diagram/clazz/custom/edit/commands/InitializeDiagramCommand.java
@@ -225,7 +225,7 @@ public class InitializeDiagramCommand extends AbstractTransactionalCommand {
PackageableElement element = it.next();
if (!(element instanceof AssociationClass)) {
String visualID = UMLVisualIDRegistry.getNodeVisualID(viewObject, element);
- if (visualID != null) {
+ if (visualID != null && !visualID.isEmpty()) {
ViewDescriptor descriptor = getViewDescriptor(element);
descriptors.add(descriptor);
}
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/custom-src/org/eclipse/papyrus/uml/diagram/clazz/custom/edit/commands/RestoreRelatedLinksCommand.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/custom-src/org/eclipse/papyrus/uml/diagram/clazz/custom/edit/commands/RestoreRelatedLinksCommand.java
index d6cf99418dd..fd1f5871df2 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/custom-src/org/eclipse/papyrus/uml/diagram/clazz/custom/edit/commands/RestoreRelatedLinksCommand.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/custom-src/org/eclipse/papyrus/uml/diagram/clazz/custom/edit/commands/RestoreRelatedLinksCommand.java
@@ -223,7 +223,7 @@ public class RestoreRelatedLinksCommand extends AbstractTransactionalCommand {
for (Iterator<Edge> linksIterator = existingLinks.iterator(); linksIterator.hasNext();) {
Edge nextDiagramLink = linksIterator.next();
String diagramLinkVisualID = UMLVisualIDRegistry.getVisualID(nextDiagramLink);
- if (diagramLinkVisualID == null) {
+ if (diagramLinkVisualID == null || diagramLinkVisualID.isEmpty() ) {
if (nextDiagramLink.getSource() != null && nextDiagramLink.getTarget() != null) {
linksIterator.remove();
}
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/custom-src/org/eclipse/papyrus/uml/diagram/clazz/custom/edit/part/CustomUMLDiagramUpdater.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/custom-src/org/eclipse/papyrus/uml/diagram/clazz/custom/edit/part/CustomUMLDiagramUpdater.java
index 4b69127d96e..308d1013377 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/custom-src/org/eclipse/papyrus/uml/diagram/clazz/custom/edit/part/CustomUMLDiagramUpdater.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/custom-src/org/eclipse/papyrus/uml/diagram/clazz/custom/edit/part/CustomUMLDiagramUpdater.java
@@ -49,7 +49,7 @@ public class CustomUMLDiagramUpdater extends UMLDiagramUpdater {
continue;
}
Association link = (Association) linkObject;
- if (AssociationEditPart.VISUAL_ID != UMLVisualIDRegistry.getLinkWithClassVisualID(link)) {
+ if (!AssociationEditPart.VISUAL_ID.equals(UMLVisualIDRegistry.getLinkWithClassVisualID(link))) {
continue;
}
List<?> targets = link.getEndTypes();
@@ -118,7 +118,7 @@ public class CustomUMLDiagramUpdater extends UMLDiagramUpdater {
continue;
}
Association link = (Association) linkObject;
- if (AssociationEditPart.VISUAL_ID != UMLVisualIDRegistry.getLinkWithClassVisualID(link)) {
+ if (!AssociationEditPart.VISUAL_ID.equals(UMLVisualIDRegistry.getLinkWithClassVisualID(link))) {
continue;
}
List<?> ends = link.getEndTypes();
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/custom-src/org/eclipse/papyrus/uml/diagram/clazz/custom/factory/CustomUMLEditPartFactory.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/custom-src/org/eclipse/papyrus/uml/diagram/clazz/custom/factory/CustomUMLEditPartFactory.java
index bbdd9c10eec..1f9a0b101fb 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/custom-src/org/eclipse/papyrus/uml/diagram/clazz/custom/factory/CustomUMLEditPartFactory.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/custom-src/org/eclipse/papyrus/uml/diagram/clazz/custom/factory/CustomUMLEditPartFactory.java
@@ -59,39 +59,43 @@ public class CustomUMLEditPartFactory extends UMLEditPartFactory {
public EditPart createEditPart(EditPart context, Object model) {
if (model instanceof View) {
View view = (View) model;
- switch (UMLVisualIDRegistry.getVisualID(view)) {
- case DurationObservationEditPart.VISUAL_ID:
- return new CustomDurationObservationEditPart(view);
- case TimeObservationEditPart.VISUAL_ID:
- return new CustomTimeObservationEditPart(view);
- case DurationObservationFloatingNameEditPart.VISUAL_ID:
- return new CustomDurationObservationFloatingNameEditPart(view);
- case TimeObservationFloatingNameEditPart.VISUAL_ID:
- return new CustomTimeObservationFloatingNameEditPart(view);
- case ModelEditPartTN.VISUAL_ID:
- return new CModelEditPart(view);
- case ModelEditPartCN.VISUAL_ID:
- return new CModelEditPartCN(view);
- case AssociationSourceNameEditPart.VISUAL_ID:
- return new AssociationEndSourceEditPart(view);
- case AssociationTargetNameEditPart.VISUAL_ID:
- return new AssociationEndTargetEditPart(view);
- case AssociationClassRoleSourceEditPart.VISUAL_ID:
- return new CAssociationClassEndSourceEditPart(view);
- case AssociationClassRoleTargetEditPart.VISUAL_ID:
- return new CAssociationClassEndTargetEditPart(view);
- case DependencyBranchEditPart.VISUAL_ID:
- return new CDependencyBranchEditPart(view);
- case ConstraintEditPart.VISUAL_ID:
- return new CustomConstraintEditPart(view);
- case SourceISLinkLabelEditPart.VISUAL_ID:
- return new CSourceISLinkLabelEditPart(view);
- case TargetISLinkLabelEditPart.VISUAL_ID:
- return new CTargetISLinkLabelEditPart(view);
- case DurationObservationStereotypeLabelEditPart.VISUAL_ID:
- return new CustomDurationObservationStereotypeLabelEditPart(view);
- case TimeObservationStereotypeLabelEditPart.VISUAL_ID:
- return new CustomTimeObservationStereotypeLabelEditPart(view);
+ String visualID = UMLVisualIDRegistry.getVisualID(view);
+
+ if (visualID != null) {
+ switch (visualID) {
+ case DurationObservationEditPart.VISUAL_ID:
+ return new CustomDurationObservationEditPart(view);
+ case TimeObservationEditPart.VISUAL_ID:
+ return new CustomTimeObservationEditPart(view);
+ case DurationObservationFloatingNameEditPart.VISUAL_ID:
+ return new CustomDurationObservationFloatingNameEditPart(view);
+ case TimeObservationFloatingNameEditPart.VISUAL_ID:
+ return new CustomTimeObservationFloatingNameEditPart(view);
+ case ModelEditPartTN.VISUAL_ID:
+ return new CModelEditPart(view);
+ case ModelEditPartCN.VISUAL_ID:
+ return new CModelEditPartCN(view);
+ case AssociationSourceNameEditPart.VISUAL_ID:
+ return new AssociationEndSourceEditPart(view);
+ case AssociationTargetNameEditPart.VISUAL_ID:
+ return new AssociationEndTargetEditPart(view);
+ case AssociationClassRoleSourceEditPart.VISUAL_ID:
+ return new CAssociationClassEndSourceEditPart(view);
+ case AssociationClassRoleTargetEditPart.VISUAL_ID:
+ return new CAssociationClassEndTargetEditPart(view);
+ case DependencyBranchEditPart.VISUAL_ID:
+ return new CDependencyBranchEditPart(view);
+ case ConstraintEditPart.VISUAL_ID:
+ return new CustomConstraintEditPart(view);
+ case SourceISLinkLabelEditPart.VISUAL_ID:
+ return new CSourceISLinkLabelEditPart(view);
+ case TargetISLinkLabelEditPart.VISUAL_ID:
+ return new CTargetISLinkLabelEditPart(view);
+ case DurationObservationStereotypeLabelEditPart.VISUAL_ID:
+ return new CustomDurationObservationStereotypeLabelEditPart(view);
+ case TimeObservationStereotypeLabelEditPart.VISUAL_ID:
+ return new CustomTimeObservationStereotypeLabelEditPart(view);
+ }
}
}
return super.createEditPart(context, model);
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/custom-src/org/eclipse/papyrus/uml/diagram/clazz/custom/helper/ContainmentHelper.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/custom-src/org/eclipse/papyrus/uml/diagram/clazz/custom/helper/ContainmentHelper.java
index b9d1d20a7d9..36f77484a4f 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/custom-src/org/eclipse/papyrus/uml/diagram/clazz/custom/helper/ContainmentHelper.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/custom-src/org/eclipse/papyrus/uml/diagram/clazz/custom/helper/ContainmentHelper.java
@@ -305,7 +305,7 @@ public class ContainmentHelper extends ElementHelper {
* @return true, if is containment link
*/
public static boolean isContainmentLink(Edge edge) {
- return UMLVisualIDRegistry.getVisualID(edge) == ContainmentLinkEditPart.VISUAL_ID;
+ return ContainmentLinkEditPart.VISUAL_ID.equals(UMLVisualIDRegistry.getVisualID(edge));
}
/**
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/custom-src/org/eclipse/papyrus/uml/diagram/clazz/custom/policies/NestedClazzCompartmentCreationEditPolicy.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/custom-src/org/eclipse/papyrus/uml/diagram/clazz/custom/policies/NestedClazzCompartmentCreationEditPolicy.java
index 9bff2e95779..a6de4178eff 100644
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/custom-src/org/eclipse/papyrus/uml/diagram/clazz/custom/policies/NestedClazzCompartmentCreationEditPolicy.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/custom-src/org/eclipse/papyrus/uml/diagram/clazz/custom/policies/NestedClazzCompartmentCreationEditPolicy.java
@@ -80,8 +80,8 @@ public class NestedClazzCompartmentCreationEditPolicy extends DefaultCreationEdi
// drop of the object
IAdaptable elementAdapter = new EObjectAdapter(element);
String nodeVISUALID = UMLVisualIDRegistry.getNodeVisualID(((View) getHost().getModel()), element);
- // If -1 then the node can node be create
- if (nodeVISUALID == null) {
+ // If none then the node can node be create
+ if (nodeVISUALID == null || nodeVISUALID.isEmpty()) {
cc.compose(UnexecutableCommand.INSTANCE);
} else {
ViewDescriptor descriptor = new ViewDescriptor(elementAdapter, Node.class, ((IHintedType) UMLElementTypes.getElementType(nodeVISUALID)).getSemanticHint(), ViewUtil.APPEND, true, ((GraphicalEditPart) getHost()).getDiagramPreferencesHint());

Back to the top