[501508] Remove assumption about model implementation class name

GraphicalEditPart.getAccessibleEditPart() assumes all the
implementation classes of the semantic model elements end with the
"Impl" suffix. This is not necessarily true if the EMF generators have
been customized, or if sub-classes with different names are used to
isolate non-generated code (for example Sirius uses XXXSpec classes
which override the generated XXXImpl with custom code).

When called on a class which does not match this assumption,
getAccessibleEditPart() crashes with a StringIndexOutOfBoundsException
because it fails to check the result of indexOf().

This code branch is only used as a fallback when a proper label is not
available, and the EClass name is certainly not worse than a raw Java
class name.

Bug: 501508
Change-Id: Iea77f77a64561a1c9dcf7f76a2e4da2c3c58968a
Signed-off-by: Pierre-Charles David <pierre-charles.david@obeo.fr>
1 file changed
tree: fd2e8e6845ab3c7987ac55ea77b8e116836c55a0
  1. org.eclipse.gmf/
  2. org.eclipse.gmf.examples.runtime/
  3. org.eclipse.gmf.examples.runtime-feature/
  4. org.eclipse.gmf.examples.runtime.common.service/
  5. org.eclipse.gmf.examples.runtime.diagram.decorator/
  6. org.eclipse.gmf.examples.runtime.diagram.geoshapes/
  7. org.eclipse.gmf.examples.runtime.diagram.layout/
  8. org.eclipse.gmf.examples.runtime.diagram.logic/
  9. org.eclipse.gmf.examples.runtime.diagram.logic.model/
  10. org.eclipse.gmf.examples.runtime.diagram.logic.model.edit/
  11. org.eclipse.gmf.examples.runtime.diagram.logic.model.editor/
  12. org.eclipse.gmf.examples.runtime.emf.clipboard/
  13. org.eclipse.gmf.examples.runtime.ui.pde/
  14. org.eclipse.gmf.examples.runtime.ui.pde-feature/
  15. org.eclipse.gmf.runtime-feature/
  16. org.eclipse.gmf.runtime.common.core/
  17. org.eclipse.gmf.runtime.common.ui/
  18. org.eclipse.gmf.runtime.common.ui.action/
  19. org.eclipse.gmf.runtime.common.ui.action.ide/
  20. org.eclipse.gmf.runtime.common.ui.printing/
  21. org.eclipse.gmf.runtime.common.ui.printing.win32/
  22. org.eclipse.gmf.runtime.common.ui.services/
  23. org.eclipse.gmf.runtime.common.ui.services.action/
  24. org.eclipse.gmf.runtime.common.ui.services.dnd/
  25. org.eclipse.gmf.runtime.common.ui.services.dnd.ide/
  26. org.eclipse.gmf.runtime.common.ui.services.properties/
  27. org.eclipse.gmf.runtime.diagram.core/
  28. org.eclipse.gmf.runtime.diagram.ui/
  29. org.eclipse.gmf.runtime.diagram.ui.actions/
  30. org.eclipse.gmf.runtime.diagram.ui.dnd/
  31. org.eclipse.gmf.runtime.diagram.ui.geoshapes/
  32. org.eclipse.gmf.runtime.diagram.ui.printing/
  33. org.eclipse.gmf.runtime.diagram.ui.printing.render/
  34. org.eclipse.gmf.runtime.diagram.ui.properties/
  35. org.eclipse.gmf.runtime.diagram.ui.providers/
  36. org.eclipse.gmf.runtime.diagram.ui.providers.ide/
  37. org.eclipse.gmf.runtime.diagram.ui.render/
  38. org.eclipse.gmf.runtime.diagram.ui.resources.editor/
  39. org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide/
  40. org.eclipse.gmf.runtime.draw2d.ui/
  41. org.eclipse.gmf.runtime.draw2d.ui.render/
  42. org.eclipse.gmf.runtime.draw2d.ui.render.awt/
  43. org.eclipse.gmf.runtime.emf.clipboard.core/
  44. org.eclipse.gmf.runtime.emf.commands.core/
  45. org.eclipse.gmf.runtime.emf.core/
  46. org.eclipse.gmf.runtime.emf.type.core/
  47. org.eclipse.gmf.runtime.emf.type.ui/
  48. org.eclipse.gmf.runtime.emf.ui/
  49. org.eclipse.gmf.runtime.emf.ui.properties/
  50. org.eclipse.gmf.runtime.gef.ui/
  51. org.eclipse.gmf.runtime.notation.providers/
  52. org.eclipse.gmf.runtime.releng/
  53. org.eclipse.gmf.runtime.repository/
  54. org.eclipse.gmf.runtime.sdk/
  55. org.eclipse.gmf.runtime.sdk-feature/
  56. org.eclipse.gmf.runtime.target/
  57. org.eclipse.gmf.runtime.thirdparty-feature/
  58. org.eclipse.gmf.runtime.thirdparty.source-feature/
  59. org.eclipse.gmf.source-feature/
  60. org.eclipse.gmf.tests.runtime-feature/
  61. org.eclipse.gmf.tests.runtime.common.core/
  62. org.eclipse.gmf.tests.runtime.common.ui/
  63. org.eclipse.gmf.tests.runtime.common.ui.services/
  64. org.eclipse.gmf.tests.runtime.common.ui.services.action/
  65. org.eclipse.gmf.tests.runtime.common.ui.services.provider/
  66. org.eclipse.gmf.tests.runtime.diagram.ui/
  67. org.eclipse.gmf.tests.runtime.draw2d.ui/
  68. org.eclipse.gmf.tests.runtime.draw2d.ui.render/
  69. org.eclipse.gmf.tests.runtime.emf.clipboard.core/
  70. org.eclipse.gmf.tests.runtime.emf.commands.core/
  71. org.eclipse.gmf.tests.runtime.emf.core/
  72. org.eclipse.gmf.tests.runtime.emf.type.core/
  73. org.eclipse.gmf.tests.runtime.emf.type.ui/
  74. org.eclipse.gmf.tests.runtime.emf.ui/
  75. org.eclipse.gmf.tests.runtime.emf.ui.properties/
  76. org.eclipse.gmf.tests.runtime.gef.ui/
  77. build.sh
  78. test.sh