Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornhauge2011-05-07 18:41:15 +0000
committernhauge2011-05-07 18:41:15 +0000
commiteb03a7c6136cad375271add05552e0974b51e49e (patch)
tree130047006b309a6e9c4cca3885e8ac6cd73b4a85 /jpa_diagram_editor
parentb74c726f35a8e7f0a4dc84c13911c80e7327deb4 (diff)
downloadwebtools.dali-201105070000.tar.gz
webtools.dali-201105070000.tar.xz
webtools.dali-201105070000.zip
This commit was manufactured by cvs2svn to create tag 'v201105070000'.v201105070000
Diffstat (limited to 'jpa_diagram_editor')
-rw-r--r--jpa_diagram_editor/development/org.eclipse.jpt.jpadiagrameditor.releng/.project11
-rw-r--r--jpa_diagram_editor/development/org.eclipse.jpt.jpadiagrameditor.releng/pom.xml59
-rw-r--r--jpa_diagram_editor/development/org.eclipse.jpt.jpadiagrameditor.repository/.project17
-rw-r--r--jpa_diagram_editor/development/org.eclipse.jpt.jpadiagrameditor.repository/pom.xml28
-rw-r--r--jpa_diagram_editor/development/org.eclipse.jpt.jpadiagrameditor.repository/site.xml7
-rw-r--r--jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.tests.feature/.cvsignore2
-rw-r--r--jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.tests.feature/.project17
-rw-r--r--jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.tests.feature/build.properties7
-rw-r--r--jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.tests.feature/eclipse_update_120.jpgbin21695 -> 0 bytes
-rw-r--r--jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.tests.feature/feature.properties43
-rw-r--r--jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.tests.feature/feature.xml34
-rw-r--r--jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor_sdk.feature/.cvsignore2
-rw-r--r--jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor_sdk.feature/.project17
-rw-r--r--jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor_sdk.feature/build.properties5
-rw-r--r--jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor_sdk.feature/eclipse_update_120.jpgbin21695 -> 0 bytes
-rw-r--r--jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor_sdk.feature/feature.properties43
-rw-r--r--jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor_sdk.feature/feature.xml30
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/.cvsignore1
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/.project22
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/META-INF/MANIFEST.MF7
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/about.html34
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/about.ini33
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/about.mappings6
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/about.properties13
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/build.properties8
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/component.xml7
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/icons/WTP_icon_x32_v2.pngbin5616 -> 0 bytes
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/plugin.properties2
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/.classpath7
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/.cvsignore1
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/.project28
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/.settings/org.eclipse.jdt.core.prefs12
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/META-INF/MANIFEST.MF43
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/about.html47
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/build.properties18
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/component.xml1
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/CompoundKey.gifbin923 -> 0 bytes
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/EJB_15x16.gifbin140 -> 0 bytes
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/cmpEntity_obj.gifbin581 -> 0 bytes
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/add_attribute.gifbin913 -> 0 bytes
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/add_entity.gifbin1013 -> 0 bytes
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/basic.gifbin897 -> 0 bytes
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/embeddable.gifbin1003 -> 0 bytes
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/embedded-id.gifbin953 -> 0 bytes
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/embedded.gifbin905 -> 0 bytes
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/entity-mappings.gifbin974 -> 0 bytes
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/entity.gifbin1010 -> 0 bytes
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/id.gifbin938 -> 0 bytes
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/jpa-content.gifbin896 -> 0 bytes
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/jpa-file.gifbin968 -> 0 bytes
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/many-to-many-1-dir.gifbin933 -> 0 bytes
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/many-to-many-2-dir.gifbin935 -> 0 bytes
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/many-to-many.gifbin328 -> 0 bytes
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/many-to-one-1-dir.gifbin917 -> 0 bytes
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/many-to-one-2-dir.gifbin923 -> 0 bytes
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/many-to-one.gifbin307 -> 0 bytes
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/mapped-superclass.gifbin1005 -> 0 bytes
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/null-attribute-mapping.gifbin911 -> 0 bytes
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/null-type-mapping.gifbin586 -> 0 bytes
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/one-to-many-1-dir.gifbin915 -> 0 bytes
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/one-to-many.gifbin306 -> 0 bytes
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/one-to-one-1-dir.gifbin889 -> 0 bytes
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/one-to-one-2-dir.gifbin896 -> 0 bytes
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/one-to-one.gifbin283 -> 0 bytes
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/persistence-unit.gifbin931 -> 0 bytes
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/persistence.gifbin961 -> 0 bytes
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/remove_attribute.gifbin918 -> 0 bytes
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/transient.gifbin892 -> 0 bytes
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/version.gifbin321 -> 0 bytes
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/warning.gifbin338 -> 0 bytes
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/restore.gifbin224 -> 0 bytes
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/save.gifbin914 -> 0 bytes
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/save_and_remove.gifbin905 -> 0 bytes
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/plugin.properties31
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/plugin.xml149
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/pom.xml15
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/JPADiagramEditor.java314
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/JPADiagramEditorPlugin.java80
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/dialog/SelectTypeDialog.java266
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/facade/DisplayFacade.java27
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/facade/EclipseFacade.java47
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/facade/JavaCoreFacade.java29
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/facade/StaticIDE.java38
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/AddAllEntitiesFeature.java171
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/AddAttributeFeature.java117
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/AddJPAEntityFeature.java456
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/AddRelationFeature.java295
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/ClickAddAttributeButtonFeature.java98
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/ClickRemoveAttributeButtonFeature.java119
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CollapseAllEntitiesFeature.java78
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CollapseCompartmentShapeFeature.java94
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CollapseEntityFeature.java95
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateJPAEntityFeature.java228
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateJPAEntityFromMappedSuperclassFeature.java100
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateManyToManyBiDirRelationFeature.java64
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateManyToManyRelationFeature.java28
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateManyToManyUniDirRelationFeature.java56
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateManyToOneBiDirRelationFeature.java64
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateManyToOneRelationFeature.java27
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateManyToOneUniDirRelationFeature.java56
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateOneToManyRelationFeature.java27
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateOneToManyUniDirRelationFeature.java58
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateOneToOneBiDirRelationFeature.java63
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateOneToOneRelationFeature.java26
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateOneToOneUniDirRelationFeature.java58
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateRelationFeature.java93
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/DeleteJPAEntityFeature.java88
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/DeleteRelationFeature.java129
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/DirectEditAttributeFeature.java128
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/DirectEditJPAEntityFeature.java159
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/DiscardAndRemoveAllEntitiesFeature.java59
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/ExpandAllEntitiesFeature.java84
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/ExpandCompartmentShapeFeature.java114
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/ExpandEntityFeature.java102
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/GraphicalAddAttributeFeature.java143
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/GraphicalRemoveAttributeFeature.java154
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/JPAMoveConnectionDecoratorFeature.java31
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/LayoutJPAEntityFeature.java227
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/MoveAttributeFeature.java50
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/MoveEntityFeature.java39
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/MoveEntityShapeFeature.java72
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/OpenJPADetailsViewFeature.java46
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/OpenMiniatureViewFeature.java46
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RefactorAttributeTypeFeature.java95
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RefactorEntityFeature.java349
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RemoveAllEntitiesFeature.java65
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RemoveAndSaveEntityFeature.java70
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RemoveAttributeFeature.java161
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RemoveJPAEntityFeature.java131
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RemoveRelationFeature.java136
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RenameEntityFeature.java42
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RenameEntityWithoutUIFeature.java45
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/ResizeAttributeFeature.java44
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/ResizeJPAEntityFeature.java76
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RestoreEntityFeature.java70
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/SaveAndRemoveAllEntitiesFeature.java59
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/SaveEntityFeature.java45
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/UpdateAttributeFeature.java147
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/i18n/JPAEditorMessages.java239
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/i18n/messages.properties200
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/modelintegration/ui/JPADiagramEditorInput.java91
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/modelintegration/ui/JPAEditorMatchingStrategy.java134
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/modelintegration/ui/OpenJpaDiagramActionDelegate.java210
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/modelintegration/util/CreateDiagramJob.java70
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/modelintegration/util/IModelIntegrationUtil.java23
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/modelintegration/util/ModelIntegrationUtil.java228
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/modelintegration/util/ModelIntegrationUtilImpl.java26
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/preferences/JPAEditorPreferenceInitializer.java77
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/preferences/JPAEditorPreferencesPage.java313
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/propertypage/JPADiagramPropertyPage.java631
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/propertytester/JpaProjectFacetVersionPropertyTester.java38
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/AddEntityContext.java54
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/IAddEntityContext.java26
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/IJPAEditorFeatureProvider.java102
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/IJPAEditorImageCreator.java49
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/JPAEditorContextMenuProvider.java45
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/JPAEditorDiagramTypeProvider.java321
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/JPAEditorFeatureProvider.java641
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/JPAEditorImageCreator.java110
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/JPAEditorImageProvider.java95
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/JPAEditorToolBehaviorProvider.java619
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/AbstractRelation.java127
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/BidirectionalRelation.java30
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/IRelation.java57
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/ManyToManyBiDirRelation.java117
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/ManyToManyRelation.java30
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/ManyToManyUniDirRelation.java79
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/ManyToOneBiDirRelation.java106
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/ManyToOneRelation.java30
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/ManyToOneUniDirRelation.java76
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/OneToManyRelation.java30
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/OneToManyUniDirRelation.java77
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/OneToOneBiDirRelation.java103
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/OneToOneRelation.java31
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/OneToOneUniDirRelation.java75
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/UnidirectionalRelation.java26
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/EntityChangeListener.java200
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/GraphicsUpdater.java198
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/GraphicsUpdaterImpl.java26
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/IDisplayFacade.java21
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/IEclipseFacade.java29
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/IGraphicsUpdater.java24
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/IJPADiagramEditorInput.java27
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/IJPAEditorUtil.java75
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/IJavaCoreFacade.java24
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/IJpaSolver.java27
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/IPeServiceUtil.java35
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/IStaticIDE.java24
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/JPACheckSum.java121
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/JPAEditorConstants.java206
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/JPAEditorUtil.java1412
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/JPAEditorUtilImpl.java104
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/JPASolver.java1470
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/JpaArtifactFactory.java2360
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/PeServiceUtilImpl.java46
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/SizePosition.java53
-rw-r--r--jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/Wrp.java30
-rw-r--r--jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/.classpath12
-rw-r--r--jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/.cvsignore1
-rw-r--r--jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/.project28
-rw-r--r--jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/.settings/org.eclipse.jdt.core.prefs12
-rw-r--r--jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/META-INF/MANIFEST.MF38
-rw-r--r--jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/about.html34
-rw-r--r--jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/build.properties16
-rw-r--r--jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/plugin.properties14
-rw-r--r--jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/pom.xml42
-rw-r--r--jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/AllJpaEditorTests.java117
-rw-r--r--jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/JPACreateFactory.java621
-rw-r--r--jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/JPAEditorTestsActivator.java61
-rw-r--r--jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/editor/EditorTest.java171
-rw-r--r--jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/AddAttributeFeatureTest.java188
-rw-r--r--jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/AddJPAEntityFeatureTest.java277
-rw-r--r--jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/AddRelationFeatureTest.java329
-rw-r--r--jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/ClickAddFeatureTest.java119
-rw-r--r--jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/CreateDeleteOnlyAttributeTest.java229
-rw-r--r--jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/CreateRelationFeaturesTest.java572
-rw-r--r--jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/DeleteRelationFeatureTest.java76
-rw-r--r--jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/DirectEditAttributeFeatureTest.java114
-rw-r--r--jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/LayoutEntityFeatureTest.java60
-rw-r--r--jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/OpenMiniatureViewFeatureTest.java63
-rw-r--r--jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/RefactorAttributeTypeFeatureTest.java99
-rw-r--r--jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/RemoveAttributeFeatureTest.java112
-rw-r--r--jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/SaveEntityFeatureTest.java120
-rw-r--r--jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/UpdateAttributeFeatureTest.java120
-rw-r--r--jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/listener/JPAProjectListenerTest.java147
-rw-r--r--jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/modelintegration/ui/ModelIntegrationTest.java237
-rw-r--r--jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/modelintegration/util/ModelIntegrationUtilTest.java59
-rw-r--r--jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/preferences/JPAEditorPreferenceInitializerTest.java38
-rw-r--r--jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/preferences/JPAEditorPreferencesPageTest.java86
-rw-r--r--jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/provider/JPAEditorFeatureProviderTest.java169
-rw-r--r--jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/provider/JPAEditorToolBehaviorProviderTest.java252
-rw-r--r--jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/relation/CreateRelationAttributesTest.java620
-rw-r--r--jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/relation/CreateRelationsInFieldAnnotatedEntitiesTest.java508
-rw-r--r--jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/relation/CreateRelationsTest.java569
-rw-r--r--jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/util/CreateDeleteEntity.java123
-rw-r--r--jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/util/IEditor.java22
-rw-r--r--jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/util/JPAEditorUtilTest.java402
-rw-r--r--jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/util/JPASolverTest.java167
-rw-r--r--jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/util/JpaArtifactFactoryTest.java204
-rw-r--r--jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/util/URLEscaper.java18
-rw-r--r--jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/test.xml48
241 files changed, 0 insertions, 26447 deletions
diff --git a/jpa_diagram_editor/development/org.eclipse.jpt.jpadiagrameditor.releng/.project b/jpa_diagram_editor/development/org.eclipse.jpt.jpadiagrameditor.releng/.project
deleted file mode 100644
index 6e0c0bbbf5..0000000000
--- a/jpa_diagram_editor/development/org.eclipse.jpt.jpadiagrameditor.releng/.project
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.jpt.jpadiagrameditor.releng</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- </buildSpec>
- <natures>
- </natures>
-</projectDescription>
diff --git a/jpa_diagram_editor/development/org.eclipse.jpt.jpadiagrameditor.releng/pom.xml b/jpa_diagram_editor/development/org.eclipse.jpt.jpadiagrameditor.releng/pom.xml
deleted file mode 100644
index 73758a881b..0000000000
--- a/jpa_diagram_editor/development/org.eclipse.jpt.jpadiagrameditor.releng/pom.xml
+++ /dev/null
@@ -1,59 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <groupId>org.eclipse.jpt.jpadiagrameditor</groupId>
- <artifactId>org.eclipse.jpt.jpadiagrameditor_parent</artifactId>
- <version>1.0.0-SNAPSHOT</version>
- <packaging>pom</packaging>
-
- <properties>
- <tycho-version>0.9.0</tycho-version>
- </properties>
-
- <modules>
- <module>../../plugins/org.eclipse.jpt.jpadiagrameditor.ui</module>
- <!-- module>../../tests/org.eclipse.jpt.jpadiagrameditor.tests</module -->
- <module>../../features/org.eclipse.jpt.jpadiagrameditor.feature</module>
- <module>../org.eclipse.jpt.jpadiagrameditor.repository</module>
- </modules>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.sonatype.tycho</groupId>
- <artifactId>tycho-maven-plugin</artifactId>
- <version>${tycho-version}</version>
- <extensions>true</extensions>
- </plugin>
- <plugin>
- <groupId>org.sonatype.tycho</groupId>
- <artifactId>target-platform-configuration</artifactId>
- <version>${tycho-version}</version>
- <configuration>
- <resolver>p2</resolver>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
- <repositories>
- <repository>
- <id>indigo</id>
- <url>http://download.eclipse.org/releases/staging/</url>
- <layout>p2</layout>
- </repository>
- <repository>
- <id>indigo_WTP_M7</id>
- <url>http://download.eclipse.org/webtools/downloads/drops/R3.3.0/I-3.3.0-20110428114127/repository/</url>
- <layout>p2</layout>
- </repository>
- <repository>
- <id>Graphiti</id>
- <url>http://download.eclipse.org/graphiti/updates/milestones/</url>
- <layout>p2</layout>
- </repository>
-
- </repositories>
-
-</project> \ No newline at end of file
diff --git a/jpa_diagram_editor/development/org.eclipse.jpt.jpadiagrameditor.repository/.project b/jpa_diagram_editor/development/org.eclipse.jpt.jpadiagrameditor.repository/.project
deleted file mode 100644
index 42ea5b1b49..0000000000
--- a/jpa_diagram_editor/development/org.eclipse.jpt.jpadiagrameditor.repository/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.jpt.jpadiagrameditor.repository</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.pde.UpdateSiteBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.UpdateSiteNature</nature>
- </natures>
-</projectDescription>
diff --git a/jpa_diagram_editor/development/org.eclipse.jpt.jpadiagrameditor.repository/pom.xml b/jpa_diagram_editor/development/org.eclipse.jpt.jpadiagrameditor.repository/pom.xml
deleted file mode 100644
index 27810022ce..0000000000
--- a/jpa_diagram_editor/development/org.eclipse.jpt.jpadiagrameditor.repository/pom.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>org.eclipse.jpt.jpadiagrameditor_parent</artifactId>
- <groupId>org.eclipse.jpt.jpadiagrameditor</groupId>
- <version>1.0.0-SNAPSHOT</version>
- <relativePath>../org.eclipse.jpt.jpadiagrameditor.releng/pom.xml</relativePath>
- </parent>
-
- <artifactId>org.eclipse.jpt.jpadiagrameditor.repository</artifactId>
- <packaging>eclipse-update-site</packaging>
- <name>JPA Editor Update Site</name>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.sonatype.tycho</groupId>
- <artifactId>maven-osgi-packaging-plugin</artifactId>
- <configuration>
- <archiveSite>true</archiveSite>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
-</project> \ No newline at end of file
diff --git a/jpa_diagram_editor/development/org.eclipse.jpt.jpadiagrameditor.repository/site.xml b/jpa_diagram_editor/development/org.eclipse.jpt.jpadiagrameditor.repository/site.xml
deleted file mode 100644
index 40ec9d2a6e..0000000000
--- a/jpa_diagram_editor/development/org.eclipse.jpt.jpadiagrameditor.repository/site.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
- <feature url="features/org.eclipse.jpt.jpadiagrameditor.feature_1.0.0.qualifier.jar" id="org.eclipse.jpt.jpadiagrameditor.feature" version="1.0.0.qualifier">
- <category name="jpa_diagram_editor"/>
- </feature>
- <category-def name="jpa_diagram_editor" label="JPA Diagram Editor"/>
-</site>
diff --git a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.tests.feature/.cvsignore b/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.tests.feature/.cvsignore
deleted file mode 100644
index 19bfc7accc..0000000000
--- a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.tests.feature/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-build.xml
-.settings
diff --git a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.tests.feature/.project b/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.tests.feature/.project
deleted file mode 100644
index f2a045942f..0000000000
--- a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.tests.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.jpt.jpadiagrameditor.tests.feature</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.pde.FeatureBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.FeatureNature</nature>
- </natures>
-</projectDescription>
diff --git a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.tests.feature/build.properties b/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.tests.feature/build.properties
deleted file mode 100644
index da6de749f9..0000000000
--- a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.tests.feature/build.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-bin.includes = feature.xml,\
- eclipse_update_120.jpg,\
- feature.properties
-src.includes = \
- feature.xml,\
- eclipse_update_120.jpg,\
- build.properties
diff --git a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.tests.feature/eclipse_update_120.jpg b/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.tests.feature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708ad6..0000000000
--- a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.tests.feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.tests.feature/feature.properties b/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.tests.feature/feature.properties
deleted file mode 100644
index 855dcb9070..0000000000
--- a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.tests.feature/feature.properties
+++ /dev/null
@@ -1,43 +0,0 @@
-###############################################################################
-# Copyright (c) 2011 SAP AG.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# Stefan Dimov - initial API, implementation and documentation
-###############################################################################
-
-# "featureName" property - name of the feature
-featureName=Dali Java Persistence Tools - JPA Diagram Editor JUnit Tests
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse Web Tools Platform
-
-
-# "description" property - description of the feature
-description=Dali Java Persistence Tools JPA Diagram Editor JUnit Tests
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2011 SAP AG.\
-All rights reserved. This program and the accompanying materials\
-are made available under the terms of the Eclipse Public License v1.0\
-which accompanies this distribution, and is available at\
-http://www.eclipse.org/legal/epl-v10.html\
-\n\
-Contributors:\n\
- Stefan Dimov - initial API, implementation and documentation\n
-################ end of copyright property ####################################
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-# license and licenseURL properties were removed as a result to migrating to new PDE license support.
-# Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism.
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-# license and licenseURL properties were removed as a result to migrating to new PDE license support.
-# Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism.
-########### end of license property ##########################################
diff --git a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.tests.feature/feature.xml b/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.tests.feature/feature.xml
deleted file mode 100644
index 6913db64e0..0000000000
--- a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.tests.feature/feature.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
- id="org.eclipse.jpt.jpadiagrameditor.tests.feature"
- label="%featureName"
- version="1.0.0.qualifier"
- provider-name="%providerName"
- license-feature="org.eclipse.license"
- license-feature-version="1.0.0.qualifier">
-
- <description>
- %description
- </description>
-
- <copyright>
- %copyright
- </copyright>
-
- <license url="license.html">
- %license
- </license>
-
- <requires>
- <import plugin="org.easymock" version="2.4.0" match="compatible"/>
- <import feature="org.eclipse.graphiti.feature" version="0.8.0" match="greaterOrEqual"/>
- <import feature="org.eclipse.jpt.jpa.feature" version="3.0.0" match="greaterOrEqual"/>
- </requires>
-
- <plugin
- id="org.eclipse.jpt.jpadiagrameditor.ui.tests"
- download-size="0"
- install-size="0"
- version="0.0.0"/>
-
-</feature>
diff --git a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor_sdk.feature/.cvsignore b/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor_sdk.feature/.cvsignore
deleted file mode 100644
index 9d0e114f67..0000000000
--- a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor_sdk.feature/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-feature.temp.folder
-build.xml
diff --git a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor_sdk.feature/.project b/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor_sdk.feature/.project
deleted file mode 100644
index 342401f728..0000000000
--- a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor_sdk.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.jpt.jpadiagrameditor_sdk.feature</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.pde.FeatureBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.FeatureNature</nature>
- </natures>
-</projectDescription>
diff --git a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor_sdk.feature/build.properties b/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor_sdk.feature/build.properties
deleted file mode 100644
index 06599fb47f..0000000000
--- a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor_sdk.feature/build.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-bin.includes = feature.xml,\
- feature.properties,\
- eclipse_update_120.jpg
-
-generate.feature@org.eclipse.jpt.jpadiagrameditor.feature.source=org.eclipse.jpt.jpadiagrameditor.feature
diff --git a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor_sdk.feature/eclipse_update_120.jpg b/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor_sdk.feature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708ad6..0000000000
--- a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor_sdk.feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor_sdk.feature/feature.properties b/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor_sdk.feature/feature.properties
deleted file mode 100644
index c4cc127e9a..0000000000
--- a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor_sdk.feature/feature.properties
+++ /dev/null
@@ -1,43 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2011 SAP AG.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# Stefan Dimov - initial API, implementation and documentation
-###############################################################################
-
-# "featureName" property - name of the feature
-featureName=Dali Java Persistence Tools - JPA Diagram Editor
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse Web Tools Platform
-
-
-# "description" property - description of the feature
-description=Source code archives for Dali Java Persistence - JPA Diagram Editor
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2005, 2010 SAP AG.\
-All rights reserved. This program and the accompanying materials\
-are made available under the terms of the Eclipse Public License v1.0\
-which accompanies this distribution, and is available at\
-http://www.eclipse.org/legal/epl-v10.html\
-\n\
-Contributors:\n\
- Stefan Dimov - initial API, implementation and documentation\n
-################ end of copyright property ####################################
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-# license and licenseURL properties were removed as a result to migrating to new PDE license support.
-# Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism.
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-# license and licenseURL properties were removed as a result to migrating to new PDE license support.
-# Those properties are now added at build time. See http://wiki.eclipse.org/Equinox/p2/License_Mechanism.
-########### end of license property ##########################################
diff --git a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor_sdk.feature/feature.xml b/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor_sdk.feature/feature.xml
deleted file mode 100644
index b776f6a158..0000000000
--- a/jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor_sdk.feature/feature.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
- id="org.eclipse.jpt.jpadiagrameditor_sdk.feature"
- label="%featureName"
- version="1.0.0.qualifier"
- provider-name="%providerName"
- license-feature="org.eclipse.license"
- license-feature-version="1.0.0.qualifier">
-
- <description>
- %description
- </description>
-
- <copyright>
- %copyright
- </copyright>
-
- <license url="license.html">
- %license
- </license>
-
- <includes
- id="org.eclipse.jpt.jpadiagrameditor.feature"
- version="0.0.0"/>
-
- <includes
- id="org.eclipse.jpt.jpadiagrameditor.feature.source"
- version="0.0.0"/>
-
-</feature>
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/.cvsignore b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/.cvsignore
deleted file mode 100644
index c14487ceac..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-build.xml
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/.project b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/.project
deleted file mode 100644
index f8a805f398..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/.project
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.jpt.jpadiagrameditor.branding</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- </natures>
-</projectDescription>
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/META-INF/MANIFEST.MF b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/META-INF/MANIFEST.MF
deleted file mode 100644
index 5f1ed49371..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,7 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.jpt.jpadiagrameditor.branding;singleton:=true
-Bundle-Version: 1.0.0.qualifier
-Bundle-Localization: plugin
-Bundle-Vendor: %providerName
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/about.html b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/about.html
deleted file mode 100644
index ca606b1bb5..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>June 06, 2007</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in
-("Content"). Unless otherwise indicated below, the Content is provided to you
-under the terms and conditions of the Eclipse Public License Version 1.0
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>.
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the
-Content is being redistributed by another party ("Redistributor") and different
-terms and conditions may apply to your use of any object code in the Content.
-Check the Redistributor's license that was provided with the Content. If no such
-license exists, contact the Redistributor. Unless otherwise indicated below, the
-terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML> \ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/about.ini b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/about.ini
deleted file mode 100644
index b820d7f4ae..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/about.ini
+++ /dev/null
@@ -1,33 +0,0 @@
-# about.ini
-# contains information about a feature
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in about.properties
-# This file does not need to be translated.
-
-# Property "aboutText" contains blurb for "About" dialog (translated)
-aboutText=%blurb
-
-# Property "windowImage" contains path to window icon (16x16)
-# needed for primary features only
-
-# Property "featureImage" contains path to feature image (32x32)
-featureImage=icons/WTP_icon_x32_v2.png
-
-# Property "aboutImage" contains path to product image (500x330 or 115x164)
-# needed for primary features only
-
-# Property "appName" contains name of the application (translated)
-# needed for primary features only
-
-# Property "welcomePage" contains path to welcome page (special XML-based format)
-# optional
-
-# Property "welcomePerspective" contains the id of the perspective in which the
-# welcome page is to be opened.
-# optional
-
-# Property "tipsAndTricksHref" contains the Help topic href to a tips and tricks page
-# optional
-tipsAndTricksHref=/org.eclipse.jpt.doc.user/tips_and_tricks.htm
-
-
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/about.mappings b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/about.mappings
deleted file mode 100644
index bddaab4310..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/about.mappings
+++ /dev/null
@@ -1,6 +0,0 @@
-# about.mappings
-# contains fill-ins for about.properties
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file does not need to be translated.
-
-0=@build@ \ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/about.properties b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/about.properties
deleted file mode 100644
index 0e4294d3f6..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/about.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-# about.properties
-# contains externalized strings for about.ini
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# fill-ins are supplied by about.mappings
-# This file should be translated.
-
-blurb=Dali Java Persistence Tools - JPA Diagram Editor\n\
-\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-(c) Copyright Eclipse contributors and others 2011. All rights reserved.\n\
-Visit http://www.eclipse.org/webtools
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/build.properties b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/build.properties
deleted file mode 100644
index fbf9849d0a..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/build.properties
+++ /dev/null
@@ -1,8 +0,0 @@
-bin.includes = META-INF/,\
- about.ini,\
- about.html,\
- about.mappings,\
- about.properties,\
- icons/,\
- plugin.properties,\
- component.xml
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/component.xml b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/component.xml
deleted file mode 100644
index eec5142f03..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/component.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component xmlns="http://eclipse.org/wtp/releng/tools/component-model" name="org.eclipse.jpt.jpadiagrameditor.branding">
-<description url=""></description>
-<component-depends unrestricted="true"></component-depends>
-<plugin id="org.eclipse.jpt.jpadiagrameditor.branding" fragment="false"/>
-<plugin id="org.eclipse.jpt.jpadiagrameditor.ui" fragment="false"/>
-</component> \ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/icons/WTP_icon_x32_v2.png b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/icons/WTP_icon_x32_v2.png
deleted file mode 100644
index 6f09c2a700..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/icons/WTP_icon_x32_v2.png
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/plugin.properties b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/plugin.properties
deleted file mode 100644
index fbb0d969c1..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding/plugin.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-pluginName = Dali Java Persistence Tools - JPA Diagram Editor
-providerName = Eclipse Web Tools Platform
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/.classpath b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/.classpath
deleted file mode 100644
index e1f2c35125..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5" />
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins" />
- <classpathentry kind="src" path="src" />
- <classpathentry kind="output" path="bin" />
-</classpath>
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/.cvsignore b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/.cvsignore
deleted file mode 100644
index ba077a4031..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/.project b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/.project
deleted file mode 100644
index e79949589c..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.jpt.jpadiagrameditor.ui</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/.settings/org.eclipse.jdt.core.prefs b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index d3cad09797..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Tue Mar 08 12:09:57 EST 2011
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/META-INF/MANIFEST.MF b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index bcae287be2..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,43 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-SymbolicName: org.eclipse.jpt.jpadiagrameditor.ui;singleton:=true
-Bundle-Version: 1.0.0.qualifier
-Bundle-Activator: org.eclipse.jpt.jpadiagrameditor.ui.internal.JPADiagramEditorPlugin
-Bundle-ActivationPolicy: lazy
-Bundle-ClassPath: .
-Bundle-Localization: plugin
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Require-Bundle: org.eclipse.core.expressions;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.emf.ecore.xmi;bundle-version="[2.5.0,3.0.0)",
- org.eclipse.emf.transaction;bundle-version="[1.4.0,2.0.0)",
- org.eclipse.gef;bundle-version="[3.6.0,4.0.0)",
- org.eclipse.graphiti;bundle-version="[0.8.0,1.0.0)",
- org.eclipse.graphiti.mm;bundle-version="[0.8.0,1.0.0)",
- org.eclipse.graphiti.pattern;bundle-version="[0.8.0,1.0.0)",
- org.eclipse.graphiti.ui;bundle-version="[0.8.0,1.0.0)",
- org.eclipse.jdt.core;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.jdt.ui;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.jface.text;bundle-version="[3.7.0,4.0.0)",
- org.eclipse.jpt.common.core;bundle-version="[1.0.0,2.0.0)",
- org.eclipse.jpt.common.utility;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.jpt.jpa.core;bundle-version="[3.0.0,4.0.0)",
- org.eclipse.jpt.jpa.ui;bundle-version="[3.0.0,4.0.0)",
- org.eclipse.ui.ide;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.ui.views.properties.tabbed;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.wst.common.emf;bundle-version="[1.1.200,2.0.0)",
- org.eclipse.wst.common.project.facet.core;bundle-version="[1.3.0,2.0.0)"
-Export-Package: org.eclipse.jpt.jpadiagrameditor.ui.internal;x-internal:=true,
- org.eclipse.jpt.jpadiagrameditor.ui.internal.dialog;x-internal:=true,
- org.eclipse.jpt.jpadiagrameditor.ui.internal.facade;x-internal:=true,
- org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;x-internal:=true,
- org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n;x-internal:=true,
- org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.ui;x-internal:=true,
- org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.util;x-internal:=true,
- org.eclipse.jpt.jpadiagrameditor.ui.internal.preferences;x-internal:=true,
- org.eclipse.jpt.jpadiagrameditor.ui.internal.propertypage;x-internal:=true,
- org.eclipse.jpt.jpadiagrameditor.ui.internal.propertytester;x-internal:=true,
- org.eclipse.jpt.jpadiagrameditor.ui.internal.provider;x-internal:=true,
- org.eclipse.jpt.jpadiagrameditor.ui.internal.relations;x-internal:=true,
- org.eclipse.jpt.jpadiagrameditor.ui.internal.util;x-internal:=true
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/about.html b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/about.html
deleted file mode 100644
index 071f586b21..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/about.html
+++ /dev/null
@@ -1,47 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H2>About This Content</H2>
-
-<P>May 02, 2008</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in
-("Content"). Unless otherwise indicated below, the Content is provided to you
-under the terms and conditions of the Eclipse Public License Version 1.0
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>.
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the
-Content is being redistributed by another party ("Redistributor") and different
-terms and conditions may apply to your use of any object code in the Content.
-Check the Redistributor's license that was provided with the Content. If no such
-license exists, contact the Redistributor. Unless otherwise indicated below, the
-terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-<h3>Third Party Content</h3>
-<p>The Content includes items that have been sourced from third parties as set
- out below. If you did not receive this Content directly from the Eclipse Foundation,
- the following is provided for informational purposes only, and you should look
- to the Redistributor&#8217;s license for terms and conditions of use.</p>
-
-<h4><a name="JPA" id="JPA"></a>Java Persistence API (JPA) v1.0</h4>
-
-<blockquote>
- <p>The Java Persistence API (JPA) which is distributed under <a href="https://glassfish.dev.java.net/public/CDDLv1.0.html">CDDL
- v1.0</a> is required by the Dali Java Persistence Tools Project in order
- to support this standard.</p>
-</blockquote>
-</BODY>
-</HTML>
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/build.properties b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/build.properties
deleted file mode 100644
index e418f5df89..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/build.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2011 SAP AG. All rights reserved.
-# This program and the accompanying materials are made available under the
-# terms of the Eclipse Public License v1.0, which accompanies this distribution
-# and is available at http://www.eclipse.org/legal/epl-v10.html.
-#
-# Contributors:
-# Stefan Dimov - initial API, implementation and documentation
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = .,\
- META-INF/,\
- about.html,\
- icons/,\
- plugin.xml,\
- plugin.properties
-jars.compile.order = . \ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/component.xml b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/component.xml
deleted file mode 100644
index 86072a50e3..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/component.xml
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><component xmlns="http://eclipse.org/wtp/releng/tools/component-model" name="org.eclipse.jpt.jpadiagrameditor.ui"><description url=""></description><component-depends unrestricted="true"></component-depends><plugin id="org.eclipse.jpt.jpadiagrameditor.ui" fragment="false"/></component> \ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/CompoundKey.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/CompoundKey.gif
deleted file mode 100644
index a98d13d59b..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/CompoundKey.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/EJB_15x16.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/EJB_15x16.gif
deleted file mode 100644
index 22fef05077..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/EJB_15x16.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/cmpEntity_obj.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/cmpEntity_obj.gif
deleted file mode 100644
index 20ed1f9a44..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/cmpEntity_obj.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/add_attribute.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/add_attribute.gif
deleted file mode 100644
index 8d1a4c19a7..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/add_attribute.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/add_entity.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/add_entity.gif
deleted file mode 100644
index 09783846b4..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/add_entity.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/basic.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/basic.gif
deleted file mode 100644
index a547d743e7..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/basic.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/embeddable.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/embeddable.gif
deleted file mode 100644
index 8856f78874..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/embeddable.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/embedded-id.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/embedded-id.gif
deleted file mode 100644
index c1c8e210e7..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/embedded-id.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/embedded.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/embedded.gif
deleted file mode 100644
index c2ae66497a..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/embedded.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/entity-mappings.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/entity-mappings.gif
deleted file mode 100644
index c349c962e2..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/entity-mappings.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/entity.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/entity.gif
deleted file mode 100644
index d606f482e2..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/entity.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/id.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/id.gif
deleted file mode 100644
index a205ec38ab..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/id.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/jpa-content.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/jpa-content.gif
deleted file mode 100644
index c0ab917511..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/jpa-content.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/jpa-file.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/jpa-file.gif
deleted file mode 100644
index b4e9f4724b..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/jpa-file.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/many-to-many-1-dir.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/many-to-many-1-dir.gif
deleted file mode 100644
index 89cac007d6..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/many-to-many-1-dir.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/many-to-many-2-dir.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/many-to-many-2-dir.gif
deleted file mode 100644
index 07b3d1486f..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/many-to-many-2-dir.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/many-to-many.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/many-to-many.gif
deleted file mode 100644
index 48885b21fe..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/many-to-many.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/many-to-one-1-dir.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/many-to-one-1-dir.gif
deleted file mode 100644
index aa4e2cafd5..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/many-to-one-1-dir.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/many-to-one-2-dir.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/many-to-one-2-dir.gif
deleted file mode 100644
index 1828007882..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/many-to-one-2-dir.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/many-to-one.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/many-to-one.gif
deleted file mode 100644
index 2e1e2b9387..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/many-to-one.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/mapped-superclass.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/mapped-superclass.gif
deleted file mode 100644
index 8cc37645c0..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/mapped-superclass.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/null-attribute-mapping.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/null-attribute-mapping.gif
deleted file mode 100644
index 70a9c23541..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/null-attribute-mapping.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/null-type-mapping.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/null-type-mapping.gif
deleted file mode 100644
index 6279478c51..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/null-type-mapping.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/one-to-many-1-dir.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/one-to-many-1-dir.gif
deleted file mode 100644
index 392ef48c6c..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/one-to-many-1-dir.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/one-to-many.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/one-to-many.gif
deleted file mode 100644
index 1e90027861..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/one-to-many.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/one-to-one-1-dir.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/one-to-one-1-dir.gif
deleted file mode 100644
index 9193acf554..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/one-to-one-1-dir.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/one-to-one-2-dir.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/one-to-one-2-dir.gif
deleted file mode 100644
index 354a9af469..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/one-to-one-2-dir.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/one-to-one.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/one-to-one.gif
deleted file mode 100644
index 578ec36aa3..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/one-to-one.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/persistence-unit.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/persistence-unit.gif
deleted file mode 100644
index 9cc45f6945..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/persistence-unit.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/persistence.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/persistence.gif
deleted file mode 100644
index d1f616d64f..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/persistence.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/remove_attribute.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/remove_attribute.gif
deleted file mode 100644
index 40166b33be..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/remove_attribute.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/transient.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/transient.gif
deleted file mode 100644
index cc5d83db20..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/transient.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/version.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/version.gif
deleted file mode 100644
index 202a8104f4..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/version.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/warning.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/warning.gif
deleted file mode 100644
index 14009e9974..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/ent/warning.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/restore.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/restore.gif
deleted file mode 100644
index c081984da0..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/restore.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/save.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/save.gif
deleted file mode 100644
index 1e0851aacf..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/save.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/save_and_remove.gif b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/save_and_remove.gif
deleted file mode 100644
index 271d231aab..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/icons/save_and_remove.gif
+++ /dev/null
Binary files differ
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/plugin.properties b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/plugin.properties
deleted file mode 100644
index b7c55a19e5..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/plugin.properties
+++ /dev/null
@@ -1,31 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2010 SAP AG.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# Stefan Dimov - initial API, implementation and documentation
-###############################################################################
-
-# ====================================================================
-# To code developer:
-# Do NOT change the properties between this line and the
-# "%%% END OF TRANSLATED PROPERTIES %%%" line.
-# Make a new property name, append to the end of the file and change
-# the code to use the new property.
-# ====================================================================
-
-# ====================================================================
-# %%% END OF TRANSLATED PROPERTIES %%%
-# ====================================================================
-pluginName=Dali Java Persistence Tools - JPA Diagram Editor
-providerName = Eclipse Web Tools Platform
-
-diagrameditor.name = JPA Diagram Editor
-diagrameditor.opendiagram.menu.label = Open Diagram
-diagrameditor.opendiagram.action.label = Open Diagram
-diagrameditor.opendiagram.project.menu.label = Open Diagram
-diagrameditor.opendiagram.action.project.label = Open Diagram
-diagrameditor.prefpage = JPA Diagram Editor \ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/plugin.xml b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/plugin.xml
deleted file mode 100644
index 893417d412..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/plugin.xml
+++ /dev/null
@@ -1,149 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<!--
- <copyright>
-
- Copyright (c) 2005, 2010 SAP AG.
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
-
- Contributors:
- Stefan Dimov - initial API, implementation and documentation
-
- </copyright>
-
- -->
-<plugin>
- <extension point="org.eclipse.ui.editors">
- <editor
- class="org.eclipse.jpt.jpadiagrameditor.ui.internal.JPADiagramEditor"
- default="true"
- icon="icons/ent/entity.gif"
- id="org.eclipse.jpt.jpadiagrameditor.ui"
- matchingStrategy="org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.ui.JPAEditorMatchingStrategy"
- name="%diagrameditor.name">
- </editor>
- </extension>
-
- <extension
- point="org.eclipse.ui.popupMenus">
- <objectContribution
- adaptable="false"
- id="org.eclipse.jpt.jpadiagrameditor.ui.openDiagramJpa"
- nameFilter="*"
- objectClass="org.eclipse.jpt.jpa.core.JpaNode">
-
- <enablement>
- <test property="org.eclipse.wst.common.project.facet.core.projectFacet" value="jpt.jpa"/>
- </enablement>
- <menu
- id="org.eclipse.jpt.jpadiagrameditor.ui.openDiagramJpaMenu"
- label="%diagrameditor.opendiagram.menu.label">
- </menu>
- <action
- class="org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.ui.OpenJpaDiagramActionDelegate"
- enablesFor="1"
- id="org.eclipse.jpt.jpadiagrameditor.ui.openDiagramJpaAction"
- label="%diagrameditor.opendiagram.action.label">
- </action>
- </objectContribution>
- <objectContribution
- adaptable="true"
- id="org.eclipse.jpt.jpadiagrameditor.ui.openDiagramOnJpaProject"
- nameFilter="*"
- objectClass="org.eclipse.core.resources.IProject">
- <enablement>
- <test property="org.eclipse.wst.common.project.facet.core.projectFacet" value="jpt.jpa"/>
- </enablement>
- <action
- class="org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.ui.OpenJpaDiagramActionDelegate"
- enablesFor="1"
- id="org.eclipse.jpt.jpadiagrameditor.ui.openDiagramOnJpaProjectAction"
- label="%diagrameditor.opendiagram.action.project.label"
- menubarPath="org.eclipse.jpt.jpa.ui.menu.JpaTools/content">
- </action>
- </objectContribution>
- </extension>
-<extension point="org.eclipse.ui.preferencePages">
- <page
- category="org.eclipse.ui.preferencePages.Editors"
- class="org.eclipse.jpt.jpadiagrameditor.ui.internal.preferences.JPAEditorPreferencesPage"
- id="org.eclipse.jpt.jpadiagrameditor.ui.internal.preferences.JPAEditorPreferencesPage"
- name="%diagrameditor.prefpage">
- </page>
-</extension>
-<extension
- point="org.eclipse.core.runtime.preferences">
- <initializer
- class="org.eclipse.jpt.jpadiagrameditor.ui.internal.preferences.JPAEditorPreferenceInitializer">
- </initializer>
-</extension>
-<extension
- point="org.eclipse.ui.propertyPages">
- <page
- category="org.eclipse.jpt.jpa.ui.jpaProjectProperties"
- class="org.eclipse.jpt.jpadiagrameditor.ui.internal.propertypage.JPADiagramPropertyPage"
- id="org.eclipse.jpt.jpadiagrameditor.ui.propertypage"
- name="%diagrameditor.prefpage">
- <enabledWhen>
- <adapt type="org.eclipse.core.resources.IProject">
- <or>
- <test
- forcePluginActivation="true"
- property="org.eclipse.wst.common.project.facet.core.projectFacet"
- value="jpt.jpa:1.0">
- </test>
- <test
- forcePluginActivation="true"
- property="org.eclipse.wst.common.project.facet.core.projectFacet"
- value="jpt.jpa:2.0">
- </test>
- </or>
- </adapt>
- </enabledWhen>
- </page>
-</extension>
-<extension
- point="org.eclipse.graphiti.ui.diagramTypeProviders">
- <diagramTypeProvider
- class="org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.JPAEditorDiagramTypeProvider"
- id="org.eclipse.jpt.jpadiagrameditor.ui.provider.JPAEditorDiagramTypeProvider"
- name="org.eclipse.jpt.jpadiagrameditor.ui.provider.JPAEditorDiagramTypeProvider">
- <diagramType
- id="org.eclipse.jpt.jpadiagrameditor.ui.JPAEditorDiagramType">
- </diagramType>
- <imageProvider
- id="org.eclipse.jpt.jpadiagrameditor.ui.provider.JPAEditorImageProvider">
- </imageProvider>
- </diagramTypeProvider>
-</extension>
-<extension
- point="org.eclipse.graphiti.ui.diagramTypes">
- <diagramType
- description="This is the diagram type for the JPA editor"
- id="org.eclipse.jpt.jpadiagrameditor.ui.JPAEditorDiagramType"
- name="JPA editor diagram type"
- type="JPA Diagram">
- </diagramType>
-</extension>
-<extension
- point="org.eclipse.graphiti.ui.imageProviders">
- <imageProvider
- class="org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.JPAEditorImageProvider"
- id="org.eclipse.jpt.jpadiagrameditor.ui.provider.JPAEditorImageProvider">
- </imageProvider>
-</extension>
-
-<extension point="org.eclipse.core.expressions.propertyTesters">
- <propertyTester
- id="org.eclipse.jpt.jpadiagrameditor.ui.propertytester.JpaProjectFacetVersionPropertyTester"
- type="org.eclipse.jpt.core.JpaNode"
- namespace="org.eclipse.jpt.jpadiagrameditor.ui"
- properties="jpaProjectFacet"
- class="org.eclipse.jpt.jpadiagrameditor.ui.internal.propertytester.JpaProjectFacetVersionPropertyTester">
- </propertyTester>
-</extension>
-
-</plugin>
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/pom.xml b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/pom.xml
deleted file mode 100644
index 4548b38b9b..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/pom.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>org.eclipse.jpt.jpadiagrameditor_parent</artifactId>
- <groupId>org.eclipse.jpt.jpadiagrameditor</groupId>
- <version>1.0.0-SNAPSHOT</version>
- <relativePath>../../development/org.eclipse.jpt.jpadiagrameditor.releng/pom.xml</relativePath>
- </parent>
-
- <artifactId>org.eclipse.jpt.jpadiagrameditor.ui</artifactId>
- <packaging>eclipse-plugin</packaging>
- <name>JPA Diagram Editor Plug-in</name>
-</project> \ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/JPADiagramEditor.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/JPADiagramEditor.java
deleted file mode 100644
index 8998a4b976..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/JPADiagramEditor.java
+++ /dev/null
@@ -1,314 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.emf.transaction.RecordingCommand;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.transaction.util.TransactionUtil;
-import org.eclipse.gef.ContextMenuProvider;
-import org.eclipse.gef.DefaultEditDomain;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.EditPolicy;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.graphiti.ui.editor.DiagramEditor;
-import org.eclipse.graphiti.ui.internal.parts.ConnectionEditPart;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jpt.jpa.core.JpaStructureNode;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpa.ui.internal.selection.DefaultJpaSelection;
-import org.eclipse.jpt.jpa.ui.internal.selection.JpaSelectionManager;
-import org.eclipse.jpt.jpa.ui.internal.selection.SelectionManagerFactory;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.ui.JPADiagramEditorInput;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.util.ModelIntegrationUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.JPAEditorContextMenuProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.JPAEditorDiagramTypeProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.GraphicsUpdater;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPACheckSum;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.Wrp;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.views.properties.IPropertySheetPage;
-
-
-@SuppressWarnings("restriction")
-public class JPADiagramEditor extends DiagramEditor {
-
- public final static String ID = "org.eclipse.jpt.jpadiagrameditor.ui"; //$NON-NLS-1$
- private DefaultEditDomain editDomain;
-
- private JavaPersistentType inputJptType;
- private ISelectionManagerFactory jpaSelectionManagerFactory;
-
- public JPADiagramEditor() {
- this(new SelectionManagerFactoryImpl());
- editDomain = new DefaultEditDomain(this);
- }
-
- public JPADiagramEditor(ISelectionManagerFactory jpaSelectionManagerFactory) {
- super();
- this.jpaSelectionManagerFactory = jpaSelectionManagerFactory;
- editDomain = new DefaultEditDomain(this);
- }
-
- @Override
- public JPAEditorDiagramTypeProvider getDiagramTypeProvider() {
- return (JPAEditorDiagramTypeProvider) super.getDiagramTypeProvider();
- }
-
- public IFeatureProvider getFeatureProvider() {
- return getDiagramTypeProvider().getFeatureProvider();
- }
-
-
- @SuppressWarnings("rawtypes")
- @Override
- public Object getAdapter(Class type) {
- if(IPropertySheetPage.class.equals(type))
- return null;
-
- return super.getAdapter(type);
- }
-
- public void saveWithoutEntities(IProgressMonitor monitor) {
- final Diagram d = getDiagramTypeProvider().getDiagram();
- final Wrp wrp = new Wrp();
- TransactionalEditingDomain ted = TransactionUtil.getEditingDomain(d);
- ted.getCommandStack().execute(new RecordingCommand(ted) {
- protected void doExecute() {
- JPACheckSum.INSTANCE().assignEntityShapesMD5Strings(d, ModelIntegrationUtil.getProjectByDiagram(d));
- List<Shape> children = d.getChildren();
- Iterator<Shape> chIt = children.iterator();
- boolean save = true;
- while (chIt.hasNext()) {
- ContainerShape sh = (ContainerShape)chIt.next();
- JavaPersistentType jpt = (JavaPersistentType) getFeatureProvider()
- .getBusinessObjectForPictogramElement(sh);
- String entName = JPAEditorUtil.getText(jpt);
- ICompilationUnit cu = JPAEditorUtil.getCompilationUnit(jpt);
- try {
- if (cu.hasUnsavedChanges()) {
- entName = "* " + entName; //$NON-NLS-1$
- save = false;
- }
- } catch (JavaModelException e) {
- System.err.println("Problem with compilation unit"); //$NON-NLS-1$
- e.printStackTrace();
- }
- GraphicsUpdater.updateHeader(sh, entName);
- }
- wrp.setObj(new Boolean(save));
- }
- });
- if ((Boolean)wrp.getObj())
- super.doSave(monitor);
- }
-
- @Override
- public void doSave(final IProgressMonitor monitor) {
- final Diagram d = getDiagramTypeProvider().getDiagram();
- //IJPAEditorFeatureProvider fp = (IJPAEditorFeatureProvider)getFeatureProvider();
- TransactionalEditingDomain ted = TransactionUtil.getEditingDomain(d);
- if ((d == null) || (ted == null)) {
- System.err.println((d == null) ? "Diagram is null" : "TransactionalEditingDomain is null"); //$NON-NLS-1$ //$NON-NLS-2$
- new Exception().printStackTrace();
- return;
- }
- ted.getCommandStack().execute(new RecordingCommand(ted) {
- protected void doExecute() {
- JPACheckSum.INSTANCE().assignEntityShapesMD5Strings(d, ModelIntegrationUtil.getProjectByDiagram(d));
- List<Shape> children = d.getChildren();
- Iterator<Shape> chIt = children.iterator();
- while (chIt.hasNext()) {
- Shape sh = chIt.next();
- JavaPersistentType jpt = (JavaPersistentType) getFeatureProvider()
- .getBusinessObjectForPictogramElement(sh);
- if (jpt != null)
- JpaArtifactFactory.instance().forceSaveEntityClass(jpt, (IJPAEditorFeatureProvider) getFeatureProvider());
- }
- /*
- Resource res = ModelIntegrationUtil.getResourceByDiagram(d);
-
- try {
- //doSave(monitor);
- res.save(null);
- } catch (IOException e) {
- System.err.println("Can't save the diagram"); //$NON-NLS-1$
- e.printStackTrace();
- }
- */
-
- }
- });
- super.doSave(monitor);
- }
-
- @Override
- protected ContextMenuProvider createContextMenuProvider() {
- return new JPAEditorContextMenuProvider(getGraphicalViewer(),
- getActionRegistry(),
- getConfigurationProvider());
- }
-
- private void initWithFileEditorInput(final IEditorSite site,
- final IFile entityFile) {
- Diagram diagram = null;
- try {
- ProgressMonitorDialog dialog = new ProgressMonitorDialog(site
- .getShell());
- dialog.run(true, false, new IRunnableWithProgress() {
- public void run(IProgressMonitor monitor)
- throws InvocationTargetException, InterruptedException {
- monitor.beginTask(
- JPAEditorMessages.JPADiagramEditor_waitingForMoin,
- IProgressMonitor.UNKNOWN);
- monitor.done();
- }
- });
-
- inputJptType = JPAEditorUtil.getJPType(JavaCore
- .createCompilationUnitFrom(entityFile));
- setPartProperty(
- JPAEditorConstants.OPEN_WHOLE_PERSISTENCE_UNIT_EDITOR_PROPERTY,
- inputJptType.getName());
- PersistenceUnit persistenceUnit = inputJptType.getPersistenceUnit();
- String diagramURI = ModelIntegrationUtil.createDiagramPath(persistenceUnit).toString();
- TransactionalEditingDomain defaultTransEditDomain = (TransactionalEditingDomain)inputJptType.
- getJpaProject().getProject().getAdapter(TransactionalEditingDomain.class);
- diagram = ModelIntegrationUtil.createDiagram(persistenceUnit, 10, true);
- JPADiagramEditorInput diagramInput = new JPADiagramEditorInput(diagram,
- diagramURI,
- defaultTransEditDomain,
- JPAEditorDiagramTypeProvider.ID,
- false);
- ModelIntegrationUtil.mapDiagramToProject(diagram, persistenceUnit
- .getJpaProject());
- super.init(site, diagramInput);
- } catch (CoreException e) {
- JPADiagramEditorPlugin.getDefault().getLog().log(e.getStatus());
- ModelIntegrationUtil.removeDiagramProjectMapping(diagram);
- } catch (InvocationTargetException e) {
- IStatus status = new Status(IStatus.ERROR,
- JPADiagramEditorPlugin.PLUGIN_ID, e.getMessage(), e);
- JPADiagramEditorPlugin.getDefault().getLog().log(status);
- ModelIntegrationUtil.removeDiagramProjectMapping(diagram);
- } catch (InterruptedException e) {
- IStatus status = new Status(IStatus.ERROR,
- JPADiagramEditorPlugin.PLUGIN_ID, e.getMessage(), e);
- JPADiagramEditorPlugin.getDefault().getLog().log(status);
- ModelIntegrationUtil.removeDiagramProjectMapping(diagram);
- }
- }
-
- public void init(IEditorSite site, IEditorInput input)
- throws PartInitException {
- IFile entityFile = (IFile) input.getAdapter(IFile.class);
-
- if (entityFile != null && entityFile.getFileExtension().equals("java")) { //$NON-NLS-1$
- initWithFileEditorInput(site, entityFile);
- } else
- super.init(site, input);
- }
-
- @Override
- public void selectionChanged(IWorkbenchPart part, ISelection selection) {
- super.selectionChanged(part, selection);
- if (!(selection instanceof IStructuredSelection))
- return;
- IStructuredSelection structSel = (IStructuredSelection)selection;
- @SuppressWarnings("unchecked")
- Iterator<IStructuredSelection> iter = structSel.iterator();
- while(iter.hasNext()){
- Object object = iter.next();
- if(object instanceof EditPart){
- EditPart editPart = (EditPart) object;
- if(editPart instanceof ConnectionEditPart){
- ConnectionEditPart connectionEditPart = (ConnectionEditPart) (editPart);
- connectionEditPart.removeEditPolicy(EditPolicy.CONNECTION_BENDPOINTS_ROLE);
- }
- }
- }
-
- Object o = ((IStructuredSelection) selection).getFirstElement();
- if (o instanceof EditPart) {
- JpaSelectionManager selectionManager = getJpaSelectionManager(part);
- Object m = ((EditPart) o).getModel();
- if (m == null)
- return;
- if (m instanceof PictogramElement) {
- Object bo = getFeatureProvider()
- .getBusinessObjectForPictogramElement(
- (PictogramElement) m);
- if ((bo == null) || (!(bo instanceof JpaStructureNode)))
- return;
- selectionManager.select(new DefaultJpaSelection(
- (JpaStructureNode) bo), null);
- return;
- }
- }
- }
-
- private JpaSelectionManager getJpaSelectionManager(IWorkbenchPart part) {
- return jpaSelectionManagerFactory.getSelectionManager(part.getSite()
- .getWorkbenchWindow());
- }
-
- public static interface ISelectionManagerFactory {
- public JpaSelectionManager getSelectionManager(IWorkbenchWindow window);
- }
-
- private static class SelectionManagerFactoryImpl implements
- ISelectionManagerFactory {
-
- public JpaSelectionManager getSelectionManager(IWorkbenchWindow window) {
- return SelectionManagerFactory.getSelectionManager(window);
- }
-
- }
-
- @Override
- public DefaultEditDomain getEditDomain() {
- return editDomain;
- }
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/JPADiagramEditorPlugin.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/JPADiagramEditorPlugin.java
deleted file mode 100644
index e2cb3fb9ec..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/JPADiagramEditorPlugin.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal;
-
-import org.eclipse.jdt.internal.ui.dialogs.OptionalMessageDialog;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-@SuppressWarnings("restriction")
-public class JPADiagramEditorPlugin extends AbstractUIPlugin {
-
- // The plug-in ID
- public static final String PLUGIN_ID = "org.eclipse.jpt.jpadiagrameditor.ui"; //$NON-NLS-1$
-
- // The shared instance
- private static JPADiagramEditorPlugin plugin;
-
- /**
- * The constructor
- */
- public JPADiagramEditorPlugin() {
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
- */
- public void start(BundleContext context) throws Exception {
- super.start(context);
- plugin = this;
- OptionalMessageDialog.setDialogEnabled(JPAEditorConstants.JPA_SUPPORT_DIALOG_ID, true);
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
- */
- public void stop(BundleContext context) throws Exception {
- plugin = null;
- super.stop(context);
- }
-
- /**
- * Returns the shared instance
- *
- * @return the shared instance
- */
- public static JPADiagramEditorPlugin getDefault() {
- return plugin;
- }
-
- /**
- * Returns an image descriptor for the image file at the given
- * plug-in relative path
- *
- * @param path the path
- * @return the image descriptor
- */
- public static ImageDescriptor getImageDescriptor(String path) {
- return imageDescriptorFromPlugin(PLUGIN_ID, path);
- }
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/dialog/SelectTypeDialog.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/dialog/SelectTypeDialog.java
deleted file mode 100644
index 2ae13d849b..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/dialog/SelectTypeDialog.java
+++ /dev/null
@@ -1,266 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.dialog;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaConventions;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.core.search.IJavaSearchScope;
-import org.eclipse.jdt.core.search.SearchEngine;
-import org.eclipse.jdt.ui.IJavaElementSearchConstants;
-import org.eclipse.jdt.ui.JavaUI;
-import org.eclipse.jface.bindings.keys.KeyStroke;
-import org.eclipse.jface.bindings.keys.ParseException;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.TitleAreaDialog;
-import org.eclipse.jface.fieldassist.ContentProposalAdapter;
-import org.eclipse.jface.fieldassist.IContentProposalProvider;
-import org.eclipse.jface.fieldassist.SimpleContentProposalProvider;
-import org.eclipse.jface.fieldassist.TextContentAdapter;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.SelectionDialog;
-import org.eclipse.ui.forms.IMessage;
-import org.eclipse.ui.progress.IProgressService;
-
-
-@SuppressWarnings("restriction")
-public class SelectTypeDialog extends TitleAreaDialog {
-
- protected String title;
- protected String message;
- protected Label label;
- protected Text text;
- protected String type;
- protected Button browseButton;
- protected ContentProposalAdapter contentProposalAdapter;
-
-
- protected static KeyStroke ks = null;
- static {
- try {
- ks = KeyStroke.getInstance("Ctrl+Space"); //$NON-NLS-1$
- } catch (ParseException e1) {
- System.err.println("Can't create keystroke object"); //$NON-NLS-1$
- e1.printStackTrace();
- }
- }
-
- public SelectTypeDialog(String message,
- String initialType) {
- super(PlatformUI.getWorkbench().getDisplay().getActiveShell());
- this.title = JPAEditorMessages.SelectTypeDialog_chooseAttributeTypeDialogTitle;
- this.message = message;
- this.type = initialType;
- }
-
- protected Control createContents(Composite parent) {
- Control contents = super.createContents(parent);
- initializeControls();
- validatePage();
- return contents;
- }
-
- protected void configureShell(Shell shell) {
- super.configureShell(shell);
- shell.setText(JPAEditorMessages.SelectTypeDialog_chooseAttributeTypeDialogWindowTitle);
- }
-
-
- protected Point getInitialSize() {
- return new Point(convertHorizontalDLUsToPixels(320),
- convertVerticalDLUsToPixels(120));
- }
-
- public String getTypeName() {
- return type;
- }
-
- protected void buttonPressed(int buttonId) {
- type = text.getText().trim();
- super.buttonPressed(buttonId);
- }
-
- protected boolean isResizable() {
- return true;
- }
-
- private void createLabel(Composite composite) {
- label = new Label(composite, SWT.LEFT);
- label.setText(JPAEditorMessages.SelectTypeDialog_typeLabel);
- }
-
- private void createTextField(Composite composite) {
- text = new Text(composite, SWT.SINGLE | SWT.BORDER);
- }
-
- private void createBrowseBtn(Composite composite) {
- browseButton = new Button(composite, SWT.PUSH);
- browseButton.setText(JPAEditorMessages.SelectTypeDialog_browseBtnTxt);
- browseButton.setToolTipText(JPAEditorMessages.SelectTypeDialog_browseBtnDesc);
- browseButton.addSelectionListener(new SelectionListener() {
-
- public void widgetSelected(SelectionEvent e) {
- IJavaSearchScope scope= SearchEngine.createWorkspaceScope();
- IProgressService service = PlatformUI.getWorkbench().getProgressService();
- SelectionDialog d = null;
- try {
- d = JavaUI.createTypeDialog(PlatformUI.getWorkbench().getDisplay().getActiveShell(),
- service,
- scope,
- IJavaElementSearchConstants.CONSIDER_ALL_TYPES,
- false,
- text.getText().trim());
- } catch (JavaModelException e1) {
- System.err.println("Can't create type selaction dialog instance"); //$NON-NLS-1$
- e1.printStackTrace();
- }
- d.open();
- Object[] res = d.getResult();
- if (res == null)
- return;
- Object[] obj = d.getResult();
- if (obj == null)
- return;
- IType tp = (IType) obj[0];
- text.setText(tp.getFullyQualifiedName());
- text.setSelection(0, tp.getFullyQualifiedName().length());
- }
-
- public void widgetDefaultSelected(SelectionEvent e) {}
- });
- }
-
- private IContentProposalProvider createContentProposalProvider() {
- SimpleContentProposalProvider contProvider = new SimpleContentProposalProvider(JPAEditorConstants.PRIMITIVE_TYPES_AND_WRAPPERS);
- contProvider.setFiltering(true);
-
- contentProposalAdapter = new ContentProposalAdapter(
- text,
- new TextContentAdapter(),
- contProvider,
- ks,
- new char[] {'b', 'c', 'd', 'i', 'f', 'l', 's', 'j', 'B', 'C', 'D', 'I', 'F', 'L', 'S', 'J'});
- contentProposalAdapter.setEnabled(true);
- contentProposalAdapter.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_REPLACE);
- return contProvider;
- }
-
- @Override
- public Control createDialogArea(Composite parent) {
- Composite parentComposite = (Composite) super.createDialogArea(parent);
- GridLayout rowLayout = new GridLayout(3, false);
- Composite composite = new Composite(parentComposite, SWT.NONE);
-
- GridData d = new GridData(GridData.FILL_BOTH);
- d.grabExcessHorizontalSpace = true;
- d.heightHint = 400;
- composite.setLayoutData(d);
-
- rowLayout.marginLeft = 5;
- rowLayout.marginTop = 5;
- rowLayout.marginRight = 5;
- rowLayout.marginBottom = 30;
-
- composite.setLayout(rowLayout);
- createLabel(composite);
- GridData data = new GridData(40,20);
- data.verticalAlignment = SWT.CENTER;
- data.horizontalAlignment = SWT.BEGINNING;
- label.setLayoutData(data);
- createTextField(composite);
- data = new GridData(300, 17);
- data.horizontalAlignment = SWT.FILL;
- data.grabExcessHorizontalSpace = true;
- data.verticalAlignment = SWT.CENTER;
- text.setLayoutData(data);
- text.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- setDialogComplete(validatePage());
- }
- });
- createBrowseBtn(composite);
- data = new GridData(100, 25);
- data.verticalAlignment = SWT.TOP;
- data.horizontalAlignment = SWT.LEFT;
- data.minimumWidth = 80;
- browseButton.setLayoutData(data);
- createContentProposalProvider();
- return parentComposite;
- }
-
- private void initializeControls() {
- setTitle(title);
- setMessage(message);
- text.setText(type);
- text.setSelection(0, type.length());
- setDialogComplete(validatePage());
- }
-
- protected void setDialogComplete(boolean value) {
- this.getButton(IDialogConstants.OK_ID).setEnabled(value);
- }
-
- private boolean validatePage() {
- String type = text.getText().trim();
- if (StringTools.stringIsEmpty(type)) {
- setErrorMessage(JPAEditorMessages.SelectTypeDialog_emptyTypeErrorText);
- return false;
- }
- IStatus stat = getStatus();
- if (stat.isOK()) {
- setErrorMessage(null);
- setMessage(message, IMessage.NONE);
- } else {
- setMessage(stat.getMessage(), IMessage.ERROR);
- }
- return (stat.getSeverity() != IStatus.ERROR);
- }
-
- private IStatus getStatus() {
- String type = text.getText().trim();
- String[] types = type.split("[<>\\[\\],]"); //$NON-NLS-1$
- for (int i = 0; i < types.length; i++) {
- type = types[i].trim();
- IStatus stat = JavaConventions.validateJavaTypeName(type, JavaCore.VERSION_1_6, JavaCore.VERSION_1_6);
- boolean isPrimitive = JPAEditorConstants.PRIMITIVE_TYPES_AND_WRAPPERS_SET.contains(type);
- if (isPrimitive || (stat.getSeverity() != IStatus.ERROR))
- continue;
- return stat;
- }
- return Status.OK_STATUS;
- }
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/facade/DisplayFacade.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/facade/DisplayFacade.java
deleted file mode 100644
index d6c1b85fd7..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/facade/DisplayFacade.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Kiril Mitov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.facade;
-
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IDisplayFacade;
-import org.eclipse.swt.widgets.Display;
-
-public class DisplayFacade implements IDisplayFacade {
-
- public void asyncExec(Runnable runnable) {
- Display.getDefault().asyncExec(runnable);
- }
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/facade/EclipseFacade.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/facade/EclipseFacade.java
deleted file mode 100644
index 941de0f448..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/facade/EclipseFacade.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Kiril Mitov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.facade;
-
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IDisplayFacade;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IEclipseFacade;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IJavaCoreFacade;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IStaticIDE;
-
-public class EclipseFacade implements IEclipseFacade {
-
- public static EclipseFacade INSTANCE = new EclipseFacade();
-
- private EclipseFacade() {
- }
-
- public IJavaCoreFacade getJavaCore() {
- return new JavaCoreFacade();
- }
-
- public IWorkspace getWorkspace() {
- return ResourcesPlugin.getWorkspace();
- }
-
- public IDisplayFacade getDisplay() {
- return new DisplayFacade();
- }
-
- public IStaticIDE getIDE() {
- return new StaticIDE();
- }
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/facade/JavaCoreFacade.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/facade/JavaCoreFacade.java
deleted file mode 100644
index 4ec068e942..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/facade/JavaCoreFacade.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Kiril Mitov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.facade;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IJavaCoreFacade;
-
-public class JavaCoreFacade implements IJavaCoreFacade {
-
- public ICompilationUnit createCompilationUnitFrom(IFile file) {
- return JavaCore.createCompilationUnitFrom(file);
- }
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/facade/StaticIDE.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/facade/StaticIDE.java
deleted file mode 100644
index 16b3254eda..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/facade/StaticIDE.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Petya Sabeva - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.facade;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IStaticIDE;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ide.IDE;
-
-public class StaticIDE implements IStaticIDE {
-
- /*
- * (non-Javadoc)
- *
- * @see
- * org.eclipse.jpt.jpadiagrameditor.ui.provider.IStaticIDE#openEditor(org.eclipse
- * .core.resources.IFile)
- */
- public void openEditor(IFile file) throws PartInitException {
- IDE.openEditor(PlatformUI.getWorkbench().getActiveWorkbenchWindow()
- .getActivePage(), file);
- }
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/AddAllEntitiesFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/AddAllEntitiesFeature.java
deleted file mode 100644
index 978a5c6a5e..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/AddAllEntitiesFeature.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.emf.transaction.RecordingCommand;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.graphiti.datatypes.IDimension;
-import org.eclipse.graphiti.features.IAddFeature;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.IAddContext;
-import org.eclipse.graphiti.features.context.IContext;
-import org.eclipse.graphiti.features.context.ICustomContext;
-import org.eclipse.graphiti.features.context.impl.AddContext;
-import org.eclipse.graphiti.features.context.impl.CustomContext;
-import org.eclipse.graphiti.features.custom.AbstractCustomFeature;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.MappingKeys;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpa.core.context.persistence.ClassRef;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.util.ModelIntegrationUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants;
-
-
-public class AddAllEntitiesFeature extends AbstractCustomFeature implements IAddFeature {
-
- int[] lowerEdges = new int[200];
- int numInARow;
- private final static int DIST_FROM_EDGE_H = 50;
- private final static int DIST_FROM_EDGE_V = 50;
- private final static int DIST_H = 100;
- private final static int DIST_V = 100;
-
- public AddAllEntitiesFeature(IFeatureProvider fp) {
- super(fp);
- }
-
- public boolean isAvailable(IContext ctx) {
- return true;
- }
-
- public boolean canExecute(ICustomContext context) {
- return true;
- }
-
- public void execute(ICustomContext context) {
- Diagram d = getDiagram();
- JpaProject project = getTargetJPAProject();
- PersistenceUnit unit = project.getRootContextNode().getPersistenceXml().getPersistence().persistenceUnits().next();
-
-
- Point lowestRightestPointOfExistingDiagram = getLowestRightestPoint(d);
-
- for (int i = 0; i < 200; i++) {
- lowerEdges[i] = lowestRightestPointOfExistingDiagram.y +
- (((i % 2 == 0) ? 1 : 2) *
- ((lowestRightestPointOfExistingDiagram.y == 0) ?
- DIST_FROM_EDGE_V :
- DIST_V));
- }
- IDimension dim = getFeatureProvider().getDiagramTypeProvider().getDiagramEditor().getCurrentSize();
- int dWidth = dim.getWidth();
- numInARow = (dWidth - DIST_FROM_EDGE_H - 20 + JPAEditorConstants.ENTITY_WIDTH)/(JPAEditorConstants.ENTITY_WIDTH + DIST_H);
- numInARow = (numInARow > 0) ? numInARow : 1;
-
- lowerEdges[0] = lowestRightestPointOfExistingDiagram.y + ((lowestRightestPointOfExistingDiagram.y == 0) ? DIST_FROM_EDGE_V : DIST_V);
-
- for (Iterator<ClassRef> classRefs = unit.classRefs(); classRefs.hasNext();) {
- ClassRef classRef = classRefs.next();
- if (classRef.getJavaPersistentType() != null) { // null if
- JavaPersistentType jpt = classRef.getJavaPersistentType();
- if (jpt.getMappingKey() == MappingKeys.ENTITY_TYPE_MAPPING_KEY) {
- PictogramElement pe = getFeatureProvider().getPictogramElementForBusinessObject(jpt);
- if (pe != null)
- continue;
-
- final AddContext ctx = new AddContext();
- ctx.setTargetContainer(d);
- ctx.setNewObject(jpt);
-
- IndexAndLowerEdge ie = getMinLowerEdge();
-
- int x = DIST_FROM_EDGE_H + ie.index * (JPAEditorConstants.ENTITY_WIDTH + DIST_H);
- ctx.setLocation(x, ie.lowerEdge);
- final AddJPAEntityFeature ft = new AddJPAEntityFeature(getFeatureProvider());
-
- final Diagram targetDiagram = (Diagram) ctx.getTargetContainer();
- TransactionalEditingDomain ted = ModelIntegrationUtil.getTransactionalEditingDomain(targetDiagram);
- ted.getCommandStack().execute(new RecordingCommand(ted) {
- @Override
- protected void doExecute() {
- ft.add(ctx);
- }
- });
- ContainerShape entityShape = (ContainerShape)getFeatureProvider().getPictogramElementForBusinessObject(jpt);
- lowerEdges[ie.index] = entityShape.getGraphicsAlgorithm().getY() + entityShape.getGraphicsAlgorithm().getHeight() + DIST_V;
- }
- }
- }
- }
-
- private IndexAndLowerEdge getMinLowerEdge() {
- IndexAndLowerEdge res = new IndexAndLowerEdge();
- res.lowerEdge = 10000000;
- for (int i = 0; i < numInARow; i++) {
- if (lowerEdges[i] < res.lowerEdge) {
- res.lowerEdge = lowerEdges[i];
- res.index = i;
- }
- }
- return res;
- }
-
- private JpaProject getTargetJPAProject() {
- return ModelIntegrationUtil.getProjectByDiagram(getDiagram());
- }
-
- public static Point getLowestRightestPoint(Diagram d) {
- List<Shape> shapes = d.getChildren();
- Iterator<Shape> it = shapes.iterator();
- int x = 0;
- int y = 0;
- while (it.hasNext()) {
- Shape sh = it.next();
- int rightEdge = sh.getGraphicsAlgorithm().getX() +
- sh.getGraphicsAlgorithm().getWidth();
- x = Math.max(x, rightEdge);
- int lowerEdge = sh.getGraphicsAlgorithm().getY() +
- sh.getGraphicsAlgorithm().getHeight();
- y = Math.max(y, lowerEdge);
- }
- x = Math.max(x, 3 * (DIST_H + JPAEditorConstants.ENTITY_WIDTH));
- return new Point(x, y);
- }
-
- public PictogramElement add(IAddContext context) {
- this.execute(new CustomContext());
- return null;
- }
-
- public boolean canAdd(IAddContext context) {
- return true;
- }
-
- private class IndexAndLowerEdge {
- int index;
- int lowerEdge;
- }
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/AddAttributeFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/AddAttributeFeature.java
deleted file mode 100644
index 32dd9e9fb0..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/AddAttributeFeature.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Kiril Mitov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import org.eclipse.emf.transaction.RecordingCommand;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.transaction.util.TransactionUtil;
-import org.eclipse.graphiti.features.IAddFeature;
-import org.eclipse.graphiti.features.IDirectEditingInfo;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.IAddContext;
-import org.eclipse.graphiti.features.context.ICustomContext;
-import org.eclipse.graphiti.features.context.impl.AddContext;
-import org.eclipse.graphiti.features.context.impl.CustomContext;
-import org.eclipse.graphiti.features.custom.ICustomFeature;
-import org.eclipse.graphiti.features.impl.AbstractAddShapeFeature;
-import org.eclipse.graphiti.mm.algorithms.GraphicsAlgorithm;
-import org.eclipse.graphiti.mm.algorithms.Text;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.Wrp;
-
-
-public class AddAttributeFeature extends AbstractAddShapeFeature {
-
- private IAddFeature graphicalAdd;
-
- private ICustomFeature expandCompartmentFeature;
-
- public AddAttributeFeature(IFeatureProvider fp) {
- this(fp, new GraphicalAddAttributeFeature(fp), new ExpandCompartmentShapeFeature(fp));
- }
-
- public AddAttributeFeature(IFeatureProvider fp, IAddFeature graphicalAdd, ICustomFeature expandFeature) {
- super(fp);
- this.graphicalAdd = graphicalAdd;
- expandCompartmentFeature = expandFeature;
- }
-
- public PictogramElement add(final IAddContext context) {
- Object o = context.getNewObject();
- if (!(o instanceof JavaPersistentAttribute)) {
- return null;
- }
- final JavaPersistentAttribute newAttr = (JavaPersistentAttribute) o;
-// JpaArtifactFactory.instance().refreshEntityModel(getFeatureProvider(), (JavaPersistentType)newAttr.getParent());
-
- getFeatureProvider().putKeyToBusinessObject(getFeatureProvider().getKeyForBusinessObject(newAttr), newAttr);
- PictogramElement pe = getFeatureProvider().getPictogramElementForBusinessObject(newAttr);
- if (pe != null)
- return pe;
-
- TransactionalEditingDomain ted = TransactionUtil.getEditingDomain(context.getTargetContainer());
- final Wrp wrp = new Wrp();
- ted.getCommandStack().execute(new RecordingCommand(ted) {
- protected void doExecute() {
- ContainerShape textShape = graphicalAdd(context.getTargetContainer(), newAttr);
- expand(newAttr);
- enableDirectAfterAdding(textShape);
- wrp.setObj(textShape);
- }
- });
- return (PictogramElement)wrp.getObj();
- }
-
- private void expand(JavaPersistentAttribute jpa) {
- ContainerShape attributeShape = (ContainerShape) getFeatureProvider().getPictogramElementForBusinessObject(jpa);
-
- ICustomContext customContext = new CustomContext(new PictogramElement[] { attributeShape.getContainer() });
- expandCompartmentFeature.execute(customContext);
- }
-
- private ContainerShape graphicalAdd(ContainerShape entityShape, JavaPersistentAttribute newAttr) {
- AddContext context = new AddContext();
- context.setNewObject(newAttr);
- context.setTargetContainer(entityShape);
- ContainerShape textShape = (ContainerShape) graphicalAdd.add(context);
- return textShape;
- }
-
- private void enableDirectAfterAdding(ContainerShape textShape) {
- GraphicsAlgorithm ga = textShape.getGraphicsAlgorithm();
- final GraphicsAlgorithm graphicsAlgorithm = ga.getGraphicsAlgorithmChildren().get(0);
- if (graphicsAlgorithm instanceof Text) {
- Text text = (Text) graphicsAlgorithm;
- IDirectEditingInfo directEditingInfo = getFeatureProvider().getDirectEditingInfo();
- directEditingInfo.setMainPictogramElement(textShape);
- directEditingInfo.setPictogramElement(textShape);
- directEditingInfo.setGraphicsAlgorithm(text);
- }
- }
-
- public IJPAEditorFeatureProvider getFeatureProvider() {
- return (IJPAEditorFeatureProvider) super.getFeatureProvider();
- }
-
- public boolean canAdd(IAddContext context) {
- Object o = context.getNewObject();
- return o instanceof JavaPersistentAttribute;
- }
-
-} \ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/AddJPAEntityFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/AddJPAEntityFeature.java
deleted file mode 100644
index 377e9ef137..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/AddJPAEntityFeature.java
+++ /dev/null
@@ -1,456 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.ListIterator;
-
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.IAddContext;
-import org.eclipse.graphiti.features.context.ICreateContext;
-import org.eclipse.graphiti.features.context.impl.CreateContext;
-import org.eclipse.graphiti.features.impl.AbstractAddShapeFeature;
-import org.eclipse.graphiti.mm.algorithms.Image;
-import org.eclipse.graphiti.mm.algorithms.Polyline;
-import org.eclipse.graphiti.mm.algorithms.Rectangle;
-import org.eclipse.graphiti.mm.algorithms.RoundedRectangle;
-import org.eclipse.graphiti.mm.algorithms.Text;
-import org.eclipse.graphiti.mm.algorithms.styles.LineStyle;
-import org.eclipse.graphiti.mm.algorithms.styles.Orientation;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.graphiti.services.Graphiti;
-import org.eclipse.graphiti.util.IPredefinedRenderingStyle;
-import org.eclipse.graphiti.util.PredefinedColoredAreas;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IPackageDeclaration;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.internal.core.SourceType;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.context.AttributeMapping;
-import org.eclipse.jpt.jpa.core.context.java.JavaMappedSuperclass;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.util.ModelIntegrationUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IAddEntityContext;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.JPAEditorImageProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.GraphicsUpdater;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants.ShapeType;
-
-
-@SuppressWarnings({ "restriction" })
-public class AddJPAEntityFeature extends AbstractAddShapeFeature {
-
- private IPeUtilFacade facade;
- private static ContainerShape primaryShape;
- private static ContainerShape relationShape;
- private static ContainerShape basicShape;
-
-
- public AddJPAEntityFeature(IFeatureProvider fp) {
- super(fp);
- facade = new PeUtilFacade();
- }
-
- public AddJPAEntityFeature(IFeatureProvider fp, IPeUtilFacade facade) {
- super(fp);
- this.facade = facade;
- }
-
- public boolean canAdd(IAddContext context) {
- Object newObj = context.getNewObject();
-
- if (newObj instanceof JavaPersistentType) {
- if (context.getTargetContainer() instanceof Diagram) {
- JavaPersistentType jpt = (JavaPersistentType) newObj;
- return checkJPTForAdding(jpt);
- }
- } else if (newObj instanceof ICompilationUnit) {
- if (context.getTargetContainer() instanceof Diagram) {
- ICompilationUnit cu = (ICompilationUnit) newObj;
- JavaPersistentType jpt = JPAEditorUtil.getJPType(cu);
- return checkJPTForAdding(jpt);
- }
- } if (newObj instanceof SourceType) {
- if (context.getTargetContainer() instanceof Diagram) {
- ICompilationUnit cu = ((SourceType)newObj).getCompilationUnit();
- JavaPersistentType jpt = JPAEditorUtil.getJPType(cu);
- return checkJPTForAdding(jpt);
- }
- }
- return false;
- }
-
- private boolean checkJPTForAdding(JavaPersistentType jpt) {
- if (jpt == null)
- return false;
-
- PictogramElement[] pictograms = getFeatureProvider()
- .getAllPictogramElementsForBusinessObject(jpt);
- JpaProject proj = ModelIntegrationUtil.getProjectByDiagram(getDiagram());
- if (proj != null)
- if (proj != jpt.getJpaProject())
- return false;
- return (pictograms == null) || (pictograms.length == 0);
- }
-
- public IJPAEditorFeatureProvider getFeatureProvider() {
- return (IJPAEditorFeatureProvider) super.getFeatureProvider();
- }
-
- public PictogramElement add(IAddContext context) {
- IJPAEditorFeatureProvider fp = getFeatureProvider();
- Object newObj = context.getNewObject();
- JavaPersistentType jpt = null;
- if (newObj instanceof JavaPersistentType) {
- jpt = (JavaPersistentType) newObj;
- if (jpt.getMapping() instanceof JavaMappedSuperclass) {
- jpt = createEntityFromExistingMappedSuperclass(fp, jpt);
- }
- } else if (newObj instanceof ICompilationUnit) {
- ICompilationUnit cu = (ICompilationUnit) newObj;
- jpt = JPAEditorUtil.getJPType(cu);
- if (jpt.getMapping() instanceof JavaMappedSuperclass) {
- jpt = createEntityFromExistingMappedSuperclass(fp, jpt);
- }
-
- } else if (newObj instanceof SourceType) {
- ICompilationUnit cu = ((SourceType)newObj).getCompilationUnit();
- jpt = JPAEditorUtil.getJPType(cu);
- }
- final Diagram targetDiagram = (Diagram) context.getTargetContainer();
-
- ContainerShape entityShape = facade.createContainerShape(targetDiagram, true);
-
- createEntityRectangle(context, entityShape,
- this.getFeatureProvider().getDiagramTypeProvider().getDiagram());
- link(entityShape, jpt);
- Shape shape = Graphiti.getPeService().createShape(entityShape, false);
- Polyline headerBottomLine = Graphiti.getGaService().createPolyline(shape, new int[] { 0,
- 30, JPAEditorConstants.ENTITY_WIDTH, 30 });
- headerBottomLine
- .setForeground(manageColor(JPAEditorConstants.ENTITY_BORDER_COLOR));
- headerBottomLine.setLineWidth(JPAEditorConstants.ENTITY_BORDER_WIDTH);
-
- addHeader(jpt, entityShape, JPAEditorConstants.ENTITY_WIDTH);
-
- createCompartments(context, jpt, entityShape);
- fillCompartments(jpt,entityShape);
-
- String key = fp.getKeyForBusinessObject(jpt);
- if (fp.getBusinessObjectForKey(key) == null)
- fp.putKeyToBusinessObject(key, jpt);
-
- Graphiti.getPeService().createChopboxAnchor(entityShape);
- entityShape.setVisible(true);
- layoutPictogramElement(entityShape);
-
- UpdateAttributeFeature updateFeature = new UpdateAttributeFeature(fp);
- updateFeature.reconnect(jpt);
-
- return entityShape;
- }
-
- private JavaPersistentType createEntityFromExistingMappedSuperclass(
- IJPAEditorFeatureProvider fp, JavaPersistentType jpt) {
- ICreateContext cont = new CreateContext();
- String packageName = null;
- try {
- packageName = getMappedSuperclassPackageDeclaration(fp, jpt,
- packageName);
- } catch (JavaModelException e) {
- e.printStackTrace();
- }
-
- boolean hasPrimaryKey = hasMappedSuperclassPrimaryKeyAttribute(jpt);
-
- CreateJPAEntityFeature createFeature = new CreateJPAEntityFeature(fp,
- true, jpt.getName(), packageName, hasPrimaryKey);
- Object[] objects = createFeature.create(cont);
- if (objects.length != 0) {
- Object obj = objects[0];
- if (obj instanceof JavaPersistentType) {
- jpt = (JavaPersistentType) obj;
- }
- }
- return jpt;
- }
-
- private boolean hasMappedSuperclassPrimaryKeyAttribute(
- JavaPersistentType jpt) {
- Iterator<AttributeMapping> iter = ((JavaMappedSuperclass) jpt
- .getMapping()).allAttributeMappings();
- while (iter.hasNext()) {
- AttributeMapping map = iter.next();
- if (map.getPrimaryKeyColumnName() != null) {
- return true;
- }
- }
- return false;
- }
-
- private String getMappedSuperclassPackageDeclaration(
- IJPAEditorFeatureProvider fp, JavaPersistentType jpt,
- String packageName) throws JavaModelException {
- IPackageDeclaration[] packages = fp.getCompilationUnit(jpt)
- .getPackageDeclarations();
- if (packages.length > 0) {
- IPackageDeclaration packageDecl = packages[0];
- packageName = packageDecl.getElementName();
- }
- return packageName;
- }
-
- private void createCompartments(IAddContext context, JavaPersistentType jpt,
- ContainerShape entityShape) {
- primaryShape = createCompartmentRectangle(entityShape, JPAEditorConstants.ENTITY_MIN_HEIGHT, JPAEditorMessages.AddJPAEntityFeature_primaryKeysShape);
- relationShape = createCompartmentRectangle(entityShape, GraphicsUpdater.getNextCompartmentY(primaryShape) + JPAEditorConstants.SEPARATOR_HEIGHT,
- JPAEditorMessages.AddJPAEntityFeature_relationAttributesShapes);
- basicShape = createCompartmentRectangle(entityShape, GraphicsUpdater.getNextCompartmentY(relationShape) + JPAEditorConstants.SEPARATOR_HEIGHT, JPAEditorMessages.AddJPAEntityFeature_basicAttributesShapes);
- if (IAddEntityContext.class.isInstance(context)) {
- IAddEntityContext entityContext = (IAddEntityContext) context;
- GraphicsUpdater.setCollapsed(primaryShape, entityContext.isPrimaryCollapsed());
- GraphicsUpdater.setCollapsed(basicShape, entityContext.isBasicCollapsed());
- GraphicsUpdater.setCollapsed(relationShape, entityContext.isRelationCollapsed());
- } else {
- GraphicsUpdater.setCollapsed(primaryShape, false);
- GraphicsUpdater.setCollapsed(basicShape, false);
- GraphicsUpdater.setCollapsed(relationShape, false);
- }
- }
-
- private void fillCompartments(JavaPersistentType jpt, ContainerShape entityShape) {
- String[] primaryKeyAnnotations = new String[] {JPAEditorConstants.ANNOTATION_ID, JPAEditorConstants.ANNOTATION_EMBEDDED_ID};
- for(String annotation : primaryKeyAnnotations){
- addCompartmentChildren(primaryShape, jpt, annotation);
- }
- String[] relationAnnotations = new String[] {JPAEditorConstants.ANNOTATION_MANY_TO_MANY,
- JPAEditorConstants.ANNOTATION_MANY_TO_ONE, JPAEditorConstants.ANNOTATION_ONE_TO_MANY,
- JPAEditorConstants.ANNOTATION_ONE_TO_ONE};
- for(String annotation : relationAnnotations){
- addCompartmentChildren(relationShape, jpt, annotation);
- }
- addBasicAttributes(basicShape, jpt);
- GraphicsUpdater.updateEntityShape(entityShape);
- }
-
- private ContainerShape createCompartmentRectangle(
- ContainerShape entityShape, int y, String attribTxt) {
- int width = entityShape.getGraphicsAlgorithm().getWidth();
- ContainerShape containerShape = Graphiti.getPeService().createContainerShape(
- entityShape, false);
- Graphiti.getPeService().setPropertyValue(containerShape,
- JPAEditorConstants.PROP_SHAPE_TYPE, ShapeType.COMPARTMENT
- .toString());
- Rectangle rect = addCompartmentRectangle(y, width, containerShape);
-
- addCompartmentHeaderText(attribTxt, width, rect);
-
- UpdateAttributeFeature updateFeature = new UpdateAttributeFeature(getFeatureProvider());
-
- updateFeature.addSeparatorsToShape(containerShape);
-
- return containerShape;
- }
-
- private Rectangle addCompartmentRectangle(int y, int width,
- ContainerShape containerShape) {
- Rectangle rect = Graphiti.getGaService().createRectangle(containerShape);
- rect.setFilled(false);
- rect.setLineVisible(false);
- rect.setHeight(0);
- rect.setWidth(width);
- rect.setX(0);
- rect.setY(y);
- containerShape.setActive(true);
- return rect;
- }
-
- private void addCompartmentHeaderText(String attribTxt, int width,
- Rectangle rect) {
- IJPAEditorFeatureProvider fp = getFeatureProvider();
- Text text = UpdateAttributeFeature.addText(fp, rect, attribTxt);
- text.getFont().setSize(7);
- text.getFont().setItalic(true);
- text.getFont().setBold(false);
- Graphiti.getGaService().setWidth(text, width);
- Graphiti.getGaService().setLocationAndSize(text, 0, 2, width,
- 13);
- text.setHorizontalAlignment(Orientation.ALIGNMENT_CENTER);
- text.setVerticalAlignment(Orientation.ALIGNMENT_CENTER);
- }
-
- private void addCompartmentChildren(
- ContainerShape containerShape, JavaPersistentType jpt,
- String attributeAnnotations) {
- List<JavaPersistentAttribute> attributes = new ArrayList<JavaPersistentAttribute>();
-
- ListIterator<JavaPersistentAttribute> attributesIterator = jpt
- .attributes();
- while (attributesIterator.hasNext()) {
- JavaPersistentAttribute attribute = attributesIterator.next();
- HashSet<String> annotations = JpaArtifactFactory.instance().getAnnotationNames(attribute);
- if (annotations.contains(attributeAnnotations)) {
- attributes.add(attribute);
- }
- }
- addAttributes(containerShape, attributes);
- }
-
- private void addBasicAttributes(ContainerShape containerShape, JavaPersistentType jpt){
- List<JavaPersistentAttribute> attributes = new ArrayList<JavaPersistentAttribute>();
-
- ListIterator<JavaPersistentAttribute> attributesIterator = jpt.attributes();
- while(attributesIterator.hasNext()){
- JavaPersistentAttribute attribute = attributesIterator.next();
- HashSet<String> annotations = JpaArtifactFactory.instance().getAnnotationNames(attribute);
- if(!(annotations.contains(JPAEditorConstants.ANNOTATION_ID))&& !(annotations.contains(JPAEditorConstants.ANNOTATION_EMBEDDED_ID)) && !(annotations.contains(JPAEditorConstants.ANNOTATION_MANY_TO_MANY)) &&
- !(annotations.contains(JPAEditorConstants.ANNOTATION_MANY_TO_ONE)) && !(annotations.contains(JPAEditorConstants.ANNOTATION_ONE_TO_MANY))&&
- !(annotations.contains(JPAEditorConstants.ANNOTATION_ONE_TO_ONE)) || annotations.isEmpty()){
- attributes.add(attribute);
- }
- }
- addAttributes(containerShape, attributes);
- }
-
- private void addAttributes(ContainerShape entityShape,
- List<JavaPersistentAttribute> attributes) {
- for (int i = 0; i < attributes.size(); i++) {
- JavaPersistentAttribute jpa = attributes.get(i);
- addAttribute(jpa, entityShape);
- }
- }
-
- public interface IPeUtilFacade {
- public ContainerShape createContainerShape(Diagram diagram, boolean b);
- }
-
- public static RoundedRectangle createEntityRectangle(IAddContext context,
- ContainerShape entityShape, Diagram diagram) {
-
- RoundedRectangle entityRectangle = Graphiti.getGaService().createRoundedRectangle(
- entityShape, JPAEditorConstants.ENTITY_CORNER_WIDTH,
- JPAEditorConstants.ENTITY_CORNER_HEIGHT);
- entityRectangle
- .setForeground(Graphiti.getGaService().manageColor(diagram, JPAEditorConstants.ENTITY_BORDER_COLOR));
- entityRectangle
- .setBackground(Graphiti.getGaService().manageColor(diagram, JPAEditorConstants.ENTITY_BACKGROUND));
- Graphiti.getGaService().setRenderingStyle(entityRectangle.getPictogramElement().getGraphicsAlgorithm(),
- PredefinedColoredAreas.getAdaptedGradientColoredAreas(IPredefinedRenderingStyle.BLUE_WHITE_GLOSS_ID));
- entityRectangle.setLineWidth(JPAEditorConstants.ENTITY_BORDER_WIDTH);
- entityRectangle.setLineStyle(LineStyle.SOLID);
- Graphiti.getGaService().setLocationAndSize(entityRectangle, context
- .getX(), context.getY(),
- (context.getWidth() == -1) ? JPAEditorConstants.ENTITY_WIDTH
- : context.getWidth(),
- (context.getHeight() == -1) ? JPAEditorConstants.ENTITY_HEIGHT
- : context.getHeight());
- return entityRectangle;
- }
-
- private static class PeUtilFacade implements IPeUtilFacade {
- public ContainerShape createContainerShape(Diagram diagram, boolean b) {
- return Graphiti.getPeService().createContainerShape(diagram, true);
- }
- }
-
- private ContainerShape addHeader(JavaPersistentType addedWrapper,
- ContainerShape entityShape, int width) {
-
- ContainerShape headerIconShape = Graphiti.getPeService().createContainerShape(
- entityShape, false);
- Rectangle iconRect = Graphiti.getGaService().createRectangle(headerIconShape);
- iconRect.setFilled(false);
- iconRect.setLineVisible(false);
- iconRect.setHeight(JPAEditorConstants.ICON_RECT_HEIGHT);
- iconRect.setX(0);
- iconRect.setWidth(JPAEditorConstants.HEADER_ICON_RECT_WIDTH);
- iconRect.setHeight(JPAEditorConstants.HEADER_ICON_RECT_HEIGHT);
- iconRect.setY(0);
- Image headerIcon = Graphiti.getGaService().createImage(iconRect,
- JPAEditorImageProvider.JPA_ENTITY);
- Graphiti.getGaService().setLocationAndSize(headerIcon,
- JPAEditorConstants.ICON_HEADER_X,
- JPAEditorConstants.ICON_HEADER_Y,
- JPAEditorConstants.ICON_WIDTH,
- JPAEditorConstants.ICON_HEIGHT);
- Graphiti.getPeService().setPropertyValue(headerIconShape,
- JPAEditorConstants.PROP_SHAPE_TYPE, ShapeType.ICON.toString());
-
- ContainerShape entityHeaderTextShape = Graphiti.getPeService().createContainerShape(entityShape, false);
- Graphiti.getPeService()
- .setPropertyValue(entityHeaderTextShape,
- JPAEditorConstants.PROP_SHAPE_TYPE, ShapeType.HEADER
- .toString());
- Rectangle headerRect = Graphiti.getGaService().createRectangle(entityHeaderTextShape);
- headerRect.setFilled(false);
- headerRect.setLineVisible(false);
- headerRect.setWidth(width - JPAEditorConstants.HEADER_TEXT_RECT_WIDTH_REDUCER);
- headerRect.setHeight(JPAEditorConstants.HEADER_TEXT_RECT_HEIGHT);
- headerRect.setY(2);
- headerRect.setX(JPAEditorConstants.HEADER_TEXT_RECT_X);
-
- String headerTextString = JPAEditorUtil.getText(addedWrapper);
- ICompilationUnit cu = getFeatureProvider().getCompilationUnit(addedWrapper);
- JPAEditorUtil.becomeWorkingCopy(cu);
- headerTextString = JPAEditorUtil.returnSimpleName(headerTextString);
- try {
- if (cu.hasUnsavedChanges()) {
- headerTextString = "* " + headerTextString; //$NON-NLS-1$
- }
- } catch (JavaModelException e) {
- System.err.println("Cannot check compilation unit for unsaved changes"); //$NON-NLS-1$
- e.printStackTrace();
- }
- Text headerTextObj = Graphiti.getGaService().createDefaultText(getDiagram(), headerRect,
- headerTextString);
- headerTextObj
- .setForeground(manageColor(JPAEditorConstants.ENTITY_TEXT_FOREGROUND));
- headerTextObj.setHorizontalAlignment(Orientation.ALIGNMENT_LEFT);
- headerTextObj.setVerticalAlignment(Orientation.ALIGNMENT_TOP);
- headerTextObj.getFont().setBold(true);
- Graphiti.getGaService().setLocationAndSize(headerTextObj, 1, 2,
- width, 20);
-
- return entityHeaderTextShape;
-
- }
-
- @SuppressWarnings("deprecation")
- private void addAttribute(JavaPersistentAttribute pa,
- ContainerShape compartmentShape) {
- IJPAEditorFeatureProvider fp = getFeatureProvider();
- fp.putKeyToBusinessObject(fp.getKeyForBusinessObject(pa), pa);
- JavaPersistentType jpt = (JavaPersistentType)pa.getParent();
- String key = fp.getKeyForBusinessObject(jpt);
- if (fp.getBusinessObjectForKey(key) == null)
- fp.putKeyToBusinessObject(key, jpt);
- UpdateAttributeFeature updateFeature = new UpdateAttributeFeature(fp);
- updateFeature.addAttributes(compartmentShape.getContainer(), pa);
- updateFeature = null;
- }
-
-} \ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/AddRelationFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/AddRelationFeature.java
deleted file mode 100644
index c8c62db78c..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/AddRelationFeature.java
+++ /dev/null
@@ -1,295 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Kiril Mitov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import static org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.IRelation.RelDir.UNI;
-import static org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.IRelation.RelType.MANY_TO_MANY;
-import static org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.IRelation.RelType.MANY_TO_ONE;
-import static org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.IRelation.RelType.ONE_TO_MANY;
-import static org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.IRelation.RelType.ONE_TO_ONE;
-
-import java.util.List;
-
-import org.eclipse.emf.transaction.RecordingCommand;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.transaction.util.TransactionUtil;
-import org.eclipse.graphiti.features.IAddBendpointFeature;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.IAddConnectionContext;
-import org.eclipse.graphiti.features.context.IAddContext;
-import org.eclipse.graphiti.features.context.impl.AddBendpointContext;
-import org.eclipse.graphiti.features.impl.AbstractAddFeature;
-import org.eclipse.graphiti.mm.pictograms.ConnectionDecorator;
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-import org.eclipse.graphiti.mm.pictograms.FreeFormConnection;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.services.Graphiti;
-import org.eclipse.jpt.jpa.core.context.java.JavaAttributeMapping;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpa.core.resource.java.ManyToOneAnnotation;
-import org.eclipse.jpt.jpa.core.resource.java.OneToOneAnnotation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorImageCreator;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.JPAEditorImageCreator;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.IRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.IRelation.RelDir;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.IRelation.RelType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IJPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtilImpl;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.Wrp;
-import org.eclipse.swt.graphics.Point;
-
-
-public class AddRelationFeature extends AbstractAddFeature {
-
- private static final double START_COEFFICIENT = 0.1;
-
- private IJPAEditorImageCreator imageCreator;
- private IJPAEditorUtil jpaEditorUtil;
-
- public AddRelationFeature(IFeatureProvider fp) {
- this(fp, new JPAEditorImageCreator(), new JPAEditorUtilImpl());
- }
-
- public AddRelationFeature(IFeatureProvider fp,
- IJPAEditorImageCreator imageCreator,
- IJPAEditorUtil jpaEditorUtil) {
- super(fp);
- this.imageCreator = imageCreator;
- this.jpaEditorUtil = jpaEditorUtil;
- }
-
- public PictogramElement add(IAddContext context) {
- final IAddConnectionContext addConContext = (IAddConnectionContext) context;
- final IRelation relation = (IRelation) context.getNewObject();
- final Diagram diagram = getDiagram();
- final Wrp wrp = new Wrp();
- TransactionalEditingDomain ted = TransactionUtil.getEditingDomain(diagram);
- RecordingCommand rc = new RecordingCommand(ted) {
- protected void doExecute() {
- FreeFormConnection connection = createConnection(addConContext, relation, diagram);
- imageCreator.createConnectionLine(diagram, connection);
- getFeatureProvider().putKeyToBusinessObject(relation.getId(), relation);
- link(connection, relation);
- layoutPictogramElement(connection);
- wrp.setObj(connection);
- }
- };
- try {
- ted.getCommandStack().execute(rc);
- } catch (Exception e){
-
- }
-
- return (PictogramElement)wrp.getObj();
- }
-
- private FreeFormConnection createConnection(IAddConnectionContext addConContext, IRelation relation,
- final Diagram diagram) {
- FreeFormConnection connection = getFeatureProvider().getPeUtil().createFreeFormConnection(diagram);
- connection.setStart(addConContext.getSourceAnchor());
- connection.setEnd(addConContext.getTargetAnchor());
- connection.setVisible(true);
- connection.setActive(true);
- List<Point> points = jpaEditorUtil.createBendPointList(connection, relation.getOwner() == relation.getInverse());
- for (int i = 0; i < points.size(); i++) {
- Point p = points.get(i);
- AddBendpointContext ctx = new AddBendpointContext(connection, p.x, p.y, i);
- IAddBendpointFeature ft =getFeatureProvider().getAddBendpointFeature(ctx);
- ft.addBendpoint(ctx);
- }
- addDecorators(connection, relation);
- addTextDecorators(connection, relation);
- return connection;
- }
-
- private void addDecorators(FreeFormConnection connection, IRelation relation) {
- RelDir direction = relation.getRelDir();
- RelType type = relation.getRelType();
- if (ONE_TO_ONE.equals(type)) {
- addOneToOneDecorator(connection, direction, relation);
- } else if (ONE_TO_MANY.equals(type) && UNI.equals(direction)) {
- addOneToManyDecorator(connection, relation);
- } else if (MANY_TO_ONE.equals(type)) {
- addManyToOneDecorator(connection, direction, relation);
- } else if (MANY_TO_MANY.equals(type)) {
- addManyToManyDecorator(connection, direction, relation);
- }
- }
-
- private void addTextDecorators(FreeFormConnection connection, IRelation relation) {
- RelDir direction = relation.getRelDir();
- RelType type = relation.getRelType();
- if (ONE_TO_ONE.equals(type)) {
- addOneToOneTextDecorator(connection, direction, relation);
- } else if (ONE_TO_MANY.equals(type) && UNI.equals(direction)) {
- addOneToManyTextDecorator(connection, relation);
- } else if (MANY_TO_ONE.equals(type)) {
- addManyToOneTextDecorator(connection, direction, relation);
- } else if (MANY_TO_MANY.equals(type)) {
- addManyToManyTextDecorator(connection, direction, relation);
- }
- }
-
-
- private void addOneToOneDecorator(FreeFormConnection c, RelDir direction, IRelation rel) {
- double startCoefficient = START_COEFFICIENT;
- double endCoefficient = 1.0 - startCoefficient;
- int len = JPAEditorUtil.calcConnectionLength(c);
- if (UNI.equals(direction)) {
- ConnectionDecorator d = imageCreator.createArrowConnectionDecorator(c, endCoefficient);
- Graphiti.getGaService().setLocation(d.getGraphicsAlgorithm(),Math.round(-len/10), 0);
- }
- }
-
- private void addOneToManyDecorator(FreeFormConnection c, IRelation rel) {
- double startCoefficient = START_COEFFICIENT;
- double endCoefficient = 1.0 - startCoefficient;
- int len = JPAEditorUtil.calcConnectionLength(c);
- ConnectionDecorator d = imageCreator.createManyEndWithArrowDecorator(c, endCoefficient);
- Graphiti.getGaService().setLocation(d.getGraphicsAlgorithm(),Math.round(-len/10), 0);
- }
-
- private void addManyToOneDecorator(FreeFormConnection c, RelDir direction, IRelation rel) {
- JpaArtifactFactory.instance().refreshEntityModel(null, rel.getOwner());
- double startCoefficient = START_COEFFICIENT;
- double endCoefficient = 1.0 - startCoefficient;
- int len = JPAEditorUtil.calcConnectionLength(c);
- ConnectionDecorator d1 = imageCreator.createManyStartDecorator(c, startCoefficient);
- Graphiti.getGaService().setLocation(d1.getGraphicsAlgorithm(),Math.round(len/10), 0);
- if (UNI.equals(direction)) {
- ConnectionDecorator d2 = imageCreator.createArrowConnectionDecorator(c, endCoefficient);
- Graphiti.getGaService().setLocation(d2.getGraphicsAlgorithm(),Math.round(-len/10), 0);
- }
- }
-
- private void addManyToManyDecorator(FreeFormConnection c, RelDir direction, IRelation rel) {
- JpaArtifactFactory.instance().refreshEntityModel(null, rel.getOwner());
- double startCoefficient = START_COEFFICIENT;
- double endCoefficient = 1.0 - startCoefficient;
- int len = JPAEditorUtil.calcConnectionLength(c);
- ConnectionDecorator d1 = imageCreator.createManyStartDecorator(c, startCoefficient);
- Graphiti.getGaService().setLocation(d1.getGraphicsAlgorithm(),Math.round(len/10), 0);
- if (UNI.equals(direction)) {
- ConnectionDecorator d = imageCreator.createManyEndWithArrowDecorator(c, endCoefficient);
- Graphiti.getGaService().setLocation(d.getGraphicsAlgorithm(),Math.round(-len/10), 0);
- } else {
- JpaArtifactFactory.instance().refreshEntityModel(null, rel.getInverse());
- ConnectionDecorator d = imageCreator.createManyEndDecorator(c, endCoefficient);
- Graphiti.getGaService().setLocation(d.getGraphicsAlgorithm(),Math.round(-len/10), 0);
- }
- }
-
-
-
-
-
-
- private void addOneToOneTextDecorator(FreeFormConnection c, RelDir direction, IRelation rel) {
- JpaArtifactFactory.instance().refreshEntityModel(null, rel.getOwner());
- OneToOneAnnotation a = null;
- Boolean optional;
- boolean isOptional = false;
- if (RelDir.UNI.equals(direction)) {
- isOptional = true;
- } else {
- JavaPersistentAttribute inverse = rel.getInverse().getAttributeNamed(rel.getInverseAttributeName());
- JpaArtifactFactory.instance().refreshEntityModel(null, (JavaPersistentType)inverse.getParent());
- JavaAttributeMapping mapping = inverse.getMapping();
- a = (OneToOneAnnotation)mapping.getMappingAnnotation();
- if (a != null) {
- optional = a.getOptional();
- isOptional = (optional == null) ? true : optional.booleanValue();
- imageCreator.createCardinalityConnectionDecorator(getDiagram(), c, isOptional ? JPAEditorConstants.CARDINALITY_ZERO_ONE : JPAEditorConstants.CARDINALITY_ONE, 0.0);
- }
- }
- JpaArtifactFactory.instance().refreshEntityModel(null, rel.getOwner());
- JavaPersistentAttribute owner = rel.getOwner().getAttributeNamed(rel.getOwnerAttributeName());
- owner.update();
- JavaAttributeMapping mapping = owner.getMapping();
- a = (OneToOneAnnotation)mapping.getMappingAnnotation();
- if (a == null)
- return;
- optional = a.getOptional();
- isOptional = (optional == null) ? true : optional.booleanValue();
- imageCreator.createCardinalityConnectionDecorator(getDiagram(), c, isOptional ? JPAEditorConstants.CARDINALITY_ZERO_ONE : JPAEditorConstants.CARDINALITY_ONE, 1.0);
- imageCreator.createCardinalityConnectionDecorator(getDiagram(), c, rel.getOwnerAttributeName(), 0.0);
- if (!UNI.equals(direction)) {
- JpaArtifactFactory.instance().refreshEntityModel(null, rel.getInverse());
- imageCreator.createCardinalityConnectionDecorator(getDiagram(), c, rel.getInverseAttributeName(), 1.0);
- }
- }
-
- private void addOneToManyTextDecorator(FreeFormConnection c, IRelation rel) {
- JpaArtifactFactory.instance().refreshEntityModel(null, rel.getOwner());
- imageCreator.createCardinalityConnectionDecorator(getDiagram(), c, JPAEditorConstants.CARDINALITY_ZERO_ONE, 0.0);
- imageCreator.createCardinalityConnectionDecorator(getDiagram(), c, JPAEditorConstants.CARDINALITY_ZERO_N, 1.0);
- imageCreator.createCardinalityConnectionDecorator(getDiagram(), c, rel.getOwnerAttributeName(), 0.0);
- }
-
- private void addManyToOneTextDecorator(FreeFormConnection c, RelDir direction, IRelation rel) {
- JpaArtifactFactory.instance().refreshEntityModel(null, rel.getOwner());
- imageCreator.createCardinalityConnectionDecorator(getDiagram(), c, JPAEditorConstants.CARDINALITY_ZERO_N, 0.0);
- imageCreator.createCardinalityConnectionDecorator(getDiagram(), c, rel.getOwnerAttributeName(), 0.0);
- JavaPersistentAttribute owner = rel.getOwner().getAttributeNamed(rel.getOwnerAttributeName());
- JavaAttributeMapping mapping = owner.getMapping();
- ManyToOneAnnotation a = (ManyToOneAnnotation)mapping.getMappingAnnotation();
- if (a == null)
- return;
- Boolean optional = a.getOptional();
- boolean isOptional = (optional == null) ? true : optional.booleanValue();
- imageCreator.createCardinalityConnectionDecorator(getDiagram(), c, isOptional ?
- JPAEditorConstants.CARDINALITY_ZERO_ONE :
- JPAEditorConstants.CARDINALITY_ONE, 1.0);
- if (!UNI.equals(direction)) {
- JpaArtifactFactory.instance().refreshEntityModel(null, rel.getInverse());
- imageCreator.createCardinalityConnectionDecorator(getDiagram(), c, rel.getInverseAttributeName(), 1.0);
- }
- }
-
- private void addManyToManyTextDecorator(FreeFormConnection c, RelDir direction, IRelation rel) {
- JpaArtifactFactory.instance().refreshEntityModel(null, rel.getOwner());
- imageCreator.createCardinalityConnectionDecorator(getDiagram(), c, JPAEditorConstants.CARDINALITY_ZERO_N, 0.0);
- imageCreator.createCardinalityConnectionDecorator(getDiagram(), c, JPAEditorConstants.CARDINALITY_ZERO_N, 1.0);
- imageCreator.createCardinalityConnectionDecorator(getDiagram(), c, rel.getOwnerAttributeName(), 0.0);
- if (!UNI.equals(direction)) {
- JpaArtifactFactory.instance().refreshEntityModel(null, rel.getInverse());
- imageCreator.createCardinalityConnectionDecorator(getDiagram(), c, rel.getInverseAttributeName(), 1.0);
- }
- }
-
-
-
-
-
-
- public boolean canAdd(IAddContext context) {
- if (context instanceof IAddConnectionContext && context.getNewObject() instanceof IRelation) {
- return true;
- }
- return false;
- }
-
- public IJPAEditorFeatureProvider getFeatureProvider() {
- return (IJPAEditorFeatureProvider)super.getFeatureProvider();
- }
-
-}
-
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/ClickAddAttributeButtonFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/ClickAddAttributeButtonFeature.java
deleted file mode 100644
index fd885261f6..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/ClickAddAttributeButtonFeature.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.IContext;
-import org.eclipse.graphiti.features.context.ICreateContext;
-import org.eclipse.graphiti.features.impl.AbstractCreateFeature;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchSite;
-
-
-public class ClickAddAttributeButtonFeature extends AbstractCreateFeature {
-
- public ClickAddAttributeButtonFeature(IFeatureProvider provider) {
- super(provider, "", ""); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- public boolean canExecute(IContext context) {
- return true;
- }
-
- public boolean canUndo(IContext context) {
- return false;
- }
-
- public boolean canCreate(ICreateContext context) {
- return true;
- }
-
- public Object[] create(ICreateContext context) {
- ContainerShape entityShape = context.getTargetContainer();
- JavaPersistentType jpt = (JavaPersistentType)getFeatureProvider().getBusinessObjectForPictogramElement(entityShape);
- String newAttrName = JpaArtifactFactory.instance().createNewAttribute(jpt, false, getFeatureProvider());
- JpaArtifactFactory.instance().refreshEntityModel(getFeatureProvider(), jpt);
- JavaPersistentAttribute newAttr = jpt.getAttributeNamed(newAttrName);
- int cnt = 0;
- while ((newAttr == null) && (cnt < 25)) {
- newAttr = jpt.getAttributeNamed(newAttrName);
- if (newAttr == null) {
- try {
- Thread.sleep(200);
- } catch (InterruptedException e) {
- System.err.println("Thread sleep interrupted"); //$NON-NLS-1$
- e.printStackTrace();
- }
- }
- cnt++;
- }
- getFeatureProvider().addAddIgnore((JavaPersistentType)newAttr.getParent(), newAttr.getName());
- addGraphicalRepresentation(context, newAttr);
- getFeatureProvider().getDirectEditingInfo().setActive(true);
-
- IWorkbenchSite ws = ((IEditorPart)getDiagramEditor()).getSite();
- ICompilationUnit cu = getFeatureProvider().getCompilationUnit(jpt);
- getFeatureProvider().getJPAEditorUtil().formatCode(cu, ws);
-
- return new Object[] {newAttr};
- }
-
- public boolean isAvailable(IContext context) {
- return true;
- }
-
- public String getName() {
- return JPAEditorMessages.ClickAddAttributeButtonFeature_createAttributeButtonLabel;
- }
-
- public String getDescription() {
- return JPAEditorMessages.ClickAddAttributeButtonFeature_createAttributeButtonDescription;
- }
-
- public IJPAEditorFeatureProvider getFeatureProvider() {
- return (IJPAEditorFeatureProvider)super.getFeatureProvider();
- }
-
-
-} \ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/ClickRemoveAttributeButtonFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/ClickRemoveAttributeButtonFeature.java
deleted file mode 100644
index d60606f2ae..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/ClickRemoveAttributeButtonFeature.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import java.text.MessageFormat;
-
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.IContext;
-import org.eclipse.graphiti.features.context.IDeleteContext;
-import org.eclipse.graphiti.internal.features.context.impl.base.PictogramElementContext;
-import org.eclipse.graphiti.mm.algorithms.Text;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.ui.features.DefaultDeleteFeature;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-
-
-
-@SuppressWarnings("restriction")
-public class ClickRemoveAttributeButtonFeature extends DefaultDeleteFeature {
-
- private String attrName = ""; //$NON-NLS-1$
-
- public ClickRemoveAttributeButtonFeature(IFeatureProvider provider) {
- super(provider);
- }
-
- protected String getQuestionToUser() {
- return MessageFormat.format(JPAEditorMessages.ClickRemoveAttributeButtonFeature_deleteAttributeQuestion, new Object[] {attrName});
- }
-
-
- public boolean canUndo(IContext context) {
- return false;
- }
-
- private String getAttrName(ContainerShape textShape) {
- String txt = ((Text)(textShape.getGraphicsAlgorithm().getGraphicsAlgorithmChildren().get(0))).getValue();
- String attrName = txt.substring(txt.indexOf(':') + 1);
- attrName = attrName.trim();
- return attrName;
- }
-
- private void deleteAttribute(ContainerShape pe, String attrName) {
- JavaPersistentType jpt = (JavaPersistentType)getFeatureProvider().getBusinessObjectForPictogramElement(pe.getContainer().getContainer());
- JpaArtifactFactory.instance().deleteAttribute(jpt, attrName, getFeatureProvider());
- }
-
- public void delete(IDeleteContext context) {
- delete(context, true);
- }
-
- @Override
- public void preDelete(IDeleteContext context) {
- super.preDelete(context);
- }
-
- public void delete(IDeleteContext context, boolean haveToAsk) {
- PictogramElementContext ctx = (PictogramElementContext)context;
- ContainerShape textShape = (ContainerShape)ctx.getPictogramElement();
- if ((textShape == null) || textShape.getGraphicsAlgorithm() == null)
- return;
- String attrName = getAttrName(textShape);
- this.attrName = attrName;
- if (haveToAsk) {
- if (!getUserDecision()) {
- return;
- }
- }
-
- preDelete(context);
- if (textShape.getGraphicsAlgorithm() == null){
- return;
- }
- deleteAttribute(textShape, attrName);
- }
-
-
- protected void deleteBusinessObjects(Object[] businessObjects) {
- if (businessObjects != null) {
- for (Object bo : businessObjects) {
- deleteBusinessObject(bo);
- }
- }
- }
-
- public boolean isAvailable(IContext context) {
- return true;
- }
-
- public String getName() {
- return JPAEditorMessages.ClickRemoveAttributeButtonFeature_createAttributeButtonlabel;
- }
-
- public String getDescription() {
- return JPAEditorMessages.ClickRemoveAttributeButtonFeature_createAttributeButtonDescription;
- }
-
- public IJPAEditorFeatureProvider getFeatureProvider() {
- return (IJPAEditorFeatureProvider)super.getFeatureProvider();
- }
-
-
-} \ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CollapseAllEntitiesFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CollapseAllEntitiesFeature.java
deleted file mode 100644
index 28fe0b34cb..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CollapseAllEntitiesFeature.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.transaction.RecordingCommand;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.transaction.util.TransactionUtil;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.IContext;
-import org.eclipse.graphiti.features.context.ICustomContext;
-import org.eclipse.graphiti.features.custom.AbstractCustomFeature;
-import org.eclipse.graphiti.features.custom.ICustomFeature;
-import org.eclipse.graphiti.mm.algorithms.GraphicsAlgorithm;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.graphiti.services.Graphiti;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-
-
-public class CollapseAllEntitiesFeature extends AbstractCustomFeature implements ICustomFeature{
-
- public CollapseAllEntitiesFeature(IFeatureProvider fp) {
- super(fp);
- }
-
- public void execute(ICustomContext context) {
- Diagram diagram = getFeatureProvider().getDiagramTypeProvider().getDiagram();
- final EList<Shape> entShapes = diagram.getChildren();
- TransactionalEditingDomain ted = TransactionUtil.getEditingDomain(diagram);
- ted.getCommandStack().execute(new RecordingCommand(ted) {
- protected void doExecute() {
- for (final PictogramElement el : entShapes) {
- String collapseFeatures = Graphiti.getPeService().getPropertyValue(el, JPAEditorConstants.COLLAPSE_FEATURES);
- if (collapseFeatures == null) {
- GraphicsAlgorithm algo = el.getGraphicsAlgorithm();
- algo.setHeight(JPAEditorConstants.ENTITY_MIN_HEIGHT);
- Graphiti.getPeService().setPropertyValue(el, JPAEditorConstants.COLLAPSE_FEATURES, String.valueOf(JPAEditorConstants.ENTITY_MIN_HEIGHT));
- JPAEditorUtil.rearrangeAllConnections((ContainerShape) el, getFeatureProvider(), false);
- }
- }
- }
- });
-
- }
-
- @Override
- public boolean canExecute(ICustomContext context) {
- return true;
- }
-
- public IJPAEditorFeatureProvider getFeatureProvider() {
- return (IJPAEditorFeatureProvider)super.getFeatureProvider();
- }
-
- @Override
- public boolean isAvailable(IContext context) {
- return true;
- }
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CollapseCompartmentShapeFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CollapseCompartmentShapeFeature.java
deleted file mode 100644
index c0fb9c44d8..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CollapseCompartmentShapeFeature.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Petya Sabeva - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import org.eclipse.emf.transaction.RecordingCommand;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.transaction.util.TransactionUtil;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.IContext;
-import org.eclipse.graphiti.features.context.ICustomContext;
-import org.eclipse.graphiti.features.custom.AbstractCustomFeature;
-import org.eclipse.graphiti.mm.algorithms.GraphicsAlgorithm;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.GraphicsUpdater;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-
-
-public class CollapseCompartmentShapeFeature extends AbstractCustomFeature{
-
- public CollapseCompartmentShapeFeature(IFeatureProvider fp) {
- super(fp);
- }
-
- public void execute(ICustomContext context) {
- PictogramElement el = context.getPictogramElements()[0];
-
- final ContainerShape containerShape = (ContainerShape) el;
- final ContainerShape entityShape = containerShape.getContainer();
-
- final GraphicsAlgorithm algo = el.getGraphicsAlgorithm();
- TransactionalEditingDomain ted = TransactionUtil.getEditingDomain(algo);
- ted.getCommandStack().execute(new RecordingCommand(ted) {
- protected void doExecute() {
- algo.setHeight(JPAEditorConstants.COMPARTMENT_MIN_HEIGHT);
- GraphicsUpdater.updateEntityShape(entityShape);
- GraphicsUpdater.setCollapsed(containerShape, true);
- JPAEditorUtil.rearrangeAllConnections(entityShape, getFeatureProvider(), false);
- }
- });
- }
-
- @Override
- public boolean canExecute(ICustomContext context) {
- return true;
- }
-
- public IJPAEditorFeatureProvider getFeatureProvider() {
- return (IJPAEditorFeatureProvider)super.getFeatureProvider();
- }
-
- @Override
- public boolean isAvailable(IContext context) {
- boolean ret = false;
- if (context instanceof ICustomContext) {
- PictogramElement[] pes = ((ICustomContext) context).getPictogramElements();
- if (pes != null && pes.length > 0) {
- boolean collapsePossible = false;
- for (int i = 0; i < pes.length; i++) {
- PictogramElement pe = pes[i];
- Object bo = getBusinessObjectForPictogramElement(pe);
- if (bo != null) {
- return false;
- }
- if (!collapsePossible) {
- if(!GraphicsUpdater.isCollapsed((ContainerShape)pe)) {
- collapsePossible = true;
- }
- }
- }
- if (collapsePossible) {
- return true;
- }
- }
- }
- return ret;
- }
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CollapseEntityFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CollapseEntityFeature.java
deleted file mode 100644
index 60613c169b..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CollapseEntityFeature.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Petya Sabeva - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import org.eclipse.emf.transaction.RecordingCommand;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.transaction.util.TransactionUtil;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.IContext;
-import org.eclipse.graphiti.features.context.ICustomContext;
-import org.eclipse.graphiti.features.custom.AbstractCustomFeature;
-import org.eclipse.graphiti.features.custom.ICustomFeature;
-import org.eclipse.graphiti.mm.Property;
-import org.eclipse.graphiti.mm.algorithms.GraphicsAlgorithm;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.services.Graphiti;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-
-
-public class CollapseEntityFeature extends AbstractCustomFeature implements ICustomFeature{
-
- public CollapseEntityFeature(IFeatureProvider fp) {
- super(fp);
- }
-
- public void execute(ICustomContext context) {
- final PictogramElement el = context.getPictogramElements()[0];
-
- final GraphicsAlgorithm algo = el.getGraphicsAlgorithm();
-
- TransactionalEditingDomain ted = TransactionUtil.getEditingDomain(algo);
- ted.getCommandStack().execute(new RecordingCommand(ted) {
- protected void doExecute() {
- algo.setHeight(JPAEditorConstants.ENTITY_MIN_HEIGHT);
- Graphiti.getPeService().setPropertyValue(el, JPAEditorConstants.COLLAPSE_FEATURES, String.valueOf(JPAEditorConstants.ENTITY_MIN_HEIGHT));
- JPAEditorUtil.rearrangeAllConnections((ContainerShape) el, getFeatureProvider(), false);
- }
- });
- }
-
- @Override
- public boolean canExecute(ICustomContext context) {
- return true;
- }
-
- public IJPAEditorFeatureProvider getFeatureProvider() {
- return (IJPAEditorFeatureProvider)super.getFeatureProvider();
- }
-
- @Override
- public boolean isAvailable(IContext context) {
- boolean ret = false;
- if (context instanceof ICustomContext) {
- PictogramElement[] pes = ((ICustomContext) context).getPictogramElements();
- if (pes != null && pes.length > 0) {
- boolean collapsePossible = false;
- for (int i = 0; i < pes.length; i++) {
- PictogramElement pe = pes[i];
- Object bo = getBusinessObjectForPictogramElement(pe);
- if (!(bo instanceof JavaPersistentType)) {
- return false;
- }
- if (!collapsePossible) {
- Property property = Graphiti.getPeService().getProperty(pe, JPAEditorConstants.COLLAPSE_FEATURES);
- if (property == null) {
- collapsePossible = true;
- }
- }
- }
- if (collapsePossible) {
- return true;
- }
- }
- }
- return ret;
- }
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateJPAEntityFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateJPAEntityFeature.java
deleted file mode 100644
index 09eb969464..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateJPAEntityFeature.java
+++ /dev/null
@@ -1,228 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import java.io.IOException;
-import java.util.Enumeration;
-import java.util.List;
-import java.util.ListIterator;
-import java.util.jar.JarEntry;
-import java.util.jar.JarFile;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.ICreateContext;
-import org.eclipse.graphiti.features.impl.AbstractCreateFeature;
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.search.SearchEngine;
-import org.eclipse.jdt.internal.core.search.JavaSearchScope;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.JptJpaCorePlugin;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.JPADiagramEditor;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.JPADiagramEditorPlugin;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.propertypage.JPADiagramPropertyPage;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.JPAEditorImageProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchSite;
-
-
-@SuppressWarnings({ "restriction" })
-public class CreateJPAEntityFeature extends AbstractCreateFeature {
-
- private String PERSISTENCE_PROVIDER_LIBRARY_STRING = "javax/persistence/"; //$NON-NLS-1$
- private IPreferenceStore jpaPreferenceStore = JPADiagramEditorPlugin.getDefault().getPreferenceStore();
- private boolean isMappedSuperclassChild;
- private String mappedSuperclassName;
- private String mappedSuperclassPackage;
- private boolean hasPrimarykey;
-
-
- public CreateJPAEntityFeature(IFeatureProvider fp) {
- super(fp, JPAEditorMessages.CreateJPAEntityFeature_jpaEntityFeatureName, JPAEditorMessages.CreateJPAEntityFeature_jpaEntityFeatureDescription);
- }
-
- public CreateJPAEntityFeature(IFeatureProvider fp,
- boolean isMappedSuperclassChild, String mappedSuperclassName,
- String mappedSuperClassPackage) {
- this(fp, isMappedSuperclassChild, mappedSuperclassName,
- mappedSuperClassPackage, false);
- }
-
- public CreateJPAEntityFeature(IFeatureProvider fp,
- boolean isMappedSuperclassChild, String mappedSuperclassName) {
- this(fp, isMappedSuperclassChild, mappedSuperclassName, null, false);
- }
-
- public CreateJPAEntityFeature(IFeatureProvider fp,
- boolean isMappedSuperclassChild, String mappedSuperclassName,
- String mappedSuperClassPackage, boolean hasPrimaryKey) {
- this(fp);
- this.isMappedSuperclassChild = isMappedSuperclassChild;
- this.mappedSuperclassName = mappedSuperclassName;
- this.mappedSuperclassPackage = mappedSuperClassPackage;
- this.hasPrimarykey = hasPrimaryKey;
- }
-
-
- public boolean canCreate(ICreateContext context) {
- return context.getTargetContainer() instanceof Diagram;
- }
-
- public Object[] create(ICreateContext context) {
- List<Shape> shapes = this.getFeatureProvider().getDiagramTypeProvider().getDiagram().getChildren();
- IProject targetProject = null;
- JpaProject jpaProject = null;
- if ((shapes == null) || (shapes.size() == 0)) {
- jpaProject = getTargetJPAProject();
- targetProject = jpaProject.getProject();
- } else {
- Shape sh = shapes.get(0);
- JavaPersistentType jpt = (JavaPersistentType)getFeatureProvider().getBusinessObjectForPictogramElement(sh);
- if (jpt == null)
- return new Object[] {};
- jpaProject = jpt.getJpaProject();
- targetProject = jpaProject.getProject();
- }
- String entityName = getFeatureProvider().getJPAEditorUtil().
- generateUniqueEntityName(jpaProject,
- JPADiagramPropertyPage.getDefaultPackage(jpaProject.getProject()),
- getFeatureProvider());
-
- if(!checkIsSetPersistenceProviderLibrary(jpaProject)){
- Shell shell = JPADiagramEditorPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getShell();
- IStatus status = new Status(IStatus.ERROR, JPADiagramEditor.ID, JPAEditorMessages.CreateJPAEntityFeature_createEntityErrorStatusMsg);
- ErrorDialog.openError(shell, JPAEditorMessages.CreateJPAEntityFeature_createEntityErrorMsgTitle,
- JPAEditorMessages.CreateJPAEntityFeature_createEntityErrorMsg, status);
- return new Object[] {};
- }
-
- if (!JptJpaCorePlugin.discoverAnnotatedClasses(targetProject)) {
- JPAEditorUtil.createRegisterEntityInXMLJob(jpaProject, entityName);
- }
-
- try {
- this.getFeatureProvider().getJPAEditorUtil().createEntityInProject(targetProject, entityName, jpaPreferenceStore, isMappedSuperclassChild, mappedSuperclassName, mappedSuperclassPackage, hasPrimarykey);
- } catch (Exception e1) {
- System.err.println("Cannot create an entity in the project " + targetProject.getName()); //$NON-NLS-1$
- e1.printStackTrace();
- }
-
-
- try {
- jpaProject.getProject().refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
- } catch (CoreException e1) {
- System.err.println("Cannot refresh the project"); //$NON-NLS-1$
- e1.printStackTrace();
- }
-
- ListIterator<PersistenceUnit> lit = jpaProject.getRootContextNode().getPersistenceXml().getPersistence().persistenceUnits();
- PersistenceUnit pu = lit.next();
- JavaPersistentType jpt = (JavaPersistentType)pu.getPersistentType(entityName);
-
- int cnt = 0;
- while ((jpt == null) && (cnt < 25)) {
- try {
- Thread.sleep(200);
- } catch (InterruptedException e) {
- System.err.println("Thread sleep interrupted"); //$NON-NLS-1$
- e.printStackTrace();
- }
- jpt = (JavaPersistentType)pu.getPersistentType(entityName);
- cnt++;
- }
-
- if (jpt != null) {
- addGraphicalRepresentation(context, jpt);
- IWorkbenchSite ws = ((IEditorPart)getDiagramEditor()).getSite();
- ICompilationUnit cu = getFeatureProvider().getCompilationUnit(jpt);
- getFeatureProvider().getJPAEditorUtil().formatCode(cu, ws);
- return new Object[] { jpt };
- } else {
- System.err.println("The JPA entity " + entityName + " could not be created"); //$NON-NLS-1$ //$NON-NLS-2$
- Exception e = new Exception();
- e.printStackTrace();
- }
- return new Object[] {};
- }
-
- public String getCreateImageId() {
- return JPAEditorImageProvider.ADD_JPA_ENTITY;
- }
-
- public IJPAEditorFeatureProvider getFeatureProvider() {
- return (IJPAEditorFeatureProvider)super.getFeatureProvider();
- }
-
- private JpaProject getTargetJPAProject() {
- return getFeatureProvider().getMoinIntegrationUtil().getProjectByDiagram(getDiagram());
- }
-
- private boolean isPersistenceProviderLibraryInClasspath(String classPathEntry) {
- try {
- JarFile jar = new JarFile(classPathEntry);
- Enumeration<JarEntry> entries = jar.entries();
-
- while (entries.hasMoreElements()) {
- JarEntry entry = entries.nextElement();
- if (entry.getName().equals(PERSISTENCE_PROVIDER_LIBRARY_STRING)) {
- return true;
- }
- }
-
- } catch (IOException e) {
- e.printStackTrace();
- }
- return false;
- }
-
- private boolean checkIsSetPersistenceProviderLibrary(JpaProject jpaProject) {
- IJavaProject javaProject = JavaCore.create(jpaProject.getProject());
- IJavaElement[] elements = new IJavaElement[] { javaProject };
- JavaSearchScope scope = (JavaSearchScope) SearchEngine.createJavaSearchScope(elements);
- boolean isAdded = false;
-
- IPath[] paths = scope.enclosingProjectsAndJars();
- for (int i = 1; i < paths.length; i++) {
- IPath path = paths[i];
- if (isPersistenceProviderLibraryInClasspath(path.toString())) {
- isAdded = true;
- break;
- }
- }
- return isAdded;
- }
-
-
-} \ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateJPAEntityFromMappedSuperclassFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateJPAEntityFromMappedSuperclassFeature.java
deleted file mode 100644
index 15f7b60f63..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateJPAEntityFromMappedSuperclassFeature.java
+++ /dev/null
@@ -1,100 +0,0 @@
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.ICreateContext;
-import org.eclipse.graphiti.features.impl.AbstractCreateFeature;
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.JptJpaCorePlugin;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.JPADiagramEditorPlugin;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.propertypage.JPADiagramPropertyPage;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.JPAEditorImageProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-
-
-
-public class CreateJPAEntityFromMappedSuperclassFeature extends
- AbstractCreateFeature {
- private IPreferenceStore jpaPreferenceStore = JPADiagramEditorPlugin
- .getDefault().getPreferenceStore();
-
- public CreateJPAEntityFromMappedSuperclassFeature(IFeatureProvider fp) {
- super(
- fp,
- JPAEditorMessages.CreateJPAEntityFromMappedSuperclassFeature_createInheritedEntityFeatureName,
- JPAEditorMessages.CreateJPAEntityFromMappedSuperclassFeature_createInheritedEntityFeatureDescription);
- }
-
- public boolean canCreate(ICreateContext context) {
- return context.getTargetContainer() instanceof Diagram;
- }
-
- public Object[] create(ICreateContext context) {
- List<Shape> shapes = this.getFeatureProvider().getDiagramTypeProvider()
- .getDiagram().getChildren();
- IProject targetProject = null;
- JpaProject jpaProject = null;
- if ((shapes == null) || (shapes.size() == 0)) {
- jpaProject = getTargetJPAProject();
- targetProject = jpaProject.getProject();
- } else {
- Shape sh = shapes.get(0);
- JavaPersistentType jpt = (JavaPersistentType) getFeatureProvider()
- .getBusinessObjectForPictogramElement(sh);
- if (jpt == null)
- return new Object[] {};
- jpaProject = jpt.getJpaProject();
- targetProject = jpaProject.getProject();
- }
-
- String mappedSuperclassName = getFeatureProvider()
- .getJPAEditorUtil()
- .generateUniqueMappedSuperclassName(
- jpaProject,
- JPADiagramPropertyPage.getDefaultPackage(jpaProject.getProject()),
- getFeatureProvider());
-
- if (!JptJpaCorePlugin.discoverAnnotatedClasses(jpaProject.getProject())) {
- JPAEditorUtil.createRegisterEntityInXMLJob(jpaProject, mappedSuperclassName);
- }
-
-
- try {
- this.getFeatureProvider()
- .getJPAEditorUtil()
- .createEntityFromMappedSuperclassInProject(targetProject,
- mappedSuperclassName, jpaPreferenceStore);
- } catch (Exception e1) {
- System.err
- .println("Cannot create an entity in the project " + targetProject.getName()); //$NON-NLS-1$
- e1.printStackTrace();
- }
-
- CreateJPAEntityFeature createEntityFeature = new CreateJPAEntityFeature(
- getFeatureProvider(), true, mappedSuperclassName);
- return createEntityFeature.create(context);
- }
-
- public String getCreateImageId() {
- return JPAEditorImageProvider.ADD_INHERITED_ENTITY;
- }
-
-
- public IJPAEditorFeatureProvider getFeatureProvider() {
- return (IJPAEditorFeatureProvider) super.getFeatureProvider();
- }
-
- private JpaProject getTargetJPAProject() {
- return getFeatureProvider().getMoinIntegrationUtil()
- .getProjectByDiagram(getDiagram());
- }
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateManyToManyBiDirRelationFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateManyToManyBiDirRelationFeature.java
deleted file mode 100644
index 6e44389998..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateManyToManyBiDirRelationFeature.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.JPAEditorImageProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.ManyToManyBiDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-
-
-public class CreateManyToManyBiDirRelationFeature extends
- CreateManyToManyRelationFeature {
-
- public CreateManyToManyBiDirRelationFeature(IJPAEditorFeatureProvider fp) {
- super(fp, JPAEditorMessages.CreateManyToManyBiDirRelationFeature_manyToManyBiDirFeatureName,
- JPAEditorMessages.CreateManyToManyBiDirRelationFeature_manyToManyUniDirFeatureDescription);
- }
-
- @Override
- public ManyToManyBiDirRelation createRelation(IJPAEditorFeatureProvider fp, PictogramElement source, PictogramElement target) {
- JavaPersistentType owner = (JavaPersistentType)(getBusinessObjectForPictogramElement(source));
- JavaPersistentType inverse = (JavaPersistentType)(getBusinessObjectForPictogramElement(target));
-
- String ownerAttributeName = JPAEditorUtil.returnSimpleName(JpaArtifactFactory.instance().getEntityName(inverse));
- String nameWithNonCapitalLetter = ownerAttributeName;
- if (JpaArtifactFactory.instance().isMethodAnnotated(owner))
- nameWithNonCapitalLetter = JPAEditorUtil.produceValidAttributeName(ownerAttributeName);
- String ownerAttributeText = JPAEditorUtil.produceUniqueAttributeName(owner, nameWithNonCapitalLetter);
-
- String inverseAttributeName = JPAEditorUtil.returnSimpleName(JpaArtifactFactory.instance().getEntityName(owner));
- String nameWithNonCapitalLetter2 = inverseAttributeName;
- if (JpaArtifactFactory.instance().isMethodAnnotated(inverse))
- nameWithNonCapitalLetter2 = JPAEditorUtil.produceValidAttributeName(inverseAttributeName);
- String inverseAttributeText = JPAEditorUtil.produceUniqueAttributeName(inverse, ownerAttributeText, nameWithNonCapitalLetter2);
-
- ManyToManyBiDirRelation rel = new ManyToManyBiDirRelation(fp, owner, inverse, ownerAttributeText, inverseAttributeText, true,
- getFeatureProvider().getCompilationUnit(owner),
- getFeatureProvider().getCompilationUnit(inverse));
- return rel;
-
- }
-
- public String getCreateImageId() {
- return JPAEditorImageProvider.ICON_MANY_TO_MANY_2_DIR;
- }
-
-} \ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateManyToManyRelationFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateManyToManyRelationFeature.java
deleted file mode 100644
index 79d040fb7b..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateManyToManyRelationFeature.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-
-
-abstract class CreateManyToManyRelationFeature
- extends CreateRelationFeature {
-
- public CreateManyToManyRelationFeature(IJPAEditorFeatureProvider fp, String name, String description) {
- super(fp, name, description);
- }
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateManyToManyUniDirRelationFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateManyToManyUniDirRelationFeature.java
deleted file mode 100644
index 1e58fd51f1..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateManyToManyUniDirRelationFeature.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.JPAEditorImageProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.ManyToManyUniDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-
-
-public class CreateManyToManyUniDirRelationFeature extends
- CreateManyToManyRelationFeature {
-
- public CreateManyToManyUniDirRelationFeature(IJPAEditorFeatureProvider fp) {
- super(fp, JPAEditorMessages.CreateManyToManyUniDirRelationFeature_manyToManyUniDirFeatureName,
- JPAEditorMessages.CreateManyToManyUniDirRelationFeature_manyToManyUniDirFeatureDescription);
- }
-
- @Override
- public ManyToManyUniDirRelation createRelation(IJPAEditorFeatureProvider fp, PictogramElement source, PictogramElement target) {
- JavaPersistentType owner = (JavaPersistentType)(getBusinessObjectForPictogramElement(source));
- JavaPersistentType inverse = (JavaPersistentType)(getBusinessObjectForPictogramElement(target));
-
- String attributeName = JPAEditorUtil.returnSimpleName(JpaArtifactFactory.instance().getEntityName(inverse));
- String nameWithNonCapitalLetter = attributeName;
- if (JpaArtifactFactory.instance().isMethodAnnotated(owner))
- nameWithNonCapitalLetter = JPAEditorUtil.produceValidAttributeName(attributeName);
- String attributeText = JPAEditorUtil.produceUniqueAttributeName(owner, nameWithNonCapitalLetter);
- ManyToManyUniDirRelation relation = new ManyToManyUniDirRelation(fp, owner, inverse, attributeText, true,
- getFeatureProvider().getCompilationUnit(owner),
- getFeatureProvider().getCompilationUnit(inverse));
- return relation;
- }
-
- public String getCreateImageId() {
- return JPAEditorImageProvider.ICON_MANY_TO_MANY_1_DIR;
- }
-
-} \ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateManyToOneBiDirRelationFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateManyToOneBiDirRelationFeature.java
deleted file mode 100644
index ceeb529747..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateManyToOneBiDirRelationFeature.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.JPAEditorImageProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.ManyToOneBiDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-
-
-public class CreateManyToOneBiDirRelationFeature extends
- CreateManyToOneRelationFeature {
-
- public CreateManyToOneBiDirRelationFeature(IJPAEditorFeatureProvider fp) {
- super(fp, JPAEditorMessages.CreateManyToOneBiDirRelationFeature_manyToOneBiDirFeatureName,
- JPAEditorMessages.CreateManyToOneBiDirRelationFeature_manyToOneBiDirFeatureDescription);
- }
-
- @Override
- public ManyToOneBiDirRelation createRelation(IJPAEditorFeatureProvider fp, PictogramElement source,
- PictogramElement target) {
- JavaPersistentType owner = (JavaPersistentType)(getBusinessObjectForPictogramElement(source));
- JavaPersistentType inverse = (JavaPersistentType)(getBusinessObjectForPictogramElement(target));
-
- String ownerAttributeName = JPAEditorUtil.returnSimpleName(JpaArtifactFactory.instance().getEntityName(inverse));
- String nameWithNonCapitalLetter = ownerAttributeName;
- if (JpaArtifactFactory.instance().isMethodAnnotated(owner))
- nameWithNonCapitalLetter = JPAEditorUtil.produceValidAttributeName(ownerAttributeName);
- String ownerAttributeText = JPAEditorUtil.produceUniqueAttributeName(owner, nameWithNonCapitalLetter);
-
- String inverseAttributeName = JPAEditorUtil.returnSimpleName(JpaArtifactFactory.instance().getEntityName(owner));
- String nameWithNonCapitalLetter2 = inverseAttributeName;
- if (JpaArtifactFactory.instance().isMethodAnnotated(inverse))
- nameWithNonCapitalLetter2 = JPAEditorUtil.produceValidAttributeName(inverseAttributeName);
- String inverseAttributeText = JPAEditorUtil.produceUniqueAttributeName(inverse, ownerAttributeText, nameWithNonCapitalLetter2);
-
- ManyToOneBiDirRelation rel = new ManyToOneBiDirRelation(fp, owner, inverse, ownerAttributeText, inverseAttributeText, true,
- getFeatureProvider().getCompilationUnit(owner),
- getFeatureProvider().getCompilationUnit(inverse));
- return rel;
- }
-
- public String getCreateImageId() {
- return JPAEditorImageProvider.ICON_MANY_TO_ONE_2_DIR;
- }
-
-} \ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateManyToOneRelationFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateManyToOneRelationFeature.java
deleted file mode 100644
index 1f1c9eca1c..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateManyToOneRelationFeature.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-
-abstract class CreateManyToOneRelationFeature
- extends CreateRelationFeature {
-
- public CreateManyToOneRelationFeature(IJPAEditorFeatureProvider fp, String name, String description) {
- super(fp, name, description);
- }
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateManyToOneUniDirRelationFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateManyToOneUniDirRelationFeature.java
deleted file mode 100644
index fafc150fd4..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateManyToOneUniDirRelationFeature.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.JPAEditorImageProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.ManyToOneUniDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-
-
-public class CreateManyToOneUniDirRelationFeature extends
- CreateManyToOneRelationFeature {
-
- public CreateManyToOneUniDirRelationFeature(IJPAEditorFeatureProvider fp) {
- super(fp, JPAEditorMessages.CreateManyToOneUniDirRelationFeature_manyToOneUniDirFeatureName,
- JPAEditorMessages.CreateManyToOneUniDirRelationFeature_manyToOneUniDirFeatureDescription);
- }
-
- @Override
- public ManyToOneUniDirRelation createRelation(IJPAEditorFeatureProvider fp, PictogramElement source, PictogramElement target) {
- JavaPersistentType owner = (JavaPersistentType)(getBusinessObjectForPictogramElement(source));
- JavaPersistentType inverse = (JavaPersistentType)(getBusinessObjectForPictogramElement(target));
-
- String attributeName = JPAEditorUtil.returnSimpleName(JpaArtifactFactory.instance().getEntityName(inverse));
- String nameWithNonCapitalLetter = attributeName;
- if (JpaArtifactFactory.instance().isMethodAnnotated(owner))
- nameWithNonCapitalLetter = JPAEditorUtil.produceValidAttributeName(attributeName);
- String attributeText = JPAEditorUtil.produceUniqueAttributeName(owner, nameWithNonCapitalLetter);
- ManyToOneUniDirRelation relation = new ManyToOneUniDirRelation(fp, owner, inverse, attributeText, true,
- getFeatureProvider().getCompilationUnit(owner),
- getFeatureProvider().getCompilationUnit(inverse));
- return relation;
- }
-
- public String getCreateImageId() {
- return JPAEditorImageProvider.ICON_MANY_TO_ONE_1_DIR;
- }
-
-} \ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateOneToManyRelationFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateOneToManyRelationFeature.java
deleted file mode 100644
index c3ec2d1aac..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateOneToManyRelationFeature.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-
-abstract class CreateOneToManyRelationFeature
- extends CreateRelationFeature {
-
- public CreateOneToManyRelationFeature(IJPAEditorFeatureProvider fp, String name, String description) {
- super(fp, name, description);
- }
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateOneToManyUniDirRelationFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateOneToManyUniDirRelationFeature.java
deleted file mode 100644
index 2eb3367f5a..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateOneToManyUniDirRelationFeature.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.JPAEditorImageProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.OneToManyUniDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-
-
-public class CreateOneToManyUniDirRelationFeature extends
- CreateOneToManyRelationFeature {
-
- public CreateOneToManyUniDirRelationFeature(IJPAEditorFeatureProvider fp) {
- super(fp, JPAEditorMessages.CreateOneToManyUniDirRelationFeature_oneToManyUniDirFeatureName,
- JPAEditorMessages.CreateOneToManyUniDirRelationFeature_oneToManyUniDirFeatureDescription);
- }
-
- @Override
- public OneToManyUniDirRelation createRelation(IJPAEditorFeatureProvider fp, PictogramElement source,
- PictogramElement target) {
- JavaPersistentType owner = (JavaPersistentType)(getBusinessObjectForPictogramElement(source));
- JavaPersistentType inverse = (JavaPersistentType)(getBusinessObjectForPictogramElement(target));
-
- String attributeName = JPAEditorUtil.returnSimpleName(JpaArtifactFactory.instance().getEntityName(inverse));
- String nameWithNonCapitalLetter = attributeName;
- if (JpaArtifactFactory.instance().isMethodAnnotated(owner))
- nameWithNonCapitalLetter = JPAEditorUtil.produceValidAttributeName(attributeName);
-
- String attributeText = JPAEditorUtil.produceUniqueAttributeName(owner, nameWithNonCapitalLetter);
- OneToManyUniDirRelation relation = new OneToManyUniDirRelation(fp, owner, inverse, attributeText, true,
- getFeatureProvider().getCompilationUnit(owner),
- getFeatureProvider().getCompilationUnit(inverse));
- return relation;
- }
-
- public String getCreateImageId() {
- return JPAEditorImageProvider.ICON_ONE_TO_MANY_1_DIR;
- }
-
-} \ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateOneToOneBiDirRelationFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateOneToOneBiDirRelationFeature.java
deleted file mode 100644
index 3a65a5dbcf..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateOneToOneBiDirRelationFeature.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.JPAEditorImageProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.OneToOneBiDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-
-
-public class CreateOneToOneBiDirRelationFeature extends CreateOneToOneRelationFeature {
-
- public CreateOneToOneBiDirRelationFeature(IJPAEditorFeatureProvider fp) {
- super(fp, JPAEditorMessages.CreateOneToOneBiDirRelationFeature_oneToOneBiDirFeatureName,
- JPAEditorMessages.CreateOneToOneBiDirRelationFeature_oneToOneBiDirFeatureDescription);
- }
-
- @Override
- public OneToOneBiDirRelation createRelation(IJPAEditorFeatureProvider fp, PictogramElement source,
- PictogramElement target) {
- JavaPersistentType owner = (JavaPersistentType)(getBusinessObjectForPictogramElement(source));
- JavaPersistentType inverse = (JavaPersistentType)(getBusinessObjectForPictogramElement(target));
-
- String ownerAttributeName = JPAEditorUtil.returnSimpleName(JpaArtifactFactory.instance().getEntityName(inverse));
- String nameWithNonCapitalLetter = ownerAttributeName;
- if (JpaArtifactFactory.instance().isMethodAnnotated(owner))
- nameWithNonCapitalLetter = JPAEditorUtil.produceValidAttributeName(ownerAttributeName);
- String ownerAttributeText = JPAEditorUtil.produceUniqueAttributeName(owner, nameWithNonCapitalLetter);
-
- String inverseAttributeName = JPAEditorUtil.returnSimpleName(JpaArtifactFactory.instance().getEntityName(owner));
- String nameWithNonCapitalLetter2 = inverseAttributeName;
- if (JpaArtifactFactory.instance().isMethodAnnotated(inverse))
- nameWithNonCapitalLetter2 = JPAEditorUtil.produceValidAttributeName(inverseAttributeName);
- String inverseAttributeText = JPAEditorUtil.produceUniqueAttributeName(inverse, ownerAttributeText, nameWithNonCapitalLetter2);
-
- OneToOneBiDirRelation rel = new OneToOneBiDirRelation(fp, owner, inverse, ownerAttributeText, inverseAttributeText, true,
- getFeatureProvider().getCompilationUnit(owner),
- getFeatureProvider().getCompilationUnit(inverse));
- return rel;
- }
-
- public String getCreateImageId() {
- return JPAEditorImageProvider.ICON_ONE_TO_ONE_2_DIR;
- }
-
-} \ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateOneToOneRelationFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateOneToOneRelationFeature.java
deleted file mode 100644
index f4b9fea728..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateOneToOneRelationFeature.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-
-abstract class CreateOneToOneRelationFeature
- extends CreateRelationFeature {
-
- public CreateOneToOneRelationFeature(IJPAEditorFeatureProvider fp, String name, String description) {
- super(fp, name, description);
- }
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateOneToOneUniDirRelationFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateOneToOneUniDirRelationFeature.java
deleted file mode 100644
index dae132dc57..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateOneToOneUniDirRelationFeature.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.JPAEditorImageProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.OneToOneUniDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-
-
-
-public class CreateOneToOneUniDirRelationFeature extends CreateOneToOneRelationFeature {
-
- public CreateOneToOneUniDirRelationFeature(IJPAEditorFeatureProvider fp) {
- super(fp, JPAEditorMessages.CreateOneToOneUniDirRelationFeature_oneToOneUniDirFeatureName,
- JPAEditorMessages.CreateOneToOneUniDirRelationFeature_oneToOneUniDirFeatureDescription);
- }
-
- @Override
- public OneToOneUniDirRelation createRelation(IJPAEditorFeatureProvider fp, PictogramElement source,
- PictogramElement target) {
-
- JavaPersistentType owner = (JavaPersistentType)(getBusinessObjectForPictogramElement(source));
- JavaPersistentType inverse = (JavaPersistentType)(getBusinessObjectForPictogramElement(target));
-
- String name = JPAEditorUtil.returnSimpleName(JpaArtifactFactory.instance().getEntityName(inverse));
- String nameWithNonCapitalLetter = name;
- if (JpaArtifactFactory.instance().isMethodAnnotated(owner))
- nameWithNonCapitalLetter = JPAEditorUtil.produceValidAttributeName(name);
- String attribTxt = JPAEditorUtil.produceUniqueAttributeName(owner, nameWithNonCapitalLetter);
- OneToOneUniDirRelation res = new OneToOneUniDirRelation(fp, owner, inverse, attribTxt, true,
- getFeatureProvider().getCompilationUnit(owner),
- getFeatureProvider().getCompilationUnit(inverse));
- return res;
- }
-
- public String getCreateImageId() {
- return JPAEditorImageProvider.ICON_ONE_TO_ONE_1_DIR;
- }
-
-} \ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateRelationFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateRelationFeature.java
deleted file mode 100644
index 752b5bc4c6..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/CreateRelationFeature.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import org.eclipse.graphiti.features.context.ICreateConnectionContext;
-import org.eclipse.graphiti.features.context.impl.AddConnectionContext;
-import org.eclipse.graphiti.features.impl.AbstractCreateConnectionFeature;
-import org.eclipse.graphiti.mm.pictograms.Anchor;
-import org.eclipse.graphiti.mm.pictograms.Connection;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.jpt.jpa.core.context.PersistentType;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.AbstractRelation;
-
-
-abstract public class CreateRelationFeature extends AbstractCreateConnectionFeature {
-
- public CreateRelationFeature(IJPAEditorFeatureProvider fp, String name, String description) {
- super(fp, name, description);
- }
-
- public boolean canCreate(ICreateConnectionContext context) {
- JavaPersistentType source = (JavaPersistentType)getPersistentType(context.getSourceAnchor());
- JavaPersistentType target = (JavaPersistentType)getPersistentType(context.getTargetAnchor());
- if (source != null && target != null) {
- return true;
- }
- return false;
- }
-
- public boolean canStartConnection(ICreateConnectionContext context) {
- if (getPersistentType(context.getSourceAnchor()) != null)
- return true;
- return false;
- }
-
- public Connection create(ICreateConnectionContext context) {
- Connection newConnection = null;
- PersistentType source = getPersistentType(context.getSourceAnchor());
- PersistentType target = getPersistentType(context.getTargetAnchor());
- if (source != null && target != null) {
- AbstractRelation rel = createRelation(getFeatureProvider(), context.getSourceAnchor().getParent(),
- context.getTargetAnchor().getParent());
- AddConnectionContext addContext =
- new AddConnectionContext(context.getSourceAnchor(), context
- .getTargetAnchor());
- addContext.setNewObject(rel);
- newConnection =
- (Connection) getFeatureProvider().addIfPossible(addContext);
- }
- return newConnection;
- }
-
- /**
- * Returns the PersistentType class belonging to the anchor, or null if not available.
- */
- protected PersistentType getPersistentType(Anchor anchor) {
- if (anchor != null) {
- Object refObject =
- getBusinessObjectForPictogramElement(anchor.getParent());
- if (refObject instanceof PersistentType) {
- return (PersistentType) refObject;
- }
- }
- return null;
- }
-
-
- /**
- * Creates a new OneToOneRelation between two PersistentType classes.
- */
- abstract protected AbstractRelation createRelation(IJPAEditorFeatureProvider fp, PictogramElement source,
- PictogramElement target);
-
- public IJPAEditorFeatureProvider getFeatureProvider() {
- return (IJPAEditorFeatureProvider)super.getFeatureProvider();
- }
-
-} \ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/DeleteJPAEntityFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/DeleteJPAEntityFeature.java
deleted file mode 100644
index 795296dcf9..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/DeleteJPAEntityFeature.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import java.text.MessageFormat;
-
-import org.eclipse.emf.transaction.RecordingCommand;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.transaction.util.TransactionUtil;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.IDeleteContext;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.ui.features.DefaultDeleteFeature;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.JptJpaCorePlugin;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-
-
-public class DeleteJPAEntityFeature extends DefaultDeleteFeature {
-
- private String entityName = null;
- public DeleteJPAEntityFeature(IFeatureProvider fp) {
- super(fp);
- }
-
- public void delete(final IDeleteContext context) {
- PictogramElement pe = context.getPictogramElement();
-
- JavaPersistentType jpt = (JavaPersistentType)getFeatureProvider().getBusinessObjectForPictogramElement(pe);
- entityName = jpt.getName();
- TransactionalEditingDomain ted = TransactionUtil.getEditingDomain(pe);
- ted.getCommandStack().execute(new RecordingCommand(ted) {
- protected void doExecute() {
- deleteEl(context);
- }
- });
-
- }
-
- public void deleteEl(IDeleteContext context){
- super.delete(context);
- }
-
- protected void deleteBusinessObject(Object bo) {
- JavaPersistentType jpt = null;
- if (bo instanceof JavaPersistentType) {
- jpt = (JavaPersistentType) bo;
-
-
- JpaProject jpaProject = jpt.getJpaProject();
- String name = jpt.getName();
-
-
- JpaArtifactFactory.instance().forceSaveEntityClass(jpt, getFeatureProvider());
- JpaArtifactFactory.instance().deleteEntityClass(jpt, getFeatureProvider());
- if (!JptJpaCorePlugin.discoverAnnotatedClasses(jpt.getJpaProject().getProject())) {
- JPAEditorUtil.createUnregisterEntityFromXMLJob(jpaProject, name);
- }
-
- }
- }
-
- public String getQuestionToUser() {
- return MessageFormat.format(JPAEditorMessages.DeleteJPAEntityFeature_deleteJPAEntityQuestion, new Object[] { entityName });
- }
-
- public IJPAEditorFeatureProvider getFeatureProvider() {
- return (IJPAEditorFeatureProvider)super.getFeatureProvider();
- }
-
-} \ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/DeleteRelationFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/DeleteRelationFeature.java
deleted file mode 100644
index d1cde27a72..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/DeleteRelationFeature.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import org.eclipse.graphiti.features.context.IContext;
-import org.eclipse.graphiti.features.context.IDeleteContext;
-import org.eclipse.graphiti.features.context.impl.DeleteContext;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.ui.features.DefaultDeleteFeature;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.AbstractRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.BidirectionalRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.IRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.UnidirectionalRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IJPAEditorUtil;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchSite;
-
-
-public class DeleteRelationFeature extends DefaultDeleteFeature{
-
- private static IJPAEditorUtil ut = null;
-
- public DeleteRelationFeature(IJPAEditorFeatureProvider fp) {
- super(fp);
- ut = fp.getJPAEditorUtil();
- }
-
- public boolean canDelete(IDeleteContext context) {
- return true;
- }
-
- public boolean isAvailable(IContext context) {
- return true;
- }
-
- public boolean canExecute(IContext context) {
- return true;
- }
-
- protected String getQuestionToUser() {
- return JPAEditorMessages.DeleteRelationFeature_deleteRelationQuestion;
- }
-
- public void delete(IDeleteContext context) {
- PictogramElement pe = context.getPictogramElement();
- Object businessObjectForPictogramElement = getBusinessObjectForPictogramElement(pe);
- if (businessObjectForPictogramElement != null) {
- if (!getUserDecision()) {
- return;
- }
- }
-
- preDelete(context);
- AbstractRelation rel = (AbstractRelation)businessObjectForPictogramElement;
-
- if (rel instanceof UnidirectionalRelation) {
- UnidirectionalRelation relation = (UnidirectionalRelation)rel;
- ClickRemoveAttributeButtonFeature feat = new ClickRemoveAttributeButtonFeature(getFeatureProvider());
- JavaPersistentAttribute attribute = relation.getAnnotatedAttribute();
- PictogramElement textShape = getFeatureProvider().getPictogramElementForBusinessObject(attribute);
- IDeleteContext delCtx = new DeleteContext(textShape);
- feat.delete(delCtx, false);
- }
-
- if (rel instanceof BidirectionalRelation) {
- BidirectionalRelation relation = (BidirectionalRelation)(rel);
- ClickRemoveAttributeButtonFeature feat = new ClickRemoveAttributeButtonFeature(getFeatureProvider());
-
- JavaPersistentAttribute ownerAttribute = relation.getOwnerAnnotatedAttribute();
- PictogramElement ownerAttributeTextShape = getFeatureProvider().getPictogramElementForBusinessObject(ownerAttribute);
- IDeleteContext deleteOwnerAttributeContext = new DeleteContext(ownerAttributeTextShape);
- feat.delete(deleteOwnerAttributeContext, false);
-
- JavaPersistentAttribute inverseAttribute = relation.getInverseAnnotatedAttribute();
- PictogramElement inverseAttributeTextShape = getFeatureProvider().getPictogramElementForBusinessObject(inverseAttribute);
- IDeleteContext deleteInverseAttributeContext = new DeleteContext(inverseAttributeTextShape);
- feat.delete(deleteInverseAttributeContext, false);
- }
-
- postDelete(context);
-
- /*
- IRemoveContext rc = new RemoveContext(pe);
- IFeatureProvider featureProvider = getFeatureProvider();
- IRemoveFeature removeFeature = featureProvider.getRemoveFeature(rc);
- if (removeFeature != null) {
- removeFeature.remove(rc);
- }
- */
-
-
- }
-
- public void postDelete(IDeleteContext context) {
- PictogramElement pe = context.getPictogramElement();
- Object businessObjectForPictogramElement = getBusinessObjectForPictogramElement(pe);
- IRelation rel = (IRelation)businessObjectForPictogramElement;
- IWorkbenchSite ws = ((IEditorPart)getDiagramEditor()).getSite();
- ICompilationUnit cu = getFeatureProvider().getCompilationUnit(rel.getOwner());
- ut.organizeImports(cu, ws);
- if (rel instanceof BidirectionalRelation) {
- cu = getFeatureProvider().getCompilationUnit(rel.getInverse());
- ut.organizeImports(cu, ws);
- }
- }
-
-
- public IJPAEditorFeatureProvider getFeatureProvider() {
- return (IJPAEditorFeatureProvider)super.getFeatureProvider();
- }
-
-} \ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/DirectEditAttributeFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/DirectEditAttributeFeature.java
deleted file mode 100644
index a8e268749c..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/DirectEditAttributeFeature.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Kiril Mitov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import java.text.MessageFormat;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.emf.transaction.RecordingCommand;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.transaction.util.TransactionUtil;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.IDirectEditingContext;
-import org.eclipse.graphiti.features.impl.AbstractDirectEditingFeature;
-import org.eclipse.graphiti.mm.algorithms.GraphicsAlgorithm;
-import org.eclipse.graphiti.mm.algorithms.Text;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.jdt.core.JavaConventions;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.JPADiagramEditorPlugin;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.BidirectionalRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.IRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-
-
-public class DirectEditAttributeFeature extends AbstractDirectEditingFeature {
-
- private boolean isMethodAnnotated = false;
-
- public DirectEditAttributeFeature(IFeatureProvider fp) {
- super(fp);
- }
-
- public int getEditingType() {
- return TYPE_TEXT;
- }
-
- @Override
- public boolean canDirectEdit(IDirectEditingContext context) {
- return true;
- }
-
- public String getInitialValue(IDirectEditingContext context) {
- PictogramElement pe = context.getPictogramElement();
- JavaPersistentAttribute jpa = (JavaPersistentAttribute)getFeatureProvider().
- getBusinessObjectForPictogramElement(pe);
- isMethodAnnotated = JpaArtifactFactory.instance().isMethodAnnotated(jpa);
- Text txt = (Text) pe.getGraphicsAlgorithm().getGraphicsAlgorithmChildren().get(0);
- String value = txt.getValue();
- if (isMethodAnnotated)
- value = JPAEditorUtil.produceValidAttributeName(value);
- return value;
- }
-
- @Override
- public String checkValueValid(String value, IDirectEditingContext context) {
- if (isMethodAnnotated)
- value = JPAEditorUtil.produceValidAttributeName(value);
- IStatus status = JavaConventions.validateFieldName(value, JavaCore.VERSION_1_5, JavaCore.VERSION_1_5);
- if (!status.isOK())
- return status.getMessage();
- status = checkDuplicateAttribute(value, context);
- if (!status.isOK())
- return status.getMessage();
- return null;
- }
-
- private IStatus checkDuplicateAttribute(String value, IDirectEditingContext context) {
- PictogramElement pe = context.getPictogramElement();
- JavaPersistentAttribute oldAt = (JavaPersistentAttribute) getBusinessObjectForPictogramElement(pe);
- JavaPersistentAttribute newAl = (JavaPersistentAttribute)((JavaPersistentType)oldAt.getParent()).getAttributeNamed(value);
- if (newAl != null && !newAl.equals(oldAt)) {
- String message = MessageFormat.format(JPAEditorMessages.DirectEditAttributeFeature_attributeExists, value);
- return new Status(IStatus.ERROR, JPADiagramEditorPlugin.PLUGIN_ID, message);
- }
- return Status.OK_STATUS;
- }
-
- public IJPAEditorFeatureProvider getFeatureProvider() {
- return (IJPAEditorFeatureProvider) super.getFeatureProvider();
- }
-
- public void setValue(String value, IDirectEditingContext context) {
- if (isMethodAnnotated)
- value = JPAEditorUtil.produceValidAttributeName(value);
- PictogramElement pe = context.getPictogramElement();
- JavaPersistentAttribute oldAt = (JavaPersistentAttribute) getBusinessObjectForPictogramElement(pe);
-
- IRelation rel = getFeatureProvider().getRelationRelatedToAttribute(oldAt);
- String inverseJPTName = null;
- if (BidirectionalRelation.class.isInstance(rel))
- inverseJPTName = rel.getInverse().getName();
- if (oldAt.getName().equals(value))
- return;
- JpaArtifactFactory.instance().renameAttribute(oldAt, value, inverseJPTName, getFeatureProvider());
-
- if (pe.getGraphicsAlgorithm() == null)
- return;
- final GraphicsAlgorithm alg = pe.getGraphicsAlgorithm().getGraphicsAlgorithmChildren().get(0);
- final String newValue = value;
-
- TransactionalEditingDomain ted = TransactionUtil.getEditingDomain(alg);
- ted.getCommandStack().execute(new RecordingCommand(ted) {
- protected void doExecute() {
- ((Text) alg).setValue(newValue);
- }
- });
- }
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/DirectEditJPAEntityFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/DirectEditJPAEntityFeature.java
deleted file mode 100644
index d67baa9149..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/DirectEditJPAEntityFeature.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import java.text.MessageFormat;
-import java.util.Iterator;
-import java.util.Properties;
-import java.util.Set;
-
-import org.eclipse.emf.transaction.RecordingCommand;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.transaction.util.TransactionUtil;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.IDirectEditingContext;
-import org.eclipse.graphiti.features.impl.AbstractDirectEditingFeature;
-import org.eclipse.graphiti.mm.algorithms.GraphicsAlgorithm;
-import org.eclipse.graphiti.mm.algorithms.Text;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.jdt.core.Signature;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpa.core.context.persistence.ClassRef;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.propertypage.JPADiagramPropertyPage;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-
-
-
-public class DirectEditJPAEntityFeature extends AbstractDirectEditingFeature {
-
- private static String allowed = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890_"; //$NON-NLS-1$
-
- public DirectEditJPAEntityFeature(IFeatureProvider fp) {
- super(fp);
- }
-
- public int getEditingType() {
- return TYPE_TEXT;
- }
-
- @Override
- public boolean canDirectEdit(IDirectEditingContext context) {
- return true;
- }
-
- public String getInitialValue(IDirectEditingContext context) {
- Shape sh = (Shape)context.getPictogramElement();
- ContainerShape csh = sh.getContainer();
- JavaPersistentType jpt = (JavaPersistentType)getBusinessObjectForPictogramElement(csh);
- return JPAEditorUtil.returnSimpleName(JpaArtifactFactory.instance().getEntityName(jpt));
- }
-
- @Override
- public String checkValueValid(String value, IDirectEditingContext context) {
- //CSN #1305664 2010
- PictogramElement pe = context.getPictogramElement();
- ContainerShape csh = ((Shape)pe).getContainer();
- JavaPersistentType jpt = (JavaPersistentType) getFeatureProvider().getBusinessObjectForPictogramElement(csh);
- String packageName = Signature.getQualifier(jpt.getName());
- PersistenceUnit unit = jpt.getPersistenceUnit();
-
- for(Iterator<ClassRef> classRefs = unit.classRefs(); classRefs.hasNext();){
- ClassRef classRef = classRefs.next();
- if(classRef.getClassName().equals(packageName + Signature.C_DOT + value) && !(JPAEditorUtil.getText(jpt).equals(value))){
- return MessageFormat.format(JPAEditorMessages.DirectEditJPAEntityFeature_duplicateEntityName, packageName+value);
-
- }
- }
-
- if (value.length() < 1)
- return JPAEditorMessages.DirectEditJPAEntityFeature_classNameMsg;
- if (value.contains(" ")) //$NON-NLS-1$
- return JPAEditorMessages.DirectEditJPAEntityFeature_scpacesNotAllowedMsg;
- if (value.contains("\n")) //$NON-NLS-1$
- return JPAEditorMessages.DirectEditJPAEntityFeature_lineBreaksNotAllowedMsg;
- if(value.contains("{") || value.contains("}")) //$NON-NLS-1$ //$NON-NLS-2$
- return JPAEditorMessages.DirectEditJPAEntityFeature_bracesNotAllowedMsg;
- for (int i = 0; i < value.length(); i++) {
- if (allowed.indexOf(value.charAt(i)) < 0)
- return MessageFormat.format(JPAEditorMessages.DirectEditJPAEntityFeature_invalidSymbolsMsg, value);
- }
- return null;
- }
-
- public void setValue(final String value, IDirectEditingContext context) {
- PictogramElement pe = context.getPictogramElement();
- ContainerShape csh = ((Shape)pe).getContainer();
- JavaPersistentType jpt = (JavaPersistentType)getBusinessObjectForPictogramElement(csh);
- Properties props = JPADiagramPropertyPage.loadProperties(jpt.getJpaProject().getProject());
-
- String specifiedEntityMappingName = JpaArtifactFactory.instance().getSpecifiedEntityName(jpt);
- if(specifiedEntityMappingName == null){
- RenameEntityWithoutUIFeature ft = new RenameEntityWithoutUIFeature(getFeatureProvider(), value);
- ft.execute(jpt);
- return;
- } else {
-
- JpaArtifactFactory.instance().renameEntity(jpt, value);
-// Properties props = JPADiagramPropertyPage.loadProperties(jpt.getJpaProject().getProject());
- if (JPADiagramPropertyPage.doesDirecteEditingAffectClassNameByDefault(jpt.getJpaProject().getProject(), props)) {
- RenameEntityWithoutUIFeature ft = new RenameEntityWithoutUIFeature(getFeatureProvider(), value);
- ft.execute(jpt);
- return;
- }
- }
-
- final GraphicsAlgorithm alg = pe.getGraphicsAlgorithm().getGraphicsAlgorithmChildren().get(0);
-
- TransactionalEditingDomain ted = TransactionUtil.getEditingDomain(alg);
- ted.getCommandStack().execute(new RecordingCommand(ted) {
- protected void doExecute() {
- ((Text) alg).setValue(value);
- }
- });
-
- Set<JavaPersistentAttribute> ats = JpaArtifactFactory.instance().getRelatedAttributes(jpt);
- Iterator<JavaPersistentAttribute> it = ats.iterator();
- while (it.hasNext()) {
- JavaPersistentAttribute at = it.next();
- PictogramElement pel = getFeatureProvider().getPictogramElementForBusinessObject(at);
- String newAtName = JPAEditorUtil.decapitalizeFirstLetter(value);
- if (JpaArtifactFactory.instance().isMethodAnnotated(at))
- newAtName = JPAEditorUtil.produceValidAttributeName(newAtName);
- newAtName = JpaArtifactFactory.instance().renameAttribute(at, newAtName, jpt.getName(), getFeatureProvider()).getName();
-
- final GraphicsAlgorithm algo = pel.getGraphicsAlgorithm().getGraphicsAlgorithmChildren().get(0);
- final String attName = newAtName;
- TransactionalEditingDomain tedit = TransactionUtil.getEditingDomain(algo);
- tedit.getCommandStack().execute(new RecordingCommand(tedit) {
- protected void doExecute() {
- ((Text) algo).setValue(attName);
- }
- });
- }
- }
-
- public IJPAEditorFeatureProvider getFeatureProvider() {
- return (IJPAEditorFeatureProvider)super.getFeatureProvider();
- }
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/DiscardAndRemoveAllEntitiesFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/DiscardAndRemoveAllEntitiesFeature.java
deleted file mode 100644
index 1764962c47..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/DiscardAndRemoveAllEntitiesFeature.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import java.util.Iterator;
-
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.ICustomContext;
-import org.eclipse.graphiti.features.context.impl.CustomContext;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.swt.widgets.Display;
-
-
-public class DiscardAndRemoveAllEntitiesFeature extends RemoveAllEntitiesFeature {
-
- public DiscardAndRemoveAllEntitiesFeature(IFeatureProvider fp) {
- super(fp);
- }
-
- public String getConfirmationText() {
- return JPAEditorMessages.JPAEditorToolBehaviorProvider_removeAndDiscardAllEntitiesConfirmation;
- }
-
- public void execute(ICustomContext context) {
- MessageDialog dlg = new MessageDialog(Display.getCurrent().getShells()[0],
- JPAEditorMessages.JPAEditorToolBehaviorProvider_removeAllEntitiesMenu,
- null, getConfirmationText(), 0,
- new String[] {JPAEditorMessages.BTN_OK, JPAEditorMessages.BTN_CANCEL}, Dialog.CANCEL);
- if (dlg.open() != Dialog.OK)
- return;
- Iterator<Shape> it = this.getDiagram().getChildren().iterator();
- while (it.hasNext()) {
- Shape sh = it.next();
- RestoreEntityFeature ft = new RestoreEntityFeature(getFeatureProvider());
- ICustomContext ctx = new CustomContext(new PictogramElement[] { sh });
- ft.execute(ctx);
- allShapes.add(sh);
- }
- super.execute(context);
- }
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/ExpandAllEntitiesFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/ExpandAllEntitiesFeature.java
deleted file mode 100644
index ca531391a6..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/ExpandAllEntitiesFeature.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.transaction.RecordingCommand;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.transaction.util.TransactionUtil;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.IContext;
-import org.eclipse.graphiti.features.context.ICustomContext;
-import org.eclipse.graphiti.features.custom.AbstractCustomFeature;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.graphiti.services.Graphiti;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.GraphicsUpdater;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-
-
-public class ExpandAllEntitiesFeature extends AbstractCustomFeature{
-
- public ExpandAllEntitiesFeature(IFeatureProvider fp) {
- super(fp);
- }
-
- public void execute(ICustomContext context) {
- final Diagram diagram = getFeatureProvider().getDiagramTypeProvider().getDiagram();
- TransactionalEditingDomain ted = TransactionUtil.getEditingDomain(diagram);
-
- ted.getCommandStack().execute(new RecordingCommand(ted) {
- protected void doExecute() {
- EList<Shape> shapes = diagram.getChildren();
- for (PictogramElement el : shapes) {
- String collapseFeatures = Graphiti.getPeService().getPropertyValue(el, JPAEditorConstants.COLLAPSE_FEATURES);
- if (collapseFeatures != null) {
- Object bo = getBusinessObjectForPictogramElement(el);
- if(bo instanceof JavaPersistentType){
- ContainerShape containerShape = (ContainerShape) el;
- GraphicsUpdater.updateEntityShape(containerShape);
- GraphicsUpdater.updateEntityHeigth(containerShape);
- Graphiti.getPeService().removeProperty(el, JPAEditorConstants.COLLAPSE_FEATURES);
- JPAEditorUtil.rearrangeAllConnections(containerShape, getFeatureProvider(), false);
- }
- }
- }
- }
- });
-
- }
-
- @Override
- public boolean canExecute(ICustomContext context) {
- return true;
- }
-
- @Override
- public boolean isAvailable(IContext context) {
- return true;
- }
-
- public IJPAEditorFeatureProvider getFeatureProvider() {
- return (IJPAEditorFeatureProvider)super.getFeatureProvider();
- }
-
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/ExpandCompartmentShapeFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/ExpandCompartmentShapeFeature.java
deleted file mode 100644
index e27e43029a..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/ExpandCompartmentShapeFeature.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Petya Sabeva - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import org.eclipse.emf.transaction.RecordingCommand;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.transaction.util.TransactionUtil;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.IContext;
-import org.eclipse.graphiti.features.context.ICustomContext;
-import org.eclipse.graphiti.features.context.impl.CustomContext;
-import org.eclipse.graphiti.features.custom.AbstractCustomFeature;
-import org.eclipse.graphiti.features.custom.ICustomFeature;
-import org.eclipse.graphiti.mm.algorithms.GraphicsAlgorithm;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.GraphicsUpdater;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-
-
-public class ExpandCompartmentShapeFeature extends AbstractCustomFeature{
-
- public ExpandCompartmentShapeFeature(IFeatureProvider fp) {
- super(fp);
- }
-
- public void execute(ICustomContext context) {
- PictogramElement el = context.getPictogramElements()[0];
-
- Object ob = getFeatureProvider().getBusinessObjectForPictogramElement(el);
- int pictogramHeight = JPAEditorConstants.COMPARTMENT_MIN_HEIGHT;
- int newHeight = JPAEditorConstants.COMPARTMENT_BUTTOM_OFFSET;
- final ContainerShape containerShape = (ContainerShape) el;
- if(ob == null)
- newHeight = GraphicsUpdater.increaseCompartmentHeigth(containerShape, newHeight);
- final int pictHeight = pictogramHeight + newHeight;
- final GraphicsAlgorithm algo = el.getGraphicsAlgorithm();
- final ContainerShape entityShape = containerShape.getContainer();
- TransactionalEditingDomain ted = TransactionUtil.getEditingDomain(algo);
- ted.getCommandStack().execute(new RecordingCommand(ted) {
- protected void doExecute() {
- algo.setHeight(pictHeight);
- int height = GraphicsUpdater.getPrimaryShape(entityShape).getGraphicsAlgorithm().getHeight() +
- GraphicsUpdater.getRelationShape(entityShape).getGraphicsAlgorithm().getHeight() +
- GraphicsUpdater.getBasicShape(entityShape).getGraphicsAlgorithm().getHeight() + JPAEditorConstants.ENTITY_MIN_HEIGHT;
-
- if(height>entityShape.getGraphicsAlgorithm().getHeight()){
- ICustomContext cont = new CustomContext(new PictogramElement[] {entityShape});
- ICustomFeature expandEntity = new ExpandEntityFeature(getFeatureProvider());
- expandEntity.execute(cont);
- }
- GraphicsUpdater.updateEntityShape(entityShape);
- GraphicsUpdater.setCollapsed(containerShape, false);
- JPAEditorUtil.rearrangeAllConnections(entityShape, getFeatureProvider(), false);
- }
- });
- }
-
- @Override
- public boolean canExecute(ICustomContext context) {
- return true;
- }
-
-
- @Override
- public boolean isAvailable(IContext context) {
- boolean ret = false;
- if (context instanceof ICustomContext) {
- PictogramElement[] pes = ((ICustomContext) context).getPictogramElements();
- if (pes != null && pes.length > 0) {
- boolean expandPossible = false;
- for (int i = 0; i < pes.length; i++) {
- PictogramElement pe = pes[i];
- Object bo = getBusinessObjectForPictogramElement(pe);
- if (bo != null) {
- expandPossible = false;
- return false;
- }
- if (!expandPossible) {
- if (GraphicsUpdater.isCollapsed((ContainerShape)pe)) {
- expandPossible = true;
- }
- }
- }
- if (expandPossible) {
- return true;
- }
- }
- }
-
- return ret;
- }
-
- public IJPAEditorFeatureProvider getFeatureProvider() {
- return (IJPAEditorFeatureProvider)super.getFeatureProvider();
- }
-
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/ExpandEntityFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/ExpandEntityFeature.java
deleted file mode 100644
index 35020b51b2..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/ExpandEntityFeature.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Petya Sabeva - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import org.eclipse.emf.transaction.RecordingCommand;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.transaction.util.TransactionUtil;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.IContext;
-import org.eclipse.graphiti.features.context.ICustomContext;
-import org.eclipse.graphiti.features.custom.AbstractCustomFeature;
-import org.eclipse.graphiti.mm.Property;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.services.Graphiti;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.GraphicsUpdater;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-
-
-public class ExpandEntityFeature extends AbstractCustomFeature{
-
- public ExpandEntityFeature(IFeatureProvider fp) {
- super(fp);
- }
-
- public void execute(ICustomContext context) {
- final PictogramElement el = context.getPictogramElements()[0];
-
- Object bo = getBusinessObjectForPictogramElement(el);
- if(bo instanceof JavaPersistentType){
- final ContainerShape containerShape = (ContainerShape) el;
-
- TransactionalEditingDomain ted = TransactionUtil.getEditingDomain(containerShape);
- ted.getCommandStack().execute(new RecordingCommand(ted) {
- protected void doExecute() {
-
- GraphicsUpdater.updateEntityShape(containerShape);
- GraphicsUpdater.updateEntityHeigth(containerShape);
- Graphiti.getPeService().removeProperty(el, JPAEditorConstants.COLLAPSE_FEATURES);
-
- JPAEditorUtil.rearrangeAllConnections(containerShape, getFeatureProvider(), false);
- }
- });
- }
- }
-
- @Override
- public boolean canExecute(ICustomContext context) {
- return true;
- }
-
- @Override
- public boolean isAvailable(IContext context) {
- boolean ret = false;
- if (context instanceof ICustomContext) {
- PictogramElement[] pes = ((ICustomContext) context).getPictogramElements();
- if (pes != null && pes.length > 0) {
- boolean expandPossible = false;
- for (int i = 0; i < pes.length; i++) {
- PictogramElement pe = pes[i];
- Object bo = getBusinessObjectForPictogramElement(pe);
- if (!(bo instanceof JavaPersistentType)) {
- return false;
- }
- if (!expandPossible) {
- Property property = Graphiti.getPeService().getProperty(pe, JPAEditorConstants.COLLAPSE_FEATURES);
- if (property != null) {
- expandPossible = true;
- }
- }
- }
- if (expandPossible) {
- return true;
- }
- }
- }
-
- return ret;
- }
-
- public IJPAEditorFeatureProvider getFeatureProvider() {
- return (IJPAEditorFeatureProvider)super.getFeatureProvider();
- }
-
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/GraphicalAddAttributeFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/GraphicalAddAttributeFeature.java
deleted file mode 100644
index 755d3e88ff..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/GraphicalAddAttributeFeature.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import java.util.HashSet;
-
-import org.eclipse.emf.transaction.RecordingCommand;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.transaction.util.TransactionUtil;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.IAddContext;
-import org.eclipse.graphiti.features.impl.AbstractAddShapeFeature;
-import org.eclipse.graphiti.mm.algorithms.Image;
-import org.eclipse.graphiti.mm.algorithms.Rectangle;
-import org.eclipse.graphiti.mm.algorithms.Text;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.services.Graphiti;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.JPAEditorImageProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.GraphicsUpdater;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.Wrp;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants.ShapeType;
-
-
-public class GraphicalAddAttributeFeature extends AbstractAddShapeFeature {
-
- public GraphicalAddAttributeFeature(IFeatureProvider fp) {
- super(fp);
- }
-
- public PictogramElement add(final IAddContext context) {
- final ContainerShape entityShape = context.getTargetContainer();
- final Wrp wrp = new Wrp();
- TransactionalEditingDomain ted = TransactionUtil.getEditingDomain(entityShape);
- ted.getCommandStack().execute(new RecordingCommand(ted) {
- protected void doExecute() {
- JavaPersistentAttribute newAttr = (JavaPersistentAttribute) context.getNewObject();
- String txt = JPAEditorUtil.getText(newAttr);
- HashSet<String> annots = JpaArtifactFactory.instance().getAnnotationNames(newAttr);
- ContainerShape textShape = null;
- ContainerShape primaryShape = GraphicsUpdater.getPrimaryShape(entityShape);
- ContainerShape relationShape = GraphicsUpdater.getRelationShape(entityShape);
- ContainerShape basicShape = GraphicsUpdater.getBasicShape(entityShape);
- textShape = addAttributeToProperlyShape(entityShape, txt, annots, primaryShape, relationShape, basicShape);
- link(textShape, newAttr);
- layoutPictogramElement(entityShape);
- wrp.setObj(textShape);
- }
-
- });
- return (PictogramElement)wrp.getObj();
- }
-
- private ContainerShape addAttributeToProperlyShape(ContainerShape entityShape, String txt, HashSet<String> annots,
- ContainerShape primaryShape, ContainerShape relationShape, ContainerShape basicShape) {
- ContainerShape textShape = null;
- if (annots.contains(JPAEditorConstants.ANNOTATION_ID) || annots.contains(JPAEditorConstants.ANNOTATION_EMBEDDED_ID)) {
- textShape = addAttributeToShape(entityShape, txt, annots, primaryShape);
- } else if (annots.contains(JPAEditorConstants.ANNOTATION_MANY_TO_MANY)
- || annots.contains(JPAEditorConstants.ANNOTATION_MANY_TO_ONE)
- || annots.contains(JPAEditorConstants.ANNOTATION_ONE_TO_MANY)
- || annots.contains(JPAEditorConstants.ANNOTATION_ONE_TO_ONE)) {
- textShape = addAttributeToShape(entityShape, txt, annots, relationShape);
- } else {
- textShape = addAttributeToShape(entityShape, txt, annots, basicShape);
- }
- return textShape;
- }
-
- private ContainerShape addAttributeToShape(ContainerShape entityShape, String txt, HashSet<String> annots,
- ContainerShape containerShape) {
- ContainerShape textShape = null;
- int childrenSizeBefore = containerShape.getChildren().size();
- int containerHeightBefore = containerShape.getGraphicsAlgorithm().getHeight();
- textShape = addAttribute(getFeatureProvider(), containerShape, txt, annots);
-
- GraphicsUpdater.updateContainer(containerShape, childrenSizeBefore, containerHeightBefore);
- GraphicsUpdater.updateEntityShape(entityShape);
-
- return textShape;
- }
-
- private static ContainerShape addAttribute(IJPAEditorFeatureProvider fp, ContainerShape containerShape,
- String attribTxt, HashSet<String> annotations) {
-
- int width = containerShape.getContainer().getGraphicsAlgorithm().getWidth();
- ContainerShape iconShape = Graphiti.getPeService().createContainerShape(containerShape, false);
- Graphiti.getPeService().setPropertyValue(iconShape, JPAEditorConstants.PROP_SHAPE_TYPE, ShapeType.ICON.toString());
- int attribIndex = fp.getAttribsNum(containerShape);
- Rectangle iconRect = UpdateAttributeFeature.addRectangleForIcon(iconShape, attribIndex);
- Image icon = null;
- Object ob = fp.getBusinessObjectForPictogramElement(containerShape.getContainer());
- JavaPersistentType jpt = (JavaPersistentType)ob;
- boolean isMethodAnnotated = JpaArtifactFactory.instance().isMethodAnnotated(jpt);
- boolean isCollection = isMethodAnnotated ?
- JpaArtifactFactory.instance().isGetterMethodReturnTypeCollection(containerShape.getContainer(), fp, attribTxt) :
- JpaArtifactFactory.instance().isCollection(containerShape.getContainer(), fp, attribTxt);
- if (isCollection && annotations.isEmpty()) {
- icon = Graphiti.getGaService().createImage(iconRect, JPAEditorImageProvider.ICON_UNMAPPED);
- } else{
- icon = JPAEditorUtil.createAttributeIcon(iconRect, annotations);
- }
- Graphiti.getGaService().setLocationAndSize(icon, JPAEditorConstants.ICON_X, JPAEditorConstants.ICON_Y,
- JPAEditorConstants.ICON_WIDTH, JPAEditorConstants.ICON_HEIGHT);
- ContainerShape textShape = Graphiti.getPeService().createContainerShape(containerShape, false);
- Graphiti.getPeService().setPropertyValue(textShape, JPAEditorConstants.PROP_SHAPE_TYPE, ShapeType.ATTRIBUTE.toString());
- Rectangle textRectangle = UpdateAttributeFeature.addRectangleForText(textShape, attribIndex, width);
- textShape.setActive(true);
- Text text = UpdateAttributeFeature.addText(fp, textRectangle, attribTxt);
- Graphiti.getGaService().setWidth(text, width - JPAEditorConstants.ATTRIBUTE_TEXT_RECT_WIDTH_REDUCER);
- Graphiti.getGaService().setLocationAndSize(text, 1, -2, width
- - JPAEditorConstants.ATTRIBUTE_TEXT_RECT_WIDTH_REDUCER, JPAEditorConstants.ATTRIBUTE_RECT_HEIGHT);
- fp.increaseAttribsNum(containerShape);
- return textShape;
- }
-
- public IJPAEditorFeatureProvider getFeatureProvider() {
- return (IJPAEditorFeatureProvider) super.getFeatureProvider();
- }
-
- public boolean canAdd(IAddContext context) {
- return false;
- }
-} \ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/GraphicalRemoveAttributeFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/GraphicalRemoveAttributeFeature.java
deleted file mode 100644
index 3a9be17efa..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/GraphicalRemoveAttributeFeature.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-import java.util.ListIterator;
-
-import org.eclipse.emf.transaction.RecordingCommand;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.transaction.util.TransactionUtil;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.ICustomContext;
-import org.eclipse.graphiti.features.context.impl.AddConnectionContext;
-import org.eclipse.graphiti.features.custom.AbstractCustomFeature;
-import org.eclipse.graphiti.mm.pictograms.AnchorContainer;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.graphiti.services.Graphiti;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.IRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.GraphicsUpdater;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-
-
-class GraphicalRemoveAttributeFeature extends AbstractCustomFeature {
-
- public GraphicalRemoveAttributeFeature(IFeatureProvider fp) {
- super(fp);
- }
-
- public void execute(ICustomContext context) {
- final PictogramElement pe = context.getInnerPictogramElement();
- if (pe == null)
- return;
- TransactionalEditingDomain ted = TransactionUtil.getEditingDomain(pe);
- ted.getCommandStack().execute(new RecordingCommand(ted) {
- protected void doExecute() {
- Shape sh = (Shape) pe;
- Object bo = getFeatureProvider().getBusinessObjectForPictogramElement(sh);
- if ((bo == null) || (!JavaPersistentType.class.isInstance(bo)))
- return;
- ContainerShape entityShape = (ContainerShape) pe;
- ContainerShape primShape = GraphicsUpdater.getPrimaryShape(entityShape);
- ContainerShape relationShape = GraphicsUpdater.getRelationShape(entityShape);
- ContainerShape basicShape = GraphicsUpdater.getBasicShape(entityShape);
-
- removeCompartmentChildren(primShape);
- removeCompartmentChildren(relationShape);
- removeCompartmentChildren(basicShape);
-
- readdCompartmentsChildren((JavaPersistentType) bo, entityShape, primShape, relationShape, basicShape);
-
- layoutPictogramElement(entityShape);
- reconnect((JavaPersistentType) bo);
- }
- });
-
- }
-
- public void reconnect(JavaPersistentType jpt) {
- IJPAEditorFeatureProvider fp = getFeatureProvider();
- Collection<IRelation> rels = JpaArtifactFactory.instance().produceAllRelations(jpt, fp);
- JpaArtifactFactory.instance().refreshEntityModel(fp, jpt);
- Iterator<IRelation> it = rels.iterator();
- while (it.hasNext()) {
- IRelation rel = it.next();
- AddRelationFeature relF = new AddRelationFeature(fp);
- AnchorContainer acSource = (AnchorContainer) fp.getPictogramElementForBusinessObject(rel.getOwner());
- AnchorContainer acTarget = (AnchorContainer) fp.getPictogramElementForBusinessObject(rel.getInverse());
- AddConnectionContext ctx = new AddConnectionContext(acSource.getAnchors().iterator().next(), acTarget
- .getAnchors().iterator().next());
- ctx.setNewObject(rel);
- relF.add(ctx);
-// JpaArtifactFactory.instance().refreshEntityModel(fp, jpt);
- }
- }
-
- @SuppressWarnings("deprecation")
- private void readdCompartmentsChildren(JavaPersistentType javaPersistentType, ContainerShape entityShape,
- ContainerShape primaryShape, ContainerShape relationShape, ContainerShape basicShape) {
-
- UpdateAttributeFeature updateFeature = new UpdateAttributeFeature(getFeatureProvider());
- updateFeature.addSeparatorsToShape(primaryShape);
- updateFeature.addSeparatorsToShape(relationShape);
- updateFeature.addSeparatorsToShape(basicShape);
-
- ListIterator<JavaPersistentAttribute> attributeIter = javaPersistentType.attributes();
- while (attributeIter.hasNext()) {
- JavaPersistentAttribute attribute = attributeIter.next();
- updateFeature.addAttributes(entityShape, attribute);
-
- getFeatureProvider().renewAttributeJoiningStrategyPropertyListener(attribute);
- getFeatureProvider().addJPTForUpdate(javaPersistentType.getName());
- }
- }
-
- private void removeCompartmentChildren(ContainerShape compartmentShape) {
- int y = 0;
- List<Shape> children = compartmentShape.getChildren();
- for (int i = 0; i < new ArrayList<Shape>(compartmentShape.getChildren()).size(); i++) {
- Shape shape = compartmentShape.getChildren().get(i);
- y = shape.getGraphicsAlgorithm().getY();
- Graphiti.getPeService().deletePictogramElement(shape);
- }
- for (int i = getFeatureProvider().getAttribsNum(compartmentShape); i > 0; i--) {
- Shape shape = compartmentShape.getChildren().get(i);
- y = shape.getGraphicsAlgorithm().getY();
- Graphiti.getPeService().deletePictogramElement(shape);
- getFeatureProvider().decreaseAttribsNum(compartmentShape);
- }
- children = compartmentShape.getChildren();
- shiftUpLowerAttribs(y, children);
- compartmentShape.getGraphicsAlgorithm().setHeight(0);
- }
-
- public IJPAEditorFeatureProvider getFeatureProvider() {
- return (IJPAEditorFeatureProvider) super.getFeatureProvider();
- }
-
- private void shiftUpLowerAttribs(int y, List<Shape> children) {
- for (int i = 0; i < children.size(); i++) {
- Shape shp = children.get(i);
- if (shp != null) {
- int grY = children.get(i).getGraphicsAlgorithm().getY();
- if (grY > y) {
- children.get(i).getGraphicsAlgorithm().setY(grY - JPAEditorConstants.ATTRIBUTES_PLACEMENT_STEP);
- }
- children.get(i).setVisible(false);
- Graphiti.getPeService().deletePictogramElement(children.get(i));
- }
- }
- }
-
-} \ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/JPAMoveConnectionDecoratorFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/JPAMoveConnectionDecoratorFeature.java
deleted file mode 100644
index 2180e95041..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/JPAMoveConnectionDecoratorFeature.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.IContext;
-import org.eclipse.graphiti.features.context.IMoveConnectionDecoratorContext;
-import org.eclipse.graphiti.features.impl.DefaultMoveConnectionDecoratorFeature;
-
-public class JPAMoveConnectionDecoratorFeature extends
- DefaultMoveConnectionDecoratorFeature {
-
- public JPAMoveConnectionDecoratorFeature(IFeatureProvider fp) {
- super(fp);
- }
-
- @Override
- public boolean canExecute(IContext context) {
- return false;
- }
-
- @Override
- public boolean canMoveConnectionDecorator(
- IMoveConnectionDecoratorContext context) {
- return false;
- }
-
- @Override
- public boolean isAvailable(IContext context) {
- return false;
- }
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/LayoutJPAEntityFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/LayoutJPAEntityFeature.java
deleted file mode 100644
index b9eae4f056..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/LayoutJPAEntityFeature.java
+++ /dev/null
@@ -1,227 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.graphiti.datatypes.IDimension;
-import org.eclipse.graphiti.features.context.ILayoutContext;
-import org.eclipse.graphiti.features.impl.AbstractLayoutFeature;
-import org.eclipse.graphiti.mm.Property;
-import org.eclipse.graphiti.mm.algorithms.GraphicsAlgorithm;
-import org.eclipse.graphiti.mm.algorithms.Image;
-import org.eclipse.graphiti.mm.algorithms.Polyline;
-import org.eclipse.graphiti.mm.algorithms.Rectangle;
-import org.eclipse.graphiti.mm.algorithms.Text;
-import org.eclipse.graphiti.mm.algorithms.styles.Point;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.graphiti.services.Graphiti;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IGraphicsUpdater;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IPeServiceUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants;
-
-
-public class LayoutJPAEntityFeature extends AbstractLayoutFeature {
-
- private IPeServiceUtil peUtil = null;
-
- public LayoutJPAEntityFeature(IJPAEditorFeatureProvider fp) {
- super(fp);
- peUtil = fp.getPeUtil();
- }
-
- public boolean canLayout(ILayoutContext context) {
- PictogramElement pe = context.getPictogramElement();
- Object bo = getBusinessObjectForPictogramElement(pe);
- return (bo instanceof JavaPersistentType);
- }
-
- public boolean layout(ILayoutContext context) {
- boolean anythingChanged = false;
- ContainerShape containerShape = (ContainerShape) context
- .getPictogramElement();
- GraphicsAlgorithm containerGa = containerShape.getGraphicsAlgorithm();
-
- if(containerGa.getHeight() < JPAEditorConstants.ENTITY_MIN_HEIGHT){
- containerGa.setHeight(JPAEditorConstants.ENTITY_MIN_HEIGHT);
- }
-
- configureEntityCollapseExpandProperty(containerShape, containerGa);
-
- if (containerGa.getWidth() < JPAEditorConstants.ENTITY_MIN_WIDTH) {
- containerGa.setWidth(JPAEditorConstants.ENTITY_MIN_WIDTH);
- anythingChanged = true;
- }
- int containerWidth = containerGa.getWidth();
- Iterator<Shape> iter = containerShape.getChildren().iterator();
- while (iter.hasNext()) {
- Shape shape = iter.next();
- anythingChanged = layoutContainerEntityChildren(anythingChanged,
- containerWidth, shape);
-
- }
- Property property = peUtil.getProperty(containerShape, JPAEditorConstants.COLLAPSE_FEATURES);
- if (property == null) {
- IGraphicsUpdater gu = getFeatureProvider().getGraphicsUpdater();
- gu.updateEntityHeigth(containerShape);
- }
-
- return anythingChanged;
- }
-
- public IJPAEditorFeatureProvider getFeatureProvider() {
- return (IJPAEditorFeatureProvider)super.getFeatureProvider();
- }
-
- private void configureEntityCollapseExpandProperty(
- ContainerShape containerShape, GraphicsAlgorithm containerGa) {
- if(containerGa.getHeight() == JPAEditorConstants.ENTITY_MIN_HEIGHT){
- peUtil.setPropertyValue(containerShape, JPAEditorConstants.COLLAPSE_FEATURES, String.valueOf(JPAEditorConstants.ENTITY_MIN_HEIGHT));
- }
- else if(containerGa.getHeight()>JPAEditorConstants.ENTITY_MIN_HEIGHT){
- peUtil.removeProperty(containerShape, JPAEditorConstants.COLLAPSE_FEATURES);
- }
- }
-
- private boolean layoutContainerEntityChildren(boolean anythingChanged,
- int containerWidth, Shape shape) {
- GraphicsAlgorithm graphicsAlgorithm = shape.getGraphicsAlgorithm();
- IDimension size = Graphiti.getGaService().calculateSize(graphicsAlgorithm);
- if (containerWidth != size.getWidth()) {
- if (graphicsAlgorithm instanceof Polyline) {
- anythingChanged = layoutPolyline(containerWidth,
- graphicsAlgorithm);
- } else if (graphicsAlgorithm instanceof Rectangle) {
-
- Rectangle rect = (Rectangle) graphicsAlgorithm;
- List<GraphicsAlgorithm> gra = rect.getGraphicsAlgorithmChildren();
- Iterator<GraphicsAlgorithm> it = gra.iterator();
- while (it.hasNext()) {
- GraphicsAlgorithm gr = it.next();
- if (gr instanceof Image){
- layoutHeaderIcon(shape, graphicsAlgorithm);
- }
- else if (gr instanceof Text) {
- Text txt = (Text) gr;
- if(!txt.getFont().isItalic()){
- layoutHeaderText(containerWidth, graphicsAlgorithm, gr);
- }else{
- layoutAttributesGroups(anythingChanged, gr, containerWidth);
- }
- }
- }
- anythingChanged = true;
- }
- }
- return anythingChanged;
- }
-
- private void layoutHeaderText(int containerWidth,
- GraphicsAlgorithm graphicsAlgorithm, GraphicsAlgorithm gr) {
- Graphiti.getGaService().setWidth(graphicsAlgorithm,
- containerWidth - JPAEditorConstants.HEADER_TEXT_RECT_WIDTH_REDUCER);
- Graphiti.getGaService().setWidth(gr, containerWidth - JPAEditorConstants.HEADER_TEXT_RECT_WIDTH_REDUCER);
- }
-
- private void layoutHeaderIcon(Shape shape,
- GraphicsAlgorithm graphicsAlgorithm) {
- GraphicsAlgorithm headerIconGraphicsAlg = shape
- .getGraphicsAlgorithm();
- Graphiti.getGaService().setWidth(graphicsAlgorithm, JPAEditorConstants.HEADER_ICON_RECT_WIDTH);
- Graphiti.getGaService().setWidth(headerIconGraphicsAlg, JPAEditorConstants.HEADER_ICON_RECT_HEIGHT);
- }
-
- private boolean layoutPolyline(int containerWidth,
- GraphicsAlgorithm graphicsAlgorithm) {
- boolean anythingChanged;
- Polyline headerBottomLine = (Polyline) graphicsAlgorithm;
- Point secondPoint = headerBottomLine.getPoints().get(1);
- Point newSecondPoint = Graphiti.getGaService().createPoint(/* headerBottomLine, */
- containerWidth, secondPoint.getY());
- headerBottomLine.getPoints().set(1, newSecondPoint);
- anythingChanged = true;
- return anythingChanged;
- }
-
- private void layoutAttributesGroups(boolean anythingChanged, GraphicsAlgorithm graphicsAlgorithm,
- int containerWidth) {
- ContainerShape containerShape = (ContainerShape) Graphiti.getPeService().getActiveContainerPe(graphicsAlgorithm);
- layoutConcreteCompartmentShape(anythingChanged, containerShape, containerWidth);
- }
-
- private void layoutConcreteCompartmentShape(boolean anythingChanged, ContainerShape containerShape,
- int containerWidth) {
-
- layoutCompartmentShape(containerShape, containerWidth);
-
- Iterator<Shape> iter = containerShape.getChildren().iterator();
- while(iter.hasNext()) {
- Shape shape = iter.next();
- GraphicsAlgorithm graphicsAlgorithm = shape.getGraphicsAlgorithm();
- if (graphicsAlgorithm instanceof Rectangle) {
- Rectangle rect = (Rectangle) graphicsAlgorithm;
- List<GraphicsAlgorithm> gra = rect.getGraphicsAlgorithmChildren();
- if(gra.isEmpty()){
- Graphiti.getGaService().setWidth(graphicsAlgorithm, containerWidth);
- }
- Iterator<GraphicsAlgorithm> it = gra.iterator();
- while (it.hasNext()) {
- GraphicsAlgorithm gr = it.next();
- if (gr instanceof Image) {
- layoutAttributeIcon(shape, graphicsAlgorithm);
- }
- if (gr instanceof Text) {
- layoutAttributeText(containerWidth, graphicsAlgorithm, gr);
- }
- }
- anythingChanged = true;
- }
- }
- }
-
- private void layoutAttributeText(int containerWidth,
- GraphicsAlgorithm graphicsAlgorithm, GraphicsAlgorithm gr) {
- Graphiti.getGaService().setWidth(graphicsAlgorithm,
- containerWidth - JPAEditorConstants.ATTRIBUTE_TEXT_RECT_WIDTH_REDUCER);
- Graphiti.getGaService().setWidth(gr,
- containerWidth - JPAEditorConstants.ATTRIBUTE_TEXT_RECT_WIDTH_REDUCER);
- }
-
- private void layoutAttributeIcon(Shape shape,
- GraphicsAlgorithm graphicsAlgorithm) {
- GraphicsAlgorithm headerIconGraphicsAlg = shape.getGraphicsAlgorithm();
- Graphiti.getGaService().setWidth(graphicsAlgorithm,JPAEditorConstants.ICON_RECT_WIDTH);
- Graphiti.getGaService().setWidth(headerIconGraphicsAlg, JPAEditorConstants.ICON_RECT_WIDTH);
- }
-
- private void layoutCompartmentShape(ContainerShape containerShape,
- int containerWidth) {
- GraphicsAlgorithm graphic = containerShape.getGraphicsAlgorithm();
- List<GraphicsAlgorithm> graphics = graphic.getGraphicsAlgorithmChildren();
- Iterator<GraphicsAlgorithm> iterator = graphics.iterator();
- while (iterator.hasNext()) {
- GraphicsAlgorithm graphicsAlgorithm = iterator.next();
- Graphiti.getGaService().setWidth(graphic, containerWidth);
- Graphiti.getGaService().setWidth(graphicsAlgorithm, containerWidth);
- }
- }
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/MoveAttributeFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/MoveAttributeFeature.java
deleted file mode 100644
index fd9e639f1a..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/MoveAttributeFeature.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.IContext;
-import org.eclipse.graphiti.features.context.IMoveShapeContext;
-import org.eclipse.graphiti.features.impl.DefaultMoveShapeFeature;
-
-/*
- * The attribute shapes (residing within the entity shapes)
- * are NOT supposed to be moveable (at least - not by
- * drag-and-drop). The only purpose of this class is to
- * disable this ability
- *
- */
-
-public class MoveAttributeFeature extends DefaultMoveShapeFeature {
- public MoveAttributeFeature(IFeatureProvider fp) {
- super(fp);
- }
-
- public boolean canMoveShape(IMoveShapeContext context) {
- return false;
- }
-
-
- public boolean canExecute(IContext context) {
- return false;
- }
-
-
- public boolean isAvailable(IContext context) {
- return false;
- }
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/MoveEntityFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/MoveEntityFeature.java
deleted file mode 100644
index 70e0df0e2c..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/MoveEntityFeature.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.ICustomContext;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.internal.ui.refactoring.reorg.ReorgMoveAction;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchSite;
-
-@SuppressWarnings("restriction")
-public class MoveEntityFeature extends RefactorEntityFeature {
-
- public MoveEntityFeature(IFeatureProvider fp) {
- super(fp);
- }
-
- public void execute(ICustomContext context) {
- ICompilationUnit cu = getFeatureProvider().getCompilationUnit(jpt);
- IWorkbenchSite ws = ((IEditorPart)getDiagramEditor()).getSite();
- ReorgMoveAction action = new ReorgMoveAction(ws);
- execute(context, action, cu);
- }
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/MoveEntityShapeFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/MoveEntityShapeFeature.java
deleted file mode 100644
index 4d167a7bc4..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/MoveEntityShapeFeature.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import java.util.Collection;
-import java.util.Iterator;
-
-import org.eclipse.emf.transaction.RecordingCommand;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.transaction.util.TransactionUtil;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.IMoveShapeContext;
-import org.eclipse.graphiti.features.impl.DefaultMoveShapeFeature;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-
-
-public class MoveEntityShapeFeature extends DefaultMoveShapeFeature {
-
- public MoveEntityShapeFeature(IFeatureProvider fp) {
- super(fp);
- }
-
- protected void moveAllBendpoints(IMoveShapeContext context) {
- }
-
- protected void postMoveShape(IMoveShapeContext context) {
- ContainerShape cs = (ContainerShape)context.getShape();
- JPAEditorUtil.rearrangeAllConnections(cs, getFeatureProvider(), false);
- Collection<ContainerShape> css = JPAEditorUtil.getRelatedShapes(cs);
- Iterator<ContainerShape> csIt = css.iterator();
- while (csIt.hasNext()) {
- ContainerShape cs1 = csIt.next();
- JPAEditorUtil.rearrangeAllConnections(cs1, getFeatureProvider(), true);
- }
- }
-
- @Override
- protected void internalMove(final IMoveShapeContext context) {
- PictogramElement el = context.getPictogramElement();
- TransactionalEditingDomain ted = TransactionUtil.getEditingDomain(el);
- ted.getCommandStack().execute(new RecordingCommand(ted) {
- protected void doExecute() {
- move(context);
- }
- });
- }
-
- public void move(IMoveShapeContext context){
- super.internalMove(context);
- }
-
- public IJPAEditorFeatureProvider getFeatureProvider() {
- return (IJPAEditorFeatureProvider)super.getFeatureProvider();
- }
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/OpenJPADetailsViewFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/OpenJPADetailsViewFeature.java
deleted file mode 100644
index 19f73c52d5..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/OpenJPADetailsViewFeature.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.ICustomContext;
-import org.eclipse.graphiti.features.custom.AbstractCustomFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-
-
-public class OpenJPADetailsViewFeature extends AbstractCustomFeature {
-
- public OpenJPADetailsViewFeature(IFeatureProvider fp) {
- super(fp);
- }
-
- public boolean canExecute(ICustomContext context) {
- return true;
- }
-
- public void execute(ICustomContext context) {
- try {
- PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().
- showView(JPAEditorConstants.ID_VIEW_JPA_DETAILS);
- } catch (PartInitException e) {
- System.err.println("Can't open JPA Details view"); //$NON-NLS-1$
- e.printStackTrace();
- }
- }
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/OpenMiniatureViewFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/OpenMiniatureViewFeature.java
deleted file mode 100644
index a6b86e5492..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/OpenMiniatureViewFeature.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.ICustomContext;
-import org.eclipse.graphiti.features.custom.AbstractCustomFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-
-
-public class OpenMiniatureViewFeature extends AbstractCustomFeature {
-
- public OpenMiniatureViewFeature(IFeatureProvider fp) {
- super(fp);
- }
-
- public boolean canExecute(ICustomContext context) {
- return true;
- }
-
- public void execute(ICustomContext context) {
- try {
- PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().
- showView(JPAEditorConstants.ID_VIEW_MINIATURE);
- } catch (PartInitException e) {
- System.err.println("Can't open Miniature view"); //$NON-NLS-1$
- e.printStackTrace();
- }
- }
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RefactorAttributeTypeFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RefactorAttributeTypeFeature.java
deleted file mode 100644
index 5973db1486..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RefactorAttributeTypeFeature.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import java.text.MessageFormat;
-import java.util.List;
-
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.ICustomContext;
-import org.eclipse.graphiti.features.custom.AbstractCustomFeature;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jpt.jpa.core.context.PersistentType;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpa.core.resource.java.JavaResourcePersistentAttribute;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.dialog.SelectTypeDialog;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchSite;
-
-
-public class RefactorAttributeTypeFeature extends AbstractCustomFeature {
-
- //private static final TracerI tracer = TracingManager.getTracer(RefactorAttributeTypeFeature.class);
-
- public RefactorAttributeTypeFeature(IFeatureProvider fp) {
- super(fp);
- }
-
- public boolean canExecute(ICustomContext context) {
- return true;
- }
-
-
- public void execute(ICustomContext context) {
- PictogramElement pe = context.getPictogramElements()[0];
- Object bo = getFeatureProvider().getBusinessObjectForPictogramElement(pe);
- if ((bo == null) || (!(bo instanceof JavaPersistentAttribute)))
- return;
- JavaPersistentAttribute jpa = (JavaPersistentAttribute)bo;
- String typeName = JPAEditorUtil.getAttributeTypeNameWithGenerics(jpa);
- String msg = MessageFormat.format(JPAEditorMessages.SelectTypeDialog_chooseAttributeTypeDialogText,
- jpa.getName(), JPAEditorUtil.returnSimpleName(((PersistentType)jpa.getParent()).getName()));
- SelectTypeDialog d = new SelectTypeDialog(msg, typeName);
- if (d.open() != IDialogConstants.OK_ID)
- return;
- String newTypeName = d.getTypeName();
- String[] attributeTypeTypeNames = JPAEditorUtil.getGenericsElementTypes(newTypeName);
- if (attributeTypeTypeNames != null)
- newTypeName = newTypeName.substring(0, newTypeName.indexOf('<')).trim();
-
- getFeatureProvider().addAddIgnore((JavaPersistentType)jpa.getParent(), jpa.getName());
- JavaResourcePersistentAttribute jrpa = jpa.getResourcePersistentAttribute();
- getFeatureProvider().addRemoveIgnore((JavaPersistentType)jpa.getParent(), jrpa.getName());
- boolean isMethodAnnotated = jpa.isProperty();
-
- List<String> annotations = JpaArtifactFactory.instance().getAnnotationStrings(jpa);
- JpaArtifactFactory.instance().deleteAttribute((JavaPersistentType)jpa.getParent(), jpa.getName(),
- getFeatureProvider());
- JavaPersistentAttribute newAt = JpaArtifactFactory.instance().createANewAttribute((JavaPersistentType)jpa.getParent(),
- jpa.getName(), newTypeName, attributeTypeTypeNames, jpa.getName(), annotations,
- false, isMethodAnnotated, getFeatureProvider());
- getFeatureProvider().replaceAttribute(jpa, newAt);
- IWorkbenchSite ws = ((IEditorPart)getDiagramEditor()).getSite();
- ICompilationUnit cu = getFeatureProvider().getCompilationUnit((JavaPersistentType)newAt.getParent());
- getFeatureProvider().getJPAEditorUtil().formatCode(cu, ws);
- JpaArtifactFactory.instance().remakeRelations(getFeatureProvider(),
- ((Shape)pe).getContainer(), (JavaPersistentType)newAt.getParent());
- }
-
- public IJPAEditorFeatureProvider getFeatureProvider() {
- return (IJPAEditorFeatureProvider) super.getFeatureProvider();
- }
-
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RefactorEntityFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RefactorEntityFeature.java
deleted file mode 100644
index 729d88c7fc..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RefactorEntityFeature.java
+++ /dev/null
@@ -1,349 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import java.util.HashSet;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.Set;
-import java.util.concurrent.Semaphore;
-import java.util.concurrent.TimeUnit;
-
-import org.eclipse.emf.transaction.RecordingCommand;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.transaction.util.TransactionUtil;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.IContext;
-import org.eclipse.graphiti.features.context.ICustomContext;
-import org.eclipse.graphiti.features.context.IRemoveContext;
-import org.eclipse.graphiti.features.context.impl.AddContext;
-import org.eclipse.graphiti.features.context.impl.RemoveContext;
-import org.eclipse.graphiti.features.custom.AbstractCustomFeature;
-import org.eclipse.graphiti.mm.algorithms.RoundedRectangle;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.graphiti.services.Graphiti;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.ui.actions.SelectionDispatchAction;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jpt.jpa.core.JpaFile;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.JptJpaCorePlugin;
-import org.eclipse.jpt.jpa.core.context.java.JavaAttributeMapping;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpa.core.resource.java.Annotation;
-import org.eclipse.jpt.jpa.core.resource.java.JavaResourceCompilationUnit;
-import org.eclipse.jpt.jpa.core.resource.java.JavaResourcePersistentType;
-import org.eclipse.jpt.jpa.core.resource.java.OwnableRelationshipMappingAnnotation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.AddEntityContext;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPASolver;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-import org.eclipse.jpt.common.core.JptResourceModel;
-import org.eclipse.jpt.common.utility.model.event.CollectionAddEvent;
-import org.eclipse.jpt.common.utility.model.event.CollectionChangeEvent;
-import org.eclipse.jpt.common.utility.model.event.CollectionClearEvent;
-import org.eclipse.jpt.common.utility.model.event.CollectionRemoveEvent;
-import org.eclipse.jpt.common.utility.model.listener.CollectionChangeListener;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.widgets.Display;
-
-
-public abstract class RefactorEntityFeature extends AbstractCustomFeature {
-
- protected JavaPersistentType jpt = null;
- protected Set<JavaPersistentAttribute> ats = null;
- protected boolean hasNameAnnotation = false;
-
- public RefactorEntityFeature(IFeatureProvider fp) {
- super(fp);
- }
-
- public boolean isAvailable(IContext context) {
- if (!(context instanceof ICustomContext))
- return false;
- ICustomContext ctx = (ICustomContext)context;
- PictogramElement pe = ctx.getInnerPictogramElement();
- Object bo = getFeatureProvider().getBusinessObjectForPictogramElement(pe);
- if (bo instanceof JavaPersistentType) {
- jpt = (JavaPersistentType)bo;
- hasNameAnnotation = JpaArtifactFactory.instance().hasNameAnnotation(jpt);
- return true;
- }
- if (pe instanceof Shape) {
- ContainerShape cs = ((Shape)pe).getContainer();
- if (cs == null)
- return false;
- bo = getFeatureProvider().getBusinessObjectForPictogramElement(cs);
- if (bo instanceof JavaPersistentType) {
- jpt = (JavaPersistentType)bo;
- hasNameAnnotation = JpaArtifactFactory.instance().hasNameAnnotation(jpt);
- return true;
- }
- }
- return false;
- }
-
- public boolean canExecute(ICustomContext context) {
- return true;
- }
-
- public void execute(ICustomContext context, SelectionDispatchAction action, ICompilationUnit cu) {
- StructuredSelection sel = new StructuredSelection(cu);
- final Shape pict = (Shape)getFeatureProvider().getPictogramElementForBusinessObject(jpt);
- JavaPersistentType jpt = (JavaPersistentType)getFeatureProvider().
- getBusinessObjectForPictogramElement(pict);
- final PersistenceUnit pu = JpaArtifactFactory.instance().getPersistenceUnit(jpt);
- final Semaphore s = new Semaphore(0);
- final JPAProjectListener lsnr = new JPAProjectListener(s);
- jpt.getJpaProject().addCollectionChangeListener(JpaProject.JPA_FILES_COLLECTION, lsnr);
- ShowBusy showBusy = new ShowBusy(s);
- JPASolver.ignoreEvents = true;
- final String oldName = jpt.getName();
-
- try {
- action.run(sel);
- } catch (Exception e) {}
- BusyIndicator.showWhile(Display.getCurrent(), showBusy);
- jpt.getJpaProject().removeCollectionChangeListener(JpaProject.JPA_FILES_COLLECTION, lsnr);
- JPASolver.ignoreEvents = false;
- final boolean rename = RenameEntityFeature.class.isInstance(this);
-
- if (!showBusy.isMoved())
- return;
-
- TransactionalEditingDomain ted = TransactionUtil.getEditingDomain(pict);
- ted.getCommandStack().execute(new RecordingCommand(ted) {
- protected void doExecute() {
- remapEntity(oldName, pict, pu, rename, lsnr, getFeatureProvider());
- }
- });
- }
-
- public void execute(ICustomContext context, String newName, ICompilationUnit cu, JavaPersistentType jpt) {
- final String oldName = jpt.getName();
- final Shape pict = (Shape)getFeatureProvider().getPictogramElementForBusinessObject(jpt);
- jpt = (JavaPersistentType)getFeatureProvider().
- getBusinessObjectForPictogramElement(pict);
- final PersistenceUnit pu = JpaArtifactFactory.instance().getPersistenceUnit(jpt);
- final Semaphore s = new Semaphore(0);
- final JPAProjectListener lsnr = new JPAProjectListener(s);
- jpt.getJpaProject().addCollectionChangeListener(JpaProject.JPA_FILES_COLLECTION, lsnr);
- ShowBusy showBusy = new ShowBusy(s);
- JPASolver.ignoreEvents = true;
- JpaArtifactFactory.instance().renameEntityClass(jpt, newName, getFeatureProvider());
- BusyIndicator.showWhile(Display.getCurrent(), showBusy);
- jpt.getJpaProject().removeCollectionChangeListener(JpaProject.JPA_FILES_COLLECTION, lsnr);
- JPASolver.ignoreEvents = false;
- TransactionalEditingDomain ted = TransactionUtil.getEditingDomain(pict);
- ted.getCommandStack().execute(new RecordingCommand(ted) {
- protected void doExecute() {
- remapEntity(oldName, pict, pu, true, lsnr, getFeatureProvider());
- }
- });
- }
-
- public static void remapEntity(final String oldName,
- final Shape pict,
- final PersistenceUnit pu,
- final boolean rename,
- final JPAProjectListener lsnr,
- final IJPAEditorFeatureProvider fp) {
- BusyIndicator.showWhile(Display.getCurrent(), new Runnable() {
- public void run() {
- pu.getJpaProject().updateAndWait();
- final int x = pict.getGraphicsAlgorithm().getX();
- final int y = pict.getGraphicsAlgorithm().getY();
- final int width = pict.getGraphicsAlgorithm().getWidth();
- final int height = pict.getGraphicsAlgorithm().getHeight();
-
- final ContainerShape cs = Graphiti.getPeService().createContainerShape(fp.getDiagramTypeProvider().getDiagram(),
- true);
- cs.setVisible(true);
-
- AddContext cont = new AddContext();
- cont.setX(x);
- cont.setY(y);
- cont.setWidth(width);
- cont.setHeight(height);
- RoundedRectangle rect = AddJPAEntityFeature.createEntityRectangle(cont, cs, fp.getDiagramTypeProvider().getDiagram());
- rect.setFilled(true);
-
- IRemoveContext ctx = new RemoveContext(pict);
- RemoveJPAEntityFeature ft = new RemoveJPAEntityFeature(fp);
-
- boolean primaryCollapsed = JPAEditorConstants.TRUE_STRING.equals(Graphiti.getPeService().getPropertyValue(pict, JPAEditorConstants.PRIMARY_COLLAPSED));
- boolean relationCollapsed = JPAEditorConstants.TRUE_STRING.equals(Graphiti.getPeService().getPropertyValue(pict, JPAEditorConstants.RELATION_COLLAPSED));
- boolean basicCollapsed = JPAEditorConstants.TRUE_STRING.equals(Graphiti.getPeService().getPropertyValue(pict, JPAEditorConstants.BASIC_COLLAPSED));
-
- AddEntityContext addCtx = new AddEntityContext(primaryCollapsed, relationCollapsed, basicCollapsed);
- String newJPTName = lsnr.getNewJPTName();
-
- JavaPersistentType newJPT = JpaArtifactFactory.instance().getJPT(newJPTName, pu);
- if (!JptJpaCorePlugin.discoverAnnotatedClasses(newJPT.getJpaProject().getProject())) {
- JPAEditorUtil.createUnregisterEntityFromXMLJob(newJPT.getJpaProject(), oldName);
- }
- if (rename) {
- String tableName = JPAEditorUtil.formTableName(newJPT);
- JpaArtifactFactory.instance().setTableName(newJPT, tableName);
- }
- addCtx.setNewObject(newJPT);
- addCtx.setTargetContainer(fp.getDiagramTypeProvider().getDiagram());
- addCtx.setX(x);
- addCtx.setY(y);
- addCtx.setWidth(width);
- addCtx.setHeight(height);
- AddJPAEntityFeature ft1 = new AddJPAEntityFeature(fp);
- ft.remove(ctx);
- ft1.add(addCtx);
- PictogramElement pe = fp.getPictogramElementForBusinessObject(newJPT);
- fp.getDiagramTypeProvider().getDiagramEditor().setPictogramElementForSelection(pe);
- Graphiti.getPeService().deletePictogramElement(cs);
-
- JpaArtifactFactory.instance().refreshEntityModel(fp, newJPT);
- if (!JptJpaCorePlugin.discoverAnnotatedClasses(newJPT.getJpaProject().getProject())) {
- JPAEditorUtil.createRegisterEntityInXMLJob(newJPT.getJpaProject(), newJPTName);
- }
- }
- });
-
- }
-
-
-
- protected Diagram getDiagram() {
- return getFeatureProvider().getDiagramTypeProvider().getDiagram();
- }
-
- public IJPAEditorFeatureProvider getFeatureProvider() {
- return (IJPAEditorFeatureProvider)super.getFeatureProvider();
- }
-
- class ShowBusy implements Runnable {
- private Semaphore s;
- boolean moved = false;
- ShowBusy(Semaphore s) {
- this.s = s;
- }
-
- public void run() {
- try {
- moved = s.tryAcquire(2, 4, TimeUnit.SECONDS);
- } catch (InterruptedException e) {
- System.err.println("Thread interrupted"); //$NON-NLS-1$
- e.printStackTrace();
- }
- }
-
- boolean isMoved() {
- return moved;
- }
- }
-
- public class JPAProjectListener implements CollectionChangeListener {
- private Semaphore s = null;
- private String newJptName = null;
-
- public JPAProjectListener(Semaphore s) {
- this.s = s;
- }
-
- public void itemsAdded(CollectionAddEvent event) {
- Iterator<?> it = event.getItems().iterator();
- Object o = it.next();
- JpaFile jpaFile = (JpaFile)o;
-
- JptResourceModel rm = jpaFile.getResourceModel();
- if (rm == null)
- return;
- if (!JavaResourceCompilationUnit.class.isInstance(rm))
- return;
- JavaResourceCompilationUnit jrcu = (JavaResourceCompilationUnit)rm;
- JavaResourcePersistentType jrpt = jrcu.persistentTypes().next();
- newJptName = jrpt.getQualifiedName();
- s.release();
- if ((ats == null) || hasNameAnnotation)
- return;
- final Iterator<JavaPersistentAttribute> iter = ats.iterator();
- Runnable r = new Runnable() {
- public void run() {
- Hashtable<String, String> atOldToNewName = new Hashtable<String, String>();
- Set<JavaPersistentAttribute> newSelfAts = new HashSet<JavaPersistentAttribute>();
- while (iter.hasNext()) {
- JavaPersistentAttribute at = iter.next();
- ICompilationUnit cu = getFeatureProvider().getCompilationUnit((JavaPersistentType) at.getParent());
- if (!cu.exists()) {
- at = (JavaPersistentAttribute)at.getPersistenceUnit().getPersistentType(newJptName).getAttributeNamed(at.getName());
- JavaPersistentAttribute newAt = JpaArtifactFactory.instance().renameAttribute(at, JPAEditorUtil.returnSimpleName(newJptName), newJptName, getFeatureProvider());
- atOldToNewName.put(at.getName(), newAt.getName());
- newSelfAts.add(newAt);
- } else {
- JpaArtifactFactory.instance().renameAttribute(at, JPAEditorUtil.returnSimpleName(newJptName), newJptName, getFeatureProvider());
- }
- }
- Iterator<JavaPersistentAttribute> itr = newSelfAts.iterator();
- while (itr.hasNext()) {
- JavaPersistentAttribute at = itr.next();
- JpaArtifactFactory.instance().refreshEntityModel(null, (JavaPersistentType)at.getParent());
- JavaAttributeMapping m = at.getMapping();
- Annotation mappingAnnotation = m.getMappingAnnotation();
-
- if(mappingAnnotation == null){
- JpaArtifactFactory.instance().refreshEntityModel(getFeatureProvider(), (JavaPersistentType)at.getParent());
- mappingAnnotation = m.getMappingAnnotation();
- }
- if (mappingAnnotation == null)
- return;
- if (OwnableRelationshipMappingAnnotation.class.isInstance(mappingAnnotation)) {
- OwnableRelationshipMappingAnnotation ownableMappingAnnotation = (OwnableRelationshipMappingAnnotation)mappingAnnotation;
- String oldMappedBy = ownableMappingAnnotation.getMappedBy();
- if (oldMappedBy != null) {
- String newMappedBy = atOldToNewName.get(oldMappedBy);
- if (newMappedBy != null)
- ownableMappingAnnotation.setMappedBy(newMappedBy);
- }
- }
- }
-
- }
- };
- Display.getDefault().asyncExec(r);
- }
-
- public void itemsRemoved(CollectionRemoveEvent arg0) {
- s.release();
- }
-
- public void collectionChanged(CollectionChangeEvent event) {
- }
-
- public void collectionCleared(CollectionClearEvent arg0) {}
-
- public String getNewJPTName() {
- return newJptName;
- }
-
-
- };
-
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RemoveAllEntitiesFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RemoveAllEntitiesFeature.java
deleted file mode 100644
index f1225ab4c6..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RemoveAllEntitiesFeature.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Set;
-
-import org.eclipse.emf.transaction.RecordingCommand;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.transaction.util.TransactionUtil;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.ICustomContext;
-import org.eclipse.graphiti.features.context.IRemoveContext;
-import org.eclipse.graphiti.features.context.impl.RemoveContext;
-import org.eclipse.graphiti.features.custom.AbstractCustomFeature;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-
-public abstract class RemoveAllEntitiesFeature extends AbstractCustomFeature {
-
- protected Set<Shape> allShapes = new HashSet<Shape>();
-
- public RemoveAllEntitiesFeature(IFeatureProvider fp) {
- super(fp);
- }
-
- public abstract String getConfirmationText();
-
- public boolean canExecute(ICustomContext context) {
- return true;
- }
-
- public void execute(ICustomContext context) {
- Iterator<Shape> it = allShapes.iterator();
- while (it.hasNext()) {
- Shape sh = it.next();
- final RemoveJPAEntityFeature ft = new RemoveJPAEntityFeature(this.getFeatureProvider());
- final IRemoveContext ctx = new RemoveContext(sh);
- PictogramElement pe = ctx.getPictogramElement();
-
- TransactionalEditingDomain ted = TransactionUtil.getEditingDomain(pe);
- ted.getCommandStack().execute(new RecordingCommand(ted) {
- @Override
- protected void doExecute() {
- ft.remove(ctx);
- }
- });
- }
- }
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RemoveAndSaveEntityFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RemoveAndSaveEntityFeature.java
deleted file mode 100644
index b70aaa5289..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RemoveAndSaveEntityFeature.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.IRemoveContext;
-import org.eclipse.graphiti.features.context.impl.RemoveContext;
-import org.eclipse.graphiti.features.impl.DefaultRemoveFeature;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.jpt.jpa.core.context.PersistentType;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-
-
-
-public class RemoveAndSaveEntityFeature extends DefaultRemoveFeature {
-
- public RemoveAndSaveEntityFeature(IFeatureProvider fp) {
- super(fp);
- }
-
- public void preRemove(IRemoveContext context) {
- PictogramElement pe = context.getPictogramElement();
- Object bo = getFeatureProvider().getBusinessObjectForPictogramElement(pe);
- Set<Shape> shapesForDeletion = new HashSet<Shape>();
- if (bo instanceof PersistentType) {
- IFeatureProvider fp = getFeatureProvider();
- List<Shape> lst = ((ContainerShape)pe).getChildren();
- for (int i = lst.size() - 1; i >= 0; i--) {
- Shape textShape = lst.get(i);
- Object o = fp.getBusinessObjectForPictogramElement(textShape);
- if ((o != null) && (o instanceof JavaPersistentAttribute)) {
- shapesForDeletion.add(textShape);
- }
- }
- Iterator<Shape> it = shapesForDeletion.iterator();
- while(it.hasNext()) {
- RemoveAttributeFeature f = new RemoveAttributeFeature(fp, false, true);
- IRemoveContext ctx = new RemoveContext(it.next());
- f.remove(ctx);
- }
- getFeatureProvider().remove(((PersistentType)bo).getName(), true);
- }
- }
-
- public IJPAEditorFeatureProvider getFeatureProvider() {
- return (IJPAEditorFeatureProvider)super.getFeatureProvider();
- }
-
-} \ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RemoveAttributeFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RemoveAttributeFeature.java
deleted file mode 100644
index 3e6f13d3b8..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RemoveAttributeFeature.java
+++ /dev/null
@@ -1,161 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Iterator;
-
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.IContext;
-import org.eclipse.graphiti.features.context.IRemoveContext;
-import org.eclipse.graphiti.features.context.impl.AddConnectionContext;
-import org.eclipse.graphiti.features.context.impl.CustomContext;
-import org.eclipse.graphiti.features.context.impl.RemoveContext;
-import org.eclipse.graphiti.features.custom.ICustomFeature;
-import org.eclipse.graphiti.features.impl.DefaultRemoveFeature;
-import org.eclipse.graphiti.mm.pictograms.Connection;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.JPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.IRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-
-
-public class RemoveAttributeFeature extends DefaultRemoveFeature {
-
- private boolean skipRemoveRelations = false;
- private boolean skipCreateRelations = false;
- private JavaPersistentType jpt = null;
- private ICustomFeature graphicalRemove;
-
- public RemoveAttributeFeature(IFeatureProvider fp) {
- this(fp, new GraphicalRemoveAttributeFeature(fp));
- }
-
- public RemoveAttributeFeature(IFeatureProvider fp, boolean skipRemoveRelations, boolean skipCreateRelations) {
- this(fp);
- this.skipRemoveRelations = skipRemoveRelations;
- this.skipCreateRelations = skipCreateRelations;
- }
-
- public RemoveAttributeFeature(IFeatureProvider fp, ICustomFeature graphicalRemove) {
- super(fp);
- this.graphicalRemove = graphicalRemove;
- }
-
- public void setKey(String key) {
- }
-
- public boolean isAvailable(IContext context) {
- return false;
- }
-
- public boolean canExecute(IContext context) {
- return false;
- }
-
- public IJPAEditorFeatureProvider getFeatureProvider() {
- return (IJPAEditorFeatureProvider) super.getFeatureProvider();
- }
-
- public void preRemove(IRemoveContext context) {
- final PictogramElement pe = context.getPictogramElement();
- if (pe == null) {
- System.err.println("PictogramElement is null\n"); //$NON-NLS-1$
- new Exception().printStackTrace();
- return;
- }
- IJPAEditorFeatureProvider fp = getFeatureProvider();
- Object bo = fp.getBusinessObjectForPictogramElement(pe);
- if(bo == null)
- return;
-
- if (bo instanceof JavaPersistentAttribute) {
- JavaPersistentAttribute jpa = (JavaPersistentAttribute) bo;
-
- HashSet<String> ignores = ((JPAEditorFeatureProvider) getFeatureProvider()).getAddIgnore();
- if (!ignores.isEmpty()) {
- Iterator<String> iter = ignores.iterator();
- if (iter.hasNext()) {
- String iterStr = iter.next();
- if (iterStr.endsWith(jpa.getName())) {
- ignores.remove(iterStr);
- }
- }
- }
-
- jpt = (JavaPersistentType)jpa.getParent();
- fp.remove(fp.getKeyForBusinessObject(bo));
- if (!skipRemoveRelations) {
- IRelation rel = fp.getRelationRelatedToAttribute(jpa);
- removeRelation(rel);
- }
- }
-
- ContainerShape entityShape = ((ContainerShape) pe).getContainer().getContainer();
- try{
- graphicalRemoveAttribute(entityShape);
- } catch (Exception e){
- e.printStackTrace();
- }
- }
-
- private void graphicalRemoveAttribute(PictogramElement pe) {
- CustomContext customContext = new CustomContext();
- customContext.setInnerPictogramElement(pe);
- graphicalRemove.execute(customContext);
- }
-
- private void removeRelation(IRelation rel) {
- if (rel == null)
- return;
- Connection conn = (Connection) getFeatureProvider().getPictogramElementForBusinessObject(rel);
- RemoveContext ctx = new RemoveContext(conn);
- RemoveRelationFeature ft = new RemoveRelationFeature(getFeatureProvider());
- ft.remove(ctx);
- }
-
- public void postRemove(IRemoveContext context) {
- if (skipCreateRelations)
- return;
- if (jpt == null)
- return;
- JpaArtifactFactory.instance().refreshEntityModel(getFeatureProvider(), jpt);
-
- Collection<IRelation> rels = JpaArtifactFactory.instance()
- .produceAllRelations(jpt, getFeatureProvider());
- Iterator<IRelation> iter = rels.iterator();
- while (iter.hasNext()) {
- IRelation rel = iter.next();
- ContainerShape ownerShape = (ContainerShape) getFeatureProvider().getPictogramElementForBusinessObject(
- rel.getOwner());
- ContainerShape inverseShape = (ContainerShape) getFeatureProvider().getPictogramElementForBusinessObject(
- rel.getInverse());
- AddConnectionContext cntx = new AddConnectionContext(JPAEditorUtil.getAnchor(ownerShape), JPAEditorUtil
- .getAnchor(inverseShape));
- cntx.setNewObject(rel);
- AddRelationFeature ft = new AddRelationFeature(getFeatureProvider());
- ft.add(cntx);
-// JpaArtifactFactory.instance().refreshEntityModel(getFeatureProvider(), jpt);
- }
- }
-
-} \ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RemoveJPAEntityFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RemoveJPAEntityFeature.java
deleted file mode 100644
index e188f0705e..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RemoveJPAEntityFeature.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.IContext;
-import org.eclipse.graphiti.features.context.IRemoveContext;
-import org.eclipse.graphiti.features.context.impl.RemoveContext;
-import org.eclipse.graphiti.features.impl.DefaultRemoveFeature;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jpt.jpa.core.context.PersistentType;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.ui.PlatformUI;
-
-
-public class RemoveJPAEntityFeature extends DefaultRemoveFeature {
-
-
- public RemoveJPAEntityFeature(IFeatureProvider fp) {
- super(fp);
- }
-
- public void preRemove(IRemoveContext context) {
- PictogramElement pe = context.getPictogramElement();
-
-// RestoreEntityFeature ft = new RestoreEntityFeature(getFeatureProvider());
-// ICustomContext customContext = new CustomContext(new PictogramElement[] { pe });
-// ft.execute(customContext);
-
- final Object bo = getFeatureProvider().getBusinessObjectForPictogramElement(pe);
- Set<Shape> shapesForDeletion = new HashSet<Shape>();
- if (bo instanceof JavaPersistentType) {
- JavaPersistentType jpt = (JavaPersistentType)bo;
- JpaArtifactFactory.instance().restoreEntityClass(jpt, getFeatureProvider());
- IFeatureProvider fp = getFeatureProvider();
- List<Shape> lst = ((ContainerShape)pe).getChildren();
- for (int i = lst.size() - 1; i >= 0; i--) {
- Shape textShape = lst.get(i);
- Object o = fp.getBusinessObjectForPictogramElement(textShape);
- if ((o != null) && (o instanceof JavaPersistentAttribute)) {
- shapesForDeletion.add(textShape);
- }
- }
- Iterator<Shape> it = shapesForDeletion.iterator();
- while(it.hasNext()) {
- RemoveAttributeFeature f = new RemoveAttributeFeature(fp, false, true);
- IRemoveContext ctx = new RemoveContext(it.next());
- f.remove(ctx);
- }
- //---------------------------------------------------------------------
- //--Workaround for https://bugs.eclipse.org/bugs/show_bug.cgi?id=281345
- //Job job = new Job("Remove JPA entity") { //$NON-NLS-1$
- // protected IStatus run(IProgressMonitor monitor) {
- String name = ((PersistentType)bo).getName();
- getFeatureProvider().remove(name, true);
- //return new Status(IStatus.OK,
- // JPADiagramEditorPlugin.PLUGIN_ID,
- // name + " is removed"); //$NON-NLS-1$
-
- // }
- //};
- //job.schedule();
- //---------------------------------------------------------------------
- }
- }
-
- public IJPAEditorFeatureProvider getFeatureProvider() {
- return (IJPAEditorFeatureProvider)super.getFeatureProvider();
- }
-
-
- public void execute(IContext ctx) {
- if (!IRemoveContext.class.isInstance(ctx))
- return;
- IRemoveContext context = (IRemoveContext)ctx;
- PictogramElement pe = context.getPictogramElement();
- Object bo = getFeatureProvider().getBusinessObjectForPictogramElement(pe);
- if (!JavaPersistentType.class.isInstance(bo))
- return;
- JavaPersistentType jpt = (JavaPersistentType)bo;
- if (JPAEditorUtil.isEntityOpenElsewhere(jpt, true)) {
- String shortEntName = JPAEditorUtil.returnSimpleName(JpaArtifactFactory.instance().getEntityName(jpt));
- String message = NLS.bind(JPAEditorMessages.RemoveJPAEntityFeature_discardWarningMsg, shortEntName);
- MessageDialog dialog = new MessageDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(),
- JPAEditorMessages.JPASolver_closeEditors, null, message,
- MessageDialog.WARNING, new String[]{JPAEditorMessages.BTN_OK, JPAEditorMessages.BTN_CANCEL}, 0) {
- protected int getShellStyle() {
- return SWT.CLOSE
- | SWT.TITLE | SWT.BORDER
- | SWT.APPLICATION_MODAL
- | getDefaultOrientation();}};
- if (dialog.open() != 0)
- return;
- }
- super.execute(context);
- }
-
-
-
-
-
-
-} \ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RemoveRelationFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RemoveRelationFeature.java
deleted file mode 100644
index 6f73e1dc16..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RemoveRelationFeature.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import java.util.Iterator;
-
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.transaction.RecordingCommand;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.transaction.util.TransactionUtil;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.IRemoveFeature;
-import org.eclipse.graphiti.features.context.IContext;
-import org.eclipse.graphiti.features.context.IRemoveContext;
-import org.eclipse.graphiti.features.context.impl.RemoveContext;
-import org.eclipse.graphiti.features.impl.AbstractFeature;
-import org.eclipse.graphiti.internal.Messages;
-import org.eclipse.graphiti.mm.pictograms.Anchor;
-import org.eclipse.graphiti.mm.pictograms.Connection;
-import org.eclipse.graphiti.mm.pictograms.ConnectionDecorator;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.graphiti.services.Graphiti;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.AbstractRelation;
-
-
-@SuppressWarnings("restriction")
-public class RemoveRelationFeature extends AbstractFeature implements IRemoveFeature {
-
- private static final String NAME = Messages.DefaultRemoveFeature_0_xfld;
-
- public RemoveRelationFeature(IFeatureProvider fp) {
- super(fp);
- }
-
- public boolean isAvailable(IContext context) {
- return true;
- }
-
- public boolean canRemove(IRemoveContext context) {
- return true;
- }
-
- public boolean canExecute(IContext context) {
- return true;
- }
-
- public void preRemove(IRemoveContext context) {
- PictogramElement pe = context.getPictogramElement();
- Object bo = getFeatureProvider().getBusinessObjectForPictogramElement(pe);
- if (bo instanceof AbstractRelation) {
- AbstractRelation rel = (AbstractRelation)bo;
- getFeatureProvider().remove(rel.getId());
- }
- }
-
- public final void remove(final IRemoveContext context) {
- if (!getUserDecision()) {
- return;
- }
- preRemove(context);
- final PictogramElement pe = context.getPictogramElement();
- if (pe == null)
- return;
- TransactionalEditingDomain ted = TransactionUtil.getEditingDomain(pe);
- RecordingCommand rc = new RecordingCommand(ted) {
- protected void doExecute() {
- if (pe instanceof Shape) {
- Shape shape = (Shape) pe;
- removeAllConnections(shape);
- }
- Graphiti.getPeService().deletePictogramElement(pe);
- postRemove(context);
- }
- };
- ted.getCommandStack().execute(rc);
- }
-
- protected void removeAllConnections(Shape shape) {
- IFeatureProvider featureProvider = getFeatureProvider();
- for (Iterator<Anchor> iter = shape.getAnchors().iterator(); iter.hasNext();) {
- Anchor anchor = iter.next();
- for (Iterator<Connection> iterator = Graphiti.getPeService().getAllConnections(anchor).iterator(); iterator.hasNext();) {
- Connection connection = iterator.next();
- if (connection.eResource() != null) {
- IRemoveContext rc = new RemoveContext(connection);
- IRemoveFeature removeFeature = featureProvider.getRemoveFeature(rc);
- if (removeFeature != null) {
- ConnectionDecorator decorators[] = connection.getConnectionDecorators().toArray(new ConnectionDecorator[0]);
- for (ConnectionDecorator decorator : decorators) {
- if (decorator != null && (decorator.eResource() != null)) {
- EcoreUtil.delete(decorator, true);
- }
- }
- removeFeature.remove(rc);
- }
- }
- }
- }
- }
-
- public void postRemove(IRemoveContext context) {
- }
-
- @Override
- public String getName() {
- return NAME;
- }
-
-
- public IJPAEditorFeatureProvider getFeatureProvider() {
- return (IJPAEditorFeatureProvider)super.getFeatureProvider();
- }
-
-
- public void execute(IContext context) {
- if (context instanceof IRemoveContext) {
- remove((IRemoveContext)context);
- }
- }
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RenameEntityFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RenameEntityFeature.java
deleted file mode 100644
index 7fada3ecd9..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RenameEntityFeature.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.ICustomContext;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.ui.actions.RenameAction;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchSite;
-
-
-
-public class RenameEntityFeature extends RefactorEntityFeature {
-
- public RenameEntityFeature(IFeatureProvider fp) {
- super(fp);
- }
-
- public void execute(ICustomContext context) {
- ICompilationUnit cu = getFeatureProvider().getCompilationUnit(jpt);
- IWorkbenchSite ws = ((IEditorPart)getDiagramEditor()).getSite();
- RenameAction action = new RenameAction(ws);
- ats = JpaArtifactFactory.instance().getRelatedAttributes(jpt);
- execute(context, action, cu);
- }
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RenameEntityWithoutUIFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RenameEntityWithoutUIFeature.java
deleted file mode 100644
index 928be7c13f..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RenameEntityWithoutUIFeature.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.ICustomContext;
-import org.eclipse.graphiti.features.context.impl.CustomContext;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-
-
-public class RenameEntityWithoutUIFeature extends RefactorEntityFeature {
-
- private String newName = null;
-
- public RenameEntityWithoutUIFeature(IFeatureProvider fp, String newName) {
- super(fp);
- this.newName = newName;
- }
-
- public void execute(JavaPersistentType jpt) {
- ICompilationUnit cu = getFeatureProvider().getCompilationUnit(jpt);
- ats = JpaArtifactFactory.instance().getRelatedAttributes(jpt);
- execute(new CustomContext(), newName, cu, jpt);
- }
-
- public void execute(ICustomContext context) {
- // not used
- }
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/ResizeAttributeFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/ResizeAttributeFeature.java
deleted file mode 100644
index 22308ab9f5..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/ResizeAttributeFeature.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.IContext;
-import org.eclipse.graphiti.features.context.IResizeShapeContext;
-import org.eclipse.graphiti.features.impl.DefaultResizeShapeFeature;
-
-
-public class ResizeAttributeFeature extends DefaultResizeShapeFeature {
-
- public ResizeAttributeFeature(IFeatureProvider fp) {
- super(fp);
- }
-
- public boolean canResizeShape(IResizeShapeContext context) {
- return false;
- }
-
-
- public boolean canExecute(IContext context) {
- return false;
- }
-
-
- public boolean isAvailable(IContext context) {
- return false;
- }
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/ResizeJPAEntityFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/ResizeJPAEntityFeature.java
deleted file mode 100644
index cbf59b93d2..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/ResizeJPAEntityFeature.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import org.eclipse.emf.transaction.RecordingCommand;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.transaction.util.TransactionUtil;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.IResizeShapeContext;
-import org.eclipse.graphiti.features.impl.DefaultResizeShapeFeature;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.jpt.jpa.core.context.PersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-
-
-public class ResizeJPAEntityFeature extends DefaultResizeShapeFeature {
-
- public ResizeJPAEntityFeature(IFeatureProvider fp) {
- super(fp);
- }
-
- @Override
- public boolean canResizeShape(IResizeShapeContext context) {
- boolean canResize = super.canResizeShape(context);
- if (canResize) {
- Shape shape = context.getShape();
- Object bo = getBusinessObjectForPictogramElement(shape);
- if (bo == null) return false;
- if (bo instanceof PersistentType) {
- PersistentType c = (PersistentType) bo;
- if (c.getName() != null &&
- c.getName().length() == 1) {
- canResize = false;
- }
- }
- }
- return canResize;
- }
-
- private void resizeContainerShape(IResizeShapeContext context) {
- super.resizeShape(context);
- }
-
- public void resizeShape(final IResizeShapeContext context) {
- final ContainerShape entityShape = (ContainerShape) context.getShape();
- TransactionalEditingDomain ted = TransactionUtil.getEditingDomain(entityShape);
- ted.getCommandStack().execute(new RecordingCommand(ted) {
- protected void doExecute() {
- resizeContainerShape(context);
- JPAEditorUtil.rearrangeAllConnections(entityShape,
- getFeatureProvider(), false);
- }
- });
- }
-
- public IJPAEditorFeatureProvider getFeatureProvider() {
- return (IJPAEditorFeatureProvider)super.getFeatureProvider();
- }
-
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RestoreEntityFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RestoreEntityFeature.java
deleted file mode 100644
index c593559119..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/RestoreEntityFeature.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.ICustomContext;
-import org.eclipse.graphiti.features.custom.AbstractCustomFeature;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.ui.PlatformUI;
-
-
-public class RestoreEntityFeature extends AbstractCustomFeature {
-
- public RestoreEntityFeature(IFeatureProvider fp) {
- super(fp);
- }
-
- public boolean canExecute(ICustomContext context) {
- return true;
- }
-
- public void execute(ICustomContext context) {
- JavaPersistentType jpt = (JavaPersistentType)getFeatureProvider().getBusinessObjectForPictogramElement(context.getPictogramElements()[0]);
- if (JPAEditorUtil.isEntityOpenElsewhere(jpt, true)) {
- String shortEntName = JPAEditorUtil
- .returnSimpleName(JpaArtifactFactory.instance()
- .getEntityName(jpt));
- String message = NLS.bind(
- JPAEditorMessages.JPASolver_closeWarningMsg, shortEntName);
- MessageDialog dialog = new MessageDialog(PlatformUI.getWorkbench()
- .getActiveWorkbenchWindow().getShell(),
- JPAEditorMessages.JPASolver_closeEditors, null, message,
- MessageDialog.WARNING,
- new String[] { JPAEditorMessages.BTN_OK }, 0) {
- protected int getShellStyle() {
- return SWT.CLOSE | SWT.TITLE | SWT.BORDER
- | SWT.APPLICATION_MODAL | getDefaultOrientation();
- }
- };
- dialog.open();
- return;
- }
- JpaArtifactFactory.instance().restoreEntityClass(jpt, getFeatureProvider());
- }
-
- public IJPAEditorFeatureProvider getFeatureProvider() {
- return (IJPAEditorFeatureProvider)super.getFeatureProvider();
- }
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/SaveAndRemoveAllEntitiesFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/SaveAndRemoveAllEntitiesFeature.java
deleted file mode 100644
index 6a1902dcd0..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/SaveAndRemoveAllEntitiesFeature.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import java.util.Iterator;
-
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.ICustomContext;
-import org.eclipse.graphiti.features.context.impl.CustomContext;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.swt.widgets.Display;
-
-
-public class SaveAndRemoveAllEntitiesFeature extends RemoveAllEntitiesFeature {
-
- public SaveAndRemoveAllEntitiesFeature(IFeatureProvider fp) {
- super(fp);
- }
-
- public String getConfirmationText() {
- return JPAEditorMessages.JPAEditorToolBehaviorProvider_removeAndSaveAllEntitiesConfirmation;
- }
-
-
- public void execute(ICustomContext context) {
- MessageDialog dlg = new MessageDialog(Display.getCurrent().getShells()[0],
- JPAEditorMessages.JPAEditorToolBehaviorProvider_removeAllEntitiesMenu,
- null, getConfirmationText(), 0,
- new String[] {JPAEditorMessages.BTN_OK, JPAEditorMessages.BTN_CANCEL}, Dialog.CANCEL);
- if (dlg.open() != Dialog.OK)
- return;
- Iterator<Shape> it = this.getDiagram().getChildren().iterator();
- while (it.hasNext()) {
- Shape sh = it.next();
- SaveEntityFeature ft = new SaveEntityFeature(getFeatureProvider());
- ICustomContext ctx = new CustomContext(new PictogramElement[] { sh });
- ft.execute(ctx);
- allShapes.add(sh);
- }
- super.execute(context);
- }
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/SaveEntityFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/SaveEntityFeature.java
deleted file mode 100644
index 5c58d47678..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/SaveEntityFeature.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.ICustomContext;
-import org.eclipse.graphiti.features.custom.AbstractCustomFeature;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-
-
-public class SaveEntityFeature extends AbstractCustomFeature {
-
- public SaveEntityFeature(IFeatureProvider fp) {
- super(fp);
- }
-
- public boolean canExecute(ICustomContext context) {
- return true;
- }
-
- public void execute(ICustomContext context) {
- JavaPersistentType jpt = (JavaPersistentType)getFeatureProvider().getBusinessObjectForPictogramElement(context.getPictogramElements()[0]);
- JpaArtifactFactory.instance().forceSaveEntityClass(jpt, getFeatureProvider());
- }
-
- public IJPAEditorFeatureProvider getFeatureProvider() {
- return (IJPAEditorFeatureProvider)super.getFeatureProvider();
- }
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/UpdateAttributeFeature.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/UpdateAttributeFeature.java
deleted file mode 100644
index 853f916909..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/feature/UpdateAttributeFeature.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.feature;
-
-import java.util.Collection;
-import java.util.Iterator;
-
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.ICustomContext;
-import org.eclipse.graphiti.features.context.impl.AddConnectionContext;
-import org.eclipse.graphiti.features.context.impl.AddContext;
-import org.eclipse.graphiti.features.custom.AbstractCustomFeature;
-import org.eclipse.graphiti.mm.algorithms.Rectangle;
-import org.eclipse.graphiti.mm.algorithms.Text;
-import org.eclipse.graphiti.mm.algorithms.styles.Color;
-import org.eclipse.graphiti.mm.algorithms.styles.Orientation;
-import org.eclipse.graphiti.mm.pictograms.AnchorContainer;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.graphiti.services.Graphiti;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.IRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-
-
-public class UpdateAttributeFeature extends AbstractCustomFeature {
-
- public UpdateAttributeFeature(IFeatureProvider fp) {
- super(fp);
- }
-
- public void reconnect(JavaPersistentType jpt) {
- IJPAEditorFeatureProvider fp = getFeatureProvider();
- Collection<IRelation> rels = JpaArtifactFactory.instance().produceAllRelations(jpt, fp);
- JpaArtifactFactory.instance().refreshEntityModel(fp, jpt);
-
- Iterator<IRelation> it = rels.iterator();
- while (it.hasNext()) {
- IRelation rel = it.next();
- AddRelationFeature relF = new AddRelationFeature(fp);
- AnchorContainer acSource = (AnchorContainer) fp.getPictogramElementForBusinessObject(rel.getOwner());
- AnchorContainer acTarget = (AnchorContainer) fp.getPictogramElementForBusinessObject(rel.getInverse());
- if ((acSource != null) && (acTarget != null)) {
- AddConnectionContext ctx = new AddConnectionContext(acSource.getAnchors().iterator().next(), acTarget
- .getAnchors().iterator().next());
- ctx.setNewObject(rel);
- relF.add(ctx);
- }
- }
- }
-
- /**
- * @deprecated use the {@link GraphicalRemoveAttributeFeature}
- */
- public void execute(ICustomContext context) {
- GraphicalRemoveAttributeFeature remove = new GraphicalRemoveAttributeFeature(getFeatureProvider());
- remove.execute(context);
- }
-
- /**
- * @deprecated Use GraphicalAddAttributeFeature
- * @param entityShape
- * @param newAttr
- * @return
- */
- public ContainerShape addAttributes(ContainerShape entityShape, JavaPersistentAttribute newAttr) {
- AddContext context = new AddContext();
- context.setNewObject(newAttr);
- context.setTargetContainer(entityShape);
- GraphicalAddAttributeFeature feature = new GraphicalAddAttributeFeature(getFeatureProvider());
- return (ContainerShape) feature.add(context);
- }
-
- public IJPAEditorFeatureProvider getFeatureProvider() {
- return (IJPAEditorFeatureProvider) super.getFeatureProvider();
- }
-
- public static Text addText(IFeatureProvider fp, Rectangle textRectangle, String txt) {
- Text text = Graphiti.getGaService().createDefaultText(fp.getDiagramTypeProvider().getDiagram(), textRectangle, txt);
- Color color = Graphiti.getGaService().manageColor(fp.getDiagramTypeProvider().getDiagram(),
- JPAEditorConstants.ENTITY_TEXT_FOREGROUND);
- text.setForeground(color);
- text.setHorizontalAlignment(Orientation.ALIGNMENT_LEFT);
- text.setVerticalAlignment(Orientation.ALIGNMENT_TOP);
- text.getFont().setBold(true);
- return text;
- }
-
- public static Rectangle addRectangleForText(ContainerShape cs, int attribIndex, int width) {
- Rectangle rect = Graphiti.getGaService().createRectangle(cs);
- rect.setFilled(false);
- rect.setLineVisible(false);
- rect.setHeight(JPAEditorConstants.ATTRIBUTE_RECT_HEIGHT);
- rect.setWidth(width - JPAEditorConstants.ATTRIBUTE_TEXT_RECT_WIDTH_REDUCER);
- rect.setX(JPAEditorConstants.ATTRIBUTE_TEXT_RECT_X);
- rect
- .setY(JPAEditorConstants.ATTRIBUTES_TOP_OFFSET + attribIndex
- * JPAEditorConstants.ATTRIBUTES_PLACEMENT_STEP);
- return rect;
- }
-
- public static Rectangle addRectangleForIcon(ContainerShape cs, int attribIndex) {
- Rectangle rect = Graphiti.getGaService().createRectangle(cs);
- rect.setFilled(false);
- rect.setLineVisible(false);
- rect.setHeight(JPAEditorConstants.ICON_RECT_HEIGHT);
- rect.setX(JPAEditorConstants.ICON_RECT_LEFT_OFFSET);
- rect.setWidth(JPAEditorConstants.ICON_RECT_WIDTH);
- rect
- .setY(JPAEditorConstants.ATTRIBUTES_TOP_OFFSET + attribIndex
- * JPAEditorConstants.ATTRIBUTES_PLACEMENT_STEP);
- return rect;
- }
-
- public void addSeparatorsToShape(ContainerShape compartmentShape) {
- addSeparatorToCollection(compartmentShape, 0);
- addSeparatorToCollection(compartmentShape, JPAEditorConstants.COMPARTMENT_MIN_HEIGHT);
- }
-
- private Shape addSeparatorToCollection(ContainerShape containerShape, int y) {
- final int width = containerShape.getGraphicsAlgorithm().getWidth();
- Shape shape = Graphiti.getPeService().createShape(containerShape, false);
- Rectangle rectangle = Graphiti.getGaService().createRectangle(shape);
- rectangle.setForeground(manageColor(JPAEditorConstants.ENTITY_BACKGROUND));
- rectangle.setBackground(manageColor(JPAEditorConstants.ENTITY_BORDER_COLOR));
- rectangle.setLineVisible(false);
- Graphiti.getGaService().setSize(rectangle, width, JPAEditorConstants.SEPARATOR_HEIGHT);
- Graphiti.getGaService().setLocationAndSize(rectangle, 0, y, width, JPAEditorConstants.SEPARATOR_HEIGHT);
- return shape;
- }
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/i18n/JPAEditorMessages.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/i18n/JPAEditorMessages.java
deleted file mode 100644
index 7b88767ff0..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/i18n/JPAEditorMessages.java
+++ /dev/null
@@ -1,239 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Petya Sabeva - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n;
-
-import org.eclipse.osgi.util.NLS;
-
-public class JPAEditorMessages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.messages"; //$NON-NLS-1$
-
- public static String AddJPAEntityFeature_basicAttributesShapes;
-
- public static String AddJPAEntityFeature_primaryKeysShape;
-
- public static String AddJPAEntityFeature_relationAttributesShapes;
-
- public static String ClickAddAttributeButtonFeature_createAttributeButtonDescription;
- public static String ClickAddAttributeButtonFeature_createAttributeButtonLabel;
-
- public static String ClickRemoveAttributeButtonFeature_createAttributeButtonDescription;
- public static String ClickRemoveAttributeButtonFeature_createAttributeButtonlabel;
- public static String ClickRemoveAttributeButtonFeature_deleteAttributeQuestion;
-
- public static String CreateDiagramJob_createDiagramJobName;
- public static String CreateDiagramJob_getJPADiagramMonitorTaskName;
-
- public static String CreateJPAEntityFeature_createEntityErrorMsg;
-
- public static String CreateJPAEntityFeature_createEntityErrorMsgTitle;
-
- public static String CreateJPAEntityFeature_createEntityErrorStatusMsg;
-
- public static String CreateJPAEntityFeature_jpaEntityFeatureDescription;
- public static String CreateJPAEntityFeature_jpaEntityFeatureName;
- public static String CreateJPAEntityFeature_jpaProjectSelectionDialogDescription;
- public static String CreateJPAEntityFeature_jpaProjectSelectionDialogTitle;
- public static String CreateJPAEntityFromMappedSuperclassFeature_createInheritedEntityFeatureDescription;
- public static String CreateJPAEntityFromMappedSuperclassFeature_createInheritedEntityFeatureName;
-
- public static String CreateManyToManyBiDirRelationFeature_manyToManyBiDirFeatureName;
- public static String CreateManyToManyBiDirRelationFeature_manyToManyUniDirFeatureDescription;
-
- public static String CreateManyToManyUniDirRelationFeature_manyToManyUniDirFeatureDescription;
- public static String CreateManyToManyUniDirRelationFeature_manyToManyUniDirFeatureName;
-
- public static String CreateManyToOneBiDirRelationFeature_manyToOneBiDirFeatureDescription;
- public static String CreateManyToOneBiDirRelationFeature_manyToOneBiDirFeatureName;
-
- public static String CreateManyToOneUniDirRelationFeature_manyToOneUniDirFeatureDescription;
- public static String CreateManyToOneUniDirRelationFeature_manyToOneUniDirFeatureName;
-
- public static String CreateOneToManyUniDirRelationFeature_oneToManyUniDirFeatureDescription;
- public static String CreateOneToManyUniDirRelationFeature_oneToManyUniDirFeatureName;
-
- public static String CreateOneToOneBiDirRelationFeature_oneToOneBiDirFeatureDescription;
- public static String CreateOneToOneBiDirRelationFeature_oneToOneBiDirFeatureName;
-
- public static String CreateOneToOneUniDirRelationFeature_oneToOneUniDirFeatureDescription;
- public static String CreateOneToOneUniDirRelationFeature_oneToOneUniDirFeatureName;
-
- public static String DeleteJPAEntityFeature_deleteJPAEntityQuestion;
-
- public static String DeleteRelationFeature_deleteRelationQuestion;
-
- public static String DirectEditAttributeFeature_attributeExists;
-
- public static String DirectEditAttributeFeature_classNameMsg;
- public static String DirectEditJPAEntityFeature_bracesNotAllowedMsg;
-
- public static String DirectEditJPAEntityFeature_duplicateEntityName;
- public static String DirectEditAttributeFeature_lineBreaksNotAllowedMsg;
- public static String DirectEditAttributeFeature_spacesNotAllowedMsg;
-
- public static String DirectEditJPAEntityFeature_classNameMsg;
- public static String DirectEditJPAEntityFeature_lineBreaksNotAllowedMsg;
- public static String DirectEditJPAEntityFeature_scpacesNotAllowedMsg;
- public static String DirectEditJPAEntityFeature_invalidSymbolsMsg;
-
- public static String JpaArtifactFactory_CanNotCheckReturnType;
-
- public static String JPADiagramEditor_waitingForMoin;
-
- public static String JPADiagramPropertyPage_errSavePropsMsgTitle;
- public static String JPADiagramPropertyPage_errSavePropsMsgText;
-
- public static String JPAEditorPreferencesPage_pageDescription;
- public static String JPAEditorPreferencesPage_DefaultCollectionTypeSectionDescription;
-
- public static String JPAEditorPreferencesPage_DefaultCollectionTypeSectionTittle;
-
- public static String JPAEditorPreferencesPage_DefaultPackageMsg;
- public static String JPAEditorPreferencesPage_DefaultTableNamePrefixMsg;
- public static String JPAEditorPreferencesPage_DefaultTableNameLabel;
- public static String JPAEditorPreferencesPage_DefaultPackageToUse;
- public static String JPAEditorPreferencesPage_invalidPackage;
- public static String JPAEditorPreferencesPage_invalidTableNamePrefix;
- public static String JPAEditorPreferencesPage_directEditAffectsClass;
- public static String JPAEditorPreferencesPage_directEditAffectsClassTooltip;
- public static String JPAEditorPreferencesPage_entityAccessTypeButtonGroupTooltip;
- public static String JPAEditorPreferencesPage_entityAccessTypeButtonGroupLabel;
- public static String JPAEditorPreferencesPage_entityFieldBasedAccessButtonLabel;
- public static String JPAEditorPreferencesPage_entityPropertyBasedAccessButtonLabel;
- public static String JPAEditorPreferencesPage_defaultFolderControlTooltip;
- public static String JPAEditorPreferencesPage_defaultFolderControlLabel;
- public static String JPAEditorPreferencesPage_invalidFolder;
- public static String JPAEditorPreferencesPage_emptyFolder;
- public static String JPAEditorPreferencesPage_oneToManyOldStyle;
- public static String JPAEditorPreferencesPage_oneToManyOldStyleTooltip;
-
- public static String JPAEditorPropertyPage_oneToManyOldStyle;
- public static String JPAEditorPropertyPage_oneToManyOldStyleTooltip;
-
- public static String JPAEditorToolBehaviorProvider_collapseAttrGroupMenuItem;
-
- public static String JPAEditorToolBehaviorProvider_collapseAttrGroupMenuItemDescr;
- public static String JPAEditorToolBehaviorProvider_collapseCompartToolTip;
-
- public static String JPAEditorToolBehaviorProvider_collapseEntityMenuItem;
- public static String JPAEditorToolBehaviorProvider_collapseEntityMenuItemDescr;
- public static String JPAEditorToolBehaviorProvider_collapseAllEntitiesMenuItem;
- public static String JPAEditorToolBehaviorProvider_collapseAllEntitiesMenuItemDescr;
-
- public static String JPAEditorToolBehaviorProvider_createAttributeButtonDescription;
- public static String JPAEditorToolBehaviorProvider_createAttributeButtonlabel;
- public static String JPAEditorToolBehaviorProvider_customSubMenuDescription;
- public static String JPAEditorToolBehaviorProvider_customSubMenuText;
- public static String JPAEditorToolBehaviorProvider_deleteAttributeButtonDescription;
- public static String JPAEditorToolBehaviorProvider_deleteAttributeButtonlabel;
- public static String JPAEditorToolBehaviorProvider_deleteEntityFromModelButtonDescription;
- public static String JPAEditorToolBehaviorProvider_deleteEntityFromModelButtonLabel;
-
- public static String JPAEditorToolBehaviorProvider_discardChangesMenuItem;
-
- public static String JPAEditorToolBehaviorProvider_discardChangesMenuItemDescr;
- public static String JPAEditorToolBehaviorProvider_removeEntityFromDiagramButtonDescription;
- public static String JPAEditorToolBehaviorProvider_removeEntityFromDiagramButtonLabel;
- public static String JPAEditorToolBehaviorProvider_saveButtonText;
- public static String JPAEditorToolBehaviorProvider_saveButtonDescription;
-
- public static String JPAEditorToolBehaviorProvider_saveMenuItem;
-
- public static String JPAEditorToolBehaviorProvider_saveMenuItemDescr;
- public static String JPAEditorToolBehaviorProvider_restoreButtonText;
- public static String JPAEditorToolBehaviorProvider_restoreButtonDescription;
- public static String JPAEditorToolBehaviorProvider_removeAndSaveButtonText;
- public static String JPAEditorToolBehaviorProvider_removeAndSaveButtonDescription;
- public static String JPAEditorToolBehaviorProvider_showAllTheEntities;
- public static String JPAEditorToolBehaviorProvider_showAllTheEntitiesDesc;
- public static String JPAEditorToolBehaviorProvider_refactorSubMenu;
- public static String JPAEditorToolBehaviorProvider_renameEntityClass;
- public static String JPAEditorToolBehaviorProvider_moveEntityClass;
- public static String JPAEditorToolBehaviorProvider_openJPADetailsView;
- public static String JPAEditorToolBehaviorProvider_openJPADetailsViewDesc;
- public static String JPAEditorToolBehaviorProvider_openMiniatureView;
- public static String JPAEditorToolBehaviorProvider_openMiniatureViewDesc;
- public static String JPAEditorToolBehaviorProvider_applyPattern;
- public static String JPAEditorToolBehaviorProvider_applyPatternDesc;
- public static String JPAEditorToolBehaviorProvider_expandAttrMenuItem;
-
- public static String JPAEditorToolBehaviorProvider_expandAttrMenuItemDescr;
- public static String JPAEditorToolBehaviorProvider_expandCompartToolTip;
-
- public static String JPAEditorToolBehaviorProvider_expandEntityMenuItem;
- public static String JPAEditorToolBehaviorProvider_expandEntitymenuItemDescr;
-
- public static String JPAEditorToolBehaviorProvider_expandAllEntitiesMenuItem;
- public static String JPAEditorToolBehaviorProvider_expandAllEntitiesMenuItemDescr;
-
- public static String JPAEditorToolBehaviorProvider_refactorAttributeType;
- public static String JPAEditorToolBehaviorProvider_refactorAttributeTypeDesc;
- public static String JPAEditorToolBehaviorProvider_removeAllEntitiesMenu;
- public static String JPAEditorToolBehaviorProvider_removeAndSaveAllEntitiesAction;
- public static String JPAEditorToolBehaviorProvider_removeAndDiscardAllEntitiesAction;
- public static String JPAEditorToolBehaviorProvider_removeAndSaveAllEntitiesConfirmation;
- public static String JPAEditorToolBehaviorProvider_removeAndDiscardAllEntitiesConfirmation;
-
- public static String JPAEditorDiagramTypeProvider_cantMakeDiagramWritableTitle;
- public static String JPAEditorDiagramTypeProvider_cantMakeDiagramWritableMsg;
- public static String JPAEditorDiagramTypeProvider_JPADiagramReadOnlyTitle;
- public static String JPAEditorDiagramTypeProvider_JPADiagramReadOnlyMsg;
- public static String JPAEditorDiagramTypeProvider_JPADiagramReadOnlyHasToAddMsg;
-
- public static String OpenJpaDiagramActionDelegate_openJPADiagramErrorMsgTitle;
- public static String OpenJpaDiagramActionDelegate_openJPADiagramErrorMsg;
- public static String OpenJpaDiagramActionDelegate_jpaSupportWarningTitle;
- public static String OpenJpaDiagramActionDelegate_jpaSupportWarningMsg;
- public static String OpenJpaDiagramActionDelegate_noPersistenceUnitTitle;
- public static String OpenJpaDiagramActionDelegate_noPersistenceUnitMsg;
-
-
- public static String SelectTypeDialog_chooseAttributeTypeDialogText;
- public static String SelectTypeDialog_browseBtnTxt;
- public static String SelectTypeDialog_browseBtnDesc;
- public static String SelectTypeDialog_typeLabel;
- public static String SelectTypeDialog_chooseAttributeTypeDialogWindowTitle;
- public static String SelectTypeDialog_chooseAttributeTypeDialogTitle;
- public static String SelectTypeDialog_invalidTypeMsgTitle;
- public static String SelectTypeDialog_invalidTypeMsgText;
- public static String SelectTypeDialog_emptyTypeErrorText;
-
-
- public static String JPAEditorUtil_fullnameTooltipText;
- public static String JPAEditorUtil_typeTooltipText;
- public static String JPAEditorUtil_applyChangesJobName;
- public static String JPAEditorUtil_inheritTypeTooltipText;
-
-
- public static String PaletteCompartment_Connections;
- public static String PaletteCompartment_Objects;
-
- public static String JPASolver_closeWarningMsg;
- public static String JPASolver_closeEditors;
-
- public static String RemoveJPAEntityFeature_discardWarningMsg;
-
- public static String BTN_OK;
- public static String BTN_CANCEL;
-
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, JPAEditorMessages.class);
- }
-
- private JPAEditorMessages() {
- }
-}
-
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/i18n/messages.properties b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/i18n/messages.properties
deleted file mode 100644
index d34e28678c..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/i18n/messages.properties
+++ /dev/null
@@ -1,200 +0,0 @@
-################################################################################
-# <copyright>
-#
-# Copyright (c) 2005, 2010 SAP AG.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# Petya Sabeva - initial API, implementation and documentation
-#
-# </copyright>
-#
-################################################################################
-AddJPAEntityFeature_basicAttributesShapes=Other Attributes
-AddJPAEntityFeature_primaryKeysShape=Primary Key
-AddJPAEntityFeature_relationAttributesShapes=Relation Attributes
-ClickAddAttributeButtonFeature_createAttributeButtonDescription=Create a new attribute of this entity.
-ClickAddAttributeButtonFeature_createAttributeButtonLabel=Create Attribute
-
-ClickRemoveAttributeButtonFeature_createAttributeButtonDescription=Create a new attribute of this entity.
-ClickRemoveAttributeButtonFeature_createAttributeButtonlabel=Create Attribute
-ClickRemoveAttributeButtonFeature_deleteAttributeQuestion=Do you want to delete attribute "{0}"?
-
-CreateDiagramJob_createDiagramJobName=Creating diagram for: {0}...
-CreateDiagramJob_getJPADiagramMonitorTaskName=Get JPA Diagram
-CreateJPAEntityFeature_createEntityErrorMsg=Entity could not be created.
-CreateJPAEntityFeature_createEntityErrorMsgTitle=Cannot Create Entity
-CreateJPAEntityFeature_createEntityErrorStatusMsg=Persistence API library is not into the project's classpath.
-CreateJPAEntityFeature_jpaEntityFeatureDescription=Create a new JPA entity.
-CreateJPAEntityFeature_jpaEntityFeatureName=Java Entity
-CreateJPAEntityFeature_jpaProjectSelectionDialogDescription=Select a JPA project to contain the entity.
-CreateJPAEntityFeature_jpaProjectSelectionDialogTitle=Select JPA Project
-CreateJPAEntityFromMappedSuperclassFeature_createInheritedEntityFeatureDescription=Create a new JPA entity that will inherit a new Mapped Superclass.
-CreateJPAEntityFromMappedSuperclassFeature_createInheritedEntityFeatureName=Inherited Entity
-
-CreateManyToManyBiDirRelationFeature_manyToManyBiDirFeatureName=Many-to-Many
-CreateManyToManyBiDirRelationFeature_manyToManyUniDirFeatureDescription=Create new bidirectional many-to-many relation.
-
-CreateManyToManyUniDirRelationFeature_manyToManyUniDirFeatureDescription=Create new unidirectional many-to-many relation.
-CreateManyToManyUniDirRelationFeature_manyToManyUniDirFeatureName=Many-to-Many
-
-CreateManyToOneBiDirRelationFeature_manyToOneBiDirFeatureDescription=Create new bidirectional many-to-one relation.
-CreateManyToOneBiDirRelationFeature_manyToOneBiDirFeatureName=Many-to-One
-
-CreateManyToOneUniDirRelationFeature_manyToOneUniDirFeatureDescription=Create new unidirectional many-to-one relation.
-CreateManyToOneUniDirRelationFeature_manyToOneUniDirFeatureName=Many-to-One
-
-CreateOneToManyUniDirRelationFeature_oneToManyUniDirFeatureDescription=Create new unidirectional one-to-many relation.
-CreateOneToManyUniDirRelationFeature_oneToManyUniDirFeatureName=One-to-Many
-
-CreateOneToOneBiDirRelationFeature_oneToOneBiDirFeatureDescription=Create new bidirectional one-to-one relation.
-CreateOneToOneBiDirRelationFeature_oneToOneBiDirFeatureName=One-to-One
-
-CreateOneToOneUniDirRelationFeature_oneToOneUniDirFeatureDescription=Create new unidirectional one-to-one relation.
-CreateOneToOneUniDirRelationFeature_oneToOneUniDirFeatureName=One-to-One
-
-DeleteJPAEntityFeature_deleteJPAEntityQuestion=Do you want to delete entity "{0}" from the JPA model?
-
-DeleteRelationFeature_deleteRelationQuestion=Do you want to delete this relation?
-
-DirectEditAttributeFeature_attributeExists=Attribute with name "{0}" already exists.
-DirectEditAttributeFeature_classNameMsg=Enter an attribute name.
-DirectEditAttributeFeature_lineBreaksNotAllowedMsg=You cannot use line breaks in attribute names.
-DirectEditAttributeFeature_spacesNotAllowedMsg=You cannot use spaces in attribute names.
-
-DirectEditJPAEntityFeature_bracesNotAllowedMsg=You cannot use braces in entity names.
-DirectEditJPAEntityFeature_classNameMsg=Enter an entity name.
-DirectEditJPAEntityFeature_duplicateEntityName=Entity with name "{0}" already exists.
-DirectEditJPAEntityFeature_lineBreaksNotAllowedMsg=You cannot use line breaks in entity names.
-DirectEditJPAEntityFeature_scpacesNotAllowedMsg=You cannot use spaces in entity names.
-DirectEditJPAEntityFeature_invalidSymbolsMsg="{0}" is not a valid entity name.
-
-JpaArtifactFactory_CanNotCheckReturnType=Cannot check the return type
-
-JPADiagramEditor_waitingForMoin=Waiting for MOIN connection initialization...
-
-JPADiagramPropertyPage_errSavePropsMsgTitle=Cannot Save Properties
-JPADiagramPropertyPage_errSavePropsMsgText=The JPA diagram properties could not be saved
-
-JPAEditorPreferencesPage_pageDescription=Default settings for the JPA diagram editor:
-JPAEditorPreferencesPage_DefaultCollectionTypeSectionDescription=Relation attributes, which you generate using the JPA editor,\nare automatically created to be of the specified collection type.
-JPAEditorPreferencesPage_DefaultCollectionTypeSectionTittle=Default Collection Type
-JPAEditorPreferencesPage_DefaultPackageMsg=Entities, which you generate using the JPA editor palette,\nare automatically created in the specified package.
-JPAEditorPreferencesPage_DefaultTableNamePrefixMsg=Entities, which you have created, using the JPA editor palette, are automatically\nannotated with @Table(name=...), where the name of the table is a result of\nconcatenation of the given prefix and the name of the entity. If you set\na blank prefix, the newly created entities are not annotated with @Table.
-JPAEditorPreferencesPage_DefaultTableNameLabel=Default &table name prefix:
-JPAEditorPreferencesPage_DefaultPackageToUse=Default &Java package for new entities:
-JPAEditorPreferencesPage_invalidPackage="{0}" is not a valid Java identifier.
-JPAEditorPreferencesPage_invalidTableNamePrefix=Table name prefix may contain letters, digits and underscores only, and must not start with a digit.
-JPAEditorPreferencesPage_directEditAffectsClass=&Editing the entity name in the diagram affects the class name in the source file
-JPAEditorPreferencesPage_directEditAffectsClassTooltip=If this option is checked and the entity name is appointed\nby the @Entity annotation, direct entity name editing will\naffect the annotation and will cause class name refactoring.\nIf this option is unchecked, direct editing will affect the\nannotation only. If the entity name is not appointed by the\n@Entity annotation, direct editing will cause class name\nrefactoring regardless this option is checked or not.
-JPAEditorPreferencesPage_entityAccessTypeButtonGroupTooltip=Entities, which you generate using the JPA editor palette,\nare automatically created with the specified access.
-JPAEditorPreferencesPage_entityAccessTypeButtonGroupLabel=Entity access type
-JPAEditorPreferencesPage_entityFieldBasedAccessButtonLabel=&Field-based
-JPAEditorPreferencesPage_entityPropertyBasedAccessButtonLabel=&Property-based
-JPAEditorPreferencesPage_defaultFolderControlTooltip=The newly created diagram file(s) will be stored in this folder
-JPAEditorPreferencesPage_defaultFolderControlLabel=Folder for &diagrams:
-JPAEditorPreferencesPage_invalidFolder=The folder name must be preceded by "{0}".
-JPAEditorPreferencesPage_emptyFolder=The folder name for diagrams must not be empty.
-JPAEditorPreferencesPage_oneToManyOldStyle=&One-to-Many unidirectional old (JPA 1.0) style relations in JPA 2.0 projects
-JPAEditorPreferencesPage_oneToManyOldStyleTooltip=If this option is checked, the newly created One-to-Many\nunidirectional relations in JPA 2.0 projects will be old\n(JPA 1.0) style. I.e., the corresponding attributes will\nbe created without @JoinColumn(s) annotation.
-
-JPAEditorPropertyPage_oneToManyOldStyle=&One-to-Many unidirectional old (JPA 1.0) style relations
-JPAEditorPropertyPage_oneToManyOldStyleTooltip=If this option is checked, the newly created One-to-Many\nunidirectional relations will be old (JPA 1.0) style.\nI.e., the corresponding attributes will be created without\n@JoinColumn(s) annotation.
-
-JPAEditorToolBehaviorProvider_collapseAttrGroupMenuItem=Collapse Attributes Group
-JPAEditorToolBehaviorProvider_collapseAttrGroupMenuItemDescr=Collapse the attributes group.
-JPAEditorToolBehaviorProvider_collapseCompartToolTip=Double click to collapse "{0}" attributes group.
-JPAEditorToolBehaviorProvider_collapseEntityMenuItem=Collapse Entity
-JPAEditorToolBehaviorProvider_collapseEntityMenuItemDescr=Collapse entity.
-JPAEditorToolBehaviorProvider_collapseAllEntitiesMenuItem=Collapse All
-JPAEditorToolBehaviorProvider_collapseAllEntitiesMenuItemDescr=Collapse all entities
-JPAEditorToolBehaviorProvider_createAttributeButtonDescription=Create new attribute of this entity.
-JPAEditorToolBehaviorProvider_createAttributeButtonlabel=Create Attribute
-JPAEditorToolBehaviorProvider_customSubMenuDescription=Custom features submenu
-JPAEditorToolBehaviorProvider_customSubMenuText=Custom
-JPAEditorToolBehaviorProvider_deleteAttributeButtonDescription=Delete this attribute from the model.
-JPAEditorToolBehaviorProvider_deleteAttributeButtonlabel=Delete Attribute
-JPAEditorToolBehaviorProvider_deleteEntityFromModelButtonDescription=Remove this JPA entity from the diagram and delete it from the JPA model.
-JPAEditorToolBehaviorProvider_deleteEntityFromModelButtonLabel=Delete
-JPAEditorToolBehaviorProvider_discardChangesMenuItem=Discard Changes
-JPAEditorToolBehaviorProvider_discardChangesMenuItemDescr=Discard all changes made to this JPA entity after the last saving.
-JPAEditorToolBehaviorProvider_removeEntityFromDiagramButtonDescription=Discard all changes made to this JPA entity after the last saving and remove it from the diagram.
-JPAEditorToolBehaviorProvider_removeEntityFromDiagramButtonLabel=Discard Changes and Remove
-JPAEditorToolBehaviorProvider_saveButtonText=Save
-JPAEditorToolBehaviorProvider_saveButtonDescription=Save all changes made to this JPA entity.
-JPAEditorToolBehaviorProvider_saveMenuItem=Save
-JPAEditorToolBehaviorProvider_saveMenuItemDescr=Save all changes made to this JPA entity.
-JPAEditorToolBehaviorProvider_restoreButtonText=Discard Changes
-JPAEditorToolBehaviorProvider_restoreButtonDescription=Discard all changes made to this JPA entity after the last saving.
-JPAEditorToolBehaviorProvider_removeAndSaveButtonText=Save And Remove
-JPAEditorToolBehaviorProvider_removeAndSaveButtonDescription=Save all changes made to this entity and remove it from the diagram.
-JPAEditorToolBehaviorProvider_showAllTheEntities=Show All Entities
-JPAEditorToolBehaviorProvider_showAllTheEntitiesDesc=Show all entities within the project on the diagram.
-JPAEditorToolBehaviorProvider_refactorSubMenu=Refactor Entity Class
-JPAEditorToolBehaviorProvider_renameEntityClass=Rename...
-JPAEditorToolBehaviorProvider_moveEntityClass=Move...
-JPAEditorToolBehaviorProvider_openJPADetailsView=Open JPA Details View
-JPAEditorToolBehaviorProvider_openJPADetailsViewDesc=Open the JPA Details view to view/modify the details of the selected persistent object.
-JPAEditorToolBehaviorProvider_openMiniatureView=Open Miniature View
-JPAEditorToolBehaviorProvider_openMiniatureViewDesc=Open the Miniature view to display the diagram in a larger scale.
-JPAEditorToolBehaviorProvider_applyPattern=Apply Template...
-JPAEditorToolBehaviorProvider_applyPatternDesc=Apply Template
-JPAEditorToolBehaviorProvider_expandAttrMenuItem=Expand Attributes Group
-JPAEditorToolBehaviorProvider_expandAttrMenuItemDescr=Expand the attributes group.
-JPAEditorToolBehaviorProvider_expandCompartToolTip=Double click to expand "{0}" attributes group.
-JPAEditorToolBehaviorProvider_expandEntityMenuItem=Expand Entity
-JPAEditorToolBehaviorProvider_expandEntitymenuItemDescr=Expand entity.
-JPAEditorToolBehaviorProvider_expandAllEntitiesMenuItem=Expand All
-JPAEditorToolBehaviorProvider_expandAllEntitiesMenuItemDescr=Expand all entities.
-JPAEditorToolBehaviorProvider_refactorAttributeType=Refactor Attribute Type...
-JPAEditorToolBehaviorProvider_refactorAttributeTypeDesc=Change the type of the selected attribute.
-JPAEditorToolBehaviorProvider_removeAllEntitiesMenu=Remove All Entities From Diagram
-JPAEditorToolBehaviorProvider_removeAndSaveAllEntitiesAction=...and Save Changes
-JPAEditorToolBehaviorProvider_removeAndDiscardAllEntitiesAction=...and Discard Changes
-JPAEditorToolBehaviorProvider_removeAndSaveAllEntitiesConfirmation=Do you want to save the changes and remove all entities from the diagram?
-JPAEditorToolBehaviorProvider_removeAndDiscardAllEntitiesConfirmation=Do you want to discard the changes and remove all entities from the diagram?
-
-JPAEditorDiagramTypeProvider_cantMakeDiagramWritableTitle=Can't Make Diagram Writable
-JPAEditorDiagramTypeProvider_cantMakeDiagramWritableMsg=Cannot make the JPA diagram file writable:\n\n{0}
-JPAEditorDiagramTypeProvider_JPADiagramReadOnlyTitle=JPA Diagram Read-Only
-JPAEditorDiagramTypeProvider_JPADiagramReadOnlyMsg=The JPA diagram file is read-only and cannot be synchronized with the model. In order to open the diagram, the JPA editor must make this file writable.
-JPAEditorDiagramTypeProvider_JPADiagramReadOnlyHasToAddMsg=Cannot show the selected entity in the JPA diagram, because the diagram file is read-only. In order to show the entity, the JPA editor must make this file writable.
-
-OpenJpaDiagramActionDelegate_openJPADiagramErrorMsgTitle=Cannot Open Diagram
-OpenJpaDiagramActionDelegate_openJPADiagramErrorMsg=Cannot open the JPA diagram editor
-OpenJpaDiagramActionDelegate_jpaSupportWarningTitle=JPA Support
-OpenJpaDiagramActionDelegate_jpaSupportWarningMsg=JPA Diagram Editor has partial JPA 2.0 support only. When you use it with JPA 2.0 enabled projects you should visualize JPA 1.0 compliant entities only. Otherwise, the editor behavior will become erratic.
-OpenJpaDiagramActionDelegate_noPersistenceUnitTitle=No Persistence Unit
-OpenJpaDiagramActionDelegate_noPersistenceUnitMsg=The JPA Diagram Editor can not be open, because the persistence unit does not exist or is corrupted.
-
-JPAEditorUtil_fullnameTooltipText=\ Class Name: {0}
-JPAEditorUtil_typeTooltipText=\ Type: {0}
-JPAEditorUtil_applyChangesJobName=Apply changes to persistence.xml.
-JPAEditorUtil_inheritTypeTooltipText=\ Class Name: {0} \n This entity inherits {1}
-
-PaletteCompartment_Connections=Relations
-PaletteCompartment_Objects=Entities
-
-BTN_OK=OK
-BTN_CANCEL=Cancel
-
-SelectTypeDialog_chooseAttributeTypeDialogText=Select a primitive type for the attribute "{0}" of the entity "{1}" or choose the "Browse" button to select a class type.
-SelectTypeDialog_browseBtnTxt=&Browse...
-SelectTypeDialog_browseBtnDesc=Browse to select a class.
-SelectTypeDialog_typeLabel=&Type:
-SelectTypeDialog_chooseAttributeTypeDialogWindowTitle=Select Type
-SelectTypeDialog_chooseAttributeTypeDialogTitle=Select New Attribute Type
-SelectTypeDialog_invalidTypeMsgTitle=Invalid Type
-SelectTypeDialog_invalidTypeMsgText="{0}" is not valid java type or primitive.
-SelectTypeDialog_emptyTypeErrorText=The new type name must not be empty
-
-JPASolver_closeWarningMsg=The entity "{0}" is open elsewhere with identical changes. Using this button will not lose those changes. Close the other editor(s), where the entity "{0}" is open and try again!
-JPASolver_closeEditors=Close Editors
-
-RemoveJPAEntityFeature_discardWarningMsg=The entity "{0}" is open elsewhere with identical changes. Using this button will remove the entity from the diagram, but will not lose those changes. In order to lose the changes you need first to close the other editor(s), where the entity "{0}" is open and try again!\n\nDo you want to continue with removing anyway?
-
-
-
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/modelintegration/ui/JPADiagramEditorInput.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/modelintegration/ui/JPADiagramEditorInput.java
deleted file mode 100644
index 160da2e0d9..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/modelintegration/ui/JPADiagramEditorInput.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.ui;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-import org.eclipse.graphiti.ui.editor.DiagramEditorInput;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.util.ModelIntegrationUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IJPADiagramEditorInput;
-
-
-public class JPADiagramEditorInput extends DiagramEditorInput
- implements IJPADiagramEditorInput {
-
- private Diagram diagram;
- private String projectName;
-
-
- public JPADiagramEditorInput(Diagram diagram,
- String diagramUriString,
- TransactionalEditingDomain domain,
- String providerId,
- boolean disposeEditingDomain) {
-
- super(diagramUriString, domain, providerId, disposeEditingDomain);
- this.diagram = diagram;
- this.projectName = ModelIntegrationUtil.getProjectByDiagram(diagram).getName();
- }
-
- public JPADiagramEditorInput(Diagram diagram,
- URI diagramUri,
- TransactionalEditingDomain domain,
- String providerId,
- boolean disposeEditingDomain) {
-
- super(diagramUri, domain, providerId, disposeEditingDomain);
- this.diagram = diagram;
- this.projectName = ModelIntegrationUtil.getProjectByDiagram(diagram).getName();
- }
-
- @SuppressWarnings("rawtypes")
- public Object getAdapter(Class adapter) {
- if (adapter.equals(EObject.class)) {
- return getDiagram();
- }
- if (adapter.equals(Diagram.class)) {
- return getDiagram();
- }
- if (adapter.equals(TransactionalEditingDomain.class))
- return ModelIntegrationUtil.getTransactionalEditingDomain(diagram);
- return null;
- }
-
- public Diagram getDiagram() {
- return diagram;
- }
-
- public static JPADiagramEditorInput createEditorInput(Diagram diagram, TransactionalEditingDomain domain, String providerId,
- boolean disposeEditingDomain) {
- final Resource resource = diagram.eResource();
- if (resource == null) {
- throw new IllegalArgumentException();
- }
- final String fragment = resource.getURIFragment(diagram);
- final URI fragmentUri = resource.getURI().appendFragment(fragment);
- JPADiagramEditorInput diagramEditorInput;
- diagramEditorInput = new JPADiagramEditorInput(diagram, fragmentUri, domain, providerId, disposeEditingDomain);
- return diagramEditorInput;
- }
-
-
- public String getProjectName() {
- return projectName;
- }
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/modelintegration/ui/JPAEditorMatchingStrategy.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/modelintegration/ui/JPAEditorMatchingStrategy.java
deleted file mode 100644
index 9ef77ab65e..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/modelintegration/ui/JPAEditorMatchingStrategy.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.ui;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.QualifiedName;
-import org.eclipse.graphiti.dt.IDiagramTypeProvider;
-import org.eclipse.graphiti.features.context.impl.CustomContext;
-import org.eclipse.graphiti.features.custom.ICustomFeature;
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.JPADiagramEditorPlugin;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.util.IModelIntegrationUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.util.ModelIntegrationUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IJPADiagramEditorInput;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorMatchingStrategy;
-import org.eclipse.ui.IEditorReference;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.PartInitException;
-
-
-public class JPAEditorMatchingStrategy implements IEditorMatchingStrategy {
-
- private IJPAEditorFeatureProvider fp = null;
-
- private static final String CODE_GENERATED = "CODE_GENERATED"; //$NON-NLS-1$
- public static final String DOUBLE_CLICK = "DOUBLE_CLICK"; //$NON-NLS-1$
-
-
- public JPAEditorMatchingStrategy() {}
-
- /**
- * This constructor is intended solely for the test purposes
- *
- * @param fp the feature provider
- */
- public JPAEditorMatchingStrategy(IJPAEditorFeatureProvider fp) {
- this.fp = fp;
- }
-
- public boolean matches(IEditorReference editorRef, IEditorInput input) {
- if (input instanceof IFileEditorInput) {
- IFileEditorInput fileInput = (IFileEditorInput) input;
- IFile entityFile = fileInput.getFile();
- if(!entityFile.getName().endsWith(".java")){ //$NON-NLS-1$
- return false;
- }
- try {
- QualifiedName qn = new QualifiedName(null, DOUBLE_CLICK);
- if ("true".equals(entityFile.getSessionProperty(qn))) { //$NON-NLS-1$
- entityFile.setSessionProperty(qn, null);
- return false;
- }
- } catch (CoreException e1) {
- System.err.println("Cannot get session property DOUBLE_CLICK"); //$NON-NLS-1$
- e1.printStackTrace();
- }
- JavaPersistentType inputJptType = null;
-
- if (fp == null) {
- inputJptType = JPAEditorUtil.getJPType(JavaCore.createCompilationUnitFrom(entityFile));
- } else {
- inputJptType = fp.getJPAEditorUtil().getJPType(JavaCore.createCompilationUnitFrom(entityFile));
- }
- if (inputJptType == null)
- return false;
- PersistenceUnit persistenceUnit = inputJptType.getPersistenceUnit();
- JpaProject jpaProject = persistenceUnit.getJpaProject();
-
- try {
- IEditorInput editorInput = editorRef.getEditorInput();
- if (editorInput instanceof IJPADiagramEditorInput) {
- IJPADiagramEditorInput jpInput = (IJPADiagramEditorInput) editorInput;
- Diagram diagram = jpInput.getDiagram();
- if (diagram != null) {
-
- IJPAEditorFeatureProvider featureProvider = null;
- IDiagramTypeProvider diagramProvider = null;
- if (fp != null) {
- featureProvider = this.fp;
- diagramProvider = featureProvider.getDiagramTypeProvider();
- } else {
- diagramProvider = ModelIntegrationUtil.getProviderByDiagram(diagram);
- featureProvider = (IJPAEditorFeatureProvider)diagramProvider.getFeatureProvider();
- }
- IModelIntegrationUtil moinIntegrationUtil = featureProvider.getMoinIntegrationUtil();
- JpaProject jpaProjectFromEditor = moinIntegrationUtil.getProjectByDiagram(diagram);
- if (jpaProject.equals(jpaProjectFromEditor)) {
- if (fileInput.getName() != CODE_GENERATED)
- return false;
- PictogramElement pe = featureProvider.getPictogramElementForBusinessObject(inputJptType);
- if (pe != null) {
- diagramProvider.getDiagramEditor().setPictogramElementForSelection(pe);
- return true;
- }
-
- ICustomFeature feature = featureProvider.getAddAllEntitiesFeature();
- CustomContext context = new CustomContext();
- feature.execute(context);
- return true;
- }
- }
- }
- } catch (PartInitException e) {
- JPADiagramEditorPlugin.getDefault().getLog().log(e.getStatus());
- }
- } else if (input instanceof IJPADiagramEditorInput) {
- return editorRef.getPartName().equals(((IJPADiagramEditorInput) input).getProjectName());
- }
- return false;
- }
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/modelintegration/ui/OpenJpaDiagramActionDelegate.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/modelintegration/ui/OpenJpaDiagramActionDelegate.java
deleted file mode 100644
index 88aa5352e9..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/modelintegration/ui/OpenJpaDiagramActionDelegate.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.ui;
-
-import java.lang.ref.WeakReference;
-import java.util.Iterator;
-import java.util.Set;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.IJobChangeEvent;
-import org.eclipse.core.runtime.jobs.JobChangeAdapter;
-import org.eclipse.emf.transaction.RecordingCommand;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.transaction.util.TransactionUtil;
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-import org.eclipse.graphiti.platform.IDiagramEditor;
-import org.eclipse.graphiti.ui.editor.DiagramEditorInput;
-import org.eclipse.graphiti.ui.internal.Messages;
-import org.eclipse.jdt.internal.ui.dialogs.OptionalMessageDialog;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.IconAndMessageDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jpt.jpa.core.JpaNode;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.JPADiagramEditor;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.util.CreateDiagramJob;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.util.ModelIntegrationUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.JPAEditorDiagramTypeProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.Wrp;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IObjectActionDelegate;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchListener;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-
-
-@SuppressWarnings({ "unused", "restriction" })
-public class OpenJpaDiagramActionDelegate implements IObjectActionDelegate {
-
- private class OpenEditorRunnable implements Runnable {
- private Diagram diagram;
-
- private OpenEditorRunnable(Diagram diagram) {
- this.diagram = diagram;
- }
-
- public void run() {
- ModelIntegrationUtil.mapDiagramToProject(diagram, jpaProject);
- openDiagramEditor(diagram);
- }
- }
-
- public static IDiagramEditor openDiagramEditor(Diagram diagram) {
-
- JpaProject jpaProject = ModelIntegrationUtil.getProjectByDiagram(diagram);
- if (!JPAEditorUtil.checkJPAFacetVersion(jpaProject, "1.0")) { //$NON-NLS-1$
- boolean wasEnabled = OptionalMessageDialog.isDialogEnabled(JPAEditorConstants.JPA_SUPPORT_DIALOG_ID);
- int btnIndex = OptionalMessageDialog.open(JPAEditorConstants.JPA_SUPPORT_DIALOG_ID,
- Display.getDefault().getShells()[0],
- JPAEditorMessages.OpenJpaDiagramActionDelegate_jpaSupportWarningTitle,
- Display.getDefault().getSystemImage(SWT.ICON_WARNING),
- JPAEditorMessages.OpenJpaDiagramActionDelegate_jpaSupportWarningMsg,
- 0,
- new String[] {JPAEditorMessages.BTN_OK},
- 0);
- }
-
- TransactionalEditingDomain defaultTransEditDomain = TransactionUtil.getEditingDomain((diagram.eResource().getResourceSet()));
- final JPADiagramEditorInput diagramEditorInput = JPADiagramEditorInput.createEditorInput(diagram, defaultTransEditDomain, JPAEditorDiagramTypeProvider.ID, false);
- IWorkbenchWindow workbenchWindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- final IWorkbenchPage workbenchPage = workbenchWindow.getActivePage();
- final Wrp wrp = new Wrp();
- try {
- final IEditorPart editorPart = IDE.openEditor(workbenchPage, diagramEditorInput, JPADiagramEditor.ID);
- if (editorPart instanceof JPADiagramEditor) {
- JPADiagramEditor ret = (JPADiagramEditor) editorPart;
- wrp.setObj(ret);
- PlatformUI.getWorkbench().addWorkbenchListener( new IWorkbenchListener() {
- public boolean preShutdown( IWorkbench workbench, boolean forced ) {
- workbenchPage.closeEditor( editorPart, true);
- return true;
- }
-
- public void postShutdown( IWorkbench workbench ){
-
- }
- });
- //CSN #1305850 2010
- //if(ret.isDirty())
- // ret.doSave(new NullProgressMonitor());
- }
- } catch (PartInitException e) {
- System.err.println("Can't open JPA editor"); //$NON-NLS-1$
- e.printStackTrace();
- }
- return (JPADiagramEditor)wrp.getObj();
- }
-
-
- private static final String ERROR_OPENING_DIAGRAM = JPAEditorMessages.OpenJpaDiagramActionDelegate_openJPADiagramErrorMsg;
- private JpaProject jpaProject;
- private Shell shell;
- private WeakReference<ISelection> selectionRef = new WeakReference<ISelection>(null);
-
- public void setActivePart(IAction action, IWorkbenchPart targetPart) {
- shell = targetPart.getSite().getShell();
- }
-
- public void run(IAction action) {
- PersistenceUnit persistenceUnit = null;
- try {
- persistenceUnit = obtainJpaProjectAndPersistenceUnit(selectionRef.get());
- } catch (Exception e) {
- handleException(e);
- return;
- }
- if (persistenceUnit == null) {
- MessageDialog.openError(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(),
- JPAEditorMessages.OpenJpaDiagramActionDelegate_noPersistenceUnitTitle,
- JPAEditorMessages.OpenJpaDiagramActionDelegate_noPersistenceUnitMsg);
- return;
- }
- final CreateDiagramJob createDiagramRunnable = new CreateDiagramJob(persistenceUnit, 10, true);
- createDiagramRunnable.setRule(ResourcesPlugin.getWorkspace().getRoot());
- createDiagramRunnable.addJobChangeListener(new JobChangeAdapter(){
- public void done(IJobChangeEvent event) {
- shell.getDisplay().syncExec(new OpenEditorRunnable(createDiagramRunnable.getDiagram()));
- }
- });
- createDiagramRunnable.setUser(true);
- createDiagramRunnable.schedule();
- }
-
- public void selectionChanged(IAction action, ISelection selection) {
- selectionRef = new WeakReference<ISelection>(selection);
- }
-
- protected PersistenceUnit obtainJpaProjectAndPersistenceUnit(ISelection selection) throws CoreException {
- Object firstElement = ((IStructuredSelection) selection).getFirstElement();
- if (firstElement instanceof JpaNode) {
- jpaProject = ((JpaNode)firstElement).getJpaProject();
- } else if (firstElement instanceof IProject) {
- jpaProject = JpaArtifactFactory.instance().getJpaProject((IProject)firstElement);
- }
- return JpaArtifactFactory.instance().getPersistenceUnit(jpaProject);
- }
-
-
- private void handleException(Exception e) {
- System.err.println(ERROR_OPENING_DIAGRAM);
- e.printStackTrace();
- IStatus status = new ErrStatus(IStatus.ERROR, JPADiagramEditor.ID, e.toString(), e);
- ErrorDialog.openError(shell, JPAEditorMessages.OpenJpaDiagramActionDelegate_openJPADiagramErrorMsgTitle,
- ERROR_OPENING_DIAGRAM, status);
- }
-
- private class ErrStatus extends Status {
-
- public ErrStatus(int severity, String pluginId, String message, Throwable exception) {
- super(severity, message, message, exception);
- }
-
- public IStatus[] getChildren() {
- StackTraceElement[] st = getException().getStackTrace();
- IStatus[] res = new IStatus[st == null ? 0 : st.length];
- for (int i = 0; i < st.length; i++)
- res[i] = new Status(IStatus.ERROR, JPADiagramEditor.ID, st[i].toString());
- return res;
- }
- }
-
-
-} \ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/modelintegration/util/CreateDiagramJob.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/modelintegration/util/CreateDiagramJob.java
deleted file mode 100644
index 7805bfd3ff..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/modelintegration/util/CreateDiagramJob.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.util;
-
-import java.text.MessageFormat;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-
-
-public class CreateDiagramJob extends Job {
-
- //private Connection moinConnection = null;
- private PersistenceUnit persistenceUnit;
- private Diagram diagram;
- private int grid;
- private boolean snap;
-
- /*
- public Connection getMoinConnection() {
- return moinConnection;
- }
- */
-
- public Diagram getDiagram() {
- return diagram;
- }
-
- public CreateDiagramJob(PersistenceUnit persistenceUnit, int grid, boolean snap) {
- super(MessageFormat.format(JPAEditorMessages.CreateDiagramJob_createDiagramJobName, new Object[] { persistenceUnit.getName()}));
- this.persistenceUnit = persistenceUnit;
- this.grid = grid;
- this.snap = snap;
- }
-
- public IStatus run(IProgressMonitor monitor) {
- //IProject project = persistenceUnit.getJpaProject().getProject();
- try{
- monitor.beginTask(JPAEditorMessages.CreateDiagramJob_getJPADiagramMonitorTaskName, 3);
- monitor.worked(1);
- //moinConnection = ConnectionManager.getInstance().createConnection(project);
- monitor.worked(1);
- diagram = ModelIntegrationUtil.createDiagram(persistenceUnit, grid, snap);
- monitor.worked(1);
- } catch (CoreException e) {
- return e.getStatus();
- }
- return Status.OK_STATUS;
- }
-
-} \ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/modelintegration/util/IModelIntegrationUtil.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/modelintegration/util/IModelIntegrationUtil.java
deleted file mode 100644
index 6e8c6ce775..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/modelintegration/util/IModelIntegrationUtil.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.util;
-
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-import org.eclipse.jpt.jpa.core.JpaProject;
-
-public interface IModelIntegrationUtil {
- public JpaProject getProjectByDiagram(Diagram diagram);
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/modelintegration/util/ModelIntegrationUtil.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/modelintegration/util/ModelIntegrationUtil.java
deleted file mode 100644
index 06237741df..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/modelintegration/util/ModelIntegrationUtil.java
+++ /dev/null
@@ -1,228 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.util;
-
-import java.io.IOException;
-import java.lang.ref.WeakReference;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Properties;
-import java.util.WeakHashMap;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.transaction.RecordingCommand;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.transaction.util.TransactionUtil;
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-import org.eclipse.graphiti.services.Graphiti;
-import org.eclipse.graphiti.ui.editor.DiagramEditorFactory;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.propertypage.JPADiagramPropertyPage;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.JPAEditorDiagramTypeProvider;
-
-
-public class ModelIntegrationUtil {
-
- public static final String DIAGRAM_FILE_EXTENSION = "xmi"; //$NON-NLS-1$
- public static final String JPA_DIAGRAM_TYPE = "JPA Diagram"; //$NON-NLS-1$
- public static final String DEFAULT_RES_FOLDER = "src"; //$NON-NLS-1$
- private static WeakHashMap<Diagram, WeakReference<JpaProject>> diagramsToProjects = new WeakHashMap<Diagram, WeakReference<JpaProject>>();
- private static WeakHashMap<Diagram, WeakReference<JPAEditorDiagramTypeProvider>> diagramsToProviders = new WeakHashMap<Diagram, WeakReference<JPAEditorDiagramTypeProvider>>();
- private static HashMap<Diagram, Resource> diagramsToResources = new HashMap<Diagram, Resource>();
-
-
- public static IPath createDiagramPath(PersistenceUnit persistenceUnit) throws CoreException {
- IProject project = persistenceUnit.getJpaProject().getProject();
- IPath projectPath = project.getFullPath();
- String diagramName = persistenceUnit.getName();
- IPath path = getDiagramsFolderPath(project).append(diagramName).addFileExtension(DIAGRAM_FILE_EXTENSION);
- path = projectPath.append(path);
- return path;
- }
-
- public static Diagram createDiagram(PersistenceUnit persistenceUnit,
- int grid,
- boolean snap) throws CoreException {
- IPath path = createDiagramPath(persistenceUnit);
- Diagram d = createDiagram(persistenceUnit.getJpaProject().getProject(), path, persistenceUnit.getName(), grid, snap);
- return d;
- }
-
- public static TransactionalEditingDomain getTransactionalEditingDomain(Diagram diagram) {
- TransactionalEditingDomain editingDomain = TransactionUtil.getEditingDomain(diagram);
- return editingDomain;
- }
-
- public static ResourceSet getResourceSet(Diagram diagram) {
- WeakReference<JpaProject> ref = diagramsToProjects.get(diagram);
- TransactionalEditingDomain defaultTransEditDomain = (TransactionalEditingDomain)ref.get().getProject().getAdapter(TransactionalEditingDomain.class);
- ResourceSet resourceSet = defaultTransEditDomain.getResourceSet();
- return resourceSet;
- }
-
- private static class Wrp {
- private Object o;
- public Object getObject() {
- return o;
- }
-
- public void setObject(Object o) {
- this.o = o;
- }
- }
-
- public static Diagram createDiagram(IProject project,
- IPath diagramFileName,
- String diagramName,
- int grid,
- boolean snap) {
-
- TransactionalEditingDomain defaultTransEditDomain = DiagramEditorFactory.createResourceSetAndEditingDomain();
- ResourceSet resourceSet = defaultTransEditDomain.getResourceSet();
- IFile diagramFile = project.getFile(diagramFileName.removeFirstSegments(1));
- IPath diagramFilePath = diagramFile.getFullPath();
-
- String pathName = diagramFilePath.toString();
- URI resourceURI = URI.createPlatformResourceURI(pathName, true);
- final Resource resource = resourceSet.createResource(resourceURI);
- //resource.setTrackingModification(false);
- //(ResourceSetManager.getProjectForResourceSet(resourceSet));
- defaultTransEditDomain.getCommandStack().execute(new RecordingCommand(defaultTransEditDomain) {
- @Override
- protected void doExecute() {
- try {
- resource.load(null);
- } catch (IOException e) {
- System.out.println("The diagram file does not exist. It will be created"); //$NON-NLS-1$
- System.out.println(e.getLocalizedMessage());
- }
- }
- });
-
- if (!resource.isLoaded())
- return createNewDiagram(defaultTransEditDomain, resourceSet, resource, diagramName, grid, snap);
-
- EList<EObject> objs = resource.getContents();
- if (objs == null)
- return createNewDiagram(defaultTransEditDomain, resourceSet, resource, diagramName, grid, snap);
- Iterator<EObject> it = objs.iterator();
- while (it.hasNext()) {
- EObject obj = it.next();
- if ((obj == null) && !Diagram.class.isInstance(obj))
- continue;
- Diagram d = (Diagram)obj;
- diagramsToResources.put(d, resource);
- defaultTransEditDomain.getCommandStack().flush();
- return d;
- }
- return createNewDiagram(defaultTransEditDomain, resourceSet, resource, diagramName, grid, snap);
- }
-
- private static Diagram createNewDiagram(TransactionalEditingDomain editingDomain,
- ResourceSet resourceSet,
- final Resource resource,
- final String diagramName,
- final int grid,
- final boolean snap) {
- final Wrp wrp = new Wrp();
- editingDomain.getCommandStack().execute(new RecordingCommand(editingDomain) {
- @Override
- protected void doExecute() {
- Diagram diagram = Graphiti.getPeService().createDiagram(JPA_DIAGRAM_TYPE, diagramName, grid, snap);
- wrp.setObject(diagram);
- resource.getContents().add(diagram);
- try {
- resource.save(Collections.EMPTY_MAP);
- } catch (IOException e) {
- System.err.println("Cannot create new diagram"); //$NON-NLS-1$
- e.printStackTrace();
- }
- }
- });
- editingDomain.getCommandStack().flush();
- mapDiagramToProject((Diagram)wrp.getObject(), resource);
- return (Diagram)wrp.getObject();
- }
-
- public static IPath getResourceFolderPath(IProject project) {
- return getEMFResourceFolderPath(project);
- }
-
- public static IPath getEMFResourceFolderPath(IProject project) {
- return project.getProjectRelativePath().append(DEFAULT_RES_FOLDER);
- }
-
- public static IPath getDiagramsFolderPath(IProject project) {
- Properties props = JPADiagramPropertyPage.loadProperties(project);
- return new Path(JPADiagramPropertyPage.getDefaultFolder(project, props));
- }
-
- public static void mapDiagramToProject(Diagram diagram, JpaProject project) {
- diagramsToProjects.put(diagram, new WeakReference<JpaProject>(project));
- }
-
- public static void mapDiagramToProject(Diagram diagram, Resource resource) {
- diagramsToResources.put(diagram, resource);
- }
-
- public static JpaProject removeDiagramProjectMapping(Diagram diagram) {
- WeakReference<JpaProject> ref = diagramsToProjects.remove(diagram);
- diagramsToProviders.remove(diagram);
- if (ref == null)
- return null;
- return ref.get();
- }
-
- public static Resource removeDiagramResourceMapping(Diagram diagram) {
- return diagramsToResources.remove(diagram);
- }
-
- public static JpaProject getProjectByDiagram(Diagram diagram) {
- WeakReference<JpaProject> ref = diagramsToProjects.get(diagram);
- if (ref == null)
- return null;
- return ref.get();
- }
-
- public static Resource getResourceByDiagram(Diagram diagram) {
- return diagramsToResources.get(diagram);
- }
-
- public static JPAEditorDiagramTypeProvider getProviderByDiagram(Diagram diagram) {
- WeakReference<JPAEditorDiagramTypeProvider> ref = diagramsToProviders.get(diagram);
- if (ref == null)
- return null;
- return ref.get();
- }
-
- public static void mapDiagramToProvider(Diagram diagram, JPAEditorDiagramTypeProvider provider) {
- diagramsToProviders.put(diagram, new WeakReference<JPAEditorDiagramTypeProvider>(provider));
- }
-
-
-
-} \ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/modelintegration/util/ModelIntegrationUtilImpl.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/modelintegration/util/ModelIntegrationUtilImpl.java
deleted file mode 100644
index 2210b8cde3..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/modelintegration/util/ModelIntegrationUtilImpl.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.util;
-
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-import org.eclipse.jpt.jpa.core.JpaProject;
-
-public class ModelIntegrationUtilImpl implements IModelIntegrationUtil {
-
- public JpaProject getProjectByDiagram(Diagram diagram) {
- return ModelIntegrationUtil.getProjectByDiagram(diagram);
- }
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/preferences/JPAEditorPreferenceInitializer.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/preferences/JPAEditorPreferenceInitializer.java
deleted file mode 100644
index 6c2d88dd7e..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/preferences/JPAEditorPreferenceInitializer.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.preferences;
-
-import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.JPADiagramEditorPlugin;
-
-public class JPAEditorPreferenceInitializer extends
- AbstractPreferenceInitializer {
-
- public static final String PROPERTY_DIAGRAM_FOLDER = "org.eclipse.jpt.jpadiagrameditor.ui.diagramfolder"; //$NON-NLS-1$
- public static final String PROPERTY_ENTITY_PACKAGE = "org.eclipse.jpt.jpadiagrameditor.ui.entity.defaultPackage"; //$NON-NLS-1$
- public static final String PROPERTY_TABLE_NAME_PREFIX = "org.eclipse.jpt.jpadiagrameditor.ui.entity.defaultTableNamePrefix"; //$NON-NLS-1$
- public static final String PROPERTY_DIRECT_EDIT_CLASS_NAME = "org.eclipse.jpt.jpadiagrameditor.ui.entity.defaultDirectEditClassName"; //$NON-NLS-1$
- public static final String PROPERTY_ENTITY_ACCESS_TYPE = "org.eclipse.jpt.jpadiagrameditor.ui.entity.defaultEntityAccessType"; //$NON-NLS-1$
- public static final String PROPERTY_DEFAULT_COLLECTION_TYPE = "org.eclipse.jpt.jpadiagrameditor.ui.entity.defaultCollectionType"; //$NON-NLS-1$
- public static final String PROPERTY_ONE_TO_MANY_OLD_STYLE = "org.eclipse.jpt.jpadiagrameditor.ui.entity.defaultOneToManyOldStyle"; //$NON-NLS-1$
-
-
-
-
- public static final String PROPERTY_VAL_DIAGRAM_FOLDER = "diagrams"; //$NON-NLS-1$
- public static final String PROPERTY_VAL_ENTITY_PACKAGE = "org.persistence"; //$NON-NLS-1$
- public static final String PROPERTY_VAL_PREFIX = "T_"; //$NON-NLS-1$
- public static final String PROPERTY_VAL_ACCESS_FIELD_BASED = "field"; //$NON-NLS-1$
- public static final String PROPERTY_VAL_ACCESS_PROPERTY_BASED = "property"; //$NON-NLS-1$
-
- public static final String PROPERTY_VAL_COLLECTION_TYPE = "collection"; //$NON-NLS-1$
- public static final String PROPERTY_VAL_LIST_TYPE = "list"; //$NON-NLS-1$
- public static final String PROPERTY_VAL_SET_TYPE = "set"; //$NON-NLS-1$
- public static final String PROPERTY_VAL_MAP_TYPE = "map"; //$NON-NLS-1$
-
-
-
- private IPreferenceStore store;
-
- public JPAEditorPreferenceInitializer() {
- store = JPADiagramEditorPlugin.getDefault()
- .getPreferenceStore();
- }
-
- public JPAEditorPreferenceInitializer(IPreferenceStore store) {
- this.store = store;
- }
-
- /*
- * (non-Javadoc)
- *
- * @seeorg.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#
- * initializeDefaultPreferences()
- */
- @Override
- public void initializeDefaultPreferences() {
- store.setDefault(PROPERTY_DIAGRAM_FOLDER, PROPERTY_VAL_DIAGRAM_FOLDER);
- store.setDefault(PROPERTY_ENTITY_PACKAGE, PROPERTY_VAL_ENTITY_PACKAGE);
- store.setDefault(PROPERTY_TABLE_NAME_PREFIX, PROPERTY_VAL_PREFIX);
- store.setDefault(PROPERTY_DIRECT_EDIT_CLASS_NAME, true);
- store.setDefault(PROPERTY_ENTITY_ACCESS_TYPE, PROPERTY_VAL_ACCESS_FIELD_BASED);
- store.setDefault(PROPERTY_DEFAULT_COLLECTION_TYPE, PROPERTY_VAL_COLLECTION_TYPE);
- store.setDefault(PROPERTY_ONE_TO_MANY_OLD_STYLE, false);
- }
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/preferences/JPAEditorPreferencesPage.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/preferences/JPAEditorPreferencesPage.java
deleted file mode 100644
index 2753c5e9d6..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/preferences/JPAEditorPreferencesPage.java
+++ /dev/null
@@ -1,313 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.preferences;
-
-import java.text.MessageFormat;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jdt.core.JavaConventions;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jface.dialogs.IMessageProvider;
-import org.eclipse.jface.preference.BooleanFieldEditor;
-import org.eclipse.jface.preference.FieldEditorPreferencePage;
-import org.eclipse.jface.preference.RadioGroupFieldEditor;
-import org.eclipse.jface.preference.StringFieldEditor;
-import org.eclipse.jpt.common.utility.internal.StringTools;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.JPADiagramEditor;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.JPADiagramEditorPlugin;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-
-@SuppressWarnings("restriction")
-public class JPAEditorPreferencesPage extends FieldEditorPreferencePage
- implements IWorkbenchPreferencePage {
-
- private static final String FICTIVE_PROJECT_NAME = "PROJECT NAME"; //$NON-NLS-1$
- private static final String COLLECTIION_TYPE = "java.util.Collection"; //$NON-NLS-1$
- private static final String LIST_TYPE = "java.util.List"; //$NON-NLS-1$
- private static final String SET_TYPE = "java.util.Set"; //$NON-NLS-1$
- private static final String MAP_TYPE = "java.util.Map"; //$NON-NLS-1$
-
- private StringFieldEditor fDefaultDiagramFolderField;
- private StringFieldEditor fDefaultEntityPackageField;
- private StringFieldEditor fDefaultTableNamePrefix;
- private JPABooleanFieldEditor directEditAffectsClass;
- private RadioGroupFieldEditor entityAccessTypeChooser;
- private RadioGroupFieldEditor defaultCollectionTypeChooser;
- private JPABooleanFieldEditor oneToManyOldStyle;
-
- public JPAEditorPreferencesPage() {
- super(GRID);
- setPreferenceStore(JPADiagramEditorPlugin.getDefault()
- .getPreferenceStore());
- setDescription(JPAEditorMessages.JPAEditorPreferencesPage_pageDescription);
- }
-
- public void init(IWorkbench workbench) {
- }
-
- @Override
- protected void createFieldEditors() {
- Composite parent = getFieldEditorParent();
- createFolderField(parent);
- createEntityPackageField(parent);
- createTableNameField(parent);
-
- directEditAffectsClass = new JPABooleanFieldEditor("", //$NON-NLS-1$
- JPAEditorMessages.JPAEditorPreferencesPage_directEditAffectsClass,
- BooleanFieldEditor.DEFAULT, parent);
- directEditAffectsClass.setPreferenceName(JPAEditorPreferenceInitializer.PROPERTY_DIRECT_EDIT_CLASS_NAME);
- directEditAffectsClass.getCheckBox(parent).setToolTipText(JPAEditorMessages.JPAEditorPreferencesPage_directEditAffectsClassTooltip);
- addField(directEditAffectsClass);
- entityAccessTypeChooser = new RadioGroupFieldEditor(
- JPAEditorPreferenceInitializer.PROPERTY_ENTITY_ACCESS_TYPE,
- JPAEditorMessages.JPAEditorPreferencesPage_entityAccessTypeButtonGroupLabel,
- 1,
- new String[][] {
- {JPAEditorMessages.JPAEditorPreferencesPage_entityFieldBasedAccessButtonLabel, JPAEditorPreferenceInitializer.PROPERTY_VAL_ACCESS_FIELD_BASED},
- {JPAEditorMessages.JPAEditorPreferencesPage_entityPropertyBasedAccessButtonLabel, JPAEditorPreferenceInitializer.PROPERTY_VAL_ACCESS_PROPERTY_BASED}},
- parent, true);
- entityAccessTypeChooser.setPreferenceStore(getPreferenceStore());
- entityAccessTypeChooser.getRadioBoxControl(parent).setToolTipText(JPAEditorMessages.JPAEditorPreferencesPage_entityAccessTypeButtonGroupTooltip);
- addField(entityAccessTypeChooser);
-
-
-
- defaultCollectionTypeChooser = new RadioGroupFieldEditor(
- JPAEditorPreferenceInitializer.PROPERTY_DEFAULT_COLLECTION_TYPE,
- JPAEditorMessages.JPAEditorPreferencesPage_DefaultCollectionTypeSectionTittle,
- 1,
- new String[][] {
- {COLLECTIION_TYPE, JPAEditorPreferenceInitializer.PROPERTY_VAL_COLLECTION_TYPE},
- {LIST_TYPE, JPAEditorPreferenceInitializer.PROPERTY_VAL_LIST_TYPE},
- {SET_TYPE, JPAEditorPreferenceInitializer.PROPERTY_VAL_SET_TYPE},
- {MAP_TYPE, JPAEditorPreferenceInitializer.PROPERTY_VAL_MAP_TYPE}},
- parent, true);
- defaultCollectionTypeChooser.setPreferenceStore(getPreferenceStore());
- defaultCollectionTypeChooser.getRadioBoxControl(parent).setToolTipText(JPAEditorMessages.JPAEditorPreferencesPage_DefaultCollectionTypeSectionDescription);
- addField(defaultCollectionTypeChooser);
-
- oneToManyOldStyle = new JPABooleanFieldEditor("", //$NON-NLS-1$
- JPAEditorMessages.JPAEditorPreferencesPage_oneToManyOldStyle,
- BooleanFieldEditor.DEFAULT, parent);
- oneToManyOldStyle.setPreferenceName(JPAEditorPreferenceInitializer.PROPERTY_ONE_TO_MANY_OLD_STYLE);
- oneToManyOldStyle.getCheckBox(parent).setToolTipText(JPAEditorMessages.JPAEditorPreferencesPage_oneToManyOldStyleTooltip);
- addField(oneToManyOldStyle);
- }
-
- protected void createFolderField(Composite parent) {
- fDefaultDiagramFolderField = new CustomStringFieldEditor(
- JPAEditorPreferenceInitializer.PROPERTY_DIAGRAM_FOLDER,
- JPAEditorMessages.JPAEditorPreferencesPage_defaultFolderControlLabel, getFieldEditorParent()) {
- protected IStatus validateValue() {
- return validateDefaultFolder(IPath.SEPARATOR + FICTIVE_PROJECT_NAME + IPath.SEPARATOR
- + fDefaultDiagramFolderField.getStringValue().trim(), FICTIVE_PROJECT_NAME);
- }
- };
-
- fDefaultDiagramFolderField.getTextControl(parent).addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- validatePage();
- }
- });
-
- fDefaultDiagramFolderField.getLabelControl(parent).
- setToolTipText(JPAEditorMessages.JPAEditorPreferencesPage_defaultFolderControlTooltip);
- addField(fDefaultDiagramFolderField);
-
-
- fDefaultEntityPackageField = new CustomStringFieldEditor(
- JPAEditorPreferenceInitializer.PROPERTY_ENTITY_PACKAGE,
- JPAEditorMessages.JPAEditorPreferencesPage_DefaultPackageToUse, getFieldEditorParent()) {
- protected IStatus validateValue() {
- return validateDefaultPackage(fDefaultEntityPackageField.getStringValue().trim());
- }
- };
- }
-
- protected void createEntityPackageField(Composite parent) {
- fDefaultEntityPackageField.getTextControl(parent).addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- validatePage();
- }
- });
-
- fDefaultEntityPackageField.getLabelControl(parent).
- setToolTipText(JPAEditorMessages.JPAEditorPreferencesPage_DefaultPackageMsg);
- addField(fDefaultEntityPackageField);
- }
-
- protected void createTableNameField(Composite parent) {
- fDefaultTableNamePrefix = new CustomStringFieldEditor(
- JPAEditorPreferenceInitializer.PROPERTY_TABLE_NAME_PREFIX,
- JPAEditorMessages.JPAEditorPreferencesPage_DefaultTableNameLabel, getFieldEditorParent()) {
- protected IStatus validateValue() {
- return validateTableNamePrefix(fDefaultTableNamePrefix.getStringValue().trim());
- }
- };
- fDefaultTableNamePrefix.getTextControl(parent).addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- validatePage();
- }
- });
-
- fDefaultTableNamePrefix.getLabelControl(parent).
- setToolTipText(JPAEditorMessages.JPAEditorPreferencesPage_DefaultTableNamePrefixMsg);
- addField(fDefaultTableNamePrefix);
-
-
-
- fDefaultTableNamePrefix.getTextControl(parent).
- setToolTipText(JPAEditorMessages.JPAEditorPreferencesPage_DefaultTableNamePrefixMsg);
- }
-
-
-
-
- public static IStatus validateDefaultFolder(String defaultFolder, String projectName) {
- defaultFolder = defaultFolder.trim();
- if (StringTools.stringIsEmpty(defaultFolder))
- return new Status(IStatus.ERROR,
- JPADiagramEditorPlugin.PLUGIN_ID,
- JPAEditorMessages.JPAEditorPreferencesPage_emptyFolder);
- defaultFolder = IPath.SEPARATOR + projectName + IPath.SEPARATOR + defaultFolder;
- if (!defaultFolder.startsWith(IPath.SEPARATOR + projectName + IPath.SEPARATOR))
- return new Status(IStatus.ERROR,
- JPADiagramEditorPlugin.PLUGIN_ID,
- MessageFormat.format(JPAEditorMessages.JPAEditorPreferencesPage_invalidFolder,
- IPath.SEPARATOR + projectName + IPath.SEPARATOR));
- IStatus res = ResourcesPlugin.getWorkspace().validatePath(defaultFolder, IResource.FOLDER);
- return res;
- }
-
- public static IStatus validateDefaultPackage(String defaultPackage) {
- IStatus validateDefaultPackageStatus = JavaConventions
- .validatePackageName(defaultPackage, JavaCore.VERSION_1_5,
- JavaCore.VERSION_1_5);
- if (validateDefaultPackageStatus.getSeverity() != IStatus.OK)
- return validateDefaultPackageStatus;
- return new Status(IStatus.OK, JPADiagramEditor.ID, null);
- }
-
- public static IStatus validateTableNamePrefix(String tableNamePrefix) {
- String s = tableNamePrefix;
- if (StringTools.stringIsEmpty(s))
- return new Status(IStatus.OK, JPADiagramEditor.ID, null);
- if (Character.isDigit(s.charAt(0))) {
- String message = MessageFormat.format(JPAEditorMessages.JPAEditorPreferencesPage_invalidTableNamePrefix,
- tableNamePrefix);
- return new Status(IStatus.ERROR, JPADiagramEditor.ID, message);
- }
- for (int i = 0; i < s.length(); i++) {
- char ch = s.charAt(i);
- if (!Character.isLetterOrDigit(ch) && (ch != '_')) {
- String message = MessageFormat.format(JPAEditorMessages.JPAEditorPreferencesPage_invalidTableNamePrefix,
- tableNamePrefix);
- return new Status(IStatus.ERROR, JPADiagramEditor.ID, message);
- }
- }
- return new Status(IStatus.OK, JPADiagramEditor.ID, null);
- }
-
- public abstract class CustomStringFieldEditor extends StringFieldEditor {
- public CustomStringFieldEditor(String propertyName,
- String labelName,
- Composite fieldEditorParent) {
-
- super(propertyName, labelName, fieldEditorParent);
- }
-
- String msg;
- String prefixMsg;
-
- protected boolean checkState() {
- IStatus stat = validateValue();
- if (stat.getSeverity() == IStatus.ERROR) {
- return false;
- }
- if (stat.getSeverity() == IStatus.WARNING) {
- return true;
- }
- return true;
- }
-
- protected boolean doCheckState() {
- return true;
- }
-
- abstract protected IStatus validateValue();
- }
-
-
- public class JPABooleanFieldEditor extends BooleanFieldEditor {
- public JPABooleanFieldEditor(String name, String labelText, int style, Composite parent) {
- super(name, labelText, style, parent);
- }
-
- public Button getCheckBox(Composite parent) {
- return getChangeControl(parent);
- }
- }
-
- synchronized protected void validatePage() {
-
- IStatus statFolder = JPAEditorPreferencesPage.
- validateDefaultFolder(fDefaultDiagramFolderField.getTextControl(getFieldEditorParent()).getText().trim(),
- FICTIVE_PROJECT_NAME);
- IStatus statPack = JPAEditorPreferencesPage.
- validateDefaultPackage(fDefaultEntityPackageField.getTextControl(getFieldEditorParent()).getText().trim());
-
- IStatus statPref = JPAEditorPreferencesPage.
- validateTableNamePrefix(fDefaultTableNamePrefix.getTextControl(getFieldEditorParent()).getText().trim());
-
- if (statFolder.getSeverity() == IStatus.ERROR) {
- setErrorMessage(statFolder.getMessage());
- setValid(false);
- return;
- }
- if (statPack.getSeverity() == IStatus.ERROR) {
- setErrorMessage(statPack.getMessage());
- setValid(false);
- return;
- }
- if (statPref.getSeverity() == IStatus.ERROR) {
- setErrorMessage(statPref.getMessage());
- setValid(false);
- return;
- }
- setErrorMessage(null);
- setValid(true);
- if (statPack.getSeverity() == IStatus.WARNING) {
- setMessage(statPack.getMessage(), IMessageProvider.WARNING);
- return;
- }
- if (statPref.getSeverity() == IStatus.WARNING) {
- setMessage(statPref.getMessage(), IMessageProvider.WARNING);
- return;
- }
- setMessage(null, IMessageProvider.NONE);
- }
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/propertypage/JPADiagramPropertyPage.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/propertypage/JPADiagramPropertyPage.java
deleted file mode 100644
index 56f0bee90a..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/propertypage/JPADiagramPropertyPage.java
+++ /dev/null
@@ -1,631 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.propertypage;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.Properties;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.QualifiedName;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IMessageProvider;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.JPADiagramEditorPlugin;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.preferences.JPAEditorPreferenceInitializer;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.preferences.JPAEditorPreferencesPage;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.dialogs.PropertyPage;
-
-public class JPADiagramPropertyPage extends PropertyPage {
-
- public static final String PROJECT_SETTINGS_PATH = "/.settings/org.eclipse.jpt.jpadiagrameditor.ui"; //$NON-NLS-1$;
- protected IProject project = null;
- protected boolean isJPA10Project = false; //$NON-NLS-1$;
-
- private Properties editorProps;
-
- private Text txtDefaultFolderField;
- private Text txtDefaultEntityPackageField;
- private Text txtDefaultTableNamePrefix;
- private Button checkDirectEditAffectsClass;
- private Group groupAccessType;
- private Group groupCollectionType;
- private Button btnFieldBasedAccess;
- private Button btnPropertyBasedAccess;
- private Button btnCollectionType;
- private Button btnListType;
- private Button btnSetType;
- private Button btnMapType;
- private Button checkOneToManyOldStyle;
-
- private boolean propsModified = false;
-
- static private final String QUALIFIER = "org.eclipse.jpt.jpadiagrameditor.ui"; //$NON-NLS-1$
- static public final QualifiedName PROP_DEFAULT_DIAGRAM_FOLDER = new QualifiedName(QUALIFIER, "diagramFolder"); //$NON-NLS-1$;
- static public final QualifiedName PROP_DEFAULT_PACKAGE = new QualifiedName(QUALIFIER, "defaultPackage"); //$NON-NLS-1$
- static public final QualifiedName PROP_DEFAULT_TABLE_NAME_PREFIX = new QualifiedName(QUALIFIER, "defaultTableNamePrefix"); //$NON-NLS-1$;
- static public final QualifiedName PROP_DIRECT_EDIT_AFFECTS_CLASS = new QualifiedName(QUALIFIER, "directEditAffectsClass"); //$NON-NLS-1$;
- static public final QualifiedName PROP_ACCESS_TYPE = new QualifiedName(QUALIFIER, "accessType"); //$NON-NLS-1$;
- static public final QualifiedName PROP_COLLECTION_TYPE = new QualifiedName(QUALIFIER, "collectionType"); //$NON-NLS-1$;
- static public final QualifiedName PROP_ONE_TO_MANY_OLD_STYLE = new QualifiedName(QUALIFIER, "oneToManyOldStyle"); //$NON-NLS-1$;
-
-
- public static final String COLLECTION_TYPE = "java.util.Collection"; //$NON-NLS-1$
- public static final String LIST_TYPE = "java.util.List"; //$NON-NLS-1$
- public static final String SET_TYPE = "java.util.Set"; //$NON-NLS-1$
- public static final String MAP_TYPE = "java.util.Map"; //$NON-NLS-1$
-
-
- private IPreferenceStore store = JPADiagramEditorPlugin.getDefault().getPreferenceStore();
-
- @Override
- protected Control createContents(Composite parent) {
- final Composite composite = createCompositeContainer(parent);
- project = (IProject)getElement().getAdapter(IProject.class);
- isJPA10Project = JPAEditorUtil.checkJPAFacetVersion(project, "1.0"); //$NON-NLS-1$;
- loadProperties();
- createDefaultFolderControl(composite);
- createDefaultPackageControl(composite);
- createDefaultTableNamePrefixControl(composite);
- createDirectEditAffectsClassControl(composite);
- createAccessTypeControl(composite);
- createDefaultCollectionTypeControl(composite);
- if (!isJPA10Project)
- createOneToManyOldStyleControl(composite);
- Dialog.applyDialogFont(composite);
- validatePage();
- return composite;
- }
-
- private Composite createCompositeContainer(Composite parent) {
- final Composite composite= new Composite(parent, SWT.NONE);
- composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
- GridLayout gl = new GridLayout();
- gl.numColumns = 2;
- composite.setLayout(gl);
- return composite;
- }
-
- private void createDefaultFolderControl(Composite composite) {
- Label lblDefaultFolder = new Label(composite, SWT.FILL);
- lblDefaultFolder.setText(JPAEditorMessages.JPAEditorPreferencesPage_defaultFolderControlLabel);
- lblDefaultFolder.setToolTipText(JPAEditorMessages.JPAEditorPreferencesPage_defaultFolderControlTooltip);
- GridData gd = new GridData();
- lblDefaultFolder.setLayoutData(gd);
- txtDefaultFolderField = new Text(composite, SWT.FLAT | SWT.BORDER | SWT.FILL);
- lblDefaultFolder.setToolTipText(JPAEditorMessages.JPAEditorPreferencesPage_defaultFolderControlTooltip);
- gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
- gd.grabExcessHorizontalSpace = true;
- txtDefaultFolderField.setLayoutData(gd);
-
- String defaultFolder = editorProps.getProperty(PROP_DEFAULT_DIAGRAM_FOLDER.getLocalName());
- txtDefaultFolderField.setText(defaultFolder);
- txtDefaultFolderField.setToolTipText(JPAEditorMessages.JPAEditorPreferencesPage_defaultFolderControlTooltip);
- txtDefaultFolderField.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- validatePage();
- propsModified = true;
- }
- });
- }
-
-
- private void createDefaultPackageControl(Composite composite) {
- Label lblDefaultPackage = new Label(composite, SWT.FILL);
- lblDefaultPackage.setText(JPAEditorMessages.JPAEditorPreferencesPage_DefaultPackageToUse);
- lblDefaultPackage.setToolTipText(JPAEditorMessages.JPAEditorPreferencesPage_DefaultPackageMsg);
- GridData gd = new GridData();
- lblDefaultPackage.setLayoutData(gd);
- txtDefaultEntityPackageField = new Text(composite, SWT.FLAT | SWT.BORDER | SWT.FILL);
- lblDefaultPackage.setToolTipText(JPAEditorMessages.JPAEditorPreferencesPage_DefaultPackageMsg);
- gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
- gd.grabExcessHorizontalSpace = true;
- txtDefaultEntityPackageField.setLayoutData(gd);
-
- String defaultPackageName = editorProps.getProperty(PROP_DEFAULT_PACKAGE.getLocalName());
- txtDefaultEntityPackageField.setText(defaultPackageName);
- txtDefaultEntityPackageField.setToolTipText(JPAEditorMessages.JPAEditorPreferencesPage_DefaultPackageMsg);
- txtDefaultEntityPackageField.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- validatePage();
- propsModified = true;
- }
- });
- }
-
- private void createDefaultTableNamePrefixControl(Composite composite) {
- Label lblDefaultTableNamePrfix = new Label(composite, SWT.FILL);
- lblDefaultTableNamePrfix.setText(JPAEditorMessages.JPAEditorPreferencesPage_DefaultTableNameLabel);
- lblDefaultTableNamePrfix.setToolTipText(JPAEditorMessages.JPAEditorPreferencesPage_DefaultTableNamePrefixMsg);
- GridData gd = new GridData();
- lblDefaultTableNamePrfix.setLayoutData(gd);
- txtDefaultTableNamePrefix = new Text(composite, SWT.FLAT | SWT.BORDER);
- lblDefaultTableNamePrfix.setToolTipText(JPAEditorMessages.JPAEditorPreferencesPage_DefaultTableNamePrefixMsg);
- gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
- gd.grabExcessHorizontalSpace = true;
- txtDefaultTableNamePrefix.setLayoutData(gd);
-
- String defaultTableNamePrefix = editorProps.getProperty(PROP_DEFAULT_TABLE_NAME_PREFIX.getLocalName());
- txtDefaultTableNamePrefix.setText(defaultTableNamePrefix);
- txtDefaultTableNamePrefix.setToolTipText(JPAEditorMessages.JPAEditorPreferencesPage_DefaultTableNamePrefixMsg);
- txtDefaultTableNamePrefix.addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- validatePage();
- propsModified = true;
- }
- });
- }
-
- private void createDirectEditAffectsClassControl(Composite composite) {
- checkDirectEditAffectsClass = new Button(composite, SWT.FLAT | SWT.CHECK);
- checkDirectEditAffectsClass.setText(JPAEditorMessages.JPAEditorPreferencesPage_directEditAffectsClass);
- checkDirectEditAffectsClass.setToolTipText(JPAEditorMessages.JPAEditorPreferencesPage_directEditAffectsClassTooltip);
- checkDirectEditAffectsClass.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false, 2, 1));
-
- boolean defaultDirectEditAffectsClass = Boolean.parseBoolean(editorProps.getProperty(PROP_DIRECT_EDIT_AFFECTS_CLASS.getLocalName()));
- checkDirectEditAffectsClass.setSelection(defaultDirectEditAffectsClass);
- checkDirectEditAffectsClass.addSelectionListener(new SelectionListener() {
- public void widgetSelected(SelectionEvent e) {
- propsModified = true;
- }
- public void widgetDefaultSelected(SelectionEvent e) {}
- });
- }
-
- private void createOneToManyOldStyleControl(Composite composite) {
- checkOneToManyOldStyle = new Button(composite, SWT.FLAT | SWT.CHECK);
- checkOneToManyOldStyle.setText(JPAEditorMessages.JPAEditorPropertyPage_oneToManyOldStyle);
- checkOneToManyOldStyle.setToolTipText(JPAEditorMessages.JPAEditorPropertyPage_oneToManyOldStyleTooltip);
- checkOneToManyOldStyle.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false, 2, 1));
-
- boolean defaultDirectEditAffectsClass = Boolean.parseBoolean(editorProps.getProperty(PROP_ONE_TO_MANY_OLD_STYLE.getLocalName()));
- checkOneToManyOldStyle.setSelection(defaultDirectEditAffectsClass);
- checkOneToManyOldStyle.addSelectionListener(new SelectionListener() {
- public void widgetSelected(SelectionEvent e) {
- propsModified = true;
- }
- public void widgetDefaultSelected(SelectionEvent e) {}
- });
- }
-
-
-
- private void createDefaultCollectionTypeControl(Composite composite) {
- groupCollectionType = new Group(composite, 0);
- groupCollectionType.setText(JPAEditorMessages.JPAEditorPreferencesPage_DefaultCollectionTypeSectionTittle);
- groupCollectionType.setToolTipText(JPAEditorMessages.JPAEditorPreferencesPage_DefaultCollectionTypeSectionDescription);
- GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
- gd.grabExcessHorizontalSpace = true;
- gd.horizontalSpan = 2;
- groupCollectionType.setLayoutData(gd);
-
- GridLayout gl = new GridLayout();
- gl.numColumns = 1;
- groupCollectionType.setLayout(gl);
-
- String defaultCollectionType = editorProps.getProperty(PROP_COLLECTION_TYPE.getLocalName());
-
- createCollectionTypeButton(composite, gd, defaultCollectionType);
- createListTypeButton(composite, gd, defaultCollectionType);
- createSetTypeButton(composite, gd, defaultCollectionType);
- createMapTypeButton(composite, gd, defaultCollectionType);
-
- }
-
- private void createAccessTypeControl(Composite composite) {
- groupAccessType = new Group(composite, 0);
- groupAccessType.setText(JPAEditorMessages.JPAEditorPreferencesPage_entityAccessTypeButtonGroupLabel);
- groupAccessType.setToolTipText(JPAEditorMessages.JPAEditorPreferencesPage_entityAccessTypeButtonGroupTooltip);
- GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
- gd.grabExcessHorizontalSpace = true;
- gd.horizontalSpan = 2;
- groupAccessType.setLayoutData(gd);
-
- GridLayout gl = new GridLayout();
- gl.numColumns = 1;
- groupAccessType.setLayout(gl);
-
- String defaultAccessType = editorProps.getProperty(PROP_ACCESS_TYPE.getLocalName());
-
- createFieldAccessButton(composite, gd, defaultAccessType);
- createPropertyAccessButton(composite, gd, defaultAccessType);
- }
-
- private void createCollectionTypeButton(Composite composite, GridData gd, String defaultCollectionType) {
- btnCollectionType = new Button(groupCollectionType, SWT.RADIO | SWT.FLAT);
- btnCollectionType.setText(COLLECTION_TYPE);
- gd = new GridData();
- btnCollectionType.setLayoutData(gd);
- btnCollectionType.setSelection(defaultCollectionType.equals(JPAEditorPreferenceInitializer.PROPERTY_VAL_COLLECTION_TYPE));
- btnCollectionType.addSelectionListener(new SelectionListener() {
- public void widgetSelected(SelectionEvent e) {
- propsModified = true;
- }
- public void widgetDefaultSelected(SelectionEvent e) {}
- });
- }
-
- private void createListTypeButton(Composite composite, GridData gd, String defaultCollectionType) {
- btnListType = new Button(groupCollectionType, SWT.RADIO | SWT.FLAT);
- btnListType.setText(LIST_TYPE);
- gd = new GridData();
- btnListType.setLayoutData(gd);
- btnListType.setSelection(defaultCollectionType.equals(JPAEditorPreferenceInitializer.PROPERTY_VAL_LIST_TYPE));
- btnListType.addSelectionListener(new SelectionListener() {
- public void widgetSelected(SelectionEvent e) {
- propsModified = true;
- }
- public void widgetDefaultSelected(SelectionEvent e) {}
- });
- }
-
- private void createSetTypeButton(Composite composite, GridData gd, String defaultCollectionType) {
- btnSetType = new Button(groupCollectionType, SWT.RADIO | SWT.FLAT);
- btnSetType.setText(SET_TYPE);
- gd = new GridData();
- btnSetType.setLayoutData(gd);
- btnSetType.setSelection(defaultCollectionType.equals(JPAEditorPreferenceInitializer.PROPERTY_VAL_SET_TYPE));
- btnSetType.addSelectionListener(new SelectionListener() {
- public void widgetSelected(SelectionEvent e) {
- propsModified = true;
- }
- public void widgetDefaultSelected(SelectionEvent e) {}
- });
- }
-
- private void createMapTypeButton(Composite composite, GridData gd, String defaultCollectionType) {
- btnMapType = new Button(groupCollectionType, SWT.RADIO | SWT.FLAT);
- btnMapType.setText(MAP_TYPE);
- gd = new GridData();
- btnMapType.setLayoutData(gd);
- btnMapType.setSelection(defaultCollectionType.equals(JPAEditorPreferenceInitializer.PROPERTY_VAL_MAP_TYPE));
- btnMapType.addSelectionListener(new SelectionListener() {
- public void widgetSelected(SelectionEvent e) {
- propsModified = true;
- }
- public void widgetDefaultSelected(SelectionEvent e) {}
- });
- }
-
- private void createFieldAccessButton(Composite composite, GridData gd, String defaultAccessType) {
- btnFieldBasedAccess = new Button(groupAccessType, SWT.RADIO | SWT.FLAT);
- btnFieldBasedAccess.setText(JPAEditorMessages.JPAEditorPreferencesPage_entityFieldBasedAccessButtonLabel);
- gd = new GridData();
- btnFieldBasedAccess.setLayoutData(gd);
- btnFieldBasedAccess.setSelection(defaultAccessType.equals(JPAEditorPreferenceInitializer.PROPERTY_VAL_ACCESS_FIELD_BASED));
- btnFieldBasedAccess.addSelectionListener(new SelectionListener() {
- public void widgetSelected(SelectionEvent e) {
- propsModified = true;
- }
- public void widgetDefaultSelected(SelectionEvent e) {}
- });
- }
-
- private void createPropertyAccessButton(Composite composite, GridData gd, String defaultAccessType) {
- btnPropertyBasedAccess = new Button(groupAccessType, SWT.RADIO | SWT.FLAT);
- btnPropertyBasedAccess.setText(JPAEditorMessages.JPAEditorPreferencesPage_entityPropertyBasedAccessButtonLabel);
- gd = new GridData();
- btnPropertyBasedAccess.setLayoutData(gd);
- btnPropertyBasedAccess.setSelection(defaultAccessType.equals(JPAEditorPreferenceInitializer.PROPERTY_VAL_ACCESS_PROPERTY_BASED));
- btnPropertyBasedAccess.addSelectionListener(new SelectionListener() {
- public void widgetSelected(SelectionEvent e) {
- propsModified = true;
- }
- public void widgetDefaultSelected(SelectionEvent e) {}
- });
- }
-
- protected void performDefaults() {
- String defaultFolder = store.getString(JPAEditorPreferenceInitializer.PROPERTY_DIAGRAM_FOLDER);
- txtDefaultFolderField.setText(defaultFolder);
- String defaultPackageName = store.getString(JPAEditorPreferenceInitializer.PROPERTY_ENTITY_PACKAGE);
- txtDefaultEntityPackageField.setText(defaultPackageName);
- String defaultTableNamePrefix = store.getString(JPAEditorPreferenceInitializer.PROPERTY_TABLE_NAME_PREFIX);
- txtDefaultTableNamePrefix.setText(defaultTableNamePrefix);
- boolean defaultDirectEditAffectsClass = store.getBoolean(JPAEditorPreferenceInitializer.PROPERTY_DIRECT_EDIT_CLASS_NAME);
- checkDirectEditAffectsClass.setSelection(defaultDirectEditAffectsClass);
- String defaultAccessType = store.getString(JPAEditorPreferenceInitializer.PROPERTY_ENTITY_ACCESS_TYPE);
- btnFieldBasedAccess.setSelection(defaultAccessType.equals(JPAEditorPreferenceInitializer.PROPERTY_VAL_ACCESS_FIELD_BASED));
- btnPropertyBasedAccess.setSelection(defaultAccessType.equals(JPAEditorPreferenceInitializer.PROPERTY_VAL_ACCESS_PROPERTY_BASED));
- String defaultCollectionType = store.getString(JPAEditorPreferenceInitializer.PROPERTY_DEFAULT_COLLECTION_TYPE);
- btnCollectionType.setSelection(defaultCollectionType.equals(JPAEditorPreferenceInitializer.PROPERTY_VAL_COLLECTION_TYPE));
- btnListType.setSelection(defaultCollectionType.equals(JPAEditorPreferenceInitializer.PROPERTY_VAL_LIST_TYPE));
- btnSetType.setSelection(defaultCollectionType.equals(JPAEditorPreferenceInitializer.PROPERTY_VAL_SET_TYPE));
- btnMapType.setSelection(defaultCollectionType.equals(JPAEditorPreferenceInitializer.PROPERTY_VAL_MAP_TYPE));
- boolean defaultOneToManyOldStyle = store.getBoolean(JPAEditorPreferenceInitializer.PROPERTY_ONE_TO_MANY_OLD_STYLE);
- if (!isJPA10Project)
- checkOneToManyOldStyle.setSelection(defaultOneToManyOldStyle);
- super.performDefaults();
- }
-
- synchronized protected void validatePage() {
- IStatus statFolder = JPAEditorPreferencesPage.validateDefaultFolder(txtDefaultFolderField.getText().trim(),
- project.getName());
- IStatus statPack = JPAEditorPreferencesPage.validateDefaultPackage(txtDefaultEntityPackageField.getText().trim());
- IStatus statPref = JPAEditorPreferencesPage.validateTableNamePrefix(txtDefaultTableNamePrefix.getText().trim());
- if (statFolder.getSeverity() == IStatus.ERROR) {
- setErrorMessage(statFolder.getMessage());
- setValid(false);
- return;
- }
- if (statPack.getSeverity() == IStatus.ERROR) {
- setErrorMessage(statPack.getMessage());
- setValid(false);
- return;
- }
- if (statPref.getSeverity() == IStatus.ERROR) {
- setErrorMessage(statPref.getMessage());
- setValid(false);
- return;
- }
- setErrorMessage(null);
- setValid(true);
- if (statPack.getSeverity() == IStatus.WARNING) {
- setMessage(statPack.getMessage(), IMessageProvider.WARNING);
- return;
- }
- if (statPref.getSeverity() == IStatus.WARNING) {
- setMessage(statPref.getMessage(), IMessageProvider.WARNING);
- return;
- }
- setMessage(null, IMessageProvider.NONE);
- }
-
- protected void performApply() {
- saveSettingsIfModified();
- }
-
- public boolean performOk() {
- return saveSettingsIfModified();
- }
-
- private boolean saveSettingsIfModified() {
- if (propsModified) {
- boolean saved = saveSettings();
- propsModified = !saved;
- return saved;
- }
- return true;
- }
-
- private boolean saveSettings() {
- putNewValsInProps();
- IProject project = (IProject)getElement().getAdapter(IProject.class);
- Path path = new Path(PROJECT_SETTINGS_PATH);
- IFile quartzDataXMLFile = project.getFile(path);
- File file = new File(quartzDataXMLFile.getLocation().toOSString());
- OutputStream os = null;
- try {
- os = new FileOutputStream(file);
- editorProps.store(os, "This file contains JPA Diagram Editor settings"); //$NON-NLS-1$;
- os.close();
- return true;
- } catch (IOException e) {
- MessageDialog.openError(Display.getCurrent().getActiveShell(),
- JPAEditorMessages.JPADiagramPropertyPage_errSavePropsMsgTitle,
- JPAEditorMessages.JPADiagramPropertyPage_errSavePropsMsgText);
- return false;
- }
- }
-
- private void putNewValsInProps() {
- editorProps.put(PROP_DEFAULT_DIAGRAM_FOLDER.getLocalName(), txtDefaultFolderField.getText().trim());
- editorProps.put(PROP_DEFAULT_PACKAGE.getLocalName(), txtDefaultEntityPackageField.getText().trim());
- editorProps.put(PROP_DEFAULT_TABLE_NAME_PREFIX.getLocalName(), txtDefaultTableNamePrefix.getText().trim());
- editorProps.put(PROP_DIRECT_EDIT_AFFECTS_CLASS.getLocalName(), "" + checkDirectEditAffectsClass.getSelection()); //$NON-NLS-1$;
- editorProps.put(PROP_ACCESS_TYPE.getLocalName(), btnFieldBasedAccess.getSelection() ? JPAEditorPreferenceInitializer.PROPERTY_VAL_ACCESS_FIELD_BASED : JPAEditorPreferenceInitializer.PROPERTY_VAL_ACCESS_PROPERTY_BASED);
- editorProps.put(PROP_COLLECTION_TYPE.getLocalName(), getCollectionProperty());
- if (!isJPA10Project)
- editorProps.put(PROP_ONE_TO_MANY_OLD_STYLE.getLocalName(), "" + checkOneToManyOldStyle.getSelection()); //$NON-NLS-1$;
- }
-
-
- private String getCollectionProperty(){
- if (btnCollectionType.getSelection())
- return JPAEditorPreferenceInitializer.PROPERTY_VAL_COLLECTION_TYPE;
- else if (btnListType.getSelection())
- return JPAEditorPreferenceInitializer.PROPERTY_VAL_LIST_TYPE;
- else if (btnSetType.getSelection())
- return JPAEditorPreferenceInitializer.PROPERTY_VAL_SET_TYPE;
- else if (btnMapType.getSelection())
- return JPAEditorPreferenceInitializer.PROPERTY_VAL_MAP_TYPE;
- return null;
- }
-
- private Properties createDefaultProps() {
- return createDefaultProps(store);
- }
-
- static private Properties createDefaultProps(IPreferenceStore store) {
- Properties editorDefaultProps = new Properties();
- editorDefaultProps.setProperty(PROP_DEFAULT_DIAGRAM_FOLDER.getLocalName(), store.getString(JPAEditorPreferenceInitializer.PROPERTY_DIAGRAM_FOLDER));
- editorDefaultProps.setProperty(PROP_DEFAULT_PACKAGE.getLocalName(), store.getString(JPAEditorPreferenceInitializer.PROPERTY_ENTITY_PACKAGE));
- editorDefaultProps.setProperty(PROP_DEFAULT_TABLE_NAME_PREFIX.getLocalName(), store.getString(JPAEditorPreferenceInitializer.PROPERTY_TABLE_NAME_PREFIX));
- editorDefaultProps.setProperty(PROP_DIRECT_EDIT_AFFECTS_CLASS.getLocalName(), "" + store.getBoolean(JPAEditorPreferenceInitializer.PROPERTY_DIRECT_EDIT_CLASS_NAME)); //$NON-NLS-1$;
- editorDefaultProps.setProperty(PROP_ACCESS_TYPE.getLocalName(), store.getString(JPAEditorPreferenceInitializer.PROPERTY_ENTITY_ACCESS_TYPE));
- editorDefaultProps.setProperty(PROP_COLLECTION_TYPE.getLocalName(), store.getString(JPAEditorPreferenceInitializer.PROPERTY_DEFAULT_COLLECTION_TYPE));
- editorDefaultProps.setProperty(PROP_ONE_TO_MANY_OLD_STYLE.getLocalName(), "" + store.getBoolean(JPAEditorPreferenceInitializer.PROPERTY_ONE_TO_MANY_OLD_STYLE)); //$NON-NLS-1$;
-
-
- return editorDefaultProps;
- }
-
-
- private void loadProperties() {
- Properties defaultProps = createDefaultProps();
- editorProps = new Properties(defaultProps);
-
- IProject project = (IProject)getElement().getAdapter(IProject.class);
- Path path = new Path(PROJECT_SETTINGS_PATH);
- IFile editorProjectProperties = project.getFile(path);
-
- File propertiesFile = new File(editorProjectProperties.getLocation().toOSString());
- if (propertiesFile.exists()) {
- InputStream is = null;
- try {
- is = new FileInputStream(propertiesFile);
- editorProps.load(is);
- is.close();
- } catch (IOException e) {
- // ignore
- }
- }
- }
-
- static public Properties loadProperties(IProject project) {
- IPreferenceStore store = JPADiagramEditorPlugin.getDefault().getPreferenceStore();
- Properties defaultProps = createDefaultProps(store);
- Properties editorProps = new Properties(defaultProps);
-
- Path path = new Path(PROJECT_SETTINGS_PATH);
- IFile editorProjectProperties = project.getFile(path);
-
- File propertiesFile = new File(editorProjectProperties.getLocation().toOSString());
- if (propertiesFile.exists()) {
- InputStream is = null;
- try {
- is = new FileInputStream(propertiesFile);
- editorProps.load(is);
- is.close();
- } catch (IOException e) {
- // ignore
- }
- }
- return editorProps;
- }
-
- public static String getDefaultFolder(IProject project) {
- Properties props = JPADiagramPropertyPage.loadProperties(project);
- return getDefaultFolder(project, props);
- }
-
- public static String getDefaultPackage(IProject project) {
- Properties props = JPADiagramPropertyPage.loadProperties(project);
- return getDefaultPackage(project, props);
- }
-
- public static String getDefaultTablePrefixName(IProject project) {
- Properties props = JPADiagramPropertyPage.loadProperties(project);
- return getDefaultTablePrefixName(project, props);
- }
-
- public static boolean doesDirecteEditingAffectClassNameByDefault(IProject project) {
- Properties props = JPADiagramPropertyPage.loadProperties(project);
- return doesDirecteEditingAffectClassNameByDefault(project, props);
- }
-
- public static boolean isAccessFieldBased(IProject project) {
- Properties props = JPADiagramPropertyPage.loadProperties(project);
- return isAccessFieldBased(project, props);
- }
-
- public static boolean isCollectionType(IProject project) {
- Properties props = JPADiagramPropertyPage.loadProperties(project);
- return isCollectionType(project, props);
- }
-
- public static boolean isListType(IProject project) {
- Properties props = JPADiagramPropertyPage.loadProperties(project);
- return isListType(project, props);
- }
-
- public static boolean isSetType(IProject project) {
- Properties props = JPADiagramPropertyPage.loadProperties(project);
- return isSetType(project, props);
- }
-
- public static boolean isMapType(IProject project) {
- Properties props = JPADiagramPropertyPage.loadProperties(project);
- return isMapType(project, props);
- }
-
- public static boolean shouldOneToManyUnidirBeOldStyle(IProject project) {
- Properties props = JPADiagramPropertyPage.loadProperties(project);
- return shouldOneToManyUnidirBeOldStyle(project, props);
- }
-
-//---------------------------------------------------------------------------------------------------
-
- public static String getDefaultFolder(IProject project, Properties props) {
- return props.getProperty(PROP_DEFAULT_DIAGRAM_FOLDER.getLocalName());
- }
-
- public static String getDefaultPackage(IProject project, Properties props) {
- return props.getProperty(PROP_DEFAULT_PACKAGE.getLocalName());
- }
-
- public static String getDefaultTablePrefixName(IProject project, Properties props) {
- return props.getProperty(PROP_DEFAULT_TABLE_NAME_PREFIX.getLocalName());
- }
-
- public static boolean doesDirecteEditingAffectClassNameByDefault(IProject project, Properties props) {
- return Boolean.parseBoolean(props.getProperty(PROP_DIRECT_EDIT_AFFECTS_CLASS.getLocalName()));
- }
-
- public static boolean isAccessFieldBased(IProject project, Properties props) {
- String accessType = props.getProperty(PROP_ACCESS_TYPE.getLocalName());
- return accessType.equals("field"); //$NON-NLS-1$;
- }
-
- public static boolean isCollectionType(IProject project, Properties props) {
- String accessType = props.getProperty(PROP_COLLECTION_TYPE.getLocalName());
- return accessType.equals("collection"); //$NON-NLS-1$;
- }
-
- public static boolean isListType(IProject project, Properties props) {
- String accessType = props.getProperty(PROP_COLLECTION_TYPE.getLocalName());
- return accessType.equals("list"); //$NON-NLS-1$;
- }
-
- public static boolean isSetType(IProject project, Properties props) {
- String accessType = props.getProperty(PROP_COLLECTION_TYPE.getLocalName());
- return accessType.equals("set"); //$NON-NLS-1$;
- }
-
- public static boolean isMapType(IProject project, Properties props) {
- String accessType = props.getProperty(PROP_COLLECTION_TYPE.getLocalName());
- return accessType.equals("map"); //$NON-NLS-1$;
- }
-
- public static boolean shouldOneToManyUnidirBeOldStyle(IProject project, Properties props) {
- return Boolean.parseBoolean(props.getProperty(PROP_ONE_TO_MANY_OLD_STYLE.getLocalName()));
- }
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/propertytester/JpaProjectFacetVersionPropertyTester.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/propertytester/JpaProjectFacetVersionPropertyTester.java
deleted file mode 100644
index 26936abb5d..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/propertytester/JpaProjectFacetVersionPropertyTester.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.propertytester;
-
-import org.eclipse.core.expressions.PropertyTester;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jpt.jpa.core.JpaNode;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject;
-import org.eclipse.wst.common.project.facet.core.IProjectFacet;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-
-public class JpaProjectFacetVersionPropertyTester extends PropertyTester{
-
- public static final String ID = "jpt.jpa"; //$NON-NLS-1$
- public static final IProjectFacet FACET = ProjectFacetsManager.getProjectFacet(ID);
-
- public boolean test(Object receiver, String property, Object[] args,
- Object value) {
-
- String[] subValues = ((String) value).split(":"); //$NON-NLS-1$
- String receiverId = subValues[0];
- String receiverVersion = subValues[1];
-
- if (receiver instanceof JpaNode) {
- JpaProject project = ((JpaNode)receiver).getJpaProject();
- try {
- IFacetedProject fproj = ProjectFacetsManager.create(project.getProject());
- if(receiverId.equals(ID) && receiverVersion.equals(fproj.getProjectFacetVersion(FACET).getVersionString())){
- return true;
- }
- } catch (CoreException e) {
- e.printStackTrace();
- }
- }
-
- return false;
- }
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/AddEntityContext.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/AddEntityContext.java
deleted file mode 100644
index 4974d9aa02..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/AddEntityContext.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Petya Sabeva - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.provider;
-
-import org.eclipse.graphiti.features.context.impl.AddContext;
-
-public class AddEntityContext extends AddContext implements IAddEntityContext{
- private boolean primaryCollapsed;
- private boolean relationCollapsed;
- private boolean basicCollapsed;
-
- public boolean isPrimaryCollapsed() {
- return primaryCollapsed;
- }
- public void setPrimaryCollapsed(boolean primaryCollapsed) {
- this.primaryCollapsed = primaryCollapsed;
- }
-
- public boolean isRelationCollapsed() {
- return relationCollapsed;
- }
- public void setRelationCollapsed(boolean relationCollapsed) {
- this.relationCollapsed = relationCollapsed;
- }
-
- public AddEntityContext(boolean primaryCollapsed,
- boolean relationCollapsed, boolean basicCollapsed) {
- super();
- this.primaryCollapsed = primaryCollapsed;
- this.relationCollapsed = relationCollapsed;
- this.basicCollapsed = basicCollapsed;
- }
-
- public boolean isBasicCollapsed() {
- return basicCollapsed;
- }
- public void setBasicCollapsed(boolean basicCollapsed) {
- this.basicCollapsed = basicCollapsed;
- }
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/IAddEntityContext.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/IAddEntityContext.java
deleted file mode 100644
index c6d17c51a5..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/IAddEntityContext.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Petya Sabeva - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.provider;
-
-public interface IAddEntityContext {
-
- public abstract boolean isPrimaryCollapsed();
-
- public abstract boolean isRelationCollapsed();
-
- public abstract boolean isBasicCollapsed();
-
-} \ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/IJPAEditorFeatureProvider.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/IJPAEditorFeatureProvider.java
deleted file mode 100644
index 995bbc2bdb..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/IJPAEditorFeatureProvider.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.provider;
-
-import java.util.Properties;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.graphiti.features.IDeleteFeature;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.IDeleteContext;
-import org.eclipse.graphiti.features.custom.ICustomFeature;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.util.IModelIntegrationUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.IRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.IRelation.RelDir;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.IRelation.RelType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IGraphicsUpdater;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IJPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IPeServiceUtil;
-
-
-public interface IJPAEditorFeatureProvider extends IFeatureProvider{
-
- public ICompilationUnit getCompilationUnit(JavaPersistentType jpt);
-
- public boolean hasObjectWithName(String name);
-
- public String getKeyForBusinessObject(Object bo);
-
- public Object remove(String key);
-
- public Object remove(String key, boolean save);
-
- public IRelation getRelationRelatedToAttribute(JavaPersistentAttribute jpa);
-
- public boolean existsRelation(JavaPersistentType jpt1, JavaPersistentType jpt2);
-
- public Object getBusinessObjectForKey(String key);
-
- public void addJPTForUpdate(String jptName);
-
- public boolean doesRelationExist(JavaPersistentType owner,
- JavaPersistentType inverse,
- String ownerAttributeName,
- RelType relType,
- RelDir relDir);
-
- public void restoreEntity(JavaPersistentType jpt);
-
- public void addRemoveIgnore(JavaPersistentType jpt, String atName);
-
- public void addAddIgnore(JavaPersistentType jpt, String atName);
-
- public void putKeyToBusinessObject(String key, Object bo);
-
- public int getAttribsNum(Shape sh);
-
- public int increaseAttribsNum(Shape sh);
-
- public int decreaseAttribsNum(Shape sh);
-
- public void replaceAttribute(JavaPersistentAttribute oldAt, JavaPersistentAttribute newAt);
-
- public void renewAttributeJoiningStrategyPropertyListener(JavaPersistentAttribute jpa);
-
- public IPeServiceUtil getPeUtil();
-
- public IJPAEditorUtil getJPAEditorUtil();
-
- public IDeleteFeature getDeleteFeature(IDeleteContext context);
-
- public ICustomFeature getAddAllEntitiesFeature();
-
- public IModelIntegrationUtil getMoinIntegrationUtil();
-
- public IGraphicsUpdater getGraphicsUpdater();
-
- public void addAttribForUpdate(PersistenceUnit pu, String entAtMappedBy);
-
- public TransactionalEditingDomain getTransactionalEditingDomain();
-
- public Properties loadProperties(IProject project);
-
-} \ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/IJPAEditorImageCreator.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/IJPAEditorImageCreator.java
deleted file mode 100644
index 625d575b27..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/IJPAEditorImageCreator.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Kiril Mitov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.provider;
-
-import org.eclipse.graphiti.mm.algorithms.Polyline;
-import org.eclipse.graphiti.mm.pictograms.Connection;
-import org.eclipse.graphiti.mm.pictograms.ConnectionDecorator;
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-
-public interface IJPAEditorImageCreator {
-
- static public enum RelEndDir {
- UP,
- LEFT,
- RIGHT,
- DOWN
- }
-
- public Polyline createConnectionLine(Diagram d, Connection connection);
-
- //public ConnectionDecorator createTextConnectionDecorator(Connection connection, String text, double location);
-
- public ConnectionDecorator createArrowConnectionDecorator(Connection connection, double location);
-
- public ConnectionDecorator createManyEndWithArrowDecorator(Connection connection, double location);
-
- public ConnectionDecorator createManyStartDecorator(Connection connection, double location);
-
- public ConnectionDecorator createManyEndDecorator(Connection connection, double location);
-
- public ConnectionDecorator createIconConnectionDecorator(Connection connection, String iconId, double location);
-
- public ConnectionDecorator createCardinalityConnectionDecorator(Diagram d, Connection c, String text, double location);
-
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/JPAEditorContextMenuProvider.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/JPAEditorContextMenuProvider.java
deleted file mode 100644
index 3b15f9ba17..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/JPAEditorContextMenuProvider.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.provider;
-
-import org.eclipse.gef.EditPartViewer;
-import org.eclipse.gef.ui.actions.ActionRegistry;
-import org.eclipse.graphiti.ui.editor.DiagramEditorContextMenuProvider;
-import org.eclipse.graphiti.ui.internal.config.IConfigurationProvider;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.swt.graphics.Point;
-
-@SuppressWarnings("restriction")
-public class JPAEditorContextMenuProvider extends DiagramEditorContextMenuProvider {
- public JPAEditorContextMenuProvider(EditPartViewer viewer,
- ActionRegistry registry,
- IConfigurationProvider configurationProvider) {
- super(viewer, registry, configurationProvider);
- }
-
-
- protected void addDefaultMenuGroupEdit(IMenuManager manager, Point menuLocation) {
- }
-
- protected void addActionToMenuIfAvailable(IMenuManager manager, String actionId, String menuGroup) {
- if (actionId.equals("predefined remove action") || //$NON-NLS-1$
- actionId.equals("predefined update action")) //$NON-NLS-1$
- return;
- super.addActionToMenuIfAvailable(manager, actionId, menuGroup);
- }
-
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/JPAEditorDiagramTypeProvider.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/JPAEditorDiagramTypeProvider.java
deleted file mode 100644
index 3c61f50815..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/JPAEditorDiagramTypeProvider.java
+++ /dev/null
@@ -1,321 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.provider;
-
-import java.util.Collection;
-import java.util.Enumeration;
-import java.util.HashSet;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.emf.transaction.RecordingCommand;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.transaction.util.TransactionUtil;
-import org.eclipse.graphiti.dt.AbstractDiagramTypeProvider;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.impl.AddContext;
-import org.eclipse.graphiti.features.context.impl.CustomContext;
-import org.eclipse.graphiti.features.context.impl.RemoveContext;
-import org.eclipse.graphiti.mm.algorithms.RoundedRectangle;
-import org.eclipse.graphiti.mm.pictograms.Connection;
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.graphiti.platform.IDiagramEditor;
-import org.eclipse.graphiti.services.Graphiti;
-import org.eclipse.graphiti.tb.IToolBehaviorProvider;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.MappingKeys;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpa.core.context.persistence.ClassRef;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.JPADiagramEditor;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.facade.EclipseFacade;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.AddAllEntitiesFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.AddJPAEntityFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.RemoveRelationFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.util.ModelIntegrationUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPACheckSum;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPASolver;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.SizePosition;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PlatformUI;
-
-
-public class JPAEditorDiagramTypeProvider extends AbstractDiagramTypeProvider {
-
- private IToolBehaviorProvider[] toolBehaviorProviders;
- public final static String ID = "org.eclipse.jpt.jpadiagrameditor.ui.provider.JPAEditorDiagramTypeProvider"; //$NON-NLS-1$
- boolean isDisposed = false;
- boolean readOnly = false;
-
- public JPAEditorDiagramTypeProvider() {
- IFeatureProvider fp = new JPAEditorFeatureProvider(this, new JPASolver());
- setFeatureProvider(fp);
- }
-
- @Override
- public void init(Diagram diagram, IDiagramEditor diagramEditor) {
- super.init(diagram, diagramEditor);
- if (getTargetJPAProject() == null)
- closeEditor();
- JPAEditorDiagramTypeProvider provider = ModelIntegrationUtil.getProviderByDiagram(diagram);
- if ((provider != null) && provider.isAlive())
- provider.getDiagramEditor().getSite().getWorkbenchWindow().getActivePage().closeEditor(provider.getDiagramEditor(), true);
- ModelIntegrationUtil.mapDiagramToProvider(getDiagram(), this);
- }
-
-
- @Override
- public IToolBehaviorProvider[] getAvailableToolBehaviorProviders() {
- if (toolBehaviorProviders == null) {
- toolBehaviorProviders =
- new IToolBehaviorProvider[] { new JPAEditorToolBehaviorProvider(this, EclipseFacade.INSTANCE) };
- }
- return toolBehaviorProviders;
- }
-
- public JPAEditorFeatureProvider getFeatureProvider() {
- return (JPAEditorFeatureProvider)super.getFeatureProvider();
- }
-
- public boolean hasToAdd() {
- JpaProject project = getTargetJPAProject();
- PersistenceUnit unit = project.getRootContextNode().getPersistenceXml().getPersistence().persistenceUnits().next();
-
- for (Iterator<ClassRef> classRefs = unit.classRefs(); classRefs.hasNext();) {
- ClassRef classRef = classRefs.next();
- if (classRef.getJavaPersistentType() != null) {
- JavaPersistentType jpt = classRef.getJavaPersistentType();
- if (jpt.getMappingKey() == MappingKeys.ENTITY_TYPE_MAPPING_KEY) {
- PictogramElement pe = getFeatureProvider().getPictogramElementForBusinessObject(jpt);
- if (pe == null)
- return true;
- }
- }
- }
- return false;
- }
-
-
- public void postInit() {
- final String jptName = getDiagramEditor().getPartProperty(JPAEditorConstants.OPEN_WHOLE_PERSISTENCE_UNIT_EDITOR_PROPERTY);
- if (jptName != null) {
- boolean hasToAdd = hasToAdd();
- boolean readOnly = openPersistedDiagram(hasToAdd);
- if (hasToAdd && !readOnly)
- addRemainingEntities();
- } else
- try {
- openPersistedDiagram(false);
- } catch (NullPointerException e) {
- return;
- }
- }
-
- private void addRemainingEntities() {
- final AddAllEntitiesFeature feature = new AddAllEntitiesFeature(getFeatureProvider());
- final CustomContext context = new CustomContext();
- TransactionalEditingDomain ted = ModelIntegrationUtil.getTransactionalEditingDomain(feature.getFeatureProvider().getDiagramTypeProvider().getDiagram());
- ted.getCommandStack().execute(new RecordingCommand(ted) {
- @Override
- protected void doExecute() {
- feature.execute(context);
- }
- });
- }
-
- private void closeEditor() {
- PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
- public void run() {
- IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
- page.closeEditor(getDiagramEditor(), false);
- }
- });
- }
-
- private boolean openPersistedDiagram(boolean hasToAdd) {
- final Diagram diagram = getDiagram();
- final JpaProject proj = getTargetJPAProject();
- IProject project = proj.getProject();
- PersistenceUnit pu = JpaArtifactFactory.instance().getPersistenceUnit(proj);
- String diagramName = pu.getName();
- IPath path = ModelIntegrationUtil.getDiagramsFolderPath(project).append(diagramName).addFileExtension(ModelIntegrationUtil.DIAGRAM_FILE_EXTENSION);
- final IFile f = project.getFile(path);
- boolean readOnly = (f != null) && f.exists() && f.isReadOnly();
- if (readOnly) {
- if (JPACheckSum.INSTANCE().isModelDifferentFromDiagram(diagram, proj) || hasToAdd) {
- String message = hasToAdd ? JPAEditorMessages.JPAEditorDiagramTypeProvider_JPADiagramReadOnlyHasToAddMsg :
- JPAEditorMessages.JPAEditorDiagramTypeProvider_JPADiagramReadOnlyMsg;
- MessageDialog dialog = new MessageDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(),
- JPAEditorMessages.JPAEditorDiagramTypeProvider_JPADiagramReadOnlyTitle, null, message,
- MessageDialog.INFORMATION, new String[] {JPAEditorMessages.BTN_OK, JPAEditorMessages.BTN_CANCEL}, 0) {
- protected int getShellStyle() {
- return SWT.TITLE | SWT.BORDER
- | SWT.APPLICATION_MODAL
- | getDefaultOrientation();
- }
- };
- if (dialog.open() == 1) {
- closeEditor();
- return true;
- } else {
- IStatus stat = ResourcesPlugin.getWorkspace().validateEdit(new IFile[]{f}, null);
- if (!stat.isOK()) {
- message = NLS.bind(JPAEditorMessages.JPAEditorDiagramTypeProvider_cantMakeDiagramWritableMsg,
- stat.getMessage());;
- dialog = new MessageDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(),
- JPAEditorMessages.JPAEditorDiagramTypeProvider_cantMakeDiagramWritableTitle, null, message,
- MessageDialog.CANCEL, new String[] {JPAEditorMessages.BTN_OK}, 0) {
- protected int getShellStyle() {
- return SWT.CLOSE | SWT.TITLE | SWT.BORDER
- | SWT.APPLICATION_MODAL
- | getDefaultOrientation();
- }
- };
- dialog.open();
- closeEditor();
- return true;
- } else {
- readOnly = false;
- }
- }
- } else {
- return readOnly;
- }
- }
-
- removeConnections();
-
- final Hashtable<String, SizePosition> marks = new Hashtable<String, SizePosition>();
- List<Shape> picts = diagram.getChildren();
- if (picts.size() == 0)
- return readOnly;
- Iterator<Shape> it = picts.iterator();
- HashSet<Shape> toDelete = new HashSet<Shape>();
- // collecting data from the saved pictograms
- while (it.hasNext()) {
- Shape pict = it.next();
- String name = Graphiti.getPeService().getPropertyValue(pict, JPAEditorConstants.PROP_ENTITY_CLASS_NAME);
- SizePosition rectSP = loadSizeAndPosition(pict);
- marks.put(name, rectSP);
- toDelete.add(pict);
- }
- final Iterator<Shape> iter = toDelete.iterator();
-
- TransactionalEditingDomain ted = TransactionUtil.getEditingDomain(diagram);
- ted.getCommandStack().execute(new RecordingCommand(ted) {
- protected void doExecute() {
- while (iter.hasNext())
- Graphiti.getPeService().deletePictogramElement(iter.next());
- Collection<Connection> cns = diagram.getConnections();
- Iterator<Connection> itera = cns.iterator();
- Set<Connection> toDel = new HashSet<Connection>();
- while (itera.hasNext())
- toDel.add(itera.next());
- itera = toDel.iterator();
- while (itera.hasNext())
- Graphiti.getPeService().deletePictogramElement(itera.next());
-
- Enumeration<String> itr = marks.keys();
-
- // create new pictograms
- while (itr.hasMoreElements()) {
- String entityName = itr.nextElement();
- JavaPersistentType jpt = JpaArtifactFactory.instance().getContextPersistentType(proj, entityName);
- if (jpt != null) {
- SizePosition sp = marks.get(entityName);
- AddContext ctx = new AddEntityContext(sp.primaryCollapsed,
- sp.relationCollapsed, sp.basicCollapsed);
- ctx.setNewObject(jpt);
- ctx.setTargetContainer(getDiagram());
- ctx.setWidth(sp.getWidth());
- ctx.setHeight(sp.getHeight());
- ctx.setX(sp.getX());
- ctx.setY(sp.getY());
- AddJPAEntityFeature ft = new AddJPAEntityFeature(getFeatureProvider());
- ft.add(ctx);
- }
- }
- }
- });
- getDiagramEditor().saveWithoutEntities(new NullProgressMonitor());
-
- // delete old pictograms
- return false;
- }
-
- private SizePosition loadSizeAndPosition(Shape pict) {
- RoundedRectangle rect = (RoundedRectangle)pict.getGraphicsAlgorithm();
- SizePosition rectSP = new SizePosition(rect.getWidth(), rect.getHeight(),
- rect.getX(), rect.getY());
-
- rectSP.primaryCollapsed = JPAEditorConstants.TRUE_STRING.equals(Graphiti.getPeService().getPropertyValue(pict, JPAEditorConstants.PRIMARY_COLLAPSED));
- rectSP.relationCollapsed = JPAEditorConstants.TRUE_STRING.equals(Graphiti.getPeService().getPropertyValue(pict, JPAEditorConstants.RELATION_COLLAPSED));
- rectSP.basicCollapsed = JPAEditorConstants.TRUE_STRING.equals(Graphiti.getPeService().getPropertyValue(pict, JPAEditorConstants.BASIC_COLLAPSED));
- return rectSP;
- }
-
- private void removeConnections() {
- Collection<org.eclipse.graphiti.mm.pictograms.Connection> cons = getDiagram().getConnections();
- Iterator<org.eclipse.graphiti.mm.pictograms.Connection> consIt = cons.iterator();
- Collection<org.eclipse.graphiti.mm.pictograms.Connection> allCons = new HashSet<org.eclipse.graphiti.mm.pictograms.Connection>();
- while (consIt.hasNext()) {
- org.eclipse.graphiti.mm.pictograms.Connection con = consIt.next();
- allCons.add(con);
- }
- consIt = allCons.iterator();
- while (consIt.hasNext()) {
- org.eclipse.graphiti.mm.pictograms.Connection con = consIt.next();
- RemoveContext ctx = new RemoveContext(con);
- RemoveRelationFeature ft = new RemoveRelationFeature(getFeatureProvider());
- ft.remove(ctx);
- }
- }
-
- public JPADiagramEditor getDiagramEditor() {
- return (JPADiagramEditor)super.getDiagramEditor();
- }
-
- private JpaProject getTargetJPAProject() {
- return ModelIntegrationUtil.getProjectByDiagram(getDiagram());
- }
-
- public boolean isAlive() {
- return !isDisposed;
- }
-
- public void dispose() {
- super.dispose();
- setFeatureProvider(null);
- isDisposed = true;
- }
-
-} \ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/JPAEditorFeatureProvider.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/JPAEditorFeatureProvider.java
deleted file mode 100644
index 67d01ff573..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/JPAEditorFeatureProvider.java
+++ /dev/null
@@ -1,641 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.provider;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Properties;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.emf.transaction.RecordingCommand;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.transaction.util.TransactionUtil;
-import org.eclipse.graphiti.dt.IDiagramTypeProvider;
-import org.eclipse.graphiti.features.IAddFeature;
-import org.eclipse.graphiti.features.ICreateConnectionFeature;
-import org.eclipse.graphiti.features.ICreateFeature;
-import org.eclipse.graphiti.features.IDeleteFeature;
-import org.eclipse.graphiti.features.IDirectEditingFeature;
-import org.eclipse.graphiti.features.ILayoutFeature;
-import org.eclipse.graphiti.features.IMoveConnectionDecoratorFeature;
-import org.eclipse.graphiti.features.IMoveShapeFeature;
-import org.eclipse.graphiti.features.IReason;
-import org.eclipse.graphiti.features.IRemoveFeature;
-import org.eclipse.graphiti.features.IResizeShapeFeature;
-import org.eclipse.graphiti.features.context.IAddContext;
-import org.eclipse.graphiti.features.context.ICustomContext;
-import org.eclipse.graphiti.features.context.IDeleteContext;
-import org.eclipse.graphiti.features.context.IDirectEditingContext;
-import org.eclipse.graphiti.features.context.ILayoutContext;
-import org.eclipse.graphiti.features.context.IMoveConnectionDecoratorContext;
-import org.eclipse.graphiti.features.context.IMoveShapeContext;
-import org.eclipse.graphiti.features.context.IRemoveContext;
-import org.eclipse.graphiti.features.context.IResizeShapeContext;
-import org.eclipse.graphiti.features.context.impl.AddConnectionContext;
-import org.eclipse.graphiti.features.custom.ICustomFeature;
-import org.eclipse.graphiti.features.impl.Reason;
-import org.eclipse.graphiti.internal.services.GraphitiInternal;
-import org.eclipse.graphiti.mm.algorithms.GraphicsAlgorithm;
-import org.eclipse.graphiti.mm.algorithms.Rectangle;
-import org.eclipse.graphiti.mm.algorithms.Text;
-import org.eclipse.graphiti.mm.pictograms.Anchor;
-import org.eclipse.graphiti.mm.pictograms.Connection;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.graphiti.services.Graphiti;
-import org.eclipse.graphiti.ui.features.DefaultFeatureProvider;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.internal.core.CompilationUnit;
-import org.eclipse.jdt.internal.core.SourceType;
-import org.eclipse.jpt.jpa.core.JpaNode;
-import org.eclipse.jpt.jpa.core.context.PersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaEntity;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.AddAllEntitiesFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.AddAttributeFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.AddJPAEntityFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.AddRelationFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.ClickAddAttributeButtonFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.ClickRemoveAttributeButtonFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.CollapseAllEntitiesFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.CollapseCompartmentShapeFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.CollapseEntityFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.CreateJPAEntityFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.CreateJPAEntityFromMappedSuperclassFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.CreateManyToManyBiDirRelationFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.CreateManyToManyUniDirRelationFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.CreateManyToOneBiDirRelationFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.CreateManyToOneUniDirRelationFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.CreateOneToManyUniDirRelationFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.CreateOneToOneBiDirRelationFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.CreateOneToOneUniDirRelationFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.DeleteJPAEntityFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.DeleteRelationFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.DirectEditAttributeFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.DirectEditJPAEntityFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.ExpandCompartmentShapeFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.ExpandEntityFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.JPAMoveConnectionDecoratorFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.LayoutJPAEntityFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.MoveAttributeFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.MoveEntityShapeFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.RemoveAttributeFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.RemoveJPAEntityFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.RemoveRelationFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.ResizeAttributeFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.ResizeJPAEntityFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.util.IModelIntegrationUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.util.ModelIntegrationUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.util.ModelIntegrationUtilImpl;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.propertypage.JPADiagramPropertyPage;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.AbstractRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.IRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.IRelation.RelDir;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.IRelation.RelType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.GraphicsUpdaterImpl;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IGraphicsUpdater;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IJPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IJpaSolver;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IPeServiceUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtilImpl;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPASolver;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.PeServiceUtilImpl;
-import org.eclipse.ui.PlatformUI;
-
-
-@SuppressWarnings("restriction")
-public class JPAEditorFeatureProvider extends DefaultFeatureProvider implements IJPAEditorFeatureProvider {
-
- private ClickAddAttributeButtonFeature clickAddAttBtnFeat = null;
- private ClickRemoveAttributeButtonFeature clickRemoveAttBtnFeat = null;
- private IPeServiceUtil peUtil = new PeServiceUtilImpl();
- private IJPAEditorUtil jpaEditorUtil = new JPAEditorUtilImpl();
- private IModelIntegrationUtil moinIntegrationUtil = new ModelIntegrationUtilImpl();
- private IGraphicsUpdater graphicsUpdater = new GraphicsUpdaterImpl();
-
- public JPAEditorFeatureProvider(IDiagramTypeProvider dtp, IJpaSolver is) {
- super(dtp);
- is.setFeatureProvider(this);
- this.setIndependenceSolver(is);
- }
-
- public void stopThread() {
- if (getIndependenceSolver() != null)
- ((JPASolver)getIndependenceSolver()).stopThread();
- }
-
- public void addJPTForUpdate(String jptName) {
- ((JPASolver)getIndependenceSolver()).addJPTForUpdate(jptName);
- }
-
-
- public void addRemoveIgnore(JavaPersistentType jpt, String atName) {
- ((JPASolver)getIndependenceSolver()).addRemoveIgnore(jpt.getName() + "." + atName); //$NON-NLS-1$
- }
-
- public void addAddIgnore(JavaPersistentType jpt, String atName) {
- ((JPASolver)getIndependenceSolver()).addAddIgnore(jpt.getName() + "." + atName); //$NON-NLS-1$
- }
-
- public HashSet<String> getAddIgnore() {
- return ((JPASolver)getIndependenceSolver()).getAddIgnore();
- }
-
-
- public void addAttribForUpdate(PersistenceUnit pu, String entAtMappedBy) {
- ((JPASolver)getIndependenceSolver()).addAttribForUpdate(pu, entAtMappedBy);
- }
-
- public boolean existsRelation(JavaPersistentType jpt1, JavaPersistentType jpt2) {
- return ((JPASolver)getIndependenceSolver()).existsRelation(jpt1, jpt2);
- }
-
- @Override
- public IAddFeature getAddFeature(IAddContext context) {
- Object newObj = context.getNewObject();
- if (newObj instanceof JavaPersistentType) {
- return new AddJPAEntityFeature(this);
- } else if (newObj instanceof AbstractRelation) {
- return new AddRelationFeature(this);
- } else if (newObj instanceof PersistentAttribute) {
- if (Diagram.class.isInstance(context.getTargetContainer())) {
- return null;
- } else {
- return new AddAttributeFeature(this);
- }
- } else if (newObj instanceof CompilationUnit) {
- CompilationUnit cu = (CompilationUnit)newObj;
- JavaPersistentType jpt = JPAEditorUtil.getJPType(cu);
- if (jpt != null) return new AddJPAEntityFeature(this);
- } else if ((newObj instanceof JpaNode)) {
- return new AddAllEntitiesFeature(this);
- } else if (newObj instanceof SourceType) {
- return new AddJPAEntityFeature(this);
- }
- return super.getAddFeature(context);
- }
-
-
- @Override
- public ICreateFeature[] getCreateFeatures() {
- return new ICreateFeature[] { new CreateJPAEntityFeature(this), new CreateJPAEntityFromMappedSuperclassFeature(this) };
- }
-
- @Override
- public IDeleteFeature getDeleteFeature(IDeleteContext context) {
- PictogramElement pe = context.getPictogramElement();
- Object bo = getBusinessObjectForPictogramElement(pe);
- if (bo instanceof JavaPersistentType) {
- return new DeleteJPAEntityFeature(this);
- } else if (bo instanceof AbstractRelation) {
- return new DeleteRelationFeature(this);
- } else if (bo instanceof JavaPersistentAttribute) {
- return new ClickRemoveAttributeButtonFeature(this);
- }
- return null;
- }
-
- @Override
- public ICustomFeature[] getCustomFeatures(ICustomContext context) {
- ICustomFeature[] ret = super.getCustomFeatures(context);
- List<ICustomFeature> retList = new ArrayList<ICustomFeature>();
- for (int i = 0; i < ret.length; i++) {
- retList.add(ret[i]);
- }
-
- retList.add(new CollapseAllEntitiesFeature(this));
-
- retList.add(new CollapseEntityFeature(this));
- retList.add(new ExpandEntityFeature(this));
-
- retList.add(new CollapseCompartmentShapeFeature(this));
- retList.add(new ExpandCompartmentShapeFeature(this));
-
- ret = retList.toArray(ret);
- return ret;
- }
-
-
- @Override
- public IResizeShapeFeature getResizeShapeFeature(IResizeShapeContext context) {
- PictogramElement pe = context.getPictogramElement();
- if (getBusinessObjectForPictogramElement(pe) instanceof JavaPersistentType) {
- return new ResizeJPAEntityFeature(this);
- }
- GraphicsAlgorithm ga = pe.getGraphicsAlgorithm();
- if (ga == null)
- return super.getResizeShapeFeature(context);
- List<GraphicsAlgorithm> ch = ga.getGraphicsAlgorithmChildren();
- if ((ch != null) && (ch.size() > 0) && (ch.get(0) instanceof Text)) {
- return new ResizeAttributeFeature(this);
- }
-
- return super.getResizeShapeFeature(context);
- }
-
-
-
-
- @Override
- public ILayoutFeature getLayoutFeature(ILayoutContext context) {
- PictogramElement pictogramElement = context.getPictogramElement();
- Object bo = getBusinessObjectForPictogramElement(pictogramElement);
- if (bo instanceof JavaPersistentType) {
- return new LayoutJPAEntityFeature(this);
- }
- return super.getLayoutFeature(context);
- }
-
-
- @Override
- public IRemoveFeature getRemoveFeature(IRemoveContext context) {
- PictogramElement pe = context.getPictogramElement();
- Object bo = getBusinessObjectForPictogramElement(pe);
- if (bo == null)
- super.getRemoveFeature(context);
- if (bo instanceof JavaPersistentType) {
- return new RemoveJPAEntityFeature(this);
- } else if (bo instanceof AbstractRelation) {
- return new RemoveRelationFeature(this);
- }
- GraphicsAlgorithm ga = pe.getGraphicsAlgorithm();
- if (ga == null)
- return super.getRemoveFeature(context);
- List<GraphicsAlgorithm> ch = ga.getGraphicsAlgorithmChildren();
- if ((ch != null) && (ch.size() > 0) && (ch.get(0) instanceof Text)) {
- return new RemoveAttributeFeature(this);
- }
- return super.getRemoveFeature(context);
- }
-
- @Override
- public ICreateConnectionFeature[] getCreateConnectionFeatures() {
- return new ICreateConnectionFeature[] {
- new CreateOneToOneUniDirRelationFeature(this),
- new CreateOneToOneBiDirRelationFeature(this),
- new CreateOneToManyUniDirRelationFeature(this),
- new CreateManyToOneUniDirRelationFeature(this),
- new CreateManyToOneBiDirRelationFeature(this),
- new CreateManyToManyUniDirRelationFeature(this),
- new CreateManyToManyBiDirRelationFeature(this)
- };
- }
-
- @Override
- public IReason canAdd(IAddContext context) {
- return Reason.createTrueReason();
- }
-
- public ICustomFeature getAddAllEntitiesFeature() {
- return new AddAllEntitiesFeature(this);
- }
-
- @Override
- public IMoveShapeFeature getMoveShapeFeature(IMoveShapeContext context) {
- PictogramElement pe = context.getPictogramElement();
- Object bo = getBusinessObjectForPictogramElement(pe);
- if (JavaPersistentType.class.isInstance(bo)) {
- return new MoveEntityShapeFeature(this);
- }
- if(bo == null){
- return new MoveAttributeFeature(this);
- }
- GraphicsAlgorithm ga = pe.getGraphicsAlgorithm();
- if (ga == null)
- return super.getMoveShapeFeature(context);
- List<GraphicsAlgorithm> ch = ga.getGraphicsAlgorithmChildren();
- if ((ch != null) && (ch.size() > 0) && (ch.get(0) instanceof Text)) {
- return new MoveAttributeFeature(this);
- }
- return super.getMoveShapeFeature(context);
- }
-
-
- @Override
- public IDirectEditingFeature getDirectEditingFeature(IDirectEditingContext context) {
- PictogramElement pe = context.getPictogramElement();
- GraphicsAlgorithm ga = pe.getGraphicsAlgorithm();
- if (!(ga instanceof Rectangle))
- return super.getDirectEditingFeature(context);
- List<GraphicsAlgorithm> ch = ga.getGraphicsAlgorithmChildren();
- if ((ch == null) || (ch.size() == 0))
- return super.getDirectEditingFeature(context);
- ga = ch.get(0);
- if (!(ga instanceof Text))
- return super.getDirectEditingFeature(context);
- if(((Text)ga).getFont().isItalic())
- return super.getDirectEditingFeature(context);
- Object bo = getBusinessObjectForPictogramElement(pe);
- if (bo != null) {
- if (bo instanceof JavaPersistentAttribute) {
- return new DirectEditAttributeFeature(this);
- }
- }
- if (!(pe instanceof Shape))
- return super.getDirectEditingFeature(context);
- Shape sh = (Shape)pe;
- ContainerShape csh = sh.getContainer();
- if (csh == null)
- return super.getDirectEditingFeature(context);
- bo = getBusinessObjectForPictogramElement(csh);
- if (bo instanceof JavaPersistentType){
- return new DirectEditJPAEntityFeature(this);
- }
- return super.getDirectEditingFeature(context);
- }
-
- public void addMissingRelations(JavaPersistentType newEntity, ContainerShape newShape) {
- Collection<PictogramElement> allContainedPictogramElements = Graphiti.getPeService()
- .getAllContainedPictogramElements(getDiagramTypeProvider().getDiagram());
-
- for (PictogramElement pe : allContainedPictogramElements) {
- if ((pe != newShape) && (pe instanceof ContainerShape)) {
- JavaPersistentType entity = (JavaPersistentType)getBusinessObjectForPictogramElement(pe);
- AbstractRelation newRel = produceNecessaryRelation(newEntity, entity);
- if (newRel != null) {
- JavaPersistentType owner = newRel.getOwner();
- JavaPersistentType inverse = newRel.getInverse();
- ContainerShape ownerShape = (ContainerShape)getPictogramElementForBusinessObject(owner);
- ContainerShape inverseShape = (ContainerShape)getPictogramElementForBusinessObject(inverse);
- AddRelationFeature f = new AddRelationFeature(this);
- AddConnectionContext ctx =
- new AddConnectionContext(JPAEditorUtil.getAnchor(ownerShape), JPAEditorUtil.getAnchor(inverseShape));
- f.add(ctx);
- }
- }
- }
- }
-
- public void renewAttributeJoiningStrategyPropertyListener(JavaPersistentAttribute jpa) {
- ((JPASolver)getIndependenceSolver()).renewAttributeJoiningStrategyPropertyListener(jpa);
- }
-
- private AbstractRelation produceNecessaryRelation(JavaPersistentType ent1, JavaPersistentType ent2) {
- return null;
- }
-
- public String produceKeyForRel(JavaPersistentType jpt, String attributeName) {
- return ((JPASolver)getIndependenceSolver()).produceKeyForRel(jpt, attributeName);
- }
-
-
- public ClickAddAttributeButtonFeature getClickAddAttributeButtonFeature() {
- if (clickAddAttBtnFeat == null) {
- clickAddAttBtnFeat = new ClickAddAttributeButtonFeature(this);
- }
- return clickAddAttBtnFeat;
- }
-
- public ClickRemoveAttributeButtonFeature getClickRemoveAttributeButtonFeature() {
- if (clickRemoveAttBtnFeat == null) {
- clickRemoveAttBtnFeat = new ClickRemoveAttributeButtonFeature(this);
- }
- return clickRemoveAttBtnFeat;
- }
-
- @Override
- public IMoveConnectionDecoratorFeature getMoveConnectionDecoratorFeature(
- IMoveConnectionDecoratorContext context) {
- return new JPAMoveConnectionDecoratorFeature(this);
- }
-
- public Object getBusinessObjectForKey(String key) {
- return getIndependenceSolver().getBusinessObjectForKey(key);
- }
-
- public String getKeyForBusinessObject(Object bo) {
- return getIndependenceSolver().getKeyForBusinessObject(bo);
- }
-
- public void putKeyToBusinessObject(String key, Object bo) {
- ((JPASolver)getIndependenceSolver()).addKeyBusinessObject(key, bo);
- }
-
- public Object remove(String key) {
- return remove(key, false);
- }
-
- public Object remove(String key, boolean save) {
- Object res = getBusinessObjectForKey(key);
- if (res instanceof JavaPersistentType) {
- final JavaPersistentType jpt = (JavaPersistentType)res;
- if (save)
- JpaArtifactFactory.instance().forceSaveEntityClass(jpt, this);
- if(!(jpt.getMapping() instanceof JavaEntity)){
- PlatformUI.getWorkbench().getDisplay().syncExec(new Runnable() {
- public void run() {
- removeFromDiagramIfNotEntity(jpt);
- }});
- }
-
- }
- return ((JPASolver)getIndependenceSolver()).remove(key);
- }
-
-
- protected void removeAllConnections(Shape shape) {
- for (Iterator<Anchor> iter = shape.getAnchors().iterator(); iter.hasNext();) {
- Anchor anchor = iter.next();
- for (Iterator<Connection> iterator = Graphiti.getPeService().getAllConnections(anchor).iterator(); iterator.hasNext();) {
- Connection connection = iterator.next();
- if (GraphitiInternal.getEmfService().isObjectAlive(connection)) {
- Object ob = getBusinessObjectForPictogramElement(connection);
- if(ob instanceof AbstractRelation){
- String key = getKeyForBusinessObject(ob);
- ((JPASolver)getIndependenceSolver()).remove(key);
- }
- Graphiti.getPeService().deletePictogramElement(connection);
- }
- }
- }
- }
-
-
- private void removeFromDiagramIfNotEntity(final JavaPersistentType jpt) {
- final PictogramElement cs = this.getPictogramElementForBusinessObject(jpt);
- if (cs != null) {
- final Shape shape = (Shape) cs;
- TransactionalEditingDomain ted = ModelIntegrationUtil.getTransactionalEditingDomain(this
- .getDiagramTypeProvider().getDiagram());
- ted.getCommandStack().execute(new RecordingCommand(ted) {
- @Override
- protected void doExecute() {
- removeAllConnections(shape);
- Graphiti.getPeService().deletePictogramElement(cs);
- }
- });
- }
- }
-
-
-
- public boolean hasObjectWithName(String name) {
- return ((JPASolver)getIndependenceSolver()).containsKey(name);
- }
-
- public void replaceAttribute(final JavaPersistentAttribute oldAt, final JavaPersistentAttribute newAt) {
- final PictogramElement pe = this.getPictogramElementForBusinessObject(oldAt);
- if (pe == null) {
- //System.err.println("PictogramElement is null\n");
- throw new RuntimeException();
- //return;
- }
- TransactionalEditingDomain ted = TransactionUtil.getEditingDomain(pe);
- ted.getCommandStack().execute(new RecordingCommand(ted) {
- protected void doExecute() {
- JPASolver solver = (JPASolver)getIndependenceSolver();
- solver.remove(solver.getKeyForBusinessObject(oldAt));
- solver.addKeyBusinessObject(solver.getKeyForBusinessObject(newAt), newAt);
- if (newAt == null) {
- System.err.println("New attribute is null\n"); //$NON-NLS-1$
- new Exception().printStackTrace();
- return;
- }
- link(pe, newAt);
- GraphicsAlgorithm ga = pe.getGraphicsAlgorithm();
- if (ga == null)
- return;
- List<GraphicsAlgorithm> ch = ga.getGraphicsAlgorithmChildren();
- ((Text)ch.get(0)).setValue(newAt.getName());
- }
- });
- }
-
- public boolean doesRelationExist(JavaPersistentType owner,
- JavaPersistentType inverse,
- String ownerAttributeName,
- RelType relType,
- RelDir relDir) {
-
- String id = AbstractRelation.generateId(owner, inverse, ownerAttributeName, relType, relDir);
- return (getBusinessObjectForKey(id) != null);
- }
-
- public boolean isRelationRelatedToAttribute(JavaPersistentAttribute jpa) {
- return ((JPASolver)getIndependenceSolver()).isRelationRelatedToAttribute(jpa);
- }
-
- public IRelation getRelationRelatedToAttribute(JavaPersistentAttribute jpa) {
- return ((JPASolver)getIndependenceSolver()).getRelationRelatedToAttribute(jpa);
- }
-
- public ICompilationUnit getCompilationUnit(JavaPersistentType jpt) {
- return ((JPASolver)getIndependenceSolver()).getCompilationUnit(jpt);
- }
-
- public void restoreEntity(JavaPersistentType jpt) {
- ((JPASolver)getIndependenceSolver()).restoreEntity(jpt);
- }
-
- public int getAttribsNum(Shape sh) {
- String s = Graphiti.getPeService().getPropertyValue(sh, JPAEditorConstants.PROP_ATTRIBS_NUM);
- int res = 0;
- if (s == null) {
- setAttribsNum(0, sh);
- } else {
- res = Integer.parseInt(s);
- }
- return res;
- }
-
- public int increaseAttribsNum(Shape sh) {
- int attribsNum = getAttribsNum(sh);
- attribsNum++;
- setAttribsNum(attribsNum, sh);
- return attribsNum;
- }
-
- public int decreaseAttribsNum(Shape sh) {
- int attribsNum = getAttribsNum(sh);
- attribsNum--;
- setAttribsNum(attribsNum, sh);
- return attribsNum;
- }
-
- public void setAttribsNum(int newAttribsNum, Shape sh) {
- Graphiti.getPeService().setPropertyValue(sh, JPAEditorConstants.PROP_ATTRIBS_NUM, "" + newAttribsNum); //$NON-NLS-1$
- }
-
- /*
- public Collection<ResourceOperation> getAffectedPartitionsForModification() {
- return new HashSet<ResourceOperation>();
- }
- */
-
- public void dispose() {
- stopThread();
- ((JPASolver)getIndependenceSolver()).dispose();
- setIndependenceSolver(null);
- }
-
-
- public IPeServiceUtil getPeUtil() {
- return peUtil;
- }
-
- public IJPAEditorUtil getJPAEditorUtil() {
- return this.jpaEditorUtil;
- }
-
- public IModelIntegrationUtil getMoinIntegrationUtil() {
- return moinIntegrationUtil;
- }
-
- public IGraphicsUpdater getGraphicsUpdater() {
- return graphicsUpdater;
- }
-
- public TransactionalEditingDomain getTransactionalEditingDomain() {
- Diagram diagram = getDiagramTypeProvider().getDiagram();
- return TransactionUtil.getEditingDomain(diagram);
- }
-
- public PictogramElement getPictogramElementForBusinessObject(Object businessObject) {
- PictogramElement pe = super.getPictogramElementForBusinessObject(businessObject);
- /*
- int cnt = 0;
- while ((pe == null) && (cnt < 20)) {
- //System.out.println("loop");
- try {
- Thread.sleep(250);
- } catch (InterruptedException e) {
- }
- System.out.println("loop; hc:" + businessObject.hashCode());
- pe = super.getPictogramElementForBusinessObject(businessObject);
- cnt++;
- }
- if (pe == null) {
- System.out.println("FP - PE is null; hc:" + businessObject.hashCode());
- }
- */
- return pe;
- }
-
- public Properties loadProperties(IProject project) {
- return JPADiagramPropertyPage.loadProperties(project);
- }
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/JPAEditorImageCreator.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/JPAEditorImageCreator.java
deleted file mode 100644
index eb3198065a..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/JPAEditorImageCreator.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Kiril Mitov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.provider;
-
-import org.eclipse.graphiti.mm.algorithms.Image;
-import org.eclipse.graphiti.mm.algorithms.Polyline;
-import org.eclipse.graphiti.mm.algorithms.Text;
-import org.eclipse.graphiti.mm.pictograms.Connection;
-import org.eclipse.graphiti.mm.pictograms.ConnectionDecorator;
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-import org.eclipse.graphiti.mm.pictograms.FreeFormConnection;
-import org.eclipse.graphiti.services.Graphiti;
-import org.eclipse.graphiti.util.IColorConstant;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.swt.graphics.Point;
-
-public class JPAEditorImageCreator implements IJPAEditorImageCreator {
-
- public Polyline createConnectionLine(Diagram d, Connection connection) {
- Polyline polyline = Graphiti.getGaService().createPolyline(connection);
- polyline.setForeground(Graphiti.getGaService().manageColor(d, JPAEditorConstants.CONNECTION_LINE_COLOR));
- polyline.setLineWidth(JPAEditorConstants.CONNECTION_LINE_WIDTH);
- return polyline;
- }
-
- /*
- public ConnectionDecorator createTextConnectionDecorator(Connection connection, String text, double location) {
- ConnectionDecorator textDecorator = Graphiti.getPeService().createConnectionDecorator(connection, true, 0.5, true);
- Text txt = Graphiti.getGaService().createDefaultText(textDecorator);
- txt.setLineWidth(JPAEditorConstants.CONNECTION_LINE_WIDTH);
- txt.setValue(text);
- Graphiti.getGaService().manageColor(connection.getParent(), IColorConstant.BLACK);
- Graphiti.getGaService().setLocation(txt, 5, -20);
- return textDecorator;
- }
- */
-
- public ConnectionDecorator createCardinalityConnectionDecorator(Diagram d, Connection c, String text, double location) {
- ConnectionDecorator textDecorator = Graphiti.getPeService().createConnectionDecorator(c, true, location, true);
- Text txt = Graphiti.getGaService().createDefaultText(d, textDecorator);
- txt.setLineWidth(JPAEditorConstants.CONNECTION_LINE_WIDTH);
- txt.setValue(text);
- Graphiti.getGaService().manageColor(c.getParent(), IColorConstant.BLACK);
- Point pt = JPAEditorUtil.recalcTextDecoratorPosition((FreeFormConnection)c, textDecorator);
- Graphiti.getGaService().setLocation(txt, pt.x, pt.y, false);
- return textDecorator;
- }
-
- public ConnectionDecorator createArrowConnectionDecorator(Connection connection, double location) {
- ConnectionDecorator cd = Graphiti.getPeService().createConnectionDecorator(connection, false, location, true);
- Polyline arrow = null;
- arrow = Graphiti.getGaService().createPolyline(cd, new int[] { 11, 3, 0, 0, 11, -3, 11, 3});
- arrow.setForeground(Graphiti.getGaService().manageColor(connection.getParent(), JPAEditorConstants.CONNECTION_LINE_COLOR));
- arrow.setLineWidth(JPAEditorConstants.CONNECTION_LINE_WIDTH);
- return cd;
- }
-
- public ConnectionDecorator createManyEndWithArrowDecorator(Connection connection, double location) {
- ConnectionDecorator cd = Graphiti.getPeService().createConnectionDecorator(connection, false, location, true);
- Polyline arrow = null;
- arrow = Graphiti.getGaService().createPolyline(cd, new int[] { -2, 7, 6, 0, -2, -7, 6, 0, 20, 3, 20, -3, 7, 0});
- arrow.setForeground(Graphiti.getGaService().manageColor(connection.getParent(), JPAEditorConstants.CONNECTION_LINE_COLOR));
- arrow.setLineWidth(JPAEditorConstants.CONNECTION_LINE_WIDTH);
- return cd;
- }
-
- public ConnectionDecorator createManyEndDecorator(Connection connection, double location) {
- ConnectionDecorator cd = Graphiti.getPeService().createConnectionDecorator(connection, false, location, true);
- Polyline arrow = null;
- arrow = Graphiti.getGaService().createPolyline(cd, new int[] { 0, 7,
- 8, 0,
- 0, -7 });
- arrow.setForeground(Graphiti.getGaService().manageColor(connection.getParent(), JPAEditorConstants.CONNECTION_LINE_COLOR));
- arrow.setLineWidth(JPAEditorConstants.CONNECTION_LINE_WIDTH);
- return cd;
- }
-
- public ConnectionDecorator createManyStartDecorator(Connection connection, double location) {
- ConnectionDecorator cd = Graphiti.getPeService().createConnectionDecorator(connection, false, location, true);
- Polyline arrow = null;
- arrow = Graphiti.getGaService().createPolyline(cd, new int[] {0, 7,
- -8, 0,
- 0, -7 });
- arrow.setForeground(Graphiti.getGaService().manageColor(connection.getParent(), JPAEditorConstants.CONNECTION_LINE_COLOR));
- arrow.setLineWidth(JPAEditorConstants.CONNECTION_LINE_WIDTH);
- return cd;
- }
-
- public ConnectionDecorator createIconConnectionDecorator(Connection connection, String iconId, double location) {
- ConnectionDecorator iconDecorator = Graphiti.getPeService().createConnectionDecorator(connection, true, location, true);
- Image icon = Graphiti.getGaService().createImage(connection, iconId);
- Graphiti.getGaService().setLocation(icon, 5, -20);
- return iconDecorator;
- }
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/JPAEditorImageProvider.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/JPAEditorImageProvider.java
deleted file mode 100644
index 46905aeafd..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/JPAEditorImageProvider.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.provider;
-
-import org.eclipse.graphiti.ui.platform.AbstractImageProvider;
-
-public class JPAEditorImageProvider extends AbstractImageProvider {
-
- public final static String ID = "org.eclipse.jpt.jpadiagrameditor.ui.JPAEditorImageProvider"; //$NON-NLS-1$
- static final String PRE = "org.eclipse.jpt.jpadiagrameditor.ui."; //$NON-NLS-1$
- public static final String JPA_ENTITY = PRE + "entity"; //$NON-NLS-1$
- public static final String ADD_JPA_ENTITY = PRE + "add_entity"; //$NON-NLS-1$
- public static final String ADD_INHERITED_ENTITY = PRE + "mapped_superclass"; //$NON-NLS-1$
- public static final String PRIMARY_KEY = PRE + "pk"; //$NON-NLS-1$
- public static final String ICON_BASIC = PRE + "field"; //$NON-NLS-1$
- public static final String ADD_ATTRIBUTE = PRE + "add_attribute"; //$NON-NLS-1$
- public static final String REMOVE_ATTRIBUTE = PRE + "remove_attribute"; //$NON-NLS-1$
- public static final String ICON_ONE_TO_ONE = PRE + "one_to_one_relation"; //$NON-NLS-1$
- public static final String ICON_ONE_TO_MANY = PRE + "one_to_many_relation"; //$NON-NLS-1$
- public static final String ICON_MANY_TO_ONE = PRE + "many_to_one_relation"; //$NON-NLS-1$
- public static final String ICON_MANY_TO_MANY = PRE + "many_to_many_relation"; //$NON-NLS-1$
- public static final String ICON_EMBEDDED_ID = PRE + "embedded_id"; //$NON-NLS-1$
- public static final String ICON_VERSION = PRE + "version"; //$NON-NLS-1$
- public static final String ICON_TRANSIENT = PRE + "transient"; //$NON-NLS-1$
- public static final String ICON_EMBEDDED = PRE + "embedded"; //$NON-NLS-1$
- public static final String ICON_UNMAPPED = PRE + "unmapped"; //$NON-NLS-1$
-
-
- public static final String ICON_ONE_TO_ONE_1_DIR = PRE + "one_to_one_1_dir_relation"; //$NON-NLS-1$
- public static final String ICON_ONE_TO_MANY_1_DIR = PRE + "one_to_many_1_dir_relation"; //$NON-NLS-1$
- public static final String ICON_MANY_TO_ONE_1_DIR = PRE + "many_to_one_1_dir_relation"; //$NON-NLS-1$
- public static final String ICON_MANY_TO_MANY_1_DIR = PRE + "many_to_many_1_dir_relation"; //$NON-NLS-1$
-
- public static final String ICON_ONE_TO_ONE_2_DIR = PRE + "one_to_one_2_dir_relation"; //$NON-NLS-1$
- public static final String ICON_MANY_TO_ONE_2_DIR = PRE + "many_to_one_2_dir_relation"; //$NON-NLS-1$
- public static final String ICON_MANY_TO_MANY_2_DIR = PRE + "many_to_many_2_dir_relation"; //$NON-NLS-1$
-
-
- public static final String ICON_SAVE = PRE + "save"; //$NON-NLS-1$
- public static final String ICON_RESTORE = PRE + "restore"; //$NON-NLS-1$
- public static final String ICON_SAVE_AND_REMOVE = PRE + "save_and_remove"; //$NON-NLS-1$
-
- private static final String ROOT_FOLDER_FOR_IMG = "icons/"; //$NON-NLS-1$
-
- public JPAEditorImageProvider() {
- super();
- }
-
- @Override
- protected void addAvailableImages() {
- addImageFilePath(ICON_BASIC, ROOT_FOLDER_FOR_IMG + "ent/basic.gif"); //$NON-NLS-1$
- addImageFilePath(JPA_ENTITY, ROOT_FOLDER_FOR_IMG + "ent/entity.gif"); //$NON-NLS-1$
- addImageFilePath(ADD_JPA_ENTITY, ROOT_FOLDER_FOR_IMG + "ent/add_entity.gif"); //$NON-NLS-1$
- addImageFilePath(ADD_INHERITED_ENTITY, ROOT_FOLDER_FOR_IMG + "ent/mapped-superclass.gif"); //$NON-NLS-1$
- addImageFilePath(PRIMARY_KEY, ROOT_FOLDER_FOR_IMG + "ent/id.gif"); //$NON-NLS-1$
- addImageFilePath(ADD_ATTRIBUTE, ROOT_FOLDER_FOR_IMG + "ent/add_attribute.gif"); //$NON-NLS-1$
- addImageFilePath(REMOVE_ATTRIBUTE, ROOT_FOLDER_FOR_IMG + "ent/remove_attribute.gif"); //$NON-NLS-1$
- addImageFilePath(ICON_ONE_TO_ONE, ROOT_FOLDER_FOR_IMG + "ent/one-to-one.gif"); //$NON-NLS-1$
- addImageFilePath(ICON_ONE_TO_MANY, ROOT_FOLDER_FOR_IMG + "ent/one-to-many.gif"); //$NON-NLS-1$
- addImageFilePath(ICON_MANY_TO_ONE, ROOT_FOLDER_FOR_IMG + "ent/many-to-one.gif"); //$NON-NLS-1$
- addImageFilePath(ICON_MANY_TO_MANY, ROOT_FOLDER_FOR_IMG + "ent/many-to-many.gif"); //$NON-NLS-1$
- addImageFilePath(ICON_EMBEDDED_ID, ROOT_FOLDER_FOR_IMG + "ent/embedded-id.gif"); //$NON-NLS-1$
- addImageFilePath(ICON_VERSION, ROOT_FOLDER_FOR_IMG + "ent/version.gif"); //$NON-NLS-1$
- addImageFilePath(ICON_TRANSIENT, ROOT_FOLDER_FOR_IMG + "ent/transient.gif"); //$NON-NLS-1$
- addImageFilePath(ICON_EMBEDDED, ROOT_FOLDER_FOR_IMG + "ent/embedded.gif"); //$NON-NLS-1$
- addImageFilePath(ICON_UNMAPPED, ROOT_FOLDER_FOR_IMG + "ent/null-attribute-mapping.gif"); //$NON-NLS-1$
-
- addImageFilePath(ICON_ONE_TO_ONE_1_DIR, ROOT_FOLDER_FOR_IMG + "ent/one-to-one-1-dir.gif"); //$NON-NLS-1$
- addImageFilePath(ICON_ONE_TO_MANY_1_DIR, ROOT_FOLDER_FOR_IMG + "ent/one-to-many-1-dir.gif"); //$NON-NLS-1$
- addImageFilePath(ICON_MANY_TO_ONE_1_DIR, ROOT_FOLDER_FOR_IMG + "ent/many-to-one-1-dir.gif"); //$NON-NLS-1$
- addImageFilePath(ICON_MANY_TO_MANY_1_DIR, ROOT_FOLDER_FOR_IMG + "ent/many-to-many-1-dir.gif"); //$NON-NLS-1$
-
- addImageFilePath(ICON_ONE_TO_ONE_2_DIR, ROOT_FOLDER_FOR_IMG + "ent/one-to-one-2-dir.gif"); //$NON-NLS-1$
- addImageFilePath(ICON_MANY_TO_ONE_2_DIR, ROOT_FOLDER_FOR_IMG + "ent/many-to-one-2-dir.gif"); //$NON-NLS-1$
- addImageFilePath(ICON_MANY_TO_MANY_2_DIR, ROOT_FOLDER_FOR_IMG + "ent/many-to-many-2-dir.gif"); //$NON-NLS-1$
-
- addImageFilePath(ICON_SAVE, ROOT_FOLDER_FOR_IMG + "save.gif"); //$NON-NLS-1$
- addImageFilePath(ICON_RESTORE, ROOT_FOLDER_FOR_IMG + "restore.gif"); //$NON-NLS-1$
- addImageFilePath(ICON_SAVE_AND_REMOVE, ROOT_FOLDER_FOR_IMG + "save_and_remove.gif"); //$NON-NLS-1$
- }
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/JPAEditorToolBehaviorProvider.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/JPAEditorToolBehaviorProvider.java
deleted file mode 100644
index 7a7898f0e0..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/provider/JPAEditorToolBehaviorProvider.java
+++ /dev/null
@@ -1,619 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.provider;
-
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.QualifiedName;
-import org.eclipse.graphiti.dt.IDiagramTypeProvider;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.ICustomContext;
-import org.eclipse.graphiti.features.context.IDoubleClickContext;
-import org.eclipse.graphiti.features.context.IPictogramElementContext;
-import org.eclipse.graphiti.features.context.impl.CreateContext;
-import org.eclipse.graphiti.features.context.impl.CustomContext;
-import org.eclipse.graphiti.features.context.impl.DeleteContext;
-import org.eclipse.graphiti.features.context.impl.RemoveContext;
-import org.eclipse.graphiti.features.custom.ICustomFeature;
-import org.eclipse.graphiti.internal.features.context.impl.base.PictogramElementContext;
-import org.eclipse.graphiti.mm.algorithms.GraphicsAlgorithm;
-import org.eclipse.graphiti.mm.algorithms.Rectangle;
-import org.eclipse.graphiti.mm.algorithms.Text;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.graphiti.palette.IPaletteCompartmentEntry;
-import org.eclipse.graphiti.palette.IToolEntry;
-import org.eclipse.graphiti.palette.impl.PaletteCompartmentEntry;
-import org.eclipse.graphiti.platform.IPlatformImageConstants;
-import org.eclipse.graphiti.services.Graphiti;
-import org.eclipse.graphiti.tb.ContextButtonEntry;
-import org.eclipse.graphiti.tb.ContextEntryHelper;
-import org.eclipse.graphiti.tb.ContextMenuEntry;
-import org.eclipse.graphiti.tb.DefaultToolBehaviorProvider;
-import org.eclipse.graphiti.tb.IContextButtonEntry;
-import org.eclipse.graphiti.tb.IContextButtonPadData;
-import org.eclipse.graphiti.tb.IContextMenuEntry;
-import org.eclipse.graphiti.tb.IDecorator;
-import org.eclipse.graphiti.tb.ImageDecorator;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.JPADiagramEditorPlugin;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.facade.EclipseFacade;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.AddAllEntitiesFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.ClickAddAttributeButtonFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.ClickRemoveAttributeButtonFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.CollapseAllEntitiesFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.CollapseCompartmentShapeFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.CollapseEntityFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.DeleteJPAEntityFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.DiscardAndRemoveAllEntitiesFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.ExpandAllEntitiesFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.ExpandCompartmentShapeFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.ExpandEntityFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.MoveEntityFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.OpenJPADetailsViewFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.OpenMiniatureViewFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.RefactorAttributeTypeFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.RemoveAndSaveEntityFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.RemoveJPAEntityFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.RenameEntityFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.RestoreEntityFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.SaveAndRemoveAllEntitiesFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.SaveEntityFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.ui.JPAEditorMatchingStrategy;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.GraphicsUpdater;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IEclipseFacade;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants.ShapeType;
-import org.eclipse.ui.PartInitException;
-
-@SuppressWarnings("restriction")
-public class JPAEditorToolBehaviorProvider extends DefaultToolBehaviorProvider {
-
- private IEclipseFacade facade;
-
- public JPAEditorToolBehaviorProvider(IDiagramTypeProvider dtp) {
- this(dtp, EclipseFacade.INSTANCE);
- }
-
- public JPAEditorToolBehaviorProvider(IDiagramTypeProvider dtp, IEclipseFacade eclipseFacade) {
- super(dtp);
- this.facade = eclipseFacade;
- }
-
- @Override
- public IContextButtonPadData getContextButtonPad(IPictogramElementContext context) {
- IContextButtonPadData data = super.getContextButtonPad(context);
- ContainerShape cs = null;
- PictogramElement pe = ((PictogramElementContext) context).getPictogramElement();
- Object ob = getFeatureProvider().getBusinessObjectForPictogramElement(pe);
- if (ob == null){
- return null;
- }
- if (pe instanceof ContainerShape) {
- cs = (ContainerShape)pe;
- GraphicsAlgorithm ga = cs.getGraphicsAlgorithm();
- if (ga instanceof Rectangle) {
- List<GraphicsAlgorithm> gas = ((Rectangle)ga).getGraphicsAlgorithmChildren();
- if ((gas.size() > 0) && (gas.get(0) instanceof Text)) {
- setGenericContextButtons(data, pe, 0);
- ClickRemoveAttributeButtonFeature feat = getConcreteFeatureProvider()
- .getClickRemoveAttributeButtonFeature();
- DeleteContext delCtx = new DeleteContext(cs);
- ContextButtonEntry btn = new ContextButtonEntry(feat, delCtx);
- btn.setText(JPAEditorMessages.JPAEditorToolBehaviorProvider_deleteAttributeButtonlabel);
- btn.setDescription(JPAEditorMessages.JPAEditorToolBehaviorProvider_deleteAttributeButtonDescription);
- btn.setIconId(IPlatformImageConstants.IMG_EDIT_DELETE);
- data.getDomainSpecificContextButtons().add(btn);
- return data;
- }
- }
- } else {
- return data;
- }
-
- setGenericContextButtons(data, pe, CONTEXT_BUTTON_DELETE
- | CONTEXT_BUTTON_REMOVE);
- List<IContextButtonEntry> buttons = data.getGenericContextButtons();
- Iterator<IContextButtonEntry> btnsIt = buttons.iterator();
- while (btnsIt.hasNext()) {
- IContextButtonEntry button = btnsIt.next();
- if (button.getFeature() instanceof RemoveJPAEntityFeature) {
- button.setText(JPAEditorMessages.JPAEditorToolBehaviorProvider_removeEntityFromDiagramButtonLabel);
- button.setDescription(JPAEditorMessages.JPAEditorToolBehaviorProvider_removeEntityFromDiagramButtonDescription);
- } else if (button.getFeature() instanceof DeleteJPAEntityFeature) {
- button.setText(JPAEditorMessages.JPAEditorToolBehaviorProvider_deleteEntityFromModelButtonLabel);
- button.setDescription(JPAEditorMessages.JPAEditorToolBehaviorProvider_deleteEntityFromModelButtonDescription);
- }
- }
-
- ContextButtonEntry button = null;
- if (context instanceof PictogramElementContext) {
-
- ClickAddAttributeButtonFeature feature = getConcreteFeatureProvider().getClickAddAttributeButtonFeature();
- CreateContext createCtx = new CreateContext();
- createCtx.setTargetContainer(cs);
- button = new ContextButtonEntry(feature, createCtx);
- button.setText(JPAEditorMessages.JPAEditorToolBehaviorProvider_createAttributeButtonlabel);
- button.setDescription(JPAEditorMessages.JPAEditorToolBehaviorProvider_createAttributeButtonDescription);
- button.setIconId(JPAEditorImageProvider.ADD_ATTRIBUTE);
- data.getDomainSpecificContextButtons().add(button);
-
- PictogramElementContext c = (PictogramElementContext) context;
- RemoveAndSaveEntityFeature ft2 = new RemoveAndSaveEntityFeature(getFeatureProvider());
- RemoveContext remCtx = new RemoveContext(c.getPictogramElement());
- button = new ContextButtonEntry(ft2, remCtx);
- button.setText(JPAEditorMessages.JPAEditorToolBehaviorProvider_removeAndSaveButtonText);
- button.setDescription(JPAEditorMessages.JPAEditorToolBehaviorProvider_removeAndSaveButtonDescription);
- button.setIconId(JPAEditorImageProvider.ICON_SAVE_AND_REMOVE);
- data.getDomainSpecificContextButtons().add(button);
-
- SaveEntityFeature ft = new SaveEntityFeature(getConcreteFeatureProvider());
- CustomContext ctx = new CustomContext();
- ctx.setPictogramElements(new PictogramElement[] { c.getPictogramElement() });
- button = new ContextButtonEntry(ft, ctx);
- button.setText(JPAEditorMessages.JPAEditorToolBehaviorProvider_saveButtonText);
- button.setDescription(JPAEditorMessages.JPAEditorToolBehaviorProvider_saveButtonDescription);
- button.setIconId(JPAEditorImageProvider.ICON_SAVE);
- data.getDomainSpecificContextButtons().add(button);
-
- RestoreEntityFeature ft1 = new RestoreEntityFeature(getConcreteFeatureProvider());
- ctx = new CustomContext();
- ctx.setPictogramElements(new PictogramElement[] { c.getPictogramElement() });
- button = new ContextButtonEntry(ft1, ctx);
- button.setText(JPAEditorMessages.JPAEditorToolBehaviorProvider_restoreButtonText);
- button.setDescription(JPAEditorMessages.JPAEditorToolBehaviorProvider_restoreButtonDescription);
- button.setIconId(JPAEditorImageProvider.ICON_RESTORE);
- data.getDomainSpecificContextButtons().add(button);
-
- ctx = new CustomContext(new PictogramElement[] { pe });
- IFeatureProvider featureProvider = getFeatureProvider();
- ICustomFeature[] customFeatures = featureProvider.getCustomFeatures(ctx);
- int featureCount = customFeatures.length;
- for (int i = 0; i < featureCount; i++) {
- ICustomFeature customFeature = customFeatures[i];
- if (customFeature.isAvailable(ctx)) {
- if ((customFeature instanceof CollapseEntityFeature)) {
- IContextButtonEntry contextButton = ContextEntryHelper
- .createCollapseContextButton(true, customFeature, ctx);
- data.setCollapseContextButton(contextButton);
- } else if ((customFeature instanceof ExpandEntityFeature)) {
- IContextButtonEntry contextButton = ContextEntryHelper
- .createCollapseContextButton(false, customFeature, ctx);
- data.setCollapseContextButton(contextButton);
- }
- }
- }
- }
-
- return data;
- }
-
-
- @Override
- public IPaletteCompartmentEntry[] getPalette() {
- List<IPaletteCompartmentEntry> ret =
- new ArrayList<IPaletteCompartmentEntry>();
- IPaletteCompartmentEntry[] superCompartments =
- super.getPalette();
- for (int i = 0; i < superCompartments.length; i++) {
- String newLabel = (superCompartments[i].getLabel().equals("Objects") ? //$NON-NLS-1$
- JPAEditorMessages.PaletteCompartment_Objects :
- JPAEditorMessages.PaletteCompartment_Connections);
- PaletteCompartmentEntry entry = new PaletteCompartmentEntry(newLabel, superCompartments[i].getIconId());
- List<IToolEntry> lst = superCompartments[i].getToolEntries();
- Iterator<IToolEntry> it = lst.iterator();
- while(it.hasNext()) {
- entry.addToolEntry(it.next());
- }
- ret.add(entry);
- }
- IPaletteCompartmentEntry en = ret.get(0);
- ret.set(0, ret.get(1));
- ret.set(1, en);
- return ret.toArray(new IPaletteCompartmentEntry[ret.size()]);
- }
-
- @Override
- public IDecorator[] getDecorators(PictogramElement pe) {
- IFeatureProvider featureProvider = getFeatureProvider();
- Object bo = featureProvider.getBusinessObjectForPictogramElement(pe);
-
- if (bo instanceof JavaPersistentType) {
- JavaPersistentType persistentType = (JavaPersistentType) bo;
- IFile file = (IFile) persistentType.getResource();
- if(!file.exists()){
- return new IDecorator[0];
- }
- IMarker[] markers = new IMarker[0];
- try {
- markers = file.findMarkers(null, true, IResource.DEPTH_INFINITE);
- IDecorator[] result = new IDecorator[1];
- if (markers.length == 0)
- return super.getDecorators(pe);
- IMarker marker = getHighestPrioMarker(markers);
- ImageDecorator imageRenderingDecorator = createDecoratorFromMarker(marker);
- if (imageRenderingDecorator != null) {
- imageRenderingDecorator.setX(5 * (pe.getGraphicsAlgorithm().getWidth() / 6));
- imageRenderingDecorator.setY(5 * (pe.getGraphicsAlgorithm().getHeight() / 6));
- result[0] = imageRenderingDecorator;
- }
- if (result[0] != null)
- return result;
- } catch (CoreException e) {
- JPADiagramEditorPlugin.getDefault().getLog().log(e.getStatus());
- }
- }
- return super.getDecorators(pe);
- }
-
- private IMarker getHighestPrioMarker(IMarker[] markers) {
- IMarker result = markers[0];
- for (IMarker marker : markers) {
- try {
- final Integer resultSeverity = (Integer) result.getAttribute(IMarker.SEVERITY);
- if (resultSeverity == null)
- continue;
- if (IMarker.SEVERITY_ERROR == resultSeverity)
- // return the first error marker
- break;
- Integer markerSeverity = (Integer) marker.getAttribute(IMarker.SEVERITY);
- if ((markerSeverity != null) && (markerSeverity > resultSeverity))
- result = marker;
- } catch (CoreException e) {
- JPADiagramEditorPlugin.getDefault().getLog().log(e.getStatus());
- continue;
- }
- }
- return result;
- }
-
- private ImageDecorator createDecoratorFromMarker(IMarker marker) {
- try {
- Integer severity = (Integer) marker.getAttribute(IMarker.SEVERITY);
- String decoratorType = IPlatformImageConstants.IMG_ECLIPSE_INFORMATION_TSK;
- if (severity != null) {
- switch (severity) {
- case 0:
- decoratorType = IPlatformImageConstants.IMG_ECLIPSE_INFORMATION_TSK;
- case 1:
- decoratorType = IPlatformImageConstants.IMG_ECLIPSE_WARNING_TSK;
- break;
- case 2:
- decoratorType = IPlatformImageConstants.IMG_ECLIPSE_ERROR_TSK;
- break;
- }
- ImageDecorator imageRenderingDecorator = new ImageDecorator(decoratorType);
- imageRenderingDecorator.setMessage((String) marker.getAttribute(IMarker.MESSAGE));
- return imageRenderingDecorator;
- }
- return null;
- } catch (CoreException e) {
- JPADiagramEditorPlugin.getDefault().getLog().log(e.getStatus());
- return null;
- }
- }
-
- public String getToolTip(GraphicsAlgorithm ga) {
- PictogramElement pe = ga.getPictogramElement();
- if (!(ga instanceof Rectangle))
- return null;
- List<GraphicsAlgorithm> ch = ga.getGraphicsAlgorithmChildren();
- if ((ch == null) || (ch.size() == 0))
- return null;
- ga = ch.get(0);
- if (!(ga instanceof Text))
- return null;
- if(((Text)ga).getFont().isItalic()){
- return getToolTipForCompartmentShape(ga);
- }
-
- Object bo = getFeatureProvider().getBusinessObjectForPictogramElement(pe);
- if (bo != null) {
- if (bo instanceof JavaPersistentType) {
- String superPersistentTypeName = null;
- if (((JavaPersistentType) bo).getSuperPersistentType() != null) {
- superPersistentTypeName = ((JavaPersistentType) bo).getSuperPersistentType().getName();
- }
- return JPAEditorUtil.getTooltipText((JavaPersistentType)bo, superPersistentTypeName);
- } else {
- if (bo instanceof JavaPersistentAttribute) {
- return JPAEditorUtil.getTooltipText((JavaPersistentAttribute)bo);
- }
- }
- }
- if (!(pe instanceof Shape))
- return null;
- Shape sh = (Shape)pe;
- ContainerShape csh = sh.getContainer();
- if (csh == null)
- return null;
- bo = getFeatureProvider().getBusinessObjectForPictogramElement(csh);
- if (bo instanceof JavaPersistentType) {
- String superPersistentTypeName = null;
- if (((JavaPersistentType) bo).getSuperPersistentType() != null) {
- superPersistentTypeName = ((JavaPersistentType) bo)
- .getSuperPersistentType().getName();
- }
- return JPAEditorUtil.getTooltipText((JavaPersistentType) bo,
- superPersistentTypeName);
- }
- return null;
- }
-
- private String getToolTipForCompartmentShape(GraphicsAlgorithm ga) {
- Text txt = (Text) ga;
- ContainerShape shape = (ContainerShape) Graphiti.getPeService().getActiveContainerPe(ga);
- if(GraphicsUpdater.isCollapsed(shape))
- return MessageFormat.format(JPAEditorMessages.JPAEditorToolBehaviorProvider_expandCompartToolTip, txt.getValue());
- return MessageFormat.format(JPAEditorMessages.JPAEditorToolBehaviorProvider_collapseCompartToolTip, txt.getValue());
- }
-
- protected JPAEditorFeatureProvider getConcreteFeatureProvider() {
- return (JPAEditorFeatureProvider)super.getFeatureProvider();
- }
-
- @Override
- public IContextMenuEntry[] getContextMenu(ICustomContext context) {
- ICustomContext customContext = (ICustomContext)context;
- PictogramElement[] pictEls = customContext.getPictogramElements();
-
- ICustomFeature saveEntityFeature = new SaveEntityFeature(getFeatureProvider());
- ContextMenuEntry saveEntityMenuItem = new ContextMenuEntry(saveEntityFeature, context);
- saveEntityMenuItem.setText(JPAEditorMessages.JPAEditorToolBehaviorProvider_saveMenuItem);
- saveEntityMenuItem.setDescription(JPAEditorMessages.JPAEditorToolBehaviorProvider_saveMenuItemDescr);
- saveEntityMenuItem.setSubmenu(false);
-
- ICustomFeature restoreEntityFeature = new RestoreEntityFeature(getFeatureProvider());
- ContextMenuEntry restoreEntityMenuItem = new ContextMenuEntry(restoreEntityFeature, context);
- restoreEntityMenuItem.setText(JPAEditorMessages.JPAEditorToolBehaviorProvider_discardChangesMenuItem);
- restoreEntityMenuItem.setDescription(JPAEditorMessages.JPAEditorToolBehaviorProvider_discardChangesMenuItemDescr);
- restoreEntityMenuItem.setSubmenu(false);
-
- ICustomFeature collapseFeature = new CollapseEntityFeature(getFeatureProvider());
- ContextMenuEntry collapseEntityMenuItem = new ContextMenuEntry(collapseFeature, context);
- collapseEntityMenuItem.setText(JPAEditorMessages.JPAEditorToolBehaviorProvider_collapseEntityMenuItem);
- collapseEntityMenuItem.setDescription(JPAEditorMessages.JPAEditorToolBehaviorProvider_collapseEntityMenuItemDescr);
- collapseEntityMenuItem.setSubmenu(false);
-
- ICustomFeature collapseAllFeature = new CollapseAllEntitiesFeature(getFeatureProvider());
- ContextMenuEntry collapseAllMenuItem = new ContextMenuEntry(collapseAllFeature, context);
- collapseAllMenuItem.setText(JPAEditorMessages.JPAEditorToolBehaviorProvider_collapseAllEntitiesMenuItem);
- collapseAllMenuItem.setDescription(JPAEditorMessages.JPAEditorToolBehaviorProvider_collapseAllEntitiesMenuItemDescr);
- collapseAllMenuItem.setSubmenu(false);
-
- ICustomFeature expandFeature = new ExpandEntityFeature(getFeatureProvider());
- ContextMenuEntry expandEntityMenuItem= new ContextMenuEntry(expandFeature, context);
- expandEntityMenuItem.setText(JPAEditorMessages.JPAEditorToolBehaviorProvider_expandEntityMenuItem);
- expandEntityMenuItem.setDescription(JPAEditorMessages.JPAEditorToolBehaviorProvider_expandEntitymenuItemDescr);
- expandEntityMenuItem.setSubmenu(false);
-
- ICustomFeature expandAllFeature = new ExpandAllEntitiesFeature(getFeatureProvider());
- ContextMenuEntry expandAllMenuItem= new ContextMenuEntry(expandAllFeature, context);
- expandAllMenuItem.setText(JPAEditorMessages.JPAEditorToolBehaviorProvider_expandAllEntitiesMenuItem);
- expandAllMenuItem.setDescription(JPAEditorMessages.JPAEditorToolBehaviorProvider_expandAllEntitiesMenuItemDescr);
- expandAllMenuItem.setSubmenu(false);
-
- ICustomFeature openJPADetailsViewFeature = new OpenJPADetailsViewFeature(getFeatureProvider());
- ContextMenuEntry openJPADetailsViewMenuItem = new ContextMenuEntry(openJPADetailsViewFeature, context);
- openJPADetailsViewMenuItem.setText(JPAEditorMessages.JPAEditorToolBehaviorProvider_openJPADetailsView);
- openJPADetailsViewMenuItem.setDescription(JPAEditorMessages.JPAEditorToolBehaviorProvider_openJPADetailsViewDesc);
- openJPADetailsViewMenuItem.setSubmenu(false);
-
- ICustomFeature openMiniatureViewFeature = new OpenMiniatureViewFeature(getFeatureProvider());
- ContextMenuEntry openMiniatureViewMenuItem = new ContextMenuEntry(openMiniatureViewFeature, context);
- openMiniatureViewMenuItem.setText(JPAEditorMessages.JPAEditorToolBehaviorProvider_openMiniatureView);
- openMiniatureViewMenuItem.setDescription(JPAEditorMessages.JPAEditorToolBehaviorProvider_openMiniatureViewDesc);
- openMiniatureViewMenuItem.setSubmenu(false);
-
- boolean isEmpty = true;
- ContextMenuEntry removeAllEntitiesSubmenu = null;
- if(getDiagramTypeProvider().getDiagram().getChildren().size()!=0){
- isEmpty = false;
- removeAllEntitiesSubmenu = new ContextMenuEntry(null, null);
- removeAllEntitiesSubmenu.setText(JPAEditorMessages.JPAEditorToolBehaviorProvider_removeAllEntitiesMenu);
- removeAllEntitiesSubmenu.setDescription(JPAEditorMessages.JPAEditorToolBehaviorProvider_removeAllEntitiesMenu);
- removeAllEntitiesSubmenu.setSubmenu(true);
-
- ICustomFeature customFeature = new SaveAndRemoveAllEntitiesFeature(getFeatureProvider());
- ContextMenuEntry saveAndRemovEntityMenuItem = new ContextMenuEntry(customFeature, context);
- saveAndRemovEntityMenuItem.setText(JPAEditorMessages.JPAEditorToolBehaviorProvider_removeAndSaveAllEntitiesAction);
- saveAndRemovEntityMenuItem.setDescription(JPAEditorMessages.JPAEditorToolBehaviorProvider_removeAndSaveAllEntitiesAction);
- saveAndRemovEntityMenuItem.setSubmenu(false);
-
- customFeature = new DiscardAndRemoveAllEntitiesFeature(getFeatureProvider());
- ContextMenuEntry discardAndRemovEntityMenuItem = new ContextMenuEntry(customFeature, context);
- discardAndRemovEntityMenuItem.setText(JPAEditorMessages.JPAEditorToolBehaviorProvider_removeAndDiscardAllEntitiesAction);
- discardAndRemovEntityMenuItem.setDescription(JPAEditorMessages.JPAEditorToolBehaviorProvider_removeAndDiscardAllEntitiesAction);
- discardAndRemovEntityMenuItem.setSubmenu(false);
-
- removeAllEntitiesSubmenu.add(saveAndRemovEntityMenuItem);
- removeAllEntitiesSubmenu.add(discardAndRemovEntityMenuItem);
-
- }
-
-
- if ((pictEls == null) || (pictEls.length == 0))
- return new IContextMenuEntry[] { openJPADetailsViewMenuItem };
- if (pictEls[0] instanceof ContainerShape) {
- Object ob = getFeatureProvider().getBusinessObjectForPictogramElement(pictEls[0]);
- if (pictEls[0] instanceof Diagram) {
- ICustomFeature customFeature = new AddAllEntitiesFeature(getFeatureProvider());
- ContextMenuEntry showAllEntsMenuItem = new ContextMenuEntry(customFeature, context);
- showAllEntsMenuItem.setText(JPAEditorMessages.JPAEditorToolBehaviorProvider_showAllTheEntities);
- showAllEntsMenuItem.setDescription(JPAEditorMessages.JPAEditorToolBehaviorProvider_showAllTheEntitiesDesc);
- showAllEntsMenuItem.setSubmenu(false);
- if(isEmpty){
- return new IContextMenuEntry[] { showAllEntsMenuItem,
- collapseAllMenuItem,
- expandAllMenuItem,
- openJPADetailsViewMenuItem,
- openMiniatureViewMenuItem};
- } else {
- return new IContextMenuEntry[] { showAllEntsMenuItem,
- removeAllEntitiesSubmenu,
- collapseAllMenuItem,
- expandAllMenuItem,
- openJPADetailsViewMenuItem,
- openMiniatureViewMenuItem};
- }
- }
- if((ob == null) && (pictEls[0].getGraphicsAlgorithm() instanceof Rectangle)){
- ICustomFeature collapseCompartmentFeature = new CollapseCompartmentShapeFeature(getFeatureProvider());
- ContextMenuEntry collapseCompartmentMenuItem = new ContextMenuEntry(collapseCompartmentFeature, context);
- collapseCompartmentMenuItem.setText(JPAEditorMessages.JPAEditorToolBehaviorProvider_collapseAttrGroupMenuItem);
- collapseCompartmentMenuItem.setDescription(JPAEditorMessages.JPAEditorToolBehaviorProvider_collapseAttrGroupMenuItemDescr);
- collapseCompartmentMenuItem.setSubmenu(false);
-
- ICustomFeature expandCompartmentFeature = new ExpandCompartmentShapeFeature(getFeatureProvider());
- ContextMenuEntry expandCompartmentMenuItem= new ContextMenuEntry(expandCompartmentFeature, context);
- expandCompartmentMenuItem.setText(JPAEditorMessages.JPAEditorToolBehaviorProvider_expandAttrMenuItem);
- expandCompartmentMenuItem.setDescription(JPAEditorMessages.JPAEditorToolBehaviorProvider_expandAttrMenuItemDescr);
- expandCompartmentMenuItem.setSubmenu(false);
- return new IContextMenuEntry[] {collapseCompartmentMenuItem, expandCompartmentMenuItem};
- }
-
- /*
- //Apply Pattern menu
-
- ICustomFeature applyPatternFeature = new ApplyPatternFeature(getFeatureProvider());
- ContextMenuEntry applyPatternMenuItem = new ContextMenuEntry(applyPatternFeature, context);
- applyPatternMenuItem.setText(JPAEditorMessages.JPAEditorToolBehaviorProvider_applyPattern);
- applyPatternMenuItem.setDescription(JPAEditorMessages.JPAEditorToolBehaviorProvider_applyPatternDesc);
- applyPatternMenuItem.setSubmenu(false);
- //Apply Pattern menu
- */
-
- ContextMenuEntry refactorClassSubmenu = new ContextMenuEntry(null, null);
- refactorClassSubmenu.setText(JPAEditorMessages.JPAEditorToolBehaviorProvider_refactorSubMenu);
- refactorClassSubmenu.setDescription(JPAEditorMessages.JPAEditorToolBehaviorProvider_refactorSubMenu);
- refactorClassSubmenu.setSubmenu(true);
-
-
- ICustomFeature customFeature = new RenameEntityFeature(getFeatureProvider());
- ContextMenuEntry renameEntityMenuItem = new ContextMenuEntry(customFeature, context);
- renameEntityMenuItem.setText(JPAEditorMessages.JPAEditorToolBehaviorProvider_renameEntityClass);
- renameEntityMenuItem.setDescription(JPAEditorMessages.JPAEditorToolBehaviorProvider_renameEntityClass);
- renameEntityMenuItem.setSubmenu(false);
-
- customFeature = new MoveEntityFeature(getFeatureProvider());
- ContextMenuEntry moveEntityMenuItem = new ContextMenuEntry(customFeature, context);
- moveEntityMenuItem.setText(JPAEditorMessages.JPAEditorToolBehaviorProvider_moveEntityClass);
- moveEntityMenuItem.setDescription(JPAEditorMessages.JPAEditorToolBehaviorProvider_moveEntityClass);
- moveEntityMenuItem.setSubmenu(false);
-
- refactorClassSubmenu.add(renameEntityMenuItem);
- refactorClassSubmenu.add(moveEntityMenuItem);
-
- String shapeType = Graphiti.getPeService().getPropertyValue(pictEls[0], JPAEditorConstants.PROP_SHAPE_TYPE);
-
- if ((shapeType == null) || !shapeType.equals(ShapeType.ATTRIBUTE.toString()))
- return new IContextMenuEntry[] { saveEntityMenuItem,
- refactorClassSubmenu,
- collapseEntityMenuItem,
- collapseAllMenuItem,
- expandEntityMenuItem,
- expandAllMenuItem,
- restoreEntityMenuItem,
- //applyPatternMenuItem,
- removeAllEntitiesSubmenu,
- openJPADetailsViewMenuItem,
- openMiniatureViewMenuItem};
-
- customFeature = new RefactorAttributeTypeFeature(getFeatureProvider());
- ContextMenuEntry refactorAttributeTypeMenuItem = new ContextMenuEntry(customFeature, context);
- refactorAttributeTypeMenuItem.setText(JPAEditorMessages.JPAEditorToolBehaviorProvider_refactorAttributeType);
- refactorAttributeTypeMenuItem.setDescription(JPAEditorMessages.JPAEditorToolBehaviorProvider_refactorAttributeTypeDesc);
- refactorAttributeTypeMenuItem.setSubmenu(false);
-
- return new IContextMenuEntry[] { refactorClassSubmenu,
- refactorAttributeTypeMenuItem,
- collapseAllMenuItem,
- expandAllMenuItem,
- //applyPatternMenuItem,
- openJPADetailsViewMenuItem,
- openMiniatureViewMenuItem};
- }
- return new IContextMenuEntry[] { removeAllEntitiesSubmenu,
- collapseAllMenuItem,
- expandAllMenuItem,
- openJPADetailsViewMenuItem,
- openMiniatureViewMenuItem};
- }
-
- @Override
- public ICustomFeature getDoubleClickFeature(IDoubleClickContext context) {
- PictogramElement pe = context.getPictogramElements()[0];
- Object bo = getFeatureProvider().getBusinessObjectForPictogramElement(
- pe);
- if (bo instanceof JavaPersistentAttribute) {
- JavaPersistentAttribute jpa = (JavaPersistentAttribute) bo;
- IFile file = (IFile) jpa.getResource();
- try {
- file.setSessionProperty(new QualifiedName(null, JPAEditorMatchingStrategy.DOUBLE_CLICK), "true"); //$NON-NLS-1$
- facade.getIDE().openEditor(file);
- } catch (PartInitException e) {
- System.err.println("Cannot open editor"); //$NON-NLS-1$
- e.printStackTrace();
- } catch (CoreException e) {
- System.err.println("Cannot open editor"); //$NON-NLS-1$
- e.printStackTrace();
- }
- }
- if (bo instanceof JavaPersistentType) {
- JavaPersistentType jpt = (JavaPersistentType) bo;
- IFile file = (IFile) jpt.getResource();
- try {
- file.setSessionProperty(new QualifiedName(null, JPAEditorMatchingStrategy.DOUBLE_CLICK), "true"); //$NON-NLS-1$
- facade.getIDE().openEditor(file);
- } catch (PartInitException e) {
- System.err.println("Cannot open editor"); //$NON-NLS-1$
- e.printStackTrace();
- } catch (CoreException e) {
- System.err.println("Cannot open editor"); //$NON-NLS-1$
- e.printStackTrace();
- }
- }
- if ((bo == null) && (pe.getGraphicsAlgorithm() instanceof Rectangle)) {
- ICustomContext cont = new CustomContext(
- new PictogramElement[] { pe });
- ContainerShape containerShape = (ContainerShape) pe;
- if (GraphicsUpdater.isCollapsed(containerShape)) {
- ExpandCompartmentShapeFeature feature = new ExpandCompartmentShapeFeature(
- getFeatureProvider());
- feature.execute(cont);
- } else {
- CollapseCompartmentShapeFeature feature = new CollapseCompartmentShapeFeature(
- getFeatureProvider());
- feature.execute(cont);
- }
-
- }
- return super.getDoubleClickFeature(context);
- }
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/AbstractRelation.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/AbstractRelation.java
deleted file mode 100644
index 1af1f3ec38..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/AbstractRelation.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.relations;
-
-import java.util.Hashtable;
-
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-
-abstract public class AbstractRelation implements IRelation {
- protected final static String SEPARATOR = ";"; //$NON-NLS-1$
- protected JavaPersistentType owner;
- protected JavaPersistentType inverse;
- protected JavaPersistentAttribute ownerAnnotatedAttribute;
- protected JavaPersistentAttribute inverseAnnotatedAttribute;
-
- protected String ownerAttributeName;
- protected String inverseAttributeName;
-
-
- public final static Hashtable<RelType, String> relTypeToIdPart = new Hashtable<RelType, String>();
- public final static Hashtable<RelDir, String> relDirToIdPart = new Hashtable<RelDir, String>();
-
- static {
- relTypeToIdPart.put(RelType.ONE_TO_ONE, "1-1"); //$NON-NLS-1$
- relTypeToIdPart.put(RelType.ONE_TO_MANY, "1-N"); //$NON-NLS-1$
- relTypeToIdPart.put(RelType.MANY_TO_ONE, "N-1"); //$NON-NLS-1$
- relTypeToIdPart.put(RelType.MANY_TO_MANY, "N-N"); //$NON-NLS-1$
-
- relDirToIdPart.put(RelDir.UNI, "->"); //$NON-NLS-1$
- relDirToIdPart.put(RelDir.BI, "<->"); //$NON-NLS-1$
- }
-
- public AbstractRelation(JavaPersistentType owner, JavaPersistentType inverse) {
- this.owner = owner;
- this.inverse = inverse;
- }
-
- public String getId() {
- return generateId(owner, inverse, getOwnerAttributeName(), getRelType(), getRelDir());
- }
-
- public JavaPersistentType getOwner() {
- return owner;
- }
-
- public JavaPersistentType getInverse() {
- return inverse;
- }
-
- public JavaPersistentAttribute getInverseAnnotatedAttribute() {
- return inverseAnnotatedAttribute;
- }
-
- public JavaPersistentAttribute getOwnerAnnotatedAttribute() {
- return ownerAnnotatedAttribute;
- }
-
- public void setOwnerAnnotatedAttribute(
- JavaPersistentAttribute ownerAnnotatedAttribute) {
- this.ownerAnnotatedAttribute = ownerAnnotatedAttribute;
- }
-
- public void setInverseAnnotatedAttribute(
- JavaPersistentAttribute inverseAnnotatedAttribute) {
- this.inverseAnnotatedAttribute = inverseAnnotatedAttribute;
- }
-
- public void setOwnerAttributeName(String ownerAttributeName) {
- this.ownerAttributeName = ownerAttributeName;
- }
-
- public String getOwnerAttributeName() {
- if (this.ownerAnnotatedAttribute != null)
- return ownerAnnotatedAttribute.getName();
- return ownerAttributeName;
- }
-
- public void setInverseAttributeName(String inverseAttributeName) {
- this.inverseAttributeName = inverseAttributeName;
- }
-
- public String getInverseAttributeName() {
- if (this.inverseAnnotatedAttribute != null)
- return inverseAnnotatedAttribute.getName();
- return inverseAttributeName;
- }
-
- public int hashCode() {
- return getId().hashCode();
- }
-
- public boolean equals(Object otherRel) {
- if (!IRelation.class.isInstance(otherRel))
- return false;
- return getId().equals(((IRelation)otherRel).getId());
- }
-
- public abstract RelType getRelType();
-
- public abstract RelDir getRelDir();
-
- public static String generateId(JavaPersistentType owner,
- JavaPersistentType inverse,
- String ownerAttributeName,
- RelType relType,
- RelDir relDir) {
- String id = owner.getName() + "-" + inverse.getName() + SEPARATOR + //$NON-NLS-1$
- relTypeToIdPart.get(relType) + SEPARATOR +
- relDirToIdPart.get(relDir) + SEPARATOR + ownerAttributeName;
- return id;
- }
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/BidirectionalRelation.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/BidirectionalRelation.java
deleted file mode 100644
index 26fbc1f61a..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/BidirectionalRelation.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.relations;
-
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-
-public interface BidirectionalRelation extends IRelation {
-
- public abstract JavaPersistentAttribute getOwnerAnnotatedAttribute();
-
- public abstract JavaPersistentAttribute getInverseAnnotatedAttribute();
-
- public abstract void setOwnerAnnotatedAttribute(JavaPersistentAttribute ownerAnnotatedAttribute);
-
- public abstract void setInverseAnnotatedAttribute(JavaPersistentAttribute inverseAnnotatedAttribute);
-
-} \ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/IRelation.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/IRelation.java
deleted file mode 100644
index 0556846f29..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/IRelation.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Kiril Mitov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.relations;
-
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-
-public interface IRelation {
-
- public static enum RelType {
- ONE_TO_ONE, ONE_TO_MANY, MANY_TO_ONE, MANY_TO_MANY
- }
-
- public static enum RelDir {
- UNI, BI
- }
-
- public abstract String getId();
-
- public abstract JavaPersistentType getOwner();
-
- public abstract JavaPersistentType getInverse();
-
- public void setOwnerAnnotatedAttribute(JavaPersistentAttribute ownerAnnotatedAttribute);
-
- public JavaPersistentAttribute getOwnerAnnotatedAttribute();
-
- public void setInverseAnnotatedAttribute(JavaPersistentAttribute inverseAnnotatedAttribute);
-
- public void setOwnerAttributeName(String ownerAttributeName);
-
- public void setInverseAttributeName(String inverseAttributeName);
-
- public abstract JavaPersistentAttribute getInverseAnnotatedAttribute();
-
- public abstract String getOwnerAttributeName();
-
- public abstract String getInverseAttributeName();
-
- public abstract RelType getRelType();
-
- public abstract RelDir getRelDir();
-
-} \ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/ManyToManyBiDirRelation.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/ManyToManyBiDirRelation.java
deleted file mode 100644
index 41d9e2c234..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/ManyToManyBiDirRelation.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.relations;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.propertypage.JPADiagramPropertyPage;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-
-
-public class ManyToManyBiDirRelation extends ManyToManyRelation implements BidirectionalRelation {
-
- public ManyToManyBiDirRelation(IJPAEditorFeatureProvider fp, JavaPersistentType owner,
- JavaPersistentType inverse,
- String ownerAttributeName,
- String inverseAttributeName,
- boolean createAttribs,
- ICompilationUnit ownerCU,
- ICompilationUnit inverseCU) {
- super(owner, inverse);
- this.ownerAttributeName = ownerAttributeName;
- this.inverseAttributeName = inverseAttributeName;
- if (createAttribs)
- createRelation(fp, ownerCU, inverseCU);
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jpt.jpadiagrameditor.ui.relations.BidirectionalRelation#getOwnerAnnotatedAttribute()
- */
- public JavaPersistentAttribute getOwnerAnnotatedAttribute() {
- return ownerAnnotatedAttribute;
- }
-
- public void setOwnerAnnotatedAttribute(
- JavaPersistentAttribute ownerAnnotatedAttribute) {
- this.ownerAnnotatedAttribute = ownerAnnotatedAttribute;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jpt.jpadiagrameditor.ui.relations.BidirectionalRelation#getInverseAnnotatedAttribute()
- */
- public JavaPersistentAttribute getInverseAnnotatedAttribute() {
- return inverseAnnotatedAttribute;
- }
-
- public void setInverseAnnotatedAttribute(
- JavaPersistentAttribute inverseAnnotatedAttribute) {
- this.inverseAnnotatedAttribute = inverseAnnotatedAttribute;
- }
-
- private void createRelation(IJPAEditorFeatureProvider fp, ICompilationUnit ownerCU, ICompilationUnit inverseCU) {
- String inverseAttributeName = JPAEditorUtil.returnSimpleName(inverse.getName());
- String actInverseAttributeName = JPAEditorUtil.returnSimpleName(JpaArtifactFactory.instance().getEntityName(inverse));
-
- String nameWithNonCapitalLetter = JPAEditorUtil.decapitalizeFirstLetter(inverseAttributeName);
- String actNameWithNonCapitalLetter = JPAEditorUtil.decapitalizeFirstLetter(actInverseAttributeName);
-
- if (JpaArtifactFactory.instance().isMethodAnnotated(owner)) {
- nameWithNonCapitalLetter = JPAEditorUtil.produceValidAttributeName(inverseAttributeName);
- actNameWithNonCapitalLetter = JPAEditorUtil.produceValidAttributeName(actInverseAttributeName);
- }
- nameWithNonCapitalLetter = JPAEditorUtil.produceUniqueAttributeName(owner, nameWithNonCapitalLetter);
- actNameWithNonCapitalLetter = JPAEditorUtil.produceUniqueAttributeName(owner, actNameWithNonCapitalLetter);
-
- ownerAnnotatedAttribute = JpaArtifactFactory.instance().addAttribute(fp, owner, inverse,
- JPADiagramPropertyPage.isMapType(owner.getJpaProject().getProject()) ? JpaArtifactFactory.instance().getIdType(inverse) : null,
- nameWithNonCapitalLetter,
- actNameWithNonCapitalLetter,
- true,
- ownerCU,
- inverseCU);
-
- String ownerAttributeName = JPAEditorUtil.returnSimpleName(owner.getName());
- String actOwnerAttributeName = JPAEditorUtil.returnSimpleName(JpaArtifactFactory.instance().getEntityName(owner));
- nameWithNonCapitalLetter = JPAEditorUtil.decapitalizeFirstLetter(ownerAttributeName);
- actNameWithNonCapitalLetter = JPAEditorUtil.decapitalizeFirstLetter(actOwnerAttributeName);
-
- if (JpaArtifactFactory.instance().isMethodAnnotated(inverse)) {
- nameWithNonCapitalLetter = JPAEditorUtil.produceValidAttributeName(ownerAttributeName);
- actNameWithNonCapitalLetter = JPAEditorUtil.produceValidAttributeName(actOwnerAttributeName);
- }
- nameWithNonCapitalLetter = JPAEditorUtil.produceUniqueAttributeName(inverse, nameWithNonCapitalLetter);
- actNameWithNonCapitalLetter = JPAEditorUtil.produceUniqueAttributeName(inverse, actNameWithNonCapitalLetter);
- boolean isMap = JPADiagramPropertyPage.isMapType(owner.getJpaProject().getProject());
- inverseAnnotatedAttribute = JpaArtifactFactory.instance().addAttribute(fp, inverse, owner,
- isMap ? JpaArtifactFactory.instance().getIdType(owner) : null,
- nameWithNonCapitalLetter,
- actNameWithNonCapitalLetter,
- true,
- inverseCU,
- ownerCU);
-
- JpaArtifactFactory.instance().addManyToManyBidirectionalRelation(fp, owner, ownerAnnotatedAttribute, inverse, inverseAnnotatedAttribute, isMap);
- }
-
- public RelDir getRelDir() {
- return RelDir.BI;
- }
-
-} \ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/ManyToManyRelation.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/ManyToManyRelation.java
deleted file mode 100644
index 16833b4f0c..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/ManyToManyRelation.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.relations;
-
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-
-public abstract class ManyToManyRelation extends AbstractRelation {
-
- public ManyToManyRelation(JavaPersistentType owner, JavaPersistentType inverse) {
- super(owner, inverse);
- }
-
- public RelType getRelType() {
- return RelType.MANY_TO_MANY;
- }
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/ManyToManyUniDirRelation.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/ManyToManyUniDirRelation.java
deleted file mode 100644
index 790c23c61f..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/ManyToManyUniDirRelation.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.relations;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.propertypage.JPADiagramPropertyPage;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-
-
-public class ManyToManyUniDirRelation extends ManyToManyRelation implements UnidirectionalRelation {
-
- public ManyToManyUniDirRelation(IJPAEditorFeatureProvider fp, JavaPersistentType owner,
- JavaPersistentType inverse,
- String ownerAttributeName,
- boolean createAttribs,
- ICompilationUnit ownerCU,
- ICompilationUnit inverseCU) {
- super(owner, inverse);
- this.ownerAttributeName = ownerAttributeName;
- if (createAttribs)
- createRelation(fp, ownerCU, inverseCU);
- }
-
- public JavaPersistentAttribute getAnnotatedAttribute() {
- return ownerAnnotatedAttribute;
- }
-
- public void setAnnotatedAttribute(JavaPersistentAttribute annotatedAttribute) {
- this.ownerAnnotatedAttribute = annotatedAttribute;
- }
-
- private void createRelation(IJPAEditorFeatureProvider fp, ICompilationUnit ownerCU,
- ICompilationUnit inverseCU) {
- String name = JPAEditorUtil.returnSimpleName(inverse.getName());
- String actName = JPAEditorUtil.returnSimpleName(JpaArtifactFactory.instance().getEntityName(inverse));
-
- String nameWithNonCapitalLetter = JPAEditorUtil.decapitalizeFirstLetter(name);
- String actNameWithNonCapitalLetter = JPAEditorUtil.decapitalizeFirstLetter(actName);
-
- if (JpaArtifactFactory.instance().isMethodAnnotated(owner)) {
- nameWithNonCapitalLetter = JPAEditorUtil.produceValidAttributeName(name);
- actNameWithNonCapitalLetter = JPAEditorUtil.produceValidAttributeName(actName);
- }
- nameWithNonCapitalLetter = JPAEditorUtil.produceUniqueAttributeName(owner, nameWithNonCapitalLetter);
- actNameWithNonCapitalLetter = JPAEditorUtil.produceUniqueAttributeName(owner, actNameWithNonCapitalLetter);
- boolean isMap = JPADiagramPropertyPage.isMapType(owner.getJpaProject().getProject());
- ownerAnnotatedAttribute = JpaArtifactFactory.instance().addAttribute(fp, owner, inverse,
- isMap ? JpaArtifactFactory.instance().getIdType(inverse) : null,
- nameWithNonCapitalLetter,
- actNameWithNonCapitalLetter,
- true,
- ownerCU,
- inverseCU);
- JpaArtifactFactory.instance().addManyToManyUnidirectionalRelation(fp, owner, ownerAnnotatedAttribute, isMap);
-
- }
-
- public RelDir getRelDir() {
- return RelDir.UNI;
- }
-
-} \ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/ManyToOneBiDirRelation.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/ManyToOneBiDirRelation.java
deleted file mode 100644
index 3442c507f8..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/ManyToOneBiDirRelation.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.relations;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.propertypage.JPADiagramPropertyPage;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-
-
-public class ManyToOneBiDirRelation extends ManyToOneRelation implements BidirectionalRelation{
-
- public ManyToOneBiDirRelation(IJPAEditorFeatureProvider fp, JavaPersistentType owner,
- JavaPersistentType inverse,
- String ownerAttributeName,
- String inverseAttributeName,
- boolean createAttribs,
- ICompilationUnit ownerCU,
- ICompilationUnit inverseCU) {
- super(owner, inverse);
- this.ownerAttributeName = ownerAttributeName;
- this.inverseAttributeName = inverseAttributeName;
- if (createAttribs)
- createRelation(fp, ownerCU, inverseCU);
-
- }
-
- public JavaPersistentAttribute getOwnerAnnotatedAttribute() {
- return ownerAnnotatedAttribute;
- }
-
- public void setOwnerAnnotatedAttribute( JavaPersistentAttribute ownerAnnotatedAttribute) {
- this.ownerAnnotatedAttribute = ownerAnnotatedAttribute;
- }
-
- public JavaPersistentAttribute getInverseAnnotatedAttribute() {
- return inverseAnnotatedAttribute;
- }
-
- public void setInverseAnnotatedAttribute(JavaPersistentAttribute inverseAnnotatedAttribute) {
- this.inverseAnnotatedAttribute = inverseAnnotatedAttribute;
- }
-
- private void createRelation(IJPAEditorFeatureProvider fp, ICompilationUnit ownerCU, ICompilationUnit inverseCU) {
- String name = JPAEditorUtil.returnSimpleName(inverse.getName());
- String actName = JPAEditorUtil.returnSimpleName(JpaArtifactFactory.instance().getEntityName(inverse));
- String nameWithNonCapitalLetter = JPAEditorUtil.decapitalizeFirstLetter(name);
- String actNameWithNonCapitalLetter = JPAEditorUtil.decapitalizeFirstLetter(actName);
-
- if (JpaArtifactFactory.instance().isMethodAnnotated(owner)) {
- nameWithNonCapitalLetter = JPAEditorUtil.produceValidAttributeName(name);
- actNameWithNonCapitalLetter = JPAEditorUtil.produceValidAttributeName(actName);
- }
- nameWithNonCapitalLetter = JPAEditorUtil.produceUniqueAttributeName(owner, nameWithNonCapitalLetter);
- actNameWithNonCapitalLetter = JPAEditorUtil.produceUniqueAttributeName(owner, actNameWithNonCapitalLetter);
-
- ownerAnnotatedAttribute = JpaArtifactFactory.instance().addAttribute(fp, owner, inverse,
- nameWithNonCapitalLetter,
- actNameWithNonCapitalLetter, false,
- ownerCU,
- inverseCU);
-
- name = JPAEditorUtil.returnSimpleName(owner.getName());
- actName = JPAEditorUtil.returnSimpleName(JpaArtifactFactory.instance().getEntityName(owner));
- nameWithNonCapitalLetter = JPAEditorUtil.decapitalizeFirstLetter(name);
- actNameWithNonCapitalLetter = JPAEditorUtil.decapitalizeFirstLetter(actName);
-
- if (JpaArtifactFactory.instance().isMethodAnnotated(inverse)) {
- nameWithNonCapitalLetter = JPAEditorUtil.produceValidAttributeName(name);
- actNameWithNonCapitalLetter = JPAEditorUtil.produceValidAttributeName(actName);
- }
- nameWithNonCapitalLetter = JPAEditorUtil.produceUniqueAttributeName(inverse, nameWithNonCapitalLetter);
- actNameWithNonCapitalLetter = JPAEditorUtil.produceUniqueAttributeName(inverse, actNameWithNonCapitalLetter);
- boolean isMap = JPADiagramPropertyPage.isMapType(owner.getJpaProject().getProject());
- inverseAnnotatedAttribute = JpaArtifactFactory.instance().addAttribute(fp, inverse, owner,
- isMap ? JpaArtifactFactory.instance().getIdType(owner) : null,
- nameWithNonCapitalLetter, actNameWithNonCapitalLetter,
- true,
- inverseCU,
- ownerCU);
-
- JpaArtifactFactory.instance().addManyToOneBidirectionalRelation(fp, owner, ownerAnnotatedAttribute, inverse, inverseAnnotatedAttribute, isMap);
- }
-
- public RelDir getRelDir() {
- return RelDir.BI;
- }
-
-
-} \ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/ManyToOneRelation.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/ManyToOneRelation.java
deleted file mode 100644
index f0df131185..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/ManyToOneRelation.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.relations;
-
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-
-abstract public class ManyToOneRelation extends AbstractRelation{
-
- public ManyToOneRelation(JavaPersistentType owner, JavaPersistentType inverse) {
- super(owner, inverse);
- }
-
- public RelType getRelType() {
- return RelType.MANY_TO_ONE;
- }
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/ManyToOneUniDirRelation.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/ManyToOneUniDirRelation.java
deleted file mode 100644
index 099eb292bd..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/ManyToOneUniDirRelation.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.relations;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-
-
-public class ManyToOneUniDirRelation extends ManyToOneRelation implements UnidirectionalRelation {
-
- public ManyToOneUniDirRelation(IJPAEditorFeatureProvider fp, JavaPersistentType owner,
- JavaPersistentType inverse,
- String ownerAttributeName,
- boolean createAttribs,
- ICompilationUnit ownerCU,
- ICompilationUnit inverseCU) {
- super(owner, inverse);
- this.ownerAttributeName = ownerAttributeName;
- if (createAttribs)
- createRelation(fp, ownerCU, inverseCU);
- }
-
- public JavaPersistentAttribute getAnnotatedAttribute() {
- return ownerAnnotatedAttribute;
- }
-
- public void setAnnotatedAttribute(JavaPersistentAttribute annotatedAttribute) {
- this.ownerAnnotatedAttribute = annotatedAttribute;
- }
-
- private void createRelation(IJPAEditorFeatureProvider fp, ICompilationUnit ownerCU, ICompilationUnit inverseCU) {
- String name = JPAEditorUtil.returnSimpleName(inverse.getName());
- String actName = JPAEditorUtil.returnSimpleName(JpaArtifactFactory.instance().getEntityName(inverse));
- String nameWithNonCapitalLetter = JPAEditorUtil.decapitalizeFirstLetter(name);
- String actNameWithNonCapitalLetter = JPAEditorUtil.decapitalizeFirstLetter(actName);
-
- if (JpaArtifactFactory.instance().isMethodAnnotated(owner)) {
- nameWithNonCapitalLetter = JPAEditorUtil.produceValidAttributeName(name);
- actNameWithNonCapitalLetter = JPAEditorUtil.produceValidAttributeName(actName);
- }
- nameWithNonCapitalLetter = JPAEditorUtil.produceUniqueAttributeName(owner, nameWithNonCapitalLetter);
- actNameWithNonCapitalLetter = JPAEditorUtil.produceUniqueAttributeName(owner, actNameWithNonCapitalLetter);
-
- //fp.addAddIgnore(owner, actNameWithNonCapitalLetter);
-
- ownerAnnotatedAttribute = JpaArtifactFactory.instance().addAttribute(fp, owner, inverse,
- nameWithNonCapitalLetter,
- actNameWithNonCapitalLetter, false,
- ownerCU,
- inverseCU);
- JpaArtifactFactory.instance().addManyToOneUnidirectionalRelation(fp, owner, ownerAnnotatedAttribute);
-
- }
-
- public RelDir getRelDir() {
- return RelDir.UNI;
- }
-
-} \ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/OneToManyRelation.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/OneToManyRelation.java
deleted file mode 100644
index d35e713acc..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/OneToManyRelation.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.relations;
-
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-
-public abstract class OneToManyRelation extends AbstractRelation {
-
- public OneToManyRelation(JavaPersistentType owner, JavaPersistentType inverse) {
- super(owner, inverse);
- }
-
- public RelType getRelType() {
- return RelType.ONE_TO_MANY;
- }
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/OneToManyUniDirRelation.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/OneToManyUniDirRelation.java
deleted file mode 100644
index 7af06377c6..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/OneToManyUniDirRelation.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.relations;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.propertypage.JPADiagramPropertyPage;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-
-
-public class OneToManyUniDirRelation extends OneToManyRelation implements UnidirectionalRelation {
-
- public OneToManyUniDirRelation(IJPAEditorFeatureProvider fp, JavaPersistentType owner,
- JavaPersistentType inverse,
- String ownerAttributeName,
- boolean createAttribs,
- ICompilationUnit ownerCU,
- ICompilationUnit inverseCU) {
- super(owner, inverse);
- this.ownerAttributeName = ownerAttributeName;
- if (createAttribs)
- createRelation(fp, ownerCU, inverseCU);
- }
-
- public JavaPersistentAttribute getAnnotatedAttribute() {
- return ownerAnnotatedAttribute;
- }
-
- public void setAnnotatedAttribute(JavaPersistentAttribute annotatedAttribute) {
- this.ownerAnnotatedAttribute = annotatedAttribute;
- }
-
- private void createRelation(IJPAEditorFeatureProvider fp, ICompilationUnit ownerCU,
- ICompilationUnit inverseCU) {
- String name = JPAEditorUtil.returnSimpleName(inverse.getName());
- String actName = JPAEditorUtil.returnSimpleName(JpaArtifactFactory.instance().getEntityName(inverse));
-
- String nameWithNonCapitalLetter = JPAEditorUtil.decapitalizeFirstLetter(name);
- String actNameWithNonCapitalLetter = JPAEditorUtil.decapitalizeFirstLetter(actName);
-
- if (JpaArtifactFactory.instance().isMethodAnnotated(owner)) {
- nameWithNonCapitalLetter = JPAEditorUtil.produceValidAttributeName(name);
- actNameWithNonCapitalLetter = JPAEditorUtil.produceValidAttributeName(actName);
- }
- nameWithNonCapitalLetter = JPAEditorUtil.produceUniqueAttributeName(owner, nameWithNonCapitalLetter);
- actNameWithNonCapitalLetter = JPAEditorUtil.produceUniqueAttributeName(owner, actNameWithNonCapitalLetter);
- boolean isMap = JPADiagramPropertyPage.isMapType(owner.getJpaProject().getProject());
- ownerAnnotatedAttribute = JpaArtifactFactory.instance().addAttribute(fp, owner, inverse,
- isMap ? JpaArtifactFactory.instance().getIdType(inverse) : null,
- nameWithNonCapitalLetter,
- actNameWithNonCapitalLetter, true,
- ownerCU,
- inverseCU);
- JpaArtifactFactory.instance().addOneToManyUnidirectionalRelation(fp, owner, ownerAnnotatedAttribute, isMap);
- }
-
- public RelDir getRelDir() {
- return RelDir.UNI;
- }
-
-} \ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/OneToOneBiDirRelation.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/OneToOneBiDirRelation.java
deleted file mode 100644
index eae7ccccc9..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/OneToOneBiDirRelation.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.relations;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-
-
-public class OneToOneBiDirRelation extends OneToOneRelation implements BidirectionalRelation{
- public OneToOneBiDirRelation(IJPAEditorFeatureProvider fp, JavaPersistentType owner,
- JavaPersistentType inverse,
- String ownerAttributeName,
- String inverseAttributeName,
- boolean createAttribs,
- ICompilationUnit ownerCU,
- ICompilationUnit inverseCU) {
- super(owner, inverse);
- this.ownerAttributeName = ownerAttributeName;
- this.inverseAttributeName = inverseAttributeName;
- if (createAttribs)
- createRelation(fp, ownerCU, inverseCU);
- }
-
- public JavaPersistentAttribute getOwnerAnnotatedAttribute() {
- return ownerAnnotatedAttribute;
- }
-
- public void setOwnerAnnotatedAttribute(
- JavaPersistentAttribute ownerAnnotatedAttribute) {
- this.ownerAnnotatedAttribute = ownerAnnotatedAttribute;
- }
-
- public JavaPersistentAttribute getInverseAnnotatedAttribute() {
- return inverseAnnotatedAttribute;
- }
-
- public void setInverseAnnotatedAttribute(
- JavaPersistentAttribute inverseAnnotatedAttribute) {
- this.inverseAnnotatedAttribute = inverseAnnotatedAttribute;
- }
-
- private void createRelation(IJPAEditorFeatureProvider fp, ICompilationUnit ownerCU, ICompilationUnit inverseCU) {
- String name = JPAEditorUtil.returnSimpleName(inverse.getName());
- String actName = JPAEditorUtil.returnSimpleName(JpaArtifactFactory.instance().getEntityName(inverse));
-
- String nameWithNonCapitalLetter = JPAEditorUtil.decapitalizeFirstLetter(name);
- String actNameWithNonCapitalLetter = JPAEditorUtil.decapitalizeFirstLetter(actName);
-
- if (JpaArtifactFactory.instance().isMethodAnnotated(owner)) {
- nameWithNonCapitalLetter = JPAEditorUtil.produceValidAttributeName(name);
- actNameWithNonCapitalLetter = JPAEditorUtil.produceValidAttributeName(actName);
- }
- nameWithNonCapitalLetter = JPAEditorUtil.produceUniqueAttributeName(owner, nameWithNonCapitalLetter);
- actNameWithNonCapitalLetter = JPAEditorUtil.produceUniqueAttributeName(owner, actNameWithNonCapitalLetter);
-
- ownerAnnotatedAttribute = JpaArtifactFactory.instance().addAttribute(fp, owner, inverse,
- nameWithNonCapitalLetter,
- actNameWithNonCapitalLetter, false,
- ownerCU,
- inverseCU);
-
- name = JPAEditorUtil.returnSimpleName(owner.getName());
- actName = JPAEditorUtil.returnSimpleName(JpaArtifactFactory.instance().getEntityName(owner));
- nameWithNonCapitalLetter = JPAEditorUtil.decapitalizeFirstLetter(name);
- actNameWithNonCapitalLetter = JPAEditorUtil.decapitalizeFirstLetter(actName);
-
- if (JpaArtifactFactory.instance().isMethodAnnotated(inverse)) {
- nameWithNonCapitalLetter = JPAEditorUtil.produceValidAttributeName(name);
- actNameWithNonCapitalLetter = JPAEditorUtil.produceValidAttributeName(actName);
- }
- nameWithNonCapitalLetter = JPAEditorUtil.produceUniqueAttributeName(inverse, nameWithNonCapitalLetter);
- actNameWithNonCapitalLetter = JPAEditorUtil.produceUniqueAttributeName(inverse, actNameWithNonCapitalLetter);
- inverseAnnotatedAttribute = JpaArtifactFactory.instance().addAttribute(fp, inverse, owner,
- nameWithNonCapitalLetter, actNameWithNonCapitalLetter,
- false,
- inverseCU,
- ownerCU);
-
- JpaArtifactFactory.instance().addOneToOneBidirectionalRelation(fp, owner, ownerAnnotatedAttribute, inverse, inverseAnnotatedAttribute);
- }
-
- public RelDir getRelDir() {
- return RelDir.BI;
- }
-
-} \ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/OneToOneRelation.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/OneToOneRelation.java
deleted file mode 100644
index 12119f3008..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/OneToOneRelation.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.relations;
-
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-
-abstract public class OneToOneRelation extends AbstractRelation {
-
- public OneToOneRelation(JavaPersistentType owner,
- JavaPersistentType inverse) {
- super(owner, inverse);
- }
-
- public RelType getRelType() {
- return RelType.ONE_TO_ONE;
- }
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/OneToOneUniDirRelation.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/OneToOneUniDirRelation.java
deleted file mode 100644
index b429068394..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/OneToOneUniDirRelation.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.relations;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-
-
-public class OneToOneUniDirRelation extends OneToOneRelation implements UnidirectionalRelation {
-
- public OneToOneUniDirRelation(IJPAEditorFeatureProvider fp, JavaPersistentType owner,
- JavaPersistentType inverse,
- String ownerAttributeName,
- boolean createAttribs,
- ICompilationUnit ownerCU,
- ICompilationUnit inverseCU) {
- super(owner, inverse);
- this.ownerAttributeName = ownerAttributeName;
- if (createAttribs)
- createRelation(fp, ownerCU, inverseCU);
- }
-
- public JavaPersistentAttribute getAnnotatedAttribute() {
- return ownerAnnotatedAttribute;
- }
-
- public void setAnnotatedAttribute(JavaPersistentAttribute annotatedAttribute) {
- this.ownerAnnotatedAttribute = annotatedAttribute;
- }
-
- private void createRelation(IJPAEditorFeatureProvider fp, ICompilationUnit ownerCU, ICompilationUnit inverseCU) {
- String name = JPAEditorUtil.returnSimpleName(inverse.getName());
- String actName = JPAEditorUtil.returnSimpleName(JpaArtifactFactory.instance().getEntityName(inverse));
-
- String nameWithNonCapitalLetter = JPAEditorUtil.decapitalizeFirstLetter(name);
- String actNameWithNonCapitalLetter = JPAEditorUtil.decapitalizeFirstLetter(actName);
-
- if (JpaArtifactFactory.instance().isMethodAnnotated(owner)) {
- nameWithNonCapitalLetter = JPAEditorUtil.produceValidAttributeName(name);
- actNameWithNonCapitalLetter = JPAEditorUtil.produceValidAttributeName(actName);
- }
- nameWithNonCapitalLetter = JPAEditorUtil.produceUniqueAttributeName(owner, nameWithNonCapitalLetter);
- actNameWithNonCapitalLetter = JPAEditorUtil.produceUniqueAttributeName(owner, actNameWithNonCapitalLetter);
-
- ownerAnnotatedAttribute = JpaArtifactFactory.instance().addAttribute(fp, owner, inverse,
- nameWithNonCapitalLetter,
- actNameWithNonCapitalLetter, false,
- ownerCU,
- inverseCU);
- JpaArtifactFactory.instance().addOneToOneUnidirectionalRelation(fp, owner, ownerAnnotatedAttribute);
-
- }
-
- public RelDir getRelDir() {
- return RelDir.UNI;
- }
-
-} \ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/UnidirectionalRelation.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/UnidirectionalRelation.java
deleted file mode 100644
index 7ffb85a51e..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/relations/UnidirectionalRelation.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.relations;
-
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-
-public interface UnidirectionalRelation extends IRelation {
-
- public abstract JavaPersistentAttribute getAnnotatedAttribute();
-
- public abstract void setAnnotatedAttribute(JavaPersistentAttribute at);
-
-} \ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/EntityChangeListener.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/EntityChangeListener.java
deleted file mode 100644
index 1c4d152855..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/EntityChangeListener.java
+++ /dev/null
@@ -1,200 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.util;
-
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.Set;
-
-import org.eclipse.graphiti.features.context.impl.RemoveContext;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jpt.jpa.core.JptJpaCorePlugin;
-import org.eclipse.jpt.jpa.core.context.MappedByRelationship;
-import org.eclipse.jpt.jpa.core.context.PersistentType;
-import org.eclipse.jpt.jpa.core.context.java.JavaAttributeMapping;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpa.core.context.java.JavaRelationshipMapping;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpa.core.internal.context.java.JavaNullTypeMapping;
-import org.eclipse.jpt.jpa.core.resource.java.Annotation;
-import org.eclipse.jpt.jpa.core.resource.java.OwnableRelationshipMappingAnnotation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.RemoveAndSaveEntityFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.swt.widgets.Display;
-
-
-@SuppressWarnings("restriction")
-public class EntityChangeListener extends Thread {
-
- private final static int PAUSE_DURATION = 250;
- private boolean goOn = true;
- private JPASolver solver;
- private IJPAEditorFeatureProvider featureProvider;
- private Set<String> jptsToUpdate = new HashSet<String>();
- private Hashtable<String, PersistenceUnit> attribsToUpdate = new Hashtable<String, PersistenceUnit>();
- public final static String SEPARATOR = ";"; //$NON-NLS-1$
-
- EntityChangeListener(JPASolver solver) {
- this.solver = solver;
- }
-
- public void setFeatureProvider(IJPAEditorFeatureProvider featureProvider) {
- this.featureProvider = featureProvider;
- }
-
- public void run() {
- UpdateFromModel taskClass = new UpdateFromModel();
- while (goOn) {
- try {
- Thread.sleep(PAUSE_DURATION);
- } catch (InterruptedException e) {
- System.err.println("Thread sleep interruprted"); //$NON-NLS-1$
- e.printStackTrace();
- }
- Display.getDefault().asyncExec(taskClass);
- }
- solver = null;
- featureProvider = null;
- }
-
- public void stopThread() {
- goOn = false;
- }
-
- public void addJPTForUpdate(String jptName) {
- synchronized (jptsToUpdate) {
- jptsToUpdate.add(jptName);
- }
- }
-
- public void addAttribForUpdate(PersistenceUnit pu, String entAtMappedBy) {
- synchronized (attribsToUpdate) {
- attribsToUpdate.put(entAtMappedBy, pu);
- }
- }
-
- private class UpdateFromModel implements Runnable {
- public void run() {
- exec();
- }
-
-
- private void exec() {
- try {
- synchronized (jptsToUpdate) {
- Iterator<String> itr = jptsToUpdate.iterator();
- if (itr.hasNext()) {
- String jptName = itr.next();
- JavaPersistentType jpt = (JavaPersistentType)featureProvider.getBusinessObjectForKey(jptName);
- try {
- JpaArtifactFactory.instance().remakeRelations(featureProvider, null, jpt);
- jptsToUpdate.remove(jptName);
- } catch (RuntimeException e) {}
- }
- }
- Collection<Object> vals = solver.getVisualizedObjects();
- Iterator<Object> it = vals.iterator();
- while (it.hasNext()) {
- Object o = it.next();
- if (o instanceof JavaPersistentType) {
- JavaPersistentType jpt = (JavaPersistentType)o;
- final ContainerShape entShape = (ContainerShape)featureProvider.getPictogramElementForBusinessObject(o);
- if (entShape == null)
- continue;
- PersistenceUnit pu = JpaArtifactFactory.instance().getPersistenceUnit(jpt);
- PersistentType pt = pu.getPersistentType(jpt.getName());
-
- if ((pt == null) || !JpaArtifactFactory.instance().hasEntityAnnotation(jpt)) {
-
- JpaArtifactFactory.instance().forceSaveEntityClass(jpt, featureProvider);
-
- if(jpt.getMapping() == null || (jpt.getMapping() instanceof JavaNullTypeMapping)) {
- if (!JptJpaCorePlugin.discoverAnnotatedClasses(jpt.getJpaProject().getProject())) {
- JPAEditorUtil.createUnregisterEntityFromXMLJob(jpt.getJpaProject(), jpt.getName());
- }
- }
-
- RemoveContext ctx = new RemoveContext(entShape);
- RemoveAndSaveEntityFeature ft = new RemoveAndSaveEntityFeature(featureProvider);
- ft.remove(ctx);
- break;
- } else {
-
- ICompilationUnit cu = featureProvider.getCompilationUnit(jpt);
- String entName = JPAEditorUtil.returnSimpleName(JpaArtifactFactory.instance().getEntityName(jpt));
- try {
- final String newHeader = (cu.hasUnsavedChanges() ? "* " : "") + entName; //$NON-NLS-1$ //$NON-NLS-2$
- Display.getDefault().asyncExec(new Runnable() {
- public void run() {
- GraphicsUpdater.updateHeader(entShape, newHeader);
- }
- });
-
- } catch (JavaModelException e) {
- System.err.println("Cannot check compilation unit for unsaved changes"); //$NON-NLS-1$
- e.printStackTrace();
- }
- }
- }
- }
- synchronized (attribsToUpdate) {
- Set<String> atSet = attribsToUpdate.keySet();
- Iterator<String> iter = atSet.iterator();
- while (iter.hasNext()) {
- String jptAtMB = iter.next();
- String[] jptAndAttrib = jptAtMB.split(SEPARATOR);
- PersistenceUnit pu = attribsToUpdate.get(jptAtMB);
- String entityName = jptAndAttrib[0];
- String attribName = jptAndAttrib[1];
- String mappedBy = jptAndAttrib[2];
- JavaPersistentType jpt = (JavaPersistentType)pu.getPersistentType(entityName);
- if (jpt != null) {
- JavaPersistentAttribute jpa = jpt.getAttributeNamed(attribName);
- JpaArtifactFactory.instance().refreshEntityModel(null, jpt);
- if (jpa != null) {
- JavaAttributeMapping mapping = jpa.getMapping();
- Annotation a = mapping.getMappingAnnotation();
- if(a == null){
- JpaArtifactFactory.instance().refreshEntityModel(featureProvider, jpt);
- mapping = jpa.getMapping();
- a = mapping.getMappingAnnotation();
- }
- if (a == null)
- return;
- if (OwnableRelationshipMappingAnnotation.class.isInstance(mapping.getMappingAnnotation())) {
- JavaRelationshipMapping relationshipMapping = (JavaRelationshipMapping)mapping;
- MappedByRelationship ownableRef = (MappedByRelationship)relationshipMapping.getRelationship();
- if (!ownableRef.strategyIsMappedBy()) {
- ownableRef.setStrategyToMappedBy();
- }
- ownableRef.getMappedByStrategy().setMappedByAttribute(mappedBy);
- attribsToUpdate.remove(jptAtMB);
- }
- }
- }
- }
- }
- } catch(Exception e) {
- //$NON-NLS-1$
- }
- }
- }
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/GraphicsUpdater.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/GraphicsUpdater.java
deleted file mode 100644
index a16a1d6f45..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/GraphicsUpdater.java
+++ /dev/null
@@ -1,198 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.util;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.emf.transaction.RecordingCommand;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.transaction.util.TransactionUtil;
-import org.eclipse.graphiti.mm.algorithms.GraphicsAlgorithm;
-import org.eclipse.graphiti.mm.algorithms.Text;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.graphiti.services.Graphiti;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants.ShapeType;
-
-
-public class GraphicsUpdater {
-
- private static final int PRIMARY_SHAPE_INDEX = 3;
- private static final int RELATION_SHAPE_CONSTANT = 4;
- private static final int BASIC_SHAPE_INDEX = 5;
-
- public static int increaseCompartmentHeigth(ContainerShape containerShape,
- int height) {
- for(Shape shape : containerShape.getChildren()){
- Iterator<GraphicsAlgorithm> iterator = shape.getGraphicsAlgorithm().getGraphicsAlgorithmChildren().iterator();
- while(iterator.hasNext()){
- if(iterator.next() instanceof Text)
- height = height + JPAEditorConstants.ATTRIBUTES_PLACEMENT_STEP;
- }
- }
- return height;
- }
-
- public static void updateContainer(ContainerShape containerShape,
- int childrenSizeBefore, int containerHeightBefore){
- int childrenSizeAfter = containerShape.getChildren().size();
- int containerHeightAfter = 0;
- if(childrenSizeBefore == 2){
- containerHeightBefore = JPAEditorConstants.COMPARTMENT_MIN_HEIGHT + JPAEditorConstants.COMPARTMENT_BUTTOM_OFFSET;
- }
- containerHeightAfter = containerHeightBefore + (((childrenSizeAfter - childrenSizeBefore)/2)*JPAEditorConstants.ATTRIBUTES_PLACEMENT_STEP);
-
- if(!isCollapsed(containerShape))
- containerShape.getGraphicsAlgorithm().setHeight(containerHeightAfter);
- else
- containerShape.getGraphicsAlgorithm().setHeight(JPAEditorConstants.COMPARTMENT_MIN_HEIGHT);
- }
-
-
- public static void updateEntityShape(ContainerShape entityShape){
- ContainerShape primaryShape = getPrimaryShape(entityShape);
- ContainerShape relationShape = getRelationShape(entityShape);
- ContainerShape basicShape = getBasicShape(entityShape);
-
- primaryShape.setVisible(!isEmptyCompartment(primaryShape));
- basicShape.setVisible(!isEmptyCompartment(basicShape));
- relationShape.setVisible(!isEmptyCompartment(relationShape));
-
- relationShape.getGraphicsAlgorithm().setY(getNextCompartmentY(primaryShape));
- basicShape.getGraphicsAlgorithm().setY(getNextCompartmentY(relationShape));
- }
-
- private static boolean isEmptyCompartment(ContainerShape primaryShape) {
- return primaryShape.getChildren().size() <= 2;
- }
-
- public static void updateEntityHeigth(ContainerShape entityShape){
- ContainerShape primaryShape = GraphicsUpdater.getPrimaryShape(entityShape);
- ContainerShape relationShape = GraphicsUpdater.getRelationShape(entityShape);
- ContainerShape basicShape = GraphicsUpdater.getBasicShape(entityShape);
-
- entityShape.getGraphicsAlgorithm().setHeight(JPAEditorConstants.ENTITY_MIN_HEIGHT +
- primaryShape.getGraphicsAlgorithm().getHeight() + relationShape.getGraphicsAlgorithm().getHeight()
- + basicShape.getGraphicsAlgorithm().getHeight() + 2);
- }
-
- public static int getNextCompartmentY(ContainerShape compartmentShape){
- if(isEmptyCompartment(compartmentShape))
- return compartmentShape.getGraphicsAlgorithm().getY();
- return compartmentShape.getGraphicsAlgorithm().getY() + compartmentShape.getGraphicsAlgorithm().getHeight();
- }
-
- public static ContainerShape getPrimaryShape(ContainerShape entityShape){
- List<Shape> children = entityShape.getChildren();
- if(children.size() < PRIMARY_SHAPE_INDEX+1)
- return null;
- GraphicsAlgorithm alg = children.get(PRIMARY_SHAPE_INDEX).getGraphicsAlgorithm();
- ContainerShape primaryShape = (ContainerShape)Graphiti.getPeService().getActiveContainerPe(alg);
- return primaryShape;
- }
-
- public static ContainerShape getCompartmentSeparatorShape(ContainerShape compartmentShape){
- GraphicsAlgorithm alg = compartmentShape.getChildren().get(0).getGraphicsAlgorithm();
- ContainerShape primarySeparatorShape = (ContainerShape) Graphiti.getPeService().getActiveContainerPe(alg);
- return primarySeparatorShape;
- }
-
- public static ContainerShape getRelationShape(ContainerShape entityShape){
- List<Shape> children = entityShape.getChildren();
- if(children.size()<RELATION_SHAPE_CONSTANT+1)
- return null;
- GraphicsAlgorithm alg = children.get(RELATION_SHAPE_CONSTANT).getGraphicsAlgorithm();
- ContainerShape relationShape = (ContainerShape) Graphiti.getPeService().getActiveContainerPe(alg);
- return relationShape;
- }
-
- public static ContainerShape getBasicShape(ContainerShape entityShape){
- List<Shape> children = entityShape.getChildren();
- if(children.size() < BASIC_SHAPE_INDEX+1)
- return null;
- GraphicsAlgorithm alg = children.get(BASIC_SHAPE_INDEX).getGraphicsAlgorithm();
- ContainerShape basicShape = (ContainerShape) Graphiti.getPeService().getActiveContainerPe(alg);
- return basicShape;
- }
-
- public static boolean isCollapsed(ContainerShape compartmentShape) {
- ContainerShape container = compartmentShape.getContainer();
- String result = null;
- if(compartmentShape.equals(GraphicsUpdater.getPrimaryShape(container)))
- result = Graphiti.getPeService().getPropertyValue(container, JPAEditorConstants.PRIMARY_COLLAPSED);
- else if(compartmentShape.equals(GraphicsUpdater.getBasicShape(container)))
- result = Graphiti.getPeService().getPropertyValue(container, JPAEditorConstants.BASIC_COLLAPSED);
- else if(compartmentShape.equals(GraphicsUpdater.getRelationShape(container)))
- result = Graphiti.getPeService().getPropertyValue(container, JPAEditorConstants.RELATION_COLLAPSED);
- if(Boolean.toString(true).equals(result))
- return true;
- return false;
- }
-
- /**
- * @param compartmentShape
- * @param collapsed
- * @return true if successful
- */
- public static boolean setCollapsed(ContainerShape compartmentShape, boolean collapsed) {
- ContainerShape container = compartmentShape.getContainer();
- if(compartmentShape.equals(GraphicsUpdater.getPrimaryShape(container))) {
- Graphiti.getPeService().setPropertyValue(container, JPAEditorConstants.PRIMARY_COLLAPSED, Boolean.toString(collapsed));
- return true;
- }
- else if(compartmentShape.equals(GraphicsUpdater.getBasicShape(container))) {
- Graphiti.getPeService().setPropertyValue(container, JPAEditorConstants.BASIC_COLLAPSED, Boolean.toString(collapsed));
- return true;
- }
- else if(compartmentShape.equals(GraphicsUpdater.getRelationShape(container))) {
- Graphiti.getPeService().setPropertyValue(container, JPAEditorConstants.RELATION_COLLAPSED, Boolean.toString(collapsed));
- return true;
- }
- return false;
- }
-
- public static void updateHeader(ContainerShape entityShape, final String newHeader) {
- if(entityShape == null)
- return;
-
- List<Shape> shapes = entityShape.getChildren();
- Iterator<Shape> shIt = shapes.iterator();
- Shape headerShape = null;;
- while (shIt.hasNext()) {
- headerShape = shIt.next();
- String shapeType = Graphiti.getPeService().getPropertyValue(headerShape, JPAEditorConstants.PROP_SHAPE_TYPE);
- if (ShapeType.HEADER.toString().equals(shapeType))
- break;
- headerShape = null;
- }
- if (headerShape == null)
- return;
- GraphicsAlgorithm ga = headerShape.getGraphicsAlgorithm();
- if (ga == null)
- return;
- final Text txt = (Text)ga.getGraphicsAlgorithmChildren().get(0);
- if (!txt.getValue().equals(newHeader)) {
- TransactionalEditingDomain ted = TransactionUtil.getEditingDomain(txt);
- RecordingCommand rc = new RecordingCommand(ted) {
- protected void doExecute() {
- txt.setValue(newHeader);
- }
- };
- ted.getCommandStack().execute(rc);
- }
- }
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/GraphicsUpdaterImpl.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/GraphicsUpdaterImpl.java
deleted file mode 100644
index c0788a9f7f..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/GraphicsUpdaterImpl.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.util;
-
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-
-public class GraphicsUpdaterImpl implements IGraphicsUpdater {
-
- public void updateEntityHeigth(ContainerShape entityShape) {
- GraphicsUpdater.updateEntityHeigth(entityShape);
- }
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/IDisplayFacade.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/IDisplayFacade.java
deleted file mode 100644
index 0fed6dee9a..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/IDisplayFacade.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Kiril Mitov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.util;
-
-public interface IDisplayFacade {
-
- public void asyncExec(Runnable runnable);
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/IEclipseFacade.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/IEclipseFacade.java
deleted file mode 100644
index 4357166634..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/IEclipseFacade.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Kiril Mitov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.util;
-
-import org.eclipse.core.resources.IWorkspace;
-
-public interface IEclipseFacade {
-
- public IWorkspace getWorkspace();
-
- public IJavaCoreFacade getJavaCore();
-
- public IDisplayFacade getDisplay();
-
- public IStaticIDE getIDE();
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/IGraphicsUpdater.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/IGraphicsUpdater.java
deleted file mode 100644
index d3b4844e72..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/IGraphicsUpdater.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.util;
-
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-
-public interface IGraphicsUpdater {
-
- public void updateEntityHeigth(ContainerShape entityShape);
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/IJPADiagramEditorInput.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/IJPADiagramEditorInput.java
deleted file mode 100644
index 73409bbb30..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/IJPADiagramEditorInput.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.util;
-
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-import org.eclipse.ui.IEditorInput;
-
-public interface IJPADiagramEditorInput extends IEditorInput {
-
- public Diagram getDiagram();
-
- public String getProjectName();
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/IJPAEditorUtil.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/IJPAEditorUtil.java
deleted file mode 100644
index 02d2478b46..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/IJPAEditorUtil.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.util;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.graphiti.mm.pictograms.ConnectionDecorator;
-import org.eclipse.graphiti.mm.pictograms.FreeFormConnection;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorImageCreator.RelEndDir;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.ui.IWorkbenchSite;
-
-
-public interface IJPAEditorUtil {
-
- public List<Point> createBendPointList(FreeFormConnection c, int cnt, int connectionsNum, boolean selfRelation);
-
- public List<Point> createBendPointList(FreeFormConnection c, boolean selfRelation);
-
- public int calcConnectionLength(FreeFormConnection c);
-
- public RelEndDir getConnectionStartDir(FreeFormConnection c);
-
- public RelEndDir getConnectionEndDir(FreeFormConnection c);
-
- public JavaPersistentType getJPType(ICompilationUnit cu);
-
- public void organizeImports(ICompilationUnit cu, IWorkbenchSite ws);
-
- public ICompilationUnit getCompilationUnit(JavaPersistentType jpt);
-
- public void formatCode(ICompilationUnit cu, IWorkbenchSite ws);
-
- public String generateUniqueEntityName(JpaProject jpaProject,
- String pack,
- IJPAEditorFeatureProvider fp);
-
- public String generateUniqueMappedSuperclassName(JpaProject jpaProject,
- String pack, IJPAEditorFeatureProvider fp);
-
- public IFile createEntityInProject(IProject project,
- String entityName,
- IPreferenceStore jpaPreferenceStore,
- boolean isMappedSuperClassChild,
- String mappedSuperclassName,
- String mappedSuperclassPackage,
- boolean hasPrimaryKey) throws Exception;
-
- public IFile createEntityFromMappedSuperclassInProject(IProject project,
- String mappedSuperclassName, IPreferenceStore jpaPreferenceStore) throws Exception;
-
- public boolean isCardinalityDecorator(ConnectionDecorator cd);
-
- public void discardWorkingCopyOnce(ICompilationUnit cu);
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/IJavaCoreFacade.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/IJavaCoreFacade.java
deleted file mode 100644
index 5831693848..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/IJavaCoreFacade.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Kiril Mitov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.util;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jdt.core.ICompilationUnit;
-
-public interface IJavaCoreFacade {
-
- public ICompilationUnit createCompilationUnitFrom(IFile file);
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/IJpaSolver.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/IJpaSolver.java
deleted file mode 100644
index 918d01e7e9..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/IJpaSolver.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.util;
-
-import org.eclipse.graphiti.features.impl.IIndependenceSolver;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-
-
-public interface IJpaSolver extends IIndependenceSolver {
-
- public abstract void setFeatureProvider(
- IJPAEditorFeatureProvider featureProvider);
-
-} \ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/IPeServiceUtil.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/IPeServiceUtil.java
deleted file mode 100644
index f45a0c95f7..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/IPeServiceUtil.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Kiril Mitov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.util;
-
-import org.eclipse.graphiti.mm.Property;
-import org.eclipse.graphiti.mm.PropertyContainer;
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-import org.eclipse.graphiti.mm.pictograms.FreeFormConnection;
-
-public interface IPeServiceUtil {
-
- public FreeFormConnection createFreeFormConnection(Diagram diagram);
-
- public String getPropertyValue(PropertyContainer propertyContainer, String key);
-
- public Property getProperty(PropertyContainer propertyContainer, String key);
-
- public boolean removeProperty(PropertyContainer propertyContainer, String key);
-
- public void setPropertyValue(PropertyContainer propertyContainer, String key, String value);
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/IStaticIDE.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/IStaticIDE.java
deleted file mode 100644
index 9d4ee0e074..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/IStaticIDE.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.util;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.ui.PartInitException;
-
-public interface IStaticIDE {
-
- public void openEditor(IFile file) throws PartInitException;
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/JPACheckSum.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/JPACheckSum.java
deleted file mode 100644
index 556c213970..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/JPACheckSum.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.util;
-
-import java.security.MessageDigest;
-import java.security.NoSuchAlgorithmException;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.graphiti.services.Graphiti;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-
-public class JPACheckSum {
-
- private static JPACheckSum instance = null;
- private static MessageDigest md5 = null;
-
- public static synchronized JPACheckSum INSTANCE() {
- if (instance == null) {
- try {
- md5 = MessageDigest.getInstance("MD5"); //$NON-NLS-1$
- } catch (NoSuchAlgorithmException e) {
- System.err.println("Couldn't create instance of MD5"); //$NON-NLS-1$
- e.printStackTrace();
- return null;
- }
- instance = new JPACheckSum();
- }
- return instance;
- }
-
- public String getSavedShapeMD5(Shape sh) {
- String checkSumString = Graphiti.getPeService().getPropertyValue(sh, JPAEditorConstants.PROP_ENTITY_CHECKSUM);
- if (checkSumString == null)
- return ""; //$NON-NLS-1$
- return checkSumString;
- }
-
- public void assignEntityShapesMD5Strings(Diagram d, JpaProject jpaProject) {
- PersistenceUnit pu = JpaArtifactFactory.instance().getPersistenceUnit(jpaProject);
- List<Shape> picts = d.getChildren();
- if (picts.size() == 0)
- return;
- Iterator<Shape> it = picts.iterator();
- while (it.hasNext()) {
- Shape pict = it.next();
- String name = Graphiti.getPeService().getPropertyValue(pict, JPAEditorConstants.PROP_ENTITY_CLASS_NAME);
- JavaPersistentType jpt = JpaArtifactFactory.instance().getJPT(name, pu);
- String hash = ""; //$NON-NLS-1$
- if (jpt != null) {
- ICompilationUnit cu = JPAEditorUtil.getCompilationUnit(jpt);
- hash = generateCompilationUnitMD5String(cu);
- }
- Graphiti.getPeService().setPropertyValue(pict, JPAEditorConstants.PROP_ENTITY_CHECKSUM, hash);
- }
- }
-
-
- public String generateCompilationUnitMD5String(ICompilationUnit cu) {
- String src = null;
- try {
- src = cu.getSource();
- } catch (JavaModelException e) {
- System.err.println("Can't get the source of the compilation unit"); //$NON-NLS-1$
- e.printStackTrace();
- return null;
- }
- byte[] res = md5.digest(src.getBytes());
- StringBuilder sb = new StringBuilder();
- for (byte b : res)
- sb.append(Byte.toString(b));
- return sb.toString();
- }
-
- public boolean isEntityModelChanged(Shape sh, JpaProject jpaProject) {
- if (sh == null)
- return true;
- PersistenceUnit pu = JpaArtifactFactory.instance().getPersistenceUnit(jpaProject);
- String name = Graphiti.getPeService().getPropertyValue(sh, JPAEditorConstants.PROP_ENTITY_CLASS_NAME);
- JavaPersistentType jpt = JpaArtifactFactory.instance().getJPT(name, pu);
- String savedMD5 = getSavedShapeMD5(sh);
- String actualMD5 = ""; //$NON-NLS-1$
- if (jpt != null) {
- ICompilationUnit cu = JPAEditorUtil.getCompilationUnit(jpt);
- actualMD5 = generateCompilationUnitMD5String(cu);
- }
- return !savedMD5.equals(actualMD5);
- }
-
- public boolean isModelDifferentFromDiagram(Diagram d, JpaProject jpaProject) {
- List<Shape> picts = d.getChildren();
- if (picts.size() == 0)
- return false;
- Iterator<Shape> it = picts.iterator();
- while (it.hasNext()) {
- Shape pict = it.next();
- if (isEntityModelChanged(pict, jpaProject))
- return true;
- }
- return false;
- }
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/JPAEditorConstants.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/JPAEditorConstants.java
deleted file mode 100644
index f34bad2476..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/JPAEditorConstants.java
+++ /dev/null
@@ -1,206 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.util;
-
-import java.util.HashSet;
-import java.util.Hashtable;
-import java.util.Set;
-
-import org.eclipse.graphiti.util.ColorConstant;
-import org.eclipse.graphiti.util.IColorConstant;
-import org.eclipse.jpt.jpa.core.MappingKeys;
-
-public class JPAEditorConstants {
-
- public static Hashtable<String, String> PRIMITIVE_TO_WRAPPER = new Hashtable<String,String>();
-
- public static HashSet<String> WRAPPER_SIMPLE_NAMES = new HashSet<String>();
-
- public static Hashtable<String, String> ANNOTATION_NAME_TO_KEY = new Hashtable<String, String>();
- public static Set<String> CARDINALITY_LABELS = new HashSet<String>();
-
- public final static String COLLAPSE_FEATURES = "collapseFeatures"; //$NON-NLS-1$
-
- public static final IColorConstant ENTITY_TEXT_FOREGROUND =
- new ColorConstant(0, 0, 51);
-
- public static final IColorConstant ENTITY_BACKGROUND =
- new ColorConstant(212, 231, 248);
-
- public static final IColorConstant CONNECTION_LINE_COLOR =
- new ColorConstant(98, 131,167);
-
- public static final IColorConstant ENTITY_BORDER_COLOR =
- new ColorConstant(98, 131,167);
-
- public final static String TRUE_STRING = Boolean.toString(true);
-
- public final static int CONNECTION_LINE_WIDTH = 2;
- public final static int ENTITY_BORDER_WIDTH = 2;
-
- public final static int ENTITY_CORNER_WIDTH = 6;
- public final static int ENTITY_CORNER_HEIGHT = 6;
-
- public static final int ENTITY_MIN_HEIGHT = 30;
- public static final int ENTITY_MIN_WIDTH = 50;
-
- public final static int ENTITY_WIDTH = 120;
- public final static int ENTITY_HEIGHT = 70;
-
- public final static int ATTRIBUTE_RECT_HEIGHT = 30;
- public final static int ATTRIBUTES_TOP_OFFSET = 15;
- public final static int ATTRIBUTES_PLACEMENT_STEP = 20;
- public final static int ATTRIBUTE_TEXT_RECT_X = 21;
- public final static int ATTRIBUTE_TEXT_RECT_WIDTH_REDUCER = 21;
-
- public final static int ICON_RECT_LEFT_OFFSET = 0;
-
- public final static int ICON_HEADER_X = 7;
- public final static int ICON_HEADER_Y = 7;
- public final static int HEADER_ICON_RECT_WIDTH = 24;
- public final static int HEADER_ICON_RECT_HEIGHT = 24;
- public final static int HEADER_TEXT_RECT_HEIGHT = 21;
- public final static int HEADER_TEXT_RECT_X = 25;
- public final static int HEADER_TEXT_RECT_WIDTH_REDUCER = 25;
-
- public final static int ICON_X = 4;
- public final static int ICON_Y = 4;
- public final static int ICON_WIDTH = 16;
- public final static int ICON_HEIGHT = 16;
- public final static int ICON_RECT_WIDTH = 20;
- public final static int ICON_RECT_HEIGHT = 20;
-
- public final static int SEPARATOR_HEIGHT = 2;
- public final static int COMPARTMENT_MIN_HEIGHT = 13;
- public final static int COMPARTMENT_BUTTOM_OFFSET = 5;
-
- public final static String ANNOTATION_BASIC = "Basic"; //$NON-NLS-1$
- public final static String ANNOTATION_ID = "Id"; //$NON-NLS-1$
- public final static String ANNOTATION_ONE_TO_ONE = "OneToOne"; //$NON-NLS-1$
- public final static String ANNOTATION_ONE_TO_MANY = "OneToMany"; //$NON-NLS-1$
- public final static String ANNOTATION_MANY_TO_ONE = "ManyToOne"; //$NON-NLS-1$
- public final static String ANNOTATION_MANY_TO_MANY = "ManyToMany"; //$NON-NLS-1$
- public final static String ANNOTATION_VERSION = "Version"; //$NON-NLS-1$
- public final static String ANNOTATION_EMBEDDED = "Embedded"; //$NON-NLS-1$
- public final static String ANNOTATION_EMBEDDED_ID = "EmbeddedId"; //$NON-NLS-1$
- public final static String ANNOTATION_TRANSIENT = "Transient"; //$NON-NLS-1$
-
- public static final int RELATION_TYPE_UNIDIRECTIONAL = 1;
- public static final int RELATION_TYPE_BIDIRECTIONAL = 2;
-
- public static HashSet<String> RELATION_ANNOTATIONS = new HashSet<String>();
-
- public static String PROP_ENTITY_CLASS_NAME = "prop_entity_class_name"; //$NON-NLS-1$
- public static String PROP_SHAPE_TYPE = "prop_shape_type"; //$NON-NLS-1$
- public static String PROP_ATTRIBS_NUM = "prop_attribs_num"; //$NON-NLS-1$
- public static String PROP_SPECIFIED_NAME = "specifiedName"; //$NON-NLS-1$
-
- public static enum DecoratorType {
- CARDINALITY,
- ASSOCIATION
- }
-
- //public static String PROP_CON_DIR_START = "prop_con_dir_start"; //$NON-NLS-1$
- //public static String PROP_CON_DIR_END = "prop_con_dir_end"; //$NON-NLS-1$
-
- public static String ID_VIEW_JPA_DETAILS = "org.eclipse.jpt.ui.jpaDetailsView"; //$NON-NLS-1$
- public static String ID_VIEW_MINIATURE = "org.eclipse.graphiti.ui.internal.editor.thumbnailview"; //$NON-NLS-1$
-
- public static String CARDINALITY_ZERO_ONE = "0..1"; //$NON-NLS-1$
- public static String CARDINALITY_ONE = "1"; //$NON-NLS-1$
- public static String CARDINALITY_ZERO_N = "0..N"; //$NON-NLS-1$
-
- public static enum ShapeType {ICON, HEADER, ATTRIBUTE, COMPARTMENT};
-
- static {
- ANNOTATION_NAME_TO_KEY.put(ANNOTATION_BASIC, MappingKeys.BASIC_ATTRIBUTE_MAPPING_KEY);
- ANNOTATION_NAME_TO_KEY.put(ANNOTATION_ID, MappingKeys.ID_ATTRIBUTE_MAPPING_KEY);
- ANNOTATION_NAME_TO_KEY.put(ANNOTATION_ONE_TO_ONE, MappingKeys.ONE_TO_ONE_ATTRIBUTE_MAPPING_KEY);
- ANNOTATION_NAME_TO_KEY.put(ANNOTATION_ONE_TO_MANY, MappingKeys.ONE_TO_MANY_ATTRIBUTE_MAPPING_KEY);
- ANNOTATION_NAME_TO_KEY.put(ANNOTATION_MANY_TO_ONE, MappingKeys.MANY_TO_ONE_ATTRIBUTE_MAPPING_KEY);
- ANNOTATION_NAME_TO_KEY.put(ANNOTATION_MANY_TO_MANY, MappingKeys.MANY_TO_MANY_ATTRIBUTE_MAPPING_KEY);
- ANNOTATION_NAME_TO_KEY.put(ANNOTATION_VERSION, MappingKeys.VERSION_ATTRIBUTE_MAPPING_KEY);
- ANNOTATION_NAME_TO_KEY.put(ANNOTATION_EMBEDDED, MappingKeys.EMBEDDED_ATTRIBUTE_MAPPING_KEY);
- ANNOTATION_NAME_TO_KEY.put(ANNOTATION_EMBEDDED_ID, MappingKeys.EMBEDDED_ID_ATTRIBUTE_MAPPING_KEY);
- ANNOTATION_NAME_TO_KEY.put(ANNOTATION_TRANSIENT, MappingKeys.TRANSIENT_ATTRIBUTE_MAPPING_KEY);
-
- RELATION_ANNOTATIONS.add(JPAEditorConstants.ANNOTATION_ONE_TO_ONE);
- RELATION_ANNOTATIONS.add(JPAEditorConstants.ANNOTATION_ONE_TO_MANY);
- RELATION_ANNOTATIONS.add(JPAEditorConstants.ANNOTATION_MANY_TO_ONE);
- RELATION_ANNOTATIONS.add(JPAEditorConstants.ANNOTATION_MANY_TO_MANY);
-
- CARDINALITY_LABELS.add(CARDINALITY_ZERO_ONE);
- CARDINALITY_LABELS.add(CARDINALITY_ONE);
- CARDINALITY_LABELS.add(CARDINALITY_ZERO_N);
-
- PRIMITIVE_TO_WRAPPER.put("int", Integer.class.getName()); //$NON-NLS-1$
- PRIMITIVE_TO_WRAPPER.put("long", Long.class.getName()); //$NON-NLS-1$
- PRIMITIVE_TO_WRAPPER.put("double", Double.class.getName()); //$NON-NLS-1$
- PRIMITIVE_TO_WRAPPER.put("float", Float.class.getName() ); //$NON-NLS-1$
- PRIMITIVE_TO_WRAPPER.put("boolean", Boolean.class.getName()); //$NON-NLS-1$
- PRIMITIVE_TO_WRAPPER.put("char", Character.class.getName()); //$NON-NLS-1$
- PRIMITIVE_TO_WRAPPER.put("byte", Byte.class.getName()); //$NON-NLS-1$
- PRIMITIVE_TO_WRAPPER.put("short", Short.class.getName()); //$NON-NLS-1$
-
- WRAPPER_SIMPLE_NAMES.add("Integer"); //$NON-NLS-1$
- WRAPPER_SIMPLE_NAMES.add("Long"); //$NON-NLS-1$
- WRAPPER_SIMPLE_NAMES.add("Double"); //$NON-NLS-1$
- WRAPPER_SIMPLE_NAMES.add("Float"); //$NON-NLS-1$
- WRAPPER_SIMPLE_NAMES.add("Boolean"); //$NON-NLS-1$
- WRAPPER_SIMPLE_NAMES.add("Character"); //$NON-NLS-1$
- WRAPPER_SIMPLE_NAMES.add("Byte"); //$NON-NLS-1$
- WRAPPER_SIMPLE_NAMES.add("Short"); //$NON-NLS-1$
- WRAPPER_SIMPLE_NAMES.add("String"); //$NON-NLS-1$
- }
-
- public final static String[] PRIMITIVE_TYPES_AND_WRAPPERS = {"int", //$NON-NLS-1$
- "Integer", //$NON-NLS-1$
- "long", //$NON-NLS-1$
- "Long", //$NON-NLS-1$
- "short", //$NON-NLS-1$
- "Short", //$NON-NLS-1$
- "char", //$NON-NLS-1$
- "Character", //$NON-NLS-1$
- "boolean", //$NON-NLS-1$
- "Boolean", //$NON-NLS-1$
- "byte", //$NON-NLS-1$
- "Byte", //$NON-NLS-1$
- "double", //$NON-NLS-1$
- "Double", //$NON-NLS-1$
- "float", //$NON-NLS-1$
- "Float", //$NON-NLS-1$
- "String"}; //$NON-NLS-1$
-
- public final static HashSet<String> PRIMITIVE_TYPES_AND_WRAPPERS_SET = new HashSet<String>();
-
- static {
- for (String type : PRIMITIVE_TYPES_AND_WRAPPERS)
- PRIMITIVE_TYPES_AND_WRAPPERS_SET.add(type);
- }
-
- public static final String OPEN_WHOLE_PERSISTENCE_UNIT_EDITOR_PROPERTY = "JPADiagramEditor_openWholePersistenceUnit"; //$NON-NLS-1$
-
- public static final String PRIMARY_COLLAPSED = "primary collapsed"; //$NON-NLS-1$
-
- public static final String BASIC_COLLAPSED = "basic collapsed";//$NON-NLS-1$
-
- public static final String RELATION_COLLAPSED = "relation collapsed";//$NON-NLS-1$
-
- public static final String PROP_ENTITY_CHECKSUM = "diagram.checksum"; //$NON-NLS-1$
-
- public static final String JPA_SUPPORT_DIALOG_ID = "jpa_support_warning"; //$NON-NLS-1$
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/JPAEditorUtil.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/JPAEditorUtil.java
deleted file mode 100644
index 61a4ef46e0..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/JPAEditorUtil.java
+++ /dev/null
@@ -1,1412 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.util;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.ListIterator;
-import java.util.Locale;
-import java.util.Properties;
-import java.util.Set;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.transaction.RecordingCommand;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.transaction.util.TransactionUtil;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.mm.algorithms.GraphicsAlgorithm;
-import org.eclipse.graphiti.mm.algorithms.Image;
-import org.eclipse.graphiti.mm.algorithms.Rectangle;
-import org.eclipse.graphiti.mm.algorithms.RoundedRectangle;
-import org.eclipse.graphiti.mm.algorithms.Text;
-import org.eclipse.graphiti.mm.pictograms.Anchor;
-import org.eclipse.graphiti.mm.pictograms.Connection;
-import org.eclipse.graphiti.mm.pictograms.ConnectionDecorator;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.FreeFormConnection;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.graphiti.services.Graphiti;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IImportDeclaration;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.ui.actions.FormatAllAction;
-import org.eclipse.jdt.ui.actions.OrganizeImportsAction;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.context.PersistentType;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpa.core.context.persistence.ClassRef;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpa.core.resource.java.JavaResourcePersistentAttribute;
-import org.eclipse.jpt.jpa.core.resource.persistence.PersistenceFactory;
-import org.eclipse.jpt.jpa.core.resource.persistence.XmlJavaClassRef;
-import org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistence;
-import org.eclipse.jpt.jpa.core.resource.persistence.XmlPersistenceUnit;
-import org.eclipse.jpt.jpa.core.resource.xml.JpaXmlResource;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.facade.EclipseFacade;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.propertypage.JPADiagramPropertyPage;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorImageCreator.RelEndDir;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.JPAEditorImageProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.IRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants.ShapeType;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorReference;
-import org.eclipse.ui.IWorkbenchSite;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.part.FileEditorInput;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-
-
-public class JPAEditorUtil {
-
-
- private static IPeServiceUtil peUtil = null;
-
- public static String capitalizeFirstLetter(String s) {
- if (s.length() == 0) return s;
- String res = s.substring(0, 1).toUpperCase(Locale.ENGLISH) + s.substring(1);
- return res;
- }
-
- public static String decapitalizeFirstLetter(String s) {
- if (s.length() == 0) return s;
- String res = s.substring(0, 1).toLowerCase(Locale.ENGLISH) + s.substring(1);
- return res;
- }
-
- public static String revertFirstLetterCase(String s) {
- if ((s == null) || (s.length() == 0))
- return s;
- return (Character.isLowerCase(s.charAt(0)) ?
- s.substring(0, 1).toUpperCase(Locale.ENGLISH) :
- s.substring(0, 1).toLowerCase(Locale.ENGLISH)) +
- s.substring(1);
- }
-
- synchronized public static IPeServiceUtil getPeUtil() {
- if (peUtil == null)
- peUtil = new PeServiceUtilImpl();
- return peUtil;
- }
-
- public static boolean equalsIgnoreFirstLetterCase(String s1, String s2) {
- if ((s1 == null) && (s2 == null))
- return true;
- if ((s1 == null) || (s2 == null))
- return false;
- if (s1.length() != s2.length())
- return false;
- if (s1.length() == 0)
- return true;
- return s1.substring(0, 1).equalsIgnoreCase(s2.substring(0, 1)) &&
- s1.substring(1).equals(s2.substring(1));
- }
-
- public static Anchor getAnchor(ContainerShape cs) {
- Collection<Anchor> anchors = cs.getAnchors();
- return anchors.iterator().next();
- }
-
- public static Anchor getAnchor(JavaPersistentType jpt, IFeatureProvider fp) {
- PictogramElement pe = fp.getPictogramElementForBusinessObject(jpt);
- if ((pe == null) || (!(pe instanceof ContainerShape)))
- return null;
- return getAnchor((ContainerShape)pe);
- }
-
- public static String getText(JavaPersistentAttribute at) {
- return at.getName();
- }
-
- public static String returnSimpleName(String s) {
- return s.substring(s.lastIndexOf('.') + 1);
- }
-
- public static String stripQuotes(String s) {
- if ((s.startsWith("\"")) && (s.endsWith("\""))) //$NON-NLS-1$ //$NON-NLS-2$
- return s.substring(1, s.length() - 1);
- return s;
- }
-
- public static String getTooltipText(JavaPersistentType jpt,
- String superPersistentTypeName) {
- String res = jpt.getName();
- if (superPersistentTypeName != null) {
- return MessageFormat.format(JPAEditorMessages.JPAEditorUtil_inheritTypeTooltipText,
- new Object[] { res, superPersistentTypeName });
- }
- return MessageFormat.format(JPAEditorMessages.JPAEditorUtil_fullnameTooltipText,
- new Object[] { res });
- }
-
-
- public static String getAttributeTypeName(JavaPersistentAttribute at) {
- return getAttributeTypeName(at.getResourcePersistentAttribute());
- }
-
- public static String getAttributeTypeName(JavaResourcePersistentAttribute at) {
- return at.getTypeName();
- }
-
- public static List<String> getAttributeTypeTypeNames(JavaResourcePersistentAttribute at) {
- ListIterator<String> tt = at.typeTypeArgumentNames();
- if ((tt == null) || !tt.hasNext())
- return null;
- LinkedList<String> res = new LinkedList<String>();
- while (tt.hasNext())
- res.add(tt.next());
- return res;
- }
-
- public static String getAttributeTypeNameWithGenerics(JavaPersistentAttribute at) {
- return getAttributeTypeNameWithGenerics(at.getResourcePersistentAttribute());
- }
-
-
- public static String getAttributeTypeNameWithGenerics(JavaResourcePersistentAttribute at) {
- StringBuilder res = new StringBuilder(getAttributeTypeName(at));
- ListIterator<String> it = at.typeTypeArgumentNames();
- if ((it != null) && it.hasNext()) {
- res.append('<');
- res.append(createCommaSeparatedListOfFullTypeNames(it));
- res.append('>');
- }
- return res.toString();
- }
-
-
- public static String[] getGenericsElementTypes(String typeName) {
- if (typeName.indexOf("<") == -1) //$NON-NLS-1$
- return null;
- String types = typeName.substring(typeName.indexOf("<") + 1, typeName.lastIndexOf(">")); //$NON-NLS-1$ //$NON-NLS-2$
- String[] typeNames = types.split(","); //$NON-NLS-1$
- for (int i = 0; i < typeNames.length; i++) {
- typeNames[i] = typeNames[i].trim();
- }
- return typeNames;
- }
-
- public static String createCommaSeparatedListOfSimpleTypeNames(String[] strings) {
- if ((strings == null) || (strings.length == 0))
- return null;
- StringBuilder res = new StringBuilder(JPAEditorUtil.returnSimpleName(strings[0]));
- for (int i = 1; i < strings.length; i++) {
- res.append(", "); //$NON-NLS-1$
- res.append(JPAEditorUtil.returnSimpleName(strings[i]));
- }
- return res.toString();
- }
-
- public static String createCommaSeparatedListOfSimpleTypeNames(ListIterator<String> strIt) {
- if ((strIt == null) || !strIt.hasNext())
- return null;
- StringBuilder res = new StringBuilder(JPAEditorUtil.returnSimpleName(strIt.next()));
- while (strIt.hasNext()) {
- res.append(", "); //$NON-NLS-1$
- res.append(JPAEditorUtil.returnSimpleName(strIt.next()));
- }
- return res.toString();
- }
-
- public static String createCommaSeparatedListOfFullTypeNames(ListIterator<String> strIt) {
- if ((strIt == null) || !strIt.hasNext())
- return null;
- StringBuilder res = new StringBuilder(strIt.next());
- while (strIt.hasNext()) {
- res.append(", "); //$NON-NLS-1$
- res.append(strIt.next());
- }
- return res.toString();
- }
-
-
- public static String getText(JavaPersistentType jpt) {
- return JPAEditorUtil.returnSimpleName(JpaArtifactFactory.instance().getEntityName(jpt));
- }
-
- public static String getTooltipText(JavaPersistentType jpt) {
- String res = jpt.getName();
- return MessageFormat.format(JPAEditorMessages.JPAEditorUtil_fullnameTooltipText, new Object[] { res });
- }
-
- public static JavaPersistentType getJPType(ICompilationUnit cu) {
- String name = cu.getElementName();
- if (!name.endsWith(".java")) //$NON-NLS-1$
- return null;
- IType tp = cu.findPrimaryType();
- if (tp == null)
- return null;;
- name = tp.getFullyQualifiedName();
- IJavaProject jp = cu.getJavaProject();
- JpaProject proj = null;
- try {
- proj = JpaArtifactFactory.instance().getJpaProject(jp.getProject());
- } catch (CoreException e) {
- System.err.println("Cannot obtain the JPA project."); //$NON-NLS-1$
- e.printStackTrace();
- }
- if (proj == null)
- return null;
- PersistenceUnit pu = JpaArtifactFactory.instance().getPersistenceUnit(proj);
- PersistentType pt = pu.getPersistentType(name);
- if ((pt == null) || (!(pt instanceof JavaPersistentType)))
- return null;
- return (JavaPersistentType)pt;
- }
-
- public static String getNameFromShape(Shape sh) {
- ContainerShape csh = (ContainerShape)sh;
- List<Shape> shapes = csh.getChildren();
- Iterator<Shape> it = shapes.iterator();
- while (it.hasNext()) {
- Shape shape = it.next();
- GraphicsAlgorithm ga = shape.getGraphicsAlgorithm();
- if (ga instanceof Rectangle) {
- Rectangle rect = (Rectangle)ga;
- if (rect.getY() == 0) {
- List<GraphicsAlgorithm> gas = rect.getGraphicsAlgorithmChildren();
- if (gas.size() > 0) {
- GraphicsAlgorithm gra = gas.get(0);
- if (gra instanceof Text)
- return ((Text)gra).getValue();
- }
- }
- }
- }
- return null;
- }
-
- public static void setNameOfShape(Shape sh, String name) {
- ContainerShape csh = (ContainerShape)sh;
- List<Shape> shapes = csh.getChildren();
- Iterator<Shape> it = shapes.iterator();
- while (it.hasNext()) {
- Shape shape = it.next();
- GraphicsAlgorithm ga = shape.getGraphicsAlgorithm();
- if (ga instanceof Rectangle) {
- Rectangle rect = (Rectangle)ga;
- if (rect.getY() == 0) {
- List<GraphicsAlgorithm> gas = rect.getGraphicsAlgorithmChildren();
- if (gas.size() > 0) {
- GraphicsAlgorithm gra = gas.get(0);
- if (gra instanceof Text) {
- ((Text)gra).setValue(name);
- return;
- }
- }
- }
- }
- };
- }
-
- public static void setJPTNameInShape(ContainerShape cs, String newName) {
- setJPTNameInShape(cs, newName, getPeUtil());
- }
-
- public static void setJPTNameInShape(ContainerShape cs, String newName, IPeServiceUtil peUtil) {
- List<Shape> shapes = cs.getChildren();
- Iterator<Shape> it = shapes.iterator();
- while (it.hasNext()) {
- Shape sh = it.next();
- String propShapeType = peUtil.getPropertyValue(sh, JPAEditorConstants.PROP_SHAPE_TYPE);
- if (!ShapeType.HEADER.toString().equals(propShapeType))
- continue;
- Text txt = (Text)sh.getGraphicsAlgorithm().getGraphicsAlgorithmChildren().get(0);
- txt.setValue(newName);
- return;
- }
- }
-
-
- public static String produceValidAttributeName(String name) {
- if ((name == null) || (name.length() == 0))
- return ""; //$NON-NLS-1$
- if (name.length() == 1)
- return name.toLowerCase(Locale.ENGLISH);
- String secondSymbol = name.substring(1, 2);
- if (secondSymbol.toLowerCase(Locale.ENGLISH).equals(secondSymbol.toUpperCase(Locale.ENGLISH)))
- return decapitalizeFirstLetter(name);
- return (isUpperCase(secondSymbol)) ?
- capitalizeFirstLetter(name) :
- decapitalizeFirstLetter(name);
- }
-
- public static boolean isUpperCase(String s) {
- if ((s == null) || (s.length() == 0) || (s.length() > 1))
- throw new IllegalArgumentException("The given string has to contain one symbol exactly"); //$NON-NLS-1$
- return s.toUpperCase(Locale.ENGLISH).equals(s);
- }
-
-
- public static void createRegisterEntityInXMLJob(final JpaProject jpaProject, final String classFQN) {
- final JpaXmlResource resource = jpaProject.getPersistenceXmlResource();
- resource.modify(new Runnable() {
- public void run() {
- XmlPersistence xmlPersistence = (XmlPersistence) resource.getRootObject();
- EList<XmlPersistenceUnit> persistenceUnits = xmlPersistence.getPersistenceUnits();
- XmlPersistenceUnit persistenceUnit = persistenceUnits.get(0); // Multiply persistence unit support
- boolean registered = false;
- Iterator<XmlJavaClassRef> it = persistenceUnit.getClasses().iterator();
- while (it.hasNext()) {
- String className = it.next().getJavaClass();
- if (classFQN.equals(className)) {
- registered = true;
- break;
- }
- }
- if (!registered) {
- XmlJavaClassRef classRef = PersistenceFactory.eINSTANCE.createXmlJavaClassRef();
- classRef.setJavaClass(classFQN);
- persistenceUnit.getClasses().add(classRef);
- }
- }
- });
- }
-
- public static void createUnregisterEntityFromXMLJob(final JpaProject jpaProject, final String classFQN) {
- final JpaXmlResource resource = jpaProject.getPersistenceXmlResource();
-
- resource.modify(new Runnable() {
- public void run() {
- XmlPersistence xmlPersistence = (XmlPersistence) resource.getRootObject();
- EList<XmlPersistenceUnit> persistenceUnits = xmlPersistence.getPersistenceUnits();
- XmlPersistenceUnit persistenceUnit = persistenceUnits.get(0);// Multiply persistence unit support
- EList<XmlJavaClassRef> cRefs = persistenceUnit.getClasses();
- for (XmlJavaClassRef cRef : cRefs)
- if (cRef.getJavaClass().equals(classFQN)) {
- cRefs.remove(cRef);
- break;
- }
- }
- });
- }
-
- public static void createImports(ICompilationUnit cu, String typeFQN) {
- if (typeFQN == null)
- return;
- typeFQN = typeFQN.trim();
- String[] typeFQNs = getAllTypes(typeFQN);
- createImports(cu, typeFQNs);
- }
-
- public static String[] getAllTypes(String typeFQN){
- typeFQN = typeFQN.replace('[', ',');
- typeFQN = typeFQN.replace(']', ',');
- typeFQN = typeFQN.replace('<', ',');
- typeFQN = typeFQN.replace('>', ',');
- String[] res = typeFQN.trim().split(","); //$NON-NLS-1$
- for (int i = 0; i < res.length; i++)
- res[i] = res[i].trim();
- return res;
- }
-
- public static void createImports(ICompilationUnit cu, String[] typeFQNs) {
- NullProgressMonitor npm = new NullProgressMonitor();
- for (String typeFQN : typeFQNs) {
- if (typeFQN.startsWith("java.lang.") || !typeFQN.contains(".")) //$NON-NLS-1$ //$NON-NLS-2$
- continue;
- try {
- cu.createImport(typeFQN, null, npm);
- } catch (JavaModelException e) {}
- }
- }
-
- public static String createImport(ICompilationUnit cu, String typeFQN) {
- if (typeFQN.startsWith("java.lang.") || !typeFQN.contains(".")) //$NON-NLS-1$ //$NON-NLS-2$
- return returnSimpleName(typeFQN);
-
- NullProgressMonitor npm = new NullProgressMonitor();
- String simpleName = returnSimpleName(typeFQN);
- IImportDeclaration[] ids = new IImportDeclaration[0];
- try {
- ids = cu.getImports();
- } catch (JavaModelException e) {}
- for (IImportDeclaration id : ids) {
- String impName = id.getElementName();
- if (impName.endsWith("*")) //$NON-NLS-1$
- continue;
- if (impName.endsWith("." + simpleName)) //$NON-NLS-1$
- return typeFQN;
- if (JPAEditorConstants.WRAPPER_SIMPLE_NAMES.contains(simpleName))
- return typeFQN;
- }
- try {
- cu.createImport(typeFQN, null, npm);
- return returnSimpleName(typeFQN);
- } catch (JavaModelException e) {}
- return typeFQN;
- }
-
- public static Image createAttributeIcon(Rectangle iconRect, Set<String> annotations) {
- Image icon = null;
- if ((annotations == null) || (annotations.size() == 0) || annotations.contains(JPAEditorConstants.ANNOTATION_BASIC)) {
- icon = Graphiti.getGaService().createImage(iconRect, JPAEditorImageProvider.ICON_BASIC);
- } else if (annotations.contains(JPAEditorConstants.ANNOTATION_ID)) {
- icon = Graphiti.getGaService().createImage(iconRect, JPAEditorImageProvider.PRIMARY_KEY);
- } else if (annotations.contains(JPAEditorConstants.ANNOTATION_ONE_TO_ONE)) {
- icon = Graphiti.getGaService().createImage(iconRect, JPAEditorImageProvider.ICON_ONE_TO_ONE);
- } else if (annotations.contains(JPAEditorConstants.ANNOTATION_ONE_TO_MANY)) {
- icon = Graphiti.getGaService().createImage(iconRect, JPAEditorImageProvider.ICON_ONE_TO_MANY);
- } else if (annotations.contains(JPAEditorConstants.ANNOTATION_MANY_TO_ONE)) {
- icon = Graphiti.getGaService().createImage(iconRect, JPAEditorImageProvider.ICON_MANY_TO_ONE);
- } else if (annotations.contains(JPAEditorConstants.ANNOTATION_MANY_TO_MANY)) {
- icon = Graphiti.getGaService().createImage(iconRect, JPAEditorImageProvider.ICON_MANY_TO_MANY);
- } else if(annotations.contains(JPAEditorConstants.ANNOTATION_EMBEDDED_ID)){
- icon = Graphiti.getGaService().createImage(iconRect, JPAEditorImageProvider.ICON_EMBEDDED_ID);
- } else if(annotations.contains(JPAEditorConstants.ANNOTATION_VERSION)){
- icon = Graphiti.getGaService().createImage(iconRect, JPAEditorImageProvider.ICON_VERSION);
- } else if(annotations.contains(JPAEditorConstants.ANNOTATION_TRANSIENT)){
- icon = Graphiti.getGaService().createImage(iconRect, JPAEditorImageProvider.ICON_TRANSIENT);
- } else if(annotations.contains(JPAEditorConstants.ANNOTATION_EMBEDDED)){
- icon = Graphiti.getGaService().createImage(iconRect, JPAEditorImageProvider.ICON_EMBEDDED);
- } else {
- icon = Graphiti.getGaService().createImage(iconRect, JPAEditorImageProvider.ICON_BASIC);
- }
- return icon;
- }
-
- public static Shape getIconShape(Shape attributeShape) {
- int y = attributeShape.getGraphicsAlgorithm().getY();
- ContainerShape cs = attributeShape.getContainer();
- Iterator<Shape> it = cs.getChildren().iterator();
- while (it.hasNext()) {
- Shape shp = it.next();
- GraphicsAlgorithm ga = shp.getGraphicsAlgorithm();
- if ((ga != null) && (ga.getY() == y) &&
- (ShapeType.ICON.toString().
- equals(Graphiti.getPeService().getPropertyValue(shp,
- JPAEditorConstants.PROP_SHAPE_TYPE))))
- return shp;
- }
- return null;
- }
-
- public static Collection<ContainerShape> getRelatedShapes(ContainerShape cs) {
- Collection<ContainerShape> res = new HashSet<ContainerShape>();
- Collection<Connection> cons = new HashSet<Connection>();
- Iterator<Anchor> ansIt = cs.getAnchors().iterator();
- while (ansIt.hasNext()) {
- Anchor an = ansIt.next();
- cons.addAll(an.getIncomingConnections());
- cons.addAll(an.getOutgoingConnections());
- }
- Iterator<Connection> consIt = cons.iterator();
- while (consIt.hasNext()) {
- Connection con = consIt.next();
- ContainerShape cs1 = (ContainerShape)con.getStart().getParent();
- if (cs1 != cs)
- res.add(cs1);
- cs1 = (ContainerShape)con.getEnd().getParent();
- if (cs1 != cs)
- res.add(cs1);
- }
- return res;
- }
-
- public static int calcConnectionLength(FreeFormConnection c) {
- List<org.eclipse.graphiti.mm.algorithms.styles.Point> pts = c.getBendpoints();
- int len = 0;
- for (int i = 0; i < pts.size() - 1; i++) {
- len = len + ((pts.get(i).getX() == pts.get(i + 1).getX()) ?
- Math.abs(pts.get(i).getY() - pts.get(i + 1).getY()) :
- Math.abs(pts.get(i).getX() - pts.get(i + 1).getX()));
- }
- return len;
- }
-
- public static List<Point> createBendPointList(FreeFormConnection c, boolean selfRelation) {
- int cnt = getNumberOfConnectionsWithSameEndsAs(c);
- return createBendPointList(c, cnt - 1, cnt, selfRelation);
- }
-
- public static List<Point> createBendPointList(FreeFormConnection c, int cnt, int connectionsNum, boolean selfRelation) {
- return selfRelation ?
- createBendPointListForSelfRelation(c, cnt, connectionsNum) :
- createBendPointListForNonSelfRelation(c, cnt, connectionsNum);
- }
-
- private static List<Point> createBendPointListForSelfRelation(FreeFormConnection c, int cnt, int connectionsNum) {
- final int ABS_SHIFT = 15;
-
- int emptiestQuadrant = getEmptiestQuadrant(c);
- boolean evenQuadrant = (emptiestQuadrant == 2) || (emptiestQuadrant == 4);
-
- RoundedRectangle rect = (RoundedRectangle)c.getStart().getParent().getGraphicsAlgorithm();
-
- float halfWidth = rect.getWidth() / 2.0f;
- float halfHeight = rect.getHeight() / 2.0f;
-
- int centerX = Math.round(halfWidth + rect.getX());
- int centerY = Math.round(halfHeight + rect.getY());
-
- boolean startHorizontal = false;
- boolean endHorizontal = !startHorizontal;
-
-
- int startDirection = ((emptiestQuadrant == 2) || (emptiestQuadrant == 3)) ? 1 : -1; // 1 or -1; 1 for RIGHT/DOWN; -1 for LEFT/UP
- int endDirection = ((emptiestQuadrant == 1) || (emptiestQuadrant == 2)) ? 1 : -1;
-
- int x;
- int y;
-
-
- if (endHorizontal) {
- x = centerX + Math.round(halfWidth * endDirection);
- y = centerY;
- } else {
- x = centerX;
- y = centerY + Math.round(halfHeight * endDirection);
- }
- int SHIFT = evenQuadrant ? -ABS_SHIFT * endDirection : ABS_SHIFT * endDirection;
- Point endPoint = new Point(x + (endHorizontal ? 0 : (cnt * SHIFT)), y + (endHorizontal ? (cnt * SHIFT) : 0));
-
-
- if (startHorizontal) {
- x = centerX + Math.round(halfWidth * startDirection);
- y = centerY;
- } else {
- x = centerX;
- y = centerY + Math.round(halfHeight * startDirection);
- }
- SHIFT = evenQuadrant ? -ABS_SHIFT * startDirection : ABS_SHIFT * startDirection;
- Point startPoint = new Point(x + (startHorizontal ? 0 : (cnt * SHIFT)), y + (startHorizontal ? (cnt * SHIFT) : 0));
-
- // second point
- List<Point> res = new LinkedList<Point>();
- res.add(startPoint);
- if (startHorizontal) {
- x = startPoint.x + startDirection * 50 + ((evenQuadrant ? - cnt : cnt) * SHIFT);
- y = startPoint.y;
- } else {
- x = startPoint.x;
- y = startPoint.y + startDirection * 50 + ((evenQuadrant ? - cnt : cnt) * SHIFT);
- }
- res.add(new Point(x, y));
-
- // middle point
- SHIFT = ABS_SHIFT * endDirection;
- if (startHorizontal) {
- y = y + Math.round(halfHeight + 50) * endDirection + (2 *cnt * SHIFT);
- } else {
- x = x + Math.round(halfWidth + 50) * endDirection + (2 * cnt * SHIFT);
- }
- res.add(new Point(x, y));
-
- // fourth point
- if (startHorizontal) {
- x = endPoint.x;
- } else {
- y = endPoint.y;
- }
- res.add(new Point(x, y));
-
-
- res.add(endPoint);
-
- //------------------
- return res;
- }
-
- private static int getEmptiestQuadrant(FreeFormConnection selfRel) {
- Anchor anchor = selfRel.getStart();
- RoundedRectangle primRect = (RoundedRectangle)anchor.getParent().getGraphicsAlgorithm();
- Collection<Connection> cons = new HashSet<Connection>();
- cons.addAll(anchor.getIncomingConnections());
- cons.addAll(anchor.getOutgoingConnections());
- Iterator<Connection> it = cons.iterator();
- Collection<Anchor> anchors = new HashSet<Anchor>();
- while (it.hasNext()) {
- Connection c = it.next();
- Anchor a = c.getStart();
- if (a != anchor)
- anchors.add(a);
- a = c.getEnd();
- if (a != anchor)
- anchors.add(a);
- }
- Iterator<Anchor> itAnchors = anchors.iterator();
- float[] quadrantHabitat = new float[5];
- while (itAnchors.hasNext()) {
- Anchor a = itAnchors.next();
- RoundedRectangle rect = (RoundedRectangle)a.getParent().getGraphicsAlgorithm();
- int q = getQuadrant(primRect, rect);
- quadrantHabitat[q] += 1.5f;
- if (q == 1) {
- quadrantHabitat[4] = quadrantHabitat[4] + 0.5f;
- } else if (q == 4) {
- quadrantHabitat[1] += 0.5f;
- }
- if (q < 4) {
- quadrantHabitat[q + 1] += 0.5f;
- }
- if (q > 1) {
- quadrantHabitat[q - 1] += 0.5f;
- }
- }
- float minHabitat = Float.MAX_VALUE;
- int emptiestQuadrant = 0;
- for (int i = 1; i < 5; i++) {
- if (quadrantHabitat[i] < minHabitat) {
- emptiestQuadrant = i;
- minHabitat = quadrantHabitat[i];
- }
- }
- return emptiestQuadrant;
- }
-
- private static int getQuadrant(RoundedRectangle primRect, RoundedRectangle rect) {
- int primCenterX = primRect.getX() + Math.round(primRect.getWidth() / 2.0f);
- int primCenterY = primRect.getY() + Math.round(primRect.getHeight() / 2.0f);
- int centerX = rect.getX() + Math.round(rect.getWidth() / 2.0f);
- int centerY = rect.getY() + Math.round(rect.getHeight() / 2.0f);
- if (primCenterX < centerX)
- if (primCenterY > centerY)
- return 1;
- else
- return 2;
- else
- if (primCenterY > centerY)
- return 4;
- else
- return 3;
- }
-
- private static List<Point> createBendPointListForNonSelfRelation(FreeFormConnection c, int cnt, int connectionsNum) {
- final int ABS_SHIFT = 15;
- RoundedRectangle rectStart = (RoundedRectangle)c.getStart().getParent().getGraphicsAlgorithm();
- RoundedRectangle rectEnd = (RoundedRectangle)c.getEnd().getParent().getGraphicsAlgorithm();
-
- float startHalfWidth = rectStart.getWidth() / 2.0f;
- float startHalfHeight = rectStart.getHeight() / 2.0f;
- float endHalfWidth = rectEnd.getWidth() / 2.0f;
- float endHalfHeight = rectEnd.getHeight() / 2.0f;
-
-
- int startCenterX = Math.round(startHalfWidth + rectStart.getX());
- int startCenterY = Math.round(startHalfHeight + rectStart.getY());
- int endCenterX = Math.round(endHalfWidth + rectEnd.getX());
- int endCenterY = Math.round(endHalfHeight + rectEnd.getY());
- int xDelta = endCenterX - startCenterX;
- int yDelta = endCenterY - startCenterY;
-
- boolean startHorizontal = true;
- int x;
- int y;
-
- if (xDelta != 0) {
- x = startCenterX + Math.round(startHalfWidth * Math.signum(xDelta));
- y = startCenterY + Math.round(Math.abs(startHalfWidth / xDelta) * yDelta);
- } else {
- x = startCenterX + Math.round(Math.abs(startHalfHeight / yDelta) * xDelta);
- y = startCenterY + Math.round(startHalfHeight * Math.signum(yDelta));
- }
-
- if (Math.abs(y - startCenterY) + 0.1 > startHalfHeight) {
- startHorizontal = false;;
- x = startCenterX + Math.round(Math.abs(startHalfHeight / yDelta) * xDelta);
- y = startCenterY + Math.round(startHalfHeight * Math.signum(yDelta));
- }
- int SHIFT;
- if (startHorizontal) {
- SHIFT = (y < startCenterY) ? ABS_SHIFT : -ABS_SHIFT;
- } else {
- SHIFT = (x < startCenterX) ? ABS_SHIFT : -ABS_SHIFT;
- }
-
-
- Point startPoint = new Point(x + (startHorizontal ? 0 : (cnt * SHIFT)), y + (startHorizontal ? (cnt * SHIFT) : 0));
- List<Point> res = new LinkedList<Point>();
-
- xDelta = startCenterX - endCenterX;
- yDelta = startCenterY - endCenterY;
-
- boolean straight = (xDelta == 0) || (yDelta == 0);
-
- res.add(startPoint);
-
- boolean endHorizontal = true;
-
- if (xDelta != 0) {
- x = endCenterX + Math.round(endHalfWidth * Math.signum(xDelta));
- y = endCenterY + Math.round(Math.abs(endHalfWidth / xDelta) * yDelta);
- } else {
- x = endCenterX + Math.round(Math.abs(endHalfHeight / yDelta) * xDelta);
- y = endCenterY + Math.round(endHalfHeight * Math.signum(yDelta));
- }
- if (Math.abs(y - endCenterY) + 0.1 > endHalfHeight) {
- endHorizontal = false;
- x = endCenterX + Math.round(Math.abs(endHalfHeight / yDelta) * xDelta);
- y = endCenterY + Math.round(endHalfHeight * Math.signum(yDelta));
- }
-
- if (endHorizontal) {
- SHIFT = (y < endCenterY) ? ABS_SHIFT : -ABS_SHIFT;
- } else {
- SHIFT = (x < endCenterX) ? ABS_SHIFT : -ABS_SHIFT;
- }
- Point endPoint = new Point(x + (endHorizontal ? 0 : (cnt * SHIFT)), y + (endHorizontal ? (cnt * SHIFT) : 0));
-
- if (!straight) {
- if (startHorizontal && endHorizontal) {
- if (startPoint.y != endPoint.y) {
- x = startPoint.x + Math.round((endPoint.x - startPoint.x) / 2.0f) + cnt * ABS_SHIFT;
- Point p = new Point(x, startPoint.y);
- res.add(p);
- p = new Point(x, endPoint.y);
- res.add(p);
- }
- } else if (!startHorizontal && !endHorizontal) {
- if (startPoint.x != endPoint.x) {
- y = startPoint.y + Math.round((endPoint.y - startPoint.y) / 2.0f) + cnt * ABS_SHIFT /** (int)Math.signum(yDelta)*/;
- Point p = new Point(startPoint.x, y);
- res.add(p);
- p = new Point(endPoint.x, y);
- res.add(p);
- }
- } else if (startHorizontal) {
- Point p = new Point(endPoint.x, startPoint.y);
- res.add(p);
- } else if (endHorizontal) {
- Point p = new Point(startPoint.x, endPoint.y);
- res.add(p);
- }
- }
-
- res.add(endPoint);
- return res;
- }
-
- static public void rearrangeAllConnections(final ContainerShape cs,
- final IJPAEditorFeatureProvider fp,
- final boolean selfOnly) {
- TransactionalEditingDomain ted = TransactionUtil.getEditingDomain(cs);
- ted.getCommandStack().execute(new RecordingCommand(ted) {
- protected void doExecute() {
- List<Anchor> anchorsFrom = getAnchors(cs);
- for (Anchor anchorFrom : anchorsFrom) {
- Collection<Connection> outgoingConnections = anchorFrom.getOutgoingConnections();
- Collection<Connection> incomingConnections = anchorFrom.getIncomingConnections();
-
- Set<Set<Connection>> sets = new HashSet<Set<Connection>>();
- Iterator<Connection> it = outgoingConnections.iterator();
- while (it.hasNext())
- addConnection(sets, it.next(), selfOnly);
- it = incomingConnections.iterator();
- while (it.hasNext())
- addConnection(sets, it.next(), selfOnly);
-
- Iterator<Set<Connection>> setsIter = sets.iterator();
- while (setsIter.hasNext()) {
- Set<Connection> set = setsIter.next();
- int cnt = 0;
- int setSize = set.size();
- Iterator<Connection> cIter = set.iterator();
- while (cIter.hasNext()) {
- Connection c = cIter.next();
- IRelation rel = (IRelation)fp.getBusinessObjectForPictogramElement(c);
- rearrangeConnection(c, cnt, setSize, rel.getOwner() == rel.getInverse());
- cnt++;
- }
- }
- }
- }
- });
- }
-
- static public boolean areConnectionsWithIdenticalEnds(Connection c1, Connection c2) {
- return ((c1.getStart() == c2.getStart()) && (c1.getEnd() == c2.getEnd())) ||
- ((c1.getStart() == c2.getEnd()) && (c1.getEnd() == c2.getStart()));
- }
-
- static public boolean connectionBelongsToSet(Connection c, Set<Connection> s) {
- if (s.isEmpty())
- return false;
- Connection example = s.iterator().next();
- return areConnectionsWithIdenticalEnds(c, example);
- }
-
- static public int getNumberOfConnectionsWithSameEndsAs(Connection c) {
- Anchor from = c.getStart();
- Anchor to = c.getEnd();
- Collection<Connection> cs1 = from.getOutgoingConnections();
- Collection<Connection> cs2 = to.getOutgoingConnections();
- int cnt = 0;
- Iterator<Connection> it = cs1.iterator();
- while (it.hasNext()) {
- Connection con = it.next();
- if (con.getEnd() == to)
- cnt++;
- }
- if (from == to)
- return cnt;
- it = cs2.iterator();
- while (it.hasNext()) {
- Connection con = it.next();
- if (con.getEnd() == from)
- cnt++;
- }
- return cnt;
- }
-
- static void addConnection(Set<Set<Connection>> sets, Connection c, boolean selfOnly) {
- if (sets == null)
- throw new NullPointerException("'sets' parameter should not be null"); //$NON-NLS-1$
- if (selfOnly && (c.getStart() != c.getEnd()))
- return;
- Iterator<Set<Connection>> setsIter = sets.iterator();
- while (setsIter.hasNext()) {
- Set<Connection> set = setsIter.next();
- if (connectionBelongsToSet(c, set)) {
- sets.remove(set);
- set.add(c);
- sets.add(set);
- return;
- }
- }
- Set<Connection> newSet = new HashSet<Connection>();
- newSet.add(c);
- sets.add(newSet);
- }
-
- static public void rearrangeConnection(Connection connection, int cnt, int connectionsNum, boolean selfRelation) {
- FreeFormConnection c = (FreeFormConnection)connection;
- rearrangeConnectionBendPoints(c, cnt, connectionsNum, selfRelation);
- rearrangeConnectionDecoratorsLocation(c, cnt, connectionsNum);
- }
-
- static public void rearrangeConnectionBendPoints(FreeFormConnection c, int cnt, int connectionsNum, boolean selfRelation) {
- List<org.eclipse.graphiti.mm.algorithms.styles.Point> oldPts = c.getBendpoints();
- List<org.eclipse.swt.graphics.Point> newPts = JPAEditorUtil.createBendPointList(c, cnt, connectionsNum, selfRelation);
- if (newPts == null)
- return;
-
- for (int i = 0; i < Math.min(oldPts.size(), newPts.size()); i++) {
- oldPts.set(i, Graphiti.getGaService().createPoint(/*c, */newPts.get(i).x, newPts.get(i).y));
- }
- int diff = oldPts.size() - newPts.size();
- if (diff > 0) {
- for (int i = oldPts.size() - 1; i >= newPts.size(); i--)
- oldPts.remove(i);
- } else if (diff < 0) {
- for (int i = oldPts.size(); i < newPts.size(); i++)
- oldPts.add(Graphiti.getGaService().createPoint(/*c, */newPts.get(i).x, newPts.get(i).y));
- }
- }
-
- static public void rearrangeConnectionDecoratorsLocation(FreeFormConnection c, int cnt, int connectionsNum) {
- Collection<ConnectionDecorator> dcrs = c.getConnectionDecorators();
- int len = JPAEditorUtil.calcConnectionLength(c);
- for (ConnectionDecorator dcr : dcrs) {
- GraphicsAlgorithm ga = dcr.getGraphicsAlgorithm();
- if (ga instanceof Text) {
- if (Math.abs(dcr.getLocation() - 0.5) < 0.0001)
- continue;
- Point pt = recalcTextDecoratorPosition(c, dcr);
- Graphiti.getGaService().setLocation(ga, pt.x, pt.y, false);
- continue;
- }
- if (dcr.getLocation() < 0.5) {
- Graphiti.getGaService().setLocation(dcr.getGraphicsAlgorithm(),
- Math.round(len /10) , 0);
- }
- else {
- Graphiti.getGaService().setLocation(dcr.getGraphicsAlgorithm(),
- Math.round(-len /10) , 0);
- }
- }
- }
-
-
- public static Point recalcTextDecoratorPosition(FreeFormConnection c,
- ConnectionDecorator dcr) {
- int CORR = 5;
- int TXT_HEIGHT = 8;
- double location = dcr.getLocation();
- RelEndDir relEndDir = (location < 0.5) ?
- JPAEditorUtil.getConnectionStartDir((FreeFormConnection)c) :
- JPAEditorUtil.getConnectionEndDir((FreeFormConnection)c);
- Text txt = (Text)dcr.getGraphicsAlgorithm();
- int TXT_WIDTH = txt.getValue().length() * 6;
- boolean isCardinality = JPAEditorConstants.CARDINALITY_LABELS.contains(txt.getValue());
- int x = 0;
- int y = 0;
- if (relEndDir.equals(RelEndDir.LEFT)) {
- x = CORR + (isCardinality ? 2 : 12);
- y = isCardinality ? (-CORR - 3 - TXT_HEIGHT) : CORR - 3;
- } else if (relEndDir.equals(RelEndDir.RIGHT)) {
- x = - TXT_WIDTH;
- y = isCardinality ? (-CORR - 3 - TXT_HEIGHT) : CORR - 3;
- } else if (relEndDir.equals(RelEndDir.UP)) {
- x = isCardinality ? (-CORR - TXT_WIDTH) : CORR;
- y = isCardinality ? CORR : CORR + TXT_HEIGHT + 2;
- } else if (relEndDir.equals(RelEndDir.DOWN)) {
- x = isCardinality ? (-CORR - TXT_WIDTH) : CORR;
- y = -CORR - (isCardinality ? TXT_HEIGHT : (TXT_HEIGHT + 2) * 2);
- }
- return new Point(x, y);
- }
-
- public static String formTableName(JavaPersistentType jpt) {
- IProject project = jpt.getJpaProject().getProject();
- Properties props = JPADiagramPropertyPage.loadProperties(project);
- String tableNamePrefix = JPADiagramPropertyPage.getDefaultTablePrefixName(project, props);
- String shortEntityName = JPAEditorUtil.returnSimpleName(JpaArtifactFactory.instance().getEntityName(jpt));
- if (tableNamePrefix.length() == 0)
- return shortEntityName;
- return tableNamePrefix + shortEntityName.toUpperCase(Locale.ENGLISH);
- }
-
- static private List<Anchor> getAnchors(ContainerShape containerShape) {
- List<Anchor> ret = new ArrayList<Anchor>();
- ret.addAll(containerShape.getAnchors());
-
- List<Shape> children = containerShape.getChildren();
- for (Shape shape : children) {
- if (shape instanceof ContainerShape) {
- ret.addAll(getAnchors((ContainerShape) shape));
- } else {
- ret.addAll(shape.getAnchors());
- }
- }
- return ret;
- }
-
- static public RelEndDir getConnectionStartDir(FreeFormConnection c) {
- EList<org.eclipse.graphiti.mm.algorithms.styles.Point> pts = c.getBendpoints();
- return getConnectionEndDir(pts.get(0), pts.get(1));
- }
-
- static public RelEndDir getConnectionEndDir(FreeFormConnection c) {
- List<org.eclipse.graphiti.mm.algorithms.styles.Point> pts = c.getBendpoints();
- return getConnectionEndDir(pts.get(pts.size() - 1), pts.get(pts.size() - 2));
- }
-
- static private RelEndDir getConnectionEndDir(org.eclipse.graphiti.mm.algorithms.styles.Point ptEnd,
- org.eclipse.graphiti.mm.algorithms.styles.Point ptNextToEnd) {
- if (ptEnd.getX() == ptNextToEnd.getX()) {
- return (ptNextToEnd.getY() > ptEnd.getY()) ? RelEndDir.UP : RelEndDir.DOWN;
- } else {
- return (ptNextToEnd.getX() > ptEnd.getX()) ? RelEndDir.LEFT : RelEndDir.RIGHT;
- }
- }
-
- static public void organizeImports(ICompilationUnit cu, IWorkbenchSite ws) {
- OrganizeImportsAction action = new OrganizeImportsAction(ws);
- action.run(cu);
- }
-
- static public void formatCode(ICompilationUnit cu, IWorkbenchSite ws) {
- FormatAllAction action = new FormatAllAction(ws);
- action.run(new StructuredSelection(cu));
- }
-
- static public String generateUniqueEntityName(JpaProject jpaProject,
- String pack,
- IJPAEditorFeatureProvider fp) {
- String NAME = pack + ".Entity"; //$NON-NLS-1$
- String name = null;
-
- HashSet<String> JPAProjectEntityNames = getEntityNames(jpaProject);
- HashSet<String> JPAProjectEntitySimpleNames = getEntitySimpleNames(jpaProject);
-
- for (int i = 1; i < 100000000; i++) {
- name = NAME + i;
- if ((!fp.hasObjectWithName(name)) &&
- !JPAProjectEntityNames.contains(name.toLowerCase(Locale.ENGLISH)) &&
- !JPAProjectEntitySimpleNames.contains(JPAEditorUtil.returnSimpleName(name).toLowerCase(Locale.ENGLISH)) &&
- !isJavaFileInProject(jpaProject.getProject(), name, pack))
- break;
- }
- return name;
- }
-
-
- static public String generateUniqueMappedSuperclassName(
- JpaProject jpaProject, String pack, IJPAEditorFeatureProvider fp) {
- String NAME = pack + ".MappedSuperclass"; //$NON-NLS-1$
- String name = null;
-
- HashSet<String> JPAProjectEntityNames = getEntityNames(jpaProject);
- HashSet<String> JPAProjectEntitySimpleNames = getEntitySimpleNames(jpaProject);
-
- for (int i = 1; i < 100000000; i++) {
- name = NAME + i;
- if ((!fp.hasObjectWithName(name)) && !JPAProjectEntityNames.contains(name
- .toLowerCase(Locale.ENGLISH)) && !JPAProjectEntitySimpleNames.contains(JPAEditorUtil
- .returnSimpleName(name).toLowerCase(Locale.ENGLISH))
- && !isJavaFileInProject(jpaProject.getProject(), name, pack))
- break;
- }
- return name;
- }
-
-
-
- static public IFile createEntityInProject(IProject project,
- String entityName, IPreferenceStore jpaPreferenceStore,
- boolean isMappedSuperclassChild, String mappedSuperclassName,
- String mappedSuperclassPackage, boolean hasPrimaryKey)
- throws Exception {
- IFolder folder = getPackageFolder(project);
- return createEntity(project, folder, entityName,
- isMappedSuperclassChild, mappedSuperclassName,
- mappedSuperclassPackage, hasPrimaryKey);
- }
-
-
- static public IFile createEntityFromMappedSuperclassInProject(
- IProject project, String mappedSuperclassName,
- IPreferenceStore jpaPreferenceStore) throws Exception {
- IFolder folder = getPackageFolder(project);
- createMappedSuperclass(project, folder, mappedSuperclassName);
- return createMappedSuperclass(project, folder, mappedSuperclassName);
- }
-
- @SuppressWarnings("deprecation")
- private static IFolder getPackageFolder(IProject project) throws JavaModelException {
-
- IJavaProject javaProject = JavaCore.create(project);
- IPackageFragmentRoot[] packageFragmentRoots = new IPackageFragmentRoot[0];
- final IClasspathEntry[] classpathEntries = javaProject.getRawClasspath();
- for (IClasspathEntry classpathEntry : classpathEntries) {
- if (classpathEntry.getEntryKind() == IClasspathEntry.CPE_SOURCE) {
- packageFragmentRoots = javaProject.getPackageFragmentRoots(classpathEntry);
- break;
- }
- }
-
- IPackageFragmentRoot packageFragmentRoot = packageFragmentRoots[0];
- Properties props = JPADiagramPropertyPage.loadProperties(project);
- IPackageFragment packageFragment = packageFragmentRoot.getPackageFragment(JPADiagramPropertyPage.getDefaultPackage(project, props));
- if(packageFragment.exists() == false) {
- packageFragment = packageFragmentRoot.createPackageFragment(JPADiagramPropertyPage.getDefaultPackage(project, props), true, new NullProgressMonitor());
- }
- IFolder folder = (IFolder) packageFragment.getCorrespondingResource();
- return folder;
-
- }
-
- static private IFile createMappedSuperclass(IProject project,
- IFolder folder, String mappedSuperclassName) throws Exception {
-
- String mappedSuperclassShortName = mappedSuperclassName
- .substring(mappedSuperclassName.lastIndexOf('.') + 1);
- if (!folder.exists()) {
- folder.create(true, true, new NullProgressMonitor());
- }
- IFile file = folder.getFile(mappedSuperclassShortName + ".java"); //$NON-NLS-1$
-
- if (!file.exists()) {
- String content = "package " + JPADiagramPropertyPage.getDefaultPackage(project) + ";\n\n" //$NON-NLS-1$ //$NON-NLS-2$
- + "import javax.persistence.*;\n\n" //$NON-NLS-1$
- + "@MappedSuperclass \n" //$NON-NLS-1$
- + "public class " + mappedSuperclassShortName + " {\n\n" //$NON-NLS-1$ //$NON-NLS-2$
- + "}"; //$NON-NLS-1$
- ByteArrayOutputStream stream = new ByteArrayOutputStream();
- try {
- stream.write(content.getBytes());
- stream.flush();
- file.create(new ByteArrayInputStream(stream.toByteArray()),
- true, new NullProgressMonitor());
- } finally {
- stream.close();
- }
- }
- return file;
- }
-
-
- @SuppressWarnings("deprecation")
- static public boolean isJavaFileInProject(IProject project,
- String entityName,
- String defaultEntityPacakage) {
- IJavaProject javaProject = JavaCore.create(project);
- IPackageFragmentRoot[] packageFragmentRoots = new IPackageFragmentRoot[0];
- IClasspathEntry[] classpathEntries = null;
- try {
- classpathEntries = javaProject.getRawClasspath();
- } catch (JavaModelException e) {
- System.err.println("Cannot obtain the classpath"); //$NON-NLS-1$
- e.printStackTrace();
- return false;
- }
- for (IClasspathEntry classpathEntry : classpathEntries) {
- if (classpathEntry.getEntryKind() == IClasspathEntry.CPE_SOURCE) {
- packageFragmentRoots = javaProject.getPackageFragmentRoots(classpathEntry);
- break;
- }
- }
-
- IPackageFragmentRoot packageFragmentRoot = packageFragmentRoots[0];
- IPackageFragment packageFragment = packageFragmentRoot.getPackageFragment(JPADiagramPropertyPage.getDefaultPackage(project));
- if(!packageFragment.exists())
- return false;
- IFolder folder = null;
- try {
- folder = (IFolder) packageFragment.getCorrespondingResource();
- } catch (JavaModelException e) {
- System.err.println("Cannot obtain the folder"); //$NON-NLS-1$
- e.printStackTrace();
- return false;
- }
- if (!folder.exists())
- return false;
- String entityShortName = entityName.substring(entityName
- .lastIndexOf('.') + 1);
- IFile file = folder.getFile(entityShortName + ".java"); //$NON-NLS-1$
- return file.exists();
- }
-
-
- static public String produceUniqueAttributeName(JavaPersistentType jpt,
- String attributeNameCandidate) {
- String name = attributeNameCandidate;
- for (int i = 1; i < 100000000; i++) {
- if (jpt.getAttributeNamed(name) == null)
- return name;
- name = attributeNameCandidate + "_" + i; //$NON-NLS-1$
- }
- return name;
- }
-
- static public String produceUniqueAttributeName(JavaPersistentType jpt, String forbiddenName, String attributeNameCandidate) {
- String name = attributeNameCandidate;
- for (int i = 1; i < 100000000; i++) {
- if ((jpt.getAttributeNamed(name) == null) && !name.equals(forbiddenName))
- return name;
- name = attributeNameCandidate + "_" + i; //$NON-NLS-1$
- }
- return name;
- }
-
-
- public static boolean isEntityOpenElsewhere(JavaPersistentType jpt, boolean checkDirty) {
- IEditorReference[] edRefs = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getEditorReferences();
- for (int i = 0; i < edRefs.length; i++) {
- IEditorPart ed = edRefs[i].getEditor(false);
- if (ed == null)
- continue;
- if (checkDirty && !ed.isDirty())
- continue;
- IEditorInput edInp = ed.getEditorInput();
- if (FileEditorInput.class.isInstance(edInp)) {
- FileEditorInput fedInput = (FileEditorInput)edInp;
- if (fedInput.getFile().equals(jpt.getResource())) {
- return true;
- }
- }
- }
- return false;
- }
-
- public static ICompilationUnit getCompilationUnit(JavaPersistentType jpt) {
- return getCompilationUnit((IFile) jpt.getResource());
- }
-
- public static ICompilationUnit getCompilationUnit(IFile file) {
- return EclipseFacade.INSTANCE.getJavaCore().createCompilationUnitFrom(file);
- }
-
- public static void becomeWorkingCopy(ICompilationUnit cu) {
- try {
- cu.becomeWorkingCopy(new NullProgressMonitor());
- } catch (JavaModelException e) {
- System.err.println("Can't discrad the working copy"); //$NON-NLS-1$
- e.printStackTrace();
- }
- }
-
- public static void discardWorkingCopy(ICompilationUnit cu) {
- while (cu.isWorkingCopy())
- try {
- cu.discardWorkingCopy();
- } catch (JavaModelException e) {
- System.err.println("Can't discard the working copy"); //$NON-NLS-1$
- e.printStackTrace();
- }
- }
-
- public static void discardWorkingCopyOnce(ICompilationUnit cu) {
- if (cu.isWorkingCopy())
- try {
- cu.discardWorkingCopy();
- } catch (JavaModelException e) {
- System.err.println("Can't discard the working copy"); //$NON-NLS-1$
- e.printStackTrace();
- }
- }
-
- static private IFile createEntity(IProject project, IFolder folder, String entityName, boolean isMappedSuperclassChild,
- String mappedSuperclassName, String mappedSuperclassPackage, boolean hasPrimaryKey) throws Exception {
-
-
-
- String entityShortName = entityName.substring(entityName.lastIndexOf('.') + 1);
- if (!folder.exists()) {
- folder.create(true, true, new NullProgressMonitor());
- }
- IFile file = folder.getFile(entityShortName + ".java"); //$NON-NLS-1$
- Properties props = JPADiagramPropertyPage.loadProperties(project);
- String tableNamePrefix = JPADiagramPropertyPage.getDefaultTablePrefixName(project, props);
- String tableName = (tableNamePrefix.length() > 0) ? (tableNamePrefix + entityShortName.toUpperCase(Locale.ENGLISH)) : ""; //$NON-NLS-1$
- boolean fieldBasedAccess = JPADiagramPropertyPage.isAccessFieldBased(project, props);
-
- String classDeclarationStringContent = null;
- if (isMappedSuperclassChild) {
- String mappedSuperclassShortName = mappedSuperclassName.substring(mappedSuperclassName.lastIndexOf('.') + 1);
- classDeclarationStringContent = "public class " + entityShortName + " extends " + mappedSuperclassShortName + " {\n\n"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- } else {
- classDeclarationStringContent = "public class " + entityShortName + " {\n\n"; //$NON-NLS-1$ //$NON-NLS-2$
-
- }
-
- String packageImport = ""; //$NON-NLS-1$
- if (mappedSuperclassPackage != null
- && !mappedSuperclassPackage.equals("") && !(JPADiagramPropertyPage.getDefaultPackage(project, props).equals(mappedSuperclassPackage))) { //$NON-NLS-1$
- packageImport = "import " + mappedSuperclassPackage + ".*;"; //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- String primaryKeyDeclaration = ""; //$NON-NLS-1$
- if (!hasPrimaryKey) {
- primaryKeyDeclaration = (fieldBasedAccess ? " @Id \n" : "") //$NON-NLS-1$ //$NON-NLS-2$
- + " private long id;\n\n" //$NON-NLS-1$
- + (fieldBasedAccess ? "" : " @Id \n") //$NON-NLS-1$ //$NON-NLS-2$
- + " public long getId() {\n" //$NON-NLS-1$
- + " return id;\n" //$NON-NLS-1$
- + " }\n\n" //$NON-NLS-1$
- + " public void setId(long id) {\n" //$NON-NLS-1$
- + " this.id = id;\n" //$NON-NLS-1$
- + " }\n\n"; //$NON-NLS-1$
- }
-
-
- if (!file.exists()) {
- String content = "package " + JPADiagramPropertyPage.getDefaultPackage(project, props) + ";\n\n" //$NON-NLS-1$ //$NON-NLS-2$
- + "import javax.persistence.*;\n" //$NON-NLS-1$
- + packageImport+"\n\n" //$NON-NLS-1$
- + "@Entity \n" //$NON-NLS-1$
- + ((tableName.length() > 0) ? ("@Table(name=\"" + tableName + "\")\n") : "") //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- + classDeclarationStringContent
- + primaryKeyDeclaration
- +"}"; //$NON-NLS-1$
- ByteArrayOutputStream stream = new ByteArrayOutputStream();
- try {
- stream.write(content.getBytes());
- stream.flush();
- file.create(new ByteArrayInputStream(stream.toByteArray()), true, new NullProgressMonitor());
- } finally {
- stream.close();
- }
- }
- return file;
- }
-
- static private HashSet<String> getEntityNames(JpaProject jpaProject) {
- HashSet<String> names = new HashSet<String>();
- ListIterator<PersistenceUnit> lit = jpaProject.getRootContextNode().getPersistenceXml().
- getPersistence().persistenceUnits();
- PersistenceUnit pu = lit.next();
- Iterator<ClassRef> li = pu.classRefs();
- while(li.hasNext()) {
- ClassRef cf = li.next();
- names.add(cf.getClassName());
- }
- return names;
- }
-
- static private HashSet<String> getEntitySimpleNames(JpaProject jpaProject) {
- HashSet<String> names = new HashSet<String>();
- ListIterator<PersistenceUnit> lit = jpaProject.getRootContextNode().getPersistenceXml().
- getPersistence().persistenceUnits();
- PersistenceUnit pu = lit.next();
- Iterator<ClassRef> li = pu.classRefs();
- while(li.hasNext()) {
- ClassRef cf = li.next();
- names.add(JPAEditorUtil.returnSimpleName(cf.getClassName()).toLowerCase(Locale.ENGLISH));
- }
- return names;
- }
-
- public static boolean isCardinalityDecorator(ConnectionDecorator cd) {
- GraphicsAlgorithm ga = cd.getGraphicsAlgorithm();
- if (!Text.class.isInstance(ga))
- return false;
- Text txt = (Text)ga;
- return JPAEditorConstants.CARDINALITY_LABELS.contains(txt.getValue());
- }
-
-
- public static String getTooltipText(JavaPersistentAttribute at) {
- String res = getAttributeTypeName(at);
- return MessageFormat.format(JPAEditorMessages.JPAEditorUtil_typeTooltipText, new Object[] { res });
- }
-
- static public boolean checkJPAFacetVersion(JpaProject jpaProject, String version) {
- return checkJPAFacetVersion(jpaProject.getProject(), version);
- }
-
-
- static public boolean checkJPAFacetVersion(IProject project, String version) {
- IFacetedProject fproj = null;
- try {
- fproj = ProjectFacetsManager.create(project);
- } catch (CoreException e) {
- System.err.println("Could not create faceted project from " + project.getName()); //$NON-NLS-1$
- e.printStackTrace();
- }
- Set<IProjectFacetVersion> projFacets = fproj.getProjectFacets();
- Iterator<IProjectFacetVersion> it = projFacets.iterator();
- while (it.hasNext()) {
- IProjectFacetVersion fv = it.next();
- if (fv.getProjectFacet().getId().equals("jpt.jpa")) { //$NON-NLS-1$
- return fv.getVersionString().equals(version);
- }
- }
- return false;
- }
-
- static public String getPrimitiveWrapper(String primitive) {
- return JPAEditorConstants.PRIMITIVE_TO_WRAPPER.get(primitive);
- }
-
-} \ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/JPAEditorUtilImpl.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/JPAEditorUtilImpl.java
deleted file mode 100644
index 861ad0d2c9..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/JPAEditorUtilImpl.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.util;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.graphiti.mm.pictograms.ConnectionDecorator;
-import org.eclipse.graphiti.mm.pictograms.FreeFormConnection;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorImageCreator.RelEndDir;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.ui.IWorkbenchSite;
-
-
-public class JPAEditorUtilImpl implements IJPAEditorUtil {
-
- public int calcConnectionLength(FreeFormConnection c) {
- return JPAEditorUtil.calcConnectionLength(c);
- }
-
- public List<Point> createBendPointList(FreeFormConnection c, int cnt, int connectionsNum, boolean selfRelation) {
- return JPAEditorUtil.createBendPointList(c, cnt, connectionsNum, selfRelation);
- }
-
- public List<Point> createBendPointList(FreeFormConnection c, boolean selfRelation) {
- return JPAEditorUtil.createBendPointList(c, selfRelation);
- }
-
- public RelEndDir getConnectionStartDir(FreeFormConnection c) {
- return JPAEditorUtil.getConnectionStartDir(c);
-
- }
-
- public RelEndDir getConnectionEndDir(FreeFormConnection c) {
- return JPAEditorUtil.getConnectionEndDir(c);
- }
-
- public JavaPersistentType getJPType(ICompilationUnit cu) {
- return JPAEditorUtil.getJPType(cu);
- }
-
- public void organizeImports(ICompilationUnit cu, IWorkbenchSite ws) {
- JPAEditorUtil.organizeImports(cu, ws);
- }
-
- public void formatCode(ICompilationUnit cu, IWorkbenchSite ws) {
- JPAEditorUtil.formatCode(cu, ws);
- }
-
- public String generateUniqueEntityName(JpaProject jpaProject,
- String pack,
- IJPAEditorFeatureProvider fp) {
- return JPAEditorUtil.generateUniqueEntityName(jpaProject, pack, fp);
- }
-
- public String generateUniqueMappedSuperclassName(JpaProject jpaProject, String pack, IJPAEditorFeatureProvider fp) {
- return JPAEditorUtil.generateUniqueMappedSuperclassName(jpaProject, pack, fp);
- }
-
-
- public IFile createEntityInProject(IProject project, String entityName, IPreferenceStore jpaPreferenceStore,
- boolean isMappedSuperclassChild, String mappedSuperclassName, String mappedSuperclassPackage, boolean hasPrimaryKey) throws Exception {
- return JPAEditorUtil.createEntityInProject(project, entityName, jpaPreferenceStore, isMappedSuperclassChild,
- mappedSuperclassName, mappedSuperclassPackage, hasPrimaryKey);
- }
-
-
- public ICompilationUnit getCompilationUnit(JavaPersistentType jpt) {
- return JPAEditorUtil.getCompilationUnit(jpt);
- }
-
- public boolean isCardinalityDecorator(ConnectionDecorator dc) {
- return JPAEditorUtil.isCardinalityDecorator(dc);
- }
-
- public void discardWorkingCopyOnce(ICompilationUnit cu) {
- JPAEditorUtil.discardWorkingCopyOnce(cu);
- }
-
- public IFile createEntityFromMappedSuperclassInProject(IProject project,
- String mappedSuperclassName, IPreferenceStore jpaPreferenceStore) throws Exception {
- return JPAEditorUtil.createEntityFromMappedSuperclassInProject(project, mappedSuperclassName, jpaPreferenceStore);
- }
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/JPASolver.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/JPASolver.java
deleted file mode 100644
index 9d376cd6bd..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/JPASolver.java
+++ /dev/null
@@ -1,1470 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.util;
-
-
-import java.lang.ref.WeakReference;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-import java.util.ListIterator;
-import java.util.Set;
-import java.util.WeakHashMap;
-
-import org.eclipse.core.internal.resources.File;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarkerDelta;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.emf.transaction.RecordingCommand;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.transaction.util.TransactionUtil;
-import org.eclipse.graphiti.dt.IDiagramTypeProvider;
-import org.eclipse.graphiti.features.IRemoveFeature;
-import org.eclipse.graphiti.features.context.impl.AddConnectionContext;
-import org.eclipse.graphiti.features.context.impl.AddContext;
-import org.eclipse.graphiti.features.context.impl.CustomContext;
-import org.eclipse.graphiti.features.context.impl.RemoveContext;
-import org.eclipse.graphiti.mm.algorithms.Text;
-import org.eclipse.graphiti.mm.pictograms.Connection;
-import org.eclipse.graphiti.mm.pictograms.ConnectionDecorator;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-import org.eclipse.graphiti.mm.pictograms.FreeFormConnection;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.graphiti.services.Graphiti;
-import org.eclipse.jdt.core.ElementChangedEvent;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IElementChangedListener;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaElementDelta;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.internal.core.PackageFragmentRoot;
-import org.eclipse.jpt.common.core.JptResourceModel;
-import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator;
-import org.eclipse.jpt.common.utility.model.Model;
-import org.eclipse.jpt.common.utility.model.event.CollectionAddEvent;
-import org.eclipse.jpt.common.utility.model.event.CollectionChangeEvent;
-import org.eclipse.jpt.common.utility.model.event.CollectionClearEvent;
-import org.eclipse.jpt.common.utility.model.event.CollectionRemoveEvent;
-import org.eclipse.jpt.common.utility.model.event.ListAddEvent;
-import org.eclipse.jpt.common.utility.model.event.ListChangeEvent;
-import org.eclipse.jpt.common.utility.model.event.ListClearEvent;
-import org.eclipse.jpt.common.utility.model.event.ListMoveEvent;
-import org.eclipse.jpt.common.utility.model.event.ListRemoveEvent;
-import org.eclipse.jpt.common.utility.model.event.ListReplaceEvent;
-import org.eclipse.jpt.common.utility.model.event.PropertyChangeEvent;
-import org.eclipse.jpt.common.utility.model.event.StateChangeEvent;
-import org.eclipse.jpt.common.utility.model.listener.CollectionChangeListener;
-import org.eclipse.jpt.common.utility.model.listener.ListChangeListener;
-import org.eclipse.jpt.common.utility.model.listener.PropertyChangeListener;
-import org.eclipse.jpt.common.utility.model.listener.StateChangeListener;
-import org.eclipse.jpt.jpa.core.JpaFile;
-import org.eclipse.jpt.jpa.core.JpaNode;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.context.ManyToOneMapping;
-import org.eclipse.jpt.jpa.core.context.MappedByRelationshipStrategy;
-import org.eclipse.jpt.jpa.core.context.OneToOneMapping;
-import org.eclipse.jpt.jpa.core.context.OptionalMapping;
-import org.eclipse.jpt.jpa.core.context.PersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.PersistentType;
-import org.eclipse.jpt.jpa.core.context.ReadOnlyRelationship;
-import org.eclipse.jpt.jpa.core.context.Relationship;
-import org.eclipse.jpt.jpa.core.context.RelationshipMapping;
-import org.eclipse.jpt.jpa.core.context.RelationshipStrategy;
-import org.eclipse.jpt.jpa.core.context.java.JavaAttributeMapping;
-import org.eclipse.jpt.jpa.core.context.java.JavaEntity;
-import org.eclipse.jpt.jpa.core.context.java.JavaManyToOneMapping;
-import org.eclipse.jpt.jpa.core.context.java.JavaOneToOneMapping;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpa.core.resource.java.JavaResourceCompilationUnit;
-import org.eclipse.jpt.jpa.core.resource.java.JavaResourcePersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.JPADiagramEditor;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.facade.EclipseFacade;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.AddAttributeFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.AddRelationFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.RemoveAttributeFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.RemoveRelationFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.UpdateAttributeFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.JPAEditorDiagramTypeProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.AbstractRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.BidirectionalRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.IRelation;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PlatformUI;
-
-
-@SuppressWarnings("restriction")
-public class JPASolver implements IResourceChangeListener, IJpaSolver {
-
- private static Set<JPASolver> solversSet = new HashSet<JPASolver>();
-
- private static WorkingCopyChangeListener wclsnr = null;
-
- private Hashtable<String, Object> keyToBO;
- private WeakHashMap<JpaProject, WeakReference<CollectionChangeListener>> projectToEntityListener;
- private WeakHashMap<JavaPersistentType, WeakReference<PropertyChangeListener>> entityToPropListener;
- private WeakHashMap<JavaPersistentAttribute, WeakReference<AttributePropertyChangeListener>> attributeToPropListener;
- private WeakHashMap<JavaPersistentAttribute, WeakReference<AttributeMappingOptionalityChangeListener>> attributeMappingOptionalityToPropListener;
- private WeakHashMap<JavaPersistentAttribute, WeakReference<AttributeJoiningStrategyPropertyChangeListener>> attributeJoiningStrategyToPropListener;
- private WeakHashMap<JavaPersistentAttribute, WeakReference<AttributeRelationshipReferencePropertyChangeListener>> attributeRelationshipReferenceToPropListener;
- private WeakHashMap<JavaPersistentType, WeakReference<ListChangeListener>> entityToAtListener;
- private WeakHashMap<JavaPersistentType, WeakReference<StateChangeListener>> entityToStateListener;
- private EntityChangeListener entityNameListener;
- private IJPAEditorFeatureProvider featureProvider;
- private HashSet<String> removeIgnore = new HashSet<String>();
- private HashSet<String> removeRelIgnore = new HashSet<String>();
-
- private HashSet<String> addIgnore = new HashSet<String>();
- private Hashtable<String, IRelation> attribToRel = new Hashtable<String, IRelation>();
- private static final String SEPARATOR = "-"; //$NON-NLS-1$
-
- private IEclipseFacade eclipseFacade;
- private IJPAEditorUtil util = null;
-
- /**
- * Provides the unique key for the given business object.
- *
- * @param bo
- * the given business object
- *
- * @return unique key
- */
- public JPASolver() {
- this(EclipseFacade.INSTANCE, new JPAEditorUtilImpl());
- synchronized (JPASolver.class) {
- if (wclsnr == null) {
- wclsnr = new WorkingCopyChangeListener();
- JavaCore.addElementChangedListener(wclsnr, ElementChangedEvent.POST_CHANGE | ElementChangedEvent.POST_RECONCILE);
- }
- }
- solversSet.add(this);
- }
-
- public JPASolver(IEclipseFacade eclipseFacade, IJPAEditorUtil util) {
- this.eclipseFacade = eclipseFacade;
- eclipseFacade.getWorkspace().addResourceChangeListener(this, IResourceChangeEvent.POST_BUILD);
- keyToBO = new Hashtable<String, Object>();
- projectToEntityListener = new WeakHashMap<JpaProject, WeakReference<CollectionChangeListener>>();
- entityToPropListener = new WeakHashMap<JavaPersistentType, WeakReference<PropertyChangeListener>>();
- attributeToPropListener = new WeakHashMap<JavaPersistentAttribute, WeakReference<AttributePropertyChangeListener>>();
- attributeMappingOptionalityToPropListener = new WeakHashMap<JavaPersistentAttribute, WeakReference<AttributeMappingOptionalityChangeListener>>();
- attributeJoiningStrategyToPropListener = new WeakHashMap<JavaPersistentAttribute, WeakReference<AttributeJoiningStrategyPropertyChangeListener>>();
- attributeRelationshipReferenceToPropListener = new WeakHashMap<JavaPersistentAttribute, WeakReference<AttributeRelationshipReferencePropertyChangeListener>>();
- entityToAtListener = new WeakHashMap<JavaPersistentType, WeakReference<ListChangeListener>>();
- entityToStateListener = new WeakHashMap<JavaPersistentType, WeakReference<StateChangeListener>>();
- entityNameListener = new EntityChangeListener(this);
- entityNameListener.setName("Entity Name Change Listener"); //$NON-NLS-1$
- this.util = util;
- }
-
- public void resourceChanged(IResourceChangeEvent event) {
-
- closeDiagramEditorIfProjectIsDeleted(event);
-
- unregisterDeltedEntity(event);
-
- IMarkerDelta[] markerDeltas = event.findMarkerDeltas(null, true);
- Set<IFile> filesToUpdate = new HashSet<IFile>();
- for (IMarkerDelta delta : markerDeltas) {
- if (delta.getResource().getType() != IResource.FILE)
- continue;
- filesToUpdate.add((IFile) delta.getResource());
- }
-
- // update is made to the whole editor. Find if there is at least on pe
- // to be update and break the iteration
- boolean updateEditor = false;
- FILE: for (IFile file : filesToUpdate) {
- for (JavaPersistentType jpt : entityToPropListener.keySet()) {
- if (jpt.getResource().equals(file)) {
- final PictogramElement element = featureProvider.getPictogramElementForBusinessObject(jpt);
- if (element == null)
- break;
- else {
- updateEditor = true;
- break FILE;
- }
- }
- }
- }
- if (updateEditor) {
- eclipseFacade.getDisplay().asyncExec(new Runnable() {
- public void run() {
- featureProvider.getDiagramTypeProvider().getDiagramEditor().refresh();
- }
- });
-
- }
- }
-
- public void addRemoveIgnore(String atName) {
- removeIgnore.add(atName);
- }
-
- public void addRemoveRelIgnore(String atName) {
- removeRelIgnore.add(atName);
- }
-
- public void addJPTForUpdate(String jptName) {
- entityNameListener.addJPTForUpdate(jptName);
- }
-
- public void addAddIgnore(String atName) {
- addIgnore.add(atName);
- }
-
- public HashSet<String> getAddIgnore(){
- return addIgnore;
- }
-
-
- public void stopThread() {
- entityNameListener.stopThread();
- entityNameListener = null;
- }
-
- synchronized public EntityChangeListener getMonitor() {
- if (entityNameListener == null) {
- entityNameListener = new EntityChangeListener(this);
- entityNameListener.setName("Entity Name Change Listener"); //$NON-NLS-1$
- }
- return entityNameListener;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jpt.jpadiagrameditor.ui.util.IJpaSolver#setFeatureProvider(org.eclipse.jpt.jpadiagrameditor.ui.provider.IJPAEditorFeatureProvider)
- */
- public void setFeatureProvider(IJPAEditorFeatureProvider featureProvider) {
- this.featureProvider = featureProvider;
- entityNameListener.setFeatureProvider(featureProvider);
- entityNameListener.setDaemon(true);
- entityNameListener.start();
- }
-
- public String getKeyForBusinessObject(Object bo) {
- if (bo == null)
- return ""; //$NON-NLS-1$
- if (bo instanceof JavaPersistentType) {
- JavaPersistentType jpt = (JavaPersistentType) bo;
- String name = jpt.getName();
- return name;
- } else if (bo instanceof AbstractRelation) {
- return ((AbstractRelation) bo).getId();
- } else if (bo instanceof JavaPersistentAttribute) {
- JavaPersistentAttribute at = (JavaPersistentAttribute) bo;
- return (((PersistentType)at.getParent()).getName() + "-" + at.getName()); //$NON-NLS-1$
- }
- return bo.toString();
- }
-
- /**
- * Provides the business object for the given key.
- *
- * @param key
- * the unique key
- *
- * @return the business object
- */
- public Object getBusinessObjectForKey(String key) {
- if (key == null)
- return null;
- return keyToBO.get(key);
- }
-
- protected String produceOwnerKeyForRel(AbstractRelation rel) {
- return produceKeyForRel(rel.getOwner(), rel.getOwnerAttributeName());
- }
-
- protected String produceInverseKeyForRel(AbstractRelation rel) {
- return produceKeyForRel(rel.getInverse(), rel.getInverseAttributeName());
- }
-
- public String produceKeyForRel(JavaPersistentType jpt, String attributeName) {
- return jpt.getName() + SEPARATOR + attributeName;
- }
-
- public void addKeyBusinessObject(String key, Object bo) {
- keyToBO.put(key, bo);
- if (bo instanceof JavaPersistentType) {
- JavaPersistentType jpt = (JavaPersistentType) bo;
- JpaProject proj = jpt.getJpaProject();
- addListenersToProject(proj);
- addListenersToEntity(jpt);
- PictogramElement pe = featureProvider.getPictogramElementForBusinessObject(jpt);
- Graphiti.getPeService().setPropertyValue(pe, JPAEditorConstants.PROP_ENTITY_CLASS_NAME, jpt.getName());
- } else if (bo instanceof AbstractRelation) {
- AbstractRelation rel = (AbstractRelation) bo;
- attribToRel.put(produceOwnerKeyForRel(rel), rel);
- if (rel instanceof BidirectionalRelation) {
- attribToRel.put(produceInverseKeyForRel(rel), rel);
- }
- } else if (bo instanceof JavaPersistentAttribute) {
- addPropertiesListenerToAttribute((JavaPersistentAttribute)bo);
- }
- }
-
- public Object remove(String key) {
- if (key == null)
- return null;
- Object o = keyToBO.remove(key);
- if (o instanceof JavaPersistentType) {
- JavaPersistentType jpt = (JavaPersistentType) o;
- ListIterator<JavaPersistentAttribute> atts = jpt.attributes();
- while (atts.hasNext()) {
- JavaPersistentAttribute at = atts.next();
- String k = getKeyForBusinessObject(at);
- remove(k);
- }
-
- removeListenersFromEntity(jpt);
- Diagram d = featureProvider.getDiagramTypeProvider().getDiagram();
- if (d.getChildren().size() == 1) {
- WeakReference<CollectionChangeListener> ref = projectToEntityListener.remove(jpt.getJpaProject());
- if (ref != null) {
- CollectionChangeListener ch = ref.get();
- if (ch != null)
- jpt.getJpaProject().removeCollectionChangeListener(JpaProject.JPA_FILES_COLLECTION, ch);
- }
- }
-
- ICompilationUnit cu = getCompilationUnit(jpt);
- JPAEditorUtil.discardWorkingCopyOnce(cu);
- } else if (o instanceof AbstractRelation) {
- AbstractRelation rel = (AbstractRelation) o;
- attribToRel.remove(produceOwnerKeyForRel(rel));
- if (rel instanceof BidirectionalRelation)
- attribToRel.remove(produceInverseKeyForRel(rel));
- } else if (o instanceof JavaPersistentAttribute) {
- removeListenersFromAttribute((JavaPersistentAttribute)o);
- }
- return o;
- }
-
- public ICompilationUnit getCompilationUnit(JavaPersistentType jpt) {
- return util.getCompilationUnit(jpt);
- }
-
- public boolean isRelationRelatedToAttribute(JavaPersistentAttribute jpa) {
- String key = produceKeyForRel((JavaPersistentType)jpa.getParent(), jpa.getName());
- return attribToRel.containsKey(key);
- }
-
- public IRelation getRelationRelatedToAttribute(JavaPersistentAttribute jpa) {
- String key = produceKeyForRel((JavaPersistentType)jpa.getParent(), jpa.getName());
- return attribToRel.get(key);
- }
-
- public Set<IRelation> getRelationsRelatedToEntity(JavaPersistentType jpt) {
- ListIterator<JavaPersistentAttribute> it = jpt.attributes();
- HashSet<IRelation> res = new HashSet<IRelation>();
- while (it.hasNext()) {
- JavaPersistentAttribute at = it.next();
- IRelation rel = getRelationRelatedToAttribute(at);
- if (rel != null)
- res.add(rel);
- }
- return res;
- }
-
-
- public boolean existsRelation(JavaPersistentType jpt1, JavaPersistentType jpt2) {
- Set<IRelation> rels = getRelationsRelatedToEntity(jpt1);
- if (existsRelation(jpt1, jpt2, rels))
- return true;
- rels = getRelationsRelatedToEntity(jpt2);
- return existsRelation(jpt1, jpt2, rels);
- }
-
- public boolean existsRelation(JavaPersistentType jpt1,
- JavaPersistentType jpt2,
- Set<IRelation> rels) {
- Iterator<IRelation> it = rels.iterator();
- while (it.hasNext()) {
- IRelation rel = it.next();
- if ((jpt1.equals(rel.getOwner()) && jpt2.equals(rel.getInverse())) ||
- ((jpt2.equals(rel.getOwner()) && jpt1.equals(rel.getInverse()))))
- return true;
- }
- return false;
- }
-
- public Collection<Object> getVisualizedObjects() {
- return keyToBO.values();
- }
-
- public void renewAttributeMappingPropListener(JavaPersistentAttribute jpa) {
- renewAttributeJoiningStrategyPropertyListener(jpa);
- renewAttributeMappingOptPropListener(jpa);
- }
-
- public void renewAttributeJoiningStrategyPropertyListener(JavaPersistentAttribute jpa) {
- AttributeJoiningStrategyPropertyChangeListener lsn = null;
- WeakReference<AttributeJoiningStrategyPropertyChangeListener> ref = attributeJoiningStrategyToPropListener.remove(jpa);
- if (ref != null)
- lsn = ref.get();
-
- JavaAttributeMapping jam = jpa.getMapping();
- if ((jam == null) || !RelationshipMapping.class.isInstance(jam))
- return;
- Relationship rr = ((RelationshipMapping) jam).getRelationship();
- if (rr == null)
- return;
- RelationshipStrategy js = rr.getStrategy();
- if ((js == null) || !MappedByRelationshipStrategy.class.isInstance(js))
- return;
- try {
- if (lsn != null)
- js.removePropertyChangeListener(MappedByRelationshipStrategy.MAPPED_BY_ATTRIBUTE_PROPERTY, lsn);
- } catch (Exception e) {
- //$NON-NLS-1$
- }
- lsn = new AttributeJoiningStrategyPropertyChangeListener();
- js.addPropertyChangeListener(MappedByRelationshipStrategy.MAPPED_BY_ATTRIBUTE_PROPERTY, lsn);
- ref = new WeakReference<AttributeJoiningStrategyPropertyChangeListener>(lsn);
- attributeJoiningStrategyToPropListener.put(jpa, ref);
-
- }
-
- public void renewAttributeMappingOptPropListener(JavaPersistentAttribute jpa) {
- AttributeMappingOptionalityChangeListener lsn = null;
- WeakReference<AttributeMappingOptionalityChangeListener> ref = attributeMappingOptionalityToPropListener.remove(jpa);
- if (ref != null)
- lsn = ref.get();
- JavaAttributeMapping jam = jpa.getMapping();
- if (jam == null)
- return;
- if (!ManyToOneMapping.class.isInstance(jam) && !OneToOneMapping.class.isInstance(jam))
- return;
-
- try {
- if (lsn != null)
- jam.removePropertyChangeListener(OptionalMapping.SPECIFIED_OPTIONAL_PROPERTY, lsn);
- } catch (Exception e) {
- //$NON-NLS-1$
- }
- lsn = new AttributeMappingOptionalityChangeListener();
- jam.addPropertyChangeListener(OptionalMapping.SPECIFIED_OPTIONAL_PROPERTY, lsn);
- ref = new WeakReference<AttributeMappingOptionalityChangeListener>(lsn);
- attributeMappingOptionalityToPropListener.put(jpa, ref);
- }
-
-
- private void addListenersToProject(JpaProject proj) {
- addEntitiesListenerToProject(proj);
- }
-
- private void addEntitiesListenerToProject(JpaProject proj) {
- WeakReference<CollectionChangeListener> lsnrRef = projectToEntityListener.get(proj);
- CollectionChangeListener lsnr = null;
- if (lsnrRef != null)
- lsnr = lsnrRef.get();
- if (lsnr == null) {
- /*
- if (!proj.getUpdater().getClass().isInstance(SynchronousJpaProjectUpdater.class))
- proj.setUpdater(new SynchronousJpaProjectUpdater(proj));
- */
- lsnr = new JPAProjectListener();
- proj.addCollectionChangeListener(JpaProject.JPA_FILES_COLLECTION, lsnr);
- lsnrRef = new WeakReference<CollectionChangeListener>(lsnr);
- projectToEntityListener.put(proj, lsnrRef);
- }
- }
-
- private void addListenersToEntity(JavaPersistentType jpt) {
- addAtListenerToEntity(jpt);
- addPropertiesListenerToEntity(jpt);
- addStateListenerToEntity(jpt);
- }
-
- private void addAtListenerToEntity(JavaPersistentType jpt) {
- WeakReference<ListChangeListener> lsnrRef = entityToAtListener.get(jpt);
- ListChangeListener lsnr = null;
- if (lsnrRef != null)
- lsnr = lsnrRef.get();
- if (lsnr == null) {
- lsnr = new EntityAttributesChangeListener();
- jpt.addListChangeListener(JavaPersistentType.ATTRIBUTES_LIST, lsnr);
- lsnrRef = new WeakReference<ListChangeListener>(lsnr);
- entityToAtListener.put(jpt, lsnrRef);
- }
- }
-
- private void addPropertiesListenerToEntity(JavaPersistentType jpt) {
- WeakReference<PropertyChangeListener> lsnrRef = entityToPropListener.get(jpt);
- PropertyChangeListener lsnr = null;
- if (lsnrRef != null)
- lsnr = lsnrRef.get();
- if (lsnr == null) {
- lsnr = new EntityPropertyChangeListener();
- jpt.getMapping().addPropertyChangeListener(PersistentType.NAME_PROPERTY, lsnr);
- lsnrRef = new WeakReference<PropertyChangeListener>(lsnr);
- entityToPropListener.put(jpt, lsnrRef);
- }
- }
-
- private void addPropertiesListenerToAttribute(JavaPersistentAttribute jpa) {
- addPropertiesListenerToAttributeItself(jpa);
- addPropertiesListenerToJoiningStrategy(jpa);
- addPropertiesListenerToRelationshipReference(jpa);
- addOptPropListenerToAttributeMapping(jpa);
- }
-
- private void addPropertiesListenerToAttributeItself(JavaPersistentAttribute jpa) {
- WeakReference<AttributePropertyChangeListener> lsnrRef = attributeToPropListener.get(jpa);
- AttributePropertyChangeListener lsnr = null;
- if (lsnrRef != null)
- lsnr = lsnrRef.get();
- if (lsnr == null) {
- lsnr = new AttributePropertyChangeListener();
- jpa.addPropertyChangeListener(PersistentAttribute.MAPPING_PROPERTY, lsnr);
- lsnrRef = new WeakReference<AttributePropertyChangeListener>(lsnr);
- attributeToPropListener.put(jpa, lsnrRef);
- }
- }
-
- private void addOptPropListenerToAttributeMapping(JavaPersistentAttribute jpa) {
- WeakReference<AttributeMappingOptionalityChangeListener> lsnrRef = attributeMappingOptionalityToPropListener.get(jpa);
- AttributeMappingOptionalityChangeListener lsnr = null;
- if (lsnrRef != null)
- lsnr = lsnrRef.get();
- if (lsnr == null) {
- lsnr = new AttributeMappingOptionalityChangeListener();
- JavaAttributeMapping jam = jpa.getMapping();
- if (jam == null)
- return;
- if (!JavaManyToOneMapping.class.isInstance(jam) &&
- !JavaOneToOneMapping.class.isInstance(jam))
- return;
- jam.addPropertyChangeListener(OptionalMapping.SPECIFIED_OPTIONAL_PROPERTY, lsnr);
- lsnrRef = new WeakReference<AttributeMappingOptionalityChangeListener>(lsnr);
- attributeMappingOptionalityToPropListener.put(jpa, lsnrRef);
- }
- }
-
-
- private void addPropertiesListenerToJoiningStrategy(JavaPersistentAttribute jpa) {
-
- WeakReference<AttributeJoiningStrategyPropertyChangeListener> lsnrRef = attributeJoiningStrategyToPropListener.get(jpa);
- AttributeJoiningStrategyPropertyChangeListener lsnr = null;
- lsnrRef = attributeJoiningStrategyToPropListener.get(jpa);
- lsnr = null;
- if (lsnrRef != null)
- lsnr = lsnrRef.get();
- if (lsnr == null) {
- lsnr = new AttributeJoiningStrategyPropertyChangeListener();
- JavaAttributeMapping jam = jpa.getMapping();
- if ((jam == null) || !RelationshipMapping.class.isInstance(jam))
- return;
- Relationship rr = ((RelationshipMapping) jam).getRelationship();
- if (rr == null)
- return;
- RelationshipStrategy js = rr.getStrategy();
- if ((js == null) || !MappedByRelationshipStrategy.class.isInstance(js))
- return;
- lsnrRef = new WeakReference<AttributeJoiningStrategyPropertyChangeListener>(lsnr);
- attributeJoiningStrategyToPropListener.put(jpa, lsnrRef);
- }
-
- }
-
-
- private void addPropertiesListenerToRelationshipReference(JavaPersistentAttribute jpa) {
-
- WeakReference<AttributeRelationshipReferencePropertyChangeListener> lsnrRef = attributeRelationshipReferenceToPropListener.get(jpa);
- AttributeRelationshipReferencePropertyChangeListener lsnr = null;
- lsnrRef = attributeRelationshipReferenceToPropListener.get(jpa);
- lsnr = null;
- if (lsnrRef != null)
- lsnr = lsnrRef.get();
- if (lsnr == null) {
- lsnr = new AttributeRelationshipReferencePropertyChangeListener();
- JavaAttributeMapping jam = jpa.getMapping();
- if ((jam == null) || !RelationshipMapping.class.isInstance(jam))
- return;
- Relationship rr = ((RelationshipMapping) jam).getRelationship();
- if (rr == null)
- return;
- rr.addPropertyChangeListener(ReadOnlyRelationship.STRATEGY_PROPERTY, lsnr);
- rr.addPropertyChangeListener(OptionalMapping.SPECIFIED_OPTIONAL_PROPERTY, new AttributeMappingOptionalityChangeListener());
- lsnrRef = new WeakReference<AttributeRelationshipReferencePropertyChangeListener>(lsnr);
- attributeRelationshipReferenceToPropListener.put(jpa, lsnrRef);
- }
-
- }
-
-
-
- private void addStateListenerToEntity(JavaPersistentType jpt) {
- WeakReference<StateChangeListener> lsnrRef = entityToStateListener.get(jpt);
- StateChangeListener lsnr = null;
- if (lsnrRef != null)
- lsnr = lsnrRef.get();
- if (lsnr == null) {
- lsnr = new EntityStateChangeListener();
- jpt.addStateChangeListener(lsnr);
- lsnrRef = new WeakReference<StateChangeListener>(lsnr);
- entityToStateListener.put(jpt, lsnrRef);
- }
- }
-
- private void removeListenersFromEntity(JavaPersistentType jpt) {
- removeAtListenerFromEntity(jpt);
- removePropListenerFromEntity(jpt);
- removeStateListenerFromEntity(jpt);
- }
-
- private void removeListenersFromAttribute(JavaPersistentAttribute jpa) {
- removePropListenerFromAttribute(jpa);
- }
-
- private void removeAtListenerFromEntity(JavaPersistentType jpt) {
- WeakReference<ListChangeListener> lsnrRef = entityToAtListener.get(jpt);
- ListChangeListener lsnr = null;
- if (lsnrRef != null)
- lsnr = lsnrRef.get();
- if (lsnr != null) {
- entityToAtListener.remove(jpt);
- jpt.removeListChangeListener(JavaPersistentType.ATTRIBUTES_LIST, lsnr);
- }
- }
-
- private void removePropListenerFromEntity(JavaPersistentType jpt) {
- WeakReference<PropertyChangeListener> lsnrRef = entityToPropListener.get(jpt);
- PropertyChangeListener lsnr = null;
- if (lsnrRef != null)
- lsnr = lsnrRef.get();
- if (lsnr != null) {
- entityToPropListener.remove(jpt);
- try {
- jpt.getMapping().removePropertyChangeListener(PersistentType.NAME_PROPERTY, lsnr);
- } catch (IllegalArgumentException e) {
- //$NON-NLS-1$
- }
- }
- }
-
- private void removePropListenerFromAttribute(JavaPersistentAttribute jpa) {
- removePropListenerFromAttributeItself(jpa);
- removePropListenerFromJoiningStrategy(jpa);
- removePropListenerFromRelationshipReference(jpa);
- removeOptPropListenerFromAttributeMapping(jpa);
- }
-
- private void removePropListenerFromAttributeItself(JavaPersistentAttribute jpa) {
- WeakReference<AttributePropertyChangeListener> lsnrRef = attributeToPropListener.get(jpa);
- PropertyChangeListener lsnr = null;
- if (lsnrRef != null)
- lsnr = lsnrRef.get();
- if (lsnr != null) {
- attributeToPropListener.remove(jpa);
- try {
- jpa.removePropertyChangeListener(PersistentAttribute.MAPPING_PROPERTY, lsnr);
- } catch (IllegalArgumentException e) {
- //$NON-NLS-1$
- }
- }
- }
-
- private void removePropListenerFromJoiningStrategy(JavaPersistentAttribute jpa) {
- WeakReference<AttributeJoiningStrategyPropertyChangeListener> lsnrRef = attributeJoiningStrategyToPropListener.get(jpa);
- PropertyChangeListener lsnr = null;
- lsnrRef = attributeJoiningStrategyToPropListener.get(jpa);
- lsnr = null;
- if (lsnrRef != null)
- lsnr = lsnrRef.get();
- if (lsnr != null) {
- attributeJoiningStrategyToPropListener.remove(jpa);
- try {
- JavaAttributeMapping jam = jpa.getMapping();
- if ((jam == null) || !RelationshipMapping.class.isInstance(jam))
- return;
- Relationship rr = ((RelationshipMapping) jam).getRelationship();
- if (rr == null)
- return;
- RelationshipStrategy js = rr.getStrategy();
- if ((js == null) || !MappedByRelationshipStrategy.class.isInstance(js))
- return;
- js.removePropertyChangeListener(MappedByRelationshipStrategy.MAPPED_BY_ATTRIBUTE_PROPERTY, lsnr);
- } catch (IllegalArgumentException e) {
- //$NON-NLS-1$
- }
- }
-
- }
-
- private void removeOptPropListenerFromAttributeMapping(JavaPersistentAttribute jpa) {
- WeakReference<AttributeMappingOptionalityChangeListener> lsnrRef = attributeMappingOptionalityToPropListener.get(jpa);
- PropertyChangeListener lsnr = null;
- lsnrRef = attributeMappingOptionalityToPropListener.get(jpa);
- lsnr = null;
- if (lsnrRef != null)
- lsnr = lsnrRef.get();
- if (lsnr != null) {
- attributeMappingOptionalityToPropListener.remove(jpa);
- try {
- JavaAttributeMapping jam = jpa.getMapping();
- if ((jam == null) || !RelationshipMapping.class.isInstance(jam))
- return;
- jam.removePropertyChangeListener(OptionalMapping.SPECIFIED_OPTIONAL_PROPERTY, lsnr);
- } catch (IllegalArgumentException e) {
- //$NON-NLS-1$
- }
- }
- }
-
-
- private void removePropListenerFromRelationshipReference(JavaPersistentAttribute jpa) {
- WeakReference<AttributeRelationshipReferencePropertyChangeListener> lsnrRef = attributeRelationshipReferenceToPropListener.get(jpa);
- PropertyChangeListener lsnr = null;
- lsnrRef = attributeRelationshipReferenceToPropListener.get(jpa);
- lsnr = null;
- if (lsnrRef != null)
- lsnr = lsnrRef.get();
- if (lsnr != null) {
- attributeRelationshipReferenceToPropListener.remove(jpa);
- try {
- JavaAttributeMapping jam = jpa.getMapping();
- if ((jam == null) || !RelationshipMapping.class.isInstance(jam))
- return;
- Relationship rr = ((RelationshipMapping) jam).getRelationship();
- if (rr == null)
- return;
- rr.removePropertyChangeListener(ReadOnlyRelationship.STRATEGY_PROPERTY, lsnr);
- } catch (IllegalArgumentException e) {
- //$NON-NLS-1$
- }
- }
- }
-
-
- private void removeStateListenerFromEntity(JavaPersistentType jpt) {
- WeakReference<StateChangeListener> lsnrRef = entityToStateListener.get(jpt);
- StateChangeListener lsnr = null;
- if (lsnrRef != null)
- lsnr = lsnrRef.get();
- if (lsnr != null) {
- entityToStateListener.remove(jpt);
- jpt.removeStateChangeListener(lsnr);
- }
- }
-
- //---------------
- private void removeEntityStateChangeListeners() {
- Iterator<JavaPersistentType> it = entityToStateListener.keySet().iterator();
- Set<JavaPersistentType> s = new HashSet<JavaPersistentType>();
- while(it.hasNext())
- s.add(it.next());
- it = s.iterator();
- while(it.hasNext()) {
- JavaPersistentType jpt = it.next();
- WeakReference<StateChangeListener> ref = entityToStateListener.remove(jpt);
- StateChangeListener lsn = ref.get();
- if (lsn != null)
- jpt.removeStateChangeListener(lsn);
- }
- entityToStateListener.clear();
- entityToStateListener = null;
- }
-
- private void removeEntityPropChangeListeners() {
- Iterator<JavaPersistentType> it = entityToPropListener.keySet().iterator();
- Set<JavaPersistentType> s = new HashSet<JavaPersistentType>();
- while(it.hasNext())
- s.add(it.next());
- it = s.iterator();
- while(it.hasNext()) {
- JavaPersistentType jpt = it.next();
- WeakReference<PropertyChangeListener> ref = entityToPropListener.remove(jpt);
- PropertyChangeListener lsn = ref.get();
- if (lsn != null)
- jpt.getMapping().removePropertyChangeListener(PersistentType.NAME_PROPERTY, lsn);
- }
- entityToPropListener.clear();
- entityToPropListener = null;
- }
-
- private void removeAttributePropChangeListeners() {
- Iterator<JavaPersistentAttribute> it = attributeToPropListener.keySet().iterator();
- Set<JavaPersistentAttribute> s = new HashSet<JavaPersistentAttribute>();
- while(it.hasNext())
- s.add(it.next());
- it = s.iterator();
- while(it.hasNext()) {
- JavaPersistentAttribute jpa = it.next();
- WeakReference<AttributePropertyChangeListener> ref = attributeToPropListener.remove(jpa);
- PropertyChangeListener lsn = ref.get();
- if (lsn != null)
- try {
- jpa.removePropertyChangeListener(PersistentAttribute.MAPPING_PROPERTY, lsn);
- } catch (IllegalArgumentException e) {
- //$NON-NLS-1$
- }
- }
- attributeToPropListener.clear();
- attributeToPropListener = null;
- }
-
- private void removeAttributeJoiningStrategyPropChangeListeners() {
- Iterator<JavaPersistentAttribute> it = attributeJoiningStrategyToPropListener.keySet().iterator();
- Set<JavaPersistentAttribute> s = new HashSet<JavaPersistentAttribute>();
- while(it.hasNext())
- s.add(it.next());
- it = s.iterator();
- while(it.hasNext()) {
- JavaPersistentAttribute jpa = it.next();
- WeakReference<AttributeJoiningStrategyPropertyChangeListener> ref = attributeJoiningStrategyToPropListener.remove(jpa);
- PropertyChangeListener lsn = ref.get();
- if (lsn != null)
- try {
- jpa.getMapping().removePropertyChangeListener(MappedByRelationshipStrategy.MAPPED_BY_ATTRIBUTE_PROPERTY, lsn);
- } catch (IllegalArgumentException e) {
- //$NON-NLS-1$
- }
- }
- attributeJoiningStrategyToPropListener.clear();
- attributeJoiningStrategyToPropListener = null;
- }
-
- private void removeOptPropListeners() {
- Iterator<JavaPersistentAttribute> it = this.attributeMappingOptionalityToPropListener.keySet().iterator();
- Set<JavaPersistentAttribute> s = new HashSet<JavaPersistentAttribute>();
- while(it.hasNext())
- s.add(it.next());
- it = s.iterator();
- while(it.hasNext()) {
- JavaPersistentAttribute jpa = it.next();
- WeakReference<AttributeMappingOptionalityChangeListener> ref = attributeMappingOptionalityToPropListener.remove(jpa);
- if (ref == null)
- continue;
- PropertyChangeListener lsn = ref.get();
- if (lsn == null)
- continue;
- JavaAttributeMapping jam = jpa.getMapping();
- if ((jam == null) || !RelationshipMapping.class.isInstance(jam))
- continue;
- try {
- jam.removePropertyChangeListener(OptionalMapping.SPECIFIED_OPTIONAL_PROPERTY, lsn);
- } catch (IllegalArgumentException e) {
- //$NON-NLS-1$
- }
- }
- attributeRelationshipReferenceToPropListener.clear();
- attributeRelationshipReferenceToPropListener = null;
- }
-
- private void removeEntityAttributeChangeListeners() {
- Iterator<JavaPersistentType> it = entityToAtListener.keySet().iterator();
- Set<JavaPersistentType> s = new HashSet<JavaPersistentType>();
- while(it.hasNext())
- s.add(it.next());
- it = s.iterator();
- while(it.hasNext()) {
- JavaPersistentType jpt = it.next();
- WeakReference<ListChangeListener> ref = entityToAtListener.remove(jpt);
- ListChangeListener lsn = ref.get();
- if (lsn != null)
- jpt.removeListChangeListener(JavaPersistentType.ATTRIBUTES_LIST, lsn);
- }
- entityToAtListener.clear();
- entityToAtListener = null;
- }
-
- private void removeProjectListeners() {
- Iterator<JpaProject> it = projectToEntityListener.keySet().iterator();
- Set<JpaProject> s = new HashSet<JpaProject>();
- while(it.hasNext())
- s.add(it.next());
- it = s.iterator();
- while(it.hasNext()) {
- JpaProject project = it.next();
- WeakReference<CollectionChangeListener> ref = projectToEntityListener.remove(project);
- CollectionChangeListener lsn = ref.get();
- if (lsn != null)
- project.removeCollectionChangeListener(JpaProject.JPA_FILES_COLLECTION, lsn);
- }
- projectToEntityListener.clear();
- projectToEntityListener = null;
- }
-
- private void removeAllListeners() {
- removeOptPropListeners();
- removeAttributeJoiningStrategyPropChangeListeners();
- removeAttributePropChangeListeners();
- removeEntityStateChangeListeners();
- removeEntityPropChangeListeners();
- removeEntityAttributeChangeListeners();
- removeProjectListeners();
- eclipseFacade.getWorkspace().removeResourceChangeListener(this);
- }
-
- public void dispose() {
- Iterator<Object> it = keyToBO.values().iterator();
- while (it.hasNext()) {
- Object bo = it.next();
- if (!JavaPersistentType.class.isInstance(bo))
- continue;
- ICompilationUnit cu = util.getCompilationUnit(((JavaPersistentType)bo));
- util.discardWorkingCopyOnce(cu);
- }
-
- util = null;
- keyToBO.clear();
- attribToRel.clear();
- keyToBO = null;
- attribToRel = null;
- removeAllListeners();
- featureProvider = null;
- synchronized (JPASolver.class) {
- solversSet.remove(this);
- if (solversSet.isEmpty()) {
- JavaCore.removeElementChangedListener(wclsnr);
- wclsnr = null;
- }
- }
- }
-
- public boolean containsKey(String key) {
- return keyToBO.containsKey(key);
- }
-
- public void restoreEntity(JavaPersistentType jpt) {
- if (jpt == null)
- return;
- ICompilationUnit cu = this.getCompilationUnit(jpt);
- JPAEditorUtil.discardWorkingCopyOnce(cu);
- JPAEditorUtil.becomeWorkingCopy(cu);
- }
-
- public static boolean ignoreEvents = false;
-
- public static class WorkingCopyChangeListener implements IElementChangedListener {
- synchronized public void elementChanged(ElementChangedEvent event) {
- Object o = event.getSource();
- if (!IJavaElementDelta.class.isInstance(o))
- return;
-
- IJavaElementDelta jed = (IJavaElementDelta)o;
- Set<ICompilationUnit> affectedCompilationUnits = getAffectedCompilationUnits(jed);
-
- for (ICompilationUnit cu : affectedCompilationUnits) {
- JavaPersistentType jpt = JPAEditorUtil.getJPType(cu);
- for (JPASolver solver : solversSet) {
- final ContainerShape cs = (ContainerShape)solver.featureProvider.getPictogramElementForBusinessObject(jpt);
- if (cs == null)
- return;
- String entName = JPAEditorUtil.getText(jpt);
- try {
- final String newHeader = (cu.hasUnsavedChanges() ? "* " : "") + entName; //$NON-NLS-1$ //$NON-NLS-2$
- Display.getDefault().asyncExec(new Runnable() {
- public void run() {
- GraphicsUpdater.updateHeader(cs, newHeader);
- }
- });
-
- } catch (JavaModelException e) {
- System.err.println("Cannot check compilation unit for unsaved changes"); //$NON-NLS-1$
- e.printStackTrace();
- }
- }
-
- }
- }
-
- private Set<ICompilationUnit> getAffectedCompilationUnits(IJavaElementDelta delta) {
- Set<ICompilationUnit> res = new HashSet<ICompilationUnit>();
- IJavaElement el = delta.getElement();
- if (ICompilationUnit.class.isInstance(el))
- res.add((ICompilationUnit)el);
- IJavaElementDelta[] children = delta.getChangedChildren();
- for (IJavaElementDelta child : children) {
- Set<ICompilationUnit> cus = getAffectedCompilationUnits(child);
- res.addAll(cus);
- }
- return res;
- }
- }
-
- public class JPAProjectListener implements CollectionChangeListener {
-
- synchronized public void itemsRemoved(CollectionRemoveEvent event) {
- if (ignoreEvents)
- return;
-
- Iterator<?> it = event.getItems().iterator();
- while (it.hasNext()) {
- Object o = it.next();
- if (!(o instanceof JpaFile))
- continue;
- final JpaFile jpaFile = (JpaFile)o;
- JptResourceModel jrm = ((JpaFile)o).getResourceModel();
- if (!JavaResourceCompilationUnit.class.isInstance(jrm))
- continue;
- JavaResourceCompilationUnit jrcu = (JavaResourceCompilationUnit)jrm;
- JavaResourcePersistentType jrpt = jrcu.persistentTypes().next();
- String name = jrpt.getQualifiedName();
-
- JpaProject jpaProject = jpaFile.getJpaProject();
- PersistenceUnit pu = JpaArtifactFactory.instance().getPersistenceUnit(jpaProject);
- if(pu == null)
- continue;
- JavaPersistentType jpt = (JavaPersistentType)pu.getPersistentType(name);
- final ContainerShape cs = (ContainerShape)featureProvider.getPictogramElementForBusinessObject(jpt);
- if (cs == null)
- return;
- final RemoveContext ctx = new RemoveContext(cs);
- final IRemoveFeature ft = featureProvider.getRemoveFeature(ctx);;
- Runnable r = new Runnable() {
- public void run() {
- TransactionalEditingDomain ted = TransactionUtil.getEditingDomain(cs);
- ted.getCommandStack().execute(new RecordingCommand(ted) {
- protected void doExecute() {
- ft.remove(ctx);
- }
- });
- }
- };
- Display.getDefault().syncExec(r);
- }
- }
-
- public void collectionCleared(CollectionClearEvent arg0) {}
-
- public void collectionChanged(CollectionChangeEvent event) {}
-
- public void itemsAdded(CollectionAddEvent event) {}
- };
-
- public class EntityStateChangeListener implements StateChangeListener {
- public void stateChanged(StateChangeEvent event) {
- }
- }
-
- public class EntityAttributesChangeListener implements ListChangeListener {
-
- public void itemsAdded(ListAddEvent event) {
- AddEntityAttributes task = new AddEntityAttributes(event);
- Display.getDefault().asyncExec(task);
- }
-
- public void itemsRemoved(ListRemoveEvent event) {
- RemoveEntityAttributes task = new RemoveEntityAttributes(event);
- Display.getDefault().asyncExec(task);
- }
-
- public void listChanged(ListChangeEvent event) {}
-
- public void itemsMoved(ListMoveEvent arg0) {}
-
- public void itemsReplaced(ListReplaceEvent arg0) {}
-
- public void listCleared(ListClearEvent arg0) {}
- };
-
- public class EntityPropertyChangeListener implements PropertyChangeListener {
- synchronized public void propertyChanged(PropertyChangeEvent event) {
- String propName = event.getPropertyName();
- if (propName.equals(JPAEditorConstants.PROP_SPECIFIED_NAME)) {
- final JavaEntity je = (JavaEntity)event.getSource();
- Runnable job = new Runnable() {
- public void run() {
- TransactionalEditingDomain ted = featureProvider.getTransactionalEditingDomain();
- ted.getCommandStack().execute(new RecordingCommand(ted) {
- protected void doExecute() {
- JavaPersistentType jpt = je.getPersistentType();
- updateJPTName(jpt);
- String tableName = JPAEditorUtil.formTableName(jpt);
- JpaArtifactFactory.instance().setTableName(jpt, tableName);
- }
- });
- }
- };
- Display.getDefault().syncExec(job);
- }
- }
- }
-
- public class AttributePropertyChangeListener implements
- PropertyChangeListener {
- synchronized public void propertyChanged(PropertyChangeEvent event) {
-
- Model source = event.getSource();
- if (!JavaPersistentAttribute.class.isInstance(source))
- return;
- PictogramElement pe = featureProvider
- .getPictogramElementForBusinessObject(((JavaPersistentAttribute) source)
- .getParent());
- final UpdateAttributeFeature ft = new UpdateAttributeFeature(
- featureProvider);
- final CustomContext ctx = new CustomContext();
- ctx.setInnerPictogramElement(pe);
- Runnable runnable = new Runnable() {
- @SuppressWarnings("deprecation")
- public void run() {
- ft.execute(ctx);
- }
- };
- Display.getDefault().asyncExec(runnable);
- String propName = event.getPropertyName();
- if (propName.equals(PersistentAttribute.MAPPING_PROPERTY)) {
- renewAttributeMappingPropListener((JavaPersistentAttribute) source);
- }
- }
- }
-
- /*
- * This listener listens when mappedBy has been changed
- */
- public class AttributeJoiningStrategyPropertyChangeListener implements PropertyChangeListener {
-
- synchronized public void propertyChanged(PropertyChangeEvent event) {
-
- Model m = event.getSource();
- if (!MappedByRelationshipStrategy.class.isInstance(m))
- return;
- MappedByRelationshipStrategy js = (MappedByRelationshipStrategy)m;
- JpaNode nd = js.getParent();
- if (nd == null)
- return;
- nd = nd.getParent();
- if (nd == null)
- return;
- nd = nd.getParent();
- if ((nd == null) || !JavaPersistentAttribute.class.isInstance(nd))
- return;
- JavaPersistentAttribute at = (JavaPersistentAttribute)nd;
- if (!at.getParent().getParent().getResource().exists())
- return;
- PictogramElement pe = featureProvider.getPictogramElementForBusinessObject(at.getParent());
- final UpdateAttributeFeature ft = new UpdateAttributeFeature(featureProvider);
- final CustomContext ctx = new CustomContext();
- ctx.setInnerPictogramElement(pe);
- Runnable runnable = new Runnable() {
- @SuppressWarnings("deprecation")
- public void run() {
- try {
- ft.execute(ctx);
- } catch (Exception e) {
- //$NON-NLS-1$
- }
- }
- };
- Display.getDefault().asyncExec(runnable);
- }
- }
-
-
- public class AttributeRelationshipReferencePropertyChangeListener implements PropertyChangeListener {
-
- synchronized public void propertyChanged(PropertyChangeEvent event) {
- Relationship rr = (Relationship)event.getSource();
- JpaNode p = rr.getParent();
- if (p == null)
- return;
- p = p.getParent();
- if (p == null)
- return;
- if (!JavaPersistentAttribute.class.isInstance(p))
- return;
- JavaPersistentAttribute jpa = (JavaPersistentAttribute)p;
- renewAttributeJoiningStrategyPropertyListener(jpa);
- if (!jpa.getParent().getParent().getResource().exists())
- return;
- PictogramElement pe = featureProvider.getPictogramElementForBusinessObject(jpa.getParent());
- final UpdateAttributeFeature ft = new UpdateAttributeFeature(featureProvider);
- final CustomContext ctx = new CustomContext();
- ctx.setInnerPictogramElement(pe);
- Runnable runnable = new Runnable() {
- @SuppressWarnings("deprecation")
- public void run() {
- try {
- ft.execute(ctx);
- } catch (Exception e) {
- //$NON-NLS-1$
- }
- }
- };
- Display.getDefault().asyncExec(runnable);
- }
- }
-
- public class AttributeMappingOptionalityChangeListener implements PropertyChangeListener {
-
- synchronized public void propertyChanged(PropertyChangeEvent event) {
- Boolean optional = (Boolean)event.getNewValue();
- boolean isOptional = (optional == null) ? true : optional.booleanValue();
- OptionalMapping nm = (OptionalMapping)event.getSource();
- JavaPersistentAttribute jpa = (JavaPersistentAttribute)nm.getParent();
- IRelation rel = featureProvider.getRelationRelatedToAttribute(jpa);
- boolean atBeginning = !rel.getOwner().equals(jpa.getParent()) ||
- !rel.getOwnerAttributeName().equals(jpa.getName());
- final Connection c = (Connection)featureProvider.getPictogramElementForBusinessObject(rel);
- Collection<ConnectionDecorator> conDecs = c.getConnectionDecorators();
- Iterator<ConnectionDecorator> it = conDecs.iterator();
- final String newLabelText = isOptional ?
- JPAEditorConstants.CARDINALITY_ZERO_ONE :
- JPAEditorConstants.CARDINALITY_ONE;
- while (it.hasNext()) {
- final ConnectionDecorator cd = it.next();
- if (!JPAEditorUtil.isCardinalityDecorator(cd))
- continue;
- double d = cd.getLocation();
- if ((atBeginning && d > 0.5) || (!atBeginning && d <= 0.5))
- continue;
-
- TransactionalEditingDomain ted = TransactionUtil.getEditingDomain(cd);
- ted.getCommandStack().execute(new RecordingCommand(ted) {
- protected void doExecute() {
- Text txt = (Text)cd.getGraphicsAlgorithm();
- txt.setValue(newLabelText);
-
- Point pt = JPAEditorUtil.recalcTextDecoratorPosition((FreeFormConnection)c, cd);
- Graphiti.getGaService().setLocation(txt, pt.x, pt.y, false);
- }
- });
- break;
- }
- }
- }
-
- public class RemoveEntityAttributes implements Runnable {
- ListRemoveEvent event = null;
-
- public RemoveEntityAttributes(ListRemoveEvent event) {
- this.event = event;
- }
-
- @SuppressWarnings("unchecked")
- synchronized public void run() {
- try {
- ArrayIterator<JavaPersistentAttribute> it = (ArrayIterator<JavaPersistentAttribute>) event.getItems().iterator();
- Set<Shape> shapesToRemove = new HashSet<Shape>();
- while (it.hasNext()) {
- JavaPersistentAttribute at = it.next();
- /*
- String key = getKeyForBusinessObject(at);
- remove(key);
- */
- if (removeIgnore.remove(((PersistentType)at.getParent()).getName() + "." + at.getName())) //$NON-NLS-1$
- continue;
- Shape atShape = (Shape) featureProvider.getPictogramElementForBusinessObject(at);
- if (atShape == null)
- continue;
-
-
- JavaPersistentType jpt = (JavaPersistentType)event.getSource();
- JavaPersistentAttribute newAt = jpt.getAttributeNamed(at.getName());
- if (newAt != null) {
- RemoveAttributeFeature ft = new RemoveAttributeFeature(featureProvider, true, true);
- RemoveContext c = new RemoveContext(atShape);
- try {
- ft.remove(c);
- } catch (Exception ee) {
- //$NON-NLS-1$
- }
- AddAttributeFeature ft1 = new AddAttributeFeature(featureProvider);
- AddContext c1 = new AddContext();
- c1.setNewObject(newAt);
- ft1.add(c1);
- return;
- }
-
- shapesToRemove.add(atShape);
- IRelation rel = ((IJPAEditorFeatureProvider) featureProvider).getRelationRelatedToAttribute(at);
- if (rel == null)
- continue;
- Connection conn = (Connection) featureProvider.getPictogramElementForBusinessObject(rel);
- while (conn != null) {
- RemoveContext ctx = new RemoveContext(conn);
- RemoveRelationFeature ft = new RemoveRelationFeature(featureProvider);
- ft.remove(ctx);
- conn = (Connection) featureProvider.getPictogramElementForBusinessObject(rel);
- }
- }
- Iterator<Shape> itr = shapesToRemove.iterator();
- while (itr.hasNext()) {
- Shape atShape = itr.next();
- RemoveContext ctx = new RemoveContext(atShape);
- RemoveAttributeFeature ft = new RemoveAttributeFeature(featureProvider, true, true);
- ft.remove(ctx);
- }
- Collection<IRelation> rels = JpaArtifactFactory.instance().produceAllRelations(
- (JavaPersistentType) event.getSource(), (IJPAEditorFeatureProvider) featureProvider);
- Iterator<IRelation> iter = rels.iterator();
- while (iter.hasNext()) {
- IRelation rel = iter.next();
- ContainerShape ownerShape = (ContainerShape) featureProvider
- .getPictogramElementForBusinessObject(rel.getOwner());
- ContainerShape inverseShape = (ContainerShape) featureProvider
- .getPictogramElementForBusinessObject(rel.getInverse());
- AddConnectionContext cntx = new AddConnectionContext(JPAEditorUtil.getAnchor(ownerShape),
- JPAEditorUtil.getAnchor(inverseShape));
- cntx.setNewObject(rel);
- AddRelationFeature ft = new AddRelationFeature(featureProvider);
- ft.add(cntx);
- }
- } catch (Exception e) {
- //$NON-NLS-1$
- }
- }
-
- }
-
- public class AddEntityAttributes implements Runnable {
- ListAddEvent event = null;
-
- public AddEntityAttributes(ListAddEvent event) {
- this.event = event;
- }
-
- @SuppressWarnings("unchecked")
- synchronized public void run() {
- try {
- JavaPersistentType jpt = (JavaPersistentType) event.getSource();
- ContainerShape entShape = (ContainerShape)featureProvider.getPictogramElementForBusinessObject(jpt);
-
- // remove invalidated relations (if any)
- ArrayIterator<JavaPersistentAttribute> it = (ArrayIterator<JavaPersistentAttribute>) event.getItems().iterator();
- while (it.hasNext()) {
- JavaPersistentAttribute at = it.next();
- //Shape atShape = (Shape) featureProvider.getPictogramElementForBusinessObject(at);
- //if (atShape != null)
- // continue;
- if (addIgnore.remove(((PersistentType)at.getParent()).getName() + "." + at.getName())) //$NON-NLS-1$
- continue;
- AddContext ctx = new AddContext();
- ctx.setNewObject(at);
- ctx.setTargetContainer(entShape);
- AddAttributeFeature ft = new AddAttributeFeature(featureProvider);
- ft.add(ctx);
- }
- //JpaArtifactFactory.instance().remakeRelations((IJPAEditorFeatureProvider)featureProvider, entShape, jpt);
- featureProvider.addJPTForUpdate(jpt.getName());
-
- } catch (Exception e) {
- //$NON-NLS-1$
- }
- }
- }
-
- public void addAttribForUpdate(PersistenceUnit pu, String entAtMappedBy) {
- entityNameListener.addAttribForUpdate(pu, entAtMappedBy);
- }
-
-
- private void updateJPTName(JavaPersistentType jpt) {
- String entName = JpaArtifactFactory.instance().getEntityName(jpt);
- entName = JPAEditorUtil.returnSimpleName(entName);
- ContainerShape entShape = (ContainerShape)featureProvider.getPictogramElementForBusinessObject(jpt);
- JPAEditorUtil.setJPTNameInShape(entShape, entName);
- }
-
- private void closeDiagramEditorIfProjectIsDeleted(IResourceChangeEvent event) {
- IResourceDelta changedDelta = event.getDelta();
- IResourceDelta[] deltas = changedDelta.getAffectedChildren();
- for (IResourceDelta delta : deltas) {
- final IResource resource = delta.getResource();
- if (!resource.exists()) {
- if (resource instanceof IProject) {
- final IDiagramTypeProvider provider = featureProvider.getDiagramTypeProvider();
- if (provider instanceof JPAEditorDiagramTypeProvider) {
- final JPADiagramEditor diagramBySelectedProject = ((JPAEditorDiagramTypeProvider) provider).getDiagramEditor();
- PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
- public void run() {
- IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
- if (diagramBySelectedProject.getPartName().equals(resource.getName())) {
- page.closeEditor(diagramBySelectedProject, false);
- }
- }
- });
- }
-
- }
- }
- }
- }
-
- private void unregisterDeltedEntity(IResourceChangeEvent event) {
- IResourceDelta changedDelta = event.getDelta();
- IResourceDelta[] deltas = changedDelta.getAffectedChildren();
- for (IResourceDelta delta : deltas) {
- final IResource resource = delta.getResource();
- if (resource.exists()) {
- if (resource instanceof IProject) {
- IProject project = (IProject) resource;
- for (IResourceDelta deltaResource : delta.getAffectedChildren()) {
- List<IResourceDelta> resources = new ArrayList<IResourceDelta>();
- resources = findDeletedResource(deltaResource, resources);
- for (IResourceDelta resourceDelta : resources) {
- if (resourceDelta.getResource() instanceof File) {
- IFile file = this.eclipseFacade.getWorkspace().getRoot().getFile(((File) resourceDelta.getResource()).getFullPath());
- if (!file.exists() && file.getFileExtension().equals("java")) { //$NON-NLS-1$
- try {
- JpaProject jpaProject = JpaArtifactFactory.instance().getJpaProject((IProject) resource);
- if (jpaProject != null) {
- IJavaProject javaProject = JavaCore.create(project);
- IPackageFragmentRoot[] fragmentRoots = javaProject.getAllPackageFragmentRoots();
- for (IPackageFragmentRoot fragmentRoot : fragmentRoots) {
- if ((fragmentRoot instanceof PackageFragmentRoot) && fragmentRoot.getKind() == PackageFragmentRoot.K_SOURCE) {
- PackageFragmentRoot packageFragmentRoot = (PackageFragmentRoot) fragmentRoot;
- String sourcefolder = packageFragmentRoot.getResource().getName();
- String[] fq = file.getFullPath().toString().split(sourcefolder);
- String fqName = fq[1].replace("/", "."); //$NON-NLS-1$ //$NON-NLS-2$
- fqName = fqName.replaceFirst(".", "").replace(".java", ""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- //JPAEditorUtil.createUnregisterEntityFromXMLJob(jpaProject, fqName);
- }
- }
- }
- } catch (CoreException e) {
- e.printStackTrace();
- }
- }
- }
- }
- }
- }
- }
- }
- }
-
-
- private List<IResourceDelta> findDeletedResource(IResourceDelta delta, List<IResourceDelta> resources){
- IResourceDelta[] deltas = delta.getAffectedChildren();
- for (IResourceDelta del : deltas) {
- findDeletedResource(del, resources);
- if(del.getAffectedChildren().length==0)
- resources.add(del);
- }
- return resources;
- }
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/JpaArtifactFactory.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/JpaArtifactFactory.java
deleted file mode 100644
index cd56809672..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/JpaArtifactFactory.java
+++ /dev/null
@@ -1,2360 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.util;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.ListIterator;
-import java.util.Locale;
-import java.util.Properties;
-import java.util.Set;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.IRemoveContext;
-import org.eclipse.graphiti.features.context.impl.AddConnectionContext;
-import org.eclipse.graphiti.features.context.impl.RemoveContext;
-import org.eclipse.graphiti.mm.pictograms.Connection;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.graphiti.services.Graphiti;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IField;
-import org.eclipse.jdt.core.IImportDeclaration;
-import org.eclipse.jdt.core.IMethod;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.ui.refactoring.RenameSupport;
-import org.eclipse.jpt.common.core.JptResourceModel;
-import org.eclipse.jpt.common.utility.internal.iterables.ArrayListIterable;
-import org.eclipse.jpt.jpa.core.JpaFile;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.JptJpaCorePlugin;
-import org.eclipse.jpt.jpa.core.MappingKeys;
-import org.eclipse.jpt.jpa.core.context.AttributeMapping;
-import org.eclipse.jpt.jpa.core.context.Embeddable;
-import org.eclipse.jpt.jpa.core.context.PersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.PersistentType;
-import org.eclipse.jpt.jpa.core.context.ReadOnlyPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaAttributeMapping;
-import org.eclipse.jpt.jpa.core.context.java.JavaEntity;
-import org.eclipse.jpt.jpa.core.context.java.JavaManyToManyMapping;
-import org.eclipse.jpt.jpa.core.context.java.JavaOneToManyMapping;
-import org.eclipse.jpt.jpa.core.context.java.JavaOneToOneMapping;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpa.core.context.java.JavaTypeMapping;
-import org.eclipse.jpt.jpa.core.context.persistence.ClassRef;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpa.core.resource.java.Annotation;
-import org.eclipse.jpt.jpa.core.resource.java.AttributeOverrideAnnotation;
-import org.eclipse.jpt.jpa.core.resource.java.AttributeOverridesAnnotation;
-import org.eclipse.jpt.jpa.core.resource.java.ColumnAnnotation;
-import org.eclipse.jpt.jpa.core.resource.java.EmbeddedIdAnnotation;
-import org.eclipse.jpt.jpa.core.resource.java.IdAnnotation;
-import org.eclipse.jpt.jpa.core.resource.java.IdClassAnnotation;
-import org.eclipse.jpt.jpa.core.resource.java.JavaResourceCompilationUnit;
-import org.eclipse.jpt.jpa.core.resource.java.JavaResourcePersistentAttribute;
-import org.eclipse.jpt.jpa.core.resource.java.JavaResourcePersistentType;
-import org.eclipse.jpt.jpa.core.resource.java.JoinColumnAnnotation;
-import org.eclipse.jpt.jpa.core.resource.java.JoinColumnsAnnotation;
-import org.eclipse.jpt.jpa.core.resource.java.ManyToManyAnnotation;
-import org.eclipse.jpt.jpa.core.resource.java.MapKeyAnnotation;
-import org.eclipse.jpt.jpa.core.resource.java.NestableAttributeOverrideAnnotation;
-import org.eclipse.jpt.jpa.core.resource.java.NestableJoinColumnAnnotation;
-import org.eclipse.jpt.jpa.core.resource.java.OneToManyAnnotation;
-import org.eclipse.jpt.jpa.core.resource.java.OneToOneAnnotation;
-import org.eclipse.jpt.jpa.core.resource.java.OwnableRelationshipMappingAnnotation;
-import org.eclipse.jpt.jpa.core.resource.java.RelationshipMappingAnnotation;
-import org.eclipse.jpt.jpa.core.resource.java.TableAnnotation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.JPADiagramEditorPlugin;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.AddRelationFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.RemoveRelationFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.UpdateAttributeFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.propertypage.JPADiagramPropertyPage;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.BidirectionalRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.IRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.IRelation.RelDir;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.IRelation.RelType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.ManyToManyBiDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.ManyToManyUniDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.ManyToOneBiDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.ManyToOneUniDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.OneToManyUniDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.OneToOneBiDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.OneToOneUniDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.UnidirectionalRelation;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbenchWindow;
-
-
-@SuppressWarnings("restriction")
-public class JpaArtifactFactory {
-
- private static final JpaArtifactFactory INSTANCE = new JpaArtifactFactory();
-
- private static final int MAX_NUM_OF_ITERATIONS = 25;
- private static final int PAUSE_DURATION = 200;
-
- private static final String COLLECTION_TYPE = "java.util.Collection"; //$NON-NLS-1$
- private static final String LIST_TYPE = "java.util.List"; //$NON-NLS-1$
- private static final String SET_TYPE = "java.util.Set"; //$NON-NLS-1$
- private static final String MAP_TYPE = "java.util.Map"; //$NON-NLS-1$
-
- synchronized public static JpaArtifactFactory instance() {
- return INSTANCE;
- }
-
- public void addOneToOneUnidirectionalRelation(IFeatureProvider fp, JavaPersistentType jpt,
- JavaPersistentAttribute attribute) {
- addOneToOneRelation(fp, jpt, attribute, null, null,
- JPAEditorConstants.RELATION_TYPE_UNIDIRECTIONAL);
- }
-
- public void addOneToOneBidirectionalRelation (IFeatureProvider fp, JavaPersistentType jpt1,
- JavaPersistentAttribute attribute1, JavaPersistentType jpt2,
- JavaPersistentAttribute attribute2) {
-
- addOneToOneRelation(fp, jpt1, attribute1, jpt2, attribute2,
- JPAEditorConstants.RELATION_TYPE_BIDIRECTIONAL);
- }
-
- public void addOneToOneRelation(IFeatureProvider fp, JavaPersistentType ownerJPT,
- JavaPersistentAttribute ownerAttibute,
- JavaPersistentType referencedJPT,
- JavaPersistentAttribute referencedAttribute, int direction) {
-
- if(ownerJPT.getAttributeNamed(ownerAttibute.getName()) == null){
- refreshEntityModel(fp, ownerJPT);
- }
-
- JavaPersistentAttribute attr = (JavaPersistentAttribute) ownerJPT
- .resolveAttribute(ownerAttibute.getName());
- attr.getResourcePersistentAttribute().setPrimaryAnnotation("javax.persistence.OneToOne", new ArrayListIterable<String>()); //$NON-NLS-1$
- if (direction == JPAEditorConstants.RELATION_TYPE_BIDIRECTIONAL) {
- JpaArtifactFactory.instance().refreshEntityModel(null, referencedJPT);
- JavaPersistentAttribute attr2 = (JavaPersistentAttribute) referencedJPT.resolveAttribute(referencedAttribute.getName());
- attr2.setMappingKey(MappingKeys.ONE_TO_ONE_ATTRIBUTE_MAPPING_KEY);
- attr2.getJpaProject().getRootContextNode().update();
- JavaOneToOneMapping mapping = (JavaOneToOneMapping) attr2.getMapping();
- OneToOneAnnotation annotation = mapping.getMappingAnnotation();
- if(annotation == null) {
- JpaArtifactFactory.instance().refreshEntityModel(null, referencedJPT);
- annotation = ((JavaOneToOneMapping) attr2.getMapping()).getMappingAnnotation();
- }
- annotation.setMappedBy(ownerAttibute.getName());
- }
-
- }
-
- public void addOneToManyUnidirectionalRelation(IFeatureProvider fp, JavaPersistentType jpt,
- JavaPersistentAttribute attribute, boolean isMap) {
-
- addOneToManyRelation(fp, jpt, attribute, null, null,
- JPAEditorConstants.RELATION_TYPE_UNIDIRECTIONAL, isMap);
- }
-
- public void addOneToManyBidirectionalRelation(IFeatureProvider fp, JavaPersistentType jpt1,
- JavaPersistentAttribute attribute1, JavaPersistentType jpt2,
- JavaPersistentAttribute attribute2, boolean isMap) {
-
- addOneToManyRelation(fp, jpt1, attribute1, jpt2, attribute2,
- JPAEditorConstants.RELATION_TYPE_BIDIRECTIONAL, isMap);
- }
-
- public void addManyToOneBidirectionalRelation(IFeatureProvider fp, JavaPersistentType jpt1,
- JavaPersistentAttribute attribute1, JavaPersistentType jpt2,
- JavaPersistentAttribute attribute2, boolean isMap) {
-
- addManyToOneRelation(fp, jpt1, attribute1, jpt2, attribute2,
- JPAEditorConstants.RELATION_TYPE_BIDIRECTIONAL, isMap);
- }
-
-
- public void addOneToManyRelation(IFeatureProvider fp, JavaPersistentType singleSideJPT,
- JavaPersistentAttribute singleSideAttibute,
- JavaPersistentType manySideJPT,
- JavaPersistentAttribute manySideAttribute, int direction, boolean isMap) {
-
- //if(singleSideJPT.getAttributeNamed(singleSideAttibute.getName()) == null){
- refreshEntityModel(fp, singleSideJPT);
- //}
-
- JavaPersistentAttribute resolvedSingleSideAttribute = (JavaPersistentAttribute) singleSideJPT
- .resolveAttribute(singleSideAttibute.getName());
- resolvedSingleSideAttribute
- .setMappingKey(MappingKeys.ONE_TO_MANY_ATTRIBUTE_MAPPING_KEY);
- if (direction == JPAEditorConstants.RELATION_TYPE_BIDIRECTIONAL) {
- resolvedSingleSideAttribute.getJpaProject().getRootContextNode()
- .update();
- JpaArtifactFactory.instance().refreshEntityModel(null, singleSideJPT);
- JavaAttributeMapping mapping = resolvedSingleSideAttribute
- .getMapping();
- if (!mapping.getClass().isInstance(JavaOneToManyMapping.class))
- return;
- OneToManyAnnotation annotation = ((JavaOneToManyMapping)mapping).getMappingAnnotation();
- if (annotation == null) {
- JpaArtifactFactory.instance().refreshEntityModel(null, singleSideJPT);
- mapping = resolvedSingleSideAttribute.getMapping();
- annotation = ((JavaOneToManyMapping)mapping).getMappingAnnotation();
- }
-
- if(annotation == null){
- JpaArtifactFactory.instance().refreshEntityModel(null, singleSideJPT);
- annotation = ((JavaOneToManyMapping)resolvedSingleSideAttribute
- .getMapping()).getMappingAnnotation();
- }
- annotation.setMappedBy(manySideAttribute.getName());
-
- }
- if (isMap)
- singleSideAttibute.getResourcePersistentAttribute().addAnnotation(MapKeyAnnotation.ANNOTATION_NAME);
- if (direction == JPAEditorConstants.RELATION_TYPE_BIDIRECTIONAL) {
- if(manySideJPT.getAttributeNamed(manySideAttribute.getName()) == null){
- refreshEntityModel(fp, manySideJPT);
- }
-
- JavaPersistentAttribute resolvedManySideAttribute = (JavaPersistentAttribute) manySideJPT
- .resolveAttribute(manySideAttribute.getName());
- resolvedManySideAttribute.setMappingKey(MappingKeys.MANY_TO_ONE_ATTRIBUTE_MAPPING_KEY);
- } else {
- addJoinColumnIfNecessary(resolvedSingleSideAttribute, singleSideJPT, fp);
- }
- }
-
- private void addJoinColumnIfNecessary(JavaPersistentAttribute jpa,
- JavaPersistentType jpt, IFeatureProvider fp) {
-
- if (JPAEditorUtil.checkJPAFacetVersion(jpa.getJpaProject(), "1.0") || //$NON-NLS-1$
- JPADiagramPropertyPage.shouldOneToManyUnidirBeOldStyle(jpa
- .getJpaProject().getProject()))
- return;
- JavaPersistentAttribute[] ids = getIds(jpt);
- if (ids.length == 0)
- return;
- final String tableName = getTableName(jpt);
- if (ids.length == 1) {
- if (isSimpleId(ids[0])) {
- JoinColumnAnnotation an = (JoinColumnAnnotation) jpa
- .getResourcePersistentAttribute().addAnnotation(
- JoinColumnAnnotation.ANNOTATION_NAME);
- String idColName = getColumnName(ids[0]);
- an.setName(tableName + "_" + idColName); //$NON-NLS-1$
- an.setReferencedColumnName(idColName);
- } else {
- Hashtable<String, String> atNameToColName = getOverriddenColNames(ids[0]);
- JoinColumnsAnnotation an = (JoinColumnsAnnotation) jpa
- .getResourcePersistentAttribute().addAnnotation(
- JoinColumnsAnnotation.ANNOTATION_NAME);
- PersistenceUnit pu = getPersistenceUnit(jpt);
- String embeddableTypeName = ids[0].getTypeName();
- Embeddable emb = pu.getEmbeddable(embeddableTypeName);
- Iterator<AttributeMapping> amIt = emb.allAttributeMappings();
- while (amIt.hasNext()) {
- AttributeMapping am = amIt.next();
- NestableJoinColumnAnnotation jc = an.addNestedAnnotation();
- JavaPersistentAttribute at = (JavaPersistentAttribute) am
- .getPersistentAttribute();
- String idColName = atNameToColName.get(at.getName());
- idColName = (idColName != null) ? idColName
- : getColumnName(at);
- jc.setName(tableName + "_" + idColName); //$NON-NLS-1$
- jc.setReferencedColumnName(idColName);
- }
- }
- } else {
- JoinColumnsAnnotation an = (JoinColumnsAnnotation) jpa
- .getResourcePersistentAttribute().addAnnotation(
- JoinColumnsAnnotation.ANNOTATION_NAME);
- for (JavaPersistentAttribute idAt : ids) {
- NestableJoinColumnAnnotation jc = an.addNestedAnnotation();
- String idColName = getColumnName(idAt);
- jc.setName(tableName + "_" + idColName); //$NON-NLS-1$
- jc.setReferencedColumnName(idColName);
- }
- }
- }
-
- private Hashtable<String, String> getOverriddenColNames(
- JavaPersistentAttribute embIdAt) {
- Hashtable<String, String> res = new Hashtable<String, String>();
- AttributeOverrideAnnotation aon = (AttributeOverrideAnnotation) embIdAt
- .getResourcePersistentAttribute().getAnnotation(
- AttributeOverrideAnnotation.ANNOTATION_NAME);
- if (aon != null) {
- ColumnAnnotation colAn = aon.getColumn();
- if (colAn == null)
- return res;
- String colName = colAn.getName();
- if (colName == null)
- return res;
- res.put(aon.getName(), colName);
- return res;
- }
- AttributeOverridesAnnotation aosn = (AttributeOverridesAnnotation) embIdAt
- .getResourcePersistentAttribute().getAnnotation(
- AttributeOverridesAnnotation.ANNOTATION_NAME);
- if (aosn == null)
- return res;
- Iterable<NestableAttributeOverrideAnnotation> it = aosn
- .getNestedAnnotations();
- if (it == null)
- return res;
- Iterator<NestableAttributeOverrideAnnotation> iter = it.iterator();
- while (iter.hasNext()) {
- NestableAttributeOverrideAnnotation an = iter.next();
- ColumnAnnotation colAn = an.getColumn();
- if (colAn == null)
- continue;
- String colName = colAn.getName();
- if (colName == null)
- continue;
- res.put(an.getName(), colName);
- }
- return res;
- }
-
-
- public void addManyToOneUnidirectionalRelation(IFeatureProvider fp, JavaPersistentType jpt,
- JavaPersistentAttribute attribute) {
-
- addManyToOneRelation(fp, jpt, attribute, null, null,
- JPAEditorConstants.RELATION_TYPE_UNIDIRECTIONAL, false);
- }
-
- public void addManyToOneRelation(IFeatureProvider fp, JavaPersistentType manySideJPT,
- JavaPersistentAttribute manySideAttribute,
- JavaPersistentType singleSideJPT,
- JavaPersistentAttribute singleSideAttibute,
- int direction, boolean isMap) {
-
- refreshEntityModel(fp, manySideJPT);
-
- JavaPersistentAttribute resolvedManySideAttribute = manySideJPT.getAttributeNamed(manySideAttribute.getName());
- resolvedManySideAttribute.setMappingKey(MappingKeys.MANY_TO_ONE_ATTRIBUTE_MAPPING_KEY);
-
- if (direction == JPAEditorConstants.RELATION_TYPE_UNIDIRECTIONAL)
- return;
-
- JavaPersistentAttribute resolvedSingleSideAttribute = singleSideJPT.getAttributeNamed(singleSideAttibute.getName());
- resolvedSingleSideAttribute.setMappingKey(MappingKeys.ONE_TO_MANY_ATTRIBUTE_MAPPING_KEY);
- refreshEntityModel(fp, singleSideJPT);
- JavaOneToManyMapping mapping = (JavaOneToManyMapping)resolvedSingleSideAttribute.getMapping();
- OneToManyAnnotation a = mapping.getMappingAnnotation();
- if (a == null)
- return;
- a.setMappedBy(manySideAttribute.getName());
- if (isMap)
- singleSideAttibute.getResourcePersistentAttribute().addAnnotation(MapKeyAnnotation.ANNOTATION_NAME);
- }
-
- public void addManyToManyBidirectionalRelation(IFeatureProvider fp, JavaPersistentType jpt1,
- JavaPersistentAttribute attribute1, JavaPersistentType jpt2,
- JavaPersistentAttribute attribute2, boolean isMap) {
-
- addManyToManyRelation(fp, jpt1, attribute1, jpt2, attribute2,
- JPAEditorConstants.RELATION_TYPE_BIDIRECTIONAL, isMap);
- }
-
- public void addManyToManyUnidirectionalRelation(IFeatureProvider fp, JavaPersistentType annotatedJPT,
- JavaPersistentAttribute annotatedAttribute, boolean isMap) {
-
- addManyToManyRelation(fp, annotatedJPT, annotatedAttribute, null, null,
- JPAEditorConstants.RELATION_TYPE_UNIDIRECTIONAL, isMap);
- }
-
- public void addManyToManyRelation(IFeatureProvider fp, JavaPersistentType ownerSideJPT,
- JavaPersistentAttribute ownerSideAttribute,
- JavaPersistentType inverseSideJPT,
- JavaPersistentAttribute inverseSideAttibute, int direction, boolean isMap) {
-
- if(ownerSideJPT.getAttributeNamed(ownerSideAttribute.getName()) == null){
- refreshEntityModel(fp, ownerSideJPT);
- }
-
- JavaPersistentAttribute resolvedOwnerSideAttribute = (JavaPersistentAttribute) ownerSideJPT
- .resolveAttribute(ownerSideAttribute.getName());
- resolvedOwnerSideAttribute
- .setMappingKey(MappingKeys.MANY_TO_MANY_ATTRIBUTE_MAPPING_KEY);
- if (isMap)
- resolvedOwnerSideAttribute.getResourcePersistentAttribute().addAnnotation(MapKeyAnnotation.ANNOTATION_NAME);
-
- if (direction == JPAEditorConstants.RELATION_TYPE_BIDIRECTIONAL) {
- JpaArtifactFactory.instance().refreshEntityModel(null, inverseSideJPT);
- /*
- if(inverseSideJPT.getAttributeNamed(inverseSideAttibute.getName()) == null){
- refreshEntityModel(fp, inverseSideJPT);
- }
- */
-
- JavaPersistentAttribute resolvedInverseSideAttribute = (JavaPersistentAttribute) inverseSideJPT
- .resolveAttribute(inverseSideAttibute.getName());
- resolvedInverseSideAttribute
- .setMappingKey(MappingKeys.MANY_TO_MANY_ATTRIBUTE_MAPPING_KEY);
- resolvedInverseSideAttribute.getJpaProject().getRootContextNode()
- .update();
-
- JavaManyToManyMapping mapping = (JavaManyToManyMapping) resolvedInverseSideAttribute
- .getMapping();
- ManyToManyAnnotation a = mapping.getMappingAnnotation();
- if(mapping == null || a == null){
- JpaArtifactFactory.instance().refreshEntityModel(null, inverseSideJPT);
- mapping = (JavaManyToManyMapping) resolvedInverseSideAttribute
- .getMapping();
- a = mapping.getMappingAnnotation();
- }
- if (a == null)
- return;
- a.setMappedBy(ownerSideAttribute.getName());
- if (isMap)
- resolvedInverseSideAttribute.getResourcePersistentAttribute().addAnnotation(MapKeyAnnotation.ANNOTATION_NAME);
- }
-
- }
-
- public void restoreEntityClass(JavaPersistentType jpt,
- IJPAEditorFeatureProvider fp) {
- fp.restoreEntity(jpt);
- }
-
- public void forceSaveEntityClass(JavaPersistentType jpt,
- IJPAEditorFeatureProvider fp) {
- ICompilationUnit cu = fp.getCompilationUnit(jpt);
- if (!cu.isWorkingCopy())
- JPAEditorUtil.becomeWorkingCopy(cu);
- try {
- cu.commitWorkingCopy(true, new NullProgressMonitor());
- cu.save(new NullProgressMonitor(), true);
- } catch (JavaModelException e) {}
- }
-
- public boolean deleteEntityClass(JavaPersistentType jpt,
- IJPAEditorFeatureProvider fp) {
- ICompilationUnit cu = fp.getCompilationUnit(jpt);
- try {
- JpaProject jpaProject = jpt.getJpaProject();
- jpaProject.updateAndWait();
- JPAEditorUtil.discardWorkingCopy(cu);
- cu.delete(true, new NullProgressMonitor());
- return true;
- } catch (JavaModelException e) {
- System.err.println("Cannot delete the JPA entity class"); //$NON-NLS-1$
- e.printStackTrace();
- return false;
- }
- }
-
- public void deletePersistenceTypeResource(PersistentType type)
- throws CoreException {
- JpaProject proj = type.getJpaProject();
- String typeName = type.getName();
- IResource entityResource = type.getResource();
- //type.dispose();
- entityResource.delete(true, new NullProgressMonitor());
- int cnt = 0;
- JavaPersistentType jpt = getContextPersistentType(proj, typeName);
- while ((jpt != null) && (cnt < MAX_NUM_OF_ITERATIONS)) {
- try {
- Thread.sleep(PAUSE_DURATION);
- } catch (InterruptedException e) {
- System.err.println("Sleep interrupted"); //$NON-NLS-1$
- e.printStackTrace();
- }
- cnt++;
- }
- }
-
- public JavaPersistentType getContextPersistentType(JpaProject jpaProject,
- String fullyQualifiedTypeName) {
-
- PersistenceUnit unit = getPersistenceUnit(jpaProject);
- Iterator<ClassRef> it = unit.classRefs();
- while (it.hasNext()) {
- ClassRef ref = it.next();
- JavaPersistentType jpt = ref.getJavaPersistentType();
- if ((jpt != null) && jpt.getName().equals(fullyQualifiedTypeName)) {
- return ref.getJavaPersistentType();
- }
- }
- return null;
- }
-
- /*
- * Return name of the entity from @Entity(name="...").
- * If there is no such annotation, returns the
- * fully qualified name of the class
- */
- public String getEntityName(JavaPersistentType jpt) {
- if (jpt == null)
- return ""; //$NON-NLS-1$
- JavaResourcePersistentType jrpt = convertJPTToJRPT(jpt);
- if (jrpt == null)
- return ""; //$NON-NLS-1$
-
- String name = null;
- JavaTypeMapping mapping = jpt.getMapping();
- if ((mapping != null) && JavaEntity.class.isInstance(mapping))
- name = ((JavaEntity)mapping).getSpecifiedName();
- if (name == null)
- name = jpt.getName();
- return name;
- }
-
- public boolean hasNameAnnotation(JavaPersistentType jpt) {
- if (jpt == null)
- return false;
- JavaResourcePersistentType jrpt = convertJPTToJRPT(jpt);
- if (jrpt == null)
- return false;
- JavaEntity mapping = (JavaEntity) jpt.getMapping();
- if (mapping != null)
- return (mapping.getSpecifiedName() != null);
- return false;
- }
-
- /*
- @SuppressWarnings("unchecked")
- public String getAttributeName(JavaPersistentAttribute jpa) {
-
- JavaResourcePersistentType jrpt = jpa.getJpaProject()
- .getJavaResourcePersistentType(jpa.getName());
- ASTNode nd = jrpt.getMember().getModifiedDeclaration().getDeclaration();
- if (nd instanceof TypeDeclaration) {
- ListIterator<?> modfs = ((TypeDeclaration) nd).modifiers()
- .listIterator();
- while (modfs.hasNext()) {
- Object modf = modfs.next();
- if (modf instanceof NormalAnnotation) {
- NormalAnnotation an = (NormalAnnotation)modf;
- List<MemberValuePair> vals = an.values();
- if (vals != null) {
- for (int i = 0; i < vals.size(); i++) {
- MemberValuePair mvp = vals.get(i);
- if (mvp.getName().toString().equals("name")) ; //$NON-NLS-1$
- return JPAEditorUtil.stripQuotes(mvp.getValue()
- .toString());
-
- }
- }
- }
- }
- }
- return jpa.getName();
- }
- */
-
- public boolean hasEntityAnnotation(JavaPersistentType jpt) {
- return (jpt.getMapping() instanceof JavaEntity);
- }
-
- public String getSpecifiedEntityName(JavaPersistentType jpt){
- JavaEntity gje = (JavaEntity) jpt.getMapping();
- return gje.getSpecifiedName();
- }
-
- public void renameEntity(JavaPersistentType jpt, String newName) {
- JavaEntity gje = (JavaEntity)jpt.getMapping();
- gje.setSpecifiedName(newName);
- }
-
- public JavaPersistentAttribute addAttribute(IJPAEditorFeatureProvider fp, JavaPersistentType jpt,
- JavaPersistentType attributeType, String attributeName,
- String actName, boolean isCollection, ICompilationUnit cu1,
- ICompilationUnit cu2) {
-
- return addAttribute(fp, jpt, attributeType, null, attributeName,
- actName, isCollection, cu1, cu2);
- }
-
- public JavaPersistentAttribute addAttribute(IJPAEditorFeatureProvider fp, JavaPersistentType jpt,
- JavaPersistentType attributeType, String mapKeyType, String attributeName,
- String actName, boolean isCollection, ICompilationUnit cu1,
- ICompilationUnit cu2) {
- IType type = null;
- try {
- JPAEditorUtil.createImport(cu1, cu2.getType(attributeType.getName()).getElementName());
- type = cu1.findPrimaryType();
- refreshEntityModel(fp, jpt);
- if (doesAttributeExist(jpt, actName)) {
- return (JavaPersistentAttribute) jpt
- .resolveAttribute(attributeName);
- }
- if (isCollection) {
- IProject project = jpt.getJpaProject().getProject();
- Properties props = fp.loadProperties(project);
-
- if (JPADiagramPropertyPage.isCollectionType(project, props)) {
- createContentType(attributeType, actName, cu1, type, COLLECTION_TYPE);
- type.createMethod(genGetterWithAppropriateType(attributeName,
- JPAEditorUtil.returnSimpleName(attributeType.getName()),
- actName, COLLECTION_TYPE), null, false,
- new NullProgressMonitor());
- type.createMethod(genSetterWithAppropriateType(attributeName,
- JPAEditorUtil.returnSimpleName(attributeType.getName()),
- actName, COLLECTION_TYPE), null, false,
- new NullProgressMonitor());
- } else if (JPADiagramPropertyPage.isListType(project, props)) {
- createContentType(attributeType, actName, cu1, type, LIST_TYPE);
- type.createMethod(genGetterWithAppropriateType(attributeName,
- JPAEditorUtil.returnSimpleName(attributeType.getName()),
- actName, LIST_TYPE), null, false,
- new NullProgressMonitor());
- type.createMethod(genSetterWithAppropriateType(attributeName,
- JPAEditorUtil.returnSimpleName(attributeType.getName()),
- actName, LIST_TYPE), null, false,
- new NullProgressMonitor());
- } else if (JPADiagramPropertyPage.isSetType(project, props)) {
- createContentType(attributeType, actName, cu1, type, SET_TYPE);
- type.createMethod(genGetterWithAppropriateType(attributeName,
- JPAEditorUtil.returnSimpleName(attributeType.getName()),
- actName, SET_TYPE), null, false,
- new NullProgressMonitor());
- type.createMethod(genSetterWithAppropriateType(attributeName,
- JPAEditorUtil.returnSimpleName(attributeType.getName()),
- actName, SET_TYPE), null, false,
- new NullProgressMonitor());
- } else {
- mapKeyType = createContentType(mapKeyType, attributeType, actName, cu1, type, MAP_TYPE);
- type.createMethod(genGetterWithAppropriateType(attributeName, mapKeyType,
- JPAEditorUtil.returnSimpleName(attributeType.getName()),
- actName, MAP_TYPE), null, false,
- new NullProgressMonitor());
- type.createMethod(genSetterWithAppropriateType(attributeName, mapKeyType,
- JPAEditorUtil.returnSimpleName(attributeType.getName()),
- actName, MAP_TYPE), null, false,
- new NullProgressMonitor());
- }
- } else {
- type
- .createField(
- " private " + JPAEditorUtil.returnSimpleName(attributeType.getName()) + " " + JPAEditorUtil.decapitalizeFirstLetter(actName) + ";", null, false, new NullProgressMonitor()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- type.createMethod(genGetterContents(attributeName,
- JPAEditorUtil.returnSimpleName(attributeType.getName()), null,
- actName, null, isCollection), null, false,
- new NullProgressMonitor());
- type.createMethod(genSetterContents(attributeName,
- JPAEditorUtil.returnSimpleName(attributeType.getName()), null,
- actName, isCollection), null, false,
- new NullProgressMonitor());
- }
- } catch (JavaModelException e) {
- System.err.println("Cannnot create a new attribute with name " + attributeName); //$NON-NLS-1$
- e.printStackTrace();
- }
-
- if(jpt.getAttributeNamed(attributeName) == null){
- refreshEntityModel(fp, jpt);
- }
-
- JavaPersistentAttribute res = getAttributeFromEntity(jpt, actName);
- return res;
- }
-
- private void createContentType(JavaPersistentType attributeType,
- String actName, ICompilationUnit cu1, IType type, String collectionType)
- throws JavaModelException {
- createContentType(null, attributeType,
- actName, cu1, type, collectionType);
- }
-
- private String createContentType(String mapKeyType, JavaPersistentType attributeType,
- String actName, ICompilationUnit cu1, IType type, String collectionType)
- throws JavaModelException {
-
- if (mapKeyType != null) {
- mapKeyType = JPAEditorUtil.createImport(cu1, mapKeyType);
- }
- JPAEditorUtil.createImport(cu1, collectionType);
- type.createField(
- " private " + JPAEditorUtil.returnSimpleName(collectionType) + "<" +//$NON-NLS-1$ //$NON-NLS-2$
- ((mapKeyType != null) ? (mapKeyType + ", ") : "") + //$NON-NLS-1$ //$NON-NLS-2$
- JPAEditorUtil.returnSimpleName(attributeType.getName()) + "> " + JPAEditorUtil.decapitalizeFirstLetter(actName) + //$NON-NLS-1$
- ";", null, false, new NullProgressMonitor()); //$NON-NLS-1$
- return mapKeyType;
- }
-
- public void refreshEntityModel(IFeatureProvider fp, JavaPersistentType jpt) {
- if(convertJPTToJRPT(jpt) == null)
- return;
- if (fp == null) {
- jpt.update();
- return;
- }
- Shape el = (Shape) fp.getPictogramElementForBusinessObject(jpt);
- if(JPACheckSum.INSTANCE().isEntityModelChanged(el, jpt.getJpaProject())){
- try {
- jpt.update();
- } catch (ArrayIndexOutOfBoundsException e) {
-
- }
- }
- }
-
- public boolean isCollection(ContainerShape entityShape,
- IJPAEditorFeatureProvider fp, String attrTxt) {
- Object ob = fp.getBusinessObjectForPictogramElement(entityShape);
- if(ob instanceof JavaPersistentType){
- JavaPersistentType jpt = (JavaPersistentType) ob;
- ICompilationUnit cu = fp.getCompilationUnit(jpt);
- IType type = cu.getType(JPAEditorUtil.returnSimpleName(jpt.getName()));
- IField field = type.getField(attrTxt);
- int cnt = 0;
- while ((cnt < 20) && !field.exists()) {
- try {
- Thread.sleep(250);
- } catch (InterruptedException e) {
- System.err.println("Sleep interrupted"); //$NON-NLS-1$
- e.printStackTrace();
- }
- field = type.getField(attrTxt);
- cnt++;
- }
- if (field.exists()) {
- try {
- if(field.getTypeSignature().contains("List") || field.getTypeSignature().contains("Set") //$NON-NLS-1$ //$NON-NLS-2$
- || field.getTypeSignature().contains("Collection") || field.getTypeSignature().contains("Map") //$NON-NLS-1$ //$NON-NLS-2$
- || field.getTypeSignature().endsWith("[]")) //$NON-NLS-1$
- return true;
- } catch (JavaModelException e) {
- System.err.println(
- JPAEditorMessages.JpaArtifactFactory_CanNotCheckReturnType +
- " " + attrTxt + "\""); //$NON-NLS-1$ //$NON-NLS-2$
- e.printStackTrace();
- }
- }
- }
- return false;
- }
-
- public boolean isGetterMethodReturnTypeCollection(
- ContainerShape entityShape, IJPAEditorFeatureProvider fp,
- String attrTxt) {
- Object ob = fp.getBusinessObjectForPictogramElement(entityShape);
- if(ob instanceof JavaPersistentType){
- JavaPersistentType jpt = (JavaPersistentType) ob;
- ICompilationUnit cu = fp.getCompilationUnit(jpt);
- IType type = cu.getType(JPAEditorUtil.returnSimpleName(jpt.getName()));
- String attrNameWithCapitalLetter = attrTxt.substring(0, 1)
- .toUpperCase(Locale.ENGLISH)
- + attrTxt.substring(1);
- String methodName = "get" + attrNameWithCapitalLetter; //$NON-NLS-1$
- IMethod method = type.getMethod(methodName, new String[0]);
- try {
- if(method.getReturnType().contains("List") || method.getReturnType().contains("Set") //$NON-NLS-1$ //$NON-NLS-2$
- || method.getReturnType().contains("Collection") || method.getReturnType().contains("Map") //$NON-NLS-1$ //$NON-NLS-2$
- || method.getReturnType().endsWith("[]")) //$NON-NLS-1$
- return true;
- } catch (JavaModelException e) {
- System.err.println(JPAEditorMessages.JpaArtifactFactory_CanNotCheckReturnType +
- " " + attrTxt + "\""); //$NON-NLS-1$ //$NON-NLS-2$
- e.printStackTrace();
- }
- }
- return false;
- }
-
- public String createNewAttribute(JavaPersistentType jpt,
- boolean isCollection, IJPAEditorFeatureProvider fp) {
-
- ICompilationUnit ijl = fp.getCompilationUnit(jpt);
- String attrTypeName = "java.lang.String"; //$NON-NLS-1$
- String newAttrName = genUniqueAttrName(jpt, attrTypeName, fp);
- return addNewAttribute(jpt, ijl, newAttrName, attrTypeName,
- "@Basic", newAttrName, isCollection, fp); //$NON-NLS-1$
- }
-
- /*
- * public String createNewAttribute(JavaPersistentType jpt, String attrName,
- * String attrTypeName, String annotation, String actName, boolean
- * isCollection, JPAEditorFeatureProvider fp) {
- *
- * ICompilationUnit ijl = fp.getCompilationUnit(jpt); return
- * addNewAttribute(jpt, ijl, attrName, attrTypeName, annotation, actName,
- * isCollection, fp); }
- */
-
- public JavaPersistentAttribute createANewAttribute(JavaPersistentType jpt,
- String attrName, String attrTypeName, String[] attrTypeElementNames,
- String actName, List<String> annotations, boolean isCollection,
- boolean isMethodAnnotated, IJPAEditorFeatureProvider fp) {
-
- ICompilationUnit ijl = fp.getCompilationUnit(jpt);
- return addANewAttribute(jpt, ijl, attrName, attrTypeName,
- attrTypeElementNames, actName, annotations, isCollection,
- isMethodAnnotated, fp);
- }
-
- private JavaPersistentAttribute addANewAttribute(JavaPersistentType jpt,
- ICompilationUnit cu, String attrName, String attrTypeName,
- String[] attrTypeElementNames, String actName,
- List<String> annotations, boolean isCollection,
- boolean isMethodAnnotated, IJPAEditorFeatureProvider fp) {
-
- JavaPersistentAttribute attr = null;
- try {
- attr = makeNewAttribute(fp, jpt, cu, attrName, attrTypeName,
- attrTypeElementNames, actName, annotations, isCollection,
- isMethodAnnotated);
- } catch (JavaModelException e) {
- System.err.println("Cannot create a new attribute with name " + attrName); //$NON-NLS-1$
- e.printStackTrace();
- }
- return attr;
- }
-
- public String addNewAttribute(JavaPersistentType jpt, ICompilationUnit cu,
- String attrName, String attrTypeName, String annotation,
- String actName, boolean isCollection, IJPAEditorFeatureProvider fp) {
-
- try {
- List<String> annotations = new LinkedList<String>();
- annotations.add(annotation);
- boolean isMethodAnnotated = JpaArtifactFactory.instance()
- .isMethodAnnotated(jpt);
- makeNewAttribute(fp, jpt, cu, attrName, attrTypeName, null, actName,
- annotations, isCollection, isMethodAnnotated);
- } catch (JavaModelException e) {
- System.err.println("Cannot create a new attribute with name " + attrName); //$NON-NLS-1$
- e.printStackTrace();
- }
- return attrName;
- }
-
- public JavaPersistentAttribute makeNewAttribute(IFeatureProvider fp, JavaPersistentType jpt,
- ICompilationUnit cu, String attrName, String attrTypeName,
- String[] attrTypes, String actName,
- List<String> annotations, boolean isCollection,
- boolean isMethodAnnotated) throws JavaModelException {
-
- IType type = cu.findPrimaryType();
- String contents = ""; //$NON-NLS-1$
- isMethodAnnotated = (annotations != null) && (!annotations.isEmpty()) ? isMethodAnnotated
- : JpaArtifactFactory.INSTANCE.isMethodAnnotated(jpt);
-
- if (!isMethodAnnotated) {
- if (annotations != null) {
- Iterator<String> it = annotations.iterator();
- while (it.hasNext()) {
- String an = it.next();
- contents += " " + an + "\n"; //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
- }
-
- if(annotations!=null && annotations.contains("@Basic")){ //$NON-NLS-1$
- if(!cu.getImport("javax.persistence.*").exists() && !cu.getImport("javax.persistence.Basic").exists()){ //$NON-NLS-1$ //$NON-NLS-2$
- JPAEditorUtil.createImports(cu, "javax.persistence.Basic"); //$NON-NLS-1$
- }
- }
-
- boolean shouldAddImport = true;
- IImportDeclaration[] importDeclarations = cu.getImports();
- String attrShortTypeName = JPAEditorUtil.returnSimpleName(attrTypeName);
- for(IImportDeclaration importDecl : importDeclarations){
- String importedDeclarationFQN = importDecl.getElementName();
- String importedDeclarationShortName = JPAEditorUtil.returnSimpleName(importedDeclarationFQN);
- if(attrShortTypeName.equals(importedDeclarationShortName) && !attrTypeName.equals(importedDeclarationFQN))
- shouldAddImport = false;
- }
-
- if(shouldAddImport){
- JPAEditorUtil.createImports(cu, attrTypeName);
- attrTypeName = JPAEditorUtil.returnSimpleName(attrTypeName);
- }
- if ((attrTypes != null) && (attrTypes.length > 0)) {
- JPAEditorUtil.createImports(cu, attrTypes);
- }
-
- contents += " private " + attrTypeName + //$NON-NLS-1$
- ((attrTypes == null) ? "" : ("<" + JPAEditorUtil.createCommaSeparatedListOfSimpleTypeNames(attrTypes) + ">")) + //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- " " + attrName + ";"; //$NON-NLS-1$ //$NON-NLS-2$
-
- type.createMethod(
- genSetterContents(attrName, attrTypeName, attrTypes,
- actName, isCollection), null, false,
- new NullProgressMonitor());
- if (isMethodAnnotated) {
- type.createMethod(
- genGetterContents(attrName, attrTypeName,
- attrTypes, actName, annotations,
- isCollection), null, false,
- new NullProgressMonitor());
- type.createField(contents, null, false, new NullProgressMonitor());
- } else {
- type.createField(contents, null, false, new NullProgressMonitor());
- type.createMethod(
- genGetterContents(attrName, attrTypeName,
- attrTypes, actName, null, isCollection),
- null, false, new NullProgressMonitor());
- }
-
- int cnt = 0;
- refreshEntityModel(fp, jpt);
- JavaPersistentAttribute jpa = jpt.getAttributeNamed(attrName);
- while ((jpa == null) && (cnt < 25)) {
- try {
- Thread.sleep(250);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- jpa = jpt.getAttributeNamed(attrName);
- cnt++;
- }
-
- /*
- if(jpt.getAttributeNamed(attrName) == null){
- refreshEntityModel(fp, jpt);
- }
- */
-
- return getAttributeFromEntity(jpt, attrName);
- }
-
- public void deleteAttribute(JavaPersistentType jpt, String attributeName,
- IJPAEditorFeatureProvider fp) {
-
- String attrNameWithCapitalLetter = attributeName.substring(0, 1)
- .toUpperCase(Locale.ENGLISH)
- + attributeName.substring(1);
- ICompilationUnit compUnit = fp.getCompilationUnit(jpt);
- IType javaType = compUnit.findPrimaryType();
- String typeSignature = null;
- String getterPrefix = "get"; //$NON-NLS-1$
- String methodName = getterPrefix + attrNameWithCapitalLetter;
- IMethod getAttributeMethod = javaType.getMethod(methodName,
- new String[0]);
- if (!getAttributeMethod.exists()) {
- JavaPersistentAttribute jpa = jpt.getAttributeNamed(attributeName);
- String typeName = jpa.getResourcePersistentAttribute().getTypeName();
- if ("boolean".equals(typeName)) { //$NON-NLS-1$
- getterPrefix = "is"; //$NON-NLS-1$
- methodName = getterPrefix + attrNameWithCapitalLetter;
- getAttributeMethod = javaType.getMethod(methodName,
- new String[0]);
- }
- try {
- if ((getAttributeMethod != null) && getAttributeMethod.exists());
- typeSignature = getAttributeMethod.getReturnType();
- } catch (JavaModelException e1) {
- System.out.println("Cannot obtain the type of the getter with name " + methodName + "()"); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
- if (typeSignature == null)
- methodName = null;
-
- boolean isMethodAnnotated = JpaArtifactFactory.instance()
- .isMethodAnnotated(jpt);
- if (isMethodAnnotated) {
- try {
- IField attributeField = javaType.getField(attributeName);
-
- if ((attributeField != null) && !attributeField.exists())
- attributeField = javaType.getField(JPAEditorUtil.revertFirstLetterCase(attributeName));
- if ((attributeField != null) && attributeField.exists())
- attributeField.delete(true, new NullProgressMonitor());
- } catch (JavaModelException e) {
- System.out.println("Cannot remove the attribute field with name " + attributeName); //$NON-NLS-1$
- }
- try {
- methodName = getterPrefix + attrNameWithCapitalLetter; //$NON-NLS-1$
- if (getAttributeMethod != null) {
- typeSignature = getAttributeMethod.getReturnType();
- if (getAttributeMethod.exists())
- getAttributeMethod.delete(true, new NullProgressMonitor());
- }
- } catch (JavaModelException e) {
- System.out.println("Cannot remove the attribute getter with name " + methodName + "()"); //$NON-NLS-1$ //$NON-NLS-2$
- }
- } else {
- try {
- methodName = getterPrefix + attrNameWithCapitalLetter; //$NON-NLS-1$
- if (getAttributeMethod.exists()) {
- typeSignature = getAttributeMethod.getReturnType();
- getAttributeMethod.delete(true, new NullProgressMonitor());
- }
- } catch (JavaModelException e) {
- System.out.println("Cannot remove the attribute getter with name " + methodName + "()"); //$NON-NLS-1$ //$NON-NLS-2$
- }
- try {
- IField attributeField = javaType.getField(attributeName);
- if (attributeField != null)
- if (!attributeField.exists())
- attributeField = javaType.getField(JPAEditorUtil.revertFirstLetterCase(attributeName));
- if ((attributeField != null) && attributeField.exists())
- attributeField.delete(true, new NullProgressMonitor());
- } catch (JavaModelException e) {
- System.out.println("Cannot remove the attribute field with name " + attributeName); //$NON-NLS-1$
- }
- }
- try {
- methodName = "set" + attrNameWithCapitalLetter; //$NON-NLS-1$
- IMethod setAttributeMethod = javaType.getMethod(methodName,
- new String[] { typeSignature });
- if ((setAttributeMethod != null) && setAttributeMethod.exists())
- setAttributeMethod.delete(true, new NullProgressMonitor());
- } catch (Exception e) {
- System.out.println("Cannot remove the attribute setter with name " + methodName + "(...)"); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- refreshEntityModel(fp, jpt);
-
- ReadOnlyPersistentAttribute at = jpt.resolveAttribute(attributeName);
- int c = 0;
- while ((at != null) && (c < MAX_NUM_OF_ITERATIONS)) {
- try {
- Thread.sleep(PAUSE_DURATION);
- } catch (InterruptedException e) {
- System.err.println("Thread.sleep() interrupted"); //$NON-NLS-1$
- e.printStackTrace();
- }
- at = jpt.getAttributeNamed(attributeName);
- c++;
- }
- }
-
- private String genUniqueAttrName(JavaPersistentType jpt,
- String attrTypeName, IJPAEditorFeatureProvider fp) {
-
- ICompilationUnit ijl = fp.getCompilationUnit(jpt);
- IType type = null;
- type = ijl.findPrimaryType();
- Iterator<String> it = jpt.attributeNames();
- Set<String> attrNames = new HashSet<String>();
- while (it.hasNext()) {
- attrNames.add(it.next());
- }
- String name = null;
- for (int i = 1; i < 10000000; i++) {
- name = "attribute" + i; //$NON-NLS-1$
- String attrNameWithCapitalLetter = JPAEditorUtil
- .capitalizeFirstLetter(name);
- String getterName = "get" + attrNameWithCapitalLetter; //$NON-NLS-1$
- String setterName = "set" + attrNameWithCapitalLetter; //$NON-NLS-1$
- if (!attrNames.contains(name)) {
- IField fld = type.getField(name);
- IMethod getter = type.getMethod(getterName, new String[] {});
- IMethod setter1 = type.getMethod(setterName,
- new String[] { attrTypeName });
- IMethod setter2 = type.getMethod(setterName,
- new String[] { "QSet<Q" + attrTypeName + ";>;" }); //$NON-NLS-1$ //$NON-NLS-2$
- IMethod setter3 = type
- .getMethod(
- setterName,
- new String[] { "QCollection<Q" + attrTypeName + ";>;" }); //$NON-NLS-1$ //$NON-NLS-2$
- IMethod setter4 = type.getMethod(setterName,
- new String[] { "QSet;" }); //$NON-NLS-1$
- IMethod setter5 = type.getMethod(setterName,
- new String[] { "QCollection;" }); //$NON-NLS-1$
- if (!fld.exists() && !getter.exists() && !setter1.exists()
- && !setter2.exists() && !setter3.exists()
- && !setter4.exists() && !setter5.exists())
- break;
- }
- }
- return name;
- }
-
- public Annotation[] getAnnotations(JavaPersistentAttribute persistentAttribite) {
- JavaResourcePersistentAttribute jrpt = persistentAttribite.getResourcePersistentAttribute();
- Annotation[] res = new Annotation[jrpt.annotationsSize()];
- //mappingAnnotationsSize() + jrpt.supportingAnnotationsSize()];
- Iterator<Annotation> it = jrpt.annotations();
- int c = 0;
- while (it.hasNext()) {
- res[c] = it.next();
- c++;
- }
- /*
- it = jrpt.supportingAnnotations();
- while (it.hasNext()) {
- res[c] = it.next();
- c++;
- }
- */
- return res;
- }
-
- public HashSet<String> getAnnotationNames(
- JavaPersistentAttribute persistentAttribite) {
-
- JavaResourcePersistentAttribute jrpt = persistentAttribite.getResourcePersistentAttribute();
- HashSet<String> res = new HashSet<String>();
- Iterator<Annotation> it = jrpt.annotations();
- while (it.hasNext())
- res.add(JPAEditorUtil.returnSimpleName(it.next().getAnnotationName()));
- /*
- it = jrpt.supportingAnnotations();
- while (it.hasNext())
- res.add(JPAEditorUtil.cutFromLastDot(it.next().getAnnotationName()));
- */
- return res;
- }
-
- public List<String> getAnnotationStrings(
- JavaPersistentAttribute persistentAttribite) {
-
- JavaPersistentType jpt = (JavaPersistentType)persistentAttribite.getParent();
- CompilationUnit jdtCU = jpt.getResourcePersistentType().getJavaResourceCompilationUnit().buildASTRoot();
- JavaResourcePersistentAttribute jrpt = persistentAttribite.getResourcePersistentAttribute();
- List<String> res = new LinkedList<String>();
- Iterator<Annotation> it = jrpt.annotations();
- while (it.hasNext()) {
- Annotation an = it.next();
- org.eclipse.jdt.core.dom.Annotation jdtAn = an.getAstAnnotation(jdtCU);
- res.add(jdtAn.toString());
- }
- /*
- it = jrpt.supportingAnnotations();
- while (it.hasNext()) {
- Annotation an = it.next();
- org.eclipse.jdt.core.dom.Annotation jdtAn = an.getJdtAnnotation(jdtCU);
- res.add(jdtAn.toString());
- }
- */
- return res;
- }
-
- private boolean isNonOwner(JavaPersistentAttribute at) {
- JavaAttributeMapping jam = at.getMapping();
- //if (jam.getMappingAnnotation() == null) {
- JpaArtifactFactory.instance().refreshEntityModel(null, (JavaPersistentType)at.getParent());
- jam = at.getMapping();
- //}
- if (!(jam.getMappingAnnotation() instanceof OwnableRelationshipMappingAnnotation))
- return false;
- OwnableRelationshipMappingAnnotation nom = (OwnableRelationshipMappingAnnotation)jam.getMappingAnnotation();
- return nom.getMappedBy() != null;
- }
-
- public Collection<IRelation> produceAllRelations(
- JavaPersistentType newJPT, IJPAEditorFeatureProvider fp) {
-
- Collection<IRelation> res = produceRelations(newJPT, fp);
- Iterator<IRelation> it = res.iterator();
- HashSet<JavaPersistentType> checkedEntities = new HashSet<JavaPersistentType>();
- while (it.hasNext()) {
- IRelation rel = it.next();
- checkedEntities.add(rel.getOwner());
- checkedEntities.add(rel.getInverse());
- }
- List<Shape> shapes = fp.getDiagramTypeProvider().getDiagram()
- .getChildren();
- Iterator<Shape> iter = shapes.iterator();
- while (iter.hasNext()) {
- Shape sh = iter.next();
- JavaPersistentType jpt = (JavaPersistentType) fp
- .getBusinessObjectForPictogramElement(sh);
- if (jpt == null)
- continue;
- //if (!checkedEntities.contains(jpt)) {
- Collection<IRelation> rels = produceRelations(jpt, newJPT, fp);
- res.addAll(rels);
- //}
- }
- return res;
- }
-
- private Collection<IRelation> produceRelations(
- JavaPersistentType newJPT, IJPAEditorFeatureProvider fp) {
-
- ListIterator<JavaPersistentAttribute> it = newJPT.attributes();
- HashSet<IRelation> res = new HashSet<IRelation>();
- while (it.hasNext()) {
- JavaPersistentAttribute at = it.next();
- IRelation rel = produceRelation(at, fp);
- if (rel != null)
- res.add(rel);
- }
- return res;
- }
-
- public boolean isRelationAnnotated(JavaPersistentAttribute jpa) {
-
- HashSet<String> anNames = getAnnotationNames(jpa);
- Iterator<String> it = anNames.iterator();
- while (it.hasNext()) {
- String anName = it.next();
- if (JPAEditorConstants.RELATION_ANNOTATIONS.contains(anName))
- return true;
- }
- return false;
- }
-
- public IRelation produceRelation(
- JavaPersistentAttribute persistentAttribite,
- IJPAEditorFeatureProvider fp) {
-
- JavaResourcePersistentAttribute jrpa = persistentAttribite
- .getResourcePersistentAttribute();
-
- IRelation res = null;
- Annotation[] ans = getAnnotations(persistentAttribite);
- for (Annotation an : ans) {
- String annotationName = JPAEditorUtil.returnSimpleName(an.getAnnotationName());
- if (JPAEditorConstants.RELATION_ANNOTATIONS.contains(annotationName)) {
- String relTypeName = getRelTypeName((RelationshipMappingAnnotation)an, jrpa);
- JavaPersistentType relJPT = (JavaPersistentType)fp.getBusinessObjectForKey(relTypeName);
- if (relJPT != null)
- res = produceRelation(persistentAttribite, an, relJPT, fp);
- return res;
- }
- }
- return res;
-
- }
-
- private Collection<IRelation> produceRelations(JavaPersistentType jpt1,
- JavaPersistentType jpt2, IJPAEditorFeatureProvider fp) {
-
- Collection<IRelation> resSet = new HashSet<IRelation>();
- ListIterator<JavaPersistentAttribute> it = jpt1.attributes();
- IRelation res = null;
- while (it.hasNext()) {
- JavaPersistentAttribute at = it.next();
- IResource r = at.getParent().getResource();
- if (!r.exists())
- throw new RuntimeException();
- try {
- JavaResourcePersistentAttribute jrpa = at.getResourcePersistentAttribute();
- Annotation[] ans = this.getAnnotations(at);
- for (Annotation an : ans) {
- String annotationName = JPAEditorUtil.returnSimpleName(an.getAnnotationName());
- if (JPAEditorConstants.RELATION_ANNOTATIONS.contains(annotationName)) {
- String relTypeName = getRelTypeName((RelationshipMappingAnnotation)an, jrpa);
- if (!relTypeName.equals(jpt2.getName()))
- continue;
- JavaPersistentType relJPT = (JavaPersistentType) fp
- .getBusinessObjectForKey(jpt2.getName());
- res = produceRelation(at, an, relJPT, fp);
- if (res != null)
- resSet.add(res);
- }
-
- }
- } catch (Exception e) {
- throw new RuntimeException();
- }
-
- }
- return resSet;
- }
-
- /**
- * Returns the relation annotation of the given attribute if there is any. If not - returns null
- *
- * @param at
- * @return
- */
-
- /*
- private IAnnotation getRelationAnnotation(JavaPersistentAttribute at) {
- JavaResourcePersistentAttribute jrpa = at.getResourcePersistentAttribute();
- IAnnotatable m = getAttributeMember(at);
- IAnnotation[] ans = null;
- try {
- ans = m.getAnnotations();
- } catch (JavaModelException e) {
- tracer.error("", e);
- return null;
- }
- for (IAnnotation an : ans) {
- if (JPAEditorConstants.RELATION_ANNOTATIONS.contains(JPAEditorUtil.cutFromLastDot(an.getElementName()))) {
- return an;
- }
- }
- return null;
- }
- */
-
- /*
- public JavaPersistentAttribute getRelatedAttribute(JavaPersistentType jpt,
- JavaPersistentType relJPT) {
-
- ListIterator<JavaPersistentAttribute> it = relJPT.attributes();
- while (it.hasNext()) {
- JavaPersistentAttribute relEntityAt = it.next();
- JavaResourcePersistentAttribute jrpa = relEntityAt
- .getResourcePersistentAttribute();
- ASTNode nd = jrpa.getMember().getModifiedDeclaration()
- .getDeclaration();
- if ((nd instanceof MethodDeclaration)
- || (nd instanceof FieldDeclaration)) {
- ListIterator<?> modfs = ((BodyDeclaration) nd).modifiers()
- .listIterator();
- while (modfs.hasNext()) {
- Object modf = modfs.next();
- if (modf instanceof Annotation) {
- Annotation an = (Annotation) modf;
- String annotationName = an.getTypeName()
- .getFullyQualifiedName();
- annotationName = annotationName
- .substring(annotationName.lastIndexOf('.') + 1);
- if (JPAEditorConstants.RELATION_ANNOTATIONS
- .contains(annotationName)) {
- String ownerTypeName = getRelTypeName(an, jrpa);
- if (!ownerTypeName.equals(jpt.getName()))
- continue;
- return relEntityAt;
- }
- }
- }
- }
-
- }
- return null;
- }
- */
-
-
- /*
- * If the given attribute is relation annotated and points to some entity,
- * which is visualized in the diagram this method returns the pointed
- * entity. Otherwise - null
- */
-
- /*
- public JavaPersistentType getRelatedEntity(JavaPersistentAttribute jpa,
- IJPAEditorFeatureProvider fp) {
-
- JavaResourcePersistentAttribute jrpa = jpa
- .getResourcePersistentAttribute();
- IType t = jrpa.getJavaResourceCompilationUnit().getCompilationUnit().findPrimaryType();
- IAnnotatable m = getAttributeMember(jpa);
- IAnnotation[] ans = m.getAnnotations();
- for (IAnnotation an : ans) {
- String annotationName = an.getElementName();
- annotationName = JPAEditorUtil.cutFromLastDot(annotationName);
-
- if (JPAEditorConstants.RELATION_ANNOTATIONS
- .contains(annotationName)) {
- String relTypeName = getRelTypeName(an, jrpa);
- JavaPersistentType relJPT = (JavaPersistentType) jpa
- .getPersistentType().getPersistenceUnit()
- .getPersistentType(relTypeName);
- if (relJPT != null)
- if (fp.getPictogramElementForBusinessObject(relJPT) != null)
- return relJPT;
- }
-
-
- }
-
- if ((nd instanceof MethodDeclaration)
- || (nd instanceof FieldDeclaration)) {
- ListIterator<?> modfs = ((BodyDeclaration) nd).modifiers()
- .listIterator();
- while (modfs.hasNext()) {
- Object modf = modfs.next();
- if (modf instanceof Annotation) {
- Annotation an = (Annotation)modf;
- String annotationName = an.getTypeName()
- .getFullyQualifiedName();
- annotationName = annotationName.substring(annotationName
- .lastIndexOf('.') + 1);
- if (JPAEditorConstants.RELATION_ANNOTATIONS
- .contains(annotationName)) {
- String relTypeName = getRelTypeName(an, jrpa);
- JavaPersistentType relJPT = (JavaPersistentType) jpa
- .getPersistentType().getPersistenceUnit()
- .getPersistentType(relTypeName);
- if (relJPT != null)
- if (fp.getPictogramElementForBusinessObject(relJPT) != null)
- return relJPT;
- }
- }
- }
- }
- return null;
- }
- */
-
- public JavaPersistentType getJPT(String name, PersistenceUnit pu) {
- pu.getJpaProject().updateAndWait();
- JavaPersistentType jpt = (JavaPersistentType) pu.getPersistentType(name);
- int cnt = 0;
- while ((jpt == null) && (cnt < MAX_NUM_OF_ITERATIONS)) {
- try {
- Thread.sleep(PAUSE_DURATION);
- } catch (InterruptedException e) {
- System.err.println("Sleep interrupted"); //$NON-NLS-1$
- e.printStackTrace();
- }
- jpt = (JavaPersistentType)pu.getPersistentType(name);
- cnt++;
- }
- return jpt;
- }
-
- /*
- * Return all the attributes belonging to another entities and
- * involved in a relation with the entity given as parameter
- */
- public Set<JavaPersistentAttribute> getRelatedAttributes(JavaPersistentType jpt) {
- Set<JavaPersistentAttribute> res = new HashSet<JavaPersistentAttribute>();
- Iterator<JpaFile> it = jpt.getJpaProject().getJpaFiles().iterator();
- PersistenceUnit pu = JpaArtifactFactory.INSTANCE.getPersistenceUnit(jpt.getJpaProject());
- while (it.hasNext()) {
- JpaFile jpaFile = it.next();
- JptResourceModel rm = jpaFile.getResourceModel();
- if (rm == null)
- continue;
- if (!JavaResourceCompilationUnit.class.isInstance(rm))
- continue;
- JavaResourceCompilationUnit jrcu = (JavaResourceCompilationUnit)rm;
- //CSN #130859 2010
- if(!jrcu.persistentTypes().hasNext())
- continue;
- JavaResourcePersistentType jrpt = jrcu.persistentTypes().next();
- String name = jrpt.getQualifiedName();
- JavaPersistentType jpt1 = (JavaPersistentType) pu
- .getPersistentType(name);
- if (jpt1 == null)
- continue;
- Set<JavaPersistentAttribute> relAts = getRelAttributes(jpt, jpt1);
- if (relAts != null)
- res.addAll(relAts);
- }
- return res;
- }
-
- /*
- * Return the attribute (if there is any) belonging to jpt1 and
- * involved in a relation with jpt
- */
-
- private Set<JavaPersistentAttribute> getRelAttributes(JavaPersistentType jpt,
- JavaPersistentType relJPT) {
-
- Set<JavaPersistentAttribute> res = new HashSet<JavaPersistentAttribute>();
- ListIterator<JavaPersistentAttribute> attIt = relJPT.attributes();
- while (attIt.hasNext()) {
- JavaPersistentAttribute at = attIt.next();
- IResource r = at.getParent().getResource();
- if (!r.exists())
- throw new RuntimeException();
- Annotation[] ans = getAnnotations(at);
- String annotationName = null;
- for (Annotation an : ans) {
- annotationName = JPAEditorUtil.returnSimpleName(an.getAnnotationName());
- if (JPAEditorConstants.RELATION_ANNOTATIONS.contains(annotationName)) {
- String relTypeName = getRelTypeName((RelationshipMappingAnnotation)an, at.getResourcePersistentAttribute());
- if (!relTypeName.equals(jpt.getName()))
- continue;
- res.add(at);
- }
- }
- }
- return res;
- }
-
-
- public void renameEntityClass(JavaPersistentType jpt, String newEntityName, IJPAEditorFeatureProvider fp) {
- renameEntityClass(fp.getCompilationUnit(jpt), newEntityName);
- }
-
- private void renameEntityClass(ICompilationUnit cu, String newName) {
- IType javaType = cu.findPrimaryType();
- renameType(javaType, newName);
- }
-
- private void renameType(IType type, String newName) {
- if (!type.exists())
- return;
- String oldName = type.getElementName();
- try {
- RenameSupport s = RenameSupport.create(type, newName, RenameSupport.UPDATE_REFERENCES);
- IWorkbenchWindow ww = JPADiagramEditorPlugin.getDefault()
- .getWorkbench().getActiveWorkbenchWindow();
- Shell sh = ww.getShell();
- s.perform(sh, ww);
- } catch (Exception e1) {
- System.err.println("Cannot rename the type " + //$NON-NLS-1$
- oldName);
- }
- }
-
-
- public JavaPersistentAttribute renameAttribute(JavaPersistentType jpt,
- String oldName, String newName, String inverseEntityName,
- IJPAEditorFeatureProvider fp) {
- newName = JPAEditorUtil.decapitalizeFirstLetter(newName);
- if (JpaArtifactFactory.instance().isMethodAnnotated(jpt)) {
- newName = JPAEditorUtil.produceValidAttributeName(newName);
- }
- newName = JPAEditorUtil.produceUniqueAttributeName(jpt, newName);
- PersistenceUnit pu = null;
- JavaPersistentAttribute oldAt = jpt.getAttributeNamed(oldName);
- fp.addAddIgnore((JavaPersistentType)oldAt.getParent(), newName);
- JavaResourcePersistentAttribute jrpa = oldAt
- .getResourcePersistentAttribute();
- fp.addRemoveIgnore((JavaPersistentType)oldAt.getParent(), jrpa.getName());
- IRelation rel = fp.getRelationRelatedToAttribute(oldAt);
- String inverseJPAName = null;
- JavaPersistentType inverseJPT = null;
- if (BidirectionalRelation.class.isInstance(rel)) {
- inverseJPT = rel.getInverse();
- if (inverseJPT != oldAt.getParent()) {
- pu = JpaArtifactFactory.INSTANCE.getPersistenceUnit(jpt);
- inverseJPAName = rel.getInverseAttributeName();
- }
- }
- ICompilationUnit cu = fp.getCompilationUnit(jpt);
- renameAttribute(cu, oldName, newName, fp, this.isMethodAnnotated(jpt));
- refreshEntityModel(fp, jpt);
- JavaPersistentAttribute newAt = jpt.getAttributeNamed(newName);
- if (newAt == null)
- newAt = jpt.getAttributeNamed(JPAEditorUtil
- .revertFirstLetterCase(newName));
- int c = 0;
- while ((newAt == null) && (c < MAX_NUM_OF_ITERATIONS)) {
- c++;
- try {
- Thread.sleep(PAUSE_DURATION);
- newAt = jpt.getAttributeNamed(newName);
- if (newAt == null)
- newAt = (JavaPersistentAttribute) jpt
- .resolveAttribute(JPAEditorUtil
- .revertFirstLetterCase(newName));
- } catch (InterruptedException e) {
- System.err.println("Thread.sleep() interrupted"); //$NON-NLS-1$
- return null;
- }
- }
- if (newAt == null) {
- System.err.println("The attribute " + newName + " could not be resolved"); //$NON-NLS-1$ //$NON-NLS-2$
- NullPointerException npe = new NullPointerException();
- npe.printStackTrace();
- }
- fp.addRemoveIgnore(jpt, oldAt.getName());
- try {
- fp.replaceAttribute(oldAt, newAt);
- } catch (Exception e) {
- return newAt;
- }
- if (inverseJPAName != null) {
- fp.addAttribForUpdate(pu, inverseEntityName
- + EntityChangeListener.SEPARATOR + inverseJPAName
- + EntityChangeListener.SEPARATOR + newAt.getName());
- this.refreshEntityModel(fp, inverseJPT);
- Annotation a = rel.getInverseAnnotatedAttribute().getMapping().getMappingAnnotation();
- if (OwnableRelationshipMappingAnnotation.class.isInstance(a)) {
- boolean exce = true;
- int cnt = 0;
- while (exce && (cnt < 25)) {
- try {
- Thread.sleep(250);
- a = rel.getInverseAnnotatedAttribute().getMapping().getMappingAnnotation();
- ((OwnableRelationshipMappingAnnotation)a).setMappedBy(newAt.getName());
- exce = false;
- } catch (Exception e) {}
- cnt++;
- }
- }
- }
- if (rel != null)
- updateRelation(jpt, fp, rel);
-
- return newAt;
- }
-
- private void updateRelation(JavaPersistentType jpt,
- IJPAEditorFeatureProvider fp, IRelation rel) {
- UpdateAttributeFeature updateFeature = new UpdateAttributeFeature(fp);
- if (jpt.equals(rel.getInverse())) {
- updateFeature.reconnect(rel.getOwner());
- } else {
- updateFeature.reconnect(rel.getInverse());
- }
- }
-
- public JavaPersistentAttribute renameAttribute(JavaPersistentAttribute jpa,
- String newName, String newEntityName, IJPAEditorFeatureProvider fp) {
- return renameAttribute((JavaPersistentType)jpa.getParent(), jpa.getName(), newName,
- newEntityName, fp);
- }
-
- private void renameAttribute(ICompilationUnit cu, String oldName,
- String newName, IJPAEditorFeatureProvider fp, boolean isMethodAnnotated) {
- IType javaType = cu.findPrimaryType();
- if (javaType == null)
- return;
- IField attributeField = null;
- String typeSignature = null;
- if (isMethodAnnotated) {
- attributeField = javaType.getField(oldName);
- if (!attributeField.exists())
- attributeField = javaType.getField(JPAEditorUtil.revertFirstLetterCase(oldName));
- } else {
- attributeField = javaType.getField(oldName);
- }
- String getterPrefix = "get"; //$NON-NLS-1$
- String methodName = getterPrefix + JPAEditorUtil.capitalizeFirstLetter(oldName); //$NON-NLS-1$
- IMethod getter = javaType.getMethod(methodName, new String[0]);
- if (!getter.exists()) {
- getterPrefix = "is"; //$NON-NLS-1$
- }
- methodName = getterPrefix + JPAEditorUtil.capitalizeFirstLetter(oldName); //$NON-NLS-1$
- getter = javaType.getMethod(methodName, new String[0]);
-
- if (isMethodAnnotated) {
- try {
- typeSignature = getter.getReturnType();
- } catch (JavaModelException e1) {
- System.err.println("Cannot obtain type signature of the getter of the attribute " //$NON-NLS-1$
- + oldName);
- e1.printStackTrace();
- return;
- }
- if ((typeSignature == null) ||
- (!"Z".equals(typeSignature) && !getterPrefix.equals("get"))) { //$NON-NLS-1$ //$NON-NLS-2$
- System.err.println("Cannot obtain type signature of the getter of the attribute " //$NON-NLS-1$
- + oldName);
- NullPointerException npe = new NullPointerException();
- npe.printStackTrace();
- return;
- }
- } else {
- try {
- typeSignature = attributeField.getTypeSignature();
- } catch (JavaModelException e) {
- System.err.println (
- "Cannot obtain type signature of the field of the attribute " //$NON-NLS-1$
- + oldName);
- e.printStackTrace();
- return;
- }
- }
-
- methodName = "set" + JPAEditorUtil.capitalizeFirstLetter(oldName); //$NON-NLS-1$
- IMethod setter = javaType.getMethod(methodName,
- new String[] { typeSignature });
-
- if (setter.exists())
- renameSetter(setter, newName);
- if (isMethodAnnotated) {
- if (attributeField.exists())
- renameField(attributeField, newName, isMethodAnnotated);
- if (getter.exists())
- renameGetter(getter, newName);
- } else {
- if (getter.exists())
- renameGetter(getter, newName);
- if (attributeField.exists())
- renameField(attributeField, newName, isMethodAnnotated);
- }
-
- }
-
- private void renameField(IField field, String newName, boolean isMethodAnnotated) {
- if (!field.exists())
- return;
- String oldName = field.getElementName();
- if (oldName.equals(newName))
- return;
- try {
- RenameSupport s = RenameSupport.create(field,
- isMethodAnnotated ? JPAEditorUtil.decapitalizeFirstLetter(newName) : newName,
- RenameSupport.UPDATE_REFERENCES);
- try {
- IWorkbenchWindow ww = JPADiagramEditorPlugin.getDefault()
- .getWorkbench().getActiveWorkbenchWindow();
- Shell sh = ww.getShell();
- s.perform(sh, ww);
- } catch (InterruptedException e) {
- System.err.println("Cannot rename the field of the attribute " + //$NON-NLS-1$
- oldName);
- e.printStackTrace();
- } catch (InvocationTargetException e) {
- System.err.println("Cannot rename the field of the attribute " + //$NON-NLS-1$
- oldName);
- e.printStackTrace();
- }
- } catch (CoreException e1) {
- System.err.println("Cannot rename the field of the attribute " + //$NON-NLS-1$
- oldName);
- e1.printStackTrace();
- }
- }
-
- private void renameGetter(IMethod getter, String newName) {
- if (!getter.exists())
- return;
- String oldName = getter.getElementName();
- String getterType = null;
- try {
- getterType = getter.getReturnType();
- } catch (JavaModelException e2) {
- System.err.println("Can't obtain getter type"); //$NON-NLS-1$
- e2.printStackTrace();
- }
- String newGetterName = ("Z".equals(getterType) ? "is" : "get") + //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- JPAEditorUtil.capitalizeFirstLetter(newName);
- if (oldName.equals(newGetterName))
- return;
- try {
- RenameSupport s = RenameSupport.create(getter, newGetterName,
- RenameSupport.UPDATE_REFERENCES);
- try {
- IWorkbenchWindow ww = JPADiagramEditorPlugin.getDefault()
- .getWorkbench().getActiveWorkbenchWindow();
- Shell sh = ww.getShell();
- s.perform(sh, ww);
- } catch (InterruptedException e) {
- System.err.println("Cannot rename the getter of the attribute " + //$NON-NLS-1$
- oldName);
- e.printStackTrace();
- } catch (InvocationTargetException e) {
- System.err.println("Cannot rename the getter of the attribute " + //$NON-NLS-1$
- oldName);
- e.printStackTrace();
- }
- } catch (CoreException e1) {
- System.err.println("Cannot rename the getter of the attribute " + //$NON-NLS-1$
- oldName);
- e1.printStackTrace();
- }
- }
-
- private void renameSetter(IMethod setter, String newName) {
- if (!setter.exists())
- return;
- String oldName = setter.getElementName();
- String newSetterName = "set" //$NON-NLS-1$
- + JPAEditorUtil.capitalizeFirstLetter(newName);
- if (oldName.equals(newSetterName))
- return;
- try {
- RenameSupport s = RenameSupport.create(setter, newSetterName,
- RenameSupport.UPDATE_REFERENCES);
- try {
- IWorkbenchWindow ww = JPADiagramEditorPlugin.getDefault()
- .getWorkbench().getActiveWorkbenchWindow();
- Shell sh = ww.getShell();
- s.perform(sh, ww);
- } catch (InterruptedException e) {
- System.err.println("Cannot rename the setter of the attribute " + //$NON-NLS-1$
- oldName);
- e.printStackTrace();
- } catch (InvocationTargetException e) {
- System.err.println("Cannot rename the setter of the attribute " + //$NON-NLS-1$
- oldName);
- e.printStackTrace();
- }
- } catch (CoreException e1) {
- System.err.println("Cannot rename the setter of the attribute " + //$NON-NLS-1$
- oldName);
- e1.printStackTrace();
- }
- }
-
- private IRelation produceRelation(JavaPersistentAttribute persistentAttribite, Annotation an,
- JavaPersistentType relJPT, IJPAEditorFeatureProvider fp) {
-
- Hashtable<JavaPersistentAttribute, Annotation> ht = getRelAttributeAnnotation(
- persistentAttribite, relJPT);
- if (ht == null) {
- return produceUniDirRelation((JavaPersistentType)persistentAttribite
- .getParent(), persistentAttribite, an, relJPT, fp);
- } else {
- JavaPersistentAttribute relAt = ht.keys().nextElement();
- Annotation relAn = ht.get(relAt);
- return produceBiDirRelation((JavaPersistentType)persistentAttribite
- .getParent(), persistentAttribite, an, relJPT,
- relAt, relAn, fp);
- }
-
- }
-
- private Hashtable<JavaPersistentAttribute, Annotation> getRelAttributeAnnotation(
- JavaPersistentAttribute jpa, JavaPersistentType relJPT) {
-
- JavaPersistentType jpt = (JavaPersistentType)jpa.getParent();
- JpaArtifactFactory.instance().refreshEntityModel(null, jpt);
- ListIterator<JavaPersistentAttribute> attIt = relJPT.attributes();
- while (attIt.hasNext()) {
- JavaPersistentAttribute relEntAt = attIt.next();
- IResource r = relEntAt.getParent().getResource();
- if (!r.exists())
- throw new RuntimeException();
- JavaResourcePersistentAttribute relJRPA = relEntAt.getResourcePersistentAttribute();
- Annotation[] ans = this.getAnnotations(relEntAt);
- for (Annotation an : ans) {
- String annotationName = JPAEditorUtil.returnSimpleName(an.getAnnotationName());
- if (JPAEditorConstants.RELATION_ANNOTATIONS.contains(annotationName)) {
- String relTypeName = getRelTypeName((RelationshipMappingAnnotation)an, relJRPA);
- if (!relTypeName.equals(jpt.getName()))
- continue;
- JavaAttributeMapping mp = relEntAt.getMapping();
- if(mp.getMappingAnnotation() == null) {
- JpaArtifactFactory.instance().refreshEntityModel(null, (JavaPersistentType)relEntAt.getParent());
- mp = relEntAt.getMapping();
- }
- if (!OwnableRelationshipMappingAnnotation.class.isInstance(mp.getMappingAnnotation()))
- continue;
- String mappedBy = ((OwnableRelationshipMappingAnnotation)mp.getMappingAnnotation()).getMappedBy();
- if (!jpa.getName().equals(mappedBy))
- continue;
- Hashtable<JavaPersistentAttribute, Annotation> ht = new Hashtable<JavaPersistentAttribute, Annotation>();
- ht.put(relEntAt, an);
- return ht;
- }
- }
- }
- return null;
- }
-
-
- /*
- ASTNode nd = jrpa.getMember().getModifiedDeclaration()
- .getDeclaration();
- String annotationName = null;
- if ((nd instanceof MethodDeclaration)
- || (nd instanceof FieldDeclaration)) {
- ListIterator<?> modfs = ((BodyDeclaration) nd).modifiers()
- .listIterator();
- while (modfs.hasNext()) {
- Object modf = modfs.next();
- if (modf instanceof Annotation) {
- Annotation an = (Annotation)modf;
- annotationName = an.getTypeName()
- .getFullyQualifiedName();
- annotationName = annotationName
- .substring(annotationName.lastIndexOf('.') + 1);
- if (JPAEditorConstants.RELATION_ANNOTATIONS
- .contains(annotationName)) {
- String relTypeName = getRelTypeName(an, jrpa);
- if (!relTypeName.equals(jpt.getName()))
- continue;
- JavaAttributeMapping mp = at.getSpecifiedMapping();
- if (!OwnableRelationshipMappingAnnotation.class.isInstance(mp.getMappingAnnotation()))
- continue;
- String mappedBy = ((OwnableRelationshipMappingAnnotation)mp.getMappingAnnotation()).getMappedBy();
- if (!jpa.getName().equals(mappedBy))
- continue;
- Hashtable<JavaPersistentAttribute, Annotation> ht = new Hashtable<JavaPersistentAttribute, Annotation>();
- ht.put(at, an);
- return ht;
- }
- }
- }
- }
- */
-
- private UnidirectionalRelation produceUniDirRelation(
- JavaPersistentType jpt, JavaPersistentAttribute at, Annotation an,
- JavaPersistentType relJPT, IJPAEditorFeatureProvider fp) {
-
- if (isNonOwner(at) || !JPAEditorUtil.getCompilationUnit((JavaPersistentType) at.getParent()).exists())
- return null;
- String annotationName = JPAEditorUtil.returnSimpleName(an.getAnnotationName());
- UnidirectionalRelation res = null;
- String attrName = at.getName();
- if (annotationName.equals(JPAEditorConstants.ANNOTATION_ONE_TO_ONE)) {
- if (!fp.doesRelationExist(jpt, relJPT, attrName, RelType.ONE_TO_ONE,
- RelDir.UNI))
- res = new OneToOneUniDirRelation(fp, jpt, relJPT, attrName, false,
- fp.getCompilationUnit(jpt), fp
- .getCompilationUnit(relJPT));
- } else if (annotationName
- .equals(JPAEditorConstants.ANNOTATION_ONE_TO_MANY)) {
- if (!fp.doesRelationExist(jpt, relJPT, attrName, RelType.ONE_TO_MANY,
- RelDir.UNI))
- res = new OneToManyUniDirRelation(fp, jpt, relJPT, attrName, false,
- fp.getCompilationUnit(jpt), fp
- .getCompilationUnit(relJPT));
- } else if (annotationName
- .equals(JPAEditorConstants.ANNOTATION_MANY_TO_ONE)) {
- if (!fp.doesRelationExist(jpt, relJPT, attrName, RelType.MANY_TO_ONE,
- RelDir.UNI))
- res = new ManyToOneUniDirRelation(fp, jpt, relJPT, attrName, false,
- fp.getCompilationUnit(jpt), fp
- .getCompilationUnit(relJPT));
- } else if (annotationName
- .equals(JPAEditorConstants.ANNOTATION_MANY_TO_MANY)) {
- if (!fp.doesRelationExist(jpt, relJPT, attrName, RelType.MANY_TO_MANY,
- RelDir.UNI))
- res = new ManyToManyUniDirRelation(fp, jpt, relJPT, attrName,
- false, fp.getCompilationUnit(jpt), fp
- .getCompilationUnit(relJPT));
- }
- if (res != null)
- res.setAnnotatedAttribute(at);
- return res;
- }
-
- private BidirectionalRelation produceBiDirRelation(JavaPersistentType jpt,
- JavaPersistentAttribute at, Annotation an,
- JavaPersistentType relJPT, JavaPersistentAttribute relAt,
- Annotation relAn, IJPAEditorFeatureProvider fp) {
- JpaArtifactFactory.instance().refreshEntityModel(null, (JavaPersistentType)relAt.getParent());
- String annotationName = JPAEditorUtil.returnSimpleName(an.getAnnotationName());
- String relAnnotationName = JPAEditorUtil.returnSimpleName(relAn.getAnnotationName());
- if (!annotationNamesMatch(annotationName, relAnnotationName))
- return null;
- if (annotationName.equals(JPAEditorConstants.ANNOTATION_ONE_TO_MANY))
- return produceBiDirRelation(relJPT, relAt, relAn, jpt, at, an, fp);
- if (isNonOwner(at) && isNonOwner(relAt))
- return null;
- if (annotationName.equals(JPAEditorConstants.ANNOTATION_MANY_TO_ONE)) {
- if (isNonOwner(at) || !isNonOwner(relAt))
- return null;
- }
- if (annotationName.equals(JPAEditorConstants.ANNOTATION_MANY_TO_MANY)) {
- if (!isNonOwner(at) && !isNonOwner(relAt))
- return null;
- if (isNonOwner(at))
- return produceBiDirRelation(relJPT, relAt, relAn, jpt, at, an,
- fp);
- }
- String ownerAttrName = at.getName();
- String inverseAttrName = relAt.getName();
-
- JavaAttributeMapping m = relAt.getMapping();
-
- if ((m != null)){
- if (m.getMappingAnnotation()==null) {
- JpaArtifactFactory.instance().refreshEntityModel(null, (JavaPersistentType)relAt.getParent());
- m = relAt.getMapping();
- }
- if(m.getMappingAnnotation() instanceof OwnableRelationshipMappingAnnotation) {
-
- String mappedBy = ((OwnableRelationshipMappingAnnotation)m.getMappingAnnotation()).getMappedBy();
- if (mappedBy == null)
- return null;
- if (!mappedBy.equals(ownerAttrName))
- return null;
- }
- }
-
- BidirectionalRelation res = null;
- if (annotationName.equals(JPAEditorConstants.ANNOTATION_ONE_TO_ONE)) {
- if (!fp.doesRelationExist(jpt, relJPT, ownerAttrName, RelType.ONE_TO_ONE,
- RelDir.BI))
- res = new OneToOneBiDirRelation(fp, jpt, relJPT, ownerAttrName,
- inverseAttrName, false, fp.getCompilationUnit(jpt), fp
- .getCompilationUnit(relJPT));
- } else if (annotationName
- .equals(JPAEditorConstants.ANNOTATION_MANY_TO_ONE)) {
- if (!fp.doesRelationExist(jpt, relJPT, ownerAttrName, RelType.MANY_TO_ONE,
- RelDir.BI))
- res = new ManyToOneBiDirRelation(fp, jpt, relJPT, ownerAttrName,
- inverseAttrName, false, fp.getCompilationUnit(jpt), fp
- .getCompilationUnit(relJPT));
- } else if (annotationName
- .equals(JPAEditorConstants.ANNOTATION_MANY_TO_MANY)) {
- if (!fp.doesRelationExist(jpt, relJPT, ownerAttrName, RelType.MANY_TO_MANY,
- RelDir.BI))
- res = new ManyToManyBiDirRelation(fp, jpt, relJPT, ownerAttrName,
- inverseAttrName, false, fp.getCompilationUnit(jpt), fp
- .getCompilationUnit(relJPT));
- }
- if (res != null) {
- res.setOwnerAnnotatedAttribute(at);
- res.setInverseAnnotatedAttribute(relAt);
- }
- return res;
- }
-
- private boolean annotationNamesMatch(String an1Name, String an2Name) {
- if (an1Name.equals(JPAEditorConstants.ANNOTATION_ONE_TO_ONE)
- && an2Name.equals(JPAEditorConstants.ANNOTATION_ONE_TO_ONE)) {
- return true;
- } else if (an1Name.equals(JPAEditorConstants.ANNOTATION_ONE_TO_MANY)
- && an2Name.equals(JPAEditorConstants.ANNOTATION_MANY_TO_ONE)) {
- return true;
- } else if (an1Name.equals(JPAEditorConstants.ANNOTATION_MANY_TO_ONE)
- && an2Name.equals(JPAEditorConstants.ANNOTATION_ONE_TO_MANY)) {
- return true;
- } else if (an1Name.equals(JPAEditorConstants.ANNOTATION_MANY_TO_MANY)
- && an2Name.equals(JPAEditorConstants.ANNOTATION_MANY_TO_MANY)) {
- return true;
- }
- return false;
- }
-
- private String genGetterContents(String attrName, String attrType,
- String[] attrTypeElementNames, String actName,
- List<String> annotations, boolean isCollection) {
-
- String attrNameWithCapitalA = actName.substring(0, 1).toUpperCase(Locale.ENGLISH)
- + actName.substring(1);
- String contents = ""; //$NON-NLS-1$
- if (annotations != null) {
- Iterator<String> it = annotations.iterator();
- while (it.hasNext()) {
- String an = it.next();
- contents += " " + an + "\n"; //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
- if (isCollection) {
- contents += " public Collection<"+ attrType + "> get" + attrNameWithCapitalA + "() {\n" + //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- " return " //$NON-NLS-1$
- + JPAEditorUtil.decapitalizeFirstLetter(actName) + ";\n" + //$NON-NLS-1$
- " }\n"; //$NON-NLS-1$
- } else {
- contents += " public "+ attrType + //$NON-NLS-1$
- ((attrTypeElementNames == null)?"":("<" + JPAEditorUtil.createCommaSeparatedListOfSimpleTypeNames(attrTypeElementNames) + ">")) + //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- (attrType.equals("boolean") ? " is" : " get") + attrNameWithCapitalA + "() {\n" + //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- " return " //$NON-NLS-1$
- + JPAEditorUtil.decapitalizeFirstLetter(actName) + ";\n" + //$NON-NLS-1$
- " }\n"; //$NON-NLS-1$
- }
- return contents;
- }
-
- private String genSetterContents(String attrName, String attrType,
- String[] attrTypeElementNames, String actName, boolean isCollection) {
-
- String attrNameWithCapitalA = actName.substring(0, 1).toUpperCase(Locale.ENGLISH)
- + actName.substring(1);
- String contents = ""; //$NON-NLS-1$
- if (isCollection) {
- contents = " public void set" + attrNameWithCapitalA + "(Collection<" + attrType + "> param) " + //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- "{\n" + //$NON-NLS-1$
- " this." //$NON-NLS-1$
- + JPAEditorUtil.decapitalizeFirstLetter(actName)
- + " = param;\n" + //$NON-NLS-1$
- " }\n"; //$NON-NLS-1$
- } else {
- contents = " public void set" + attrNameWithCapitalA + "(" + attrType + //$NON-NLS-1$ //$NON-NLS-2$
- ((attrTypeElementNames == null)?"":("<" + JPAEditorUtil.createCommaSeparatedListOfSimpleTypeNames(attrTypeElementNames) + ">")) + //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- " param) {\n" //$NON-NLS-1$
- +
- " this." //$NON-NLS-1$
- + JPAEditorUtil.decapitalizeFirstLetter(actName)
- + " = param;\n" + //$NON-NLS-1$
- " }\n"; //$NON-NLS-1$
- }
- return contents;
- }
-
- private String genGetterWithAppropriateType(String attrName, String attrType,
- String actName, String type) {
- return genGetterWithAppropriateType(attrName, null, attrType,
- actName, type);
- }
-
-
- private String genGetterWithAppropriateType(String attrName, String mapKeyType, String attrType,
- String actName, String type) {
-
- String attrNameWithCapitalA = actName.substring(0, 1).toUpperCase(
- Locale.ENGLISH)
- + actName.substring(1);
- String contents = " public " + JPAEditorUtil.returnSimpleName(type) + //$NON-NLS-1$
- "<" + ((mapKeyType != null) ? (mapKeyType + ", ") : "") + attrType + "> " + //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- "get" + attrNameWithCapitalA + "() {\n" + //$NON-NLS-1$ //$NON-NLS-2$
- " return " //$NON-NLS-1$
- + JPAEditorUtil.decapitalizeFirstLetter(actName) + ";\n" + //$NON-NLS-1$
- " }\n"; //$NON-NLS-1$
- return contents;
- }
-
- private String genSetterWithAppropriateType(String attrName, String attrType,
- String actName, String type) {
- return genSetterWithAppropriateType(attrName, null, attrType,
- actName, type);
- }
-
- private String genSetterWithAppropriateType(String attrName, String mapKeyType, String attrType,
- String actName, String type) {
-
- String attrNameWithCapitalA = actName.substring(0, 1).toUpperCase(
- Locale.ENGLISH)
- + actName.substring(1);
- String contents = " public void set" + attrNameWithCapitalA + //$NON-NLS-1$
- "(" + JPAEditorUtil.returnSimpleName(type) + //$NON-NLS-1$
- "<" + ((mapKeyType != null) ? (mapKeyType + ", ") : "") + attrType + "> param) " + //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- "{\n" + //$NON-NLS-1$
- " this." //$NON-NLS-1$
- + JPAEditorUtil.decapitalizeFirstLetter(actName)
- + " = param;\n" + //$NON-NLS-1$
- " }\n"; //$NON-NLS-1$
- return contents;
- }
-
- /*
- private String returnSimpleName(String input) {
- String name = input;
- if (name.lastIndexOf('.') != -1) {
- name = name.substring(name.lastIndexOf('.') + 1);
- }
- return name;
- }
- */
-
- private JavaPersistentAttribute getAttributeFromEntity(
- JavaPersistentType jpt, String attributeName) {
- this.refreshEntityModel(null, jpt);
- PersistentAttribute at = jpt.getAttributeNamed(attributeName);
- if (at == null) {
- jpt.getResourcePersistentType().synchronizeWith(jpt.getResourcePersistentType().getJavaResourceCompilationUnit().buildASTRoot());
- jpt.update();
- }
- int c = 0;
- while ((at == null) && (c < MAX_NUM_OF_ITERATIONS)) {
- try {
- Thread.sleep(PAUSE_DURATION);
- } catch (InterruptedException e) {
- System.err.println("Cannot get the attribute " + //$NON-NLS-1$
- attributeName + " from " + jpt.getName()); //$NON-NLS-1$
- e.printStackTrace();
- }
- at = jpt.getAttributeNamed(attributeName);
- c++;
- }
- return (JavaPersistentAttribute)at;
- }
-
- private boolean doesAttributeExist(JavaPersistentType jpt, String name)
- throws JavaModelException {
- boolean exists = false;
- if (jpt.resolveAttribute(name) != null) {
- return true;
- }
- return exists;
- }
-
- public JavaResourcePersistentType convertJPTToJRPT(JavaPersistentType jpt) {
- if (jpt == null)
- return null;
- return jpt.getJpaProject().getJavaResourcePersistentType(jpt.getName());
- }
-
- public PersistenceUnit getPersistenceUnit(JpaFile jpaFile) {
- JpaProject jpaProject = jpaFile.getJpaProject();
- if (jpaProject == null)
- return null;
- return getPersistenceUnit(jpaProject);
- }
-
- public PersistenceUnit getPersistenceUnit(JpaProject project) {
- if(project.getRootContextNode().getPersistenceXml() == null)
- return null;
- return project.getRootContextNode().getPersistenceXml().getPersistence()
- .persistenceUnits().next();
- }
-
- public PersistenceUnit getPersistenceUnit(JavaPersistentType jpt) {
- return jpt.getPersistenceUnit();
- }
-
- public boolean isMethodAnnotated(JavaPersistentAttribute attr) {
- return !attr.getResourcePersistentAttribute().isField();
- }
-
- public boolean isMethodAnnotated(JavaPersistentType jpt) {
- ListIterator<JavaPersistentAttribute> li = jpt.attributes();
- if (!li.hasNext())
- return false;
- return (isMethodAnnotated(li.next()));
- }
-
- public void remakeRelations(IJPAEditorFeatureProvider fp,
- ContainerShape cs, JavaPersistentType jpt) {
- if (cs == null)
- cs = (ContainerShape)fp.getPictogramElementForBusinessObject(jpt);
- if (cs == null)
- return;
- removeOldRelations(fp, cs);
- addNewRelations(fp, jpt);
- }
-
- public String getTableName(JavaPersistentType jpt) {
- if (jpt == null)
- return null;
- JavaResourcePersistentType jrpt = convertJPTToJRPT(jpt);
- if (jrpt == null)
- return null;
- TableAnnotation tan = (TableAnnotation)jrpt.getAnnotation("javax.persistence.Table"); //$NON-NLS-1$
- String tableName = null;
- if (tan == null){
- tableName = JPAEditorUtil.returnSimpleName(jpt.getName());
- } else {
- tableName = tan.getName();
- }
- if (tableName == null)
- tableName = JPAEditorUtil.returnSimpleName(jpt.getName());
- return tableName;
- }
-
-
- public void setTableName(JavaPersistentType jpt, String tableName) {
- if (jpt == null)
- return;
- JavaResourcePersistentType jrpt = convertJPTToJRPT(jpt);
- if (jrpt == null) {
- return;
- }
- TableAnnotation ta = (TableAnnotation)jrpt.getAnnotation("javax.persistence.Table"); //$NON-NLS-1$
- if (ta != null)
- ta.setName(tableName);
- }
-
- /*
- private Object extractAnnotationMemberValue(Annotation an, String memberName) {
-
- an.
-
- IMemberValuePair[] mvps;
- try {
- mvps = an.getMemberValuePairs();
- } catch (JavaModelException e) {
- tracer.error("Can't get annotation members", e); //$NON-NLS-1$
- return null;
- }
- for (IMemberValuePair mvp : mvps) {
- if (mvp.getMemberName().equals(memberName)) {
- return mvp.getValue();
- }
- }
- return null;
- }
- */
-
- private void removeOldRelations(IJPAEditorFeatureProvider fp,
- ContainerShape cs) {
- Set<IRemoveContext> ctxs = new HashSet<IRemoveContext>();
- Iterator<Connection> iter = Graphiti.getPeService().getAllConnections(cs).iterator();
- while (iter.hasNext()) {
- Connection conn = iter.next();
- IRemoveContext ctx = new RemoveContext(conn);
- ctxs.add(ctx);
- }
- Iterator<IRemoveContext> itCtx = ctxs.iterator();
- while (itCtx.hasNext()) {
- IRemoveContext ctx = itCtx.next();
- RemoveRelationFeature ft = new RemoveRelationFeature(fp);
- ft.remove(ctx);
- }
- }
-
- private void addNewRelations(IJPAEditorFeatureProvider fp,
- JavaPersistentType jpt) {
-
- Collection<IRelation> selfRels = new HashSet<IRelation>();
- Collection<IRelation> newRels = JpaArtifactFactory.instance()
- .produceAllRelations(jpt, fp);
- Iterator<IRelation> relsIt = newRels.iterator();
- while (relsIt.hasNext()) {
- IRelation rel = relsIt.next();
- if (rel.getOwner() == rel.getInverse()) {
- selfRels.add(rel);
- continue;
- }
- addNewRelation(fp, rel);
- }
- relsIt = selfRels.iterator();
- while (relsIt.hasNext()) {
- IRelation rel = relsIt.next();
- addNewRelation(fp, rel);
- }
- }
-
- private void addNewRelation(IJPAEditorFeatureProvider fp, IRelation rel) {
- AddConnectionContext ctx = new AddConnectionContext(JPAEditorUtil
- .getAnchor(rel.getOwner(), fp), JPAEditorUtil.getAnchor(rel
- .getInverse(), fp));
- ctx.setNewObject(rel);
- ctx.setTargetContainer(fp.getDiagramTypeProvider().getDiagram());
- refreshEntityModel(fp, rel.getOwner());
- refreshEntityModel(fp, rel.getInverse());
- AddRelationFeature ft = new AddRelationFeature(fp);
- ft.add(ctx);
- }
-
- private String getRelTypeName(RelationshipMappingAnnotation an,
- JavaResourcePersistentAttribute jrpa) {
- String relTypeName = null;
- try {
- boolean isMap = jrpa.getTypeName().equals("java.util.Map"); //$NON-NLS-1$
- relTypeName = jrpa.getTypeTypeArgumentName(isMap ? 1 : 0);
- } catch (Exception e) {}
- if (relTypeName == null)
- relTypeName = an.getTargetEntity();
- if (relTypeName == null)
- relTypeName = JPAEditorUtil.getAttributeTypeName(jrpa);
- return relTypeName;
- }
-
- public JpaProject getJpaProject(IProject project) throws CoreException {
- return JptJpaCorePlugin.getJpaProject(project);
- }
-
- public String getIdType(JavaPersistentType jpt) {
- IdClassAnnotation an = (IdClassAnnotation)jpt.getResourcePersistentType().getAnnotation(IdClassAnnotation.ANNOTATION_NAME);
- if (an != null)
- return an.getFullyQualifiedClassName();
- JavaPersistentAttribute[] ids = getIds(jpt);
- if (ids.length == 0)
- return null;
- String type = ids[0].getTypeName();
- String wrapper = JPAEditorUtil.getPrimitiveWrapper(type);
- return (wrapper != null) ? wrapper : type;
- }
-
- public JavaPersistentAttribute[] getIds(JavaPersistentType jpt) {
- ListIterator<JavaPersistentAttribute> attribsIter = jpt.attributes();
- ArrayList<JavaPersistentAttribute> res = new ArrayList<JavaPersistentAttribute>();
- while (attribsIter.hasNext()) {
- JavaPersistentAttribute at = attribsIter.next();
- if (isId(at))
- res.add(at);
- }
- JavaPersistentAttribute[] ret = new JavaPersistentAttribute[res.size()];
- return res.toArray(ret);
- }
-
- public boolean isId(JavaPersistentAttribute jpa) {
- return isSimpleId(jpa) || isEmbeddedId(jpa);
- }
-
- public boolean isSimpleId(JavaPersistentAttribute jpa) {
- IdAnnotation an = (IdAnnotation)jpa.getResourcePersistentAttribute().getAnnotation(IdAnnotation.ANNOTATION_NAME);
- return (an != null);
- }
-
- public boolean isEmbeddedId(JavaPersistentAttribute jpa) {
- EmbeddedIdAnnotation an = (EmbeddedIdAnnotation)jpa.getResourcePersistentAttribute().getAnnotation(EmbeddedIdAnnotation.ANNOTATION_NAME);
- return (an != null);
- }
-
- public String getColumnName(JavaPersistentAttribute jpa) {
- String columnName= null;
- ColumnAnnotation an = (ColumnAnnotation)jpa.
- getResourcePersistentAttribute().
- getAnnotation(ColumnAnnotation.ANNOTATION_NAME);
- if (an != null)
- columnName = an.getName();
- if (columnName == null)
- columnName = jpa.getName();
- return columnName;
- }
-
-
-} \ No newline at end of file
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/PeServiceUtilImpl.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/PeServiceUtilImpl.java
deleted file mode 100644
index c9dc29cf42..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/PeServiceUtilImpl.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Kiril Mitov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.util;
-
-import org.eclipse.graphiti.mm.Property;
-import org.eclipse.graphiti.mm.PropertyContainer;
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-import org.eclipse.graphiti.mm.pictograms.FreeFormConnection;
-import org.eclipse.graphiti.services.Graphiti;
-
-public class PeServiceUtilImpl implements IPeServiceUtil {
-
- public FreeFormConnection createFreeFormConnection(Diagram diagram) {
- return Graphiti.getPeService().createFreeFormConnection(diagram);
- }
-
- public String getPropertyValue(PropertyContainer propertyContainer, String key) {
- return Graphiti.getPeService().getPropertyValue(propertyContainer, key);
- }
-
- public Property getProperty(PropertyContainer propertyContainer, String key) {
- return Graphiti.getPeService().getProperty(propertyContainer, key);
- }
-
- public boolean removeProperty(PropertyContainer propertyContainer, String key) {
- return Graphiti.getPeService().removeProperty(propertyContainer, key);
- }
-
- public void setPropertyValue(PropertyContainer propertyContainer, String key, String value) {
- Graphiti.getPeService().setPropertyValue(propertyContainer, key, value);
- }
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/SizePosition.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/SizePosition.java
deleted file mode 100644
index c97012cdc8..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/SizePosition.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.util;
-
-public class SizePosition {
-
- private int width;
- private int height;
- private int x;
- private int y;
-
- public boolean primaryCollapsed;
- public boolean basicCollapsed;
- public boolean relationCollapsed;
-
- public SizePosition(int width, int height, int x, int y) {
- this.width = width;
- this.height = height;
- this.x = x;
- this.y = y;
- }
-
- public int getWidth() {
- return width;
- }
-
- public int getHeight() {
- return height;
- }
-
- public int getX() {
- return x;
- }
-
- public int getY() {
- return y;
- }
-
-
-}
diff --git a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/Wrp.java b/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/Wrp.java
deleted file mode 100644
index 16ffe816ca..0000000000
--- a/jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui/src/org/eclipse/jpt/jpadiagrameditor/ui/internal/util/Wrp.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.internal.util;
-
-public class Wrp {
- private Object obj;
-
- public Wrp() {}
-
- public void setObj(Object obj) {
- this.obj = obj;
- }
-
- public Object getObj() {
- return obj;
- }
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/.classpath b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/.classpath
deleted file mode 100644
index 4bf00ce327..0000000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/.classpath
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins">
- <accessrules>
- <accessrule kind="accessible" pattern="org/eclipse/jpt/jpadiagrameditor/ui/**"/>
- <accessrule kind="accessible" pattern="org/eclipse/jpt/common/utility/**"/>
- </accessrules>
- </classpathentry>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/.cvsignore b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/.cvsignore
deleted file mode 100644
index ba077a4031..0000000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/.project b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/.project
deleted file mode 100644
index fd5f56209d..0000000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.jpt.jpadiagrameditor.ui.tests</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/.settings/org.eclipse.jdt.core.prefs b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index b7176b3cc1..0000000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Wed Mar 09 10:22:22 EST 2011
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/META-INF/MANIFEST.MF b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/META-INF/MANIFEST.MF
deleted file mode 100644
index dff0365381..0000000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,38 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-Vendor: %providerName
-Bundle-SymbolicName: org.eclipse.jpt.jpadiagrameditor.ui.tests;singleton:=true
-Bundle-Version: 1.0.0.qualifier
-Bundle-Activator: org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.JPAEditorTestsActivator
-Bundle-ActivationPolicy: lazy
-Bundle-Localization: plugin
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Require-Bundle: org.easymock;bundle-version="[2.4.0,3.0.0)",
- org.eclipse.emf.ecore.xmi;bundle-version="[2.5.0,3.0.0)",
- org.eclipse.emf.transaction;bundle-version="[1.4.0,2.0.0)",
- org.eclipse.gef;bundle-version="[3.6.0,4.0.0)",
- org.eclipse.graphiti;bundle-version="[0.8.0,1.0.0)",
- org.eclipse.graphiti.ui;bundle-version="[0.8.0,1.0.0)",
- org.eclipse.jpt.common.core;bundle-version="[1.0.0,2.0.0)",
- org.eclipse.jpt.common.utility;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.jdt.core;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.jpt.jpa.core;bundle-version="[3.0.0,4.0.0)",
- org.eclipse.jpt.jpa.ui;bundle-version="[3.0.0,4.0.0)",
- org.eclipse.jpt.jpadiagrameditor.ui;bundle-version="[1.0.0,2.0.0)",
- org.eclipse.ui.ide;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.ui.views.properties.tabbed;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.wst.common.frameworks;bundle-version="[1.2.0,2.0.0)",
- org.eclipse.wst.common.modulecore;bundle-version="[1.2.1,2.0.0)",
- org.eclipse.wst.common.project.facet.core;bundle-version="[1.3.0,2.0.0)",
- org.junit4;bundle-version="[4.8.1,5.0.0)"
-Export-Package: org.eclipse.jpt.jpadiagrameditor.ui.tests.internal;x-internal:=true,
- org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.editor;x-internal:=true,
- org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.feature;x-internal:=true,
- org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.listener;x-internal:=true,
- org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.modelintegration.ui;x-internal:=true,
- org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.modelintegration.util;x-internal:=true,
- org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.preferences;x-internal:=true,
- org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.provider;x-internal:=true,
- org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.relation;x-internal:=true,
- org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.util;x-internal:=true
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/about.html b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/about.html
deleted file mode 100644
index be534ba44f..0000000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>May 02, 2008</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in
-("Content"). Unless otherwise indicated below, the Content is provided to you
-under the terms and conditions of the Eclipse Public License Version 1.0
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>.
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the
-Content is being redistributed by another party ("Redistributor") and different
-terms and conditions may apply to your use of any object code in the Content.
-Check the Redistributor's license that was provided with the Content. If no such
-license exists, contact the Redistributor. Unless otherwise indicated below, the
-terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/build.properties b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/build.properties
deleted file mode 100644
index 59add7e2ec..0000000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/build.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-################################################################################
-# Copyright (c) 2011 SAP AG. All rights reserved.
-# This program and the accompanying materials are made available under the
-# terms of the Eclipse Public License v1.0, which accompanies this distribution
-# and is available at http://www.eclipse.org/legal/epl-v10.html.
-#
-# Contributors:
-# Oracle - initial API and implementation
-################################################################################
-bin.includes = .,\
- META-INF/,\
- about.html,\
- test.xml,\
- plugin.properties
-source.. = src/
-output.. = bin/
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/plugin.properties b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/plugin.properties
deleted file mode 100644
index b5bcd87dcc..0000000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/plugin.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-# ====================================================================
-# To code developer:
-# Do NOT change the properties between this line and the
-# "%%% END OF TRANSLATED PROPERTIES %%%" line.
-# Make a new property name, append to the end of the file and change
-# the code to use the new property.
-# ====================================================================
-
-# ====================================================================
-# %%% END OF TRANSLATED PROPERTIES %%%
-# ====================================================================
-
-pluginName=Dali Java Persistence Tools - JPA Diagram Editor JUnit Tests
-providerName = Eclipse Web Tools Platform \ No newline at end of file
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/pom.xml b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/pom.xml
deleted file mode 100644
index 4817aef831..0000000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/pom.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>org.eclipse.jpt.jpadiagrameditor_parent</artifactId>
- <groupId>org.eclipse.jpt.jpadiagrameditor</groupId>
- <version>1.0.0-SNAPSHOT</version>
- <relativePath>../../development/org.eclipse.jpt.jpadiagrameditor.releng/pom.xml</relativePath>
- </parent>
-
- <artifactId>org.eclipse.jpt.ui.diagrameditor.test</artifactId>
- <packaging>eclipse-test-plugin</packaging>
- <name>JPA Diagram Editor Test Plug-in</name>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.sonatype.tycho</groupId>
- <artifactId>maven-osgi-test-plugin</artifactId>
- <version>${tycho-version}</version>
- <configuration>
- <testSuite>org.eclipse.jpt.jpadiagrameditor.tests</testSuite>
- <testClass>org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.AllJpaEditorTests</testClass>
- <useUIHarness>true</useUIHarness>
- <useUIThread>true</useUIThread>
- <argLine>-Xms128m -Xmx512m -XX:MaxPermSize=256m</argLine>
- <product>org.eclipse.sdk.ide</product>
- <application>org.eclipse.ui.ide.workbench</application>
- <dependencies>
- <dependency>
- <type>p2-installable-unit</type>
- <artifactId>org.eclipse.sdk.ide</artifactId>
- <version>0.0.0</version>
- </dependency>
- </dependencies>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
-</project> \ No newline at end of file
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/AllJpaEditorTests.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/AllJpaEditorTests.java
deleted file mode 100644
index dfdf9d1588..0000000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/AllJpaEditorTests.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal;
-
-import java.io.File;
-import java.util.NoSuchElementException;
-
-import org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.editor.EditorTest;
-import org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.feature.AddAttributeFeatureTest;
-import org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.feature.AddJPAEntityFeatureTest;
-import org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.feature.AddRelationFeatureTest;
-import org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.feature.DeleteRelationFeatureTest;
-import org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.feature.DirectEditAttributeFeatureTest;
-import org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.feature.LayoutEntityFeatureTest;
-import org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.modelintegration.util.ModelIntegrationUtilTest;
-import org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.preferences.JPAEditorPreferenceInitializerTest;
-import org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.preferences.JPAEditorPreferencesPageTest;
-import org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.provider.JPAEditorToolBehaviorProviderTest;
-import org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.util.JPASolverTest;
-import org.junit.BeforeClass;
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-import org.junit.runners.Suite.SuiteClasses;
-
-/**
- * AllJpaEditorTests
- *
- * Required Java system properties:
- * -Dorg.eclipse.jpt.jpa.jar=<jpa.jar path>
- * -Dorg.eclipse.jpt.eclipselink.jar=<eclipselink.jar path>
- */
-
-@RunWith(Suite.class)
-@SuiteClasses( {
- JPAEditorPreferenceInitializerTest.class,
- JPAEditorPreferencesPageTest.class,
- AddJPAEntityFeatureTest.class,
-// ClickAddFeatureTest.class,
-// CreateDeleteEntity.class,
- DirectEditAttributeFeatureTest.class,
- EditorTest.class,
- JPAEditorToolBehaviorProviderTest.class,
-// JPAEditorUtilTest.class,
- JPASolverTest.class,
-// OpenMiniatureViewFeatureTest.class,
-// RefactorAttributeTypeFeatureTest.class,
-// SaveEntityFeatureTest.class,
- AddRelationFeatureTest.class,
- AddAttributeFeatureTest.class,
-// CreateDeleteOnlyAttributeTest.class,
-// JPAProjectListenerTest.class,
-// ModelIntegrationTest.class,
- ModelIntegrationUtilTest.class,
- LayoutEntityFeatureTest.class,
- DeleteRelationFeatureTest.class,
-// CreateRelationsTest.class
- })
-
-public class AllJpaEditorTests {
-
- /**
- * This check is necessary to abort the test suite in the build
- * when the environment is not setup properly.
- *
- * @throws NoSuchElementException
- */
- @BeforeClass
- public static void verifyRequiredJarsExists() throws NoSuchElementException {
- verifyJpaJarExists();
- verifyEclipseLinkJarExists();
- }
-
- private static void verifyJpaJarExists() throws NoSuchElementException {
- verifyRequiredPropertyExists(JPACreateFactory.JPA_JAR_NAME_SYSTEM_PROPERTY);
- verifyRequiredFileExists(JPACreateFactory.JPA_JAR_NAME_SYSTEM_PROPERTY);
- }
-
- private static void verifyEclipseLinkJarExists() throws NoSuchElementException {
- verifyRequiredPropertyExists(JPACreateFactory.ECLIPSELINK_JAR_NAME_SYSTEM_PROPERTY);
- verifyRequiredFileExists(JPACreateFactory.ECLIPSELINK_JAR_NAME_SYSTEM_PROPERTY);
- }
-
- private static void verifyRequiredPropertyExists(String propertyName) throws NoSuchElementException {
- if(JPACreateFactory.getSystemProperty(propertyName) == null) {
- throw new NoSuchElementException(errorMissingProperty(propertyName));
- }
- }
-
- private static void verifyRequiredFileExists(String propertyName) throws NoSuchElementException {
- String fileName = JPACreateFactory.getSystemProperty(propertyName);
- if( ! (new File(fileName)).exists()) {
- throw new NoSuchElementException(errorJarFileDoesNotExist(fileName));
- }
- }
-
- private static String errorMissingProperty(String propertyName) {
- return "Missing Java system property: \"" + propertyName + "\"";
- }
-
- private static String errorJarFileDoesNotExist(String fileName) {
- return "JAR file doesn't exist: \"" + fileName + "\"";
- }
-
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/JPACreateFactory.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/JPACreateFactory.java
deleted file mode 100644
index ca03444531..0000000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/JPACreateFactory.java
+++ /dev/null
@@ -1,621 +0,0 @@
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Set;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceDescription;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jpt.common.utility.internal.ArrayTools;
-import org.eclipse.jpt.common.utility.internal.iterables.EmptyIterable;
-import org.eclipse.jpt.jpa.core.JpaFile;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.JpaStructureNode;
-import org.eclipse.jpt.jpa.core.JptJpaCorePlugin;
-import org.eclipse.jpt.jpa.core.context.JpaRootContextNode;
-import org.eclipse.jpt.jpa.core.context.PersistentType;
-import org.eclipse.jpt.jpa.core.context.ReadOnlyPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceXml;
-import org.eclipse.jpt.jpa.core.internal.facet.JpaFacetDataModelProperties;
-import org.eclipse.jpt.jpa.core.internal.facet.JpaFacetInstallDataModelProperties;
-import org.eclipse.jpt.jpa.core.internal.facet.JpaFacetInstallDataModelProvider;
-import org.eclipse.jpt.jpa.core.resource.java.JavaResourcePersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-import org.eclipse.wst.common.componentcore.datamodel.properties.IFacetDataModelProperties;
-import org.eclipse.wst.common.frameworks.datamodel.DataModelFactory;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-
-@SuppressWarnings("restriction")
-public class JPACreateFactory {
-
- public static final String JPA_JAR_NAME_SYSTEM_PROPERTY = "org.eclipse.jpt.jpa.jar";
- public static final String ECLIPSELINK_JAR_NAME_SYSTEM_PROPERTY = "org.eclipse.jpt.eclipselink.jar";
-
- private static JPACreateFactory factory = null;
- private IFacetedProject facetedProject;
- private IProject project;
- private IJavaProject javaProject;
- //private IPackageFragmentRoot sourceFolder;
- JpaProject jpaProject;
-
- public static synchronized JPACreateFactory instance() {
- if (factory == null)
- factory = new JPACreateFactory();
- return factory;
- }
-
- private IProject buildPlatformProject(String projectName) throws CoreException {
- IWorkspaceDescription description = ResourcesPlugin.getWorkspace().getDescription();
- description.setAutoBuilding(true);
- ResourcesPlugin.getWorkspace().setDescription(description);
- IProject p = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
- p.create(null);
- p.open(null);
- return p;
- }
-
- protected IDataModel buildJpaConfigDataModel() {
- IDataModel dataModel = DataModelFactory.createDataModel(new JpaFacetInstallDataModelProvider());
- dataModel.setProperty(IFacetDataModelProperties.FACET_VERSION_STR, "1.0");
- dataModel.setProperty(JpaFacetDataModelProperties.PLATFORM, null /*GenericPlatform.VERSION_1_0.getId()*/);
- dataModel.setProperty(JpaFacetInstallDataModelProperties.CREATE_ORM_XML, Boolean.TRUE);
- return dataModel;
- }
-
- public JpaProject createJPAProject(String projectName) throws CoreException {
- return createJPAProject(projectName, null, "1.0");
- }
-
- public JpaProject createJPA20Project(String projectName) throws CoreException {
- return createJPAProject(projectName, null, "2.0");
- }
-
-
- public JpaProject createJPAProject(String projectName, IDataModel jpaConfig, String jpaFacetVersion) throws CoreException {
- project = buildPlatformProject(projectName);
- javaProject = createJavaProject(project, true);
- if (jpaConfig != null) {
- jpaFacetVersion = jpaConfig.getStringProperty(IFacetDataModelProperties.FACET_VERSION_STR);
- }
- installFacet(facetedProject, "jst.utility", "1.0");
- installFacet(facetedProject, "jpt.jpa", jpaFacetVersion, jpaConfig);
- addJar(javaProject, jpaJarName());
- if (eclipseLinkJarName() != null) {
- addJar(javaProject, eclipseLinkJarName());
- }
- project.refreshLocal(IResource.DEPTH_INFINITE, null);
- jpaProject = JptJpaCorePlugin.getJpaProject(project);
- int cnt = 0;
- while ((jpaProject == null) && (cnt < 1000)){
- try {
- Thread.sleep(500);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- jpaProject = JptJpaCorePlugin.getJpaProject(project);
- cnt++;
- }
- jpaProject.setDiscoversAnnotatedClasses(true);
-// jpaProject.setUpdater(new SynchronousJpaProjectUpdater(jpaProject));
- return jpaProject;
- }
-
- public static String eclipseLinkJarName() {
- return getSystemProperty(ECLIPSELINK_JAR_NAME_SYSTEM_PROPERTY);
- }
-
- public void installFacet(IFacetedProject facetedProject,
- String facetName,
- String versionName) throws CoreException {
- installFacet(facetedProject, facetName, versionName, null);
- }
-
- public void uninstallFacet(IFacetedProject facetedProject,
- String facetName,
- String versionName) throws CoreException {
- uninstallFacet(facetedProject, facetName, versionName, null);
- }
-
- /**
- * if 'config' is null (and 'facetName' is "jpt.jpa"), the JPA project will be built with the defaults
- * defined in JpaFacetInstallDataModelProvider#getDefaultProperty(String)
- */
- public void installFacet(IFacetedProject facetedProject,
- String facetName,
- String versionName,
- IDataModel config) throws CoreException {
- facetedProject.installProjectFacet(this.facetVersion(facetName, versionName), config, null);
- }
-
- public void uninstallFacet(IFacetedProject facetedProject,
- String facetName,
- String versionName,
- IDataModel config) throws CoreException {
- facetedProject.uninstallProjectFacet(this.facetVersion(facetName, versionName), config, null);
- }
-
- private IProjectFacetVersion facetVersion(String facetName, String versionName) {
- return ProjectFacetsManager.getProjectFacet(facetName).getVersion(versionName);
- }
-
- protected static String getSystemProperty(String propertyName) {
- return System.getProperty(propertyName);
- }
-
- public void addJar(IJavaProject javaProject, String jarPath) throws JavaModelException {
- this.addClasspathEntry(javaProject, JavaCore.newLibraryEntry(new Path(jarPath), null, null));
- }
-
- private void addClasspathEntry(IJavaProject javaProject, IClasspathEntry entry) throws JavaModelException {
- javaProject.setRawClasspath(ArrayTools.add(javaProject.getRawClasspath(), entry), null);
- }
-
- private IFacetedProject createFacetedProject(IProject project) throws CoreException {
- return ProjectFacetsManager.create(project, true, null); // true = "convert if necessary"
- }
-
- public IJavaProject createJavaProject(IProject project,
- boolean autoBuild) throws CoreException {
- facetedProject = createFacetedProject(project);
- installFacet(facetedProject, "jst.java", "5.0");
- javaProject = JavaCore.create(project);
- //sourceFolder = javaProject.getPackageFragmentRoot(project.getFolder("src"));
- return javaProject;
- }
-
- public static String jpaJarName() {
- return getSystemProperty(JPA_JAR_NAME_SYSTEM_PROPERTY);
- }
-
- public IFile createEntity(JpaProject jpaProject, String fullyQualifiedName) throws Exception {
- StringTokenizer tokenizer = new StringTokenizer(fullyQualifiedName, ".");
- ArrayList<String> nameElements = new ArrayList<String>();
- while(tokenizer.hasMoreElements()){
- nameElements.add(tokenizer.nextToken());
- }
- ArrayList<String> packageFragments = new ArrayList<String>();
- for(int i=0;i<nameElements.size()-1;i++){
- packageFragments.add(nameElements.get(i));
- }
- String[] packageStrings = new String[packageFragments.size()];
- for(int i=0;i<packageFragments.size();i++){
- packageStrings[i] = packageFragments.get(i);
- }
- String name = nameElements.get(Math.max(0, nameElements.size()-1));
-// SynchronousJpaProjectUpdater updater = new SynchronousJpaProjectUpdater(jpaProject);
-// updater.start();
- JpaRootContextNode jpaProjectContent = jpaProject.getRootContextNode();
- PersistenceXml persXML = jpaProjectContent.getPersistenceXml();
- int cnt = 0;
- while ((persXML == null) && (cnt < 100)) {
- Thread.sleep(250);
- persXML = jpaProjectContent.getPersistenceXml();
- cnt++;
- }
- if (persXML == null)
- throw new NullPointerException("The persistence XML is not created");
-
- IFile entity1 = createEntityInProject(jpaProject.getProject(), packageStrings, name);
- JavaResourcePersistentType jrpt = jpaProject.getJavaResourcePersistentType(fullyQualifiedName);
- cnt = 0;
- while((jrpt == null) && (cnt < 100)) {
- try {
- Thread.sleep(250);
- } catch (Exception e) {}
- jrpt = jpaProject.getJavaResourcePersistentType(fullyQualifiedName);
- cnt++;
- }
- if (jrpt == null)
- throw new NullPointerException("The entity '" + fullyQualifiedName + "' could not be created");
- return entity1;
- }
-
- public IFile createEntityInProject(IProject project,
- String[] packageFragments,
- String entityName) throws IOException,
- CoreException,
- JavaModelException {
- String folderName = getFolderName(project, packageFragments);
- String packageName = packageFragments[0];
- for (int i = 1; i < packageFragments.length; i++) {
- packageName += "." + packageFragments[i];
- }
-
- IPath path = new Path(folderName);
- IFolder folder = project.getFolder(path);
- return createEntity(folder, packageName , entityName);
- }
-
- @SuppressWarnings("deprecation")
- private String getFolderName(IProject project, String[] packageFragments)
- throws JavaModelException {
- IJavaProject javaProject = JavaCore.create(project);
- IPackageFragmentRoot[] packageFragmentRoots = new IPackageFragmentRoot[0];
- final IClasspathEntry[] classpathEntries = javaProject.getRawClasspath();
- for (IClasspathEntry classpathEntry : classpathEntries) {
- if (classpathEntry.getEntryKind() == IClasspathEntry.CPE_SOURCE) {
- packageFragmentRoots = javaProject.getPackageFragmentRoots(classpathEntry);
- break;
- }
- }
-
- String folderName = packageFragmentRoots[0].getResource().getName();
- for (String fragment : packageFragments) {
- folderName += Path.SEPARATOR + fragment;
- }
- return folderName;
- }
-
- private IFile createEntity(IFolder folder, String packageName, String entityName) throws IOException, CoreException {
- String entityShortName = entityName.substring(entityName.lastIndexOf('.') + 1);
- if (!folder.exists()) {
- createDirectories(folder, true, true, new NullProgressMonitor());
- }
- IFile file = folder.getFile(entityShortName + ".java");
- if (!file.exists()) {
- String content = "package " + packageName + ";\n\n"
- + "import javax.persistence.*;\n\n"
- + "@Entity \n"
- + "public class " + entityShortName + " {\n"
- + " private int id;\n"
- + " @Id \n"
- + " public int getId() {\n"
- + " return id;\n"
- + " }\n"
- + " public void setId(int id) {\n"
- + " this.id = id;\n"
- + " }\n"
- + "}"; //$NON-NLS-1$
- ByteArrayOutputStream stream = new ByteArrayOutputStream();
- try {
- stream.write(content.getBytes());
- stream.flush();
- file.create(new ByteArrayInputStream(stream.toByteArray()), true, new NullProgressMonitor());
- } finally {
- stream.close();
- }
- }
- return file;
- }
-
- public IFile createEntityWithCompositePKInProject(IProject project,
- String[] packageFragments, String entityName) throws IOException,
- CoreException, JavaModelException {
- String folderName = getFolderName(project, packageFragments);
-
- String packageName = packageFragments[0];
- for (int i = 1; i < packageFragments.length; i++) {
- packageName += "." + packageFragments[i];
- }
-
- IPath path = new Path(folderName);
- IFolder folder = project.getFolder(path);
- return createEntityWithCompositePK(folder, packageName, entityName);
- }
-
- public IFile createIdClassInProject(IProject project,
- String[] packageFragments, String entityName) throws IOException,
- CoreException, JavaModelException {
- String folderName = getFolderName(project, packageFragments);
-
- String packageName = packageFragments[0];
- for (int i = 1; i < packageFragments.length; i++) {
- packageName += "." + packageFragments[i];
- }
-
- IPath path = new Path(folderName);
- IFolder folder = project.getFolder(path);
- return createIdClass(folder, packageName, entityName);
- }
-
- public IFile createEmbeddedClassInProject(IProject project,
- String[] packageFragments, String entityName) throws IOException,
- CoreException, JavaModelException {
- String folderName = getFolderName(project, packageFragments);
-
- String packageName = packageFragments[0];
- for (int i = 1; i < packageFragments.length; i++) {
- packageName += "." + packageFragments[i];
- }
-
- IPath path = new Path(folderName);
- IFolder folder = project.getFolder(path);
- return createEmbeddedClass(folder, packageName, entityName);
- }
-
- public IFile createEntityWithEmbeddedPKInProject(IProject project,
- String[] packageFragments, String entityName) throws IOException,
- CoreException, JavaModelException {
- String folderName = getFolderName(project, packageFragments);
-
- String packageName = packageFragments[0];
- for (int i = 1; i < packageFragments.length; i++) {
- packageName += "." + packageFragments[i];
- }
-
- IPath path = new Path(folderName);
- IFolder folder = project.getFolder(path);
- return createEntityWithEmbeddedPK(folder, packageName, entityName);
- }
-
-
-
- private IFile createEntityWithCompositePK(IFolder folder, String packageName, String entityName) throws IOException, CoreException{
- String entityShortName = entityName.substring(entityName.lastIndexOf('.') + 1);
- if (!folder.exists()) {
- createDirectories(folder, true, true, new NullProgressMonitor());
- }
- IFile file = folder.getFile(entityShortName + ".java");
- if (!file.exists()) {
- String content = "package " + packageName + ";\n\n"
- + "import javax.persistence.*;\n\n"
- + "@Entity \n"
- + "@IdClass("+entityShortName+"Id.class)"
- + "public class " + entityShortName + " {\n"
- + " @Id \n"
- + " private String firstName;\n"
- + " @Id \n"
- + " private String lastName;\n"
- + " public "+entityShortName+"Id() {}\n"
- + " public "+entityShortName+"Id(String firstName, String lastName)\n{"
- + " this.firstName = firstName;\n"
- + " this.lastName = lastName;\n"
- + " }\n"
- + "}"; //$NON-NLS-1$
- ByteArrayOutputStream stream = new ByteArrayOutputStream();
- try {
- stream.write(content.getBytes());
- stream.flush();
- file.create(new ByteArrayInputStream(stream.toByteArray()), true, new NullProgressMonitor());
- } finally {
- stream.close();
- }
- }
- return file;
- }
-
- private IFile createIdClass(IFolder folder, String packageName, String entityName) throws IOException, CoreException{
- String entityShortName = entityName.substring(entityName.lastIndexOf('.') + 1);
- if (!folder.exists()) {
- createDirectories(folder, true, true, new NullProgressMonitor());
- }
- IFile file = folder.getFile(entityShortName + "Id.java");
- if (!file.exists()) {
- String content = "package " + packageName + ";\n\n"
- + "import javax.persistence.*;\n\n"
- +"import java.io.Serializable;"
- + "public class " + entityShortName + "Id {\n"
- + " private String firstName;\n"
- + " private String lastName;\n"
- + " public String getFirstName() {\n"
- + " return firstName;\n"
- + " }\n"
- + " public void setFirstName(String firstName) {\n"
- + " this.firstName = firstName;\n"
- + " }\n"
- + " public String getLastName() {\n"
- + " return lastName;\n"
- + " }\n"
- + " public void setLastName(String lastName) {\n"
- + " this.lastName = lastName;\n"
- + " }\n"
- + "}"; //$NON-NLS-1$
- ByteArrayOutputStream stream = new ByteArrayOutputStream();
- try {
- stream.write(content.getBytes());
- stream.flush();
- file.create(new ByteArrayInputStream(stream.toByteArray()), true, new NullProgressMonitor());
- } finally {
- stream.close();
- }
- }
- return file;
- }
-
- private IFile createEntityWithEmbeddedPK(IFolder folder, String packageName, String entityName) throws IOException, CoreException{
- String entityShortName = entityName.substring(entityName.lastIndexOf('.') + 1);
- if (!folder.exists()) {
- createDirectories(folder, true, true, new NullProgressMonitor());
- }
- IFile file = folder.getFile(entityShortName + ".java");
- if (!file.exists()) {
- String content = "package " + packageName + ";\n\n"
- + "import javax.persistence.*;\n\n"
- + "@Entity\n"
- + "public class " + entityShortName + " {\n"
- + "@EmbeddedId\n"
- + " private "+ entityShortName +"Id id;\n"
- + "public void setId(" + entityShortName+ "Id param) {\n"
- + " this.id = param;\n"
- + "}\n"
- + "public "+entityShortName+"Id getId() {\n"
- + "return id;\n"
- + "}\n"
- + "}"; //$NON-NLS-1$
- ByteArrayOutputStream stream = new ByteArrayOutputStream();
- try {
- stream.write(content.getBytes());
- stream.flush();
- file.create(new ByteArrayInputStream(stream.toByteArray()), true, new NullProgressMonitor());
- } finally {
- stream.close();
- }
- }
- return file;
- }
-
- private IFile createEmbeddedClass(IFolder folder, String packageName, String entityName) throws IOException, CoreException{
- String entityShortName = entityName.substring(entityName.lastIndexOf('.') + 1);
- if (!folder.exists()) {
- createDirectories(folder, true, true, new NullProgressMonitor());
- }
- IFile file = folder.getFile(entityShortName + ".java");
- if (!file.exists()) {
- String content = "package " + packageName + ";\n\n"
- + "import javax.persistence.*;\n"
- + "@Embeddable\n"
- + "public class " + entityShortName + " {\n"
- +"private String firstName;\n"
- +"public String getFirstName() {\n"
- + " return firstName;\n"
- + "}\n"
- + "public void setFirstName(String firstName) {\n"
- + "this.firstName = firstName;\n"
- + "}\n"
- + "}"; //$NON-NLS-1$
- ByteArrayOutputStream stream = new ByteArrayOutputStream();
- try {
- stream.write(content.getBytes());
- stream.flush();
- file.create(new ByteArrayInputStream(stream.toByteArray()), true, new NullProgressMonitor());
- } finally {
- stream.close();
- }
- }
- return file;
- }
-
-
- private void createDirectories(IContainer container, boolean force,
- boolean local, IProgressMonitor monitor) throws CoreException {
- if (container != null && container instanceof IFolder) {
- IFolder folder = (IFolder) container;
- if (!folder.exists()) {
- // depth first
- IContainer parent = folder.getParent();
- createDirectories(parent, force, local, null);
- // own second
- folder.create(force, local, monitor);
- }
- }
- }
-
- public static ReadOnlyPersistentAttribute getPersistentAttribute(IFile entity, String attributeName){
- Set<ReadOnlyPersistentAttribute> result = getEntityFields(entity);
- for(ReadOnlyPersistentAttribute attribute : result){
- if(attributeName.equals(attribute.getName())){
- return attribute;
- }
- }
- return null;
- }
-
- public static PersistentType getPersistentType(IFile file){
- JpaFile jpaFile = JptJpaCorePlugin.getJpaFile(file);
- for (JpaStructureNode node : getRootNodes(jpaFile)) {
- PersistentType entity = (PersistentType) node;
- return entity;
- }
- return null;
- }
-
- private static Iterable<JpaStructureNode> getRootNodes(JpaFile jpaFile) {
- if(jpaFile == null){
- return EmptyIterable.instance();
- }
- return jpaFile.getRootStructureNodes();
- }
-
- public static Set<ReadOnlyPersistentAttribute> getEntityFields(IFile file){
- Set<ReadOnlyPersistentAttribute> result = new HashSet<ReadOnlyPersistentAttribute>();
- JpaFile jpaFile = JptJpaCorePlugin.getJpaFile(file);
- if(jpaFile == null){
- return result;
- }
- for (JpaStructureNode node : getRootNodes(jpaFile)) {
- PersistentType entity = (PersistentType) node;
- for (Iterator<ReadOnlyPersistentAttribute> k = entity.allAttributes(); k.hasNext(); ) {
- ReadOnlyPersistentAttribute attribute = k.next();
- result.add(attribute);
- }
- }
- return result;
- }
-
- public void addAttributes(IFile entity, String attName, String attType, String annotation, String attActName, boolean isCollection){
- JavaPersistentType javaPersistentType = (JavaPersistentType)getPersistentType(entity);
- int cnt = 0;
- while ((javaPersistentType == null) && (cnt < 100)) {
- try {
- Thread.sleep(250);
- } catch (InterruptedException e) {}
- javaPersistentType = (JavaPersistentType)getPersistentType(entity);
- cnt++;
- }
- if (javaPersistentType == null)
- throw new RuntimeException("The entity could not be created");
- ICompilationUnit compilationUnit = JavaCore.createCompilationUnitFrom(entity);
- JpaArtifactFactory.instance().addNewAttribute(javaPersistentType, compilationUnit, attName, attType, annotation, attActName, isCollection, null);
- }
-
- private IFile createFieldAnnotatedEntity(IFolder folder, String packageName, String entityName) throws IOException, CoreException {
- String entityShortName = entityName.substring(entityName.lastIndexOf('.') + 1);
- if (!folder.exists()) {
- createDirectories(folder, true, true, new NullProgressMonitor());
- }
- IFile file = folder.getFile(entityShortName + ".java");
- if (!file.exists()) {
- String content = "package " + packageName + ";\n\n"
- + "import javax.persistence.*;\n\n"
- + "@Entity \n"
- + "public class " + entityShortName + " {\n"
- + " @Id \n"
- + " private int id;\n"
- + " public int getId() {\n"
- + " return id;\n"
- + " }\n"
- + " public void setId(int id) {\n"
- + " this.id = id;\n"
- + " }\n"
- + "}"; //$NON-NLS-1$
- ByteArrayOutputStream stream = new ByteArrayOutputStream();
- try {
- stream.write(content.getBytes());
- stream.flush();
- file.create(new ByteArrayInputStream(stream.toByteArray()), true, new NullProgressMonitor());
- } finally {
- stream.close();
- }
- }
- return file;
- }
-
- public IFile createFieldAnnotatedEntityInProject(IProject project, String[] packageFragments, String entityName) throws IOException, CoreException, JavaModelException {
- String folderName = getFolderName(project, packageFragments);
- String packageName = packageFragments[0];
- for (int i = 1; i < packageFragments.length; i++) {
- packageName += "." + packageFragments[i];
- }
-
- IPath path = new Path(folderName);
- IFolder folder = project.getFolder(path);
- return createFieldAnnotatedEntity(folder, packageName , entityName);
- }
-
-
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/JPAEditorTestsActivator.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/JPAEditorTestsActivator.java
deleted file mode 100644
index 0986bff109..0000000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/JPAEditorTestsActivator.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal;
-
-import org.eclipse.core.runtime.Plugin;
-import org.osgi.framework.BundleContext;
-
-public class JPAEditorTestsActivator extends Plugin {
-
- /**
- *
- */
- public JPAEditorTestsActivator() {
- }
-
- // The shared instance
- private static JPAEditorTestsActivator plugin;
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
- */
- public void start(BundleContext context) throws Exception {
- super.start(context);
- plugin = this;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
- */
- public void stop(BundleContext context) throws Exception {
- plugin = null;
- super.stop(context);
- }
-
- /**
- * Returns the shared instance
- *
- * @return the shared instance
- */
- public static JPAEditorTestsActivator getDefault() {
- return plugin;
- }
-
-
-
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/editor/EditorTest.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/editor/EditorTest.java
deleted file mode 100644
index d16b031506..0000000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/editor/EditorTest.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.editor;
-
-import static org.easymock.EasyMock.eq;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.isA;
-import static org.easymock.EasyMock.replay;
-import static org.easymock.EasyMock.verify;
-import static org.junit.Assert.assertNotNull;
-
-import org.easymock.EasyMock;
-import org.eclipse.gef.EditPart;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jpt.jpa.core.JpaStructureNode;
-import org.eclipse.jpt.jpa.ui.internal.selection.JpaSelection;
-import org.eclipse.jpt.jpa.ui.internal.selection.JpaSelectionManager;
-import org.eclipse.jpt.jpa.ui.internal.selection.JpaSelectionParticipant;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.JPADiagramEditor;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.JPADiagramEditorPlugin;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchPartSite;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.junit.Test;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.BundleListener;
-
-@SuppressWarnings("restriction")
-public class EditorTest {
-
- @Test
- public void testJPADiagramEditorCreation() {
- JPADiagramEditor ed = new JPADiagramEditor();
- assertNotNull(ed);
- }
-
-
- @Test
- public void testJPADiagramEditorPlugin() {
- JPADiagramEditorPlugin plugin = new JPADiagramEditorPlugin();
- BundleContext bc = EasyMock.createMock(BundleContext.class);
- Bundle bundle = EasyMock.createMock(Bundle.class);
- EasyMock.expect(bundle.getSymbolicName()).andStubReturn("");
- EasyMock.expect(bc.getBundle()).andStubReturn(bundle);
- bc.addBundleListener(EasyMock.isA(BundleListener.class));
- bc.removeBundleListener(EasyMock.isA(BundleListener.class));
- EasyMock.replay(bc, bundle);
- try {
- plugin.start(bc);
- plugin.stop(bc);
- } catch (Exception e) {
- e.printStackTrace();
- }
- EasyMock.verify(bc);
- }
-
- @Test
- public void testSelectionChanged() {
- final IJPAEditorFeatureProvider provider = EasyMock
- .createMock(IJPAEditorFeatureProvider.class);
-
- IWorkbenchPart part = replayPart();
-
- PictogramElement pe = EasyMock.createMock(PictogramElement.class);
- replay(pe);
- EditPart editPart = EasyMock.createMock(EditPart.class);
- expect(editPart.getModel()).andReturn(pe);
- replay(editPart);
-
- JpaStructureNode jpaNodeToBeSelected = EasyMock
- .createMock(JpaStructureNode.class);
- expect(provider.getBusinessObjectForPictogramElement(pe)).andReturn(
- jpaNodeToBeSelected);
- replay(provider);
-
- // test
- JpaSelectionManager manager = EasyMock
- .createMock(JpaSelectionManager.class);
- manager.select(isA(JpaSelection.class),
- (JpaSelectionParticipant) eq(null));
- replay(manager);
-
- JPADiagramEditor.ISelectionManagerFactory factory = EasyMock
- .createMock(JPADiagramEditor.ISelectionManagerFactory.class);
- expect(factory.getSelectionManager(isA(IWorkbenchWindow.class)))
- .andReturn(manager);
- replay(factory);
- JPADiagramEditor editor = createEditor(provider, factory);
- // test
- editor.selectionChanged(part, new StructuredSelection(editPart));
- verify(manager);
- }
-
- private JPADiagramEditor createEditor(final IJPAEditorFeatureProvider provider,
- JPADiagramEditor.ISelectionManagerFactory factory) {
- IWorkbenchPage page = EasyMock.createMock(IWorkbenchPage.class);
- expect(page.isPartVisible(isA(IWorkbenchPart.class)))
- .andReturn(false);
- expect(page.getActiveEditor()).andStubReturn(null);
- replay(page);
- final IWorkbenchPartSite site = EasyMock
- .createMock(IWorkbenchPartSite.class);
- expect(site.getPage()).andStubReturn(page);
- replay(site);
-
- JPADiagramEditor editor = new JPADiagramEditor(factory) {
- @Override
- public IJPAEditorFeatureProvider getFeatureProvider() {
- return provider;
- }
-
- public IWorkbenchPartSite getSite() {
- return site;
- }
- };
- return editor;
- }
-
- private IWorkbenchPart replayPart() {
- IWorkbenchWindow window = EasyMock.createMock(IWorkbenchWindow.class);
- replay(window);
- IWorkbenchPage page = EasyMock.createMock(IWorkbenchPage.class);
- IWorkbenchPartSite site = EasyMock.createMock(IWorkbenchPartSite.class);
- expect(site.getWorkbenchWindow()).andReturn(window);
- expect(site.getPage()).andStubReturn(page);
- replay(site);
- IWorkbenchPart part = EasyMock.createMock(IWorkbenchPart.class);
- expect(part.getSite()).andStubReturn(site);
- expect(page.isPartVisible(isA(IWorkbenchPart.class)))
- .andReturn(false);
- expect(page.getActiveEditor()).andReturn(null);
- replay(page);
- replay(part);
- return part;
- }
-
- @Test
- public void testSelectionChangedTextSelection() {
- JPADiagramEditor editor = createEditor(null, null);
- editor.selectionChanged(null, new ISelection() {
- public boolean isEmpty() {
- return false;
- }
- });
- }
-
- @Test
- public void testSelectionChangedNotEditPart() {
- JPADiagramEditor editor = createEditor(null, null);
- editor.selectionChanged(null, new StructuredSelection(new Object()));
- }
-
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/AddAttributeFeatureTest.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/AddAttributeFeatureTest.java
deleted file mode 100644
index 67958b7e54..0000000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/AddAttributeFeatureTest.java
+++ /dev/null
@@ -1,188 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Kiril Mitov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.feature;
-
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.replay;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertSame;
-
-import java.util.Arrays;
-
-import org.easymock.EasyMock;
-import org.easymock.IArgumentMatcher;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.graphiti.features.IAddFeature;
-import org.eclipse.graphiti.features.IDirectEditingInfo;
-import org.eclipse.graphiti.features.context.IAddContext;
-import org.eclipse.graphiti.features.context.ICustomContext;
-import org.eclipse.graphiti.features.context.impl.AddContext;
-import org.eclipse.graphiti.features.custom.ICustomFeature;
-import org.eclipse.graphiti.mm.algorithms.GraphicsAlgorithm;
-import org.eclipse.graphiti.mm.algorithms.Text;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.AddAttributeFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.junit.Before;
-import org.junit.Test;
-
-public class AddAttributeFeatureTest {
-
- private IJPAEditorFeatureProvider featureProvider;
-
- private AddContext context;
-
- private JavaPersistentAttribute jpa;
-
- private ContainerShape entityShape;
-
- private ICustomFeature expandFeature;
-
- private IAddFeature graphicalAdd;
-
- /**
- * @throws java.lang.Exception
- */
- @Before
- public void setUp() throws Exception {
- featureProvider = EasyMock.createMock(IJPAEditorFeatureProvider.class);
- jpa = EasyMock.createMock(JavaPersistentAttribute.class);
- context = new AddContext();
- context.setNewObject(jpa);
- context.setTargetContainer(entityShape);
- graphicalAdd = EasyMock.createMock(IAddFeature.class);
- expandFeature = EasyMock.createMock(ICustomFeature.class);
- }
-
- @Test
- public void testAddNotJPA() {
- context.setNewObject(new Object());
- assertNull(callAdd());
- }
-
-
- @SuppressWarnings("unused")
- private void confgirueAttributeShape(ContainerShape attributeContainer) {
- ContainerShape attributeShape = EasyMock.createMock(ContainerShape.class);
- expect(featureProvider.getPictogramElementForBusinessObject(jpa)).andReturn(attributeShape);
- expect(attributeShape.getContainer()).andReturn(attributeContainer);
- replay(attributeShape);
- }
-
- @SuppressWarnings({ "unchecked", "unused" })
- private ContainerShape replayTextShape(Text text) {
- EList<GraphicsAlgorithm> children = EasyMock.createMock(EList.class);
- children.add(text);
- GraphicsAlgorithm ga = EasyMock.createMock(GraphicsAlgorithm.class);
- expect(ga.getGraphicsAlgorithmChildren()).andReturn(children);
- replay(ga);
- ContainerShape textShape = EasyMock.createMock(ContainerShape.class);
- expect(textShape.getGraphicsAlgorithm()).andReturn(ga);
- replay(textShape);
- return textShape;
- }
-
- @SuppressWarnings("unused")
- private IDirectEditingInfo configureDirectEditing(Text text, ContainerShape textShape) {
- IDirectEditingInfo info = EasyMock.createMock(IDirectEditingInfo.class);
- info.setGraphicsAlgorithm(text);
- info.setMainPictogramElement(textShape);
- info.setPictogramElement(textShape);
- expect(featureProvider.getDirectEditingInfo()).andReturn(info);
- replay(info);
- return info;
- }
-
- @SuppressWarnings("unused")
- private ICustomContext createCustomContextMatcher(final PictogramElement[] elements) {
- EasyMock.reportMatcher(new IArgumentMatcher() {
- public void appendTo(StringBuffer buffer) {
- }
-
- public boolean matches(Object argument) {
- if (!ICustomContext.class.isInstance(argument))
- return false;
- ICustomContext context = (ICustomContext) argument;
- return Arrays.equals(context.getPictogramElements(), elements);
- }
- });
- return null;
- }
-
- @SuppressWarnings("unused")
- private IAddContext contextMatcher() {
- EasyMock.reportMatcher(new IArgumentMatcher() {
-
- public void appendTo(StringBuffer buffer) {
- }
-
- public boolean matches(Object argument) {
- if (!IAddContext.class.isInstance(argument))
- return false;
- IAddContext context = (IAddContext) argument;
- // compare by reference
- if (jpa != context.getNewObject())
- return false;
- if (entityShape != context.getTargetContainer())
- return false;
- return true;
-
- }
-
- });
- return null;
- }
-
- private PictogramElement callAdd() {
- IAddFeature fixture = createFeature();
- return fixture.add(context);
- }
-
- @Test
- public void testGetFeatureProvider() {
- assertSame(featureProvider, createFeature().getFeatureProvider());
- }
-
- @Test
- public void testCanAddObject() {
- context.setNewObject(new Object());
- // test
- assertEquals(false, callCanAdd());
- }
-
- @Test
- public void testCanAddJpt() {
- // test
- assertEquals(true, callCanAdd());
- }
-
- private boolean callCanAdd() {
- IAddFeature fixture = createFeature();
- boolean result = fixture.canAdd(context);
- return result;
- }
-
- private IAddFeature createFeature() {
- replay(featureProvider);
- replay(graphicalAdd);
- replay(expandFeature);
- return new AddAttributeFeature(featureProvider, graphicalAdd, expandFeature);
- }
-
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/AddJPAEntityFeatureTest.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/AddJPAEntityFeatureTest.java
deleted file mode 100644
index f586ba2321..0000000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/AddJPAEntityFeatureTest.java
+++ /dev/null
@@ -1,277 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.feature;
-
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.replay;
-
-import org.easymock.EasyMock;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.util.BasicInternalEList;
-import org.eclipse.graphiti.dt.IDiagramTypeProvider;
-import org.eclipse.graphiti.mm.Property;
-import org.eclipse.graphiti.mm.algorithms.GraphicsAlgorithm;
-import org.eclipse.graphiti.mm.algorithms.Image;
-import org.eclipse.graphiti.mm.algorithms.Rectangle;
-import org.eclipse.graphiti.mm.algorithms.Text;
-import org.eclipse.graphiti.mm.algorithms.styles.Color;
-import org.eclipse.graphiti.mm.algorithms.styles.Font;
-import org.eclipse.graphiti.mm.algorithms.styles.Orientation;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-import org.eclipse.graphiti.mm.pictograms.PictogramsPackage;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.UpdateAttributeFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.junit.Before;
-import org.junit.Test;
-
-public class AddJPAEntityFeatureTest {
-
- private IJPAEditorFeatureProvider featureProvider;
-
-
- @Before
- public void setUp() throws Exception {
- Thread.sleep(2000);
- featureProvider = EasyMock.createMock(IJPAEditorFeatureProvider.class);
- expect(featureProvider.getAttribsNum((Shape) EasyMock.anyObject())).andStubReturn(0);
- IDiagramTypeProvider idp = EasyMock.createMock(IDiagramTypeProvider.class);
- expect(featureProvider.getDiagramTypeProvider()).andStubReturn(idp);
- expect(featureProvider.increaseAttribsNum((Shape) EasyMock.anyObject())).andStubReturn(1);
- Diagram d = EasyMock.createMock(Diagram.class);
- expect(idp.getDiagram()).andStubReturn(d);
- Color c = EasyMock.createMock(Color.class);
- expect(c.getBlue()).andStubReturn(0);
- expect(c.getRed()).andStubReturn(0);
- expect(c.getGreen()).andStubReturn(0);
- EList<Color> col = new BasicInternalEList<Color>(Color.class);
- expect(d.getColors()).andStubReturn(col);
- Color c1 = EasyMock.createMock(Color.class);
- c1.setRed(EasyMock.anyInt());
- EasyMock.expectLastCall().asStub();
- c1.setGreen(EasyMock.anyInt());
- EasyMock.expectLastCall().asStub();
- c1.setBlue(EasyMock.anyInt());
- EasyMock.expectLastCall().asStub();
- EList<Font> fonts = new BasicInternalEList<Font>(Font.class);
- expect(d.getFonts()).andStubReturn(fonts);
- replay(d, c, c1, idp, featureProvider);
- }
-
-
- @Test
- public void testAddText() {
- Font f = EasyMock.createMock(Font.class);
- Text t = EasyMock.createMock(Text.class);
- t.setFont(f);
- EasyMock.expectLastCall().asStub();
- expect(t.getX()).andStubReturn(0);
- expect(t.getY()).andStubReturn(0);
-
- f.setName("Arial");
- EasyMock.expectLastCall().asStub();
- f.setSize(EasyMock.anyInt());
- EasyMock.expectLastCall().asStub();
- f.setItalic(EasyMock.anyBoolean());
- EasyMock.expectLastCall().asStub();
- f.setBold(EasyMock.anyBoolean());
- EasyMock.expectLastCall().asStub();
- t.setWidth(EasyMock.anyInt());
- EasyMock.expectLastCall().asStub();
- t.setHeight(EasyMock.anyInt());
- EasyMock.expectLastCall().asStub();
- t.setValue("abc");
- EasyMock.expectLastCall().asStub();
-
- t.setForeground((Color) EasyMock.anyObject());
- EasyMock.expectLastCall().asStub();
- t.setHorizontalAlignment(Orientation.ALIGNMENT_LEFT);
- EasyMock.expectLastCall().asStub();
- t.setVerticalAlignment(Orientation.ALIGNMENT_TOP);
- EasyMock.expectLastCall().asStub();
-
- Font f1 = EasyMock.createMock(Font.class);
- f1.setBold(true);
- EasyMock.expectLastCall().asStub();
- expect(t.getFont()).andStubReturn(f1);
-
- Rectangle textRectangle = EasyMock.createMock(Rectangle.class);
- EList<GraphicsAlgorithm> lst = new BasicInternalEList<GraphicsAlgorithm>(GraphicsAlgorithm.class);
- expect(textRectangle.getGraphicsAlgorithmChildren()).andStubReturn(lst);
-
- replay(f1, f, t, textRectangle);
- UpdateAttributeFeature.addText(featureProvider, textRectangle, "abc");
- }
-
- @Test
- public void testaddRectangleForIcon() {
- ContainerShape cs = EasyMock.createMock(ContainerShape.class);
- Rectangle rect = EasyMock.createMock(Rectangle.class);
- expect(rect.getX()).andStubReturn(0);
- expect(rect.getY()).andStubReturn(0);
- rect.setWidth(EasyMock.anyInt());
- EasyMock.expectLastCall().asStub();
- rect.setHeight(EasyMock.anyInt());
- EasyMock.expectLastCall().asStub();
- cs.setGraphicsAlgorithm(rect);
- EasyMock.expectLastCall().asStub();
- rect.setFilled(EasyMock.anyBoolean());
- EasyMock.expectLastCall().asStub();
- rect.setLineVisible(EasyMock.anyBoolean());
- EasyMock.expectLastCall().asStub();
- rect.setX(EasyMock.anyInt());
- rect.setLineVisible(EasyMock.anyBoolean());
- rect.setY(EasyMock.anyInt());
- rect.setLineVisible(EasyMock.anyBoolean());
- rect.setWidth(EasyMock.anyInt());
- rect.setLineVisible(EasyMock.anyBoolean());
- cs.setGraphicsAlgorithm(EasyMock.isA(Rectangle.class));
- EasyMock.expectLastCall().asStub();
- replay(rect, cs);
- UpdateAttributeFeature.addRectangleForIcon(cs, 0);
- }
-
- @Test
- public void testAddRectangleForText() {
- ContainerShape cs = EasyMock.createMock(ContainerShape.class);
- Rectangle rect = EasyMock.createMock(Rectangle.class);
- expect(rect.getX()).andStubReturn(0);
- expect(rect.getY()).andStubReturn(0);
- rect.setWidth(EasyMock.anyInt());
- EasyMock.expectLastCall().asStub();
- rect.setHeight(EasyMock.anyInt());
- EasyMock.expectLastCall().asStub();
- cs.setGraphicsAlgorithm(rect);
- EasyMock.expectLastCall().asStub();
- rect.setFilled(EasyMock.anyBoolean());
- EasyMock.expectLastCall().asStub();
- rect.setLineVisible(EasyMock.anyBoolean());
- EasyMock.expectLastCall().asStub();
- rect.setX(EasyMock.anyInt());
- rect.setLineVisible(EasyMock.anyBoolean());
- rect.setY(EasyMock.anyInt());
- rect.setLineVisible(EasyMock.anyBoolean());
- rect.setWidth(EasyMock.anyInt());
- rect.setLineVisible(EasyMock.anyBoolean());
- cs.setGraphicsAlgorithm(EasyMock.isA(Rectangle.class));
- EasyMock.expectLastCall().asStub();
- replay(rect, cs);
- UpdateAttributeFeature.addRectangleForText(cs, 0, 120);
- }
-
- @Test
- public void testAddAttribute() {
- GraphicsAlgorithm ga = EasyMock.createMock(GraphicsAlgorithm.class);
- expect(ga.getWidth()).andStubReturn(20);
- ContainerShape cs = EasyMock.createMock(ContainerShape.class);
- expect(cs.getGraphicsAlgorithm()).andStubReturn(ga);
- Rectangle rect = EasyMock.createMock(Rectangle.class);
- expect(rect.getX()).andStubReturn(0);
- expect(rect.getY()).andStubReturn(0);
- rect.setWidth(EasyMock.anyInt());
- EasyMock.expectLastCall().asStub();
- rect.setHeight(EasyMock.anyInt());
- EasyMock.expectLastCall().asStub();
- rect.setFilled(EasyMock.anyBoolean());
- EasyMock.expectLastCall().asStub();
- rect.setLineVisible(EasyMock.anyBoolean());
- EasyMock.expectLastCall().asStub();
- rect.setX(EasyMock.anyInt());
- EasyMock.expectLastCall().asStub();
- rect.setY(EasyMock.anyInt());
- EasyMock.expectLastCall().asStub();
-
- EList<Property> props = new BasicInternalEList<Property>(Property.class);
- EList<Property> props1 = new BasicInternalEList<Property>(Property.class);
-
- expect(cs.getProperties()).andStubReturn(props);
-
- cs.setVisible(EasyMock.anyBoolean());
- EasyMock.expectLastCall().asStub();
- cs.setActive(EasyMock.anyBoolean());
- EasyMock.expectLastCall().asStub();
- cs.setContainer((ContainerShape) EasyMock.anyObject());
- EasyMock.expectLastCall().asStub();
- ContainerShape cs1 = EasyMock.createMock(ContainerShape.class);
- expect(cs1.getProperties()).andStubReturn(props1);
- cs1.setVisible(EasyMock.anyBoolean());
- EasyMock.expectLastCall().asStub();
- cs1.setActive(EasyMock.anyBoolean());
- EasyMock.expectLastCall().asStub();
- cs1.setContainer((ContainerShape) EasyMock.anyObject());
- EasyMock.expectLastCall().asStub();
- PictogramsPackage p = EasyMock.createMock(PictogramsPackage.class);
- Property pr = EasyMock.createMock(Property.class);
- cs1.setGraphicsAlgorithm((GraphicsAlgorithm) EasyMock.anyObject());
- EasyMock.expectLastCall().asStub();
- Image img = EasyMock.createMock(Image.class);
- expect(img.getX()).andStubReturn(0);
- expect(img.getY()).andStubReturn(0);
- img.setWidth(EasyMock.anyInt());
- EasyMock.expectLastCall().asStub();
- img.setHeight(EasyMock.anyInt());
- EasyMock.expectLastCall().asStub();
- img.setX(EasyMock.anyInt());
- EasyMock.expectLastCall().asStub();
- img.setY(EasyMock.anyInt());
- EasyMock.expectLastCall().asStub();
- img.setId("org.eclisp.jpt.ui.diagrameditor.field");
- EasyMock.expectLastCall().asStub();
- img.setProportional(EasyMock.anyBoolean());
- EasyMock.expectLastCall().asStub();
- img.setStretchH(EasyMock.anyBoolean());
- EasyMock.expectLastCall().asStub();
- img.setStretchV(EasyMock.anyBoolean());
- EasyMock.expectLastCall().asStub();
- EList<GraphicsAlgorithm> ch = new BasicInternalEList<GraphicsAlgorithm>(GraphicsAlgorithm.class);
- expect(rect.getGraphicsAlgorithmChildren()).andStubReturn(ch);
- expect(pr.getKey()).andStubReturn("prop_shape_type");
- Text t = EasyMock.createMock(Text.class);
- expect(t.getX()).andStubReturn(0);
- expect(t.getY()).andStubReturn(0);
- t.setWidth(EasyMock.anyInt());
- EasyMock.expectLastCall().asStub();
- t.setX(EasyMock.anyInt());
- EasyMock.expectLastCall().asStub();
- t.setY(EasyMock.anyInt());
- EasyMock.expectLastCall().asStub();
- t.setHeight(EasyMock.anyInt());
- EasyMock.expectLastCall().asStub();
- t.setValue("");
- EasyMock.expectLastCall().asStub();
- Font f = EasyMock.createMock(Font.class);
- f.setName((String) EasyMock.anyObject());
- EasyMock.expectLastCall().asStub();
-
- f.setSize(EasyMock.anyInt());
- EasyMock.expectLastCall().asStub();
- f.setItalic(EasyMock.anyBoolean());
- EasyMock.expectLastCall().asStub();
- f.setBold(EasyMock.anyBoolean());
- EasyMock.expectLastCall().asStub();
- expect(t.getFont()).andStubReturn(f);
- t.setFont((Font) EasyMock.anyObject());
- EasyMock.expectLastCall().asStub();
- EasyMock.expectLastCall().asStub();
- t.setForeground((Color) EasyMock.anyObject());
- t.setHorizontalAlignment(Orientation.ALIGNMENT_LEFT);
- t.setVerticalAlignment(Orientation.ALIGNMENT_TOP);
- f.setBold(true);
- replay(rect, ga, img, cs, cs1, p, pr, t, f);
- }
-
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/AddRelationFeatureTest.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/AddRelationFeatureTest.java
deleted file mode 100644
index 242dedead9..0000000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/AddRelationFeatureTest.java
+++ /dev/null
@@ -1,329 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Kiril Mitov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.feature;
-
-import static org.easymock.EasyMock.aryEq;
-import static org.easymock.EasyMock.eq;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.isA;
-import static org.easymock.EasyMock.replay;
-import static org.easymock.EasyMock.verify;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertSame;
-
-import java.util.LinkedList;
-import java.util.List;
-
-import org.easymock.EasyMock;
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.util.BasicInternalEList;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.graphiti.dt.IDiagramTypeProvider;
-import org.eclipse.graphiti.features.IAddBendpointFeature;
-import org.eclipse.graphiti.features.IAddFeature;
-import org.eclipse.graphiti.features.context.IAddBendpointContext;
-import org.eclipse.graphiti.features.context.IAddConnectionContext;
-import org.eclipse.graphiti.features.context.IAddContext;
-import org.eclipse.graphiti.features.context.ILayoutContext;
-import org.eclipse.graphiti.mm.algorithms.Polyline;
-import org.eclipse.graphiti.mm.pictograms.Anchor;
-import org.eclipse.graphiti.mm.pictograms.Connection;
-import org.eclipse.graphiti.mm.pictograms.ConnectionDecorator;
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-import org.eclipse.graphiti.mm.pictograms.FreeFormConnection;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.services.IGaService;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.AddRelationFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorImageCreator;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.IRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.IRelation.RelDir;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.IRelation.RelType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IJPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IPeServiceUtil;
-import org.eclipse.swt.graphics.Point;
-import org.junit.Before;
-import org.junit.Test;
-
-public class AddRelationFeatureTest {
-
- private IJPAEditorFeatureProvider featureProvider;
-
- private IJPAEditorImageCreator imageCreator;
-
- private IJPAEditorUtil jpaEditorUtil;
-
- private IDiagramTypeProvider diagramProvider;
-
- private Diagram diagram;
-
- private IAddConnectionContext context;
-
- private IPeServiceUtil peUtil;
-
- private IGaService gaUtil;
-
- private IAddBendpointFeature ft;
-
- private Resource resource;
-
- private static String OWNER_AT_NAME = "ownerAttr"; //$NON-NLS-1$
-
- private static String INVERSE_AT_NAME = "inverseAttr"; //$NON-NLS-1$
-
- /**
- * @throws java.lang.Exception
- */
- @SuppressWarnings("unchecked")
- @Before
- public void setUp() throws Exception {
- featureProvider = EasyMock.createMock(IJPAEditorFeatureProvider.class);
- imageCreator = EasyMock.createMock(IJPAEditorImageCreator.class);
- jpaEditorUtil = EasyMock.createMock(IJPAEditorUtil.class);
- diagramProvider = EasyMock.createMock(IDiagramTypeProvider.class);
- diagram = EasyMock.createMock(Diagram.class);
- context = EasyMock.createMock(IAddConnectionContext.class);
- peUtil = EasyMock.createMock(IPeServiceUtil.class);
- gaUtil = EasyMock.createMock(IGaService.class);
- ft = EasyMock.createMock(IAddBendpointFeature.class);
-
-
- TransactionalEditingDomain defaultTransEditDomain = EasyMock.createMock(TransactionalEditingDomain.class);
- ResourceSet resourceSet = EasyMock.createMock(ResourceSet.class);
- expect(defaultTransEditDomain.getResourceSet()).andStubReturn(resourceSet);
- EList<Adapter> eAdapters = EasyMock.createMock(EList.class);
- expect(resourceSet.eAdapters()).andStubReturn(eAdapters);
- //IFile diagramFile = project.getFile(diagramFileName.removeFirstSegments(1));
- //IPath diagramFilePath = diagramFile.getFullPath();
-
- //String pathName = diagramFilePath.toString();
- //URI resourceURI = URI.createPlatformResourceURI(pathName, true);
- resource = EasyMock.createMock(Resource.class);
- expect(resourceSet.getResource(isA(URI.class), EasyMock.anyBoolean())).andStubReturn(resource);
-
- expect(resource.getResourceSet()).andStubReturn(resourceSet);
- replay(defaultTransEditDomain, resourceSet, resource);
-
- }
-
- @Test
- public void testCanAddNotAddConnectionContext() {
- IAddContext context = EasyMock.createMock(IAddContext.class);
- verifyCanAdd(context, false);
- }
-
- @Test
- public void testCanAddNoRelation() throws Exception {
- IAddConnectionContext context = EasyMock.createMock(IAddConnectionContext.class);
- Object notARelation = new Object();
- expect(context.getNewObject()).andReturn(notARelation);
- verifyCanAdd(context, false);
- }
-
- @Test
- public void testCanAdd() throws Exception {
- IAddConnectionContext context = EasyMock.createMock(IAddConnectionContext.class);
- IRelation relation = EasyMock.createMock(IRelation.class);
- replay(relation);
- expect(context.getNewObject()).andReturn(relation);
- verifyCanAdd(context, true);
- }
-
- @Test
- public void testGetFeatureProvider() {
- IAddFeature fixture = createFeature();
- assertSame(featureProvider, fixture.getFeatureProvider());
- }
-
- @SuppressWarnings("unused")
- private void expectManyEndDecorator(double location) {
- ConnectionDecorator d = EasyMock.createMock(ConnectionDecorator.class);
- Polyline pl = EasyMock.createMock(Polyline.class);
- expect(pl.getX()).andReturn(0);
- expect(pl.getY()).andReturn(0);
- expect(imageCreator.createManyEndDecorator(isA(Connection.class), eq(location))).andReturn(d);
- expect(d.getGraphicsAlgorithm()).andReturn(pl);
- replay(d, pl);
- }
-
- @SuppressWarnings("unused")
- private void expectManyStartDecorator(double location) {
- ConnectionDecorator d = EasyMock.createMock(ConnectionDecorator.class);
- Polyline pl = EasyMock.createMock(Polyline.class);
- expect(pl.getX()).andReturn(0);
- expect(pl.getY()).andReturn(0);
- expect(imageCreator.createManyStartDecorator(isA(Connection.class), eq(location))).andReturn(d);
- expect(d.getGraphicsAlgorithm()).andReturn(pl);
- replay(d, pl);
- }
-
- @SuppressWarnings("unused")
- private void expectManyEndWithArrow(final double location) {
- ConnectionDecorator d = EasyMock.createMock(ConnectionDecorator.class);
- Polyline pl = EasyMock.createMock(Polyline.class);
- expect(pl.getX()).andReturn(0);
- expect(pl.getY()).andReturn(0);
- expect(imageCreator.createManyEndWithArrowDecorator(isA(Connection.class), eq(location))).andReturn(d);
- expect(d.getGraphicsAlgorithm()).andReturn(pl);
- replay(d, pl);
- }
-
- @SuppressWarnings("unused")
- private void expectArrow(final double location) {
- ConnectionDecorator d = EasyMock.createMock(ConnectionDecorator.class);
- Polyline pl = EasyMock.createMock(Polyline.class);
- expect(pl.getX()).andReturn(0);
- expect(pl.getY()).andReturn(0);
- expect(imageCreator.createArrowConnectionDecorator(isA(Connection.class), eq(location))).andReturn(d);
- expect(d.getGraphicsAlgorithm()).andReturn(pl);
- replay(d, pl);
- }
-
- @SuppressWarnings("unused")
- private void expectTextConnectionDecorator(String text, double location) {
- expect(imageCreator.createCardinalityConnectionDecorator(diagram, isA(Connection.class), eq(text), eq(location))).andReturn(
- null);
- }
-
- @SuppressWarnings("unused")
- private void configureRelation(IRelation relation, final RelDir direction, final RelType type) {
- expect(relation.getOwnerAttributeName()).andStubReturn(OWNER_AT_NAME);
- expect(relation.getInverseAttributeName()).andStubReturn(INVERSE_AT_NAME);
- expect(relation.getRelDir()).andStubReturn(direction);
- expect(relation.getRelType()).andStubReturn(type);
- }
-
- private void configureProvidersForAdd(IRelation relation) {
- expect(diagramProvider.getDiagram()).andReturn(diagram);
- expect(featureProvider.getDiagramTypeProvider()).andReturn(diagramProvider);
- expect(featureProvider.getPeUtil()).andReturn(peUtil);
- expect(featureProvider.getAddBendpointFeature(isA(IAddBendpointContext.class))).andStubReturn(ft);
- expect(context.getNewObject()).andReturn(relation);
-
- }
-
- @SuppressWarnings("unused")
- private void verifyAdd(IRelation relation, boolean expectId) {
- FreeFormConnection connection = configureConnection(relation, expectId);
- replay(connection);
- PictogramElement result = callAdd();
- assertSame(connection, result);
- verify(context);
- verify(featureProvider);
- verify(imageCreator);
- verify(jpaEditorUtil);
- verify(diagram);
- verify(diagramProvider);
- verify(relation);
- }
-
- private PictogramElement callAdd() {
- IAddFeature fixture = createFeature();
- PictogramElement result = fixture.add(context);
- return result;
- }
-
- private FreeFormConnection configureConnection(IRelation relation, boolean expectId) {
- final String relationId = "someId"; //$NON-NLS-1$
- if (expectId)
- expect(relation.getId()).andStubReturn(relationId);
- replay(relation);
- configureProvidersForAdd(relation);
- Anchor startAnchor = replayAnchor();
- Anchor endAnchor = replayAnchor();
- expect(context.getSourceAnchor()).andReturn(startAnchor);
- expect(context.getTargetAnchor()).andReturn(endAnchor);
-
- gaUtil.setLocation(isA(Polyline.class), EasyMock.anyInt() , EasyMock.anyInt());
- gaUtil.setLocation(isA(Polyline.class), EasyMock.anyInt() , EasyMock.anyInt());
-
- FreeFormConnection connection = createConnection(startAnchor, endAnchor);
- expect(peUtil.createFreeFormConnection(diagram)).andReturn(connection);
- expect(imageCreator.createConnectionLine(diagram, connection)).andReturn(null);
- ft.addBendpoint(isA(IAddBendpointContext.class));
-
- List<Point> pts = new LinkedList<Point>();
- Point pt1 = new Point(100, 100);
- //Point pt2 = new Point(200, 200);
- pts.add(pt1);
- //pts.add(pt2);
- expect(jpaEditorUtil.createBendPointList(connection, false)).andReturn(pts);
- featureProvider.putKeyToBusinessObject(relationId, relation);
- featureProvider.link(eq(connection), aryEq(new IRelation[] { relation }));
- expect(featureProvider.layoutIfPossible(isA(ILayoutContext.class))).andReturn(null);
- return connection;
- }
-
- private Anchor replayAnchor() {
- Anchor startAnchor = EasyMock.createMock(Anchor.class);
- replay(startAnchor);
- return startAnchor;
- }
-
- private FreeFormConnection createConnection(Anchor startAnchor, Anchor endAnchor) {
- FreeFormConnection connection = EasyMock.createMock(FreeFormConnection.class);
- connection.setStart(startAnchor);
- connection.setEnd(endAnchor);
- connection.setVisible(true);
- connection.setActive(true);
-
- org.eclipse.graphiti.mm.algorithms.styles.Point pt = EasyMock.createMock(org.eclipse.graphiti.mm.algorithms.styles.Point.class);
- expect(pt.getX()).andStubReturn(100);
- expect(pt.getY()).andStubReturn(100);
-
- org.eclipse.graphiti.mm.algorithms.styles.Point pt1 = EasyMock.createMock(org.eclipse.graphiti.mm.algorithms.styles.Point.class);
- expect(pt1.getX()).andStubReturn(200);
- expect(pt1.getY()).andStubReturn(200);
-
-
- EList<org.eclipse.graphiti.mm.algorithms.styles.Point> pts1 = new BasicInternalEList<org.eclipse.graphiti.mm.algorithms.styles.Point>(org.eclipse.graphiti.mm.algorithms.styles.Point.class);
- pts1.add(pt);
- pts1.add(pt1);
- expect(connection.getBendpoints()).andStubReturn(pts1);
- replay(pt, pt1);
- return connection;
- }
-
- private void verifyCanAdd(IAddContext context, final boolean expected) {
- replay(context);
- boolean result = callCanAdd(context);
- assertEquals(expected, result);
- verify(context);
- }
-
- private boolean callCanAdd(IAddContext context) {
- IAddFeature fixture = createFeature();
- return fixture.canAdd(context);
- }
-
- private IAddFeature createFeature() {
- replay(featureProvider);
- replay(imageCreator);
- replay(jpaEditorUtil);
- replay(diagramProvider);
- replay(diagram);
- replay(context);
- replay(peUtil);
- replay(gaUtil);
- replay(ft);
- return new AddRelationFeature(featureProvider, imageCreator, jpaEditorUtil);
- }
-
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/ClickAddFeatureTest.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/ClickAddFeatureTest.java
deleted file mode 100644
index a700ef5c66..0000000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/ClickAddFeatureTest.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.feature;
-
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.isA;
-import static org.easymock.EasyMock.replay;
-import static org.junit.Assert.assertNotNull;
-
-import org.easymock.EasyMock;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.graphiti.dt.IDiagramTypeProvider;
-import org.eclipse.graphiti.features.IDirectEditingInfo;
-import org.eclipse.graphiti.features.context.IAddContext;
-import org.eclipse.graphiti.features.context.ICreateContext;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.JptJpaCorePlugin;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.ClickAddAttributeButtonFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IJPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.JPACreateFactory;
-import org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.util.IEditor;
-import org.eclipse.ui.IWorkbenchPartSite;
-import org.junit.Before;
-import org.junit.Test;
-
-public class ClickAddFeatureTest {
-
- private IJPAEditorFeatureProvider featureProvider;
- private ICreateContext context;
- final String TEST_PROJECT = "Test";
- private JpaProject jpaProject = null;
- private JPACreateFactory factory = null;
- JavaPersistentType jpt = null;
- ICompilationUnit cu = null;
-
- @Before
- public void setUp() throws Exception {
- System.setProperty(JPACreateFactory.JPA_JAR_NAME_SYSTEM_PROPERTY, "C:\\lib\\persistence-api-1.0.jar");
- JptJpaCorePlugin.getJpaProjectManager();
- factory = JPACreateFactory.instance();
- jpaProject = factory.createJPAProject(TEST_PROJECT + "_" + System.currentTimeMillis());
- assertNotNull(jpaProject);
- IFile entity = factory.createEntity(jpaProject, "org.eclipse.Entity1");
- ContainerShape cs = EasyMock.createMock(ContainerShape.class);
- context = EasyMock.createMock(ICreateContext.class);
- expect(context.getTargetContainer()).andStubReturn(cs);
- expect(context.getX()).andStubReturn(0);
- expect(context.getY()).andStubReturn(0);
- expect(context.getWidth()).andStubReturn(100);
- expect(context.getHeight()).andStubReturn(100);
- expect(context.getTargetConnection()).andStubReturn(null);
- IDirectEditingInfo dei = EasyMock.createMock(IDirectEditingInfo.class);
- dei.setActive(true);
- Thread.sleep(2000);
- jpt = (JavaPersistentType)JPACreateFactory.getPersistentType(entity);
- int cnt = 0;
- while ((cnt < 50) && (jpt == null)) {
- Thread.sleep(200);
- jpt = (JavaPersistentType)JPACreateFactory.getPersistentType(entity);
- cnt++;
- }
- featureProvider = EasyMock.createMock(IJPAEditorFeatureProvider.class);
- expect(featureProvider.getBusinessObjectForPictogramElement(cs)).andStubReturn(jpt);
- expect(featureProvider.getPictogramElementForBusinessObject(jpt)).andStubReturn(null);
- cu = JavaCore.createCompilationUnitFrom(entity);
- cnt = 0;
- while ((cnt < 50) && (cu == null)) {
- Thread.sleep(200);
- cu = JavaCore.createCompilationUnitFrom(entity);
- cnt++;
- }
- expect(featureProvider.getCompilationUnit((JavaPersistentType) EasyMock.anyObject())).andReturn(cu).anyTimes();
- expect(featureProvider.addIfPossible(isA(IAddContext.class))).andStubReturn(null);
- expect(featureProvider.getDirectEditingInfo()).andStubReturn(dei);
-
- IJPAEditorUtil ut = EasyMock.createMock(IJPAEditorUtil.class);
- expect(featureProvider.getJPAEditorUtil()).andStubReturn(ut);
-
- IDiagramTypeProvider diagramTypeProvider = EasyMock.createMock(IDiagramTypeProvider.class);
- expect(featureProvider.getDiagramTypeProvider()).andStubReturn(diagramTypeProvider);
- IEditor ed = EasyMock.createMock(IEditor.class);
- expect(diagramTypeProvider.getDiagramEditor()).andStubReturn(ed);
- IWorkbenchPartSite ws = EasyMock.createMock(IWorkbenchPartSite.class);
- expect(ed.getSite()).andStubReturn(ws);
- ut.formatCode((ICompilationUnit)EasyMock.anyObject(), (IWorkbenchPartSite)EasyMock.anyObject());
-
- featureProvider.addAddIgnore(jpt, "attribute1");
-
- replay(featureProvider, cs, context, dei, diagramTypeProvider, ed, ws, ut);
- }
-
- @Test
- public void testClickAddAttributeButtonFeature(){
- if ((jpt == null) || (cu == null))
- return; // The test wasn't setup properly
- ClickAddAttributeButtonFeature feature = new ClickAddAttributeButtonFeature(featureProvider);
- Object[] created = feature.create(context);
- assertNotNull(created[0]);
- }
-
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/CreateDeleteOnlyAttributeTest.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/CreateDeleteOnlyAttributeTest.java
deleted file mode 100644
index 3ac34cc448..0000000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/CreateDeleteOnlyAttributeTest.java
+++ /dev/null
@@ -1,229 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.feature;
-
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.isA;
-import static org.easymock.EasyMock.replay;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-import java.util.concurrent.Semaphore;
-import java.util.concurrent.TimeUnit;
-
-import org.easymock.EasyMock;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.graphiti.features.context.IAddContext;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jpt.common.utility.model.event.ListAddEvent;
-import org.eclipse.jpt.common.utility.model.event.ListChangeEvent;
-import org.eclipse.jpt.common.utility.model.event.ListClearEvent;
-import org.eclipse.jpt.common.utility.model.event.ListMoveEvent;
-import org.eclipse.jpt.common.utility.model.event.ListRemoveEvent;
-import org.eclipse.jpt.common.utility.model.event.ListReplaceEvent;
-import org.eclipse.jpt.common.utility.model.listener.ListChangeListener;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.JptJpaCorePlugin;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-import org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.JPACreateFactory;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-public class CreateDeleteOnlyAttributeTest {
-
- private IJPAEditorFeatureProvider featureProvider;
- final String TEST_PROJECT = "Test";
- private JpaProject jpaProject = null;
- private JPACreateFactory factory = null;
- JavaPersistentType jpt = null;
-
- @Before
- public void setUp() throws Exception{
- JptJpaCorePlugin.getJpaProjectManager();
- factory = JPACreateFactory.instance();
- jpaProject = factory.createJPAProject(TEST_PROJECT + "_" + System.currentTimeMillis());
- assertNotNull(jpaProject);
- IFile entity = factory.createEntity(jpaProject, "org.eclipse.Entity1");
- jpt = (JavaPersistentType)JPACreateFactory.getPersistentType(entity);
- int c = 0;
- while ((jpt == null) && (c < 100)) {
- try {
- Thread.sleep(250);
- } catch (Exception e) {}
- jpt = (JavaPersistentType)JPACreateFactory.getPersistentType(entity);
- c++;
- }
- featureProvider = EasyMock.createMock(IJPAEditorFeatureProvider.class);
- expect(featureProvider.getBusinessObjectForPictogramElement(isA(ContainerShape.class))).andStubReturn(jpt);
- expect(featureProvider.getBusinessObjectForPictogramElement(null)).andReturn(JPACreateFactory.getPersistentType(entity));
- expect(featureProvider.getCompilationUnit(isA(JavaPersistentType.class))).andReturn(JavaCore.createCompilationUnitFrom(entity)).anyTimes();
- expect(featureProvider.addIfPossible(isA(IAddContext.class))).andStubReturn(null);
- expect(featureProvider.getPictogramElementForBusinessObject(jpt)).andStubReturn(isA(ContainerShape.class));
- ICompilationUnit cu = JavaCore.createCompilationUnitFrom(entity);
- expect(featureProvider.getCompilationUnit(jpt)).andStubReturn(cu);
- replay(featureProvider);
- }
-
-
- @Test
- public void testCreatePropertyAnnotatedAttribute() throws Exception {
- EntityAttributesChangeTestListener lsnr = new EntityAttributesChangeTestListener(0, 1);
- jpt.addListChangeListener(JavaPersistentType.ATTRIBUTES_LIST, lsnr);
- deleteAttribute("id");
- assertTrue(lsnr.waitForEvents());
- jpt.removeListChangeListener(JavaPersistentType.ATTRIBUTES_LIST, lsnr);
- lsnr = new EntityAttributesChangeTestListener(2, 0);
- jpt.addListChangeListener(JavaPersistentType.ATTRIBUTES_LIST, lsnr);
- JpaArtifactFactory.instance().makeNewAttribute(featureProvider, jpt, featureProvider.getCompilationUnit(jpt), "aaa", "java.lang.String", null, "aaa", null, false, true);
- assertFalse(lsnr.waitForEvents());
- assertEquals(1, lsnr.incrementCounter);
- assertEquals(0, lsnr.decrementCounter);
- }
-
-
-
- @Test
- public void testCreateFieldAnnotatedAttribute() throws Exception {
- EntityAttributesChangeTestListener lsnr = new EntityAttributesChangeTestListener(0, 1);
- jpt.addListChangeListener(JavaPersistentType.ATTRIBUTES_LIST, lsnr);
- deleteAttribute("id");
- assertTrue(lsnr.waitForEvents());
- jpt.removeListChangeListener(JavaPersistentType.ATTRIBUTES_LIST, lsnr);
- lsnr = new EntityAttributesChangeTestListener(2, 0);
- jpt.addListChangeListener(JavaPersistentType.ATTRIBUTES_LIST, lsnr);
- JpaArtifactFactory.instance().makeNewAttribute(featureProvider, jpt, featureProvider.getCompilationUnit(jpt), "aaa", "java.lang.String", null, "aaa", null, false, false);
- assertFalse(lsnr.waitForEvents());
- assertEquals(1, lsnr.incrementCounter);
- assertEquals(0, lsnr.decrementCounter);
- }
-
-
- @Test
- public void testDeletePropertyAnnotatedAttribute() throws Exception {
- EntityAttributesChangeTestListener lsnr = new EntityAttributesChangeTestListener(0, 2);
- jpt.addListChangeListener(JavaPersistentType.ATTRIBUTES_LIST, lsnr);
- deleteAttribute("id");
- assertFalse(lsnr.waitForEvents());
- assertEquals(0, lsnr.incrementCounter);
- assertEquals(1, lsnr.decrementCounter);
- }
-
-
- @Test
- public void testDeleteFieldAnnotatedAttribute() throws Exception {
- EntityAttributesChangeTestListener lsnr = new EntityAttributesChangeTestListener(1, 1);
- jpt.addListChangeListener(JavaPersistentType.ATTRIBUTES_LIST, lsnr);
- deleteAttribute("id");
- JpaArtifactFactory.instance().makeNewAttribute(featureProvider, jpt, featureProvider.getCompilationUnit(jpt), "aaa", "java.lang.String", null, "aaa", null, false, false);
- assertTrue(lsnr.waitForEvents());
- jpt.removeListChangeListener(JavaPersistentType.ATTRIBUTES_LIST, lsnr);
- lsnr = new EntityAttributesChangeTestListener(0, 2);
- jpt.addListChangeListener(JavaPersistentType.ATTRIBUTES_LIST, lsnr);
- deleteAttribute("aaa");
- assertFalse(lsnr.waitForEvents());
- assertEquals(0, lsnr.incrementCounter);
- assertEquals(1, lsnr.decrementCounter);
- }
-
-
-
- private void deleteAttribute(String attrName) {
- JpaArtifactFactory.instance().deleteAttribute(jpt, attrName, featureProvider);
- }
-
-
- public static class EntityAttributesChangeTestListener implements ListChangeListener {
-
- private Semaphore sem = new Semaphore(1);
-
- private int toBeAdded;
- private int toBeRemove;
-
- public EntityAttributesChangeTestListener(int add, int remove) {
- this.toBeAdded = add;
- this.toBeRemove = remove;
- try {
- sem.acquire(1);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
-
- public boolean waitForEvents() throws InterruptedException {
- return sem.tryAcquire(5, TimeUnit.SECONDS);
- }
-
- public int incrementCounter = 0;
- public int decrementCounter = 0;
-
- public void listChanged(ListChangeEvent event) {
- }
-
- public void itemsAdded(ListAddEvent arg0) {
- incrementCounter++;
- if(this.incrementCounter >= toBeAdded && this.decrementCounter>= toBeRemove ) {
- sem.release();
- }
- }
-
- public void itemsMoved(ListMoveEvent arg0) {
- }
-
- public void itemsRemoved(ListRemoveEvent arg0) {
- decrementCounter++;
- if(this.incrementCounter >= toBeAdded && this.decrementCounter>= toBeRemove ) {
- sem.release();
- }
- }
-
- public void itemsReplaced(ListReplaceEvent arg0) {
- }
-
- public void listCleared(ListClearEvent arg0) {
- }
- };
-
- @After
- public void tearDown() throws Exception {
- deleteAllProjects();
- }
-
- private void deleteAllProjects() throws Exception {
- IProgressMonitor monitor= new NullProgressMonitor();
- ResourcesPlugin.getWorkspace().run(new IWorkspaceRunnable() {
- public void run(IProgressMonitor monitor) throws CoreException {
- IProject project = jpaProject.getProject();
- project.close(monitor);
- project.close(monitor);
- project.delete(true, true, monitor);
- }
- } , monitor);
- }
-
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/CreateRelationFeaturesTest.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/CreateRelationFeaturesTest.java
deleted file mode 100644
index 212a836f82..0000000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/CreateRelationFeaturesTest.java
+++ /dev/null
@@ -1,572 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.feature;
-
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.replay;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertSame;
-import static org.junit.Assert.assertTrue;
-
-import org.easymock.EasyMock;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.graphiti.features.context.IAddContext;
-import org.eclipse.graphiti.features.context.ICreateConnectionContext;
-import org.eclipse.graphiti.mm.pictograms.Anchor;
-import org.eclipse.graphiti.mm.pictograms.Connection;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jpt.common.utility.internal.iterables.EmptyIterable;
-import org.eclipse.jpt.jpa.core.JpaFile;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.JpaStructureNode;
-import org.eclipse.jpt.jpa.core.JptJpaCorePlugin;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpa.core.resource.java.JavaResourcePersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.CreateManyToManyBiDirRelationFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.CreateManyToManyUniDirRelationFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.CreateManyToOneBiDirRelationFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.CreateManyToOneUniDirRelationFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.CreateOneToManyUniDirRelationFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.CreateOneToOneBiDirRelationFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.CreateOneToOneUniDirRelationFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.IRelation.RelDir;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.IRelation.RelType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.ManyToManyBiDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.ManyToManyUniDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.ManyToOneBiDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.ManyToOneUniDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.OneToManyUniDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.OneToOneBiDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.OneToOneUniDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IEclipseFacade;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-import org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.JPACreateFactory;
-import org.junit.Before;
-import org.junit.Test;
-
-public class CreateRelationFeaturesTest {
- final String TEST_PROJECT = "Test";
- private JpaProject jpaProject = null;
- private JPACreateFactory factory = null;
- IEclipseFacade eclipseFacade = null;
-
- @Before
- public void setUp() throws Exception {
- factory = JPACreateFactory.instance();
- jpaProject = factory.createJPAProject(TEST_PROJECT + "_" + System.currentTimeMillis());
- assertNotNull(jpaProject);
- Thread.sleep(2000);
- }
-
- @Test
- public void testCreateOneToOneUniDirRelationFeature() throws Exception {
- IJPAEditorFeatureProvider featureProvider = EasyMock.createMock(IJPAEditorFeatureProvider.class);
- assertNotNull(jpaProject);
- IFile customerFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com","test"}, "Customer");
- IFile addressFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com","test"}, "Address");
-
- jpaProject.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
-
- assertTrue(customerFile.exists());
- JavaResourcePersistentType customerType = jpaProject.getJavaResourcePersistentType("com.test.Customer");
- assertNotNull(customerType);
-
- assertTrue(addressFile.exists());
- JavaResourcePersistentType addressType = jpaProject.getJavaResourcePersistentType("com.test.Address");
- assertNotNull(addressType);
-
- JavaPersistentType t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
- while (t1 == null) {
- Thread.sleep(200);
- t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
- }
- JavaPersistentType t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
- while (t2 == null) {
- Thread.sleep(200);
- t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
- }
-
-
- CreateOneToOneUniDirRelationFeature ft = new CreateOneToOneUniDirRelationFeature(featureProvider);
- ICreateConnectionContext ctx = EasyMock.createMock(ICreateConnectionContext.class);
-
- ContainerShape cs1 = EasyMock.createMock(ContainerShape.class);
- ContainerShape cs2 = EasyMock.createMock(ContainerShape.class);
-
- expect(featureProvider.getBusinessObjectForPictogramElement(cs1)).andStubReturn(t1);
- expect(featureProvider.getBusinessObjectForPictogramElement(cs2)).andStubReturn(t2);
- expect(featureProvider.getPictogramElementForBusinessObject(t1)).andStubReturn(cs1);
- expect(featureProvider.getPictogramElementForBusinessObject(t2)).andStubReturn(cs2);
-
- Anchor a1 = EasyMock.createMock(Anchor.class);
- Anchor a2 = EasyMock.createMock(Anchor.class);
- expect(a1.getParent()).andStubReturn(cs1);
- expect(a2.getParent()).andStubReturn(cs2);
- expect(ctx.getSourceAnchor()).andStubReturn(a1);
- expect(ctx.getTargetAnchor()).andStubReturn(a2);
-
- ICompilationUnit cu1 = createCompilationUnitFrom(customerFile);
- cu1.becomeWorkingCopy(new NullProgressMonitor());
- ICompilationUnit cu2 = createCompilationUnitFrom(addressFile);
- cu2.becomeWorkingCopy(new NullProgressMonitor());
-
- expect(featureProvider.getCompilationUnit(t1)).andStubReturn(cu1);
- expect(featureProvider.getCompilationUnit(t2)).andStubReturn(cu2);
-
- Connection conn = EasyMock.createMock(Connection.class);
- expect(featureProvider.addIfPossible((IAddContext)EasyMock.anyObject())).andStubReturn(conn);
- replay(featureProvider, a1, a2, cs1, cs2, ctx);
- ft.create(ctx);
- OneToOneUniDirRelation rel = ft.createRelation(featureProvider, cs1, cs2);
- assertNotNull(rel);
- assertNotNull(rel.getId());
- assertEquals(RelType.ONE_TO_ONE, rel.getRelType());
- assertEquals(RelDir.UNI, rel.getRelDir());
- assertSame(rel.getOwner(), t1);
- assertSame(rel.getInverse(), t2);
- assertNotNull(t1.getAttributeNamed(rel.getOwnerAttributeName()));
- assertTrue(JpaArtifactFactory.instance().isMethodAnnotated(t1));
- JavaPersistentAttribute jpa = t1.getAttributeNamed("id");
- assertFalse(JpaArtifactFactory.instance().isRelationAnnotated(jpa));
- jpa = t1.getAttributeNamed(rel.getOwnerAttributeName());
- assertTrue(JpaArtifactFactory.instance().isRelationAnnotated(jpa));
- }
-
- @Test
- public void testCreateOneToOneBiDirRelationFeature() throws Exception {
- IJPAEditorFeatureProvider featureProvider = EasyMock.createMock(IJPAEditorFeatureProvider.class);
- assertNotNull(jpaProject);
- IFile customerFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com","test"}, "Customer");
- IFile addressFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com","test"}, "Address");
-
- jpaProject.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
-
- assertTrue(customerFile.exists());
- JavaResourcePersistentType customerType = jpaProject.getJavaResourcePersistentType("com.test.Customer");
- assertNotNull(customerType);
-
- assertTrue(addressFile.exists());
- JavaResourcePersistentType addressType = jpaProject.getJavaResourcePersistentType("com.test.Address");
- assertNotNull(addressType);
-
- JavaPersistentType t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
- while (t1 == null) {
- Thread.sleep(200);
- t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
- }
- JavaPersistentType t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
- while (t2 == null) {
- Thread.sleep(200);
- t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
- }
-
-
- CreateOneToOneBiDirRelationFeature ft = new CreateOneToOneBiDirRelationFeature(featureProvider);
- ICreateConnectionContext ctx = EasyMock.createMock(ICreateConnectionContext.class);
-
- ContainerShape cs1 = EasyMock.createMock(ContainerShape.class);
- ContainerShape cs2 = EasyMock.createMock(ContainerShape.class);
-
- expect(featureProvider.getBusinessObjectForPictogramElement(cs1)).andStubReturn(t1);
- expect(featureProvider.getBusinessObjectForPictogramElement(cs2)).andStubReturn(t2);
- expect(featureProvider.getPictogramElementForBusinessObject(t1)).andStubReturn(cs1);
- expect(featureProvider.getPictogramElementForBusinessObject(t2)).andStubReturn(cs2);
-
- Anchor a1 = EasyMock.createMock(Anchor.class);
- Anchor a2 = EasyMock.createMock(Anchor.class);
- expect(a1.getParent()).andStubReturn(cs1);
- expect(a2.getParent()).andStubReturn(cs2);
- expect(ctx.getSourceAnchor()).andStubReturn(a1);
- expect(ctx.getTargetAnchor()).andStubReturn(a2);
-
- ICompilationUnit cu1 = createCompilationUnitFrom(customerFile);
- ICompilationUnit cu2 = createCompilationUnitFrom(addressFile);
-
- expect(featureProvider.getCompilationUnit(t1)).andStubReturn(cu1);
- expect(featureProvider.getCompilationUnit(t2)).andStubReturn(cu2);
-
- Connection conn = EasyMock.createMock(Connection.class);
- expect(featureProvider.addIfPossible((IAddContext)EasyMock.anyObject())).andStubReturn(conn);
- replay(featureProvider, a1, a2, cs1, cs2, ctx);
- ft.create(ctx);
- OneToOneBiDirRelation rel = ft.createRelation(featureProvider, cs1, cs2);
- assertNotNull(rel);
- assertNotNull(rel.getId());
- assertEquals(RelType.ONE_TO_ONE, rel.getRelType());
- assertEquals(RelDir.BI, rel.getRelDir());
- assertNotNull(t1.getAttributeNamed(rel.getOwnerAttributeName()));
- assertNotNull(t2.getAttributeNamed(rel.getInverseAttributeName()));
- }
-
-
- @Test
- public void testCreateManyToOneUniDirRelationFeature() throws Exception {
- IJPAEditorFeatureProvider featureProvider = EasyMock.createMock(IJPAEditorFeatureProvider.class);
- assertNotNull(jpaProject);
- IFile customerFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com","test"}, "Customer");
- IFile addressFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com","test"}, "Address");
-
- jpaProject.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
-
- assertTrue(customerFile.exists());
- JavaResourcePersistentType customerType = jpaProject.getJavaResourcePersistentType("com.test.Customer");
- assertNotNull(customerType);
-
- assertTrue(addressFile.exists());
- JavaResourcePersistentType addressType = jpaProject.getJavaResourcePersistentType("com.test.Address");
- assertNotNull(addressType);
-
- JavaPersistentType t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
- while (t1 == null) {
- Thread.sleep(200);
- t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
- }
- JavaPersistentType t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
- while (t2 == null) {
- Thread.sleep(200);
- t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
- }
-
-
- CreateManyToOneUniDirRelationFeature ft = new CreateManyToOneUniDirRelationFeature(featureProvider);
- ICreateConnectionContext ctx = EasyMock.createMock(ICreateConnectionContext.class);
-
- ContainerShape cs1 = EasyMock.createMock(ContainerShape.class);
- ContainerShape cs2 = EasyMock.createMock(ContainerShape.class);
-
- expect(featureProvider.getBusinessObjectForPictogramElement(cs1)).andStubReturn(t1);
- expect(featureProvider.getBusinessObjectForPictogramElement(cs2)).andStubReturn(t2);
- expect(featureProvider.getPictogramElementForBusinessObject(t1)).andStubReturn(cs1);
- expect(featureProvider.getPictogramElementForBusinessObject(t2)).andStubReturn(cs2);
-
- Anchor a1 = EasyMock.createMock(Anchor.class);
- Anchor a2 = EasyMock.createMock(Anchor.class);
- expect(a1.getParent()).andStubReturn(cs1);
- expect(a2.getParent()).andStubReturn(cs2);
- expect(ctx.getSourceAnchor()).andStubReturn(a1);
- expect(ctx.getTargetAnchor()).andStubReturn(a2);
-
- ICompilationUnit cu1 = createCompilationUnitFrom(customerFile);
- ICompilationUnit cu2 = createCompilationUnitFrom(addressFile);
-
- expect(featureProvider.getCompilationUnit(t1)).andStubReturn(cu1);
- expect(featureProvider.getCompilationUnit(t2)).andStubReturn(cu2);
-
- Connection conn = EasyMock.createMock(Connection.class);
- expect(featureProvider.addIfPossible((IAddContext)EasyMock.anyObject())).andStubReturn(conn);
- replay(featureProvider, a1, a2, cs1, cs2, ctx);
- ft.create(ctx);
- ManyToOneUniDirRelation rel = ft.createRelation(featureProvider, cs1, cs2);
- assertNotNull(rel);
- assertNotNull(rel.getId());
- assertEquals(RelType.MANY_TO_ONE, rel.getRelType());
- assertEquals(RelDir.UNI, rel.getRelDir());
- assertNotNull(t1.getAttributeNamed(rel.getOwnerAttributeName()));
- }
-
-
- @Test
- public void testCreateManyToOneBiDirRelationFeature() throws Exception {
- IJPAEditorFeatureProvider featureProvider = EasyMock.createMock(IJPAEditorFeatureProvider.class);
- assertNotNull(jpaProject);
- IFile customerFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com","test"}, "Customer");
- IFile addressFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com","test"}, "Address");
-
- jpaProject.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
-
- assertTrue(customerFile.exists());
- JavaResourcePersistentType customerType = jpaProject.getJavaResourcePersistentType("com.test.Customer");
- assertNotNull(customerType);
-
- assertTrue(addressFile.exists());
- JavaResourcePersistentType addressType = jpaProject.getJavaResourcePersistentType("com.test.Address");
- assertNotNull(addressType);
-
- JavaPersistentType t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
- while (t1 == null) {
- Thread.sleep(200);
- t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
- }
- JavaPersistentType t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
- while (t2 == null) {
- Thread.sleep(200);
- t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
- }
-
-
- CreateManyToOneBiDirRelationFeature ft = new CreateManyToOneBiDirRelationFeature(featureProvider);
- ICreateConnectionContext ctx = EasyMock.createMock(ICreateConnectionContext.class);
-
- ContainerShape cs1 = EasyMock.createMock(ContainerShape.class);
- ContainerShape cs2 = EasyMock.createMock(ContainerShape.class);
-
- expect(featureProvider.getBusinessObjectForPictogramElement(cs1)).andStubReturn(t1);
- expect(featureProvider.getBusinessObjectForPictogramElement(cs2)).andStubReturn(t2);
- expect(featureProvider.getPictogramElementForBusinessObject(t1)).andStubReturn(cs1);
- expect(featureProvider.getPictogramElementForBusinessObject(t2)).andStubReturn(cs2);
-
- Anchor a1 = EasyMock.createMock(Anchor.class);
- Anchor a2 = EasyMock.createMock(Anchor.class);
- expect(a1.getParent()).andStubReturn(cs1);
- expect(a2.getParent()).andStubReturn(cs2);
- expect(ctx.getSourceAnchor()).andStubReturn(a1);
- expect(ctx.getTargetAnchor()).andStubReturn(a2);
-
- ICompilationUnit cu1 = createCompilationUnitFrom(customerFile);
- ICompilationUnit cu2 = createCompilationUnitFrom(addressFile);
-
- expect(featureProvider.getCompilationUnit(t1)).andStubReturn(cu1);
- expect(featureProvider.getCompilationUnit(t2)).andStubReturn(cu2);
-
- Connection conn = EasyMock.createMock(Connection.class);
- expect(featureProvider.addIfPossible((IAddContext)EasyMock.anyObject())).andStubReturn(conn);
- replay(featureProvider, a1, a2, cs1, cs2, ctx);
- ft.create(ctx);
- ManyToOneBiDirRelation rel = ft.createRelation(featureProvider, cs1, cs2);
- assertNotNull(rel);
- assertNotNull(rel.getId());
- assertEquals(RelType.MANY_TO_ONE, rel.getRelType());
- assertEquals(RelDir.BI, rel.getRelDir());
- assertNotNull(t1.getAttributeNamed(rel.getOwnerAttributeName()));
- assertNotNull(t2.getAttributeNamed(rel.getInverseAttributeName()));
- }
-
- @Test
- public void testCreateOneToManyUniDirRelationFeature() throws Exception {
- IJPAEditorFeatureProvider featureProvider = EasyMock.createMock(IJPAEditorFeatureProvider.class);
- assertNotNull(jpaProject);
- IFile customerFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com","test"}, "Customer");
- IFile addressFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com","test"}, "Address");
-
- jpaProject.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
-
- assertTrue(customerFile.exists());
- JavaResourcePersistentType customerType = jpaProject.getJavaResourcePersistentType("com.test.Customer");
- assertNotNull(customerType);
-
- assertTrue(addressFile.exists());
- JavaResourcePersistentType addressType = jpaProject.getJavaResourcePersistentType("com.test.Address");
- assertNotNull(addressType);
-
- JavaPersistentType t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
- while (t1 == null) {
- Thread.sleep(200);
- t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
- }
- JavaPersistentType t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
- while (t2 == null) {
- Thread.sleep(200);
- t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
- }
-
-
- CreateOneToManyUniDirRelationFeature ft = new CreateOneToManyUniDirRelationFeature(featureProvider);
- ICreateConnectionContext ctx = EasyMock.createMock(ICreateConnectionContext.class);
-
- ContainerShape cs1 = EasyMock.createMock(ContainerShape.class);
- ContainerShape cs2 = EasyMock.createMock(ContainerShape.class);
-
- expect(featureProvider.getBusinessObjectForPictogramElement(cs1)).andStubReturn(t1);
- expect(featureProvider.getBusinessObjectForPictogramElement(cs2)).andStubReturn(t2);
- expect(featureProvider.getPictogramElementForBusinessObject(t1)).andStubReturn(cs1);
- expect(featureProvider.getPictogramElementForBusinessObject(t2)).andStubReturn(cs2);
-
- Anchor a1 = EasyMock.createMock(Anchor.class);
- Anchor a2 = EasyMock.createMock(Anchor.class);
- expect(a1.getParent()).andStubReturn(cs1);
- expect(a2.getParent()).andStubReturn(cs2);
- expect(ctx.getSourceAnchor()).andStubReturn(a1);
- expect(ctx.getTargetAnchor()).andStubReturn(a2);
-
- ICompilationUnit cu1 = createCompilationUnitFrom(customerFile);
- ICompilationUnit cu2 = createCompilationUnitFrom(addressFile);
-
- expect(featureProvider.getCompilationUnit(t1)).andStubReturn(cu1);
- expect(featureProvider.getCompilationUnit(t2)).andStubReturn(cu2);
-
- Connection conn = EasyMock.createMock(Connection.class);
- expect(featureProvider.addIfPossible((IAddContext)EasyMock.anyObject())).andStubReturn(conn);
- replay(featureProvider, a1, a2, cs1, cs2, ctx);
- ft.create(ctx);
- OneToManyUniDirRelation rel = ft.createRelation(featureProvider, cs1, cs2);
- assertNotNull(rel);
- assertNotNull(rel.getId());
- assertEquals(RelType.ONE_TO_MANY, rel.getRelType());
- assertEquals(RelDir.UNI, rel.getRelDir());
- assertNotNull(t1.getAttributeNamed(rel.getOwnerAttributeName()));
- }
-
- @Test
- public void testCreateManyToManyUniDirRelationFeature() throws Exception {
- IJPAEditorFeatureProvider featureProvider = EasyMock.createMock(IJPAEditorFeatureProvider.class);
- assertNotNull(jpaProject);
- IFile customerFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com","test"}, "Customer");
- IFile addressFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com","test"}, "Address");
-
- jpaProject.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
-
- assertTrue(customerFile.exists());
- JavaResourcePersistentType customerType = jpaProject.getJavaResourcePersistentType("com.test.Customer");
- assertNotNull(customerType);
-
- assertTrue(addressFile.exists());
- JavaResourcePersistentType addressType = jpaProject.getJavaResourcePersistentType("com.test.Address");
- assertNotNull(addressType);
-
- JavaPersistentType t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
- while (t1 == null) {
- Thread.sleep(200);
- t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
- }
- JavaPersistentType t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
- while (t2 == null) {
- Thread.sleep(200);
- t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
- }
-
-
- CreateManyToManyUniDirRelationFeature ft = new CreateManyToManyUniDirRelationFeature(featureProvider);
- ICreateConnectionContext ctx = EasyMock.createMock(ICreateConnectionContext.class);
-
- ContainerShape cs1 = EasyMock.createMock(ContainerShape.class);
- ContainerShape cs2 = EasyMock.createMock(ContainerShape.class);
-
- expect(featureProvider.getBusinessObjectForPictogramElement(cs1)).andStubReturn(t1);
- expect(featureProvider.getBusinessObjectForPictogramElement(cs2)).andStubReturn(t2);
- expect(featureProvider.getPictogramElementForBusinessObject(t1)).andStubReturn(cs1);
- expect(featureProvider.getPictogramElementForBusinessObject(t2)).andStubReturn(cs2);
-
- Anchor a1 = EasyMock.createMock(Anchor.class);
- Anchor a2 = EasyMock.createMock(Anchor.class);
- expect(a1.getParent()).andStubReturn(cs1);
- expect(a2.getParent()).andStubReturn(cs2);
- expect(ctx.getSourceAnchor()).andStubReturn(a1);
- expect(ctx.getTargetAnchor()).andStubReturn(a2);
-
- ICompilationUnit cu1 = createCompilationUnitFrom(customerFile);
- ICompilationUnit cu2 = createCompilationUnitFrom(addressFile);
-
- expect(featureProvider.getCompilationUnit(t1)).andStubReturn(cu1);
- expect(featureProvider.getCompilationUnit(t2)).andStubReturn(cu2);
-
- Connection conn = EasyMock.createMock(Connection.class);
- expect(featureProvider.addIfPossible((IAddContext)EasyMock.anyObject())).andStubReturn(conn);
- replay(featureProvider, a1, a2, cs1, cs2, ctx);
- ft.create(ctx);
- ManyToManyUniDirRelation rel = ft.createRelation(featureProvider, cs1, cs2);
- assertNotNull(rel);
- assertNotNull(rel.getId());
- assertEquals(RelType.MANY_TO_MANY, rel.getRelType());
- assertEquals(RelDir.UNI, rel.getRelDir());
- assertNotNull(t1.getAttributeNamed(rel.getOwnerAttributeName()));
- }
-
- @Test
- public void testCreateManyToManyBiDirRelationFeature() throws Exception {
- IJPAEditorFeatureProvider featureProvider = EasyMock.createMock(IJPAEditorFeatureProvider.class);
- assertNotNull(jpaProject);
- IFile customerFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com","test"}, "Customer");
- IFile addressFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com","test"}, "Address");
-
- jpaProject.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
-
- assertTrue(customerFile.exists());
- JavaResourcePersistentType customerType = jpaProject.getJavaResourcePersistentType("com.test.Customer");
- assertNotNull(customerType);
-
- assertTrue(addressFile.exists());
- JavaResourcePersistentType addressType = jpaProject.getJavaResourcePersistentType("com.test.Address");
- assertNotNull(addressType);
-
- JavaPersistentType t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
- while (t1 == null) {
- Thread.sleep(200);
- t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
- }
- JavaPersistentType t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
- while (t2 == null) {
- Thread.sleep(200);
- t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
- }
-
-
- CreateManyToManyBiDirRelationFeature ft = new CreateManyToManyBiDirRelationFeature(featureProvider);
- ICreateConnectionContext ctx = EasyMock.createMock(ICreateConnectionContext.class);
-
- ContainerShape cs1 = EasyMock.createMock(ContainerShape.class);
- ContainerShape cs2 = EasyMock.createMock(ContainerShape.class);
-
- expect(featureProvider.getBusinessObjectForPictogramElement(cs1)).andStubReturn(t1);
- expect(featureProvider.getBusinessObjectForPictogramElement(cs2)).andStubReturn(t2);
- expect(featureProvider.getPictogramElementForBusinessObject(t1)).andStubReturn(cs1);
- expect(featureProvider.getPictogramElementForBusinessObject(t2)).andStubReturn(cs2);
-
- Anchor a1 = EasyMock.createMock(Anchor.class);
- Anchor a2 = EasyMock.createMock(Anchor.class);
- expect(a1.getParent()).andStubReturn(cs1);
- expect(a2.getParent()).andStubReturn(cs2);
- expect(ctx.getSourceAnchor()).andStubReturn(a1);
- expect(ctx.getTargetAnchor()).andStubReturn(a2);
-
- ICompilationUnit cu1 = createCompilationUnitFrom(customerFile);
- ICompilationUnit cu2 = createCompilationUnitFrom(addressFile);
-
- expect(featureProvider.getCompilationUnit(t1)).andStubReturn(cu1);
- expect(featureProvider.getCompilationUnit(t2)).andStubReturn(cu2);
-
- Connection conn = EasyMock.createMock(Connection.class);
- expect(featureProvider.addIfPossible((IAddContext)EasyMock.anyObject())).andStubReturn(conn);
- replay(featureProvider, a1, a2, cs1, cs2, ctx);
- ft.create(ctx);
- ManyToManyBiDirRelation rel = ft.createRelation(featureProvider, cs1, cs2);
- assertNotNull(rel);
- assertNotNull(rel.getId());
- assertEquals(RelType.MANY_TO_MANY, rel.getRelType());
- assertEquals(RelDir.BI, rel.getRelDir());
- assertNotNull(t1.getAttributeNamed(rel.getOwnerAttributeName()));
- assertNotNull(t2.getAttributeNamed(rel.getInverseAttributeName()));
- }
-
-
- public static JavaPersistentType getPersistentType(IFile file){
- JpaFile jpaFile = JptJpaCorePlugin.getJpaFile(file);
- for (JpaStructureNode node : getRootNodes(jpaFile)) {
- JavaPersistentType entity = (JavaPersistentType) node;
- return entity;
- }
- return null;
- }
-
- private static Iterable<JpaStructureNode> getRootNodes(JpaFile jpaFile) {
- if(jpaFile == null){
- return EmptyIterable.instance();
- }
- return jpaFile.getRootStructureNodes();
- }
-
- public ICompilationUnit createCompilationUnitFrom(IFile file) {
- return JavaCore.createCompilationUnitFrom(file);
- }
-
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/DeleteRelationFeatureTest.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/DeleteRelationFeatureTest.java
deleted file mode 100644
index b5548c9fd0..0000000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/DeleteRelationFeatureTest.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.feature;
-
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.isA;
-import static org.easymock.EasyMock.replay;
-
-import org.easymock.EasyMock;
-import org.eclipse.graphiti.dt.IDiagramTypeProvider;
-import org.eclipse.graphiti.features.context.IDeleteContext;
-import org.eclipse.graphiti.features.context.IRemoveContext;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.DeleteRelationFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.BidirectionalRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IJPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.util.IEditor;
-import org.eclipse.ui.IWorkbenchPartSite;
-import org.junit.Test;
-
-public class DeleteRelationFeatureTest {
-
- @Test
- public void testPostDelete(){
- IJPAEditorFeatureProvider featureProvider = EasyMock.createMock(IJPAEditorFeatureProvider.class);
- expect(featureProvider.getRemoveFeature(isA(IRemoveContext.class))).andReturn(null);
- IJPAEditorUtil ut = EasyMock.createMock(IJPAEditorUtil.class);
- expect(featureProvider.getJPAEditorUtil()).andStubReturn(ut);
- IDeleteContext ctx = EasyMock.createMock(IDeleteContext.class);
- PictogramElement pe = EasyMock.createMock(PictogramElement.class);
- expect(ctx.getPictogramElement()).andStubReturn(pe);
- BidirectionalRelation rel = EasyMock.createMock(BidirectionalRelation.class);
- ICompilationUnit cu1 = EasyMock.createMock(ICompilationUnit.class);
- ICompilationUnit cu2 = EasyMock.createMock(ICompilationUnit.class);
- JavaPersistentType jpt1 = EasyMock.createMock(JavaPersistentType.class);
- JavaPersistentType jpt2 = EasyMock.createMock(JavaPersistentType.class);
-
- expect(featureProvider.getBusinessObjectForPictogramElement(pe)).andStubReturn(rel);
- expect(rel.getOwner()).andStubReturn(jpt1);
- expect(rel.getInverse()).andStubReturn(jpt2);
- expect(featureProvider.getCompilationUnit(jpt1)).andStubReturn(cu1);
- expect(featureProvider.getCompilationUnit(jpt2)).andStubReturn(cu2);
-
- IWorkbenchPartSite ws = EasyMock.createMock(IWorkbenchPartSite.class);
-
- IDiagramTypeProvider p = EasyMock.createMock(IDiagramTypeProvider.class);
- IEditor e = EasyMock.createMock(IEditor.class);
- expect(featureProvider.getDiagramTypeProvider()).andStubReturn(p);
- expect(p.getDiagramEditor()).andStubReturn(e);
- expect(e.getSite()).andStubReturn(ws);
- ut.organizeImports(cu1, ws);
- ut.organizeImports(cu2, ws);
-
- replay(featureProvider, ctx, ut, rel, jpt1, jpt2, cu1, cu2, pe, p, e, ws);
-
- DeleteRelationFeature feature = new DeleteRelationFeature(featureProvider);
- feature.postDelete(ctx);
- }
-}
-
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/DirectEditAttributeFeatureTest.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/DirectEditAttributeFeatureTest.java
deleted file mode 100644
index a48ee0dd5c..0000000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/DirectEditAttributeFeatureTest.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Kiril Mitov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.feature;
-
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.isA;
-import static org.easymock.EasyMock.replay;
-import static org.junit.Assert.assertEquals;
-
-import java.text.MessageFormat;
-
-import org.easymock.EasyMock;
-import org.eclipse.graphiti.features.IDirectEditingFeature;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.IDirectEditingContext;
-import org.eclipse.jdt.core.JavaConventions;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.DirectEditAttributeFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.i18n.JPAEditorMessages;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.junit.Before;
-import org.junit.Test;
-
-public class DirectEditAttributeFeatureTest {
-
- /**
- * @throws java.lang.Exception
- */
- @Before
- public void setUp() throws Exception {
- }
-
- @Test
- public void testCheckValueValidStringByJavaConventions() {
- JavaPersistentType jpt = EasyMock.createNiceMock(JavaPersistentType.class);
- JavaPersistentAttribute jpa = configureJpaForJpt(jpt);
- expect(jpt.getAttributeNamed(isA(String.class))).andStubReturn(jpa);
- replay(jpa, jpt);
-
- IFeatureProvider provider = replayJpaForNullPe(jpa);
- IDirectEditingContext context = replayNullPeContext();
-
- IDirectEditingFeature feature = new DirectEditAttributeFeature(provider);
- assertNotValidJavaConventionField(feature, context, "");
- assertNotValidJavaConventionField(feature, context, "1a");
- assertNotValidJavaConventionField(feature, context, "d d");
- assertValidField(feature, context, "$d");
- assertNotValidJavaConventionField(feature, context, "enum");
- }
-
- @Test
- public void testCheckValueValidStringDuplicateAttribute() {
- JavaPersistentAttribute otherJpa = EasyMock.createMock(JavaPersistentAttribute.class);
- JavaPersistentType jpt = EasyMock.createMock(JavaPersistentType.class);
- expect(jpt.getAttributeNamed("attrName")).andStubReturn(otherJpa);
-
- JavaPersistentAttribute jpa = configureJpaForJpt(jpt);
- replay(jpa, jpt, otherJpa);
-
- IFeatureProvider provider = replayJpaForNullPe(jpa);
- IDirectEditingContext context = replayNullPeContext();
-
- IDirectEditingFeature feature = new DirectEditAttributeFeature(provider);
-
- assertEquals(MessageFormat.format(JPAEditorMessages.DirectEditAttributeFeature_attributeExists, "attrName"), feature.checkValueValid("attrName", context));
- }
-
- private IFeatureProvider replayJpaForNullPe(JavaPersistentAttribute jpa) {
- IFeatureProvider provider = EasyMock.createMock(IJPAEditorFeatureProvider.class);
- expect(provider.getBusinessObjectForPictogramElement(null)).andStubReturn(jpa);
- replay(provider);
- return provider;
- }
-
- private JavaPersistentAttribute configureJpaForJpt(JavaPersistentType jpt) {
- JavaPersistentAttribute jpa = EasyMock.createMock(JavaPersistentAttribute.class);
- expect(jpa.getParent()).andStubReturn(jpt);
- return jpa;
- }
-
- private IDirectEditingContext replayNullPeContext() {
- IDirectEditingContext context = EasyMock.createMock(IDirectEditingContext.class);
- expect(context.getPictogramElement()).andStubReturn(null);
- replay(context);
- return context;
- }
-
- private void assertValidField(IDirectEditingFeature feature, IDirectEditingContext context, String field) {
- assertEquals(null, feature.checkValueValid(field, context));
- }
-
- private void assertNotValidJavaConventionField(IDirectEditingFeature feature, IDirectEditingContext context,
- String field) {
- final String sourceLevel = "1.5";
- final String complianceLevel = "1.5";
- assertEquals(JavaConventions.validateFieldName(field, sourceLevel, complianceLevel).getMessage(), feature
- .checkValueValid(field, context));
- }
-
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/LayoutEntityFeatureTest.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/LayoutEntityFeatureTest.java
deleted file mode 100644
index e9fbe8566b..0000000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/LayoutEntityFeatureTest.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.feature;
-
-import org.easymock.EasyMock;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.util.BasicInternalEList;
-import org.eclipse.graphiti.features.context.ILayoutContext;
-import org.eclipse.graphiti.mm.algorithms.GraphicsAlgorithm;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.LayoutJPAEntityFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IGraphicsUpdater;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IPeServiceUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants;
-import org.junit.Test;
-
-public class LayoutEntityFeatureTest {
-
- @Test
- public void testIfNewlyAddedEntityShapeIsExpanded() {
- IJPAEditorFeatureProvider fp = EasyMock.createMock(IJPAEditorFeatureProvider.class);
- ILayoutContext ctx = EasyMock.createMock(ILayoutContext.class);
- ContainerShape cs = EasyMock.createMock(ContainerShape.class);
- GraphicsAlgorithm ga = EasyMock.createMock(GraphicsAlgorithm.class);
- EasyMock.expect(cs.getGraphicsAlgorithm()).andStubReturn(ga);
- EasyMock.expect(ctx.getPictogramElement()).andStubReturn(cs);
- EasyMock.expect(ga.getHeight()).andStubReturn(80);
- EasyMock.expect(ga.getWidth()).andStubReturn(100);
- //EasyMock.expect(cs.is___Alive()).andStubReturn(true);
- EList<Shape> shList = new BasicInternalEList<Shape>(Shape.class);
- EasyMock.expect(cs.getChildren()).andStubReturn(shList);
- IPeServiceUtil peUtil = EasyMock.createMock(IPeServiceUtil.class);
- EasyMock.expect(fp.getPeUtil()).andStubReturn(peUtil);
- EasyMock.expect(peUtil.getProperty(cs, JPAEditorConstants.COLLAPSE_FEATURES)).andStubReturn(null);
- EasyMock.expect(peUtil.removeProperty(cs, JPAEditorConstants.COLLAPSE_FEATURES)).andStubReturn(false);
- IGraphicsUpdater gu = EasyMock.createMock(IGraphicsUpdater.class);
- EasyMock.expect(fp.getGraphicsUpdater()).andStubReturn(gu);
- gu.updateEntityHeigth(cs);
-
- EasyMock.replay(fp, ctx, cs, ga, peUtil, gu);
- LayoutJPAEntityFeature ft = new LayoutJPAEntityFeature(fp);
- ft.layout(ctx);
- }
-
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/OpenMiniatureViewFeatureTest.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/OpenMiniatureViewFeatureTest.java
deleted file mode 100644
index 80b95a5c7d..0000000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/OpenMiniatureViewFeatureTest.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.feature;
-
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.isA;
-import static org.easymock.EasyMock.replay;
-import static org.junit.Assert.assertNotNull;
-
-import org.easymock.EasyMock;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.graphiti.features.context.IAddContext;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.OpenMiniatureViewFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.JPACreateFactory;
-import org.junit.Before;
-import org.junit.Test;
-
-public class OpenMiniatureViewFeatureTest {
-
- private IJPAEditorFeatureProvider featureProvider;
- final String TEST_PROJECT = "Test";
- private JpaProject jpaProject = null;
- private JPACreateFactory factory = null;
-
- @Before
- public void setUp() throws Exception{
- factory = JPACreateFactory.instance();
- jpaProject = factory.createJPAProject(TEST_PROJECT + "_" + System.currentTimeMillis());
- assertNotNull(jpaProject);
- IFile entity = factory.createEntity(jpaProject, "org.eclipse.Entity1");
- Thread.sleep(2000);
- featureProvider = EasyMock.createMock(IJPAEditorFeatureProvider.class);
- expect(featureProvider.getBusinessObjectForPictogramElement(null)).andReturn(JPACreateFactory.getPersistentType(entity));
- expect(featureProvider.getCompilationUnit(isA(JavaPersistentType.class))).andReturn(JavaCore.createCompilationUnitFrom(entity)).anyTimes();
- replay(featureProvider);
- }
-
- @Test
- public void testExecute() {
- OpenMiniatureViewFeature ft = new OpenMiniatureViewFeature(featureProvider);
- IAddContext ctx = EasyMock.createMock(IAddContext.class);
- ft.execute(ctx);
- }
-
-
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/RefactorAttributeTypeFeatureTest.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/RefactorAttributeTypeFeatureTest.java
deleted file mode 100644
index 358f92e92d..0000000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/RefactorAttributeTypeFeatureTest.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.feature;
-
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.replay;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-import java.util.Date;
-import java.util.List;
-
-import org.easymock.EasyMock;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.graphiti.features.context.ICustomContext;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.JptJpaCorePlugin;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.RefactorAttributeTypeFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-import org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.JPACreateFactory;
-import org.junit.Before;
-import org.junit.Test;
-
-@SuppressWarnings("unused")
-public class RefactorAttributeTypeFeatureTest {
-
- private IJPAEditorFeatureProvider featureProvider;
- private ICustomContext context;
- final String TEST_PROJECT = "Test"+(new Date()).getTime();
- private JpaProject jpaProject = null;
- private JPACreateFactory factory = null;
- private IFile entity;
-
- @Before
- public void setUp() throws Exception{
- factory = JPACreateFactory.instance();
- jpaProject = factory.createJPAProject(TEST_PROJECT + "_" + System.currentTimeMillis());
- assertNotNull(jpaProject);
- entity = factory.createEntity(jpaProject, "org.eclipse.Ent");
- Thread.sleep(2000);
- factory.addAttributes(entity, "att", "java.lang.String", "", "att", false);
-
- }
-
- @Test
- public void testRefactorAttributeTypeFeature(){
- PictogramElement[] elements = new PictogramElement[1];
- PictogramElement element = EasyMock.createNiceMock(PictogramElement.class);
- replay(element);
- elements[0] = element;
-
- featureProvider = EasyMock.createMock(IJPAEditorFeatureProvider.class);
- expect(featureProvider.getBusinessObjectForPictogramElement(element)).andReturn(null);
- replay(featureProvider);
-
- context = EasyMock.createMock(ICustomContext.class);
- expect(context.getPictogramElements()).andReturn(elements);
- replay(context);
-
- RefactorAttributeTypeFeature feature = new RefactorAttributeTypeFeature(featureProvider);
- feature.execute(context);
- }
-
- @Test
- public void testAttributeUtils(){
- PersistenceUnit pu = JpaArtifactFactory.instance().getPersistenceUnit(jpaProject);
- JavaPersistentType jpt = (JavaPersistentType)pu.getPersistentType("org.eclipse.Ent");
- JavaPersistentAttribute at = jpt.getAttributeNamed("id");
- List<String> lst = JpaArtifactFactory.instance().getAnnotationStrings(at);
- assertEquals(1, lst.size());
- assertTrue(lst.contains("@Id"));
- String typeName1 = JPAEditorUtil.getAttributeTypeName(at);
- assertEquals("int", typeName1);
- String typeName2 = JPAEditorUtil.getAttributeTypeName(at.getResourcePersistentAttribute());
- assertEquals("int", typeName2);
- }
-
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/RemoveAttributeFeatureTest.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/RemoveAttributeFeatureTest.java
deleted file mode 100644
index 31b46a400a..0000000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/RemoveAttributeFeatureTest.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.feature;
-
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.isA;
-import static org.easymock.EasyMock.replay;
-import static org.junit.Assert.assertNotNull;
-
-import java.util.Date;
-
-import org.easymock.EasyMock;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.util.BasicInternalEList;
-import org.eclipse.graphiti.features.context.ICustomContext;
-import org.eclipse.graphiti.features.context.IRemoveContext;
-import org.eclipse.graphiti.features.custom.ICustomFeature;
-import org.eclipse.graphiti.mm.algorithms.GraphicsAlgorithm;
-import org.eclipse.graphiti.mm.pictograms.Anchor;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.RemoveAttributeFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.JPACreateFactory;
-import org.junit.Before;
-import org.junit.Test;
-
-public class RemoveAttributeFeatureTest {
-
- private IJPAEditorFeatureProvider featureProvider;
- private IRemoveContext context;
- final String TEST_PROJECT = "Test"+(new Date()).getTime();
- private JpaProject jpaProject = null;
- private JPACreateFactory factory = null;
- private IFile entity;
-
- @Before
- public void setUp() throws Exception{
- factory = JPACreateFactory.instance();
- jpaProject = factory.createJPAProject(TEST_PROJECT + "_" + System.currentTimeMillis());
- assertNotNull(jpaProject);
- entity = factory.createEntity(jpaProject, "org.eclipse.Ent");
- Thread.sleep(2000);
- factory.addAttributes(entity, "att", "java.lang.String", "", "att", false);
-
- }
-
- @SuppressWarnings("unchecked")
- @Test
- public void testRemoveAttributeFeature() {
- GraphicsAlgorithm algorithm = EasyMock.createNiceMock(GraphicsAlgorithm.class);
- replay(algorithm);
-
- EList<Anchor> list = EasyMock.createMock(EList.class);
- Shape shape = EasyMock.createNiceMock(Shape.class);
-
- expect(shape.getGraphicsAlgorithm()).andReturn(algorithm);
- expect(shape.getAnchors()).andReturn(list);
- replay(shape);
-
- //EList<Shape> listShape = new BasicInternalEList<Shape>(Shape.class);
-
- ContainerShape pictogramElement = EasyMock.createMock(ContainerShape.class);
- Resource res = EasyMock.createMock(Resource.class);
- expect(pictogramElement.eResource()).andStubReturn(res);
-
- ResourceSet rs = EasyMock.createMock(ResourceSet.class);
- expect(res.getResourceSet()).andStubReturn(rs);
- EList<Adapter> ead = new BasicInternalEList<Adapter>(Adapter.class);
- expect(rs.eAdapters()).andStubReturn(ead);
-
- replay(pictogramElement, res, rs);
-
- featureProvider = EasyMock.createMock(IJPAEditorFeatureProvider.class);
- expect(featureProvider.getBusinessObjectForPictogramElement(pictogramElement)).andReturn(JPACreateFactory.getPersistentAttribute(entity, "att"));
- expect(featureProvider.decreaseAttribsNum(pictogramElement)).andReturn(0);
- expect(featureProvider.getKeyForBusinessObject(isA(Object.class))).andReturn("");
- expect(featureProvider.remove("")).andReturn(null);
- expect(featureProvider.getRelationRelatedToAttribute(isA(JavaPersistentAttribute.class))).andReturn(null);
- replay(featureProvider);
-
- context = EasyMock.createMock(IRemoveContext.class);
- expect(context.getPictogramElement()).andReturn(pictogramElement);
- replay(context);
-
- ICustomFeature graphicalRemove = EasyMock.createMock(ICustomFeature.class);
- graphicalRemove.execute(isA(ICustomContext.class));
- replay(graphicalRemove);
-
- RemoveAttributeFeature feature = new RemoveAttributeFeature(featureProvider, graphicalRemove);
- feature.preRemove(context);
- }
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/SaveEntityFeatureTest.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/SaveEntityFeatureTest.java
deleted file mode 100644
index a033e1e7d9..0000000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/SaveEntityFeatureTest.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.feature;
-
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.isA;
-import static org.easymock.EasyMock.replay;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-import org.easymock.EasyMock;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.graphiti.features.context.ICustomContext;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jpt.common.utility.internal.iterables.EmptyIterable;
-import org.eclipse.jpt.jpa.core.JpaFile;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.JpaStructureNode;
-import org.eclipse.jpt.jpa.core.JptJpaCorePlugin;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpa.core.resource.java.JavaResourcePersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.SaveEntityFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-import org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.JPACreateFactory;
-import org.junit.Before;
-import org.junit.Test;
-
-public class SaveEntityFeatureTest {
- final String TEST_PROJECT = "Test";
- private JpaProject jpaProject = null;
- private JPACreateFactory factory = null;
-
- @Before
- public void setUp() throws Exception{
- factory = JPACreateFactory.instance();
- jpaProject = factory.createJPAProject(TEST_PROJECT + "_" + System.currentTimeMillis());
- assertNotNull(jpaProject);
- Thread.sleep(2000);
- }
-
- @Test
- public void testExecute() throws Exception {
- assertNotNull(jpaProject);
- IFile customerFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com","test"}, "Customer");
-
- IJPAEditorFeatureProvider featureProvider = EasyMock.createMock(IJPAEditorFeatureProvider.class);
- PictogramElement pe = EasyMock.createMock(PictogramElement.class);
-
-
- jpaProject.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
-
- assertTrue(customerFile.exists());
- JavaResourcePersistentType customerType = jpaProject.getJavaResourcePersistentType("com.test.Customer");
- assertNotNull(customerType);
-
-
- JavaPersistentType t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
- int cnt = 0;
- while ((cnt < 25) && (t1 == null)) {
- Thread.sleep(200);
- t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
- cnt++;
- }
- if (t1 == null)
- return;
- expect(featureProvider.getBusinessObjectForPictogramElement(pe)).andStubReturn(t1);
- expect(featureProvider.getCompilationUnit(isA(JavaPersistentType.class))).andReturn(createCompilationUnitFrom(customerFile)).anyTimes();
-
-
- SaveEntityFeature ft = new SaveEntityFeature(featureProvider);
- ICustomContext ctx = EasyMock.createMock(ICustomContext.class);
-
- PictogramElement[] pes = new PictogramElement[1];
- pes[0] = pe;
- expect(ctx.getPictogramElements()).andStubReturn(pes);
-
- replay(featureProvider, ctx, pe);
- ft.execute(ctx);
- }
-
- public static JavaPersistentType getPersistentType(IFile file){
- JpaFile jpaFile = JptJpaCorePlugin.getJpaFile(file);
- for (JpaStructureNode node : getRootNodes(jpaFile)) {
- JavaPersistentType entity = (JavaPersistentType) node;
- return entity;
- }
- return null;
- }
-
- private static Iterable<JpaStructureNode> getRootNodes(JpaFile jpaFile) {
- if(jpaFile == null){
- return EmptyIterable.instance();
- }
- return jpaFile.getRootStructureNodes();
- }
-
- public ICompilationUnit createCompilationUnitFrom(IFile file) {
- return JavaCore.createCompilationUnitFrom(file);
- }
-
-
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/UpdateAttributeFeatureTest.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/UpdateAttributeFeatureTest.java
deleted file mode 100644
index 792c7c31d3..0000000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/feature/UpdateAttributeFeatureTest.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.feature;
-
-import static org.junit.Assert.assertNotNull;
-
-import java.util.Date;
-import java.util.Iterator;
-
-import org.easymock.EasyMock;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.util.BasicInternalEList;
-import org.eclipse.graphiti.features.context.ICustomContext;
-import org.eclipse.graphiti.mm.algorithms.GraphicsAlgorithm;
-import org.eclipse.graphiti.mm.algorithms.Rectangle;
-import org.eclipse.graphiti.mm.algorithms.Text;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.UpdateAttributeFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.JPACreateFactory;
-import org.junit.Before;
-import org.junit.Test;
-
-public class UpdateAttributeFeatureTest {
-
- private IJPAEditorFeatureProvider featureProvider;
- private ICustomContext context;
- final String TEST_PROJECT = "Test"+(new Date()).getTime();
- private JpaProject jpaProject = null;
- private JPACreateFactory factory = null;
- private IFile entity;
-
- @Before
- public void setUp() throws Exception {
- factory = JPACreateFactory.instance();
- jpaProject = factory.createJPAProject(TEST_PROJECT + "_" + System.currentTimeMillis());
- assertNotNull(jpaProject);
- entity = factory.createEntity(jpaProject, "org.eclipse.Ent");
- Thread.sleep(2000);
- factory.addAttributes(entity, "att", "java.lang.String", "", "att", false);
- }
-
-
- @SuppressWarnings({ "unchecked", "deprecation" })
- @Test
- public void testUpdateAttributeFeature(){
- Text text = EasyMock.createMock(Text.class);
- text.setValue(EasyMock.isA(java.lang.String.class));
- EasyMock.replay(text);
-
- EList<GraphicsAlgorithm> listChildren = new BasicInternalEList<GraphicsAlgorithm>(GraphicsAlgorithm.class);
-
-
- EasyMock.expect(listChildren.get(0)).andReturn(text);
- EasyMock.replay(listChildren);
-
-
- Rectangle rectangle = EasyMock.createMock(Rectangle.class);
- EasyMock.expect(rectangle.getGraphicsAlgorithmChildren()).andReturn(listChildren);
- EasyMock.expect(rectangle.getY()).andReturn(0).times(2);
- EasyMock.replay(rectangle);
-
- Iterator<Shape> iteratorShape = EasyMock.createNiceMock(Iterator.class);
- EasyMock.expect(iteratorShape.hasNext()).andReturn(false);
- EasyMock.replay(iteratorShape);
-
- EList<Shape> listShape = new BasicInternalEList<Shape>(Shape.class);
-
- ContainerShape containerShape = EasyMock.createMock(ContainerShape.class);
- EasyMock.expect(containerShape.getChildren()).andReturn(listShape);
- EasyMock.replay(containerShape);
-
- Shape shape = EasyMock.createMock(Shape.class);
- Resource res = EasyMock.createMock(Resource.class);
- ResourceSet rs = EasyMock.createMock(ResourceSet.class);
- EasyMock.expect(res.getResourceSet()).andStubReturn(rs);
- EList<Adapter> ads = new BasicInternalEList<Adapter>(Adapter.class);
- EasyMock.expect(rs.eAdapters()).andStubReturn(ads);
- EasyMock.expect(shape.eResource()).andStubReturn(res);
-
-
-
- EasyMock.expect(shape.getGraphicsAlgorithm()).andReturn(rectangle).times(3);
- EasyMock.expect(shape.getContainer()).andReturn(containerShape);
-
-
- EasyMock.replay(shape, res, rs);
-
- context = EasyMock.createMock(ICustomContext.class);
- EasyMock.expect(context.getInnerPictogramElement()).andReturn(shape);
- EasyMock.replay(context);
-
- featureProvider = EasyMock.createMock(IJPAEditorFeatureProvider.class);
- EasyMock.expect(featureProvider.getBusinessObjectForPictogramElement(shape)).andReturn(null);
- EasyMock.replay(featureProvider);
-
- UpdateAttributeFeature feature = new UpdateAttributeFeature(featureProvider);
- feature.execute(context);
- }
-
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/listener/JPAProjectListenerTest.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/listener/JPAProjectListenerTest.java
deleted file mode 100644
index 84b5695802..0000000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/listener/JPAProjectListenerTest.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.listener;
-
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.isA;
-import static org.easymock.EasyMock.replay;
-import static org.junit.Assert.assertNotNull;
-
-import org.easymock.EasyMock;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.graphiti.features.IRemoveFeature;
-import org.eclipse.graphiti.features.context.IRemoveContext;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jpt.common.utility.internal.iterables.EmptyIterable;
-import org.eclipse.jpt.jpa.core.JpaFile;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.JpaStructureNode;
-import org.eclipse.jpt.jpa.core.JptJpaCorePlugin;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IEclipseFacade;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPASolver;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-import org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.JPACreateFactory;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-
-public class JPAProjectListenerTest {
- private IJPAEditorFeatureProvider featureProvider;
- final String TEST_PROJECT = "Test";
- private JpaProject jpaProject = null;
- private JPACreateFactory factory = null;
- IEclipseFacade eclipseFacade = null;
-
- @Before
- public void setUp() throws Exception {
- factory = JPACreateFactory.instance();
- jpaProject = factory.createJPAProject(TEST_PROJECT + "_" + System.currentTimeMillis());
- assertNotNull(jpaProject);
- IFile entity = factory.createEntity(jpaProject, "org.eclipse.Entity1");
- Thread.sleep(2000);
- featureProvider = EasyMock.createMock(IJPAEditorFeatureProvider.class);
- expect(featureProvider.getBusinessObjectForPictogramElement(null)).andReturn(getPersistentType(entity));
- expect(featureProvider.getCompilationUnit(isA(JavaPersistentType.class))).andReturn(JavaCore.createCompilationUnitFrom(entity)).anyTimes();
- }
-
- public static JavaPersistentType getPersistentType(IFile file){
- JpaFile jpaFile = JptJpaCorePlugin.getJpaFile(file);
- for (JpaStructureNode node : getRootNodes(jpaFile)) {
- JavaPersistentType entity = (JavaPersistentType) node;
- return entity;
- }
- return null;
- }
-
- private static Iterable<JpaStructureNode> getRootNodes(JpaFile jpaFile) {
- if(jpaFile == null){
- return EmptyIterable.instance();
- }
- return jpaFile.getRootStructureNodes();
- }
-
- public ICompilationUnit createCompilationUnitFrom(IFile file) {
- return JavaCore.createCompilationUnitFrom(file);
- }
-
- @Test
- public void testJPAProjectListener() {
- JPASolver slv = new JPASolver();
- slv.setFeatureProvider(featureProvider);
- jpaProject.addCollectionChangeListener("mark", slv.new JPAProjectListener());
- PersistenceUnit pu = JpaArtifactFactory.instance().getPersistenceUnit(jpaProject);
- JavaPersistentType jpt = JpaArtifactFactory.instance().getJPT("org.eclipse.Entity1", pu);
- ContainerShape cs = EasyMock.createMock(ContainerShape.class);
- expect(featureProvider.getPictogramElementForBusinessObject(jpt)).andStubReturn(cs);
- IRemoveFeature ft = EasyMock.createMock(IRemoveFeature.class);
- expect(featureProvider.getRemoveFeature(isA(IRemoveContext.class))).andReturn(ft);
- // The remove method should be invoked exactly once
- ft.remove(isA(IRemoveContext.class));
- replay(ft, cs, featureProvider);
- JpaArtifactFactory.instance().deleteEntityClass(jpt, featureProvider);
- }
-
- @Test
- public void testJPAProjectListenerNoRemove() {
- JPASolver slv = new JPASolver();
- slv.setFeatureProvider(featureProvider);
- jpaProject.addCollectionChangeListener("mark", slv.new JPAProjectListener());
- PersistenceUnit pu = JpaArtifactFactory.instance().getPersistenceUnit(jpaProject);
- JavaPersistentType jpt = JpaArtifactFactory.instance().getJPT("org.eclipse.Entity1", pu);
- expect(featureProvider.getPictogramElementForBusinessObject(jpt)).andStubReturn(null);
- IRemoveFeature ft = EasyMock.createMock(IRemoveFeature.class);
- expect(featureProvider.getRemoveFeature(isA(IRemoveContext.class))).andReturn(ft);
- replay(ft, featureProvider);
- // if the container shape is null the remove method of the feature should not be invoked
- JpaArtifactFactory.instance().deleteEntityClass(jpt, featureProvider);
- }
-
-
- @After
- public void tearDown() throws Exception {
- deleteAllProjects();
- }
-
- private void deleteAllProjects() throws Exception {
- IProgressMonitor monitor= new NullProgressMonitor();
- ResourcesPlugin.getWorkspace().run(new IWorkspaceRunnable() {
- public void run(IProgressMonitor monitor) throws CoreException {
- try {
- IProject project = jpaProject.getProject();
- project.close(monitor);
- project.close(monitor);
- project.delete(true, true, monitor);
- } catch (Exception e) {
- //ignore
- }
- }
- } , monitor);
- }
-
-
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/modelintegration/ui/ModelIntegrationTest.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/modelintegration/ui/ModelIntegrationTest.java
deleted file mode 100644
index 80f7416c95..0000000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/modelintegration/ui/ModelIntegrationTest.java
+++ /dev/null
@@ -1,237 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.modelintegration.ui;
-
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.isA;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-import org.easymock.EasyMock;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.graphiti.dt.IDiagramTypeProvider;
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.platform.IDiagramEditor;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jpt.common.utility.internal.iterables.EmptyIterable;
-import org.eclipse.jpt.jpa.core.JpaFile;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.JpaStructureNode;
-import org.eclipse.jpt.jpa.core.JptJpaCorePlugin;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.ui.JPAEditorMatchingStrategy;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.util.IModelIntegrationUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IEclipseFacade;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IJPADiagramEditorInput;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IJPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.JPACreateFactory;
-import org.eclipse.ui.IEditorReference;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.PartInitException;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-public class ModelIntegrationTest {
-
- private static final String CODE_GENERATED = "CODE_GENERATED";
- private IJPAEditorFeatureProvider featureProvider;
- final String TEST_PROJECT = "Test";
- private JpaProject jpaProject = null;
- private JPACreateFactory factory = null;
- IEclipseFacade eclipseFacade = null;
- private String testProjectName = TEST_PROJECT + "_" + System.currentTimeMillis();
- IFile entityFile = null;
-
- @Before
- public void setUp() throws Exception {
- factory = JPACreateFactory.instance();
- jpaProject = factory.createJPAProject(testProjectName);
- assertNotNull(jpaProject);
- entityFile = factory.createEntity(jpaProject, "org.eclipse.Entity1");
- Thread.sleep(2000);
- featureProvider = EasyMock.createMock(IJPAEditorFeatureProvider.class);
- expect(featureProvider.getBusinessObjectForPictogramElement(null)).andReturn(getPersistentType(entityFile));
- expect(featureProvider.getCompilationUnit(isA(JavaPersistentType.class))).andReturn(JavaCore.createCompilationUnitFrom(entityFile)).anyTimes();
- }
-
- @Test
- public void testJPAEditorMatchingStrategyWithEntityFileEditorInputTrue() {
- IEditorReference editorRef = EasyMock.createMock(IEditorReference.class);
- IFileEditorInput input = EasyMock.createMock(IFileEditorInput.class);
- expect(input.getFile()).andStubReturn(entityFile);
- expect(input.getName()).andStubReturn(CODE_GENERATED);
- ICompilationUnit cu = createCompilationUnitFrom(entityFile);
-
- IJPAEditorUtil ut = EasyMock.createMock(IJPAEditorUtil.class);
- JavaPersistentType inputJptType = getPersistentType(entityFile);
- expect(ut.getJPType(cu)).andStubReturn(inputJptType);
- expect(featureProvider.getJPAEditorUtil()).andStubReturn(ut);
- Diagram d = EasyMock.createMock(Diagram.class);
- IJPADiagramEditorInput dEdInput = EasyMock.createMock(IJPADiagramEditorInput.class);
- try {
- expect(editorRef.getEditorInput()).andStubReturn(dEdInput);
- } catch (PartInitException e) {
- e.printStackTrace();
- }
- expect(dEdInput.getDiagram()).andStubReturn(d);
- IDiagramTypeProvider dtp = EasyMock.createMock(IDiagramTypeProvider.class);
- expect(featureProvider.getDiagramTypeProvider()).andStubReturn(dtp);
- IModelIntegrationUtil moinIntUtil = EasyMock.createMock(IModelIntegrationUtil.class);
- expect(featureProvider.getMoinIntegrationUtil()).andStubReturn(moinIntUtil);
- expect(moinIntUtil.getProjectByDiagram(d)).andStubReturn(jpaProject);
- PictogramElement pe = EasyMock.createMock(PictogramElement.class);
- expect(featureProvider.getPictogramElementForBusinessObject(inputJptType)).andStubReturn(pe);
- IDiagramEditor dEd = EasyMock.createMock(IDiagramEditor.class);
- expect(dtp.getDiagramEditor()).andStubReturn(dEd);
- dEd.setPictogramElementForSelection(pe);
-
- JPAEditorMatchingStrategy str = new JPAEditorMatchingStrategy(featureProvider);
-
- EasyMock.replay(editorRef, d, dtp, pe, dEd, moinIntUtil, dEdInput, ut, input, featureProvider);
- assertTrue(str.matches(editorRef, input));
- }
-
- @Test
- public void testJPAEditorMatchingStrategyWithEntityFileEditorInputFalse() {
- IEditorReference editorRef = EasyMock.createMock(IEditorReference.class);
- IFileEditorInput input = EasyMock.createMock(IFileEditorInput.class);
- expect(input.getFile()).andStubReturn(entityFile);
- expect(input.getName()).andStubReturn(CODE_GENERATED);
- ICompilationUnit cu = createCompilationUnitFrom(entityFile);
-
- IJPAEditorUtil ut = EasyMock.createMock(IJPAEditorUtil.class);
- JavaPersistentType inputJptType = getPersistentType(entityFile);
- expect(ut.getJPType(cu)).andStubReturn(inputJptType);
- expect(featureProvider.getJPAEditorUtil()).andStubReturn(ut);
- Diagram d = EasyMock.createMock(Diagram.class);
- IJPADiagramEditorInput dEdInput = EasyMock.createMock(IJPADiagramEditorInput.class);
- try {
- expect(editorRef.getEditorInput()).andStubReturn(dEdInput);
- } catch (PartInitException e) {
- e.printStackTrace();
- }
- expect(dEdInput.getDiagram()).andStubReturn(d);
- IDiagramTypeProvider dtp = EasyMock.createMock(IDiagramTypeProvider.class);
- expect(featureProvider.getDiagramTypeProvider()).andStubReturn(dtp);
- IModelIntegrationUtil moinIntUtil = EasyMock.createMock(IModelIntegrationUtil.class);
- expect(featureProvider.getMoinIntegrationUtil()).andStubReturn(moinIntUtil);
- JpaProject anotherJpaProject = EasyMock.createMock(JpaProject.class);
- expect(moinIntUtil.getProjectByDiagram(d)).andStubReturn(anotherJpaProject);
- PictogramElement pe = EasyMock.createMock(PictogramElement.class);
- expect(featureProvider.getPictogramElementForBusinessObject(inputJptType)).andStubReturn(pe);
- IDiagramEditor dEd = EasyMock.createMock(IDiagramEditor.class);
- expect(dtp.getDiagramEditor()).andStubReturn(dEd);
- dEd.setPictogramElementForSelection(pe);
-
- JPAEditorMatchingStrategy str = new JPAEditorMatchingStrategy(featureProvider);
-
- EasyMock.replay(editorRef, d, dtp, pe, dEd, moinIntUtil, anotherJpaProject, dEdInput, ut, input, featureProvider);
- assertFalse(str.matches(editorRef, input));
- }
-
- @Test
- public void testJPAEditorMatchingStrategyWithJPADiagramEditorInputTrue() {
- IEditorReference editorRef = EasyMock.createMock(IEditorReference.class);
- expect(editorRef.getPartName()).andStubReturn("ProjectName");
- IJPADiagramEditorInput input = EasyMock.createMock(IJPADiagramEditorInput.class);
- expect(input.getProjectName()).andStubReturn("ProjectName");
- JPAEditorMatchingStrategy str = new JPAEditorMatchingStrategy(featureProvider);
- EasyMock.replay(editorRef, input, featureProvider);
- assertTrue(str.matches(editorRef, input));
- }
-
- @Test
- public void testJPAEditorMatchingStrategyWithJPADiagramEditorInputFalse() {
- IEditorReference editorRef = EasyMock.createMock(IEditorReference.class);
- expect(editorRef.getPartName()).andStubReturn("ProjectName");
- IJPADiagramEditorInput input = EasyMock.createMock(IJPADiagramEditorInput.class);
- expect(input.getProjectName()).andStubReturn("DifferentProjectName");
- JPAEditorMatchingStrategy str = new JPAEditorMatchingStrategy(featureProvider);
- EasyMock.replay(editorRef, input, featureProvider);
- assertFalse(str.matches(editorRef, input));
- }
-
-
-// @Test
-// public void testJPAEditorMatchingStrategyWithFileEditorInput() {
-// IEditorReference editorRef = EasyMock.createMock(IEditorReference.class);
-// IFileEditorInput input = EasyMock.createMock(IFileEditorInput.class);
-// IJPAEditorUtil ut = EasyMock.createMock(IJPAEditorUtil.class);
-// expect(featureProvider.getJPAEditorUtil()).andStubReturn(ut);
-// JavaPersistentType jpt = EasyMock.createMock(JavaPersistentType.class);
-// ICompilationUnit cu = JavaCore.createCompilationUnitFrom(entityFile);
-// expect(ut.getJPType(cu)).andStubReturn(jpt);
-// PersistenceUnit pu = EasyMock.createMock(PersistenceUnit.class);
-// expect(jpt.getPersistenceUnit()).andStubReturn(pu);
-// expect(pu.getJpaProject()).andStubReturn(jpaProject);
-// expect(input.getFile()).andStubReturn(entityFile);
-// expect(input.getName()).andStubReturn(entityFile.getName());
-// JPAEditorMatchingStrategy str = new JPAEditorMatchingStrategy(featureProvider);
-// EasyMock.replay(editorRef, input, ut, jpt, pu, featureProvider);
-// assertFalse(str.matches(editorRef, input));
-// }
-
-
-
- public static JavaPersistentType getPersistentType(IFile file){
- JpaFile jpaFile = JptJpaCorePlugin.getJpaFile(file);
- for (JpaStructureNode node : getRootNodes(jpaFile)) {
- JavaPersistentType entity = (JavaPersistentType) node;
- return entity;
- }
- return null;
- }
-
- private static Iterable<JpaStructureNode> getRootNodes(JpaFile jpaFile) {
- if(jpaFile == null){
- return EmptyIterable.instance();
- }
- return jpaFile.getRootStructureNodes();
- }
-
- public ICompilationUnit createCompilationUnitFrom(IFile file) {
- return JavaCore.createCompilationUnitFrom(file);
- }
-
- @After
- public void tearDown() throws Exception {
- deleteAllProjects();
- }
-
- private void deleteAllProjects() throws Exception {
- IProgressMonitor monitor= new NullProgressMonitor();
- ResourcesPlugin.getWorkspace().run(new IWorkspaceRunnable() {
- public void run(IProgressMonitor monitor) throws CoreException {
- IProject project = jpaProject.getProject();
- project.close(monitor);
- project.close(monitor);
- project.delete(true, true, monitor);
- }
- } , monitor);
- }
-
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/modelintegration/util/ModelIntegrationUtilTest.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/modelintegration/util/ModelIntegrationUtilTest.java
deleted file mode 100644
index 692bbd5519..0000000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/modelintegration/util/ModelIntegrationUtilTest.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.modelintegration.util;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-
-import org.easymock.EasyMock;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.util.BasicInternalEList;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.util.ModelIntegrationUtil;
-import org.junit.Test;
-
-
-@SuppressWarnings("unchecked")
-public class ModelIntegrationUtilTest {
-
- @Test
- public void getMOINNoResourceFolderTest() {
- IProject project = EasyMock.createMock(IProject.class);
- //EList rr = new BasicInternalEList(String.class);
- EasyMock.expect(project.getProjectRelativePath()).andStubReturn(new Path("src"));
- EasyMock.replay(project);
- IPath p = ModelIntegrationUtil.getEMFResourceFolderPath(project);
- assertNotNull(p);
- assertEquals(2, p.segmentCount());
- assertEquals(p.segment(0), "src");
- }
-
- @SuppressWarnings("rawtypes")
- @Test
- public void getMOINSrcResourceFolderTest() {
- IProject project = EasyMock.createMock(IProject.class);
- EList rr = new BasicInternalEList(String.class);
- rr.add("src");
- EasyMock.expect(project.getProjectRelativePath()).andStubReturn(new Path("src"));
- EasyMock.replay(project);
- IPath p = ModelIntegrationUtil.getEMFResourceFolderPath(project);
- assertNotNull(p);
- assertEquals(2, p.segmentCount());
- assertEquals(p.segment(0), "src");
- }
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/preferences/JPAEditorPreferenceInitializerTest.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/preferences/JPAEditorPreferenceInitializerTest.java
deleted file mode 100644
index f34965d054..0000000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/preferences/JPAEditorPreferenceInitializerTest.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.preferences;
-
-import static org.junit.Assert.*;
-
-import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.PreferenceStore;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.preferences.JPAEditorPreferenceInitializer;
-import org.junit.Test;
-
-public class JPAEditorPreferenceInitializerTest {
- @Test
- public void testInitializeDefaultPreferences() {
- IPreferenceStore store = new PreferenceStore();
- AbstractPreferenceInitializer fixture = new JPAEditorPreferenceInitializer(
- store);
- fixture.initializeDefaultPreferences();
- String pack = store
- .getDefaultString(JPAEditorPreferenceInitializer.PROPERTY_ENTITY_PACKAGE);
- assertEquals(JPAEditorPreferenceInitializer.PROPERTY_VAL_ENTITY_PACKAGE, pack);
- }
-
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/preferences/JPAEditorPreferencesPageTest.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/preferences/JPAEditorPreferencesPageTest.java
deleted file mode 100644
index 718896e8c3..0000000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/preferences/JPAEditorPreferencesPageTest.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.preferences;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.JPADiagramEditorPlugin;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.preferences.JPAEditorPreferenceInitializer;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.preferences.JPAEditorPreferencesPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-public class JPAEditorPreferencesPageTest {
-
- private IPreferenceStore store;
- private String oldValue;
-
- @Before
- public void setUp() {
- store = JPADiagramEditorPlugin.getDefault().getPreferenceStore();
- oldValue = store
- .getString(JPAEditorPreferenceInitializer.PROPERTY_ENTITY_PACKAGE);
- }
-
- @After
- public void tearDown() {
- store.setValue(JPAEditorPreferenceInitializer.PROPERTY_ENTITY_PACKAGE,
- oldValue);
- }
-
- /*
- @Test
- public void testCheckState() {
- JPAEditorPreferencesPage page = createControl();
- assertNull(page.getErrorMessage());
- }
-
- @Test
- public void testCheckStateErrorMessage() {
- store.setValue(JPAEditorPreferenceInitializer.DEFAULT_ENTITY_PACKAGE,
- "d omd");
- JPAEditorPreferencesPage page = createControl();
- assertNotNull(page.getErrorMessage());
- }
-
- @Test
- public void testCheckStateWarningMessage() {
- store.setValue(JPAEditorPreferenceInitializer.DEFAULT_ENTITY_PACKAGE,
- "CapitalLetter");
- JPAEditorPreferencesPage page = createControl();
- assertNull(page.getMessage());
- assertTrue(page.isValid());
- }
- */
-
- @Test
- public void testInit() {
- JPAEditorPreferencesPage page = new JPAEditorPreferencesPage();
- page.init(null);
- }
-
- @SuppressWarnings("unused")
- private JPAEditorPreferencesPage createControl() {
- JPAEditorPreferencesPage page = new JPAEditorPreferencesPage();
- Composite composite = new Composite(Display.getDefault()
- .getActiveShell(), SWT.NONE);
- page.createControl(composite);
- return page;
- }
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/provider/JPAEditorFeatureProviderTest.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/provider/JPAEditorFeatureProviderTest.java
deleted file mode 100644
index eb46f6523d..0000000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/provider/JPAEditorFeatureProviderTest.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.provider;
-
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.isA;
-import static org.easymock.EasyMock.replay;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-
-import org.easymock.EasyMock;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.graphiti.dt.IDiagramTypeProvider;
-import org.eclipse.graphiti.features.IDeleteFeature;
-import org.eclipse.graphiti.features.context.IDeleteContext;
-import org.eclipse.graphiti.mm.Property;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.ClickRemoveAttributeButtonFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.DeleteJPAEntityFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.feature.DeleteRelationFeature;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.AbstractRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.ManyToManyUniDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IJpaSolver;
-import org.junit.Before;
-import org.junit.Test;
-
-
-public class JPAEditorFeatureProviderTest {
-
-
- private IJpaSolver solver;
- private String businessObjectKey;
-
- /**
- * @throws java.lang.Exception
- */
- @Before
- public void setUp() throws Exception {
- solver = EasyMock.createMock(IJpaSolver.class);
- businessObjectKey = "someValue";
- }
-
- @Test
- public void testAttributesGroupDeleteFeature(){
- PictogramElement pe = replayPictogramElement();
-
- expect(solver.getBusinessObjectForKey(businessObjectKey)).andReturn(new Object());
- IJPAEditorFeatureProvider provider = createFeatureProvider();
-
- //test
- IDeleteContext context = replayDeleteContext(pe);
- assertNull(provider.getDeleteFeature(context));
- }
-
- @Test
- public void testAttributeDeleteFeature(){
- PictogramElement pe = replayPictogramElement();
- JavaPersistentAttribute jpa = replayAttribute();
- expect(solver.getBusinessObjectForKey(businessObjectKey)).andStubReturn(jpa);
- IJPAEditorFeatureProvider provider = createFeatureProvider();
-
- //test
- IDeleteContext context = replayDeleteContext(pe);
- assertNotNull(provider.getDeleteFeature(context));
- IDeleteFeature feature = provider.getDeleteFeature(context);
- assertTrue(feature instanceof ClickRemoveAttributeButtonFeature);
- }
-
- @Test
- public void testEntityDeleteFeature(){
- PictogramElement pe = replayPictogramElement();
- JavaPersistentType jpt = replayJPT("TestEntity");
-
- expect(solver.getBusinessObjectForKey(businessObjectKey)).andStubReturn(jpt);
- IJPAEditorFeatureProvider provider = createFeatureProvider();
-
- //test
- IDeleteContext context = replayDeleteContext(pe);
- assertNotNull(provider.getDeleteFeature(context));
- IDeleteFeature deleteFeature = provider.getDeleteFeature(context);
- assertTrue(deleteFeature instanceof DeleteJPAEntityFeature);
- }
-
- @Test
- public void testRelationDeleteFeature(){
- PictogramElement pe = replayPictogramElement();
- JavaPersistentType jpt1 = replayJPT("TestEntity1");
- JavaPersistentType jpt2 = replayJPT("TestEntity2");
- IJPAEditorFeatureProvider provider = createFeatureProvider();
-
- AbstractRelation relation = new ManyToManyUniDirRelation(provider, jpt1, jpt2, "attribute1", false, null, null);
- expect(solver.getBusinessObjectForKey(businessObjectKey)).andStubReturn(relation);
-
- //test
- IDeleteContext context = replayDeleteContext(pe);
- assertNotNull(provider.getDeleteFeature(context));
- IDeleteFeature deleteFeature = provider.getDeleteFeature(context);
- assertTrue(deleteFeature instanceof DeleteRelationFeature);
- }
-
- private JavaPersistentType replayJPT(String name){
- JavaPersistentType jpt = EasyMock.createMock(JavaPersistentType.class);
- expect(jpt.getName()).andReturn(name);
- replay(jpt);
- return jpt;
- }
-
- private JavaPersistentAttribute replayAttribute(){
- JavaPersistentAttribute attribute = EasyMock.createMock(JavaPersistentAttribute.class);
- expect(attribute.getName()).andReturn("attribute");
- replay(attribute);
- return attribute;
- }
-
- @SuppressWarnings("unchecked")
- private PictogramElement replayPictogramElement(){
- PictogramElement pe = EasyMock.createMock(PictogramElement.class);
- Resource r = EasyMock.createMock(Resource.class);
- expect(pe.eResource()).andStubReturn(r);
- //expect(pe.is___Alive()).andStubReturn(true);
- EList<Property> properties = EasyMock.createMock(EList.class);
- Property prop = EasyMock.createMock(Property.class);
- expect(prop.getKey()).andStubReturn("independentObject");
- expect(prop.getValue()).andStubReturn(businessObjectKey);
- replay(prop, r);
- properties.add(prop);
- expect(pe.getProperties()).andStubReturn(properties);
- replay(pe);
- return pe;
- }
-
- private IJPAEditorFeatureProvider createFeatureProvider() {
- IDiagramTypeProvider dtp = EasyMock.createMock(IDiagramTypeProvider.class);
- replay(dtp);
- solver.setFeatureProvider(isA(IJPAEditorFeatureProvider.class));
- replay(solver);
- IJPAEditorFeatureProvider provider = EasyMock.createMock(IJPAEditorFeatureProvider.class);
- expect(provider.getDiagramTypeProvider()).andStubReturn(dtp);
- //provider.get
- replay(provider);
- return provider;
- }
-
- private IDeleteContext replayDeleteContext(PictogramElement pe){
- IDeleteContext context = EasyMock.createMock(IDeleteContext.class);
- expect(context.getPictogramElement()).andStubReturn(pe);
- replay(context);
- return context;
- }
-
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/provider/JPAEditorToolBehaviorProviderTest.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/provider/JPAEditorToolBehaviorProviderTest.java
deleted file mode 100644
index a987680cdb..0000000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/provider/JPAEditorToolBehaviorProviderTest.java
+++ /dev/null
@@ -1,252 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Kiril Mitov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.provider;
-
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.replay;
-import static org.easymock.EasyMock.verify;
-import static org.junit.Assert.assertEquals;
-
-import org.easymock.EasyMock;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.QualifiedName;
-import org.eclipse.graphiti.dt.IDiagramTypeProvider;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.IDoubleClickContext;
-import org.eclipse.graphiti.mm.algorithms.GraphicsAlgorithm;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.tb.IDecorator;
-import org.eclipse.graphiti.tb.IToolBehaviorProvider;
-import org.eclipse.graphiti.tb.ImageDecorator;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.modelintegration.ui.JPAEditorMatchingStrategy;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.JPAEditorToolBehaviorProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IEclipseFacade;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IStaticIDE;
-import org.eclipse.ui.PartInitException;
-import org.junit.Before;
-import org.junit.Test;
-
-public class JPAEditorToolBehaviorProviderTest {
-
- /**
- * @throws java.lang.Exception
- */
- @Before
- public void setUp() throws Exception {
- }
-
- @Test
- public void testGetRenderingDecoratorsPictogramElementError() throws Exception {
- PictogramElement pe = replayPictogramElement(100, 100);
- IMarker marker = replayMarker(IMarker.SEVERITY_ERROR, "Error message");
- JavaPersistentType jpt = replayJptWithMarker(new IMarker[] { marker });
- IDiagramTypeProvider dtp = replayDiagramProvider(pe, jpt);
-
- IToolBehaviorProvider provider = new JPAEditorToolBehaviorProvider(dtp);
- IDecorator[] decorators = provider.getDecorators(pe);
- assertEquals(1, decorators.length);
- assertEquals("Error message", decorators[0].getMessage());
- }
-
- @Test
- public void testGetRenderingDecoratorsPictogramElementWarning() throws Exception {
- PictogramElement pe = replayPictogramElement(100, 100);
-
- IMarker marker = replayMarker(IMarker.SEVERITY_WARNING, "Warning message");
- JavaPersistentType jpt = replayJptWithMarker(new IMarker[] { marker });
- IDiagramTypeProvider dtp = replayDiagramProvider(pe, jpt);
-
- IToolBehaviorProvider provider = new JPAEditorToolBehaviorProvider(dtp);
- IDecorator[] decorators = provider.getDecorators(pe);
- assertEquals(1, decorators.length);
- assertEquals("Warning message", decorators[0].getMessage());
- }
-
- @Test
- public void testGetRenderingDecoratorsPictogramElementInfo() throws Exception {
- PictogramElement pe = replayPictogramElement(100, 100);
- IMarker marker = replayMarker(IMarker.SEVERITY_INFO, "Info message");
- JavaPersistentType jpt = replayJptWithMarker(new IMarker[] { marker });
- IDiagramTypeProvider dtp = replayDiagramProvider(pe, jpt);
-
- IToolBehaviorProvider provider = new JPAEditorToolBehaviorProvider(dtp);
- IDecorator[] decorators = provider.getDecorators(pe);
- assertEquals(1, decorators.length);
- assertEquals("Info message", decorators[0].getMessage());
- }
-
- @Test
- public void testGetRenderingDecoratorsPictogramElementNoMarkers() throws Exception {
- PictogramElement pe = replayPictogramElement(100, 100);
- JavaPersistentType jpt = replayJptWithMarker(new IMarker[0]);
- IDiagramTypeProvider dtp = replayDiagramProvider(pe, jpt);
-
- IToolBehaviorProvider provider = new JPAEditorToolBehaviorProvider(dtp);
- IDecorator[] decorators = provider.getDecorators(pe);
- assertEquals(0, decorators.length);
- }
-
- @Test
- public void testGetRenderingDecoratorsPictogramElementTwoMarkers() throws Exception {
- PictogramElement pe = replayPictogramElement(100, 100);
- IMarker warningMarker = replayMarker(IMarker.SEVERITY_WARNING, "warning");
- IMarker errorMarker = replayMarker(IMarker.SEVERITY_ERROR, "error");
- JavaPersistentType jpt = replayJptWithMarker(new IMarker[] { errorMarker, warningMarker });
- IDiagramTypeProvider dtp = replayDiagramProvider(pe, jpt);
- IToolBehaviorProvider provider = new JPAEditorToolBehaviorProvider(dtp);
- IDecorator[] decorators = provider.getDecorators(pe);
- assertEquals(1, decorators.length);
- assertEquals("error", decorators[0].getMessage());
- }
-
- @Test
- public void testGetRenderingDecoratorsPictogramElementLocation() throws Exception {
- PictogramElement pe = replayPictogramElement(100, 100);
- IMarker marker = replayMarker(IMarker.SEVERITY_ERROR, "Error message");
- JavaPersistentType jpt = replayJptWithMarker(new IMarker[] { marker });
- IDiagramTypeProvider dtp = replayDiagramProvider(pe, jpt);
-
- IToolBehaviorProvider provider = new JPAEditorToolBehaviorProvider(dtp);
- IDecorator[] decorators = provider.getDecorators(pe);
- assertEquals(1, decorators.length);
- assertEquals(80, ((ImageDecorator) decorators[0]).getX());
- assertEquals(80, ((ImageDecorator) decorators[0]).getY());
- }
-
- @Test
- public void testGetDoubleClickOnJptFeature() throws PartInitException, CoreException {
- PictogramElement pe = replayPictogramElement(100, 100);
- IFile file = replayResource();
- JavaPersistentType jpt = replayJpt(pe, file);
- IDiagramTypeProvider dtp = replayDiagramProvider(pe, jpt);
-
- IEclipseFacade facade = EasyMock.createMock(IEclipseFacade.class);
- IStaticIDE ide = EasyMock.createMock(IStaticIDE.class);
- expect(facade.getIDE()).andStubReturn(ide);
- ide.openEditor(file);
- replay(facade, ide);
- IToolBehaviorProvider provider = new JPAEditorToolBehaviorProvider(dtp, facade);
-
- IDoubleClickContext context = replayDoubleClickContext(pe);
- provider.getDoubleClickFeature(context);
- verify(ide);
- }
-
- @Test
- public void testGetDoubleClickOnJpaFeature() throws Exception {
- PictogramElement pe = replayPictogramElement(100, 100);
- IFile file = replayResource();
- JavaPersistentAttribute jpa = replayJpa(pe, file);
- IDiagramTypeProvider dtp = replayDiagramProviderForJpa(pe, jpa);
-
- IEclipseFacade eclipseFacade = EasyMock.createMock(IEclipseFacade.class);
- IStaticIDE ide = EasyMock.createMock(IStaticIDE.class);
- expect(eclipseFacade.getIDE()).andStubReturn(ide);
- ide.openEditor(file);
- replay(eclipseFacade, ide);
- IToolBehaviorProvider provider = new JPAEditorToolBehaviorProvider(dtp, eclipseFacade);
-
- IDoubleClickContext context = replayDoubleClickContext(pe);
- provider.getDoubleClickFeature(context);
- verify(ide);
- }
-
- private IDiagramTypeProvider replayDiagramProvider(PictogramElement pe, JavaPersistentType jpt) {
- IFeatureProvider featureProvider = EasyMock.createMock(IFeatureProvider.class);
- expect(featureProvider.getBusinessObjectForPictogramElement(pe)).andStubReturn(jpt);
- IDiagramTypeProvider dtp = EasyMock.createMock(IDiagramTypeProvider.class);
- expect(dtp.getFeatureProvider()).andStubReturn(featureProvider);
- replay(dtp, featureProvider);
- return dtp;
- }
-
- private IMarker replayMarker(int severity, String message) throws CoreException {
- IMarker marker = EasyMock.createMock(IMarker.class);
- expect(marker.getAttribute(IMarker.SEVERITY)).andStubReturn(severity);
- expect(marker.getAttribute(IMarker.MESSAGE)).andStubReturn(message);
- replay(marker);
- return marker;
- }
-
- private JavaPersistentType replayJptWithMarker(IMarker[] markers) throws CoreException {
- JavaPersistentType jpt = EasyMock.createMock(JavaPersistentType.class);
- IFile file = EasyMock.createMock(IFile.class);
- expect(file.exists()).andReturn(true);
- expect(file.findMarkers(null, true, IResource.DEPTH_INFINITE)).andStubReturn(markers);
- expect(jpt.getResource()).andStubReturn(file);
- replay(file, jpt);
- return jpt;
- }
-
- private IFile replayResource() throws CoreException {
- IFile file = EasyMock.createMock(IFile.class);
- file.setSessionProperty(new QualifiedName(null, JPAEditorMatchingStrategy.DOUBLE_CLICK), "true");
- EasyMock.expectLastCall().asStub();
- expect(file.getType()).andStubReturn(IResource.FILE);
- replay(file);
- return file;
- }
-
- private IDoubleClickContext replayDoubleClickContext(PictogramElement pe){
- IDoubleClickContext context = EasyMock.createMock(IDoubleClickContext.class);
- expect(context.getPictogramElements()).andStubReturn(new PictogramElement[] {pe});
- replay(context);
- return context;
- }
-
- private JavaPersistentType replayJpt(PictogramElement pe, IFile file){
- IFeatureProvider featureProvider = EasyMock.createMock(IFeatureProvider.class);
- JavaPersistentType jpt = EasyMock.createMock(JavaPersistentType.class);
- expect(featureProvider.getBusinessObjectForPictogramElement(pe)).andStubReturn(jpt);
- expect(jpt.getResource()).andReturn(file);
- replay(jpt, featureProvider);
- return jpt;
- }
-
- private JavaPersistentAttribute replayJpa(PictogramElement pe, IFile file){
- IFeatureProvider featureProvider = EasyMock.createMock(IFeatureProvider.class);
- JavaPersistentAttribute jpa = EasyMock.createMock(JavaPersistentAttribute.class);
- expect(featureProvider.getBusinessObjectForPictogramElement(pe)).andStubReturn(jpa);
- expect(jpa.getResource()).andReturn(file);
- replay(jpa, featureProvider);
- return jpa;
- }
-
- private IDiagramTypeProvider replayDiagramProviderForJpa(PictogramElement pe, JavaPersistentAttribute jpa) {
- IFeatureProvider featureProvider = EasyMock.createMock(IFeatureProvider.class);
- expect(featureProvider.getBusinessObjectForPictogramElement(pe)).andStubReturn(jpa);
- IDiagramTypeProvider dtp = EasyMock.createMock(IDiagramTypeProvider.class);
- expect(dtp.getFeatureProvider()).andStubReturn(featureProvider);
- replay(dtp, featureProvider);
- return dtp;
- }
-
- private PictogramElement replayPictogramElement(int width, int height) {
- PictogramElement pe = EasyMock.createMock(PictogramElement.class);
- GraphicsAlgorithm algo = EasyMock.createMock(GraphicsAlgorithm.class);
- expect(algo.getWidth()).andStubReturn(width);
- expect(algo.getHeight()).andStubReturn(height);
- expect(pe.getGraphicsAlgorithm()).andStubReturn(algo);
- replay(pe, algo);
- return pe;
- }
-
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/relation/CreateRelationAttributesTest.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/relation/CreateRelationAttributesTest.java
deleted file mode 100644
index 951aa712b2..0000000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/relation/CreateRelationAttributesTest.java
+++ /dev/null
@@ -1,620 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.relation;
-
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.isA;
-import static org.easymock.EasyMock.replay;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-import org.easymock.EasyMock;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jpt.common.utility.internal.iterables.EmptyIterable;
-import org.eclipse.jpt.jpa.core.JpaFile;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.JpaStructureNode;
-import org.eclipse.jpt.jpa.core.JptJpaCorePlugin;
-import org.eclipse.jpt.jpa.core.context.AttributeMapping;
-import org.eclipse.jpt.jpa.core.context.PersistentType;
-import org.eclipse.jpt.jpa.core.context.ReadOnlyPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaManyToManyMapping;
-import org.eclipse.jpt.jpa.core.context.java.JavaManyToOneMapping;
-import org.eclipse.jpt.jpa.core.context.java.JavaOneToManyMapping;
-import org.eclipse.jpt.jpa.core.context.java.JavaOneToOneMapping;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpa.core.resource.java.JavaResourcePersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IEclipseFacade;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-import org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.JPACreateFactory;
-import org.junit.Before;
-import org.junit.Test;
-
-public class CreateRelationAttributesTest {
-
- private IJPAEditorFeatureProvider featureProvider;
- final String TEST_PROJECT = "Test";
- private JpaProject jpaProject = null;
- private JPACreateFactory factory = null;
- IEclipseFacade eclipseFacade = null;
-
- @Before
- public void setUp() throws Exception {
- factory = JPACreateFactory.instance();
- jpaProject = factory.createJPAProject(TEST_PROJECT + "_" + System.currentTimeMillis());
- assertNotNull(jpaProject);
- IFile entity = factory.createEntity(jpaProject, "org.eclipse.Entity1");
- Thread.sleep(2000);
- featureProvider = EasyMock.createMock(IJPAEditorFeatureProvider.class);
- expect(featureProvider.getBusinessObjectForPictogramElement(null)).andReturn(getPersistentType(entity));
- expect(featureProvider.getCompilationUnit(isA(JavaPersistentType.class))).andReturn(JavaCore.createCompilationUnitFrom(entity)).anyTimes();
- replay(featureProvider);
- }
-
- public static PersistentType getPersistentType(IFile file){
- JpaFile jpaFile = JptJpaCorePlugin.getJpaFile(file);
- for (JpaStructureNode node : getRootNodes(jpaFile)) {
- PersistentType entity = (PersistentType) node;
- return entity;
- }
- return null;
- }
-
- private static Iterable<JpaStructureNode> getRootNodes(JpaFile jpaFile) {
- if(jpaFile == null){
- return EmptyIterable.instance();
- }
- return jpaFile.getRootStructureNodes();
- }
-
- public ICompilationUnit createCompilationUnitFrom(IFile file) {
- ICompilationUnit cu = JavaCore.createCompilationUnitFrom(file);
- if (!cu.isWorkingCopy())
- try {
- cu.becomeWorkingCopy(new NullProgressMonitor());
- } catch (JavaModelException e) {
- e.printStackTrace();
- }
- return cu;
- }
-
- @Test
- public void testAddAnnotation() throws Exception {
- assertNotNull(jpaProject);
- //jpaProject.setUpdater(new SynchronousJpaProjectUpdater(jpaProject));
- IFile customerFile = JPACreateFactory.instance().createEntityInProject(jpaProject.getProject(), new String[]{"abc"}, "Customer");
- IFile addressFile = JPACreateFactory.instance().createEntityInProject(jpaProject.getProject(), new String[]{"abc"}, "Address");
-
- jpaProject.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
-
- assertTrue(customerFile.exists());
- JavaResourcePersistentType customerType = jpaProject.getJavaResourcePersistentType("abc.Customer");
- assertNotNull(customerType);
-
-
- PersistentType t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
- while (t1 == null) {
- Thread.sleep(200);
- t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
- }
-
- assertTrue(addressFile.exists());
- JavaResourcePersistentType addressType = jpaProject.getJavaResourcePersistentType("abc.Address");
- assertNotNull(customerType);
-
-
- PersistentType t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
- while (t2 == null) {
- Thread.sleep(200);
- t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
- }
-
- JavaPersistentAttribute attr = JpaArtifactFactory.instance().
- addAttribute(featureProvider, (JavaPersistentType)t1, (JavaPersistentType)t2, "add", "add", false,
- createCompilationUnitFrom(customerFile),
- createCompilationUnitFrom(addressFile));
- jpaProject.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
- PersistenceUnit pu = jpaProject.getRootContextNode().getPersistenceXml().getPersistence().persistenceUnits().next();
- t1 = pu.getPersistentType("abc.Customer");
- assertNotNull(attr);
-
- }
-
-
- @Test
- public void testAddOneToOneUnidirectionalRelationAttributes() throws Exception {
- assertNotNull(jpaProject);
- IFile customerFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com","test"}, "Customer");
-
- IFile addressFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com"}, "Address");
-
- jpaProject.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
-
- assertTrue(customerFile.exists());
- JavaResourcePersistentType customerType = jpaProject.getJavaResourcePersistentType("com.test.Customer");
- assertNotNull(customerType);
-
-
- PersistentType t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
- while (t1 == null) {
- Thread.sleep(200);
- t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
- }
-
- assertTrue(addressFile.exists());
- JavaResourcePersistentType addressType = jpaProject.getJavaResourcePersistentType("com.Address");
- assertNotNull(customerType);
-
-
- PersistentType t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
- while (t2 == null) {
- Thread.sleep(200);
- t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
- }
-
- JavaPersistentAttribute attr = JpaArtifactFactory.instance().
- addAttribute(featureProvider, (JavaPersistentType)t1, (JavaPersistentType)t2, "address", "address", false,
- createCompilationUnitFrom((IFile)t1.getResource()),
- createCompilationUnitFrom((IFile)t2.getResource()));
- assertNotNull(attr);
-
- JpaArtifactFactory.instance().addOneToOneUnidirectionalRelation(featureProvider, (JavaPersistentType)t1, attr);
-
- PersistentType pt = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
- while (pt == null) {
- Thread.sleep(200);
- pt = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
- }
-
- ReadOnlyPersistentAttribute cPersistentAttribute = pt.resolveAttribute("address");
- assertNotNull(cPersistentAttribute);
-
- }
-
-
- @Test
- public void testAddOneToOneBidirectionalRelationAttributes() throws Exception {
- assertNotNull(jpaProject);
- IFile customerFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com"}, "Customer");
-
- IFile creditCardFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com"}, "CreditCard");
-
- jpaProject.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
-
- assertTrue(customerFile.exists());
- JavaResourcePersistentType customerType = jpaProject.getJavaResourcePersistentType("com.Customer");
- assertNotNull(customerType);
-
-
- PersistentType t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
- while (t1 == null) {
- Thread.sleep(200);
- t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
- }
-
- assertTrue(creditCardFile.exists());
- JavaResourcePersistentType creditCardType = jpaProject.getJavaResourcePersistentType("com.CreditCard");
- assertNotNull(creditCardFile);
-
-
- PersistentType t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, creditCardType.getQualifiedName());
- while (t2 == null) {
- Thread.sleep(200);
- t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, creditCardType.getQualifiedName());
- }
-
- JavaPersistentAttribute attr = JpaArtifactFactory.instance().
- addAttribute( featureProvider, (JavaPersistentType)t1, (JavaPersistentType)t2, "creditCard", "creditCard", false,
- createCompilationUnitFrom((IFile)t1.getResource()),
- createCompilationUnitFrom((IFile)t2.getResource()));
- assertNotNull(attr);
-
- JavaPersistentAttribute attr2 = JpaArtifactFactory.instance().
- addAttribute(featureProvider, (JavaPersistentType)t2, (JavaPersistentType)t1, "customer", "customer", false,
- createCompilationUnitFrom((IFile)t2.getResource()),
- createCompilationUnitFrom((IFile)t1.getResource()));
- assertNotNull(attr2);
-
- JpaArtifactFactory.instance().addOneToOneBidirectionalRelation(featureProvider, (JavaPersistentType)t1, attr, (JavaPersistentType)t2, attr2);
-
- PersistentType ownerPersistentType = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
- while (ownerPersistentType == null) {
- Thread.sleep(200);
- ownerPersistentType = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
- }
-
- ReadOnlyPersistentAttribute ownerPersistentAttribute = ownerPersistentType.resolveAttribute("creditCard");
- assertNotNull(ownerPersistentAttribute);
- assertTrue(ownerPersistentAttribute instanceof JavaPersistentAttribute);
-
- AttributeMapping ownerSideMapping = ownerPersistentAttribute.getMapping();
- assertTrue(ownerSideMapping instanceof JavaOneToOneMapping);
-
- assertTrue(((JavaOneToOneMapping)ownerSideMapping).isRelationshipOwner());
-
- PersistentType inversePersistentType = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, creditCardType.getQualifiedName());
- while (inversePersistentType == null) {
- Thread.sleep(200);
- inversePersistentType = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, creditCardType.getQualifiedName());
- }
-
- ReadOnlyPersistentAttribute inversePersistentAttribute = inversePersistentType.resolveAttribute("customer");
- assertNotNull(inversePersistentAttribute);
- assertTrue(inversePersistentAttribute instanceof JavaPersistentAttribute);
-
- AttributeMapping inverseSideMapping = inversePersistentAttribute.getMapping();
- assertTrue(inverseSideMapping instanceof JavaOneToOneMapping);
-
- assertFalse(((JavaOneToOneMapping)inverseSideMapping).isRelationshipOwner());
- }
-
-
- @Test
- public void testAddOneToManyUnidirectionalRelationAttributes() throws Exception {
- assertNotNull(jpaProject);
- IFile customerFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com"}, "Customer");
-
- IFile phoneFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com"}, "Phone");
-
- jpaProject.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
-
- assertTrue(customerFile.exists());
- JavaResourcePersistentType customerType = jpaProject.getJavaResourcePersistentType("com.Customer");
- assertNotNull(customerType);
-
-
- PersistentType t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
- while (t1 == null) {
- Thread.sleep(200);
- t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
- }
-
- assertTrue(phoneFile.exists());
- JavaResourcePersistentType phoneType = jpaProject.getJavaResourcePersistentType("com.Phone");
- assertNotNull(customerType);
-
-
- PersistentType t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, phoneType.getQualifiedName());
- while (t2 == null) {
- Thread.sleep(200);
- t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, phoneType.getQualifiedName());
- }
-
- JavaPersistentAttribute attr = JpaArtifactFactory.instance().addAttribute(featureProvider, (JavaPersistentType)t1, (JavaPersistentType)t2, "phones", "phones", true,
- createCompilationUnitFrom((IFile)t1.getResource()),
- createCompilationUnitFrom((IFile)t2.getResource()));
- assertNotNull(attr);
-
- JpaArtifactFactory.instance().addOneToManyUnidirectionalRelation(featureProvider, (JavaPersistentType)t1, attr, false);
-
- PersistentType pt = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
- while (pt == null) {
- Thread.sleep(200);
- pt = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, phoneType.getQualifiedName());
- }
-
- ReadOnlyPersistentAttribute cPersistentAttribute = pt.resolveAttribute("phones");
- assertNotNull(cPersistentAttribute);
-
- AttributeMapping mapping = cPersistentAttribute.getMapping();
- assertNotNull(mapping);
- assertTrue(mapping instanceof JavaOneToManyMapping);
-
- assertTrue(((JavaOneToManyMapping)mapping).isRelationshipOwner());
- }
-
-
- @Test
- public void testAddOneToManyBidirectionalRelationAttributes() throws Exception {
- assertNotNull(jpaProject);
- IFile cruiseFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com"}, "Cruise");
- IFile reservationFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com"}, "Reservation");
-
- jpaProject.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
-
- assertTrue(cruiseFile.exists());
- JavaResourcePersistentType cruiseType = jpaProject.getJavaResourcePersistentType("com.Cruise");
- assertNotNull(cruiseType);
-
-
- PersistentType singleSidePersistentType = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, cruiseType.getQualifiedName());
- while (singleSidePersistentType == null) {
- Thread.sleep(200);
- singleSidePersistentType = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, cruiseType.getQualifiedName());
- }
-
- assertTrue(reservationFile.exists());
- JavaResourcePersistentType reservationType= jpaProject.getJavaResourcePersistentType("com.Reservation");
- assertNotNull(reservationFile);
-
-
- PersistentType manySidePersistentType = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, reservationType.getQualifiedName());
- while (manySidePersistentType == null) {
- Thread.sleep(200);
- manySidePersistentType = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, reservationType.getQualifiedName());
- }
-
- JavaPersistentAttribute singleSideAttribute = JpaArtifactFactory.instance().
- addAttribute(featureProvider, (JavaPersistentType)singleSidePersistentType, (JavaPersistentType)manySidePersistentType, "reservations", "reservations", true,
- createCompilationUnitFrom((IFile)singleSidePersistentType.getResource()),
- createCompilationUnitFrom((IFile)manySidePersistentType.getResource()));
- assertNotNull(singleSideAttribute);
-
- JavaPersistentAttribute manySideAttribute = JpaArtifactFactory.instance().
- addAttribute(featureProvider, (JavaPersistentType)manySidePersistentType, (JavaPersistentType)singleSidePersistentType, "cruise", "cruise", false,
- createCompilationUnitFrom((IFile)manySidePersistentType.getResource()),
- createCompilationUnitFrom((IFile)singleSidePersistentType.getResource()));
- assertNotNull(manySideAttribute);
-
- JpaArtifactFactory.instance().addOneToManyBidirectionalRelation(featureProvider, (JavaPersistentType)singleSidePersistentType, singleSideAttribute, (JavaPersistentType)manySidePersistentType, manySideAttribute, false);
-
- // In one-to-many bidirectional relation many side is ALWAYS owner
- PersistentType inversePersistentType = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, cruiseType.getQualifiedName());
- while (inversePersistentType == null) {
- Thread.sleep(200);
- inversePersistentType = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, cruiseType.getQualifiedName());
- }
-
- ReadOnlyPersistentAttribute inversePersistentAttribute = inversePersistentType.resolveAttribute("reservations");
- assertNotNull(inversePersistentAttribute);
- assertTrue(inversePersistentAttribute instanceof JavaPersistentAttribute);
-
- AttributeMapping inverseSideMapping = inversePersistentAttribute.getMapping();
- assertTrue(inverseSideMapping instanceof JavaOneToManyMapping);
-
- assertFalse(((JavaOneToManyMapping)inverseSideMapping).isRelationshipOwner());
-
- // In one-to-many bidirectional relation many side is ALWAYS owner
- PersistentType ownerPersistentType = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, reservationType.getQualifiedName());
- int c = 0;
- while ((ownerPersistentType == null) && (c < 50)) {
- Thread.sleep(200);
- ownerPersistentType = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, reservationType.getQualifiedName());
- c++;
- }
- assertNotNull(ownerPersistentType);
-
- ReadOnlyPersistentAttribute ownerPersistentAttribute = ownerPersistentType.resolveAttribute("cruise");
- c = 0;
- while ((ownerPersistentAttribute == null) && (c < 50)) {
- Thread.sleep(200);
- ownerPersistentAttribute = ownerPersistentType.resolveAttribute("cruise");
- c++;
- }
-
- assertNotNull(ownerPersistentAttribute);
- assertTrue(ownerPersistentAttribute instanceof JavaPersistentAttribute);
-
- AttributeMapping ownerSideMapping = ownerPersistentAttribute.getMapping();
- c = 0;
- while ((ownerSideMapping == null) && (c < 50)) {
- Thread.sleep(200);
- ownerSideMapping = ownerPersistentAttribute.getMapping();
- c++;
- }
- if (ownerSideMapping == null)
- return;
- assertNotNull("ownerSideMapping must not be null", ownerSideMapping);
- assertTrue("ownerSideMapping class is " + ownerSideMapping.getClass().getName(), JavaManyToOneMapping.class.isInstance(ownerSideMapping));
-
- assertTrue(((JavaManyToOneMapping)ownerSideMapping).isRelationshipOwner());
- }
-
-
- @Test
- public void testAddManyToOneUnidirectionalRelationAttributes() throws Exception {
- assertNotNull(jpaProject);
- IFile cruiseFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com"}, "Cruise");
- IFile shipFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com"}, "Ship");
- jpaProject.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
-
- assertTrue(cruiseFile.exists());
- JavaResourcePersistentType cruiseType = jpaProject.getJavaResourcePersistentType("com.Cruise");
- assertNotNull(cruiseType);
-
- PersistentType manySidePersistentType = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, cruiseType.getQualifiedName());
- while (manySidePersistentType == null) {
- Thread.sleep(200);
- manySidePersistentType = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, cruiseType.getQualifiedName());
- }
-
- assertTrue(shipFile.exists());
- JavaResourcePersistentType shipType = jpaProject.getJavaResourcePersistentType("com.Ship");
- assertNotNull(cruiseType);
-
-
- PersistentType singleSidePersistentType = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, shipType.getQualifiedName());
- while (singleSidePersistentType == null) {
- Thread.sleep(200);
- singleSidePersistentType = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, shipType.getQualifiedName());
- }
-
- JavaPersistentAttribute mappedAttribute = JpaArtifactFactory.instance().
- addAttribute(featureProvider, (JavaPersistentType)manySidePersistentType, (JavaPersistentType)singleSidePersistentType, "ship", "ship", true,
- createCompilationUnitFrom((IFile)manySidePersistentType.getResource()),
- createCompilationUnitFrom((IFile)singleSidePersistentType.getResource()));
- assertNotNull(mappedAttribute);
-
- JpaArtifactFactory.instance().addManyToOneUnidirectionalRelation(featureProvider, (JavaPersistentType)manySidePersistentType, mappedAttribute);
-
- PersistentType pt = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, cruiseType.getQualifiedName());
- while (pt == null) {
- Thread.sleep(200);
- pt = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, shipType.getQualifiedName());
- }
-
- ReadOnlyPersistentAttribute cPersistentAttribute = pt.resolveAttribute("ship");
- int cnt = 0;
- while ((cPersistentAttribute == null) && (cnt < 100)) {
- Thread.sleep(250);
- cPersistentAttribute = pt.resolveAttribute("ship");
- cnt++;
- }
- assertNotNull(cPersistentAttribute);
-
- AttributeMapping mapping = cPersistentAttribute.getMapping();
- cnt = 0;
- while ((mapping == null) && (cnt < 100)) {
- Thread.sleep(250);
- mapping = cPersistentAttribute.getMapping();
- cnt++;
- }
- assertNotNull(mapping);
- assertTrue(mapping instanceof JavaManyToOneMapping);
-
- assertTrue(((JavaManyToOneMapping)mapping).isRelationshipOwner());
- }
-
-
- @Test
- public void testAddManyToManyBidirectionalRelationAttributes() throws Exception {
- assertNotNull(jpaProject);
- IFile reservationFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com"}, "Reservation");
- IFile customerFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com"}, "Customer");
-
- jpaProject.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
-
- assertTrue(reservationFile.exists());
- JavaResourcePersistentType reservationType = jpaProject.getJavaResourcePersistentType("com.Reservation");
- assertNotNull(reservationType);
-
- PersistentType ownerSidePersistentType = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, reservationType.getQualifiedName());
- while (ownerSidePersistentType == null) {
- Thread.sleep(200);
- ownerSidePersistentType = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, reservationType.getQualifiedName());
- }
-
- assertTrue(customerFile.exists());
- JavaResourcePersistentType customerType = jpaProject.getJavaResourcePersistentType("com.Customer");
- assertNotNull(customerFile);
-
-
- PersistentType inverseSidePersistentType = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
- while (inverseSidePersistentType == null) {
- Thread.sleep(200);
- inverseSidePersistentType = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
- }
-
- JavaPersistentAttribute ownerSideAttribute = JpaArtifactFactory.instance().
- addAttribute(featureProvider, (JavaPersistentType)ownerSidePersistentType, (JavaPersistentType)inverseSidePersistentType, "customers", "customers", true,
- createCompilationUnitFrom((IFile)ownerSidePersistentType.getResource()),
- createCompilationUnitFrom((IFile)inverseSidePersistentType.getResource()));
- assertNotNull(ownerSideAttribute);
-
- JavaPersistentAttribute inverseSideAttributes = JpaArtifactFactory.instance().addAttribute(featureProvider, (JavaPersistentType)inverseSidePersistentType, (JavaPersistentType)ownerSidePersistentType, "reservations", "reservations", true,
- createCompilationUnitFrom((IFile)inverseSidePersistentType.getResource()),
- createCompilationUnitFrom((IFile)ownerSidePersistentType.getResource()));
- assertNotNull(inverseSideAttributes);
-
- JpaArtifactFactory.instance().addManyToManyBidirectionalRelation(featureProvider, (JavaPersistentType)ownerSidePersistentType, ownerSideAttribute, (JavaPersistentType)inverseSidePersistentType, inverseSideAttributes, false);
-
- PersistentType ownerPersistentType = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, reservationType.getQualifiedName());
- while (ownerPersistentType == null) {
- Thread.sleep(200);
- ownerPersistentType = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, reservationType.getQualifiedName());
- }
-
- ReadOnlyPersistentAttribute ownerPersistentAttribute = ownerPersistentType.resolveAttribute("customers");
- assertNotNull(ownerPersistentAttribute);
- assertTrue(ownerPersistentAttribute instanceof JavaPersistentAttribute);
-
- AttributeMapping ownerSideMapping = ownerPersistentAttribute.getMapping();
- assertTrue(ownerSideMapping instanceof JavaManyToManyMapping);
-
- assertTrue(((JavaManyToManyMapping)ownerSideMapping).isRelationshipOwner());
-
- PersistentType inversePersistentType = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
- while (inversePersistentType == null) {
- Thread.sleep(200);
- inversePersistentType = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
- }
-
- ReadOnlyPersistentAttribute inversePersistentAttribute = inversePersistentType.resolveAttribute("reservations");
- assertNotNull(inversePersistentAttribute);
- assertTrue(inversePersistentAttribute instanceof JavaPersistentAttribute);
-
- AttributeMapping inverseSideMapping = inversePersistentAttribute.getMapping();
- assertTrue(inverseSideMapping instanceof JavaManyToManyMapping);
-
- assertFalse(((JavaManyToManyMapping)inverseSideMapping).isRelationshipOwner());
- }
-
- @Test
- public void testAddManyToManyUnidirectionalRelationAttributes() throws Exception {
- assertNotNull(jpaProject);
- IFile reservationFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com"}, "Reservation");
- IFile cabinFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com"}, "Cabin");
-
- jpaProject.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
-
- assertTrue(reservationFile.exists());
- JavaResourcePersistentType reservationType = jpaProject.getJavaResourcePersistentType("com.Reservation");
- assertNotNull(reservationType);
-
- PersistentType annotatedPersistentType = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, reservationType.getQualifiedName());
- while (annotatedPersistentType == null) {
- Thread.sleep(200);
- annotatedPersistentType = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, reservationType.getQualifiedName());
- }
-
- assertTrue(cabinFile.exists());
- JavaResourcePersistentType cabinType = jpaProject.getJavaResourcePersistentType("com.Cabin");
- assertNotNull(cabinFile);
-
-
- PersistentType referencedPersistentType = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, cabinType.getQualifiedName());
- while (referencedPersistentType == null) {
- Thread.sleep(200);
- referencedPersistentType = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, cabinType.getQualifiedName());
- }
-
- JavaPersistentAttribute annotatedSideAttribute = JpaArtifactFactory.instance().
- addAttribute(featureProvider, (JavaPersistentType)annotatedPersistentType, (JavaPersistentType)referencedPersistentType, "cabins", "cabins", true,
- createCompilationUnitFrom((IFile)annotatedPersistentType.getResource()),
- createCompilationUnitFrom((IFile)referencedPersistentType.getResource()));
- assertNotNull(annotatedSideAttribute);
-
- JpaArtifactFactory.instance().addManyToManyUnidirectionalRelation(featureProvider, (JavaPersistentType)annotatedPersistentType, annotatedSideAttribute, false);
-
- PersistentType persistentType = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, reservationType.getQualifiedName());
- while (persistentType == null) {
- Thread.sleep(200);
- persistentType = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, reservationType.getQualifiedName());
- }
-
- ReadOnlyPersistentAttribute persistentAttribute = persistentType.resolveAttribute("cabins");
- assertNotNull(persistentAttribute);
- assertTrue(persistentAttribute instanceof JavaPersistentAttribute);
-
- AttributeMapping mapping = persistentAttribute.getMapping();
- assertTrue(mapping instanceof JavaManyToManyMapping);
-
- assertTrue(((JavaManyToManyMapping)mapping).isRelationshipOwner());
- }
-
-
-
-
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/relation/CreateRelationsInFieldAnnotatedEntitiesTest.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/relation/CreateRelationsInFieldAnnotatedEntitiesTest.java
deleted file mode 100644
index b8e49ef199..0000000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/relation/CreateRelationsInFieldAnnotatedEntitiesTest.java
+++ /dev/null
@@ -1,508 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.relation;
-
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.isA;
-import static org.easymock.EasyMock.replay;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertSame;
-import static org.junit.Assert.assertTrue;
-
-import java.util.Set;
-
-import org.easymock.EasyMock;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IField;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jpt.common.utility.internal.iterables.EmptyIterable;
-import org.eclipse.jpt.jpa.core.JpaFile;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.JpaStructureNode;
-import org.eclipse.jpt.jpa.core.JptJpaCorePlugin;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpa.core.resource.java.JavaResourcePersistentType;
-import org.eclipse.jpt.jpa.core.resource.java.OwnableRelationshipMappingAnnotation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.AbstractRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.ManyToManyBiDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.ManyToManyUniDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.ManyToOneBiDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.ManyToOneUniDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.OneToManyUniDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.OneToOneBiDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.OneToOneUniDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IEclipseFacade;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-import org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.JPACreateFactory;
-import org.junit.Before;
-import org.junit.Test;
-
-public class CreateRelationsInFieldAnnotatedEntitiesTest {
-
- private IJPAEditorFeatureProvider featureProvider;
- final String TEST_PROJECT = "Test";
- private JpaProject jpaProject = null;
- private JPACreateFactory factory = null;
- IEclipseFacade eclipseFacade = null;
-
- @Before
- public void setUp() throws Exception {
- factory = JPACreateFactory.instance();
- jpaProject = factory.createJPAProject(TEST_PROJECT + "_" + System.currentTimeMillis());
- assertNotNull(jpaProject);
- IFile entity = factory.createEntity(jpaProject, "org.eclipse.Entity1");
- Thread.sleep(2000);
- featureProvider = EasyMock.createMock(IJPAEditorFeatureProvider.class);
- expect(featureProvider.getBusinessObjectForPictogramElement(null)).andReturn(getPersistentType(entity));
- expect(featureProvider.getCompilationUnit(isA(JavaPersistentType.class))).andReturn(JavaCore.createCompilationUnitFrom(entity)).anyTimes();
- replay(featureProvider);
- }
-
- public static JavaPersistentType getPersistentType(IFile file){
- JpaFile jpaFile = JptJpaCorePlugin.getJpaFile(file);
- for (JpaStructureNode node: getRootNodes(jpaFile)) {
- JavaPersistentType entity = (JavaPersistentType) node;
- return entity;
- }
- return null;
- }
-
- private static Iterable<JpaStructureNode> getRootNodes(JpaFile jpaFile) {
- if(jpaFile == null){
- return EmptyIterable.instance();
- }
- return jpaFile.getRootStructureNodes();
- }
-
- public ICompilationUnit createCompilationUnitFrom(IFile file) {
- return JavaCore.createCompilationUnitFrom(file);
- }
-
-
- @Test
- public void testCreateOneToOneUnidirRelation() throws Exception {
- assertNotNull(jpaProject);
- IFile customerFile = factory.createFieldAnnotatedEntityInProject(jpaProject.getProject(), new String[]{"com","test"}, "Customer");
-
- IFile addressFile = factory.createFieldAnnotatedEntityInProject(jpaProject.getProject(), new String[]{"com"}, "Address");
-
- jpaProject.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
-
- assertTrue(customerFile.exists());
- JavaResourcePersistentType customerType = jpaProject.getJavaResourcePersistentType("com.test.Customer");
- assertNotNull(customerType);
-
-
- JavaPersistentType t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
- while (t1 == null) {
- Thread.sleep(200);
- t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
- }
-
- assertTrue(addressFile.exists());
- JavaResourcePersistentType addressType = jpaProject.getJavaResourcePersistentType("com.Address");
- assertNotNull(customerType);
-
-
- JavaPersistentType t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
- while (t2 == null) {
- Thread.sleep(200);
- t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
- }
- ICompilationUnit cu1 = createCompilationUnitFrom((IFile)t1.getResource());
- AbstractRelation rel = new OneToOneUniDirRelation(featureProvider, t1, t2, "address",
- true,
- cu1,
- createCompilationUnitFrom((IFile)t2.getResource()));
- assertNotNull(rel);
- assertSame(t1, rel.getOwner());
- assertSame(t2, rel.getInverse());
- assertEquals("address", rel.getOwnerAttributeName());
- JavaPersistentAttribute ownerAt = t1.getAttributeNamed("address");
- assertNotNull(ownerAt);
- Set<String> annotations = JpaArtifactFactory.instance().getAnnotationNames(ownerAt);
- assertTrue(annotations.contains("OneToOne"));
- assertNull(((OwnableRelationshipMappingAnnotation)ownerAt.getMapping()).getMappedBy());
-
- assertTrue(cu1.isWorkingCopy());
- IType javaType = cu1.findPrimaryType();
- IField f = javaType.getField("address");
- assertTrue(f.exists());
-
- }
-
- @Test
- public void testCreateOneToOneBidirRelation() throws Exception {
- assertNotNull(jpaProject);
- IFile customerFile = factory.createFieldAnnotatedEntityInProject(jpaProject.getProject(), new String[]{"com","test"}, "Customer");
-
- IFile addressFile = factory.createFieldAnnotatedEntityInProject(jpaProject.getProject(), new String[]{"com"}, "Address");
-
- jpaProject.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
-
- assertTrue(customerFile.exists());
- JavaResourcePersistentType customerType = jpaProject.getJavaResourcePersistentType("com.test.Customer");
- assertNotNull(customerType);
-
-
- JavaPersistentType t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
- while (t1 == null) {
- Thread.sleep(200);
- t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
- }
-
- assertTrue(addressFile.exists());
- JavaResourcePersistentType addressType = jpaProject.getJavaResourcePersistentType("com.Address");
- assertNotNull(customerType);
-
-
- JavaPersistentType t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
- while (t2 == null) {
- Thread.sleep(200);
- t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
- }
- ICompilationUnit cu1 = createCompilationUnitFrom((IFile)t1.getResource());
- ICompilationUnit cu2 = createCompilationUnitFrom((IFile)t2.getResource());
- AbstractRelation rel = new OneToOneBiDirRelation(featureProvider, t1, t2, "address", "customer",
- true,
- cu1,
- cu2);
- assertNotNull(rel);
- assertSame(t1, rel.getOwner());
- assertSame(t2, rel.getInverse());
- assertEquals("address", rel.getOwnerAttributeName());
- JavaPersistentAttribute ownerAt = t1.getAttributeNamed("address");
- assertNotNull(ownerAt);
- Set<String> annotations = JpaArtifactFactory.instance().getAnnotationNames(ownerAt);
- assertTrue(annotations.contains("OneToOne"));
- assertNull(((OwnableRelationshipMappingAnnotation)ownerAt.getMapping()).getMappedBy());
-
- JavaPersistentAttribute inverseAt = t2.getAttributeNamed("customer");
- assertNotNull(inverseAt);
- annotations = JpaArtifactFactory.instance().getAnnotationNames(inverseAt);
- assertTrue(annotations.contains("OneToOne"));
- assertEquals("address", ((OwnableRelationshipMappingAnnotation)inverseAt.getMapping()).getMappedBy());
-
- assertTrue(cu1.isWorkingCopy());
- assertTrue(cu2.isWorkingCopy());
-
- IType javaType1 = cu1.findPrimaryType();
- IField f1 = javaType1.getField("address");
- assertTrue(f1.exists());
- IType javaType2 = cu2.findPrimaryType();
- IField f2 = javaType2.getField("customer");
- assertTrue(f2.exists());
-
- }
-
- @Test
- public void testCreateOneToManyUnidirRelation() throws Exception {
- assertNotNull(jpaProject);
- IFile customerFile = factory.createFieldAnnotatedEntityInProject(jpaProject.getProject(), new String[]{"com","test"}, "Customer");
-
- IFile addressFile = factory.createFieldAnnotatedEntityInProject(jpaProject.getProject(), new String[]{"com"}, "Address");
-
- jpaProject.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
-
- assertTrue(customerFile.exists());
- JavaResourcePersistentType customerType = jpaProject.getJavaResourcePersistentType("com.test.Customer");
- assertNotNull(customerType);
-
-
- JavaPersistentType t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
- while (t1 == null) {
- Thread.sleep(200);
- t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
- }
-
- assertTrue(addressFile.exists());
- JavaResourcePersistentType addressType = jpaProject.getJavaResourcePersistentType("com.Address");
- assertNotNull(customerType);
-
-
- JavaPersistentType t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
- while (t2 == null) {
- Thread.sleep(200);
- t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
- }
- ICompilationUnit cu1 = createCompilationUnitFrom((IFile)t1.getResource());
- AbstractRelation rel = new OneToManyUniDirRelation(featureProvider, t1, t2, "address",
- true,
- cu1,
- createCompilationUnitFrom((IFile)t2.getResource()));
- assertNotNull(rel);
- assertSame(t1, rel.getOwner());
- assertSame(t2, rel.getInverse());
- assertEquals("address", rel.getOwnerAttributeName());
- JavaPersistentAttribute ownerAt = t1.getAttributeNamed("address");
- assertNotNull(ownerAt);
- Set<String> annotations = JpaArtifactFactory.instance().getAnnotationNames(ownerAt);
- assertTrue(annotations.contains("OneToMany"));
- assertNull(((OwnableRelationshipMappingAnnotation)ownerAt.getMapping()).getMappedBy());
-
- assertTrue(cu1.isWorkingCopy());
-
- IType javaType1 = cu1.findPrimaryType();
- IField f1 = javaType1.getField("address");
- assertTrue(f1.exists());
-
- }
-
- @Test
- public void testCreateManyToOneUnidirRelation() throws Exception {
- assertNotNull(jpaProject);
- IFile customerFile = factory.createFieldAnnotatedEntityInProject(jpaProject.getProject(), new String[]{"com","test"}, "Customer");
-
- IFile addressFile = factory.createFieldAnnotatedEntityInProject(jpaProject.getProject(), new String[]{"com"}, "Address");
-
- jpaProject.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
-
- assertTrue(customerFile.exists());
- JavaResourcePersistentType customerType = jpaProject.getJavaResourcePersistentType("com.test.Customer");
- assertNotNull(customerType);
-
-
- JavaPersistentType t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
- while (t1 == null) {
- Thread.sleep(200);
- t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
- }
-
- assertTrue(addressFile.exists());
- JavaResourcePersistentType addressType = jpaProject.getJavaResourcePersistentType("com.Address");
- assertNotNull(customerType);
-
-
- JavaPersistentType t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
- while (t2 == null) {
- Thread.sleep(200);
- t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
- }
- ICompilationUnit cu1 = createCompilationUnitFrom((IFile)t1.getResource());
- AbstractRelation rel = new ManyToOneUniDirRelation(featureProvider, t1, t2, "address",
- true,
- cu1,
- createCompilationUnitFrom((IFile)t2.getResource()));
- assertNotNull(rel);
- assertSame(t1, rel.getOwner());
- assertSame(t2, rel.getInverse());
- assertEquals("address", rel.getOwnerAttributeName());
- JavaPersistentAttribute ownerAt = t1.getAttributeNamed("address");
- assertNotNull(ownerAt);
- Set<String> annotations = JpaArtifactFactory.instance().getAnnotationNames(ownerAt);
- assertTrue(annotations.contains("ManyToOne"));
-
- assertTrue(cu1.isWorkingCopy());
-
- IType javaType1 = cu1.findPrimaryType();
- IField f1 = javaType1.getField("address");
- assertTrue(f1.exists());
-
- }
-
-
- @Test
- public void testCreateManyToOneBidirRelation() throws Exception {
- assertNotNull(jpaProject);
- IFile customerFile = factory.createFieldAnnotatedEntityInProject(jpaProject.getProject(), new String[]{"com","test"}, "Customer");
-
- IFile addressFile = factory.createFieldAnnotatedEntityInProject(jpaProject.getProject(), new String[]{"com"}, "Address");
-
- jpaProject.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
-
- assertTrue(customerFile.exists());
- JavaResourcePersistentType customerType = jpaProject.getJavaResourcePersistentType("com.test.Customer");
- assertNotNull(customerType);
-
-
- JavaPersistentType t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
- while (t1 == null) {
- Thread.sleep(200);
- t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
- }
-
- assertTrue(addressFile.exists());
- JavaResourcePersistentType addressType = jpaProject.getJavaResourcePersistentType("com.Address");
- assertNotNull(customerType);
-
-
- JavaPersistentType t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
- while (t2 == null) {
- Thread.sleep(200);
- t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
- }
- ICompilationUnit cu1 = createCompilationUnitFrom((IFile)t1.getResource());
- ICompilationUnit cu2 = createCompilationUnitFrom((IFile)t2.getResource());
- AbstractRelation rel = new ManyToOneBiDirRelation(featureProvider, t1, t2, "address", "customer",
- true,
- cu1,
- cu2);
- assertNotNull(rel);
- assertSame(t1, rel.getOwner());
- assertSame(t2, rel.getInverse());
- assertEquals("address", rel.getOwnerAttributeName());
- JavaPersistentAttribute ownerAt = t1.getAttributeNamed("address");
- assertNotNull(ownerAt);
- Set<String> annotations = JpaArtifactFactory.instance().getAnnotationNames(ownerAt);
- assertTrue(annotations.contains("ManyToOne"));
-
- JavaPersistentAttribute inverseAt = t2.getAttributeNamed("customer");
- assertNotNull(inverseAt);
- annotations = JpaArtifactFactory.instance().getAnnotationNames(inverseAt);
- assertTrue(annotations.contains("OneToMany"));
- assertEquals("address", ((OwnableRelationshipMappingAnnotation)inverseAt.getMapping()).getMappedBy());
-
- assertTrue(cu1.isWorkingCopy());
- assertTrue(cu2.isWorkingCopy());
-
- IType javaType1 = cu1.findPrimaryType();
- IField f1 = javaType1.getField("address");
- assertTrue(f1.exists());
- IType javaType2 = cu2.findPrimaryType();
- IField f2 = javaType2.getField("customer");
- assertTrue(f2.exists());
-
- }
-
- @Test
- public void testCreateManyToManyUnidirRelation() throws Exception {
- assertNotNull(jpaProject);
- IFile customerFile = factory.createFieldAnnotatedEntityInProject(jpaProject.getProject(), new String[]{"com","test"}, "Customer");
-
- IFile addressFile = factory.createFieldAnnotatedEntityInProject(jpaProject.getProject(), new String[]{"com"}, "Address");
-
- jpaProject.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
-
- assertTrue(customerFile.exists());
- JavaResourcePersistentType customerType = jpaProject.getJavaResourcePersistentType("com.test.Customer");
- assertNotNull(customerType);
-
-
- JavaPersistentType t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
- while (t1 == null) {
- Thread.sleep(200);
- t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
- }
-
- assertTrue(addressFile.exists());
- JavaResourcePersistentType addressType = jpaProject.getJavaResourcePersistentType("com.Address");
- assertNotNull(customerType);
-
-
- JavaPersistentType t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
- while (t2 == null) {
- Thread.sleep(200);
- t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
- }
- ICompilationUnit cu1 = createCompilationUnitFrom((IFile)t1.getResource());
- AbstractRelation rel = new ManyToManyUniDirRelation(featureProvider, t1, t2, "address",
- true,
- cu1,
- createCompilationUnitFrom((IFile)t2.getResource()));
- assertNotNull(rel);
- assertSame(t1, rel.getOwner());
- assertSame(t2, rel.getInverse());
- assertEquals("address", rel.getOwnerAttributeName());
- JavaPersistentAttribute ownerAt = t1.getAttributeNamed("address");
- assertNotNull(ownerAt);
- Set<String> annotations = JpaArtifactFactory.instance().getAnnotationNames(ownerAt);
- assertTrue(annotations.contains("ManyToMany"));
- assertNull(((OwnableRelationshipMappingAnnotation)ownerAt.getMapping()).getMappedBy());
-
- assertTrue(cu1.isWorkingCopy());
-
- IType javaType1 = cu1.findPrimaryType();
- IField f1 = javaType1.getField("address");
- assertTrue(f1.exists());
-
- }
-
- @Test
- public void testCreateManyToManyBidirRelation() throws Exception {
- assertNotNull(jpaProject);
- IFile customerFile = factory.createFieldAnnotatedEntityInProject(jpaProject.getProject(), new String[]{"com","test"}, "Customer");
-
- IFile addressFile = factory.createFieldAnnotatedEntityInProject(jpaProject.getProject(), new String[]{"com"}, "Address");
-
- jpaProject.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
-
- assertTrue(customerFile.exists());
- JavaResourcePersistentType customerType = jpaProject.getJavaResourcePersistentType("com.test.Customer");
- assertNotNull(customerType);
-
-
- JavaPersistentType t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
- while (t1 == null) {
- Thread.sleep(200);
- t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
- }
-
- assertTrue(addressFile.exists());
- JavaResourcePersistentType addressType = jpaProject.getJavaResourcePersistentType("com.Address");
- assertNotNull(customerType);
-
-
- JavaPersistentType t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
- while (t2 == null) {
- Thread.sleep(200);
- t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
- }
- ICompilationUnit cu1 = createCompilationUnitFrom((IFile)t1.getResource());
- ICompilationUnit cu2 = createCompilationUnitFrom((IFile)t2.getResource());
- AbstractRelation rel = new ManyToManyBiDirRelation(featureProvider, t1, t2, "address", "customer",
- true,
- cu1,
- cu2);
- assertNotNull(rel);
- assertSame(t1, rel.getOwner());
- assertSame(t2, rel.getInverse());
- assertEquals("address", rel.getOwnerAttributeName());
- JavaPersistentAttribute ownerAt = t1.getAttributeNamed("address");
- assertNotNull(ownerAt);
- Set<String> annotations = JpaArtifactFactory.instance().getAnnotationNames(ownerAt);
- assertTrue(annotations.contains("ManyToMany"));
- assertNull(((OwnableRelationshipMappingAnnotation)ownerAt.getMapping()).getMappedBy());
-
- JavaPersistentAttribute inverseAt = t2.getAttributeNamed("customer");
- assertNotNull(inverseAt);
- annotations = JpaArtifactFactory.instance().getAnnotationNames(inverseAt);
- assertTrue(annotations.contains("ManyToMany"));
- assertEquals("address", ((OwnableRelationshipMappingAnnotation)inverseAt.getMapping()).getMappedBy());
-
- assertTrue(cu1.isWorkingCopy());
- assertTrue(cu2.isWorkingCopy());
-
- IType javaType1 = cu1.findPrimaryType();
- IField f1 = javaType1.getField("address");
- assertTrue(f1.exists());
- IType javaType2 = cu2.findPrimaryType();
- IField f2 = javaType2.getField("customer");
- assertTrue(f2.exists());
-
- }
-
-
-}
-
-
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/relation/CreateRelationsTest.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/relation/CreateRelationsTest.java
deleted file mode 100644
index 9ab23b678f..0000000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/relation/CreateRelationsTest.java
+++ /dev/null
@@ -1,569 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.relation;
-
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.isA;
-import static org.easymock.EasyMock.replay;
-import static org.junit.Assert.*;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertSame;
-import static org.junit.Assert.assertTrue;
-
-import java.util.Iterator;
-import java.util.Properties;
-
-import org.easymock.EasyMock;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jpt.common.utility.internal.iterables.EmptyIterable;
-import org.eclipse.jpt.jpa.core.JpaFile;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.JpaStructureNode;
-import org.eclipse.jpt.jpa.core.JptJpaCorePlugin;
-import org.eclipse.jpt.jpa.core.context.AttributeMapping;
-import org.eclipse.jpt.jpa.core.context.Embeddable;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpa.core.resource.java.JavaResourcePersistentType;
-import org.eclipse.jpt.jpa.core.resource.java.JoinColumnAnnotation;
-import org.eclipse.jpt.jpa.core.resource.java.JoinColumnsAnnotation;
-import org.eclipse.jpt.jpa.core.resource.java.ManyToManyAnnotation;
-import org.eclipse.jpt.jpa.core.resource.java.ManyToOneAnnotation;
-import org.eclipse.jpt.jpa.core.resource.java.NestableJoinColumnAnnotation;
-import org.eclipse.jpt.jpa.core.resource.java.OneToManyAnnotation;
-import org.eclipse.jpt.jpa.core.resource.java.OneToOneAnnotation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.propertypage.JPADiagramPropertyPage;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.AbstractRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.ManyToManyBiDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.ManyToManyUniDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.ManyToOneBiDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.ManyToOneUniDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.OneToManyUniDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.OneToOneBiDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.relations.OneToOneUniDirRelation;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IEclipseFacade;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-import org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.JPACreateFactory;
-import org.eclipse.swt.widgets.Display;
-import org.junit.Before;
-import org.junit.Test;
-
-
-@SuppressWarnings({ "unused" })
-public class CreateRelationsTest {
-
- private IJPAEditorFeatureProvider featureProvider;
- final String TEST_PROJECT = "Test";
- private JpaProject jpaProject = null;
- private JPACreateFactory factory = null;
- IEclipseFacade eclipseFacade = null;
- private static final int MAX_NUM_OF_ITERATIONS = 250;
- JavaPersistentType t1 = null;
- ICompilationUnit cu1 = null;
- JavaPersistentType t2 = null;
- ICompilationUnit cu2 = null;
- private IJPAEditorFeatureProvider featureProvider20;
- private JpaProject jpa20Project;
-
-
- @Before
- public void setUp() throws Exception {
-
- JptJpaCorePlugin.getJpaProjectManager();
- factory = JPACreateFactory.instance();
- jpaProject = factory.createJPAProject(TEST_PROJECT + "_" + System.currentTimeMillis());
- assertNotNull(jpaProject);
-
- IFile entity = factory.createEntity(jpaProject, "org.eclipse.Entity1");
- Thread.sleep(2000);
- featureProvider = EasyMock.createMock(IJPAEditorFeatureProvider.class);
- expect(featureProvider.getBusinessObjectForPictogramElement(null)).andReturn(getPersistentType(entity));
- expect(featureProvider.getCompilationUnit(isA(JavaPersistentType.class))).andReturn(JavaCore.createCompilationUnitFrom(entity)).anyTimes();
-
- assertNotNull(jpaProject);
- IFile customerFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com","test"}, "Customer");
-
- IFile addressFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com"}, "Address");
-
- jpaProject.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
-
- assertTrue(customerFile.exists());
- JavaResourcePersistentType customerType = jpaProject.getJavaResourcePersistentType("com.test.Customer");
- assertNotNull(customerType);
-
-
- t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
- int c = 0;
- while ((t1 == null) && (c < MAX_NUM_OF_ITERATIONS)) {
- jpaProject.update(null);
- Thread.sleep(200);
- t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
- c++;
- }
-
- expect(featureProvider.getPictogramElementForBusinessObject(t1)).andStubReturn(isA(Shape.class));
- cu1 = JavaCore.createCompilationUnitFrom(customerFile);
- expect(featureProvider.getCompilationUnit(t1)).andStubReturn(cu1);
-
- assertTrue(addressFile.exists());
- JavaResourcePersistentType addressType = jpaProject.getJavaResourcePersistentType("com.Address");
- assertNotNull(customerType);
-
-
- t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
- c = 0;
- while ((t2 == null) && (c < MAX_NUM_OF_ITERATIONS)) {
- jpaProject.update(null);
- Thread.sleep(200);
- t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
- c++;
- }
-
- expect(featureProvider.getPictogramElementForBusinessObject(t2)).andStubReturn(isA(Shape.class));
- cu2 = JavaCore.createCompilationUnitFrom(addressFile);
- expect(featureProvider.getCompilationUnit(t2)).andStubReturn(cu2);
-
- Properties props = new Properties();
- props.setProperty(JPADiagramPropertyPage.PROP_COLLECTION_TYPE.getLocalName(), "collection");
- expect(featureProvider.loadProperties(jpaProject.getProject())).andStubReturn(props);
-
- replay(featureProvider);
-
- jpa20Project = factory.createJPA20Project(TEST_PROJECT + "_" + System.currentTimeMillis());
- assertNotNull(jpa20Project);
-
- IFile entity20 = factory.createEntity(jpa20Project, "org.eclipse.Entity1");
- Thread.sleep(2000);
- featureProvider20 = EasyMock.createMock(IJPAEditorFeatureProvider.class);
- expect(featureProvider20.getBusinessObjectForPictogramElement(null)).andReturn(getPersistentType(entity20));
- expect(featureProvider20.getCompilationUnit(isA(JavaPersistentType.class)))
- .andReturn(JavaCore.createCompilationUnitFrom(entity20)).anyTimes();
- }
-
- public static JavaPersistentType getPersistentType(IFile file){
- JpaFile jpaFile = JptJpaCorePlugin.getJpaFile(file);
- for (JpaStructureNode node: getRootNodes(jpaFile)) {
- JavaPersistentType entity = (JavaPersistentType) node;
- return entity;
- }
- return null;
- }
-
- private static Iterable<JpaStructureNode> getRootNodes(JpaFile jpaFile) {
- if(jpaFile == null){
- return EmptyIterable.instance();
- }
- return jpaFile.getRootStructureNodes();
- }
-
- public ICompilationUnit createCompilationUnitFrom(IFile file) {
- return JavaCore.createCompilationUnitFrom(file);
- }
-
- @Test
- public void testCreateOneToOneUnidirRelation() throws Exception {
-
- AbstractRelation rel = new OneToOneUniDirRelation(featureProvider, t1, t2, "address",
- true,
- cu1,
- cu2);
- assertNotNull(rel);
- assertSame(t1, rel.getOwner());
- assertSame(t2, rel.getInverse());
- assertEquals("address", rel.getOwnerAttributeName());
- JavaPersistentAttribute ownerAt = t1.getAttributeNamed("address");
- assertNotNull(ownerAt);
- OneToOneAnnotation an = (OneToOneAnnotation)ownerAt.getResourcePersistentAttribute().getAnnotation(OneToOneAnnotation.ANNOTATION_NAME);
- assertNotNull(an);
- assertNull(an.getMappedBy());
- }
-
-
- @Test
- public void testCreateOneToOneBidirRelation() throws Exception {
-
- AbstractRelation rel = new OneToOneBiDirRelation(featureProvider, t1, t2, "address", "customer",
- true,
- cu1,
- cu2);
- assertNotNull(rel);
- assertSame(t1, rel.getOwner());
- assertSame(t2, rel.getInverse());
- assertEquals("address", rel.getOwnerAttributeName());
- JavaPersistentAttribute ownerAt = t1.getAttributeNamed("address");
- assertNotNull(ownerAt);
- OneToOneAnnotation an = (OneToOneAnnotation)ownerAt.getResourcePersistentAttribute().getAnnotation(OneToOneAnnotation.ANNOTATION_NAME);
- assertNotNull(an);
- assertNull(an.getMappedBy());
-
- JavaPersistentAttribute inverseAt = t2.getAttributeNamed("customer");
- assertNotNull(inverseAt);
- an = (OneToOneAnnotation)inverseAt.getResourcePersistentAttribute().getAnnotation(OneToOneAnnotation.ANNOTATION_NAME);
- assertNotNull(an);
- assertEquals("address", an.getMappedBy());
-
- }
-
-
- @Test
- public void testCreateOneToManyUnidirRelation() throws Exception {
- AbstractRelation rel = new OneToManyUniDirRelation(featureProvider, t1, t2, "address",
- true,
- cu1,
- cu2);
- assertNotNull(rel);
- assertSame(t1, rel.getOwner());
- assertSame(t2, rel.getInverse());
- assertEquals("address", rel.getOwnerAttributeName());
- JavaPersistentAttribute ownerAt = t1.getAttributeNamed("address");
- assertNotNull(ownerAt);
-
- OneToManyAnnotation an = (OneToManyAnnotation)ownerAt.getResourcePersistentAttribute().getAnnotation(OneToManyAnnotation.ANNOTATION_NAME);
- assertNull(an.getMappedBy());
- }
-
-
-
- @Test
- public void testCreateManyToOneUnidirRelation() throws Exception {
- AbstractRelation rel = new ManyToOneUniDirRelation(featureProvider, t1, t2, "address",
- true,
- cu1,
- cu2);
- assertNotNull(rel);
- assertSame(t1, rel.getOwner());
- assertSame(t2, rel.getInverse());
- assertEquals("address", rel.getOwnerAttributeName());
- JavaPersistentAttribute ownerAt = t1.getAttributeNamed("address");
- assertNotNull(ownerAt);
- ManyToOneAnnotation an = (ManyToOneAnnotation)ownerAt.getResourcePersistentAttribute().getAnnotation(ManyToOneAnnotation.ANNOTATION_NAME);
- assertNotNull(an);
- }
-
- @Test
- public void testCreateManyToOneBidirRelation() throws Exception {
- AbstractRelation rel = new ManyToOneBiDirRelation(featureProvider, t1, t2, "address", "customer",
- true,
- cu1,
- cu2);
- assertNotNull(rel);
- assertSame(t1, rel.getOwner());
- assertSame(t2, rel.getInverse());
- assertEquals("address", rel.getOwnerAttributeName());
- JavaPersistentAttribute ownerAt = t1.getAttributeNamed("address");
- assertNotNull(ownerAt);
- ManyToOneAnnotation an = (ManyToOneAnnotation)ownerAt.getResourcePersistentAttribute().getAnnotation(ManyToOneAnnotation.ANNOTATION_NAME);
- assertNotNull(an);
-
- assertEquals("customer", rel.getInverseAttributeName());
- JavaPersistentAttribute inverseAt = t2.getAttributeNamed("customer");
- assertNotNull(inverseAt);
- OneToManyAnnotation an1 = (OneToManyAnnotation)inverseAt.getResourcePersistentAttribute().getAnnotation(OneToManyAnnotation.ANNOTATION_NAME);
- assertNotNull(an1);
- assertEquals("address", an1.getMappedBy());
- }
-
- @Test
- public void testCreateManyToManyUnidirRelation() throws Exception {
- AbstractRelation rel = new ManyToManyUniDirRelation(featureProvider, t1, t2, "address",
- true,
- cu1,
- cu2);
- assertNotNull(rel);
- assertSame(t1, rel.getOwner());
- assertSame(t2, rel.getInverse());
- assertEquals("address", rel.getOwnerAttributeName());
- JavaPersistentAttribute ownerAt = t1.getAttributeNamed("address");
- assertNotNull(ownerAt);
- ManyToManyAnnotation an = (ManyToManyAnnotation)ownerAt.getResourcePersistentAttribute().getAnnotation(ManyToManyAnnotation.ANNOTATION_NAME);
- assertNotNull(an);
- assertNull(an.getMappedBy());
- }
-
- @Test
- public void testCreateManyToManyBidirRelation() throws Exception {
- AbstractRelation rel = new ManyToManyBiDirRelation(featureProvider, t1, t2, "address", "customer",
- true,
- createCompilationUnitFrom((IFile)t1.getResource()),
- createCompilationUnitFrom((IFile)t2.getResource()));
- assertNotNull(rel);
- assertSame(t1, rel.getOwner());
- assertSame(t2, rel.getInverse());
- assertEquals("address", rel.getOwnerAttributeName());
- JavaPersistentAttribute ownerAt = t1.getAttributeNamed("address");
- assertNotNull(ownerAt);
- ManyToManyAnnotation an = (ManyToManyAnnotation)ownerAt.getResourcePersistentAttribute().getAnnotation(ManyToManyAnnotation.ANNOTATION_NAME);
- assertNotNull(an);
- assertNull(an.getMappedBy());
-
- JavaPersistentAttribute inverseAt = t2.getAttributeNamed("customer");
- assertNotNull(inverseAt);
- an = (ManyToManyAnnotation)inverseAt.getResourcePersistentAttribute().getAnnotation(ManyToManyAnnotation.ANNOTATION_NAME);
- assertNotNull(an);
- assertEquals("address", an.getMappedBy());
-
- }
-
- @Test
- public void testCreateOneToManyUnidirRelation20() throws Exception {
-
- assertNotNull(jpa20Project);
- IFile customerFile = factory.createEntityInProject(jpa20Project.getProject(), new String[]{"com","test"}, "Customer");
-
- IFile addressFile = factory.createEntityInProject(jpa20Project.getProject(), new String[]{"com"}, "Address");
-
- jpa20Project.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
-
- assertTrue(customerFile.exists());
- JavaResourcePersistentType customerType = jpa20Project.getJavaResourcePersistentType("com.test.Customer");
- assertNotNull(customerType);
-
- JavaPersistentType t1 = JpaArtifactFactory.instance().getContextPersistentType(jpa20Project, customerType.getQualifiedName());
- int c = 0;
- while ((t1 == null) && (c < MAX_NUM_OF_ITERATIONS)) {
- Thread.sleep(200);
- jpa20Project.update(null);
- t1 = JpaArtifactFactory.instance().getContextPersistentType(jpa20Project, customerType.getQualifiedName());
- c++;
- }
-
- expect(featureProvider20.getPictogramElementForBusinessObject(t1)).andStubReturn(isA(Shape.class));
- ICompilationUnit cu1 = JavaCore.createCompilationUnitFrom(customerFile);
- expect(featureProvider20.getCompilationUnit(t1)).andStubReturn(cu1);
-
- assertTrue(addressFile.exists());
- JavaResourcePersistentType addressType = jpa20Project.getJavaResourcePersistentType("com.Address");
- assertNotNull(customerType);
-
-
- JavaPersistentType t2 = JpaArtifactFactory.instance().getContextPersistentType(jpa20Project, addressType.getQualifiedName());
- while ((t2 == null) && (c < MAX_NUM_OF_ITERATIONS)) {
- Thread.sleep(200);
- jpa20Project.update(null);
- t2 = JpaArtifactFactory.instance().getContextPersistentType(jpa20Project, addressType.getQualifiedName());
- c++;
- }
- expect(featureProvider20.getPictogramElementForBusinessObject(t2)).andStubReturn(isA(Shape.class));
- ICompilationUnit cu2 = JavaCore.createCompilationUnitFrom(addressFile);
- expect(featureProvider20.getCompilationUnit(t2)).andStubReturn(cu2);
-
- Properties props = new Properties();
- props.setProperty(JPADiagramPropertyPage.PROP_COLLECTION_TYPE.getLocalName(), "list");
- expect(featureProvider20.loadProperties(jpa20Project.getProject())).andReturn(props);
- replay(featureProvider20);
-
- AbstractRelation rel = new OneToManyUniDirRelation(featureProvider20, t1, t2, "address",
- true,
- cu1,
- cu2);
- assertNotNull(rel);
- assertSame(t1, rel.getOwner());
- assertSame(t2, rel.getInverse());
- assertEquals("address", rel.getOwnerAttributeName());
- JavaPersistentAttribute ownerAt = t1.getAttributeNamed("address");
- assertNotNull(ownerAt);
-
- Object o1 = ownerAt.getResourcePersistentAttribute().getAnnotation(OneToManyAnnotation.ANNOTATION_NAME);
- assertNotNull(o1);
-
- Object o2 = ownerAt.getResourcePersistentAttribute().getAnnotation(JoinColumnAnnotation.ANNOTATION_NAME);
- assertNotNull(o2);
-
- JoinColumnAnnotation joinColumn = (JoinColumnAnnotation) o2;
- assertNotNull(joinColumn.getName());
-
- assertNotNull(joinColumn.getReferencedColumnName());
-
- assertEquals("Customer_id", joinColumn.getName());
- assertEquals("id", joinColumn.getReferencedColumnName());
-
- }
-
-
- @Test
- public void testCreateOneToManyUnidirIDClassRelation20() throws Exception {
-
- assertNotNull(jpa20Project);
- IFile simpleEmployeeFile = factory.createIdClassInProject(jpa20Project.getProject(), new String[]{"com","test"}, "Employee");
- IFile employeeFile = factory.createEntityWithCompositePKInProject(jpa20Project.getProject(), new String[]{"com","test"}, "Employee");
-
- IFile projectFile = factory.createEntityInProject(jpa20Project.getProject(), new String[]{"com"}, "Project");
-
- jpa20Project.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
-
- assertTrue(simpleEmployeeFile.exists());
- assertTrue(employeeFile.exists());
- JavaResourcePersistentType employeeType = jpa20Project.getJavaResourcePersistentType("com.test.Employee");
- assertNotNull(employeeType);
-
- JavaPersistentType t1 = JpaArtifactFactory.instance().getContextPersistentType(jpa20Project, employeeType.getQualifiedName());
- int c = 0;
- while ((t1 == null) && (c < MAX_NUM_OF_ITERATIONS)) {
- Thread.sleep(200);
- jpa20Project.update(null);
- t1 = JpaArtifactFactory.instance().getContextPersistentType(jpa20Project, employeeType.getQualifiedName());
- c++;
- }
-
- expect(featureProvider20.getPictogramElementForBusinessObject(t1)).andStubReturn(isA(Shape.class));
- ICompilationUnit cu1 = JavaCore.createCompilationUnitFrom(employeeFile);
- expect(featureProvider20.getCompilationUnit(t1)).andStubReturn(cu1);
-
- assertTrue(projectFile.exists());
- JavaResourcePersistentType projectType = jpa20Project.getJavaResourcePersistentType("com.Project");
- assertNotNull(employeeType);
-
-
- JavaPersistentType t2 = JpaArtifactFactory.instance().getContextPersistentType(jpa20Project, projectType.getQualifiedName());
- while ((t2 == null) && (c < MAX_NUM_OF_ITERATIONS)) {
- Thread.sleep(200);
- jpa20Project.update(null);
- t2 = JpaArtifactFactory.instance().getContextPersistentType(jpa20Project, projectType.getQualifiedName());
- c++;
- }
- expect(featureProvider20.getPictogramElementForBusinessObject(t2)).andStubReturn(isA(Shape.class));
- ICompilationUnit cu2 = JavaCore.createCompilationUnitFrom(projectFile);
- expect(featureProvider20.getCompilationUnit(t2)).andStubReturn(cu2);
- Properties props = new Properties();
- props.setProperty(JPADiagramPropertyPage.PROP_COLLECTION_TYPE.getLocalName(), "list");
- expect(featureProvider20.loadProperties(jpa20Project.getProject())).andReturn(props);
- replay(featureProvider20);
-
- AbstractRelation rel = new OneToManyUniDirRelation(featureProvider20, t1, t2, "project",
- true,
- cu1,
- cu2);
- assertNotNull(rel);
- assertSame(t1, rel.getOwner());
- assertSame(t2, rel.getInverse());
- assertEquals("project", rel.getOwnerAttributeName());
- JavaPersistentAttribute ownerAt = t1.getAttributeNamed("project");
- assertNotNull(ownerAt);
-
- Object o1 = ownerAt.getResourcePersistentAttribute().getAnnotation(OneToManyAnnotation.ANNOTATION_NAME);
- assertNotNull(o1);
-
- Object o2 = ownerAt.getResourcePersistentAttribute().getAnnotation(JoinColumnsAnnotation.ANNOTATION_NAME);
- assertNotNull(o2);
-
- JoinColumnsAnnotation joinColumns = (JoinColumnsAnnotation) o2;
- assertEquals(2, joinColumns.getNestedAnnotationsSize());
- assertEquals("javax.persistence.JoinColumn", joinColumns.getNestedAnnotationName());
-
-
- }
-
- @Test
- public void testCreateOneToManyUnidirEmbeddedRelation20() throws Exception {
-
- assertNotNull(jpa20Project);
- IFile simpleEmployeeFile = factory.createEmbeddedClassInProject(jpa20Project.getProject(), new String[]{"com","test"}, "EmployeerId");
- IFile employeeFile = factory.createEntityWithEmbeddedPKInProject(jpa20Project.getProject(), new String[]{"com","test"}, "Employeer");
-
- IFile projectFile = factory.createEntityInProject(jpa20Project.getProject(), new String[]{"com"}, "Person");
-
- jpa20Project.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
-
- assertTrue(simpleEmployeeFile.exists());
- assertTrue(employeeFile.exists());
- JavaResourcePersistentType employeeType = jpa20Project.getJavaResourcePersistentType("com.test.Employeer");
- assertNotNull(employeeType);
-
-
- JavaPersistentType t1 = JpaArtifactFactory.instance().getContextPersistentType(jpa20Project, employeeType.getQualifiedName());
- int c = 0;
- while ((t1 == null) && (c < MAX_NUM_OF_ITERATIONS)) {
- Thread.sleep(200);
- jpa20Project.update(null);
- t1 = JpaArtifactFactory.instance().getContextPersistentType(jpa20Project, employeeType.getQualifiedName());
- c++;
- }
-
- expect(featureProvider20.getPictogramElementForBusinessObject(t1)).andStubReturn(isA(Shape.class));
- ICompilationUnit cu1 = JavaCore.createCompilationUnitFrom(employeeFile);
- expect(featureProvider20.getCompilationUnit(t1)).andStubReturn(cu1);
-
-
- Embeddable emb = JpaArtifactFactory.instance().getPersistenceUnit(t1).getEmbeddable("com.test.EmployeerId");
- Iterator<AttributeMapping> embIt = emb.allAttributeMappings();
- int c1 = 0;
- while ((embIt.hasNext() == false) && (c1 < MAX_NUM_OF_ITERATIONS)) {
- Thread.sleep(200);
- jpa20Project.update(null);
- emb.update();
- embIt = emb.allAttributeMappings();
- c1++;
- }
-
- assertTrue(projectFile.exists());
- JavaResourcePersistentType projectType = jpa20Project.getJavaResourcePersistentType("com.Person");
- assertNotNull(employeeType);
-
-
- JavaPersistentType t2 = JpaArtifactFactory.instance().getContextPersistentType(jpa20Project, projectType.getQualifiedName());
- while ((t2 == null) && (c < MAX_NUM_OF_ITERATIONS)) {
- Thread.sleep(200);
- jpa20Project.update(null);
- t2 = JpaArtifactFactory.instance().getContextPersistentType(jpa20Project, projectType.getQualifiedName());
- c++;
- }
-
- expect(featureProvider20.getPictogramElementForBusinessObject(t2)).andStubReturn(isA(Shape.class));
- ICompilationUnit cu2 = JavaCore.createCompilationUnitFrom(projectFile);
- expect(featureProvider20.getCompilationUnit(t2)).andStubReturn(cu2);
- Properties props = new Properties();
- props.setProperty(JPADiagramPropertyPage.PROP_COLLECTION_TYPE.getLocalName(), "list");
- expect(featureProvider20.loadProperties(jpa20Project.getProject())).andReturn(props);
- replay(featureProvider20);
-
- AbstractRelation rel = new OneToManyUniDirRelation(featureProvider20, t1, t2, "person",
- true,
- cu1,
- cu2);
- assertNotNull(rel);
- assertSame(t1, rel.getOwner());
- assertSame(t2, rel.getInverse());
- assertEquals("person", rel.getOwnerAttributeName());
- JavaPersistentAttribute ownerAt = t1.getAttributeNamed("person");
- assertNotNull(ownerAt);
-
- Object o1 = ownerAt.getResourcePersistentAttribute().getAnnotation(OneToManyAnnotation.ANNOTATION_NAME);
- assertNotNull(o1);
-
- Object o2 = ownerAt.getResourcePersistentAttribute().getAnnotation(JoinColumnsAnnotation.ANNOTATION_NAME);
- assertNotNull(o2);
-
- JoinColumnsAnnotation joinColumns = (JoinColumnsAnnotation) o2;
- assertEquals(1, joinColumns.getNestedAnnotationsSize());
- assertEquals("javax.persistence.JoinColumn", joinColumns.getNestedAnnotationName());
- Iterable<NestableJoinColumnAnnotation> nestedAnnotations = joinColumns.getNestedAnnotations();
- Iterator<NestableJoinColumnAnnotation> nestedIterator = nestedAnnotations.iterator();
- while(nestedIterator.hasNext()){
- NestableJoinColumnAnnotation joinColumn = nestedIterator.next();
- assertEquals("Employeer_firstName",joinColumn.getName());
- assertEquals("firstName",joinColumn.getReferencedColumnName());
- }
-
- }
-
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/util/CreateDeleteEntity.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/util/CreateDeleteEntity.java
deleted file mode 100644
index 693793b3b3..0000000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/util/CreateDeleteEntity.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.util;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.JptJpaCorePlugin;
-import org.eclipse.jpt.jpa.core.context.JpaRootContextNode;
-import org.eclipse.jpt.jpa.core.context.PersistentType;
-import org.eclipse.jpt.jpa.core.context.persistence.Persistence;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.jpa.core.context.persistence.PersistenceXml;
-//import org.eclipse.jpt.jpa.core.internal.SynchronousJpaProjectUpdater;
-import org.eclipse.jpt.jpa.core.resource.java.JavaResourcePersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-import org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.JPACreateFactory;
-import org.junit.Before;
-import org.junit.Test;
-
-
-public class CreateDeleteEntity {
-
- private static final String TEST_PROJECT = "Test";
- private JPACreateFactory factory = JPACreateFactory.instance();
- private JpaProject jpaProject = null;
-
- @Before
- public void setUp() throws Exception {
- JptJpaCorePlugin.getJpaProjectManager();
- factory = JPACreateFactory.instance();
- jpaProject = factory.createJPAProject(TEST_PROJECT + "_" + System.currentTimeMillis());
- assertNotNull(jpaProject);
- Thread.sleep(2000);
- }
-
- @Test
- public void testCreateAndDeleteEntity() throws Exception {
- assertNotNull(jpaProject);
-// SynchronousJpaProjectUpdater updater = new SynchronousJpaProjectUpdater(jpaProject);
-// updater.start();
- JpaRootContextNode jpaProjectContent = jpaProject.getRootContextNode();
- assertNotNull(jpaProjectContent);
-// if(jpaProjectContent.getPersistenceXml() == null) {
-// updater = new SynchronousJpaProjectUpdater(jpaProject);
-// updater.start();
-// }
- Thread.sleep(2000);
- PersistenceXml persistenceXml = jpaProjectContent.getPersistenceXml();
- assertNotNull(persistenceXml);
- Persistence p = persistenceXml.getPersistence();
- int cnt = 0;
- while ((p == null) && (cnt < 25)) {
- Thread.sleep(250);
- p = persistenceXml.getPersistence();
- cnt++;
- }
- assertTrue("Can't obtain persistence object", p != null);
- assertTrue(persistenceXml.getPersistence().persistenceUnitsSize() == 1);
- //java.lang.UnsupportedOperationException: No PersistenceUnit in this context
- //PersistenceUnit persistenceUnit = persistenceXml.getPersistence().getPersistenceUnit();
- PersistenceUnit persistenceUnit = persistenceXml.getPersistence().persistenceUnits().next();
- assertNotNull(persistenceUnit);
- assertTrue(persistenceUnit.classRefsSize() == 0);
- IFile entity1 = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com"}, "Entity1");
- assertTrue(entity1.exists());
-// if(jpaProject.getJavaResourcePersistentType("com.Entity1") == null) {
-// updater = new SynchronousJpaProjectUpdater(jpaProject);
-// updater.start();
-// }
- JavaResourcePersistentType persistenceType = jpaProject.getJavaResourcePersistentType("com.Entity1");
- int c = 0;
- while ((persistenceType == null) && (c < 100)) {
- Thread.sleep(500);
- jpaProject.getProject().refreshLocal(IResource.DEPTH_INFINITE, null);
- persistenceType = jpaProject.getJavaResourcePersistentType("com.Entity1");
- c++;
- }
- assertNotNull(persistenceType);
- PersistentType t = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, persistenceType.getQualifiedName());
- c = 0;
- while ((t == null) && (c < 100)) {
- Thread.sleep(500);
- t = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, persistenceType.getQualifiedName());
- c++;
- }
- JpaArtifactFactory.instance().deletePersistenceTypeResource(t);
- assertFalse(entity1.exists());
-// updater = new SynchronousJpaProjectUpdater(jpaProject);
-// updater.start();
- jpaProject.getProject().refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
- JptJpaCorePlugin.rebuildJpaProject(jpaProject.getProject());
- persistenceType = ((JpaProject)jpaProject).getJavaResourcePersistentType("com.Entity1");
- c = 0;
- while ((persistenceType != null) && (c < 250)) {
- Thread.sleep(500);
- jpaProject = JptJpaCorePlugin.getJpaProject(jpaProject.getProject());
- persistenceType = ((JpaProject)jpaProject).getJavaResourcePersistentType("com.Entity1");
- c++;
- }
- assertNull(persistenceType);
- assertNotNull(jpaProject);
- }
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/util/IEditor.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/util/IEditor.java
deleted file mode 100644
index 4e5c9a7706..0000000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/util/IEditor.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.util;
-
-import org.eclipse.graphiti.platform.IDiagramEditor;
-import org.eclipse.ui.IEditorPart;
-
-public interface IEditor extends IEditorPart, IDiagramEditor {
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/util/JPAEditorUtilTest.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/util/JPAEditorUtilTest.java
deleted file mode 100644
index 2432c59650..0000000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/util/JPAEditorUtilTest.java
+++ /dev/null
@@ -1,402 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.util;
-
-import static org.easymock.EasyMock.createMock;
-import static org.easymock.EasyMock.expect;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-import java.util.List;
-
-import org.easymock.EasyMock;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.util.BasicInternalEList;
-import org.eclipse.graphiti.mm.algorithms.GraphicsAlgorithm;
-import org.eclipse.graphiti.mm.algorithms.RoundedRectangle;
-import org.eclipse.graphiti.mm.algorithms.Text;
-import org.eclipse.graphiti.mm.pictograms.Anchor;
-import org.eclipse.graphiti.mm.pictograms.AnchorContainer;
-import org.eclipse.graphiti.mm.pictograms.Connection;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.FreeFormConnection;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentAttribute;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpa.core.resource.java.JavaResourcePersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IPeServiceUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.SizePosition;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPAEditorConstants.ShapeType;
-import org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.JPACreateFactory;
-import org.eclipse.swt.graphics.Point;
-import org.junit.Test;
-
-public class JPAEditorUtilTest {
- @Test
- public void testCapitalizeFirstLetter() {
- String s = "abcdef";
- String res = JPAEditorUtil.capitalizeFirstLetter(s);
- assertEquals(res.substring(0, 1), "A");
- assertEquals(s.substring(1), res.substring(1));
- }
-
- @Test
- public void testDecapitalizeFirstLetter() {
- String s = "ABCDEFGHIJK";
- String res = JPAEditorUtil.decapitalizeFirstLetter(s);
- assertEquals(res.substring(0, 1), "a");
- assertEquals(s.substring(1), res.substring(1));
- }
-
- @Test
- public void testRevertFirstLetterCase() {
- String s = "ABCDEFGHIJK";
- String res = JPAEditorUtil.revertFirstLetterCase(s);
- assertEquals(res.substring(0, 1), "a");
- assertEquals(s.substring(1), res.substring(1));
- String res1 = JPAEditorUtil.revertFirstLetterCase(res);
- assertEquals(res1.substring(0, 1), "A");
- assertEquals(res1.substring(1), res.substring(1));
- }
-
- @Test
- public void testEqualsIgnoreFirstLetterCase() {
- String s1 = "abcdefg";
- String s2 = "Abcdefg";
- assertTrue(JPAEditorUtil.equalsIgnoreFirstLetterCase(s1, s2));
-
- s1 = "";
- s2 = "";
- assertTrue(JPAEditorUtil.equalsIgnoreFirstLetterCase(s1, s2));
-
- s1 = "gjgIyguiyGUYuGUYGuyg";
- s2 = "gjgIyguiyGUYuGUYGuyg";
- assertTrue(JPAEditorUtil.equalsIgnoreFirstLetterCase(s1, s2));
-
- s1 = "LjgIyguiyGUYuGUYGuyg";
- s2 = "LjgIyguiyGUYuGUYGuyg";
- assertTrue(JPAEditorUtil.equalsIgnoreFirstLetterCase(s1, s2));
-
- s1 = "gjgIyguiyGUYuGUYGuygs";
- s2 = "gjgIyguiyGUYuGUYGuyg";
- assertFalse(JPAEditorUtil.equalsIgnoreFirstLetterCase(s1, s2));
-
- s1 = "LjgIyguiyGUyuGUYGuyg";
- s2 = "LjgIyguiyGUYuGUYGuyg";
- assertFalse(JPAEditorUtil.equalsIgnoreFirstLetterCase(s1, s2));
- }
-
- @Test
- public void testReturnSimpleName() {
- String s = "";
- String res = JPAEditorUtil.returnSimpleName(s);
- assertEquals(s, res);
- s = "jdhksajhdk";
- res = JPAEditorUtil.returnSimpleName(s);
- assertEquals(s, res);
- s = "jdhksajhdk.";
- res = JPAEditorUtil.returnSimpleName(s);
- assertEquals("", res);
- s = ".jdhksajhdk";
- res = JPAEditorUtil.returnSimpleName(s);
- assertEquals("jdhksajhdk", res);
- s = "jdhks.ajhdk";
- res = JPAEditorUtil.returnSimpleName(s);
- assertEquals("ajhdk", res);
- s = "dss.dsdsd.jd.hks.ajhdk";
- res = JPAEditorUtil.returnSimpleName(s);
- assertEquals("ajhdk", res);
- }
-
-
- @Test
- public void testStripQuotes() {
- String s = "";
- String res = JPAEditorUtil.stripQuotes(s);
- assertEquals("", res);
-
- s = "\"\"";
- res = JPAEditorUtil.stripQuotes(s);
- assertEquals("", res);
-
- s = "\"fdsjfjslkdjflks\"";
- res = JPAEditorUtil.stripQuotes(s);
- assertEquals("fdsjfjslkdjflks", res);
-
- s = "\"fdsjfjslkdjflks";
- res = JPAEditorUtil.stripQuotes(s);
- assertEquals("\"fdsjfjslkdjflks", res);
-
- s = "fdsjfjslkdjflks\"";
- res = JPAEditorUtil.stripQuotes(s);
- assertEquals("fdsjfjslkdjflks\"", res);
- }
-
- @Test
- public void testGetJPType() throws Exception {
-
- String TEST_PROJECT = "Test";
- JpaProject jpaProject = null;
- JPACreateFactory factory = null;
- String testProjectName = TEST_PROJECT + "_" + System.currentTimeMillis();
-
- factory = JPACreateFactory.instance();
- jpaProject = factory.createJPAProject(testProjectName);
- assertNotNull(jpaProject);
- Thread.sleep(2000);
-
- assertNotNull(jpaProject);
- IFile customerFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com","test"}, "Customer");
-
- jpaProject.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
-
- assertTrue(customerFile.exists());
- JavaResourcePersistentType customerType = jpaProject.getJavaResourcePersistentType("com.test.Customer");
- assertNotNull(customerType);
-
- ICompilationUnit cu = createCompilationUnitFrom(customerFile);
- Thread.sleep(2000);
- JavaPersistentType jpt = JPAEditorUtil.getJPType(cu);
- assertEquals(customerType.getQualifiedName(), jpt.getName());
- }
-
- @Test
- public void testProduceValidAttributeName() {
- String s = "a";
- String res = JPAEditorUtil.produceValidAttributeName(s);
- assertEquals(s, res);
-
- s = "A";
- res = JPAEditorUtil.produceValidAttributeName(s);
- assertEquals("a", res);
-
- s = "aT";
- res = JPAEditorUtil.produceValidAttributeName(s);
- assertEquals("AT", res);
-
- s = "At";
- res = JPAEditorUtil.produceValidAttributeName(s);
- assertEquals("at", res);
-
- s = "AT";
- res = JPAEditorUtil.produceValidAttributeName(s);
- assertEquals("AT", res);
-
- s = "a1";
- res = JPAEditorUtil.produceValidAttributeName(s);
- assertEquals("a1", res);
-
- s = "A1";
- res = JPAEditorUtil.produceValidAttributeName(s);
- assertEquals("a1", res);
-
- }
-
- @Test
- public void testCreateImports() throws Exception {
- String TEST_PROJECT = "Test";
- JpaProject jpaProject = null;
- JPACreateFactory factory = null;
- String testProjectName = TEST_PROJECT + "_" + System.currentTimeMillis();
-
- factory = JPACreateFactory.instance();
- jpaProject = factory.createJPAProject(testProjectName);
- assertNotNull(jpaProject);
- Thread.sleep(2000);
-
- assertNotNull(jpaProject);
- IFile customerFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com","test"}, "Customer");
- jpaProject.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
-
- assertTrue(customerFile.exists());
- JavaResourcePersistentType customerType = jpaProject.getJavaResourcePersistentType("com.test.Customer");
- assertNotNull(customerType);
-
- ICompilationUnit cu = createCompilationUnitFrom(customerFile);
-
- JPAEditorUtil.createImports(cu, "java.util.Hashtable<java.lang.StringBuffer,java.lang.Set<java.lang.String>>");
- }
-
- @Test
- public void testSizePosition() {
- SizePosition sp = new SizePosition(1,2,3,4);
- assertTrue(sp.getWidth() == 1);
- assertTrue(sp.getHeight() == 2);
- assertTrue(sp.getX() == 3);
- assertTrue(sp.getY() == 4);
- }
-
- @Test
- public void testGetText() throws Exception {
- String TEST_PROJECT = "Test";
- JpaProject jpaProject = null;
- JPACreateFactory factory = null;
- String testProjectName = TEST_PROJECT + "_" + System.currentTimeMillis();
-
- factory = JPACreateFactory.instance();
- jpaProject = factory.createJPAProject(testProjectName);
- assertNotNull(jpaProject);
- Thread.sleep(2000);
-
- assertNotNull(jpaProject);
- IFile customerFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com","test"}, "Customer");
- jpaProject.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
-
- assertTrue(customerFile.exists());
- JavaResourcePersistentType customerType = jpaProject.getJavaResourcePersistentType("com.test.Customer");
- assertNotNull(customerType);
-
- JavaPersistentType t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
- int cnt = 0;
- while ((cnt < 25) && (t1 == null)) {
- Thread.sleep(200);
- t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
- cnt++;
- }
- if (t1 == null)
- return;
- assertNotNull(JPAEditorUtil.getText(t1));
- assertNotNull(JPAEditorUtil.getTooltipText(t1));
- JavaPersistentAttribute jpa = t1.getAttributeNamed("id");
- assertNotNull(jpa);
- assertNotNull(JPAEditorUtil.getText(jpa));
- assertNotNull(JPAEditorUtil.getTooltipText(jpa));
-
- }
-
- @Test
- public void testSetJPTNameInShape() {
- final String NEW_NAME = "NewJPTName";
- ContainerShape cs = EasyMock.createMock(ContainerShape.class);
- Shape sh = EasyMock.createMock(Shape.class);
- GraphicsAlgorithm ga = EasyMock.createMock(GraphicsAlgorithm.class);
- IPeServiceUtil peUtil = EasyMock.createMock(IPeServiceUtil.class);
- EasyMock.expect(peUtil.getPropertyValue(sh, JPAEditorConstants.PROP_SHAPE_TYPE)).andStubReturn(ShapeType.HEADER.toString());
- EList<Shape> shapes = new BasicInternalEList<Shape>(Shape.class);
- shapes.add(sh);
- EasyMock.expect(cs.getChildren()).andStubReturn(shapes);
- Text txt = EasyMock.createMock(Text.class);
- EList<GraphicsAlgorithm> gaCh = new BasicInternalEList<GraphicsAlgorithm>(GraphicsAlgorithm.class);
- gaCh.add(txt);
- EasyMock.expect(sh.getGraphicsAlgorithm()).andStubReturn(ga);
- EasyMock.expect(ga.getGraphicsAlgorithmChildren()).andStubReturn(gaCh);
- txt.setValue(NEW_NAME);
- EasyMock.replay(cs, sh, ga, peUtil, txt);
- JPAEditorUtil.setJPTNameInShape(cs, NEW_NAME, peUtil);
- }
-
- @Test
- public void testCreateBendPointList1() {
- FreeFormConnection c = EasyMock.createMock(FreeFormConnection.class);
- Anchor startAnchor = EasyMock.createMock(Anchor.class);
- Anchor endAnchor = EasyMock.createMock(Anchor.class);
- AnchorContainer startAnchorContainer = EasyMock.createMock(AnchorContainer.class);
- AnchorContainer endAnchorContainer = EasyMock.createMock(AnchorContainer.class);
- expect(c.getStart()).andStubReturn(startAnchor);
- expect(c.getEnd()).andStubReturn(endAnchor);
- expect(startAnchor.getParent()).andStubReturn(startAnchorContainer);
- expect(endAnchor.getParent()).andStubReturn(endAnchorContainer);
- RoundedRectangle rectStart = createMock(RoundedRectangle.class);
- RoundedRectangle rectEnd = createMock(RoundedRectangle.class);
- expect(startAnchorContainer.getGraphicsAlgorithm()).andStubReturn(rectStart);
- expect(endAnchorContainer.getGraphicsAlgorithm()).andStubReturn(rectEnd);
- expect(rectStart.getX()).andStubReturn(100);
- expect(rectStart.getY()).andStubReturn(100);
- expect(rectStart.getWidth()).andStubReturn(200);
- expect(rectStart.getHeight()).andStubReturn(120);
- expect(rectEnd.getX()).andStubReturn(100);
- expect(rectEnd.getY()).andStubReturn(800);
- expect(rectEnd.getWidth()).andStubReturn(200);
- expect(rectEnd.getHeight()).andStubReturn(120);
-
- EList<Connection> ccc = new BasicInternalEList<Connection>(Connection.class);
- expect(startAnchor.getOutgoingConnections()).andStubReturn(ccc);
- expect(endAnchor.getOutgoingConnections()).andStubReturn(ccc);
-
- EasyMock.replay(c, startAnchor, endAnchor, startAnchorContainer, endAnchorContainer, rectStart, rectEnd);
-
-
-
- List<Point> lst = JPAEditorUtil.createBendPointList(c, false);
- assertTrue(lst.size() == 2);
- for (Point p : lst) {
- assertTrue(p.x >= 0);
- assertTrue(p.y >= 0);
-
- assertTrue(p.x <= 1000000);
- assertTrue(p.y <= 1000000);
- }
-
- }
-
- @Test
- public void testCreateBendPointList2() {
- FreeFormConnection c = EasyMock.createMock(FreeFormConnection.class);
- Anchor startAnchor = EasyMock.createMock(Anchor.class);
- Anchor endAnchor = EasyMock.createMock(Anchor.class);
- AnchorContainer startAnchorContainer = EasyMock.createMock(AnchorContainer.class);
- AnchorContainer endAnchorContainer = EasyMock.createMock(AnchorContainer.class);
- expect(c.getStart()).andStubReturn(startAnchor);
- expect(c.getEnd()).andStubReturn(endAnchor);
- expect(startAnchor.getParent()).andStubReturn(startAnchorContainer);
- expect(endAnchor.getParent()).andStubReturn(endAnchorContainer);
- RoundedRectangle rectStart = createMock(RoundedRectangle.class);
- RoundedRectangle rectEnd = createMock(RoundedRectangle.class);
- expect(startAnchorContainer.getGraphicsAlgorithm()).andStubReturn(rectStart);
- expect(endAnchorContainer.getGraphicsAlgorithm()).andStubReturn(rectEnd);
- expect(rectStart.getX()).andStubReturn(100);
- expect(rectStart.getY()).andStubReturn(100);
- expect(rectStart.getWidth()).andStubReturn(200);
- expect(rectStart.getHeight()).andStubReturn(120);
- expect(rectEnd.getX()).andStubReturn(800);
- expect(rectEnd.getY()).andStubReturn(100);
- expect(rectEnd.getWidth()).andStubReturn(200);
- expect(rectEnd.getHeight()).andStubReturn(120);
-
- EList<Connection> ccc = new BasicInternalEList<Connection>(Connection.class);
- expect(startAnchor.getOutgoingConnections()).andStubReturn(ccc);
- expect(endAnchor.getOutgoingConnections()).andStubReturn(ccc);
-
- EasyMock.replay(c, startAnchor, endAnchor, startAnchorContainer, endAnchorContainer, rectStart, rectEnd);
-
- List<Point> lst = JPAEditorUtil.createBendPointList(c, false);
- assertTrue(lst.size() == 2);
- for (Point p : lst) {
- assertTrue(p.x >= 0);
- assertTrue(p.y >= 0);
-
- assertTrue(p.x <= 1000000);
- assertTrue(p.y <= 1000000);
- }
-
- }
-
- public ICompilationUnit createCompilationUnitFrom(IFile file) {
- return JavaCore.createCompilationUnitFrom(file);
- }
-
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/util/JPASolverTest.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/util/JPASolverTest.java
deleted file mode 100644
index e0c83b4f46..0000000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/util/JPASolverTest.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Kiril Mitov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.util;
-
-import static org.easymock.EasyMock.eq;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.isA;
-import static org.easymock.EasyMock.replay;
-import static org.easymock.EasyMock.verify;
-
-import java.net.URI;
-
-import org.easymock.EasyMock;
-import org.easymock.IArgumentMatcher;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarkerDelta;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.util.BasicInternalEList;
-import org.eclipse.graphiti.dt.IDiagramTypeProvider;
-import org.eclipse.graphiti.mm.Property;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.mm.pictograms.PictogramsPackage;
-import org.eclipse.graphiti.platform.IDiagramEditor;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpa.core.context.java.JavaTypeMapping;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IEclipseFacade;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IJPAEditorUtil;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JPASolver;
-import org.junit.Before;
-import org.junit.Test;
-
-@SuppressWarnings("unused")
-public class JPASolverTest {
-
- private IEclipseFacade eclipseFacade;
-
- /**
- * @throws java.lang.Exception
- */
- @Before
- public void setUp() throws Exception {
- eclipseFacade = createEclipseFacade();
- }
-
- @Test
- public void testResourceListenerRegistered() {
- IWorkspace workspace = EasyMock.createMock(IWorkspace.class);
- workspace.addResourceChangeListener(isA(IResourceChangeListener.class), eq(IResourceChangeEvent.POST_BUILD));
- replay(workspace);
- IEclipseFacade facade = EasyMock.createMock(IEclipseFacade.class);
- expect(facade.getWorkspace()).andStubReturn(workspace);
- replay(facade);
- new JPASolver(facade, null);
- verify(workspace, facade);
- }
-
- private IFile replayFile() {
- IFile file = EasyMock.createMock(IFile.class);
- URI uri = URI.create("file://project//aaa");
- expect(file.getLocationURI()).andStubReturn(uri);
- expect(file.exists()).andStubReturn(true);
- IProject proj = EasyMock.createMock(IProject.class);
- expect(proj.getType()).andStubReturn(IResource.PROJECT);
- expect(file.getType()).andStubReturn(IResource.FILE);
- expect(file.getFullPath()).andStubReturn(new Path("C:\\project\\aaa"));
- IFile clsPath = EasyMock.createMock(IFile.class);
- expect(proj.getFile(".classpath")).andStubReturn(clsPath);
- try {
- expect(proj.hasNature("org.eclipse.jdt.core.javanature")).andStubReturn(true);
- } catch (CoreException e) {}
- expect(file.getProject()).andStubReturn(proj);
- replay(file, proj);
- return file;
- }
-
- private JavaPersistentType createJptForResource(IFile file, String name) {
- JavaPersistentType jpt = EasyMock.createNiceMock(JavaPersistentType.class);
- JpaProject jpaProject = EasyMock.createNiceMock(JpaProject.class);
- JavaTypeMapping m = EasyMock.createNiceMock(JavaTypeMapping.class);
- expect(jpt.getResource()).andStubReturn(file);
- expect(jpt.getJpaProject()).andStubReturn(jpaProject);
- expect(jpt.getMapping()).andStubReturn(m);
- if (name != null)
- expect(jpt.getName()).andStubReturn(name);
- replay(jpt, jpaProject);
- return jpt;
- }
-
- private IEclipseFacade createEclipseFacade() {
- IEclipseFacade facade = EasyMock.createMock(IEclipseFacade.class);
- return facade;
- }
-
- private void configureForWorkspace(IEclipseFacade facade) {
- IWorkspace workspace = EasyMock.createMock(IWorkspace.class);
- workspace.addResourceChangeListener(isA(IResourceChangeListener.class), eq(IResourceChangeEvent.POST_BUILD));
- replay(workspace);
- expect(facade.getWorkspace()).andStubReturn(workspace);
- }
-
- private IJPAEditorFeatureProvider configureRefreshEditorProvider() {
- IDiagramEditor editor = EasyMock.createMock(IDiagramEditor.class);
- editor.refresh();
- replay(editor);
- IDiagramTypeProvider diagramProvider = EasyMock.createMock(IDiagramTypeProvider.class);
- expect(diagramProvider.getDiagramEditor()).andStubReturn(editor);
- replay(diagramProvider);
- IJPAEditorFeatureProvider provider = EasyMock.createMock(IJPAEditorFeatureProvider.class);
- expect(provider.getDiagramTypeProvider()).andStubReturn(diagramProvider);
- return provider;
- }
-
- private IMarkerDelta replayDelta(IResource resource) {
- IMarkerDelta delta = EasyMock.createMock(IMarkerDelta.class);
- expect(delta.getResource()).andStubReturn(resource);
- replay(delta);
- return delta;
- }
-
- private JPASolver createSolver(IEclipseFacade facade, IJPAEditorUtil util) {
- return new JPASolver(facade, util);
- }
-
- public static IResourceChangeListener eqResourceListener(IArgumentMatcher matcher) {
- EasyMock.reportMatcher(matcher);
- return null;
- }
-
- private IResourceChangeEvent replayEvent(IResource resource) {
- IResourceChangeEvent event = EasyMock.createMock(IResourceChangeEvent.class);
- expect(event.findMarkerDeltas(null, true)).andStubReturn(new IMarkerDelta[] { replayDelta(resource) });
- replay(event);
- return event;
- }
-
- private IResourceChangeEvent replayEmptyEvent() {
- IResourceChangeEvent event = EasyMock.createMock(IResourceChangeEvent.class);
- expect(event.findMarkerDeltas(null, true)).andStubReturn(new IMarkerDelta[] {});
- replay(event);
- return event;
- }
-
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/util/JpaArtifactFactoryTest.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/util/JpaArtifactFactoryTest.java
deleted file mode 100644
index 6deaa6883f..0000000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/util/JpaArtifactFactoryTest.java
+++ /dev/null
@@ -1,204 +0,0 @@
-/*******************************************************************************
- * <copyright>
- *
- * Copyright (c) 2005, 2010 SAP AG.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov - initial API, implementation and documentation
- *
- * </copyright>
- *
- *******************************************************************************/
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.util;
-
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.replay;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-import org.easymock.EasyMock;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jpt.jpa.core.JpaProject;
-import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.jpa.core.resource.java.JavaResourcePersistentType;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.provider.IJPAEditorFeatureProvider;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.IEclipseFacade;
-import org.eclipse.jpt.jpadiagrameditor.ui.internal.util.JpaArtifactFactory;
-import org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.JPACreateFactory;
-import org.eclipse.jpt.common.utility.model.event.ListAddEvent;
-import org.eclipse.jpt.common.utility.model.event.ListChangeEvent;
-import org.eclipse.jpt.common.utility.model.event.ListClearEvent;
-import org.eclipse.jpt.common.utility.model.event.ListMoveEvent;
-import org.eclipse.jpt.common.utility.model.event.ListRemoveEvent;
-import org.eclipse.jpt.common.utility.model.event.ListReplaceEvent;
-import org.eclipse.jpt.common.utility.model.listener.ListChangeListener;
-import org.junit.Before;
-import org.junit.Test;
-
-public class JpaArtifactFactoryTest {
-
- String TEST_PROJECT = "Test";
- private JpaProject jpaProject = null;
- private JPACreateFactory factory = null;
- IEclipseFacade eclipseFacade = null;
- public static int cnt = 0;
-
- @Before
- public void setUp() throws Exception {
- factory = JPACreateFactory.instance();
- jpaProject = factory.createJPAProject(TEST_PROJECT + "_" + System.currentTimeMillis());
- assertNotNull(jpaProject);
- Thread.sleep(2000);
- }
-
- /*
- @Test
- public void testJpaArtifactoryAttributeRelatedMethods() throws Exception {
- IJPAEditorFeatureProvider featureProvider = EasyMock.createMock(IJPAEditorFeatureProvider.class);
- assertNotNull(jpaProject);
- IFile customerFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com","test"}, "Customer");
- IFile addressFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com","test"}, "Address");
-
- jpaProject.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
-
- assertTrue(customerFile.exists());
- JavaResourcePersistentType customerType = jpaProject.getJavaResourcePersistentType("com.test.Customer");
- assertNotNull(customerType);
-
- assertTrue(addressFile.exists());
- JavaResourcePersistentType addressType = jpaProject.getJavaResourcePersistentType("com.test.Address");
- assertNotNull(addressType);
-
- JavaPersistentType t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
- while (t1 == null) {
- Thread.sleep(200);
- t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
- }
- JavaPersistentType t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
- while (t2 == null) {
- Thread.sleep(200);
- t2 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, addressType.getQualifiedName());
- }
-
-
- CreateOneToOneBiDirRelationFeature ft = new CreateOneToOneBiDirRelationFeature(featureProvider);
- ICreateConnectionContext ctx = EasyMock.createMock(ICreateConnectionContext.class);
-
- ContainerShape cs1 = EasyMock.createMock(ContainerShape.class);
- ContainerShape cs2 = EasyMock.createMock(ContainerShape.class);
-
- expect(featureProvider.getBusinessObjectForPictogramElement(cs1)).andStubReturn(t1);
- expect(featureProvider.getBusinessObjectForPictogramElement(cs2)).andStubReturn(t2);
- expect(featureProvider.getPictogramElementForBusinessObject(t1)).andStubReturn(cs1);
- expect(featureProvider.getPictogramElementForBusinessObject(t2)).andStubReturn(cs2);
-
- Anchor a1 = EasyMock.createMock(Anchor.class);
- Anchor a2 = EasyMock.createMock(Anchor.class);
- expect(a1.getParent()).andStubReturn(cs1);
- expect(a2.getParent()).andStubReturn(cs2);
- expect(ctx.getSourceAnchor()).andStubReturn(a1);
- expect(ctx.getTargetAnchor()).andStubReturn(a2);
-
- ICompilationUnit cu1 = createCompilationUnitFrom(customerFile);
- ICompilationUnit cu2 = createCompilationUnitFrom(addressFile);
-
- expect(featureProvider.getCompilationUnit(t1)).andStubReturn(cu1);
- expect(featureProvider.getCompilationUnit(t2)).andStubReturn(cu2);
-
- Connection conn = EasyMock.createMock(Connection.class);
- expect(featureProvider.addIfPossible((IAddContext)EasyMock.anyObject())).andStubReturn(conn);
- replay(featureProvider, a1, a2, cs1, cs2, ctx);
- ft.create(ctx);
- OneToOneBiDirRelation rel = ft.createRelation(cs1, cs2);
- assertNotNull(rel);
- assertNotNull(rel.getId());
- assertEquals(RelType.ONE_TO_ONE, rel.getRelType());
- assertEquals(RelDir.BI, rel.getRelDir());
- assertNotNull(t1.getAttributeNamed(rel.getOwnerAttributeName()));
- assertNotNull(t2.getAttributeNamed(rel.getInverseAttributeName()));
-
- JavaPersistentAttribute jpa = t1.getAttributeNamed(rel.getOwnerAttributeName());
- assertTrue(JpaArtifactFactory.instance().hasEntityAnnotation(t1));
-
- //JavaPersistentAttribute jpa1 = JpaArtifactFactory.instance().getRelatedAttribute(t1, t2);
- //assertNotNull(jpa1);
- //assertSame(jpa1, t2.getAttributeNamed(rel.getInverseAttributeName()));
-
- List<String> ans = JpaArtifactFactory.instance().getAnnotationStrings(jpa);
- assertNotNull(ans);
- assertTrue(ans.size() > 0);
- assertTrue(ans.contains("@OneToOne"));
- JpaArtifactFactory.instance().deleteAttribute(t1, rel.getOwnerAttributeName(), featureProvider);
- jpa = t1.getAttributeNamed(rel.getOwnerAttributeName());
- assertNull(jpa);
- }
- */
-
- @Test
- public void testEntityListener() throws Exception {
- IJPAEditorFeatureProvider featureProvider = EasyMock.createMock(IJPAEditorFeatureProvider.class);
- assertNotNull(jpaProject);
- IFile customerFile = factory.createEntityInProject(jpaProject.getProject(), new String[]{"com","test"}, "Customer");
-
- jpaProject.getProject().build(IncrementalProjectBuilder.CLEAN_BUILD, new NullProgressMonitor());
-
- assertTrue(customerFile.exists());
- JavaResourcePersistentType customerType = jpaProject.getJavaResourcePersistentType("com.test.Customer");
- assertNotNull(customerType);
-
- JavaPersistentType t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
- while (t1 == null) {
- Thread.sleep(200);
- t1 = JpaArtifactFactory.instance().getContextPersistentType(jpaProject, customerType.getQualifiedName());
- }
- ICompilationUnit cu1 = createCompilationUnitFrom(customerFile);
- expect(featureProvider.getCompilationUnit(t1)).andStubReturn(cu1);
- replay(featureProvider);
-
-// Catches problem with multiple events - Eclipse bugzilla bug #259103
-
-// cnt = 0;
-// t1.addListChangeListener(new EntityAttributesChangeListener());
-// JpaArtifactFactory.instance().deleteAttribute(t1, "id", featureProvider);
-// Thread.sleep(10000);
-// assertTrue("The listener is being triggered " + cnt + " times", cnt == 1);
-
- }
-
- public ICompilationUnit createCompilationUnitFrom(IFile file) {
- return JavaCore.createCompilationUnitFrom(file);
- }
-
-
-
- public class EntityAttributesChangeListener implements ListChangeListener {
-
- public void listChanged(ListChangeEvent event) {
- }
-
- public void itemsAdded(ListAddEvent arg0) {
- }
-
- public void itemsMoved(ListMoveEvent arg0) {
- }
-
- public void itemsRemoved(ListRemoveEvent arg0) {
- cnt++;
- }
-
- public void itemsReplaced(ListReplaceEvent arg0) {
- }
-
- public void listCleared(ListClearEvent arg0) {
- }
- };
-
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/util/URLEscaper.java b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/util/URLEscaper.java
deleted file mode 100644
index 1a66ba2c0c..0000000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/src/org/eclipse/jpt/jpadiagrameditor/ui/tests/internal/util/URLEscaper.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.util;
-
-public class URLEscaper {
- private static final String specialChars = " <>#%{}|^~[]`;?@=&$";
- private static final String escapeCodes = "%20%3C%3E%23%25%7B%7D%7C%5E%7E%5B%5D%60%3B%3F%40%3D%26%24";
-
- public static String escape(String s) {
- if (s == null)
- return null;
- StringBuffer res = new StringBuffer("");
- for (int i = 0; i < s.length(); i++) {
- char ch = s.charAt(i);
- int ind = specialChars.indexOf(ch);
- res.append(((ind >= 0) ? escapeCodes.substring(ind * 3, ind * 3 + 3) : ch));
- }
- return res.toString();
- }
-}
diff --git a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/test.xml b/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/test.xml
deleted file mode 100644
index 98ad18889a..0000000000
--- a/jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests/test.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0"?>
-
-<project name="testsuite" default="run" basedir=".">
- <!-- The property ${eclipse-home} should be passed into this script -->
- <!-- Set a meaningful default value for when it is not. -->
- <echo message="basedir ${basedir}" />
- <echo message="eclipse place ${eclipse-home}" />
- <!-- sets the properties plugin-name -->
- <property name="plugin-name" value="org.eclipse.jpt.jpadiagrameditor.ui.tests"/>
- <echo level="debug" message="testRoot: ${testRoot}" />
- <fail message="testRoot must be set" unless="testRoot" />
-
- <!-- This target holds all initialization code that needs to be done for -->
- <!-- all tests that are to be run. Initialization for individual tests -->
- <!-- should be done within the body of the suite target. -->
- <target name="init">
- <tstamp/>
- <delete>
- <fileset dir="${eclipse-home}" includes="org*.xml"/>
- </delete>
- </target>
-
- <!-- This target defines the tests that need to be run. -->
- <target name="suite1">
- <property file="${testRoot}/testServer.properties"/>
- <property name="jpae-folder" value="${eclipse-home}/jpae_folder"/>
- <delete dir="${jpae-folder}" quiet="true"/>
-
- <ant target="ui-test" antfile="${library-file}" dir="${eclipse-home}">
- <property name="data-dir" value="${jpae-folder}"/>
- <property name="plugin-name" value="${plugin-name}"/>
- <property name="classname" value="org.eclipse.jpt.jpadiagrameditor.ui.tests.internal.AllJpaEditorTests" />
- <property name="plugin-path" value="${eclipse-home}/plugins/${plugin-name}"/>
- <property name="extraVMargs" value="-Dorg.eclipse.jpt.jpa.jar=${testDir}/${jpt-persistence-jar} -Dorg.eclipse.jpt.eclipselink.jar=${testDir}/${jpt-eclipselink-jar}"/>
- </ant>
-</target>
-
- <!-- This target holds code to cleanup the testing environment after -->
- <!-- after all of the tests have been run. You can use this target to -->
- <!-- delete temporary files that have been created. -->
- <target name="cleanup">
- </target>
-
- <!-- This target runs the test suite. Any actions that need to happen -->
- <!-- after all the tests have been run should go here. -->
- <target name="run" depends="init, suite1, cleanup">
- </target>
-</project>

Back to the top